From b422cad26068c62e992464570b0751401654893d Mon Sep 17 00:00:00 2001 From: 4gray Date: Mon, 12 Jan 2026 17:54:06 +0100 Subject: [PATCH] fix(playlist-switcher): enhance filtered playlists logic to include sorting by import date --- .../playlist-switcher.component.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/libs/ui/components/src/lib/playlist-switcher/playlist-switcher.component.ts b/libs/ui/components/src/lib/playlist-switcher/playlist-switcher.component.ts index 7d5bc29b0..30c7639a5 100644 --- a/libs/ui/components/src/lib/playlist-switcher/playlist-switcher.component.ts +++ b/libs/ui/components/src/lib/playlist-switcher/playlist-switcher.component.ts @@ -63,17 +63,22 @@ export class PlaylistSwitcherComponent { /** All playlists from store */ readonly playlists = this.store.selectSignal(selectAllPlaylistsMeta); - /** Filtered playlists based on search query */ + /** Filtered playlists based on search query, sorted by importDate (newest first) */ readonly filteredPlaylists = computed(() => { const query = this.searchQuery().toLowerCase().trim(); const allPlaylists = this.playlists(); - if (!query) { - return allPlaylists; - } - return allPlaylists.filter( - (p) => - p.title?.toLowerCase().includes(query) || - p.filename?.toLowerCase().includes(query) + const filtered = query + ? allPlaylists.filter( + (p) => + p.title?.toLowerCase().includes(query) || + p.filename?.toLowerCase().includes(query) + ) + : allPlaylists; + + return [...filtered].sort( + (a, b) => + new Date(b.importDate ?? 0).getTime() - + new Date(a.importDate ?? 0).getTime() ); });