diff --git a/src/renderer/features/playlists/components/playlist-detail-album-view.tsx b/src/renderer/features/playlists/components/playlist-detail-album-view.tsx index ce1670346..24098bbe1 100644 --- a/src/renderer/features/playlists/components/playlist-detail-album-view.tsx +++ b/src/renderer/features/playlists/components/playlist-detail-album-view.tsx @@ -55,6 +55,10 @@ export const PlaylistDetailAlbumView = ({ data }: { data: PlaylistSongListRespon ? searchLibraryItems(filtered, searchTerm, LibraryItem.SONG) : filtered; + if (searchTerm?.trim()) { + return searched; + } + return sortSongList( searched, (query.sortBy as SongListSort) ?? SongListSort.ID, diff --git a/src/renderer/features/playlists/hooks/use-playlist-track-list.ts b/src/renderer/features/playlists/hooks/use-playlist-track-list.ts index 92c8926b3..b933685e9 100644 --- a/src/renderer/features/playlists/hooks/use-playlist-track-list.ts +++ b/src/renderer/features/playlists/hooks/use-playlist-track-list.ts @@ -97,14 +97,12 @@ export function usePlaylistTrackList(data: PlaylistSongListResponse | undefined) const sortedAndFilteredSongs = useMemo(() => { const raw = data?.items ?? []; const filtered = applyClientSideSongFilters(raw, query as Record); - const searched = searchTerm - ? searchLibraryItems(filtered, searchTerm, LibraryItem.SONG) - : filtered; - return sortSongList( - searched, - (query.sortBy as SongListSort) ?? SongListSort.ID, - (query.sortOrder as SortOrder) ?? SortOrder.ASC, - ); + if (searchTerm?.trim()) { + return searchLibraryItems(filtered, searchTerm, LibraryItem.SONG); + } + const sortBy = (query.sortBy as SongListSort) ?? SongListSort.ID; + const sortOrder = (query.sortOrder as SortOrder) ?? SortOrder.ASC; + return sortSongList(filtered, sortBy, sortOrder); }, [data?.items, query, searchTerm]); const totalCount = sortedAndFilteredSongs.length;