'use client'; import { useState } from 'react'; import { KanbanBoardContainer } from '@/components/kanban/BoardContainer'; import { Header } from '@/components/ui/Header'; import { TasksProvider, useTasksContext } from '@/contexts/TasksContext'; import { UserPreferencesProvider, useUserPreferences } from '@/contexts/UserPreferencesContext'; import { Task, Tag, TaskStats, UserPreferences } from '@/lib/types'; import { CreateTaskData } from '@/clients/tasks-client'; import { CreateTaskForm } from '@/components/forms/CreateTaskForm'; import { Button } from '@/components/ui/Button'; interface HomePageClientProps { initialTasks: Task[]; initialStats: TaskStats; initialTags: (Tag & { usage: number })[]; initialPreferences: UserPreferences; } function HomePageContent() { const { stats, syncing, createTask, activeFiltersCount } = useTasksContext(); const { preferences, updateViewPreferences } = useUserPreferences(); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); // Extraire les préférences du context const showFilters = preferences.viewPreferences.showFilters; const showObjectives = preferences.viewPreferences.showObjectives; const compactView = preferences.viewPreferences.compactView; const swimlanesByTags = preferences.viewPreferences.swimlanesByTags; // Handlers pour les toggles (sauvegarde automatique via le context) const handleToggleFilters = () => { updateViewPreferences({ showFilters: !showFilters }); }; const handleToggleObjectives = () => { updateViewPreferences({ showObjectives: !showObjectives }); }; const handleToggleCompactView = () => { updateViewPreferences({ compactView: !compactView }); }; const handleToggleSwimlanes = () => { updateViewPreferences({ swimlanesByTags: !swimlanesByTags }); }; // Handler pour la création de tâche depuis la barre de contrôles const handleCreateTask = async (data: CreateTaskData) => { await createTask(data); setIsCreateModalOpen(false); }; return (