import type { AuthUser } from '@/auth/types'; import type { TaskState } from '@/types'; import { Button } from './ui/button'; import { Separator } from './ui/separator'; import { LogOut, Home, Filter } from 'lucide-react'; import { logout } from '@/auth/authService'; import { clearPasskeyUser } from '@/auth/passkeyService'; import { HealthIndicator } from './HealthIndicator'; import { TaskIndicator } from './TaskIndicator'; interface HeaderProps { user: AuthUser; activeFilterCount?: number; isLoading?: boolean; onToggleFilters?: () => void; showFilterToggle?: boolean; // Task progress (unified) tasks: Record; activeTaskId: string | null; isConnected: boolean; onCancelTask: (taskId: string) => Promise; onClearAllTasks: () => Promise; onTaskCompleted?: () => void; } export function Header({ user, activeFilterCount = 0, onToggleFilters, showFilterToggle = false, tasks, activeTaskId, isConnected, onCancelTask, onClearAllTasks, onTaskCompleted, }: HeaderProps) { const handleLogout = async () => { if (user.provider === 'passkey') { clearPasskeyUser(); window.location.reload(); } else { await logout(); } }; return (
{/* Logo / Brand */}
Wrongmove
{/* Health Indicator */} {/* Task Indicator */} {/* Filter Toggle (mobile) */} {showFilterToggle && ( )} {/* Spacer */}
{/* User Menu */}
{user.email}
); }