Commit Graph

31 Commits

Author SHA1 Message Date
Resistencia Dev
1a7b667c77 feat: Add 2025-12-10 project log detailing environment, Nginx, and Git/Gitea setup, and update gitignore to exclude GiteaToken.txt. 2025-12-12 18:35:47 +01:00
Resistencia Dev
59d2dd56bc Release v1.0 - Primera versión estable de Francia Ocupada
- Implementación completa del juego La Resistencia
- Sistema de roles: Aliados y Nazis (incluyendo Francotirador)
- Fases del juego: Selección de equipo, votación, misión, asesinato
- Interfaz de usuario con imágenes temáticas
- Sistema de WebSockets para multijugador en tiempo real
- Configuración Docker para desarrollo y producción
- Dockerfiles optimizados para cliente y servidor
- docker-compose.yml para desarrollo local
- docker-compose_prod.yml para despliegue en producción con Nginx Proxy Manager
- Base de datos PostgreSQL integrada
- Documentación de cambios y fases del juego
v1.0
2025-12-10 12:58:00 +01:00
Resistencia Dev
6e65152648 feat: Fix victory screens background images
- Changed GameBoard background to show mission_success.png for ALLIED_WIN and mission_fail.png for NAZIS_WIN
- Hidden board area completely during victory phases
- Removed redundant background image from VictoryScreen component
- Fixed image extensions from .jpg to .png for victory backgrounds
2025-12-08 22:39:05 +01:00
Resistencia Dev
f09e14f99a 🚪 Finalizar partida expulsa a todos al lobby - El host puede terminar la partida, eliminándola del listado y enviando a todos los jugadores al lobby 2025-12-08 20:51:46 +01:00
Resistencia Dev
31067bc168 🎴 Arreglada animación de las cartas - La carta de rol ahora vuelve a su posición al soltarla 2025-12-08 20:49:05 +01:00
Resistencia Dev
6a6cf7628b Checkpoint: Aplicación completamente funcional - Logo actualizado a 'FRANCIA OCUPADA' y botones de victoria redimensionados 2025-12-08 20:40:49 +01:00
Resistencia Dev
b836c53002 feat: Sistema completo de fin de juego y pantallas de victoria
Nuevas funcionalidades:
- Pantallas de victoria diferenciadas (NAZIS_WIN / ALLIED_WIN)
  * Diseño visual diferenciado (rojo para Nazis, azul para Aliados)
  * Timer de 30 segundos con auto-finalización
  * Estadísticas de misiones (exitosas vs fracasadas)
  * Opciones para el host: NUEVA PARTIDA o TERMINAR
  * Mensaje de espera para jugadores no-host

- Sistema de reinicio de partida
  * Método restartGame() que resetea todas las variables
  * Reasigna roles y líder aleatorios
  * Vuelve a fase REVEAL_ROLE manteniendo jugadores

- Sistema de finalización y expulsión
  * Método finalizeGame() que expulsa a todos después de 5s
  * Auto-expulsión si el host no decide en 30s
  * Limpieza de partida del servidor

Mejoras en MISSION_RESULT:
- Eliminado oscurecimiento de fondo (bg-transparent)
- Tiempo de visualización aumentado de 5 a 7 segundos
- Ahora se puede ver claramente el tablero con las fichas

Lógica de transiciones:
- 3 misiones fracasadas → NAZIS_WIN
- 3 misiones exitosas → ASSASSIN_PHASE
  * Asesino acierta (mata a Marlene) → NAZIS_WIN
  * Asesino falla → ALLIED_WIN

Archivos modificados:
- shared/types.ts: Nuevas fases NAZIS_WIN y ALLIED_WIN
- server/src/models/Game.ts: Métodos restartGame() y finalizeGame()
- server/src/index.ts: Eventos restart_game y finalize_game
- client/src/hooks/useSocket.ts: Acciones restartGame() y finalizeGame()
- client/src/components/GameBoard.tsx: Renderizado de VictoryScreen
- client/src/components/MissionResult.tsx: Sin oscurecimiento, 7s
- client/src/components/VictoryScreen.tsx: NUEVO componente
2025-12-08 13:41:44 +01:00
Resistencia Dev
774e1b982d feat: Títulos de misiones y fix timer votación post-misión
Nuevas funcionalidades:
- Títulos y subtítulos en cartas de misión
  * Título: 'MISIÓN X' (blanco, mayúsculas)
  * Subtítulo: Nombre de la misión (amarillo dorado)
  * Objeto missionNames con 5 nombres editables:
    1. Sabotaje en el Tren
    2. Rescate del Prisionero
    3. Destrucción del Puente
    4. Robo de Documentos
    5. Asalto al Cuartel General

