docs(ui): sync docs to the app-shell; fix stale nav comments
Tests · UI / test (push) Failing after 9m28s
Tests · UI / test (push) Failing after 9m28s
Rewrite ui/docs (navigation, order-composer, auth-flow, pwa-strategy, game-state + secondary topic docs) and ui/README for the single-URL app-shell (in-memory screens/views, Back→lobby via shallow routing, sessionStorage restore + validation, return-to-lobby). ui/PLAN.md gets a Phase-10 supersede note (implemented; standalone-compatible). Fix stale code comments (session-store auth gate, report-sections spec contract). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
# In-game diplomatic mail UI
|
||||
|
||||
The in-game mail view consumes the `diplomail` subsystem in the
|
||||
backend. The route lives at `/games/:id/mail` and replaces the
|
||||
active view when the user opens the "diplomatic mail" entry in the
|
||||
header menu.
|
||||
backend. It is the `mail` active view (`activeView.view === "mail"`)
|
||||
and replaces the active view when the user opens the "diplomatic mail"
|
||||
entry in the header menu (`activeView.select("mail")`). The app-shell
|
||||
has no per-view URL — see [`navigation.md`](navigation.md).
|
||||
|
||||
## Wire surface
|
||||
|
||||
@@ -70,11 +71,12 @@ render the original directly with no toggle.
|
||||
|
||||
`diplomail.message.received` push frames are dispatched from
|
||||
`api/events.svelte.ts` via the singleton SubscribeEvents stream. The
|
||||
in-game layout (`routes/games/[id]/+layout.svelte`) parses the
|
||||
in-game shell (`lib/game/game-shell.svelte`) parses the
|
||||
verified payload, calls `mailStore.applyPushEvent(gameId)` (which
|
||||
re-fetches the inbox — the payload only carries a preview), and
|
||||
raises a toast through `lib/toast.svelte.ts` with a "view"
|
||||
deep-link to `/games/:id/mail`.
|
||||
raises a toast through `lib/toast.svelte.ts` whose "view" action
|
||||
switches to the mail view in memory (`activeView.select("mail")`) —
|
||||
no URL navigation.
|
||||
|
||||
The header view-menu's mail entry shows `mailStore.unreadCount` as
|
||||
an inline pill — the only chrome the badge needs.
|
||||
|
||||
Reference in New Issue
Block a user