import { redirect } from "next/navigation"; import { AuthService } from "@/services"; import { evaluationService, SkillsService, TeamsService } from "@/services"; import { generateRadarData } from "@/lib/evaluation-utils"; import { WelcomeHeader, RadarSection, CategoryBreakdown, ActionSection, ClientWrapper, WelcomeScreen, } from "@/components/home"; export default async function HomePage() { // Charger les données côté serveur const userUuid = await AuthService.getUserUuidFromCookie(); if (!userUuid) { redirect("/login"); } const [userEvaluation, skillCategories, teams] = await Promise.all([ evaluationService.getServerUserEvaluation(userUuid!), SkillsService.getSkillCategories(), TeamsService.getTeams(), ]); // Si pas d'évaluation, afficher l'écran d'accueil if (!userEvaluation) { return ; } // Générer les données radar côté serveur const radarData = generateRadarData( userEvaluation.evaluations, skillCategories ); // Tout en server-side, seul le ClientWrapper gère setUserInfo return (
{/* Background Effects */}
{/* Header */} {/* Main Content Grid */}
{/* Radar Chart */} {/* Category Breakdown */}
{/* Action Button */}
); }