diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/ListenBrainzNowPlayingCard.svelte b/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/ListenBrainzNowPlayingCard.svelte index 2516c49..a36e8b3 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/ListenBrainzNowPlayingCard.svelte +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/ListenBrainzNowPlayingCard.svelte @@ -4,7 +4,9 @@ import type { Listen } from '../types.ts'; const { item }: ContentComponentProps = $props(); - const playing = $derived(await nowPlaying(item.cardData.username)); + const playing = $derived( + item.cardData.username ? await nowPlaying(item.cardData.username) : null + ); function getCoverArtUrl(listen: Listen): string | undefined { const releaseMbid = listen.track_metadata?.additional_info?.release_mbid; diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/index.ts b/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/index.ts index ed3d4cf..5a52720 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/index.ts +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzNowPlayingCard/index.ts @@ -41,6 +41,12 @@ export const ListenBrainzNowPlayingCardDefinition = { } return allData; }, + migrate: (item) => { + if (!item.cardData.username && item.cardData.listenbrainzUsername) { + item.cardData.username = item.cardData.listenbrainzUsername; + delete item.cardData.listenbrainzUsername; + } + }, urlHandlerPriority: 5, minW: 2, minH: 2, diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/ListenBrainzRecentListensCard.svelte b/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/ListenBrainzRecentListensCard.svelte index 5e43d86..8e049c0 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/ListenBrainzRecentListensCard.svelte +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/ListenBrainzRecentListensCard.svelte @@ -5,7 +5,9 @@ import CoverArt from '../CoverArt.svelte'; const { item }: ContentComponentProps = $props(); - const listens = $derived(await recentListens(item.cardData.username)); + const listens = $derived( + item.cardData.username ? await recentListens(item.cardData.username) : [] + );
diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/index.ts b/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/index.ts index 547e091..c41695a 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/index.ts +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzRecentListensCard/index.ts @@ -42,6 +42,12 @@ export const ListenBrainzRecentListensCardDefinition = { return allData; }, + migrate: (item) => { + if (!item.cardData.username && item.cardData.listenbrainzUsername) { + item.cardData.username = item.cardData.listenbrainzUsername; + delete item.cardData.listenbrainzUsername; + } + }, urlHandlerPriority: 5, minW: 3, minH: 2, diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/ListenBrainzTopAlbumsCard.svelte b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/ListenBrainzTopAlbumsCard.svelte index 0413808..3e4e111 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/ListenBrainzTopAlbumsCard.svelte +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/ListenBrainzTopAlbumsCard.svelte @@ -4,7 +4,7 @@ import CoverArt from '../CoverArt.svelte'; const { item }: ContentComponentProps = $props(); - const albums = $derived(await topAlbums(item.cardData.username)); + const albums = $derived(item.cardData.username ? await topAlbums(item.cardData.username) : []);
diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/index.ts b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/index.ts index 04e2717..630143c 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/index.ts +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopAlbumsCard/index.ts @@ -41,6 +41,12 @@ export const ListenBrainzTopAlbumsCardDefinition = { } return allData; }, + migrate: (item) => { + if (!item.cardData.username && item.cardData.listenbrainzUsername) { + item.cardData.username = item.cardData.listenbrainzUsername; + delete item.cardData.listenbrainzUsername; + } + }, allowSetColor: true, defaultColor: 'base', minW: 2, diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/ListenBrainzTopArtistsCard.svelte b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/ListenBrainzTopArtistsCard.svelte index db5999c..2954d4e 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/ListenBrainzTopArtistsCard.svelte +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/ListenBrainzTopArtistsCard.svelte @@ -3,7 +3,7 @@ import { topArtists } from './artists.remote'; const { item }: ContentComponentProps = $props(); - const artists = $derived(await topArtists(item.cardData.username)); + const artists = $derived(item.cardData.username ? await topArtists(item.cardData.username) : []);
diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/index.ts b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/index.ts index 9fef5c0..bb50e55 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/index.ts +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopArtistsCard/index.ts @@ -41,6 +41,12 @@ export const ListenBrainzTopArtistsCardDefinition = { } return allData; }, + migrate: (item) => { + if (!item.cardData.username && item.cardData.listenbrainzUsername) { + item.cardData.username = item.cardData.listenbrainzUsername; + delete item.cardData.listenbrainzUsername; + } + }, allowSetColor: true, defaultColor: 'base', minW: 2, diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/ListenBrainzTopSongsCard.svelte b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/ListenBrainzTopSongsCard.svelte index 4867695..4d78831 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/ListenBrainzTopSongsCard.svelte +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/ListenBrainzTopSongsCard.svelte @@ -4,7 +4,9 @@ import CoverArt from '../CoverArt.svelte'; const { item }: ContentComponentProps = $props(); - const recordings = $derived(await fetchListenBrainzTopSongs(item.cardData.username)); + const recordings = $derived( + item.cardData.username ? await fetchListenBrainzTopSongs(item.cardData.username) : [] + );
diff --git a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/index.ts b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/index.ts index 35000bf..1bd4202 100644 --- a/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/index.ts +++ b/src/lib/cards/media/ListenBrainzCard/ListenBrainzTopSongsCard/index.ts @@ -41,6 +41,12 @@ export const ListenBrainzTopSongsCardDefinition = { } return allData; }, + migrate: (item) => { + if (!item.cardData.username && item.cardData.listenbrainzUsername) { + item.cardData.username = item.cardData.listenbrainzUsername; + delete item.cardData.listenbrainzUsername; + } + }, minW: 3, minH: 2, canHaveLabel: true,