'use client' import {ReactNode, Suspense, use, useState} from 'react' import Image from 'next/image' import Link from 'next/link' import {ChangePasswordDialog} from '@/components/composites/dialogs/change-password-dialog' import {RealnameAuthDialog} from '@/components/composites/dialogs/realname-auth-dialog' import UserCenter from '@/components/composites/user-center' import {Button} from '@/components/ui/button' import {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from '@/components/ui/tooltip' import {Archive, ArchiveRestore, Eye, HardDriveUpload, IdCard, LockKeyhole, Package, PanelLeftCloseIcon, PanelLeftOpenIcon, ShoppingCart, UserRound, UserRoundPen, Wallet} from 'lucide-react' import {merge} from '@/lib/utils' import logoAvatar from '@/assets/logo-avatar.svg' import logoText from '@/assets/logo-text.svg' import {useLayoutStore} from '@/components/stores/layout' import {useProfileStore} from '@/components/stores/profile' export function Shell(props: { children: ReactNode }) { const navbar = useLayoutStore(store => store.navbar) return (
{props.children}
) } export function Mask() { const navbar = useLayoutStore(store => store.navbar) const setNevBar = useLayoutStore(store => store.setNavbar) return (
setNevBar(false)} >
) } export function Content(props: {children: ReactNode}) { const navbar = useLayoutStore(store => store.navbar) return (
{props.children}
) } function ContentResolved() { const profile = use(useProfileStore(store => store.profile)) if (profile) return ( <> ) } export function Header() { const navbar = useLayoutStore(store => store.navbar) const toggleNavbar = useLayoutStore(store => store.toggleNavbar) return (
{/* left */}
欢迎来到,蓝狐代理
{/* right */}
返回首页
) } function HeaderUserCenter() { const profile = use(useProfileStore(store => store.profile)) if (profile) return } export function Navbar() { const navbar = useLayoutStore(store => store.navbar) return ( ) } function NavTitle(props: { label: string }) { return (

{props.label}

) } function NavItem(props: { href: string icon?: ReactNode label: string expand?: boolean }) { const [open, setOpen] = useState(false) const handleOpenChange = (open: boolean) => { if (!props.expand) { setOpen(open) } } const setNavbar = useLayoutStore(store => store.setNavbar) const closeNavBarIfMobile = () => { if (window.innerWidth < 768) { setNavbar(false) } } return ( {props.icon} {props.label}

{props.label}

) }