소스 검색

wip(desktop): progress

Adam 2 달 전
부모
커밋
88c0675148
2개의 변경된 파일6개의 추가작업 그리고 18개의 파일을 삭제
  1. 3 18
      packages/desktop/src/components/prompt-input.tsx
  2. 3 0
      packages/desktop/src/pages/layout.tsx

+ 3 - 18
packages/desktop/src/components/prompt-input.tsx

@@ -93,13 +93,11 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
     historyIndex: number
     savedPrompt: Prompt | null
     placeholder: number
-    slashFilter: string
   }>({
     popover: null,
     historyIndex: -1,
     savedPrompt: null,
     placeholder: Math.floor(Math.random() * PLACEHOLDERS.length),
-    slashFilter: "",
   })
 
   const MAX_HISTORY = 100
@@ -237,25 +235,12 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
     onInput: slashOnInput,
     onKeyDown: slashOnKeyDown,
   } = useFilteredList<SlashCommand>({
-    items: () => {
-      const filter = store.slashFilter.toLowerCase()
-      return slashCommands().filter(
-        (cmd) =>
-          cmd.trigger.toLowerCase().includes(filter) ||
-          cmd.title.toLowerCase().includes(filter) ||
-          cmd.description?.toLowerCase().includes(filter) ||
-          false,
-      )
-    },
+    items: slashCommands,
     key: (x) => x?.id,
+    filterKeys: ["trigger", "title", "description"],
     onSelect: handleSlashSelect,
   })
 
-  // Update slash filter when store changes
-  createEffect(() => {
-    slashOnInput(store.slashFilter)
-  })
-
   createEffect(
     on(
       () => prompt.current(),
@@ -337,7 +322,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
       onInput(atMatch[1])
       setStore("popover", "file")
     } else if (slashMatch) {
-      setStore("slashFilter", slashMatch[1])
+      slashOnInput(slashMatch[1])
       setStore("popover", "slash")
     } else {
       setStore("popover", null)

+ 3 - 0
packages/desktop/src/pages/layout.tsx

@@ -299,6 +299,9 @@ export default function Layout(props: ParentProps) {
                             if (match.found) draft.session.splice(match.index, 1)
                           }),
                         )
+                        if (session.id === params.id) {
+                          navigate(`/${params.dir}/session`)
+                        }
                       }
                       return (
                         <div