veza/apps/web/src/components/layout
senke 49bb633fc6 feat(presence): P2.1 rich presence, P2.2 invisible mode
Backend:
- UserPresence: track_id, track_title, invisible
- UpdatePresenceFull, GetPresenceForViewer (invisible hides for others)
- PUT /users/me/presence
- Migration 094 rich presence columns

Frontend:
- presenceService.updatePresence
- usePresenceSync: sync currentTrack to presence
- PresenceBadge: statusMessage tooltip
- PresenceInvisibleToggle in PrivacySettings
- MSW: PUT /users/me/presence
2026-02-21 16:47:09 +01:00
..
AudioPlayer.tsx refactor: Phase 7 — Clean up legacy components and remove dead tokens 2026-02-12 02:09:29 +01:00
DashboardLayout.stories.tsx refactor(ui): replace gray colors with Sumi tokens 2026-02-17 17:03:57 +01:00
DashboardLayout.test.tsx feat(web): UI premium Discord/Spotify-like — tokens, shadows, focus, layout 2026-02-08 17:15:58 +01:00
DashboardLayout.tsx feat(queue): sync playerStore with backend API, migrate QueueView to usePlayerStore 2026-02-20 00:13:33 +01:00
Header.stories.tsx refactor: Phase 7 — Clean up legacy components and remove dead tokens 2026-02-12 02:09:29 +01:00
Header.tsx feat(presence): P2.1 rich presence, P2.2 invisible mode 2026-02-21 16:47:09 +01:00
Layout.tsx fix: UI remediation Phase 1 (S0-S5) + Phase 2 Sprint 6 shadow system 2026-02-12 10:13:44 +01:00
MobileBottomNav.tsx feat(ui): table polish + mobile bottom navigation 2026-02-09 23:37:25 +01:00
Navbar.stories.tsx chore(dx): add .cursorrules and design system audit documentation 2026-02-05 14:20:06 +01:00
Navbar.tsx Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy 2026-02-14 17:23:32 +01:00
PageTransition.tsx fix: UI remediation Phase 1 (S0-S5) + Phase 2 Sprint 6 shadow system 2026-02-12 10:13:44 +01:00
Sidebar.stories.tsx chore: remove dead code (Education, Studio, Gamification) (P2) 2026-02-16 11:03:27 +01:00
Sidebar.tsx chore: remove dead code (Education, Studio, Gamification) (P2) 2026-02-16 11:03:27 +01:00