40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { redirect } from "next/navigation";
|
|
import { auth } from "@/auth";
|
|
import { SkillsService, TeamsService } from "@/services";
|
|
import { evaluationService } from "@/services/evaluation-service";
|
|
import { EvaluationClientWrapper } from "@/components/evaluation";
|
|
import { SkillEvaluation } from "@/components/skill-evaluation";
|
|
|
|
export default async function EvaluationPage() {
|
|
// Charger les données côté serveur
|
|
const session = await auth();
|
|
|
|
if (!session?.user) {
|
|
redirect("/login");
|
|
}
|
|
|
|
const userUuid = session.user.id;
|
|
|
|
const [userEvaluation, skillCategories, teams] = await Promise.all([
|
|
evaluationService.getServerUserEvaluation(userUuid!),
|
|
SkillsService.getSkillCategories(),
|
|
TeamsService.getTeams(),
|
|
]);
|
|
|
|
return (
|
|
<EvaluationClientWrapper
|
|
userEvaluation={userEvaluation}
|
|
teams={teams}
|
|
skillCategories={skillCategories}
|
|
>
|
|
<div>
|
|
{/* Skill Evaluation */}
|
|
<SkillEvaluation
|
|
categories={skillCategories}
|
|
evaluations={userEvaluation?.evaluations || []}
|
|
/>
|
|
</div>
|
|
</EvaluationClientWrapper>
|
|
);
|
|
}
|