Skip to content

Commit 3af02f2

Browse files
committed
fix: Placeholder not show on "Current Playlist" screen if list is empty
- Was due to being able to pass an empty array from `getPlaylistDetails`.
1 parent d1d0c9c commit 3af02f2

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

  • mobile/src/data/playlist

mobile/src/data/playlist/api.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import i18next from "~/modules/i18n";
88
import { iAsc, throwIfNoResults } from "~/lib/drizzle";
99
import { formatSeconds } from "~/utils/number";
1010
import { FavoritesPlaylistKey } from "~/modules/media/constants";
11+
import type { MediaImage } from "~/modules/media/components/MediaImage";
1112
import type { PlaylistSummary, PlaylistSummaryTrack } from "./types";
1213
import { sanitizePlaylistName } from "./utils";
1314
import type { CommonTrack, DrizzleFilter } from "../types";
@@ -45,11 +46,15 @@ export async function getPlaylistDetails(id: string) {
4546
getPlaylistTracks(id, false, 4),
4647
]);
4748

49+
let derivedArtwork: MediaImage.ImageSource =
50+
details.artwork ?? trackArtwork.map((t) => t.artwork);
51+
if (derivedArtwork.length === 0) derivedArtwork = null;
52+
4853
return {
4954
...details,
5055
id: details.name,
5156
name: parsePlaylistName(details.name),
52-
artwork: details.artwork ?? trackArtwork.map((t) => t.artwork),
57+
artwork: derivedArtwork,
5358
duration: formatSeconds(agg?.duration ? +agg.duration : 0),
5459
};
5560
}

0 commit comments

Comments
 (0)