import Link from 'next/link' import { requireAdmin } from '@/lib/auth-guard' import { prisma } from '@/lib/prisma' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table' import { ProductFormDialog } from '../_components/ProductFormDialog' import { ProductActions } from './_components/ProductActions' export default async function AdminProductsPage() { await requireAdmin() const [products, allUsers] = await Promise.all([ prisma.product.findMany({ include: { user: { select: { username: true } }, _count: { select: { members: true, pbis: true } }, }, orderBy: { created_at: 'desc' }, }), prisma.user.findMany({ select: { id: true, username: true }, orderBy: { username: 'asc' }, }), ]) return (

Producten

Nieuw product} />
Naam Eigenaar Leden PBIs Status Aangemaakt Acties {products.map(p => ( {p.name} {p.user.username} {p._count.members} {p._count.pbis} {p.archived ? ( Gearchiveerd ) : ( Actief )} {new Date(p.created_at).toLocaleDateString('nl-NL')} ))} {products.length === 0 && ( Geen producten gevonden. )}
) }