From 3c38c11aebadae367651f321dc36f03c810088a1 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Wed, 14 Dec 2022 20:08:59 -0800 Subject: [PATCH] Add jellyfin album list normalization --- .../renderer/src/features/albums/routes/album-list-route.tsx | 5 +++++ .../src/features/player/utils/handle-playqueue-add.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/packages/renderer/src/features/albums/routes/album-list-route.tsx b/packages/renderer/src/features/albums/routes/album-list-route.tsx index d79a5f3bc..a3e656cf3 100644 --- a/packages/renderer/src/features/albums/routes/album-list-route.tsx +++ b/packages/renderer/src/features/albums/routes/album-list-route.tsx @@ -19,6 +19,8 @@ import { controller } from '/@/api/controller'; import { ndNormalize } from '/@/api/navidrome.api'; import { AnimatedPage } from '/@/features/shared'; import { AlbumListHeader } from '/@/features/albums/components/album-list-header'; +import { jfNormalize } from '/@/api/jellyfin.api'; +import type { JFAlbum } from '/@/api/jellyfin.types'; const AlbumListRoute = () => { const queryClient = useQueryClient(); @@ -58,6 +60,9 @@ const AlbumListRoute = () => { let items: Album[] = []; switch (server?.type) { case 'jellyfin': + items = (albums?.items || []).map((a) => { + return jfNormalize.album(a as JFAlbum, server); + }); break; case 'navidrome': items = (albums?.items || []).map((a) => { diff --git a/packages/renderer/src/features/player/utils/handle-playqueue-add.ts b/packages/renderer/src/features/player/utils/handle-playqueue-add.ts index 66a203461..1efe1ff6c 100644 --- a/packages/renderer/src/features/player/utils/handle-playqueue-add.ts +++ b/packages/renderer/src/features/player/utils/handle-playqueue-add.ts @@ -11,6 +11,8 @@ import { ndNormalize } from '/@/api/navidrome.api'; import type { NDSong } from '/@/api/navidrome.types'; import { toast } from '/@/components'; import { controller } from '/@/api/controller'; +import { jfNormalize } from '/@/api/jellyfin.api'; +import type { JFSong } from '/@/api/jellyfin.types'; export const handlePlayQueueAdd = async (options: PlayQueueAddOptions) => { const playerType = useSettingsStore.getState().player.type; @@ -33,6 +35,9 @@ export const handlePlayQueueAdd = async (options: PlayQueueAddOptions) => { switch (server?.type) { case 'jellyfin': + songs = albumDetail.songs?.map((song) => + jfNormalize.song(song as JFSong, server, deviceId), + ); break; case 'navidrome': songs = albumDetail.songs?.map((song) =>