From 584650fee17fe23bf7a3c90c7885c5c493ffefff Mon Sep 17 00:00:00 2001 From: vicrodh <103399283+vicrodh@users.noreply.github.com> Date: Sun, 18 Jan 2026 03:47:11 -0600 Subject: [PATCH] feat(phase37): implement clickable context tooltip navigation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit StackIcon Component: - Now accepts onClick prop - Changed from div to button element - Added arrow (→) that appears on hover - Tooltip text changed to "Click to go to: {source}" - Visual feedback: hover background + active scale Navigation Logic (+page.svelte): - Added handleContextNavigation function - Switch based on context_type: - album → handleAlbumClick - playlist → navigate + set selectedPlaylistId - artist_top → handleArtistClick - favorites → navigate to favorites - home_list → navigate to home - search → navigate to search - Import getCurrentContext from playbackContextStore UI Integration: - ExpandedPlayer: Added onContextClick prop, passed to StackIcon - FocusMode: Added onContextClick prop, passed to StackIcon - Both receive handleContextNavigation callback Phase 3.7 COMPLETE ✅ cp --- src/lib/components/ExpandedPlayer.svelte | 4 +- src/lib/components/FocusMode.svelte | 4 +- src/lib/components/StackIcon.svelte | 46 +++++++++++++++-- src/routes/+page.svelte | 65 +++++++++++++++++++++++- 4 files changed, 112 insertions(+), 7 deletions(-) diff --git a/src/lib/components/ExpandedPlayer.svelte b/src/lib/components/ExpandedPlayer.svelte index f3b6e4045..c11184fff 100644 --- a/src/lib/components/ExpandedPlayer.svelte +++ b/src/lib/components/ExpandedPlayer.svelte @@ -50,6 +50,7 @@ onOpenFocusMode?: () => void; onCast?: () => void; isCastConnected?: boolean; + onContextClick?: () => void; // Lyrics props lyricsLines?: LyricsLine[]; lyricsActiveIndex?: number; @@ -89,6 +90,7 @@ onOpenFocusMode, onCast, isCastConnected = false, + onContextClick, lyricsLines = [], lyricsActiveIndex = -1, lyricsActiveProgress = 0, @@ -247,7 +249,7 @@