"use client"; import { useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { ResponsiveTable, ResponsiveTableCardList, ResponsiveTableCard, ResponsiveTableCardRow, } from "@/components/ui/responsive-table"; import { Skeleton } from "@/components/ui/skeleton"; import { Boxes, Pencil } from "lucide-react"; import type { ProductSummary } from "@/types"; import { EditProductDialog } from "./edit-product-dialog"; interface ProductTableProps { products: ProductSummary[] | undefined; isLoading: boolean; } export function ProductTable({ products, isLoading }: ProductTableProps) { const [editingProductId, setEditingProductId] = useState(null); if (isLoading) { return (
{Array.from({ length: 5 }).map((_, i) => ( ))}
); } if (!products || products.length === 0) { return (

No products found

Create a product to map cells to projects

); } return ( <> Product Cells Mapped Actions {products.map((product) => (

{product.slug}

{product.cell_count} / 3
))}
} cards={ {products.map((product) => (

{product.slug}

{product.cell_count} / 3
))}
} /> {/* Edit Product Dialog */} {editingProductId && ( { if (!open) setEditingProductId(null); }} /> )} ); }