Quick Filters
{tcgOptions.map(option => (
))}
{/* Advanced Filters */}
{/* Active Filters Display */}
{(selectedTCG !== 'all' || selectedRarity !== 'all' || selectedSet !== 'all' || selectedValueRange !== 'all') && (
{selectedTCG !== 'all' && (
{tcgOptions.find(opt => opt.value === selectedTCG)?.label}
)}
{selectedRarity !== 'all' && (
{rarityOptions.find(opt => opt.value === selectedRarity)?.label}
)}
{selectedSet !== 'all' && (
{setOptions.find(opt => opt.value === selectedSet)?.label}
)}
{selectedValueRange !== 'all' && (
{valueRangeOptions.find(opt => opt.value === selectedValueRange)?.label}
)}
)}
{/* Cards Display */}
{cards.length === 0 ? (
🃏
No cards found
Try adjusting your search or filters
) : (
<>
{cards.map((card) => (
c.id === card.id)}
onToggleSelect={handleToggleSelect}
onAddToCollection={(card) => handleBulkAddToCollection([card])}
onAddToDeck={handleBulkAddToDeck}
onToggleFavorite={handleToggleFavorite}
isFavorited={favoritedCards.has(card.id)}
/>
))}
{/* Infinite Scroll Loading Indicator */}
{loadingMore && (
)}
{/* Infinite Scroll Sentinel */}
{/* Load More Button */}
{hasMore && !loadingMore && (
)}
{/* End of results indicator */}
{!hasMore && cards.length > 0 && (
No more cards to load
)}
>
)}
{/* Bulk Selection Toolbar */}