Files
peakskills/app/admin/team/[teamId]/page.tsx
2025-08-21 14:30:01 +02:00

46 lines
1.3 KiB
TypeScript

import { redirect } from "next/navigation";
import { isUserAuthenticated } from "@/lib/server-auth";
import { AdminService, TeamStats } from "@/services/admin-service";
import { TeamDetailClientWrapper } from "@/components/admin";
interface TeamDetailPageProps {
params: {
teamId: string;
};
}
export default async function TeamDetailPage({ params }: TeamDetailPageProps) {
// Vérifier l'authentification
const isAuthenticated = await isUserAuthenticated();
// Si pas de cookie d'authentification, rediriger vers login
if (!isAuthenticated) {
redirect("/login");
}
try {
// Charger les données côté serveur
const allTeamsStats = await AdminService.getTeamsStats();
const foundTeamStats = allTeamsStats.find(
(t) => t.teamId === params.teamId
);
if (!foundTeamStats) {
redirect("/admin");
}
return (
<TeamDetailClientWrapper team={foundTeamStats} teamId={params.teamId} />
);
} catch (error) {
console.error("Failed to load team data:", error);
return (
<div className="min-h-screen bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950 flex items-center justify-center">
<div className="text-white text-xl text-red-500">
Erreur lors du chargement des détails de l'équipe
</div>
</div>
);
}
}