Commit Graph

51 Commits

Author SHA1 Message Date
fb07bdab51 historial de acciones persistente en el jugador y visible desde playerstats 2025-08-27 18:56:01 -06:00
d7c0b79549 system message guardados en historial por sala 2025-08-27 18:23:22 -06:00
80af7461a4 implementado funcionmiento turn-based g2 flujo de forzar o no forzar 2025-08-27 17:54:51 -06:00
48046a794e cambio de G desactivado bajo easterEgg 2025-08-27 17:27:29 -06:00
f4c6822857 sistema de juego ajustado a evento CIAT 2025-08-27 17:22:23 -06:00
acc700e50c ahora se ofrecen 5 pavo a cambio de 5 elotes 2025-08-27 16:54:14 -06:00
7cee57f135 mejora de UX 2025-08-16 18:12:05 -06:00
c1c2a70217 mejoras de UX 2025-08-16 18:02:16 -06:00
abe0d3d81f boton de salir cierra la sala 2025-08-16 17:31:46 -06:00
627f2e0608 abre UUID en nueva pestaña en lugar de redirigir
- Cambia comportamiento de selectUuid() para usar window.open()
- Aplica también a botón "Seleccionar Aleatorio"
- Mantiene comportamiento de QR modal cuando modo QR está activo
- Mejora flujo de trabajo para abrir múltiples jugadores
2025-08-16 17:23:21 -06:00
ea118fbbed mejora posición y texto del checkbox modo QR
All checks were successful
build-and-deploy / build (push) Successful in 23s
build-and-deploy / deploy (push) Successful in 11s
- Mueve checkbox a la parte inferior junto a otros botones
- Cambia texto para ser más explícito sobre función QR
- "Modo QR activo - Click para ver código" cuando activado
- "Activar modo QR para acceso rápido" cuando desactivado
- Mejora estilos con más padding y sombras sutiles
- Ajusta responsive design para nueva posición
2025-08-16 02:49:21 -06:00
42b30cbd49 agrega checkbox para modo QR en UuidSelector
- Checkbox que cambia comportamiento del click en UUID cards
- Modo QR: muestra modal QR en lugar de redirigir
- Modo normal: comportamiento original de navegación
- Botón descriptivo que indica el modo actual
- Estilos responsive para móviles
- Facilita acceso a QR para usuarios sin click derecho
2025-08-16 02:47:13 -06:00
d0c206f5f0 agrega funcionalidad de share a UuidSelector
- Agrega botón "📤 Compartir" en el modal de QR
- Implementa navigator.share() con fallback a clipboard
- Incluye estilos con gradiente rosa para el botón
- Mejora la experiencia de usuario para compartir links
2025-08-16 02:41:35 -06:00
8c9697e96b fix proxy configuration en vite.config.ts
All checks were successful
build-and-deploy / build (push) Successful in 19s
build-and-deploy / deploy (push) Successful in 10s
Corrige los proxies de /api y /ws para apuntar al servidor Colyseus
en puerto 2567 en lugar del puerto 3000. Esto resuelve el problema
de que las APIs del admin devolvían HTML en lugar de JSON.
2025-08-16 01:45:28 -06:00
3add7dfd6f fix carga de UUIDs en dashboard
All checks were successful
build-and-deploy / build (push) Successful in 24s
build-and-deploy / deploy (push) Successful in 11s
Aplica el mismo patrón que funciona en UuidSelector: intenta
uuids-with-names con fallback a uuids, y mapea correctamente
los datos para extraer solo los UUIDs.
2025-08-16 01:34:16 -06:00
70d611e662 todo listo y presentable. preparandonos para entregar fase 1
Some checks failed
build-and-deploy / build (push) Failing after 7s
build-and-deploy / deploy (push) Has been skipped
2025-08-16 01:18:03 -06:00
730c7bda9e reset UUID y shame persistente 2025-08-16 00:56:16 -06:00
b18397deb4 reaccion del frontend 2025-08-16 00:26:44 -06:00
63eb9b2c7e reiniciar por room, finished ya no estorba, control total desde el dashboard 2025-08-16 00:13:31 -06:00
cc0a628145 OfferControls simplificado 2025-08-15 23:41:29 -06:00
9c8a4814eb feat: agregar funcionalidad de QR codes con impresión y descarga PNG
- Click derecho en UUIDs muestra menú contextual con opción de imprimir QR
- Modal de vista previa con diseño portrait optimizado para móviles
- Generación de QR codes que redirigen a la URL específica del UUID
- Funcionalidad de impresión directa con estilos embebidos
- Descarga como PNG de alta resolución con todos los estilos preservados
- Diseño de tarjeta con gradiente, información del jugador e instrucciones
- Librerías: qrcode para generación QR, html2canvas para captura PNG
2025-08-15 23:10:34 -06:00
ace9f8ee50 feat: mejoras al dashboard y selector de UUID
- Dashboard: agregar opciones de 50 pestañas deterministas (lotes 1-4)
- Dashboard: botón para cerrar salas individuales y expulsar jugadores
- Dashboard: selector de variante G por sala individual en tabla
- Nuevo selector moderno de UUID en página principal
- Mostrar nombres de jugadores en selector de UUID
- Búsqueda por UUID o nombre de jugador
- Redireccionar /missing-uuid a selector principal
- Endpoints para obtener UUIDs con nombres y cerrar/cambiar variante de salas
2025-08-15 22:56:07 -06:00
f214174bab shuffle players implementado correctamente 2025-08-15 20:03:26 -06:00
9b84008f19 reconexio 2025-08-15 19:58:09 -06:00
5e42eb7d54 colores asignados al azar y simulador de jugadores en el dashboard 2025-08-15 19:09:49 -06:00
310fb3455a reconexion basada en el UUID 2025-08-15 18:51:46 -06:00
811f569391 usuarios pre configurados 2025-08-15 18:35:09 -06:00
b076e25ebf Configurar URLs para usar rutas de nginx sin puertos 2025-08-15 13:41:12 -06:00
9f148fbb4e Corregir errores de TypeScript y optimizar build para Docker 2025-08-15 12:22:46 -06:00
232c159baf Actualizar sistema de admin y mejoras en lobby 2025-08-15 12:04:12 -06:00
e14bdddc62 Implementar controles globales de admin en dashboard
- Agregados botones de control global: pausar, reanudar, reiniciar, cambiar variante, enviar al lobby
- Implementados endpoints API para operaciones masivas en todas las game rooms
- Agregado método executeAdminCommand en GameRoom para manejo unificado de comandos admin
- Mejorado manejo de desconexión automática al lobby cuando admin cierra rooms
- Interfaz responsiva con confirmaciones de usuario y estados de carga
- Sistema robusto de limpieza de rooms con fallback de forzado
2025-08-12 18:13:53 -06:00
b754ec043a Implementar sistema UUID para nombres únicos globales
- Agregado UUID persistente en base de datos local (LokiJS)
- Nombres únicos por UUID en lugar de sessionId
- Nombres persisten entre reconexiones mientras el servidor esté activo
- Migración automática de perfiles existentes
- Registrados handlers para evitar warnings de mensajes no encontrados
2025-08-12 17:35:57 -06:00
75b114d66d se animan desde el primer momento 2025-08-12 10:50:47 -06:00
93661a8e8b mejora diseño responsive del lobby 2025-08-12 10:22:04 -06:00
32f69805f0 Dashboard real-time updates con SSE y tabla de rooms
- Implementación de Server-Sent Events (SSE) para actualizaciones en tiempo real
- Nuevo componente RoomsTable para vista de águila con animaciones de tokens
- Componente RoomCard extraído para reutilización
- Modal para ver detalles de rooms
- SystemMessageDisplay usando AnimatedNumber creativamente
- Indicador de conexión SSE con fallback a polling
- Colores dinámicos de texto basados en brillo del fondo
- Backend: broadcast de actualizaciones del dashboard
- Backend: mensajes del sistema (excepto cambios de ronda) visibles en dashboard
- Configuración de Vite para acceso desde red local
2025-08-11 23:07:09 -06:00
deb63d4e38 juego pausado al irse un jugador 2025-08-11 18:47:59 -06:00
ee0243d456 arreglado chatsystem para funcionar junto a la reconexion 2025-08-11 18:40:34 -06:00
9a44afc81a reconexion establecida 2025-08-11 18:36:24 -06:00
e5e5ad452a nombre persitente por navegador 2025-08-11 14:59:37 -06:00
0b9c121f73 mejoras de UI, mensajes del sistema y hints 2025-08-11 00:03:15 -06:00
b40e076851 mejoras de UI OfferActions 2025-08-10 21:08:30 -06:00
8a7f97270d mejoras UI OfferControls 2025-08-10 20:30:18 -06:00
bec944af4f mejoras de UI AnimatedNumber 2025-08-10 19:46:41 -06:00
3c3b19b2ce mejoras de UI PlayerStats 2025-08-10 18:14:53 -06:00
e6733cf5e4 sistema de chat implementado 2025-08-10 17:28:46 -06:00
9673c6ce9e fix: prevent multiple P2 actions on same offer and improve UI consistency
- Add server validation to prevent P2 from taking multiple actions on the same offer
- Hide P2 action buttons after an action is taken (using \!state.p2Action condition)
- Add offer details display to G3, G4, and G5 (was missing)
- Fix G2 to show offer details instead of just 'Oferta activa'
- Reset game status to PLAYING when changing variant from FINISHED state
- Ensure P2 can only make one decision per offer in all variants
2025-08-08 00:10:10 -06:00
f89331a3db feat: implement variable token offers and auto-round advancement
- Add variable offer system where P1 can offer any amount of tokens
- Players start with 10 tokens each (P1: pavos, P2: elotes)
- Implement offer/request mechanism with token validation
- Auto-advance rounds after P2 actions or P1 no-offer
- G2: Force offer by default, disable no-offer button when forced
- G3: Wait for shame decision after snatch before advancing
- G4: Implement inverse sanction (P1 gets requested without giving offered)
- Reset rounds to 1 when changing game variants
- Fix OfferControls responsiveness issues
- Hide offer controls after active offer
- Update all G1-G5 components with proper offer flow
2025-08-07 23:53:18 -06:00
5b3efc533f fix(game): avoid duplicate player cards by relying on MapSchema onAdd/onRemove with key and removing manual initial population 2025-08-07 17:16:08 -06:00
1912b3a76f docs: add contributor and Colyseus guides
feat(client): parametrize WS/API via VITE_WS_URL and VITE_API_URL; add .env.example and README env section
2025-08-07 17:10:08 -06:00
1392e5a652 fix: resolve room state synchronization and player display issues
- Fix room.state.players undefined error on component mount
- Wait for initial state sync before accessing room data
- Move message handlers from service to Game component
- Fix player count display in waiting screen (was showing 0/2)
- Prevent lobby component from clearing game room on unmount
- Separate leaveLobby() and leaveGame() methods for proper cleanup
- Ensure player names persist when moving from lobby to game
- Add proper error handling for state initialization
2025-08-06 02:58:29 -06:00