feat(genre): support sorting by track/album count

This commit is contained in:
Kendall Garner
2026-06-28 19:39:32 -07:00
parent c875146779
commit da445b815d
5 changed files with 49 additions and 23 deletions
@@ -27,7 +27,9 @@ export enum NDAlbumListSort {
}
export enum NDGenreListSort {
ALBUM_COUNT = 'albumCount',
NAME = 'name',
SONG_COUNT = 'songCount',
}
export enum NDPlaylistListSort {
@@ -754,6 +756,8 @@ const tag = z.object({
const tagList = z.array(tag);
export enum NDTagListSort {
ALBUM_COUNT = 'albumCount',
SONG_COUNT = 'songCount',
TAG_VALUE = 'tagValue',
}
+18 -2
View File
@@ -155,7 +155,9 @@ export enum ExternalType {
}
export enum GenreListSort {
ALBUM_COUNT = 'albumCount',
NAME = 'name',
SONG_COUNT = 'songCount',
}
export enum ImageType {
@@ -166,7 +168,9 @@ export enum ImageType {
}
export enum TagListSort {
ALBUM_COUNT = 'albumCount',
NAME = 'name',
SONG_COUNT = 'songCount',
}
export type Album = {
@@ -430,19 +434,25 @@ type BaseEndpointArgs = {
type GenreListSortMap = {
jellyfin: Record<GenreListSort, JFGenreListSort | undefined>;
navidrome: Record<GenreListSort, NDGenreListSort | undefined>;
subsonic: Record<UserListSort, undefined>;
navidrome: Record<GenreListSort, NDGenreListSort>;
subsonic: Record<GenreListSort, undefined>;
};
export const genreListSortMap: GenreListSortMap = {
jellyfin: {
albumCount: undefined,
name: JFGenreListSort.NAME,
songCount: undefined,
},
navidrome: {
albumCount: NDGenreListSort.NAME,
name: NDGenreListSort.NAME,
songCount: NDGenreListSort.NAME,
},
subsonic: {
albumCount: undefined,
name: undefined,
songCount: undefined,
},
};
@@ -454,13 +464,19 @@ type TagListSortMap = {
export const tagListSortMap: TagListSortMap = {
jellyfin: {
albumCount: undefined,
name: undefined,
songCount: undefined,
},
navidrome: {
albumCount: NDTagListSort.ALBUM_COUNT,
name: NDTagListSort.TAG_VALUE,
songCount: NDTagListSort.SONG_COUNT,
},
subsonic: {
albumCount: undefined,
name: undefined,
songCount: undefined,
},
};