import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, navigationMenuTriggerStyle, } from "@/components/ui/navigation-menu" import { ModeToggle } from "@/components/mode-toggle"; import { Card } from "./ui/card"; import { useMainStore } from "@/hooks/useMainStore"; import { Avatar, AvatarFallback, AvatarImage } from "./ui/avatar"; import { NzNavigationMenuLink } from "./xui/navigation-menu"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger } from "./ui/dropdown-menu"; import { LogOut, Settings } from "lucide-react"; import { useAuth } from "@/hooks/useAuth"; import { Link, useLocation } from "react-router-dom"; import { useMediaQuery } from "@/hooks/useMediaQuery"; import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@/components/ui/drawer" import { Button } from "./ui/button"; import { IconButton } from "./xui/icon-button"; import { useState } from "react"; const pages = [ { href: "/dashboard", label: "Server" }, { href: "/dashboard/service", label: "Service" }, { href: "/dashboard/cron", label: "Task" }, { href: "/dashboard/notification", label: "Notification" }, { href: "/dashboard/ddns", label: "Dynamic DNS" }, { href: "/dashboard/nat", label: "NAT Traversal" }, { href: "/dashboard/server-group", label: "Group" }, ] export default function Header() { const { logout } = useAuth(); const profile = useMainStore(store => store.profile); const location = useLocation(); const isDesktop = useMediaQuery("(min-width: 890px)") const [open, setOpen] = useState(false) const [dropdownOpen, setDropdownOpen] = useState(false); return ( isDesktop ? (
NEZHA { profile && ( <> Server Service Task Notification Dynamic DNS NAT Traversal Group ) }
{ profile && <> {profile.username} {profile.username} { setDropdownOpen(false) }}> Settings ⇧⌘P Log out ⇧⌘Q }
) : (
{profile && Navigate to Select a page to navigate to.
{pages.slice(0).map((item, index) => ( { setOpen(false) }} > {item.label} ))}
}
NEZHA
{ profile && <> {profile.username} {profile.username} { setDropdownOpen(false) }}> Settings ⇧⌘P Log out ⇧⌘Q }
) ) }