Add album list search

This commit is contained in:
jeffvli 2022-12-21 01:27:19 -08:00
parent b742b814c0
commit 19f55b4a2e
8 changed files with 275 additions and 181 deletions

View file

@ -252,9 +252,11 @@ const getAlbumList = async (args: AlbumListArgs): Promise<JFAlbumList> => {
limit: query.limit,
parentId: query.musicFolderId,
recursive: true,
searchTerm: query.searchTerm,
sortBy: albumListSortMap.jellyfin[query.sortBy],
sortOrder: sortOrderMap.jellyfin[query.sortOrder],
startIndex: query.startIndex,
...query.jfParams,
};
const data = await api

View file

@ -208,6 +208,7 @@ const getAlbumList = async (args: AlbumListArgs): Promise<NDAlbumList> => {
_order: sortOrderMap.navidrome[query.sortOrder],
_sort: albumListSortMap.navidrome[query.sortBy],
_start: query.startIndex,
name: query.searchTerm,
...query.ndParams,
};

View file

@ -40,13 +40,33 @@ import {
SSAlbumArtistDetail,
SSMusicFolderList,
} from '/@/renderer/api/subsonic.types';
import { ServerListItem, ServerType } from '/@/renderer/types';
export enum SortOrder {
ASC = 'ASC',
DESC = 'DESC',
}
export type ServerListItem = {
credential: string;
id: string;
name: string;
ndCredential?: string;
type: ServerType;
url: string;
userId: string | null;
username: string;
};
export enum ServerType {
JELLYFIN = 'jellyfin',
NAVIDROME = 'navidrome',
SUBSONIC = 'subsonic',
}
export type QueueSong = Song & {
uniqueId: string;
};
type SortOrderMap = {
jellyfin: Record<SortOrder, JFSortOrder>;
navidrome: Record<SortOrder, NDSortOrder>;
@ -281,6 +301,7 @@ export type AlbumListQuery = {
starred?: boolean;
year?: number;
};
searchTerm?: string;
sortBy: AlbumListSort;
sortOrder: SortOrder;
startIndex: number;