Correcciones:
- Timer de votación de líder ahora se inicia correctamente después de terminar una misión
- Importado GamePhase en server/src/index.ts para comparaciones de fase
- Agregada lógica en finish_mission_result para iniciar timer cuando vuelve a VOTE_LEADER
- Votación se resuelve automáticamente si no todos votan (mayoría sobre votos emitidos)

Archivos modificados:
- client/src/components/GameBoard.tsx: Títulos de misiones
- server/src/index.ts: Fix timer post-misión
2025-12-08 13:13:33 +01:00
Resistencia Dev
06d2171871 fix: Sistema de votación de líder completamente refactorizado
- Timer de 10 segundos que se reinicia correctamente al cambiar de líder
- Votación por mayoría calculada sobre votos emitidos, no total de jugadores
- Si nadie vota, líder rechazado automáticamente
- Alemanes pueden ver carta de sabotaje en misiones
- Reset correcto de selectedTeam al cambiar de fase
- Contador de votos fallidos incrementa correctamente
- Logs mejorados para debugging

Fixes:
- Timer visual se reinicia con key basada en currentLeaderId
- Facción verificada correctamente (Faction.ALEMANES vs 'spies')
- forceResolveLeaderVote llama a resolución con votos actuales
- selectedTeam se limpia al salir de TEAM_BUILDING
2025-12-08 00:05:08 +01:00
Resistencia Dev
9e0e343868 feat: Actualizar roles y facciones a Francia Ocupada
- Cambiar nombre del juego de 'La Resistencia' a 'Francia Ocupada'
- Actualizar roles: Marlene, Capitán Philippe, Partisano, Comandante Schmidt, Francotirador, Agente Doble, Infiltrado, Colaboracionista
- Actualizar facciones: Aliados vs Alemanes
- Implementar timer de votación de líder con auto-avance
- Eliminar componentes de debug
2025-12-07 00:20:33 +01:00
Resistencia Dev
8f95413782 Checkpoint: Fix role shuffling bug and improve mission reveal flow 2025-12-06 00:32:09 +01:00
Resistencia Dev
ead54e0102 Fix: Auto-avanzar de MISSION_REVEAL a MISSION_RESULT
- Servidor avanza automáticamente después de 5 segundos
- Resuelve problema de quedarse bloqueado en pantalla de votos
- Cliente muestra 'Procesando resultado...'
checkpoint-pre-debug
2025-12-05 23:57:46 +01:00
Resistencia Dev
4b4936449a Feature: Implementar MissionResult completo
- Muestra resultado de la misión con animaciones
- Obtiene datos de missionHistory
- Muestra éxitos vs sabotajes
- Muestra progreso de misiones (Resistencia vs Espías)
- Botón CONTINUAR para avanzar
- Animaciones escalonadas para mejor UX
2025-12-05 23:51:32 +01:00
Resistencia Dev
1c8f1b08f5 Debug: Agregar info de facción y rol en fase MISSION
- Muestra facción y rol del jugador
- Ayuda a identificar por qué algunos espías no ven carta de sabotaje
2025-12-05 23:46:43 +01:00
Resistencia Dev
00434daf97 Feature: Feedback visual simple con opacidad en cartas
- Carta seleccionada: opacity-100 (brillante)
- Carta NO seleccionada: opacity-50 (apagada)
- Aplicado a las 4 cartas (2 éxito + 2 sabotaje)
- Botones deshabilitados después de votar
- Solución mucho más simple y elegante
2025-12-05 23:44:26 +01:00
Resistencia Dev
94cb0d671d WIP: Agregar feedback visual a carta de éxito (primera)
- Borde amarillo brillante cuando está seleccionada
- Ring amarillo con glow
- Deshabilitar botón después de votar
- Falta aplicar a las otras 3 cartas
2025-12-05 23:39:35 +01:00
Resistencia Dev
951098540c Fix: MissionReveal con tics blancos y mejor layout
- Cambiar text-4xl a text-5xl para tics más grandes
- Agregar text-white para que los tics sean blancos
- Agregar font-bold para mejor visibilidad
- Mejorar layout con flex-col
- Agregar mensaje informativo
2025-12-05 23:34:21 +01:00
Resistencia Dev
40565a936b Feature: Completar sistema de votación de misiones
- Cambiar onClick para usar handleMissionVote
- Crear componentes MissionReveal y MissionResult
- Importar componentes en GameBoard
- Tracking de votos con feedback visual
- Usar imágenes vote_approve y vote_reject

