diff --git a/components/HomePageClient.tsx b/components/HomePageClient.tsx index d5a9517..03a2c0f 100644 --- a/components/HomePageClient.tsx +++ b/components/HomePageClient.tsx @@ -3,7 +3,7 @@ import { Header } from '@/components/ui/Header'; import { TasksProvider, useTasksContext } from '@/contexts/TasksContext'; import { UserPreferencesProvider } from '@/contexts/UserPreferencesContext'; -import { Task, Tag, UserPreferences } from '@/lib/types'; +import { Task, Tag, UserPreferences, TaskStats } from '@/lib/types'; import { CreateTaskData } from '@/clients/tasks-client'; import { DashboardStats } from '@/components/dashboard/DashboardStats'; import { QuickActions } from '@/components/dashboard/QuickActions'; @@ -14,6 +14,7 @@ interface HomePageClientProps { initialTasks: Task[]; initialTags: (Tag & { usage: number })[]; initialPreferences: UserPreferences; + initialStats: TaskStats; } @@ -50,12 +51,13 @@ function HomePageContent() { ); } -export function HomePageClient({ initialTasks, initialTags, initialPreferences }: HomePageClientProps) { +export function HomePageClient({ initialTasks, initialTags, initialPreferences, initialStats }: HomePageClientProps) { return ( diff --git a/src/app/page.tsx b/src/app/page.tsx index 7e98180..56c0896 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -8,10 +8,11 @@ export const dynamic = 'force-dynamic'; export default async function HomePage() { // SSR - Récupération des données côté serveur - const [initialTasks, initialTags, initialPreferences] = await Promise.all([ + const [initialTasks, initialTags, initialPreferences, initialStats] = await Promise.all([ tasksService.getTasks(), tagsService.getTags(), - userPreferencesService.getAllPreferences() + userPreferencesService.getAllPreferences(), + tasksService.getTaskStats() ]); return ( @@ -19,6 +20,7 @@ export default async function HomePage() { initialTasks={initialTasks} initialTags={initialTags} initialPreferences={initialPreferences} + initialStats={initialStats} /> ); } diff --git a/src/contexts/TasksContext.tsx b/src/contexts/TasksContext.tsx index e1bd189..c793a47 100644 --- a/src/contexts/TasksContext.tsx +++ b/src/contexts/TasksContext.tsx @@ -38,12 +38,13 @@ interface TasksProviderProps { children: ReactNode; initialTasks: Task[]; initialTags?: (Tag & { usage: number })[]; + initialStats?: TaskStats; } -export function TasksProvider({ children, initialTasks, initialTags }: TasksProviderProps) { +export function TasksProvider({ children, initialTasks, initialTags, initialStats }: TasksProviderProps) { const tasksState = useTasks( { limit: 20 }, - { tasks: initialTasks } + { tasks: initialTasks, stats: initialStats } ); const { tags, loading: tagsLoading, error: tagsError } = useTags(initialTags);