Refactor Home page into concern-based components and partials

This commit is contained in:
2026-02-26 09:42:06 +01:00
parent 2d1bf9b9b7
commit b17490e5ac
21 changed files with 1791 additions and 1528 deletions

View File

@@ -91,7 +91,9 @@ This pattern is a strong baseline for low to medium scale and should be the defa
### 2.6 Frontend architecture
- Blazor component tree rooted in `Components/App.razor` and `Components/Pages/Home.razor(.cs)`.
- Blazor component tree rooted in `Components/App.razor` and `Components/Pages/Home.razor`.
- Home page logic split by concern with partials (`Home.State/Auth/Campaign/Character/Skill/Lifecycle/Realtime/Api/Presentation/Validation.cs`) to keep churn localized.
- Form UX state uses reusable `FormState<TModel>` containers (`Home.Models.cs`) rather than parallel form/error/message property sets.
- Browser API calls and SSE are handled via `wwwroot/js/rpgroller-api.js` interop.
- UI state is maintained server-side per circuit with session/tab persistence for campaign + screen selection.
- SSE-driven campaign refresh with reconnect backoff and explicit offline/manual-refresh fallback.