Fix player migration errors
This commit is contained in:
parent
ece2c468ca
commit
3fe7d28d5d
|
@ -13,7 +13,6 @@ import { useTracks } from '~/composables/audio/tracks'
|
||||||
import { gettext } from '~/init/locale'
|
import { gettext } from '~/init/locale'
|
||||||
|
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { set } from 'idb-keyval'
|
|
||||||
import { setGain } from './audio-api'
|
import { setGain } from './audio-api'
|
||||||
|
|
||||||
export interface QueueTrackSource {
|
export interface QueueTrackSource {
|
||||||
|
@ -313,20 +312,27 @@ export const useQueue = createGlobalState(() => {
|
||||||
// Migrate old queue format to the new one
|
// Migrate old queue format to the new one
|
||||||
if (localStorage.queue) {
|
if (localStorage.queue) {
|
||||||
(async () => {
|
(async () => {
|
||||||
const { queue: { currentIndex: index, tracks } } = JSON.parse(localStorage.queue) as { queue: { currentIndex: number, tracks: Track[] } }
|
const { queue: { currentIndex: index, tracks: oldTracks } } = JSON.parse(localStorage.queue) as { queue: { currentIndex: number, tracks: Track[] } }
|
||||||
if (tracks.length !== 0) {
|
if (oldTracks.length !== 0) {
|
||||||
await enqueue(...tracks)
|
tracks.value.length = 0
|
||||||
|
await enqueue(...oldTracks)
|
||||||
}
|
}
|
||||||
|
|
||||||
currentIndex.value = index
|
currentIndex.value = index
|
||||||
delete localStorage.queue
|
delete localStorage.queue
|
||||||
|
|
||||||
const { looping: loopingMode, volume } = JSON.parse(localStorage.player)
|
|
||||||
looping.value = loopingMode
|
|
||||||
setGain(volume)
|
|
||||||
delete localStorage.player
|
|
||||||
})().catch((error) => console.error('Could not successfully migrate between queue versions', error))
|
})().catch((error) => console.error('Could not successfully migrate between queue versions', error))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (localStorage.player) {
|
||||||
|
try {
|
||||||
|
const { player: { looping: loopingMode, volume } } = JSON.parse(localStorage.player) as { player: { looping: LoopingMode, volume: number }}
|
||||||
|
looping.value = loopingMode ?? 0
|
||||||
|
setGain(volume ?? 0.7)
|
||||||
|
delete localStorage.player
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Could not successfully migrate between player versions', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in New Issue