Files
peakskills/app/evaluation/page.tsx
2025-08-21 13:19:46 +02:00

50 lines
1.3 KiB
TypeScript

import { redirect } from "next/navigation";
import {
isUserAuthenticated,
getServerUserEvaluation,
getServerSkillCategories,
getServerTeams,
} from "@/lib/server-auth";
import {
EvaluationClientWrapper,
WelcomeEvaluationScreen,
} from "@/components/evaluation";
import { SkillEvaluation } from "@/components/skill-evaluation";
export default async function EvaluationPage() {
// Vérifier l'authentification
const isAuthenticated = await isUserAuthenticated();
// Si pas de cookie d'authentification, rediriger vers login
if (!isAuthenticated) {
redirect("/login");
}
// Charger les données côté serveur
const [userEvaluation, skillCategories, teams] = await Promise.all([
getServerUserEvaluation(),
getServerSkillCategories(),
getServerTeams(),
]);
// Si pas d'évaluation, afficher l'écran d'accueil évaluation
if (!userEvaluation) {
return <WelcomeEvaluationScreen teams={teams} />;
}
return (
<EvaluationClientWrapper userEvaluation={userEvaluation} teams={teams}>
<div>
{/* Skill Evaluation */}
{skillCategories.length > 0 &&
userEvaluation.evaluations.length > 0 && (
<SkillEvaluation
categories={skillCategories}
evaluations={userEvaluation.evaluations}
/>
)}
</div>
</EvaluationClientWrapper>
);
}