trails/apps/planner/app/components
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
..
ClientOnly.tsx Fix SSR and automerge timing 2026-03-23 00:49:54 +01:00
ColoredRoute.tsx planner: give the Yjs document a typed schema seam 2026-06-10 01:35:04 +02:00
DayBreakdown.tsx Fix i18n: use planner namespace in sidebar components 2026-04-10 23:59:27 +02:00
ElevationChart.tsx planner: give the Yjs document a typed schema seam 2026-06-10 01:35:04 +02:00
ExportButton.tsx planner: give the Yjs document a typed schema seam 2026-06-10 01:35:04 +02:00
MapHelpers.tsx remove the map and ui shim packages 2026-06-10 07:47:59 +02:00
MidpointHandles.tsx Add route interactions: click-to-split, drag-to-reshape, colored route rendering 2026-03-26 21:15:55 +01:00
NearbyPoiMarkers.tsx poi-index: map-core selectors, planner.pois schema, /api/pois route + client, metrics 2026-07-12 22:38:03 +02:00
NoGoAreaLayer.tsx chore(ts): replace 7 \as unknown as\ shims with proper types 2026-05-26 01:02:25 +02:00
NotesPanel.tsx Fix notes not loading on session reload 2026-04-11 03:00:51 +02:00
ParticipantAvatars.tsx feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
PlannerMap.tsx fix(planner): note tooltip sizes to content (width max-content, cap 280) 2026-07-15 21:44:05 +02:00
PoiPanel.tsx chore(ts): replace 7 \as unknown as\ shims with proper types 2026-05-26 01:02:25 +02:00
ProfileSelector.tsx planner: give the Yjs document a typed schema seam 2026-06-10 01:35:04 +02:00
RouteInteraction.tsx chore(ts): replace 7 \as unknown as\ shims with proper types 2026-05-26 01:02:25 +02:00
SaveToJournalButton.tsx route-surface-breakdown (Phase 1): Planner-path surface/waytype bars 2026-06-14 18:46:49 +02:00
SessionView.tsx feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
Topbar.tsx feat(planner): redesign topbar with tokens + primitives, presentational 2026-07-15 23:51:27 +02:00
WaypointContextMenu.tsx Replace right-click behavior with context menu on waypoints 2026-04-11 02:42:43 +02:00
WaypointSidebar.tsx poi-index: map-core selectors, planner.pois schema, /api/pois route + client, metrics 2026-07-12 22:38:03 +02:00
YjsDebugPanel.tsx planner: give the Yjs document a typed schema seam 2026-06-10 01:35:04 +02:00