"use client"; import { create } from "@orama/orama"; import { useDocsSearch } from "fumadocs-core/search/client"; import { SearchDialog, SearchDialogClose, SearchDialogContent, SearchDialogFooter, SearchDialogHeader, SearchDialogIcon, SearchDialogInput, SearchDialogList, SearchDialogOverlay } from "fumadocs-ui/components/dialog/search"; import type { SharedProps } from "fumadocs-ui/contexts/search"; import { useI18n } from "fumadocs-ui/contexts/i18n"; import { useMemo, useState } from "react"; import { createCjkSearchTokenizer } from "@/lib/cjkSearchTokenizer"; export function StaticSearchDialog(props: SharedProps) { const { locale } = useI18n(); const [tag] = useState(); const api = `/${locale ?? "en"}/api/search`; const { search, setSearch, query } = useDocsSearch({ type: "static", from: api, locale, tag, delayMs: 100, initOrama: (dbLocale) => { if (dbLocale === "cn") { return create({ schema: { _: "string" }, components: { tokenizer: createCjkSearchTokenizer() }, }); } return create({ schema: { _: "string" }, language: "english", }); }, }); const defaultItems = useMemo(() => null, []); return ( ); }