import { prisma } from "@/lib/prisma"; import { getServerSession } from "next-auth/next"; import { authOptions } from "@/lib/auth-config"; import { redirect } from "next/navigation"; import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from "@/components/ui/table"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import Link from "next/link"; export const dynamic = "force-dynamic"; export default async function ClassesPage() { 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 classes = await prisma.class.findMany({ where: establishmentId ? { establishmentId } : {}, include: { _count: { select: { students: true } } }, orderBy: { createdAt: "desc" }, }); return (

Classes

Nom Niveau Étudiants Créée le {classes.map((cls) => ( {cls.name} {cls.level} {cls._count.students} {new Date(cls.createdAt).toLocaleDateString("fr-FR")} ))} {classes.length === 0 && ( Aucune classe )}
); }