feat: CRUD admin for skills and teams

This commit is contained in:
Julien Froidefond
2025-08-22 08:56:02 +02:00
parent 514b33870b
commit e314a96fae
43 changed files with 2516 additions and 179 deletions

39
app/admin/manage/page.tsx Normal file
View File

@@ -0,0 +1,39 @@
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>
);
}
}