--- interface Card { name: string; description: string; type: 'recta' | 'curva' | 'especial'; image?: string; } const cardTypes = { recta: { label: 'Recta', borderClass: 'border-green-500/30', barClass: 'bg-green-500', textClass: 'text-green-400', bgClass: 'bg-green-500/10' }, curva: { label: 'Curva', borderClass: 'border-yellow-500/30', barClass: 'bg-yellow-500', textClass: 'text-yellow-400', bgClass: 'bg-yellow-500/10' }, especial: { label: 'Especial', borderClass: 'border-primary/30', barClass: 'bg-primary', textClass: 'text-primary', bgClass: 'bg-primary/10' }, }; // Lucide icon SVGs for card type icons const typeIcons = { recta: ``, curva: ``, especial: ``, }; const cards: Card[] = [ { name: 'Aleron Movil', description: 'Abre el aleron y vuela. Bonus de velocidad en zonas de recta.', type: 'recta', image: '/images/cards/recta-aleron.png' }, { name: 'Potencia', description: 'Mas caballos, mas recta. Tu carta base para tramos rapidos.', type: 'recta' }, { name: 'Rebufo', description: 'Pegate al de delante y aprovecha el aire.', type: 'recta' }, { name: 'Acelerar', description: 'Salida de curva limpia, pisas a fondo.', type: 'recta' }, { name: 'Curva Limpia', description: 'La linea perfecta. Ni un metro de mas.', type: 'curva' }, { name: 'Frenada Tardia', description: 'Frena mas tarde que nadie. Alto riesgo, alta recompensa.', type: 'curva' }, { name: 'Pit Stop', description: 'Neumaticos nuevos. Pierdes tiempo ahora, lo recuperas despues.', type: 'especial' }, { name: 'Coche de Seguridad', description: 'Se compacta el peloton. Tu ventaja desaparece... o tu desventaja tambien.', type: 'especial' }, { name: 'Bandera Roja', description: 'Carrera detenida. Caos para unos, oportunidad para otros.', type: 'especial' }, { name: 'Lluvia', description: 'Cambia la pista entera. Intermedios o slicks?', type: 'especial' }, ]; --- Tu baraja,tu estrategia {cards.map((card) => { const t = cardTypes[card.type]; return ( {card.image ? ( ) : null} {t.label} {card.name} {card.description} ); })}
{card.description}