import { LogOut, Search, Loader2 } from 'lucide-react'; import { useAuth } from '../lib/auth'; import { useQuery } from '@tanstack/react-query'; import { api } from '../lib/api-client'; import { Button } from '../components/ui/primitives'; import { Badge } from '../components/ui/primitives'; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, } from '../components/ui/dropdown'; interface Props { onOpenPalette: () => void; } export function Topbar({ onOpenPalette }: Props) { const { user, logout } = useAuth(); const jobsQuery = useQuery({ queryKey: ['jobs-overview'], queryFn: () => api.get<{ pending: number; running: number; failed: number }>('/jobs/stats'), refetchInterval: 10_000, }); const running = jobsQuery.data?.running ?? 0; const pending = jobsQuery.data?.pending ?? 0; const failed = jobsQuery.data?.failed ?? 0; return (
{(running > 0 || pending > 0 || failed > 0) && ( {running > 0 && ( {running} draait )} {pending > 0 && {pending} wacht} {failed > 0 && {failed} mislukt} )} {user?.email} Rol: {user?.role} logout()}> Uitloggen
); }