{isLoading ? (
{[...Array(3)].map((_, i) => (
))}
) : error ? (

{error}

Check your connection and try again

) : filteredItems.length === 0 ? (

{searchQuery ? 'Nothing matches' : 'All caught up'}

{searchQuery ? 'No collections match your search.' : statusFilter === 'assigned' ? 'No pickups for today or yesterday. New ones appear here as the operator schedules them.' : statusFilter === 'collection_pool' ? 'Collection pool is empty — nothing to claim right now.' : 'No problems reported. Nice work.'}

) : (
{groupMode === 'area' ? ( areaClusters.map((cluster, clusterIdx) => { const color = SUPPLIER_COLORS[clusterIdx % SUPPLIER_COLORS.length]; const isExpanded = expandedAreas.has(cluster.id); return ( toggleArea(cluster.id)} onCollect={(item) => { setSelectedItem(item); setShowCollectModal(true); }} onProblem={(item) => { setSelectedItem(item); setShowProblemModal(true); }} onNavigate={handleNavigate} onShowDetails={handleShowDetails} /> ); }) ) : ( // Supplier + Invoice group modes share the SupplierGroup // component; the PO sub-group render only kicks in when // poGroups is non-empty (i.e. when groupMode === 'po'). // For 'supplier' mode the group carries items; for 'po' // mode items is empty and pos carries the sub-buckets. (() => { const supplierGroups = groupMode === 'po' ? groupedByPO.map((g) => ({ supplier: g.supplier, items: [] as OrderItem[], pos: g.pos })) : groupedArray.map((g) => ({ supplier: g.supplier, items: g.items, pos: [] as POSubGroup[] })); return supplierGroups.map((group, groupIdx) => { const color = SUPPLIER_COLORS[groupIdx % SUPPLIER_COLORS.length]; const isExpanded = expandedSuppliers.has(group.supplier!.id); const isPoMode = groupMode === 'po'; return ( toggleSupplier(group.supplier!.id)} onCollect={(item) => { setSelectedItem(item); setShowCollectModal(true); }} onProblem={(item) => { setSelectedItem(item); setShowProblemModal(true); }} onNavigate={handleNavigate} onShowDetails={handleShowDetails} poGroups={isPoMode ? group.pos : undefined} collapsedPOs={isPoMode ? collapsedPOs : undefined} onTogglePO={isPoMode ? togglePO : undefined} onBulkCollect={isPoMode ? handleBulkCollect : undefined} onBulkProblem={isPoMode ? handleBulkProblem : undefined} onAddInvoicePage={handleAddInvoicePage} /> ); }); })() )}
)}