fix(reader): totalBookDuration computation accounts for metadata duration when files lack duration data (#331)

Resolves: https://github.com/bookorbit/bookorbit/issues/330
This commit is contained in:
James McNee
2026-06-14 23:36:12 +01:00
committed by GitHub
parent 5d96ba1a55
commit f1b7254b86
@@ -587,7 +587,15 @@ const absolutePositionSeconds = computed(() => {
const absolutePositionMs = computed(() => absolutePositionSeconds.value * 1000)
const totalBookDuration = computed(() => audioFiles.value.reduce((sum, f) => sum + (f.durationSeconds ?? 0), 0))
const totalBookDuration = computed(() => {
const durationFromFiles = audioFiles.value.reduce((sum, f) => sum + (f.durationSeconds ?? 0), 0)
if (durationFromFiles === 0) {
return detail.value?.audioMetadata?.durationSeconds ?? 0
}
return durationFromFiles
})
const progressPct = computed(() => {
const total = totalBookDuration.value