import { memo } from 'react'; export const LayersPanel = memo(function LayersPanel({ elements, selectedId, onSelect, onDelete }) { const getIcon = (element) => { switch (element.type) { case 'image': return element.bgRemoved ? '🖼️' : '📷'; case 'text': return '📝'; case 'sticker': return '🎨'; default: return '📁'; } }; const getName = (element) => { switch (element.type) { case 'image': return element.bgRemoved ? 'Image (BG ✓)' : 'Image'; case 'text': return element.text?.substring(0, 20) || 'Text'; case 'sticker': return 'Sticker'; default: return 'Element'; } }; if (elements.length === 0) { return (
No elements yet. Add images, text, or stickers to your design.
); } return (

Layers ({elements.length})

{elements.map((element, index) => (
onSelect(element.id)} style={{ display: 'flex', alignItems: 'center', gap: '0.5rem', padding: '0.5rem 0.75rem', background: selectedId === element.id ? 'var(--accent-bg)' : 'transparent', border: `1px solid ${selectedId === element.id ? 'var(--accent)' : 'var(--border)'}`, borderRadius: 'var(--radius-sm)', cursor: 'pointer', transition: 'all 0.15s ease', }} onMouseEnter={(e) => { if (selectedId !== element.id) { e.target.style.borderColor = 'var(--accent)'; } }} onMouseLeave={(e) => { if (selectedId !== element.id) { e.target.style.borderColor = 'var(--border)'; } }} > {getIcon(element)} {getName(element)}
))}
); });