refactor: Migrate documentation content, rebuild UI components, and update core architecture.

This commit is contained in:
gitfromwildan
2026-03-10 01:38:58 +07:00
parent aac81dff8a
commit ab755844a3
132 changed files with 3947 additions and 12862 deletions

39
components/SearchBox.tsx Normal file
View File

@@ -0,0 +1,39 @@
"use client"
import { Dialog } from "@/components/ui/dialog"
import { SearchTrigger } from "@/components/SearchTrigger"
import { SearchModal } from "@/components/SearchModal"
import AlgoliaSearch from "@/components/DocSearch"
import { useSearch } from "./SearchContext"
import { DialogTrigger } from "@/components/ui/dialog"
import { searchConfig } from "@/lib/search/config"
interface SearchProps {
/**
* Override the search type from config.
* If not provided, uses the config value.
*/
type?: "default" | "algolia"
className?: string
}
export default function Search({ type, className }: SearchProps) {
const { isOpen, setIsOpen } = useSearch()
const searchType = type ?? searchConfig.type
if (searchType === "algolia") {
return <AlgoliaSearch className={className} />
}
// Logic for 'default' search
return (
<div className={className}>
<Dialog open={isOpen} onOpenChange={setIsOpen}>
<DialogTrigger asChild>
<SearchTrigger className={className} />
</DialogTrigger>
<SearchModal isOpen={isOpen} setIsOpen={setIsOpen} />
</Dialog>
</div>
)
}