feat: add 'Manager' link to Header component

- Introduced a new navigation link for the 'Manager' page in the Header component, improving user access to management features.
This commit is contained in:
Julien Froidefond
2025-09-19 15:07:04 +02:00
parent c4d8bacd97
commit 888e81d15d
5 changed files with 1113 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
'use client';
import { TasksProvider } from '@/contexts/TasksContext';
import { UserPreferencesProvider } from '@/contexts/UserPreferencesContext';
import ManagerWeeklySummary from '@/components/dashboard/ManagerWeeklySummary';
import { ManagerSummary } from '@/services/manager-summary';
import { Task, Tag, UserPreferences } from '@/lib/types';
interface WeeklyManagerPageClientProps {
initialSummary: ManagerSummary;
initialTasks: Task[];
initialTags: (Tag & { usage: number })[];
initialPreferences: UserPreferences;
}
export function WeeklyManagerPageClient({
initialSummary,
initialTasks,
initialTags,
initialPreferences
}: WeeklyManagerPageClientProps) {
return (
<UserPreferencesProvider initialPreferences={initialPreferences}>
<TasksProvider
initialTasks={initialTasks}
initialTags={initialTags}
>
<ManagerWeeklySummary initialSummary={initialSummary} />
</TasksProvider>
</UserPreferencesProvider>
);
}

View File

@@ -0,0 +1,36 @@
import { Header } from '@/components/ui/Header';
import { ManagerSummaryService } from '@/services/manager-summary';
import { tasksService } from '@/services/tasks';
import { tagsService } from '@/services/tags';
import { userPreferencesService } from '@/services/user-preferences';
import { WeeklyManagerPageClient } from './WeeklyManagerPageClient';
// Force dynamic rendering (no static generation)
export const dynamic = 'force-dynamic';
export default async function WeeklyManagerPage() {
// SSR - Récupération des données côté serveur
const [summary, initialTasks, initialTags, initialPreferences] = await Promise.all([
ManagerSummaryService.getManagerSummary(),
tasksService.getTasks(),
tagsService.getTags(),
userPreferencesService.getAllPreferences()
]);
return (
<div className="min-h-screen bg-[var(--background)]">
<Header />
<div className="container mx-auto px-4 py-8">
<div className="max-w-6xl mx-auto">
<WeeklyManagerPageClient
initialSummary={summary}
initialTasks={initialTasks}
initialTags={initialTags}
initialPreferences={initialPreferences}
/>
</div>
</div>
</div>
);
}