import { prisma } from "@/lib/prisma"; import { getServerSession } from "next-auth/next"; import { authOptions } from "@/lib/auth-config"; import { redirect, notFound } from "next/navigation"; import { Card, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { DeleteStudentDialog } from "./DeleteStudentDialog"; import { generateActivationCodeAction } from "./actions"; export const dynamic = "force-dynamic"; export default async function StudentDetailPage({ params }: { params: { id: string } }) { const session = await getServerSession(authOptions); if (!session?.user) redirect("/login"); if (!session.user.establishmentId && session.user.role !== "superadmin") redirect("/dashboard"); const establishmentId = session.user.establishmentId; const student = await prisma.student.findFirst({ where: { id: params.id, class: establishmentId ? { establishmentId } : undefined, }, include: { class: true }, }); if (!student) notFound(); return (

{student.firstName} {student.lastName}

Email : {student.email}
Classe : {student.class.name} ({student.class.level})
Code d'activation : {student.activationCode ? ( ) : (
)}
); }