/* eslint-disable @next/next/no-img-element -- External card image URLs; next/image migration is out of scope. */
import { ManaCost, ColorFilterSymbol } from './ManaSymbols';
import ManaSymbolSettings from './ManaSymbolSettings';
export default function DeckBuilderCardBrowser({
selectedCard,
onSelectCard,
onClearSelectedCard,
viewMode,
onViewModeChange,
showSettings,
onToggleSettings,
onCollapseSidebar,
searchQuery,
onSearchQueryChange,
showFilters,
onToggleFilters,
filters,
onFiltersChange,
onClearFilters,
onToggleColorFilter,
searchLoading,
searchResults,
manaSymbolSettings,
onManaSymbolSettingsChange,
onAddCardToDeck,
}) {
return (
{!selectedCard ? (
<>
{/* Header */}
Card Browser
{/* View Mode Toggle */}
{/* Search */}
{/* Settings Panel */}
{showSettings && (
)}
{/* Quick Filters */}
{showFilters && (
{/* Color Filters */}
{(filters.colors.length > 0 || filters.cmc || filters.rarity) && (
)}
{['W', 'U', 'B', 'R', 'G'].map(color => (
))}
{/* CMC and Rarity */}
)}
{/* Card List */}
{viewMode === 'list' ? (
/* List View */
{searchLoading ? (
) : searchResults.length === 0 ? (
🔍
{searchQuery ? 'No cards found' : 'No cards available'}
) : (
searchResults.map((card) => (
onSelectCard(card)}
>
{card.image_url && (

)}
{card.name}
{card.set_name}
{card.mana_cost && (
)}
{card.rarity && (
{card.rarity[0].toUpperCase()}
)}
))
)}
) : (
/* Thumbnail View */
{searchLoading ? (
) : searchResults.length === 0 ? (
🔍
{searchQuery ? 'No cards found' : 'No cards available'}
) : (
{searchResults.map((card) => (
onSelectCard(card)}
>
{card.image_url ? (

{/* Hover overlay with card name */}
{card.name}
{card.set_name}
{/* Rarity indicator */}
{card.rarity && (
)}
) : (
{card.name}
{card.set_name}
)}
))}
)}
)}
>
) : (
/* Card Detail View */
<>
{/* Detail Header */}
{selectedCard.name}
{/* Card Detail Content */}
{/* Card Image */}
{selectedCard.image_url && (
)}
{/* Card Info */}
{selectedCard.name}
{selectedCard.set_name}
{selectedCard.mana_cost && (
)}
{selectedCard.card_type && (
{selectedCard.card_type}
)}
{selectedCard.oracle_text && (
{selectedCard.oracle_text}
)}
{selectedCard.rarity && (
{selectedCard.rarity}
)}
{selectedCard.cmc !== undefined && (
)}
>
)}
{/* Floating Action Button */}
{selectedCard && (
)}
);
}