refactor(web): migrate 4 open-coded cover URL sites to coverUrl() helper (C1 small-win)

This commit is contained in:
2026-05-08 11:26:26 -04:00
parent 47c316e211
commit efef9934d4
5 changed files with 11 additions and 8 deletions
@@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import type { TrackRef } from '$lib/api/types'; import type { TrackRef } from '$lib/api/types';
import { playQueue, enqueueTrack } from '$lib/player/store.svelte'; import { playQueue, enqueueTrack } from '$lib/player/store.svelte';
import { FALLBACK_COVER } from '$lib/media/covers'; import { FALLBACK_COVER, coverUrl } from '$lib/media/covers';
import { Plus } from 'lucide-svelte'; import { Plus } from 'lucide-svelte';
import LikeButton from './LikeButton.svelte'; import LikeButton from './LikeButton.svelte';
import TrackMenu from './TrackMenu.svelte'; import TrackMenu from './TrackMenu.svelte';
@@ -16,7 +16,7 @@
index: number; index: number;
} = $props(); } = $props();
const coverUrl = $derived(`/api/albums/${track.album_id}/cover`); const cover = $derived(coverUrl(track.album_id));
function onImgError(e: Event) { function onImgError(e: Event) {
(e.currentTarget as HTMLImageElement).src = FALLBACK_COVER; (e.currentTarget as HTMLImageElement).src = FALLBACK_COVER;
@@ -42,7 +42,7 @@
> >
<div class="aspect-square w-full overflow-hidden rounded-md bg-surface-hover"> <div class="aspect-square w-full overflow-hidden rounded-md bg-surface-hover">
<img <img
src={coverUrl} src={cover}
alt="" alt=""
class="h-full w-full object-cover transition-transform group-hover:scale-[1.03]" class="h-full w-full object-cover transition-transform group-hover:scale-[1.03]"
loading="lazy" loading="lazy"
+2 -2
View File
@@ -12,7 +12,7 @@
toggleQueueDrawer toggleQueueDrawer
} from '$lib/player/store.svelte'; } from '$lib/player/store.svelte';
import { formatDuration } from '$lib/media/duration'; import { formatDuration } from '$lib/media/duration';
import { FALLBACK_COVER } from '$lib/media/covers'; import { FALLBACK_COVER, coverUrl } from '$lib/media/covers';
import LikeButton from './LikeButton.svelte'; import LikeButton from './LikeButton.svelte';
import TrackMenu from './TrackMenu.svelte'; import TrackMenu from './TrackMenu.svelte';
@@ -57,7 +57,7 @@
class="shrink-0 focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent" class="shrink-0 focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent"
> >
<img <img
src={`/api/albums/${current.album_id}/cover`} src={coverUrl(current.album_id)}
alt="" alt=""
class="h-24 w-24 rounded-md object-cover" class="h-24 w-24 rounded-md object-cover"
onerror={onCoverError} onerror={onCoverError}
+2 -1
View File
@@ -1,3 +1,4 @@
import { coverUrl } from '$lib/media/covers';
import { import {
player, player,
togglePlay, togglePlay,
@@ -21,7 +22,7 @@ export function useMediaSession(): void {
artist: t.artist_name, artist: t.artist_name,
album: t.album_title, album: t.album_title,
artwork: [{ artwork: [{
src: `/api/albums/${t.album_id}/cover`, src: coverUrl(t.album_id),
sizes: '512x512', sizes: '512x512',
type: 'image/jpeg' type: 'image/jpeg'
}] }]
+2 -1
View File
@@ -12,6 +12,7 @@
import { errMessage } from '$lib/api/errors'; import { errMessage } from '$lib/api/errors';
import { pushToast } from '$lib/stores/toast.svelte'; import { pushToast } from '$lib/stores/toast.svelte';
import { playRadio } from '$lib/player/store.svelte'; import { playRadio } from '$lib/player/store.svelte';
import { coverUrl } from '$lib/media/covers';
import Modal from '$lib/components/Modal.svelte'; import Modal from '$lib/components/Modal.svelte';
import type { AdminQuarantineRow, LidarrQuarantineReason } from '$lib/api/types'; import type { AdminQuarantineRow, LidarrQuarantineReason } from '$lib/api/types';
@@ -191,7 +192,7 @@
> >
{#if r.album_id} {#if r.album_id}
<img <img
src={`/api/albums/${r.album_id}/cover`} src={coverUrl(r.album_id)}
alt="" alt=""
class="h-full w-full rounded-md object-cover" class="h-full w-full rounded-md object-cover"
loading="lazy" loading="lazy"
+2 -1
View File
@@ -6,6 +6,7 @@
import { qk } from '$lib/api/queries'; import { qk } from '$lib/api/queries';
import type { LidarrQuarantineMineRow, LidarrQuarantineReason } from '$lib/api/types'; import type { LidarrQuarantineMineRow, LidarrQuarantineReason } from '$lib/api/types';
import ApiErrorBanner from '$lib/components/ApiErrorBanner.svelte'; import ApiErrorBanner from '$lib/components/ApiErrorBanner.svelte';
import { coverUrl } from '$lib/media/covers';
const client = useQueryClient(); const client = useQueryClient();
const queryStore = createMyQuarantineQuery(); const queryStore = createMyQuarantineQuery();
@@ -61,7 +62,7 @@
<div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-md bg-surface-hover"> <div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-md bg-surface-hover">
{#if row.album_cover_art_path} {#if row.album_cover_art_path}
<img <img
src={`/api/albums/${row.album_id}/cover`} src={coverUrl(row.album_id)}
alt="" alt=""
class="h-full w-full rounded-md object-cover" class="h-full w-full rounded-md object-cover"
loading="lazy" loading="lazy"