diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx index 625448d..531f0fa 100644 --- a/src/components/Settings.tsx +++ b/src/components/Settings.tsx @@ -475,7 +475,7 @@ const Choice = (props: { ); }; -export default (props: { setShow: Dispatch }) => { +export default (props: {}) => { const ctx = useContext(AppContext); if (ctx === null) return <>; @@ -497,13 +497,14 @@ export default (props: { setShow: Dispatch }) => { const [totalCost, setTotalCost] = useState(getTotalCost()); // @ts-ignore const { langCode, setLangCode } = useContext(langCodeContext); + const [open, setOpen] = useState(false); useEffect(() => { themeChange(false); const handleKeyPress = (event: any) => { if (event.keyCode === 27) { // keyCode for ESC key is 27 - props.setShow(false); + setOpen(false); } }; @@ -514,7 +515,7 @@ export default (props: { setShow: Dispatch }) => { }; }, []); // The empty dependency array ensures that the effect runs only once return ( - + - - {showSearch && } - {!chatStore.apiKey && ( diff --git a/src/search.tsx b/src/search.tsx index 9759b71..891fe0e 100644 --- a/src/search.tsx +++ b/src/search.tsx @@ -25,6 +25,8 @@ import { import { Input } from "./components/ui/input"; import { AppContext } from "./pages/App"; +import { Button } from "./components/ui/button"; +import { SearchIcon } from "lucide-react"; interface ChatStoreSearchResult { key: IDBValidKey; @@ -33,10 +35,7 @@ interface ChatStoreSearchResult { preview: string; } -export default function Search(props: { - show: boolean; - setShow: (show: boolean) => void; -}) { +export default function Search() { const ctx = useContext(AppContext); if (ctx === null) return <>; const { setSelectedChatIndex, db } = ctx; @@ -46,9 +45,15 @@ export default function Search(props: { const [searchingNow, setSearchingNow] = useState(0); const [pageIndex, setPageIndex] = useState(0); const searchAbortRef = useRef(null); + const [open, setOpen] = useState(false); return ( - + + + + Search @@ -160,7 +165,7 @@ export default function Search(props: { key={result.key as number} onClick={() => { setSelectedChatIndex(parseInt(result.key.toString())); - props.setShow(false); + setOpen(false); }} >