docs: Wahl result view, live chat, and the gateway race fix
Plan + client README updated for the guest Wahl result endpoint/tab, the WebSocket chat wiring, and the ChatGateway caller-promise fix. Section 8 now scopes the remaining Flutter work to the Authentik-dependent screens. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,13 +26,15 @@ backend, which also serves the interim plain-HTML client at `/`).
|
||||
- The token is stored via `shared_preferences` (localStorage on web) and
|
||||
restored on start; `GET /auth/me` resolves the role for a role-aware home.
|
||||
- **Home** (`lib/screens/home_screen.dart`) — identity card + navigation.
|
||||
- **Workshop-Wahl** (`lib/screens/wahl_screen.dart`, guests) — loads
|
||||
`GET /wahl/guest/overview`, tap workshops in order (max 3) to set
|
||||
priorities, `POST /wahl/:id/teilnehmer`.
|
||||
- **Workshop-Wahl** (`lib/screens/wahl_screen.dart`, guests) — two tabs:
|
||||
*Wünsche* (`GET /wahl/guest/overview`, tap workshops in order, max 3,
|
||||
`POST /wahl/:id/teilnehmer`) and *Ergebnis* (`GET /wahl/guest/results` —
|
||||
PENDING / ASSIGNED with workshop + wish rank / UNASSIGNED).
|
||||
- **Dateien** (`lib/screens/files_screen.dart`) — `GET /files/:kcId`,
|
||||
filtered server-side by the caller's visibility tier.
|
||||
- **Chat** (`lib/screens/chat_screen.dart`) — channel + message list
|
||||
(read-only; sending is a WebSocket path, still to do).
|
||||
- **Chat** (`lib/screens/chat_screen.dart` + `lib/chat_socket.dart`) —
|
||||
channel list, REST history, then a live `/chat` WebSocket connection
|
||||
(`chat:join` / `chat:send` / `chat:message`) with a compose bar.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user