From a4cf9356a8274fee27f00a9a4d0ab673fca8fffe Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Mon, 9 Feb 2026 23:55:19 -0800 Subject: [PATCH] WIP: global player pt. 3 monstrosity --- src/lib/components/player/PlayerMobile.svelte | 210 +++++++++--------- src/lib/components/player/PlayerRoot.svelte | 15 +- 2 files changed, 117 insertions(+), 108 deletions(-) diff --git a/src/lib/components/player/PlayerMobile.svelte b/src/lib/components/player/PlayerMobile.svelte index af3780e..500f338 100644 --- a/src/lib/components/player/PlayerMobile.svelte +++ b/src/lib/components/player/PlayerMobile.svelte @@ -17,119 +17,117 @@ } -{#if player.currentTrack} -
-
- - - - -
- - - - -
-
- - -
+
+
+ +
+ +
+
+ {player.currentTrack?.title || "Unknown Title"} +
+
+ {player.currentTrack?.artist || "Unknown Artist"} +
+
+ + + +
+ + + +
- - -
- -
-
-
+ +
+
+
+
- + + +
+ +
+
+ + +
+ + +
+ + +
+

+ {player.currentTrack?.title} +

+

- - -

+ {player.currentTrack?.artist} +

+

+ {player.currentTrack?.album || + player.currentTrack?.animeName} +

+
- -
-

- {player.currentTrack.title} -

-

- {player.currentTrack.artist} -

-

- {player.currentTrack.album || - player.currentTrack.animeName} -

-
- - -
- -
- {formatTime(audio.currentTime)} - {formatTime(audio.duration)} -
-
- - -
- -
- - - -
-
- -
+ +
+ +
+ {formatTime(audio.currentTime)} + {formatTime(audio.duration)}
- - -{/if} + + +
+ +
+ + + +
+
+ +
+
+
+
+
diff --git a/src/lib/components/player/PlayerRoot.svelte b/src/lib/components/player/PlayerRoot.svelte index d1c43d1..7958588 100644 --- a/src/lib/components/player/PlayerRoot.svelte +++ b/src/lib/components/player/PlayerRoot.svelte @@ -75,8 +75,19 @@ // ... existing effect for playback ... $effect(() => { const track = player.currentTrack; - if (track && audioEl) { - // ... + if (audioEl) { + if (track) { + const newSrc = track.src; + if (audioEl.src !== newSrc) { + audioEl.src = newSrc; + audioEl.play().catch((e) => { + console.warn("Autoplay blocked or failed", e); + }); + } + } else { + audioEl.removeAttribute("src"); + } + // Update MediaSession playback state if ("mediaSession" in navigator) { navigator.mediaSession.playbackState = audioEl.paused