Christoph Wagner 9011e3b51e
All checks were successful
CI Pipeline / Code Linting (pull_request) Successful in 13s
CI Pipeline / Run Tests (pull_request) Successful in 22s
CI Pipeline / Build Verification (pull_request) Successful in 14s
CI Pipeline / Generate Quality Report (pull_request) Successful in 20s
fix: correct all DOM element ID mismatches and add null safety checks
Fixes critical regression where moves weren't reflected in UI and
turns weren't switching properly.

Root Cause:
- updateTurnIndicator() was looking for 'turn-indicator' but HTML has 'current-turn'
- This caused a null reference error that broke the entire update chain
- Prevented board updates, turn switching, and move history from working

Changes:
1. Fix turn indicator ID: 'turn-indicator' → 'current-turn' (line 175)
2. Add null check for turn indicator to prevent crashes (line 176)
3. Add null check for status-message element (line 239)
4. Add null check for promotion-overlay element (line 266)
5. Add null check for btn-offer-draw element (line 87)

All fixes include graceful degradation with console warnings instead
of throwing errors that break game functionality.

Testing:
- All 124 tests passing 
- ESLint passes with 0 errors (6 pre-existing warnings)
- Move history displays correctly
- Captured pieces display correctly
- Turn indicator updates correctly
- Game flow works as expected

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 15:20:06 +01:00
..