Resuelve error: MissionReveal is not defined
2025-12-05 23:27:32 +01:00
Resistencia Dev
2f2bc4e4d0 WIP: Cambiar imágenes de misión y agregar tracking de votos
- Cambiar mission_success/fail a vote_approve/reject
- Agregar estado missionVote para trackear voto del jugador
- Agregar función handleMissionVote
- Reset de voto cuando cambia la fase
- Falta: actualizar onClick y agregar feedback visual
2025-12-05 23:26:20 +01:00
Resistencia Dev
7fbf964c12 Fix: Resolver error de React hooks en fase MISSION
- Mover useState de cardOrder al nivel del componente
- Eliminar IIFE que causaba violación de reglas de hooks
- Usar cardOrder directamente en lugar de successFirst
- Ahora la fase MISSION debería funcionar correctamente
2025-12-05 23:18:20 +01:00
Resistencia Dev
79ec36dd1a Feature: Eliminar fase VOTING_TEAM - ir directo a MISSION
- Cambio de flujo: Líder elige equipo → Directamente a MISSION
- Ya no se vota si se aprueba o rechaza el equipo
- Simplifica el juego según las reglas solicitadas
- El líder selecciona y el equipo ejecuta inmediatamente
2025-12-05 23:11:19 +01:00
Resistencia Dev
19f4d1d6fb Debug: Agregar información de depuración para fase MISSION
- Muestra el ID del jugador actual y los IDs del equipo propuesto
- Ayuda a identificar por qué todos ven las cartas en lugar de solo el equipo
2025-12-05 23:01:29 +01:00
Resistencia Dev
9cd22365ec Fix: Corregir iconos de líder y equipo
- Fix: Usar currentLeaderId en lugar de player.isLeader (evita múltiples L)
- Fix: Mostrar estrella verde también en VOTING_TEAM
- Ahora solo aparece un icono L (líder actual)
- Estrellas verdes visibles para equipo propuesto
2025-12-05 22:55:12 +01:00
Resistencia Dev
ffdbc78193 Feature: Agregar estrella verde para miembros del equipo de misión
- Add: Icono de estrella  verde para identificar miembros del equipo
- Fix: Diferencia clara entre líder (L amarillo) y miembros del equipo ( verde)
- Visible durante fases MISSION, MISSION_REVEAL y MISSION_RESULT
2025-12-05 22:45:00 +01:00
Resistencia Dev
677c2c0eab Fix: Corregir selección de líder y mejorar UI de misiones
- Fix: isLeader ahora usa currentLeaderId del estado (evita múltiples líderes)
- Mejora: TEAM_BUILDING muestra claramente quién es el líder actual
- Mejora: Contador de jugadores seleccionados en TEAM_BUILDING
- Mejora: MISSION con cartas grandes en pantalla completa
- Feature: Posición aleatoria de cartas (izq/der) para evitar detectar votos
- Mejora: Animaciones mejoradas con Framer Motion
- Mejora: Mensajes más claros para jugadores que esperan
2025-12-05 22:30:10 +01:00
Resistencia Dev
dad148ebb6 Add CHANGELOG for v0.1.0 2025-12-05 22:23:20 +01:00
Resistencia Dev
63b9766ba3 Fix: Remove markdown backticks from GameBoard.tsx v0.1.0-functional-until-mission 2025-12-05 22:18:24 +01:00
Resistencia Dev
98768fbaa2 Add comprehensive README with project status 2025-12-05 22:17:36 +01:00
Resistencia Dev
5bb1b17274 Add VotingTimer component back 2025-12-05 22:14:49 +01:00
Resistencia Dev
44d7418252 Fix: GameBoard.tsx limpio y funcional - removidos componentes auxiliares problemáticos 2025-12-05 22:09:59 +01:00
Resistencia Dev
8d423ac19d Estado actual con errores de sintaxis en GameBoard.tsx 2025-12-05 22:07:20 +01:00