import type { Metadata } from "next"; import { GeistSans } from "geist/font/sans"; import { GeistMono } from "geist/font/mono"; import "./globals.css"; import "@/lib/fontawesome"; // Configuration Font Awesome import { ThemeProvider } from "@/components/layout/theme-provider"; import { Toaster } from "@/components/ui/sonner"; import { UserProvider } from "@/hooks/use-user-context"; import { NavigationWrapper } from "@/components/layout/navigation-wrapper"; import { SessionProvider } from "@/components/auth/session-provider"; import { auth } from "@/auth"; import { TeamsService } from "@/services"; export const metadata: Metadata = { title: "PeakSkills - Auto-évaluation de compétences", description: "Plateforme d'auto-évaluation de compétences techniques pour les équipes", }; export default async function RootLayout({ children, }: { children: React.ReactNode; }) { // Récupérer les infos utilisateur depuis la session NextAuth let userInfo = null; try { const session = await auth(); if (session?.user) { // Récupérer le nom de l'équipe let teamName = "Équipe non définie"; if (session.user.teamId) { try { const team = await TeamsService.getTeamById(session.user.teamId); if (team) { teamName = team.name; } } catch (error) { console.error("Failed to fetch team name:", error); } } userInfo = { firstName: session.user.firstName, lastName: session.user.lastName, teamName, teamId: session.user.teamId, uuid: session.user.id, }; } } catch (error) { // Utilisateur non authentifié, userInfo reste null console.log("User not authenticated:", error); } return (
{children}
); }