'use client'; import { useState } from 'react'; import { Task } from '@/lib/types'; import { TaskCard } from './TaskCard'; import { Card, CardHeader, CardContent } from '@/components/ui/Card'; import { Badge } from '@/components/ui/Badge'; interface ObjectivesBoardProps { tasks: Task[]; onDeleteTask?: (taskId: string) => Promise; onEditTask?: (task: Task) => void; onUpdateTitle?: (taskId: string, newTitle: string) => Promise; compactView?: boolean; pinnedTagName?: string; } export function ObjectivesBoard({ tasks, onDeleteTask, onEditTask, onUpdateTitle, compactView = false, pinnedTagName = "Objectifs" }: ObjectivesBoardProps) { const [isCollapsed, setIsCollapsed] = useState(false); if (tasks.length === 0) { return null; // Ne rien afficher s'il n'y a pas d'objectifs } return (
{String(tasks.length).padStart(2, '0')} {/* Bouton collapse séparé pour mobile */}
{!isCollapsed && ( {(() => { // Séparer les tâches par statut const activeTasks = tasks.filter(task => task.status === 'todo' || task.status === 'in_progress'); const completedTasks = tasks.filter(task => task.status === 'done'); return (
{/* Colonne En cours / À faire */}

En cours / À faire

{activeTasks.length}
{activeTasks.length === 0 ? (
🎯
Aucun objectif actif
) : (
{activeTasks.map(task => (
))}
)}
{/* Colonne Terminé */}

Terminé

{completedTasks.length}
{completedTasks.length === 0 ? (
Aucun objectif terminé
) : (
{completedTasks.map(task => (
))}
)}
); })()}
)}
); }