diff --git a/packages/app/src/components/quick-search/content/index.tsx b/packages/app/src/components/quick-search/content/index.tsx index 136d4fb222..d50368eaab 100644 --- a/packages/app/src/components/quick-search/content/index.tsx +++ b/packages/app/src/components/quick-search/content/index.tsx @@ -3,9 +3,13 @@ import JumpTo from './JumpTo'; import { Command } from 'cmdk'; import SearchResult from './searchResult'; -const Result = (props: { result: string }) => { +const Result = (props: { query: string }) => { + const query = props.query; + return ( - {props.result ? : } + + {query ? : } + ); }; diff --git a/packages/app/src/components/quick-search/content/searchResult/index.tsx b/packages/app/src/components/quick-search/content/searchResult/index.tsx index 33f14b08d2..6dc747792f 100644 --- a/packages/app/src/components/quick-search/content/searchResult/index.tsx +++ b/packages/app/src/components/quick-search/content/searchResult/index.tsx @@ -1,16 +1,20 @@ -import React from 'react'; +import { useEffect, useState } from 'react'; import NoResult from './NotFound'; import { Command } from 'cmdk'; +import { useEditor } from '@/providers/editor-provider'; + +const SearchResult = (props: { query: string }) => { + const { pageList, search, getPageMeta, openPage } = useEditor(); + const [results, setResults] = useState({}); + const query = props.query; + useEffect(() => { + setResults(search(query)); + }, [query]); -const SearchResult = () => { return ( <> - - a - b - c - + Apple ); diff --git a/packages/app/src/components/quick-search/footer.tsx b/packages/app/src/components/quick-search/footer.tsx index 68e83bf448..f74b3edd82 100644 --- a/packages/app/src/components/quick-search/footer.tsx +++ b/packages/app/src/components/quick-search/footer.tsx @@ -6,14 +6,16 @@ import { useModal } from '@/providers/global-modal-provider'; import { IconButton } from '@/ui/button'; const QuickSearchFooter = () => { - const { createPage } = useEditor(); + const { createPage, getPageMeta, openPage } = useEditor(); const { triggerQuickSearchModal } = useModal(); return ( { - createPage(); + onClick={async () => { + const page = createPage(); + const pageMeta = getPageMeta((await page).id); + pageMeta && openPage(pageMeta.id); triggerQuickSearchModal(); }} /> diff --git a/packages/app/src/components/quick-search/index.tsx b/packages/app/src/components/quick-search/index.tsx index 4355c9ecf8..c2545f6b37 100644 --- a/packages/app/src/components/quick-search/index.tsx +++ b/packages/app/src/components/quick-search/index.tsx @@ -11,7 +11,6 @@ import Result from './content'; import QuickSearchFooter from './Footer'; import { Command } from 'cmdk'; import { useEffect, useState } from 'react'; -import { useEditor } from '@/providers/editor-provider'; import { useModal } from '@/providers/global-modal-provider'; type TransitionsModalProps = { open: boolean; @@ -22,13 +21,8 @@ const isMac = () => { }; export const QuickSearch = ({ open, onClose }: TransitionsModalProps) => { const [query, setQuery] = useState(''); - const { search } = useEditor(); - const [result, setResult] = useState({}); - const { pageList } = useEditor(); const { triggerQuickSearchModal } = useModal(); - useEffect(() => { - setResult(search(query, { enrich: true })); - }, [query]); + useEffect(() => { const down = (e: KeyboardEvent) => { if (e.key === 'k' && e.metaKey) { @@ -64,7 +58,7 @@ export const QuickSearch = ({ open, onClose }: TransitionsModalProps) => { - +