Commit Graph

11 Commits

Author SHA1 Message Date
beo3000 03364291aa fix undo/redo handling 2025-12-27 21:46:20 +01:00
beo3000 191fb3db3f fix undo/redo handling 2025-12-27 20:51:03 +01:00
beo3000 e50b13f092 add undo/redo 2025-12-27 18:23:24 +01:00
beo3000 48b96cec0c fix gutter 2025-12-27 16:59:07 +01:00
beo3000 6596dc32f2 add SignalR hub for real-time game updates
- IGameHubClient: client interface for SignalR messages
- GameHub: SignalR hub with group management for games/days
- GameHubService: scoped service wrapper with auto-reconnect
- GameEffects: broadcasts game start/end/state via SignalR
- EndGameAction: extended with winner info and final scores
- Program.cs: AddSignalR + MapHub configuration

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 16:37:05 +01:00
beo3000 fcb46ff387 fix next player rotation 2025-12-27 14:44:33 +01:00
beo3000 f297317b71 call gamelogic 2025-12-27 14:39:15 +01:00
beo3000 f1880f08a8 save setup model 2025-12-27 11:45:19 +01:00
beo3000 a84b192055 Complete phase H9: DB Persistence & Recovery
- Extend Game entity with GameType, Status, StartedAt, CompletedAt, RowVersion
- Add GameConfiguration with RowVersion for optimistic concurrency
- Create IGamePersistenceService interface
- Implement GamePersistenceService with CRUD operations
- Create GameStateSerializationDto for JSON serialization
- Extend GameEffects with full persistence lifecycle:
  - HandleStartGame: Creates game in DB
  - HandleEndGame: Updates status to Completed/Aborted
  - HandleLoadActiveGame: Recovery from page reload
  - HandleRecordThrow: Debounced save (500ms)
  - HandleSaveGameState: Explicit save with concurrency check
- Add migration ExtendGameEntity

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 09:23:58 +01:00
beo3000 e436ee2754 Complete phase H8: Undo functionality (unbegrenzt)
- Add UndoButton.razor as reusable component
- Refactor GameInputPanel to use UndoButton component
- Enhance GameEffects with proper UndoThrowAction handler
- IState injection for state access in effects

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 09:11:40 +01:00
beo3000 77150e3823 Add GameState Fluxor + game enums (Phase H1)
- GameType, GameStatus, PinStatus, ThrowMode, ParticipantsMode enums
- GameState with ThrowPanelState, ParticipantsState, GameSnapshot
- GameActions for lifecycle, throws, undo, persistence, SignalR
- GameReducers for all actions
- GameEffects placeholder for later phases

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 14:19:27 +01:00