export const dynamic = "force-dynamic"; import { prisma } from "@/lib/prisma"; import Link from "next/link"; import { notFound } from "next/navigation"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Select } from "@/components/ui/select"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell } from "@/components/ui/table"; import { updateSubscription, deleteEstablishment, createAdmin, deleteAdmin } from "./actions"; import { DeleteDialog } from "./delete-dialog"; export default async function EstablishmentDetailPage({ params }: { params: Promise<{ id: string }> }) { const { id } = await params; const establishment = await prisma.establishment.findUnique({ where: { id }, include: { subscription: true, _count: { select: { users: true, classes: true } }, }, }); if (!establishment) notFound(); const admins = await prisma.user.findMany({ where: { establishmentId: id, role: "admin" }, orderBy: { createdAt: "desc" }, }); const boundDelete = deleteEstablishment.bind(null, establishment.id); const boundCreateAdmin = createAdmin.bind(null, establishment.id); return (

{establishment.name}

Informations
Slug {establishment.slug}
Utilisateurs {establishment._count.users}
Classes {establishment._count.classes}
Créé le {new Date(establishment.createdAt).toLocaleDateString("fr-FR")}
Abonnement
{establishment.subscription?.status || "-"}
Administrateurs
Email Rôle Créé le Actions {admins.map((user) => ( {user.email} {user.role} {new Date(user.createdAt).toLocaleDateString("fr-FR")}
))} {admins.length === 0 && ( Aucun administrateur )}
); }