import { ThemeToggle } from "./ThemeToggle"; import { Brand } from "./Brand"; import Link from "next/link"; import { useRouter } from "next/router"; import { Grid2X2,Image,Film,AudioLines,BookOpen,Clapperboard,Sparkles,ArrowUpRight,Layers,Tags,Upload,Menu,X,Search } from "lucide-react"; import { useEffect,useState,type ReactNode } from "react"; const groups=[{label:'',items:[{href:'/',label:'首页',icon:Grid2X2},{href:'/categories',label:'分类',icon:Tags}]}]; export function Shell({children}:{children:ReactNode}){ const router=useRouter();const [open,setOpen]=useState(false);const [query,setQuery]=useState(String(router.query.q||'')); useEffect(()=>setQuery(String(router.query.q||'')),[router.query.q]); return
{e.preventDefault();const path=router.asPath.split('?')[0];const destination=path==='/categories'?path:'/';void router.push({pathname:destination,query:{...(destination==='/categories'&&router.query.category?{category:router.query.category}:{}),...(query.trim()?{q:query.trim()}:{})}});}}>setQuery(e.target.value)}/>{query&&}
{children}
{open&&
; }