- Guarda gameResult en localStorage al terminar partida
- Results.tsx recupera resultados de localStorage o del room
- Expira después de 1 hora
- Resuelve "No hay resultados disponibles" tras recargar
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Añade sistema de reconexión tras refresh/cierre del navegador
- Persistencia de sesión en localStorage (3h TTL)
- Banner de reconexión en Home
- Evento rejoin_room en backend
- Nuevas categorías: Series TV, Marvel/DC, Disney, Memes, Pokémon, Mitología
- Correcciones de bugs:
- Fix: juego bloqueado al fallar robo (steal decision)
- Fix: jugador duplicado al cambiar de equipo
- Fix: rotación incorrecta de turno tras fallo
- Config: soporte para Cloudflare tunnel (allowedHosts)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update all code references to new name
- Rename design document
- Update package.json
- Update frontend titles and branding
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sound System:
- Add soundStore with volume/mute persistence
- Add useSound hook with Web Audio API fallback
- Add SoundControl component for in-game volume adjustment
- Play sounds for correct/incorrect, steal, timer, victory/defeat
Team Chat:
- Add TeamChat component with collapsible panel
- Add team_message WebSocket event (team-only visibility)
- Store up to 50 messages per session
Emoji Reactions:
- Add EmojiReactions bar with 8 emojis
- Add ReactionOverlay with floating animations (Framer Motion)
- Add rate limiting (1 reaction per 3 seconds)
- Broadcast reactions to all players in room
Admin Monitor:
- Add Monitor page showing active rooms from Redis
- Display player counts, team composition, status
- Add ability to close problematic rooms
Admin Settings:
- Add Settings page for game configuration
- Configure points/times by difficulty, steal penalty, max players
- Store config in JSON file with service helpers
CSV Import/Export:
- Add export endpoint with optional filters
- Add import endpoint with validation and error reporting
- Add UI buttons and import result modal in Questions page
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add adminStore with Zustand for authentication state persistence
- Add adminApi service for all admin endpoints
- Add Login page with error handling and redirect
- Add AdminLayout with sidebar navigation and route protection
- Add Dashboard with stats and quick actions
- Add Questions page with full CRUD, filters, and AI generation modal
- Add Calendar page for scheduling questions by date
- Integrate admin routes in App.tsx with nested routing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Visual Effects:
- Add effects.css with neon glow, CRT scanlines, glitch, sparkles, RGB shift
- Animations work with all 5 themes (DRRR, Retro, Minimal, RGB, Anime)
Game Finished Handler:
- Add gameResult state to gameStore (winner, scores, replay, achievements)
- Handle game_finished WebSocket event in useSocket
- Store achievements unlocked by all players
Results Page:
- Show winner with animation (or tie)
- Display final scores with staggered animation
- List achievements unlocked per player
- Buttons for replay and new game
Replay Player:
- Fetch replay from API by code
- Auto-playback with configurable speed (1x, 2x, 4x)
- Play/Pause and timeline controls
- Events sidebar for navigation
- Animated event transitions
Lobby Updates:
- Load categories from API on mount
- Display available categories with icons
- Backend generates board (no hardcoded data)
TypeScript Fixes:
- Add vite-env.d.ts for import.meta.env types
- Fix ringColor style issues
- Remove unused imports
Build verified: npm run build succeeds
Phase 4 tasks completed:
- F4.1: CSS effects for themes
- F4.2: Results page with achievements
- F4.3: Replay player
- F4.4: game_finished handler
- F4.5: Lobby API integration
- F4.6: Build verification and fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Configure Alembic for database migrations with initial schema
- Fix base.py to use lazy loading for async engine (avoids import-time issues)
- Change AI model from sonnet to haiku (claude-3-haiku-20240307)
- Fix pytest version compatibility with pytest-asyncio
- Add frontend package-lock.json
Phase 1 tasks completed:
- F1.1: Development environment (Docker, Node.js 20, Python 3.12, venv)
- F1.2: PostgreSQL with 8 categories seeded
- F1.3: Redis connection verified
- F1.4: Anthropic API configured and tested
- F1.5: Backend server + WebSocket verified
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Backend: FastAPI + Python-SocketIO + SQLAlchemy
- Models for categories, questions, game sessions, events
- AI services for answer validation and question generation (Claude)
- Room management with Redis
- Game logic with stealing mechanics
- Admin API for question management
- Frontend: React + Vite + TypeScript + Tailwind
- 5 visual themes (DRRR, Retro, Minimal, RGB, Anime 90s)
- Real-time game with Socket.IO
- Achievement system
- Replay functionality
- Sound effects per theme
- Docker Compose for deployment
- Design documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>