From cc1f6b87e43adca164a07a8f8b3694697a648cf1 Mon Sep 17 00:00:00 2001
From: Admin
Date: Sun, 5 Apr 2026 23:26:33 +0500
Subject: [PATCH] fix(player): show '--:--' for unknown duration instead of
'0:00'
Prevents the silly "2:01 / 0:00" display when audio src is being swapped
from preview to full audio and duration hasn't loaded yet.
Co-Authored-By: Claude Sonnet 4.6
---
ui/src/lib/components/AudioPlayer.svelte | 9 +++++++--
ui/src/routes/+layout.svelte | 7 ++++++-
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/ui/src/lib/components/AudioPlayer.svelte b/ui/src/lib/components/AudioPlayer.svelte
index 5ae2aa8..d94d02e 100644
--- a/ui/src/lib/components/AudioPlayer.svelte
+++ b/ui/src/lib/components/AudioPlayer.svelte
@@ -787,6 +787,11 @@
}
}
+ function formatDuration(s: number): string {
+ if (!isFinite(s) || s <= 0) return '--:--';
+ return formatTime(s);
+ }
+
function formatTime(s: number): string {
if (!isFinite(s) || s < 0) return '0:00';
const m = Math.floor(s / 60);
@@ -990,7 +995,7 @@
- {formatTime(audioStore.currentTime)} / {formatTime(audioStore.duration)}
+ {formatTime(audioStore.currentTime)} / {formatDuration(audioStore.duration)}
{:else if audioStore.status === 'ready'}
- {formatTime(audioStore.currentTime)} / {formatTime(audioStore.duration)}
+ {formatTime(audioStore.currentTime)} / {formatDuration(audioStore.duration)}
{#if audioStore.isPreview}
preview
{/if}