From e4759d14c92cbeef2759ba87f71af31d8bcf88a2 Mon Sep 17 00:00:00 2001 From: wvffle Date: Mon, 31 Oct 2022 09:45:37 +0000 Subject: [PATCH] Old queue migration system --- front/src/composables/audio/queue.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/front/src/composables/audio/queue.ts b/front/src/composables/audio/queue.ts index f0d6e4f20..a9f25bd03 100644 --- a/front/src/composables/audio/queue.ts +++ b/front/src/composables/audio/queue.ts @@ -13,6 +13,8 @@ import { useTracks } from '~/composables/audio/tracks' import { gettext } from '~/init/locale' import axios from 'axios' +import { set } from 'idb-keyval' +import { setGain } from './audio-api' export interface QueueTrackSource { uuid: string @@ -308,6 +310,25 @@ export const useQueue = createGlobalState(() => { }) } + // TODO: Remove at 1.5.0 + // Migrate old queue format to the new one + if (localStorage.queue) { + (async () => { + const { queue: { currentIndex: index, tracks } } = JSON.parse(localStorage.queue) as { queue: { currentIndex: number, tracks: Track[] } } + if (tracks.length !== 0) { + await enqueue(...tracks) + } + + currentIndex.value = index + 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)) + } + return { tracks, queue,