mirror of
https://github.com/jeffvli/feishin.git
synced 2026-07-14 22:50:26 +02:00
fix playlist search ranking (#1935)
This commit is contained in:
@@ -55,6 +55,10 @@ export const PlaylistDetailAlbumView = ({ data }: { data: PlaylistSongListRespon
|
|||||||
? searchLibraryItems(filtered, searchTerm, LibraryItem.SONG)
|
? searchLibraryItems(filtered, searchTerm, LibraryItem.SONG)
|
||||||
: filtered;
|
: filtered;
|
||||||
|
|
||||||
|
if (searchTerm?.trim()) {
|
||||||
|
return searched;
|
||||||
|
}
|
||||||
|
|
||||||
return sortSongList(
|
return sortSongList(
|
||||||
searched,
|
searched,
|
||||||
(query.sortBy as SongListSort) ?? SongListSort.ID,
|
(query.sortBy as SongListSort) ?? SongListSort.ID,
|
||||||
|
|||||||
@@ -97,14 +97,12 @@ export function usePlaylistTrackList(data: PlaylistSongListResponse | undefined)
|
|||||||
const sortedAndFilteredSongs = useMemo(() => {
|
const sortedAndFilteredSongs = useMemo(() => {
|
||||||
const raw = data?.items ?? [];
|
const raw = data?.items ?? [];
|
||||||
const filtered = applyClientSideSongFilters(raw, query as Record<string, unknown>);
|
const filtered = applyClientSideSongFilters(raw, query as Record<string, unknown>);
|
||||||
const searched = searchTerm
|
if (searchTerm?.trim()) {
|
||||||
? searchLibraryItems(filtered, searchTerm, LibraryItem.SONG)
|
return searchLibraryItems(filtered, searchTerm, LibraryItem.SONG);
|
||||||
: filtered;
|
}
|
||||||
return sortSongList(
|
const sortBy = (query.sortBy as SongListSort) ?? SongListSort.ID;
|
||||||
searched,
|
const sortOrder = (query.sortOrder as SortOrder) ?? SortOrder.ASC;
|
||||||
(query.sortBy as SongListSort) ?? SongListSort.ID,
|
return sortSongList(filtered, sortBy, sortOrder);
|
||||||
(query.sortOrder as SortOrder) ?? SortOrder.ASC,
|
|
||||||
);
|
|
||||||
}, [data?.items, query, searchTerm]);
|
}, [data?.items, query, searchTerm]);
|
||||||
|
|
||||||
const totalCount = sortedAndFilteredSongs.length;
|
const totalCount = sortedAndFilteredSongs.length;
|
||||||
|
|||||||
Reference in New Issue
Block a user