import { Card, CardContent } from '@/components/ui/Card'; import { TaskStats } from '@/lib/types'; import { useTheme } from '@/contexts/ThemeContext'; import Link from 'next/link'; interface HeaderProps { title: string; subtitle: string; stats: TaskStats; syncing?: boolean; } export function Header({ title, subtitle, stats, syncing = false }: HeaderProps) { const { theme, toggleTheme } = useTheme(); return ( {/* Titre tech avec glow */} {title} {subtitle} {syncing && '• Synchronisation...'} {/* Navigation */} Kanban Tags {/* Theme Toggle */} {theme === 'dark' ? ( ) : ( )} {/* Stats tech dashboard */} {stats.completed > 0 && ( )} {stats.inProgress > 0 && ( )} {stats.todo > 0 && ( )} {stats.freeze > 0 && ( )} {stats.cancelled > 0 && ( )} {stats.archived > 0 && ( )} ); } interface StatCardProps { label: string; value: number | string; color: 'blue' | 'green' | 'yellow' | 'gray' | 'purple'; } function StatCard({ label, value, color }: StatCardProps) { const textColors = { blue: 'text-[var(--primary)]', green: 'text-[var(--success)]', yellow: 'text-[var(--accent)]', gray: 'text-[var(--muted-foreground)]', purple: 'text-[var(--accent)]' }; return ( {label} {value} ); }
{subtitle} {syncing && '• Synchronisation...'}