feat: Playback speed and volume setting doesn't stick (fix #185)
All checks were successful
repod / xml (push) Successful in 38s
repod / php (push) Successful in 1m16s
repod / nodejs (push) Successful in 1m38s
repod / release (push) Has been skipped

This commit is contained in:
Michel Roux 2024-11-08 23:49:43 +01:00
parent f0a2d199f9
commit e439730a4d

View File

@ -1,4 +1,5 @@
import type { EpisodeActionInterface, EpisodeInterface } from '../utils/types.ts'
import { getCookie, setCookie } from '../utils/cookies.ts'
import axios from '@nextcloud/axios'
import { defineStore } from 'pinia'
import { formatEpisodeTimestamp } from '../utils/time.ts'
@ -23,6 +24,9 @@ export const usePlayer = defineStore('player', {
}),
actions: {
init() {
audio.playbackRate = parseFloat(getCookie('repod.rate') || '1')
audio.volume = parseFloat(getCookie('repod.volume') || '1')
audio.ondurationchange = () => (this.duration = audio.duration)
audio.onended = () => this.stop()
audio.onloadeddata = () => (this.loaded = true)
@ -123,9 +127,11 @@ export const usePlayer = defineStore('player', {
},
setVolume(volume: number) {
audio.volume = volume
setCookie('repod.volume', volume.toString(), 365)
},
setRate(rate: number) {
audio.playbackRate = rate
setCookie('repod.rate', rate.toString(), 365)
},
},
})