import { Outlet, NavLink, useNavigate, Link } from 'react-router-dom' import { LayoutDashboard, Package, Settings, LogOut, FlaskConical, Activity, Library, Plus, SlidersHorizontal, Building2 } from 'lucide-react' import { useAuthStore } from '../../store/auth' import { clsx } from 'clsx' import { useQuery } from '@tanstack/react-query' import { getWorkerActivity } from '../../api/worker' import { listOrders } from '../../api/orders' import NotificationCenter from './NotificationCenter' const nav = [ { to: '/', icon: LayoutDashboard, label: 'Dashboard', end: true }, { to: '/orders', icon: Package, label: 'Orders' }, { to: '/products', icon: Library, label: 'Products' }, { to: '/materials', icon: FlaskConical, label: 'Materials' }, { to: '/activity', icon: Activity, label: 'Activity' }, { to: '/preferences', icon: SlidersHorizontal, label: 'Preferences' }, ] export default function Layout() { const { user, logout } = useAuthStore() const navigate = useNavigate() const { data: activity } = useQuery({ queryKey: ['worker-activity'], queryFn: getWorkerActivity, refetchInterval: 8000, staleTime: 4000, }) const { data: draftOrders } = useQuery({ queryKey: ['orders', 'draft-count'], queryFn: () => listOrders({ status: 'draft' }), staleTime: 10_000, refetchInterval: 30_000, }) const draftCount = draftOrders?.length ?? 0 function handleLogout() { logout() navigate('/login') } return (
{/* Sidebar */} {/* Main content */}
) }