diff --git a/client/src/components/MissionReveal.tsx b/client/src/components/MissionReveal.tsx index 6d3ad67..257f50b 100644 --- a/client/src/components/MissionReveal.tsx +++ b/client/src/components/MissionReveal.tsx @@ -1,10 +1,21 @@ import { motion } from 'framer-motion'; +import { useEffect } from 'react'; interface MissionRevealProps { votes: boolean[]; } export default function MissionReveal({ votes }: MissionRevealProps) { + // Auto-avanzar después de mostrar todas las cartas + useEffect(() => { + const timer = setTimeout(() => { + // El servidor avanzará automáticamente + // Este timer es solo para dar tiempo a ver las cartas + }, 3000 + votes.length * 300); // 3s base + 300ms por carta + + return () => clearTimeout(timer); + }, [votes.length]); + return ( ( ))} -

Los resultados se revelarán automáticamente...

+

Procesando resultado...

); } diff --git a/server/src/models/Game.ts b/server/src/models/Game.ts index cc2c8ea..8a37cbe 100644 --- a/server/src/models/Game.ts +++ b/server/src/models/Game.ts @@ -243,8 +243,14 @@ export class Game { this.state.revealedVotes = shuffledVotes; // Las cartas a revelar this.log(`Misión ${round} completada. Revelando votos...`); + + // Auto-avanzar a MISSION_RESULT después de 5 segundos + setTimeout(() => { + this.finishReveal(); + }, 5000); } + // Método para avanzar desde MISSION_REVEAL a MISSION_RESULT finishReveal() { this.state.phase = GamePhase.MISSION_RESULT;