"use client" import Link from "next/link" import { usePathname, useRouter } from "next/navigation" import { Button } from "@/components/ui/button" import { HardDrive, Menu, LogOut } from "lucide-react" import { useState, useEffect } from "react" import { api } from "@/lib/api" export function Header() { const pathname = usePathname() const router = useRouter() const [isMenuOpen, setIsMenuOpen] = useState(false) const [zfsAvailable, setZfsAvailable] = useState(false) useEffect(() => { const checkZfsAvailability = async () => { const status = await api.getSystemStatus() setZfsAvailable(status.zfs_available) } checkZfsAvailability() }, []) const handleLogout = async () => { await api.logout() router.push("/login") } const isActive = (path: string) => pathname === path const navLink = (href: string, label: string, mobile = false) => ( setIsMenuOpen(false) : undefined} > {label} ) return (
{/* Logo */} ZMB Webui {/* Desktop Navigation */} {/* Logout Button */}
{/* Mobile Menu Button */}
{/* Mobile Navigation */} {isMenuOpen && ( )}
) }