RESUMEN DE CAMBIOS - SESIÓN 2025-12-08 ======================================== ## 1. CORRECCIÓN DE PANTALLAS DE VICTORIA (ALLIED_WIN y NAZIS_WIN) ### Problema inicial: - Las pantallas de victoria mostraban el tablero de juego encima de la imagen de fondo - Había imágenes duplicadas y rutas incorrectas (.jpg vs .png) ### Solución implementada: #### GameBoard.tsx: - **Fondo dinámico según fase**: El fondo del componente GameBoard ahora cambia según la fase: * ALLIED_WIN → muestra `/assets/images/tokens/mission_success.png` * NAZIS_WIN → muestra `/assets/images/tokens/mission_fail.png` * Otras fases → muestra `/assets/images/ui/bg_game.png` - **Área del tablero oculta en victorias**: El div del tablero (con las cartas de misión, tablero táctico, etc.) se oculta completamente cuando `gameState.phase === ALLIED_WIN || gameState.phase === NAZIS_WIN` #### VictoryScreen.tsx: - **Eliminada imagen de fondo redundante**: Se eliminó el div con la imagen de fondo que intentaba cargar `mission_fail.jpg` y `mission_success.jpg`, ya que el GameBoard ahora maneja estos fondos. ### Archivos modificados: - `client/src/components/GameBoard.tsx` (líneas 293-307, 309-442) - `client/src/components/VictoryScreen.tsx` (líneas 39-50 eliminadas) ### Commit: - Hash: 6e65152 - Mensaje: "feat: Fix victory screens background images" --- ## 2. MEJORA DE CARTAS DE MISIÓN (Fase MISSION) ### Problema inicial: - Las cartas solo se opacaban cuando se seleccionaba la otra - Si solo había una carta (jugadores aliados), no había feedback visual de que se había seleccionado ### Solución implementada: #### Cambio de lógica de opacidad: **ANTES:** - Sin voto: todas las cartas al 100% de opacidad - Con voto: la carta NO seleccionada se opaca al 50% **DESPUÉS:** - Sin voto: todas las cartas al 50% de opacidad (opacadas por defecto) - Con voto: solo la carta seleccionada se pone al 100%, las demás permanecen al 50% #### Implementación: ```tsx // Carta de Éxito className={`group transition-opacity ${missionVote === true ? 'opacity-100' : 'opacity-50'}`} // Carta de Sabotaje (solo alemanes) className={`group transition-opacity ${missionVote === false ? 'opacity-100' : 'opacity-50'}`} ``` ### Archivos modificados: - `client/src/components/GameBoard.tsx` (líneas 628-678) ### Beneficio: - Ahora es fácil ver qué carta has seleccionado, incluso cuando solo tienes una opción disponible --- ## 3. INTENTO DE MEJORA DEL HISTORIAL DE MISIONES (NO FUNCIONAL) ### Objetivo: - Mostrar los participantes de cada misión al hacer clic en el número del historial ### Implementación intentada: #### Estado añadido: ```tsx const [expandedMission, setExpandedMission] = useState(null); ``` #### Lógica implementada: - Click en número de misión → expande mostrando nombres de participantes - Click de nuevo → colapsa la lista - Solo una misión puede estar expandida a la vez - Indicador visual: anillo amarillo alrededor del número cuando está expandido #### Código añadido en GameBoard.tsx (líneas 856-899): ```tsx {gameState.missionHistory.map((mission, idx) => { const isExpanded = expandedMission === idx; return (
{ e.stopPropagation(); console.log('Click en misión', idx, 'Estado actual:', expandedMission); setExpandedMission(isExpanded ? null : idx); }} > {mission.round}
{isExpanded && (
{mission.team.map((playerId) => { const player = gameState.players.find(p => p.id === playerId); return (
{player?.name || playerId}
); })}
)}
); })} ``` ### Archivos modificados: - `client/src/components/GameBoard.tsx` (líneas 26, 856-899) ### Estado: ⚠️ **NO FUNCIONAL** - El click no dispara la expansión de la lista de participantes. Posibles causas a investigar: - Conflicto con otros event handlers - Problema con el z-index o posicionamiento - Estado no actualizándose correctamente - Necesidad de reiniciar servicios Docker --- ## RESUMEN DE COMMITS 1. **6e65152** - "feat: Fix victory screens background images" - Corregidas pantallas de victoria - Eliminadas imágenes redundantes - Fondo dinámico según fase --- ## ARCHIVOS PRINCIPALES MODIFICADOS 1. `client/src/components/GameBoard.tsx` - Fondo dinámico para fases de victoria - Área del tablero oculta en victorias - Opacidad de cartas de misión mejorada - Intento de historial expandible (no funcional) 2. `client/src/components/VictoryScreen.tsx` - Eliminada imagen de fondo redundante --- ## PENDIENTES / PROBLEMAS CONOCIDOS 1. ❌ **Historial de misiones expandible no funciona** - El código está implementado pero el click no dispara la acción - Requiere investigación adicional 2. ⚠️ **Errores de lint** - Múltiples errores de tipo "JSX element implicitly has type 'any'" - Son falsos positivos del IDE en entorno Dockerizado - No afectan la funcionalidad de la aplicación --- Fecha: 2025-12-08 Hora: 22:59