trails/apps/planner/app
Ullrich Schäfer 4f0d4a34b3
feat(planner): redesign topbar with tokens + primitives, presentational
Extract a presentational Topbar driven by plain props, so SessionView
is the container (reads Yjs/awareness) and the topbar can render in the
/dev/ui gallery without a live session.

- New useParticipants(yjs) hook: awareness -> sorted Participant[] +
  renameLocal. Replaces ParticipantList's inline logic.
- New presentational ParticipantAvatars (Avatar + Host Badge + inline
  rename) and Topbar (token-styled shell; undo/redo via IconButton;
  connection status with a live dot). ProfileSelector/Export/Save are
  passed in as slots (their own restyle is separate).
- SessionView composes <Topbar> from real data; delete ParticipantList.
- /dev/ui gains a "Topbar - configurations" section (solo, multiplayer
  + computing, guest/connecting). Surfaced a narrow-width overflow, now
  fixed by making the participant strip the shrink/clip element.

Connection status text ("Connected"/"Verbunden") and behavior are
unchanged, so existing planner E2E selectors still match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 23:51:27 +02:00
..
components feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
jobs Add pg-boss background job queue with session expiry 2026-04-13 21:17:24 +02:00
lib feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
routes feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
types chore(ts): replace 7 \as unknown as\ shims with proper types 2026-05-26 01:02:25 +02:00
entry.client.tsx Add legal pages, ToS acceptance, and alpha banner 2026-04-18 00:08:48 +02:00
entry.server.tsx Consolidate Sentry config into shared package; fix inconsistencies 2026-04-18 00:30:09 +02:00
root.tsx feat(ui): design-system foundation — shared token layer + fonts 2026-07-15 23:00:28 +02:00
routes.ts feat(ui): shared primitives (Button, Badge, Card, Input) on the tokens 2026-07-15 23:32:28 +02:00
styles.css feat(ui): shared primitives (Button, Badge, Card, Input) on the tokens 2026-07-15 23:32:28 +02:00