diff --git a/src/lib/components/immersive/ImmersiveHeader.svelte b/src/lib/components/immersive/ImmersiveHeader.svelte index bcfc9e729..14ca14520 100644 --- a/src/lib/components/immersive/ImmersiveHeader.svelte +++ b/src/lib/components/immersive/ImmersiveHeader.svelte @@ -1,10 +1,10 @@ + +
+ +
+
+ + {$t('player.history') || 'History'} +
+ {#if hasHistory} + {tracks.length} {$t('player.tracks') || 'tracks'} + {/if} +
+ + +
+ {#if hasHistory} +
+ {#each tracks as track, i (track.id + '-' + i)} +
+ + +
+
{track.title}
+
{track.artist}
+
+
{formatDuration(track.duration)}
+
+ {/each} +
+ {:else} +
+ {$t('player.historyEmpty') || 'No history yet'} +
+ {/if} +
+
+ + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5b1759d1a..0fa3dc60d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2594,6 +2594,7 @@ const immersiveOpen = isFullScreenOpen || isFocusModeOpen; if (immersiveOpen && trackId !== undefined) { syncQueueState(); + updateQueueCounts(); // Also sync history for coverflow } }); @@ -3146,6 +3147,8 @@ // index === historyLen is current track, do nothing }} onQueueClear={handleClearQueue} + {historyTracks} + onPlayHistoryTrack={handlePlayHistoryTrack} /> {/if}