import Link from 'next/link'; import { Plus } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { CustomerCard } from '@/components/customers/customer-card'; import { listClusters } from '@/lib/actions/clusters'; import { listCustomers } from '@/lib/actions/customers'; export default async function CustomersPage() { const [customers, clusters] = await Promise.all([ listCustomers(), listClusters(), ]); // Group customers by cluster const groupedCustomers = customers.reduce((acc, customer) => { const clusterId = customer.cluster?.id || 0; const clusterName = customer.cluster?.name || 'Unknown Cluster'; if (!acc[clusterId]) { acc[clusterId] = { clusterName, customers: [], }; } acc[clusterId].customers.push(customer); return acc; }, {} as Record); return (

Customers

Manage your customers grouped by cluster

{customers.length === 0 ? (

No customers yet. Create your first customer to get started.

) : (
{Object.entries(groupedCustomers).map(([clusterId, group]) => (

{group.clusterName} ({group.customers.length} customers)

{group.customers.map((customer) => ( ))}
))}
)}
); }