Files
peakskills/app/admin/manage/page.tsx
2025-08-22 08:56:02 +02:00

40 lines
1.2 KiB
TypeScript

import { redirect } from "next/navigation";
import { isUserAuthenticated } from "@/lib/server-auth";
import { AdminService } from "@/services/admin-service";
import { ManageAdminClientWrapper } from "@/components/admin";
export default async function ManageAdminPage() {
// 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
try {
const adminData = await AdminService.getAdminData();
return (
<ManageAdminClientWrapper
teams={adminData.teams}
skillCategories={adminData.skillCategories}
teamStats={adminData.teamStats}
directionStats={adminData.directionStats}
/>
);
} catch (error) {
console.error("Failed to load admin data:", error);
return (
<div className="container mx-auto p-6">
<div className="flex items-center justify-center h-64">
<div className="text-lg text-red-500">
Erreur lors du chargement des données d'administration
</div>
</div>
</div>
);
}
}