import { useState } from 'react' import { theme } from '../theme.ts' import { isImageSymbol, imageSymbolUrl } from '../binAssets' interface Props { current: string onSelect: (symbol: string) => void onClose: () => void } type Category = 'classic' | 'hearts' | 'emojis' | 'letters' | 'dragons' const CATEGORIES: { id: Category; label: string }[] = [ { id: 'classic', label: 'Classic' }, { id: 'hearts', label: 'Hearts' }, { id: 'emojis', label: 'Emojis' }, { id: 'letters', label: 'Letters' }, { id: 'dragons', label: 'Dragons' }, ] const SYMBOLS: Record = { classic: ['X', 'O', '●', '○', '★', '☆', '♠', '♥', '♦', '♣', '⚫', '⚪', '🔵', '🔴'], hearts: ['❤️', '🧡', '💛', '💚', '💙', '💜', '🖤', '🤍', '🤎', '💝', '💖', '💗'], emojis: [ '😀', '😍', '🤩', '😎', '😂', '🥳', '🤯', '😈', '👻', '👽', '😺', '😻', '🤖', '🥷', '🧙', '🧚', '🧛', '🦸', '🦹', '🧞', '🚀', '⭐', '🌟', '🎯', '🔥', '💎', '🏆', '👑', '🎮', '🎲', '🛸', '🛰️', '🌌', '🪐', '☄️', '🌠', '🌃', '🔭', '🧭', '⚔️', '🐱', '🐶', '🦊', '🐼', '🦄', '🐸', '🐨', '🐲', '🐬', '🦋', '🐉', '🦁', '🐯', '🐺', '🦅', '🦉', '🐢', '🦖', '🦕', '🐝', '🌈', '⚡', '🍀', '🌺', '🌸', '🌻', '🌍', '🌙', '☀️', '❄️', '🌲', '🌳', '🍄', '🌿', '🍁', '🌊', '💧', '🪨', '🪵', '🪷', '🍕', '🍔', '🌮', '🍩', '🍪', '🍉', '🍇', '🍓', '🍒', '🍑', '🍍', '🥝', '🥨', '🍜', '🍣', '🍙', '⚽', '🏀', '🎸', '🎹', '🎨', '🎭', '📷', '💡', '🏹', '🥁', '🎺', '🎧', '🎪', '🎬', '🕹️', '🧸', '♠️', '♥️', '♦️', '♣️', '♟️', '🎰', '🔮', '🗝️', '🛡️', '🗡️', '💰', '💣', '🧨', '🪙', '🏵️', '🎖️', '💪', '🧠', '👀', '🫶', '🤝', '🎀', '🧩', '🪄', '✨', '💫', '💥', '💤', '🌀', '🧿', '♾️', '✅', ], letters: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'], dragons: Array.from({ length: 20 }, (_, i) => `img:dragon-icons/dragon${i + 1}.png`), } export default function SymbolPicker({ current, onSelect, onClose }: Props) { const [category, setCategory] = useState('classic') const symbols = SYMBOLS[category] return (
e.stopPropagation()} > Choose Your Symbol
{CATEGORIES.map((cat) => ( ))}
{symbols.map((s) => { const isImg = isImageSymbol(s) return ( ) })}
) }