From 48d4fc6db2e4e5453871932baac157f7ec021dbc Mon Sep 17 00:00:00 2001 From: Ewan Croft Date: Thu, 13 Nov 2025 21:53:54 +0000 Subject: [PATCH] feat: introduce MusicStatusCard and replace status card on homepage --- .../layout/main/card/MusicStatusCard.svelte | 161 ++++++++++++++++++ src/routes/+page.svelte | 5 +- 2 files changed, 163 insertions(+), 3 deletions(-) create mode 100644 src/lib/components/layout/main/card/MusicStatusCard.svelte diff --git a/src/lib/components/layout/main/card/MusicStatusCard.svelte b/src/lib/components/layout/main/card/MusicStatusCard.svelte new file mode 100644 index 0000000..fda60e7 --- /dev/null +++ b/src/lib/components/layout/main/card/MusicStatusCard.svelte @@ -0,0 +1,161 @@ + + +
+ {#if loading} + + {#snippet skeleton()} +
+
+
+
+
+
+
+
+
+
+
+
+ {/snippet} +
+ {:else if error} + + {:else if musicStatus} + {@const safeMusicStatus = musicStatus} + + {#snippet children()} +
+ +
+ {#if safeMusicStatus.artworkUrl && !artworkError} + Album artwork for {safeMusicStatus.releaseName || safeMusicStatus.trackName} + {:else} + +
+
+ {/if} +
+ +
+
+
+ +
+ {#if safeMusicStatus.originUrl} + + {safeMusicStatus.trackName} + + {:else} +

+ {safeMusicStatus.trackName} +

+ {/if} + +

+ {formatArtists(safeMusicStatus.artists)} +

+ + {#if safeMusicStatus.releaseName} +

+ {safeMusicStatus.releaseName} + {#if safeMusicStatus.duration} + + · {formatDuration(safeMusicStatus.duration)} + + {/if} +

+ {/if} +
+ +
+ + {#if safeMusicStatus.musicServiceBaseDomain} + · + + {formatServiceName(safeMusicStatus.musicServiceBaseDomain)} via teal.fm + + {/if} +
+
+
+ {/snippet} +
+ {/if} +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 9b3df33..a6b2715 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,6 @@