'use client' import { useTransition } from 'react' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DialogClose, } from '@/components/ui/dialog' import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table' import { adminArchiveProductAction, adminDeleteProductAction } from '@/actions/admin/products' type Product = { id: string name: string archived: boolean created_at: Date user: { username: string } _count: { members: number; pbis: number } } function ArchiveButton({ product }: { product: Product }) { const [pending, startTransition] = useTransition() function handleToggle() { startTransition(() => adminArchiveProductAction(product.id, !product.archived)) } return ( ) } function DeleteDialog({ product }: { product: Product }) { const [pending, startTransition] = useTransition() function handleDelete() { startTransition(() => adminDeleteProductAction(product.id)) } return ( ) } export function ProductsTable({ products }: { products: Product[] }) { return (