diff --git a/frontend/src/lib/api/schema.d.ts b/frontend/src/lib/api/schema.d.ts index 084525f..be9348a 100644 --- a/frontend/src/lib/api/schema.d.ts +++ b/frontend/src/lib/api/schema.d.ts @@ -416,6 +416,10 @@ export interface components { /** Format: uuid */ id: string; title: string; + /** Format: int32 */ + duration: number | string; + /** Format: int32 */ + listensCount: number | string; /** Format: date-time */ createdAt: string; /** Format: date-time */ diff --git a/frontend/src/routes/(app)/playlists/[id]/+page.svelte b/frontend/src/routes/(app)/playlists/[id]/+page.svelte index 9b80c58..be2b4e8 100644 --- a/frontend/src/routes/(app)/playlists/[id]/+page.svelte +++ b/frontend/src/routes/(app)/playlists/[id]/+page.svelte @@ -8,8 +8,9 @@ import Plus from '@lucide/svelte/icons/plus'; import X from '@lucide/svelte/icons/x'; import Music from '@lucide/svelte/icons/music'; + import Clock from '@lucide/svelte/icons/clock'; import { player } from '$lib/player/player.svelte'; - import { HUES } from '$lib/theme/color'; + import { HUES, fmtTime } from '$lib/theme/color'; import Cover from '$lib/components/ui/Cover.svelte'; import PlaylistArt from '$lib/components/ui/PlaylistArt.svelte'; import NowPlaying from '$lib/components/ui/NowPlaying.svelte'; @@ -117,42 +118,62 @@ {#if tracks.length > 0} -
- {#each tracks as track, i (track.id)} -
- -
async ({ update }) => update()}> - - -
-
- {/each} + +
+ {dateFormatter.format(new Date(track.createdAt))} +
+
+
async ({ update }) => update()}> + + +
+ {fmtTime(Number(track.duration))} +
+
+ {/each} + {:else}