16 Commits

Author SHA1 Message Date
9f3a914d0f UI: Add git commit hash and age to status bar 2025-12-24 00:03:24 +11:00
f35b25b903 Feat: Add brightness sliders for grid lines and intersection dots 2025-12-23 19:47:01 +11:00
622a7e4094 Add surrender and rematch UI - Part 1
- Add surrender button to game controls
- Add game-over modal with stats and rematch option
- Add surrender confirmation modal
- Add all CSS styling for new modals and buttons
- Add surrender-rematch.js with global helper functions
- Update multiplayer.js constructor to track opponent for rematch
2025-12-22 17:39:43 +11:00
acf32d0418 Redesign status bar to split Turn Info (left) and Player Identity (right) 2025-12-21 20:15:46 +11:00
91535dc8fc Merge status and turn indicator into single UI bar 2025-12-21 20:08:33 +11:00
3f9ca7e2f4 Merge status message into top controls panel for better UI 2025-12-21 18:19:46 +11:00
481de45276 Merge turn indicator with player indicator at top
- Added ID to turn label for easier updates
- Updated multiplayer.js to use turnLabel ID
- Reset turn label when switching modes or resetting game
- Improved UX by keeping player/turn info together
2025-12-21 17:52:12 +11:00
5238fc8d22 Enhanced SQL connection monitoring and diagnostics - Added detailed database status monitoring with retry functionality - Improved error handling and logging for SQL connections - Updated UI with connection status indicators and error banners 2025-12-20 15:50:34 +11:00
e7c8d890b9 Add database status bar with connection, latency, and write capability monitoring 2025-12-15 21:20:29 +11:00
bcf3b0a032 FEATURE: Migrate username storage from localStorage to IndexedDB
- Created storage.js wrapper with IndexedDB support
- Automatic fallback to localStorage if IndexedDB unavailable
- Updated all username storage calls to use async API
- Better performance and more storage capacity
- Improved PWA compatibility

Benefits:
- 50MB+ storage vs 5-10MB localStorage
- Async API doesn't block main thread
- Better for future features (game history, stats, etc.)
2025-12-14 12:15:16 +11:00
bc76e7aab1 FIX: Prevent multiplayer initialization before game is ready
- Add polling mechanism to wait for window.game initialization
- Disable multiplayer button until game is fully initialized
- Enable button in DOMContentLoaded after game creation
- Prevents 'Game instance not found' error on production

This fixes the critical issue where clicking Multiplayer too quickly
would fail because window.game wasn't ready yet.
2025-12-14 12:07:13 +11:00
b57611f0c4 Fix variable scope: Ensure global access to game and multiplayer client 2025-12-13 20:34:07 +11:00
d959102db3 Fix multiplayer connection: Add redundant proxies and Socket.io CDN 2025-12-13 19:54:13 +11:00
a7f3bf9b9e Add localStorage username persistence for auto-login 2025-12-13 15:02:30 +11:00
9465409b2f Add complete multiplayer system with real-time gameplay, challenge system, and 50x50 board option 2025-12-13 14:59:44 +11:00
57f350274e Initial commit: Connect-5 premium Gomoku game with multiple board sizes 2025-12-13 13:47:41 +11:00