Cleanup, progress storing and settings handling

This commit is contained in:
ZXY101
2023-09-21 09:32:44 +02:00
parent 8e4c105f6c
commit da342e14e9
9 changed files with 235 additions and 120 deletions

View File

@@ -0,0 +1,25 @@
import { browser } from "$app/environment";
import { writable } from "svelte/store";
type Progress = Record<string, number> | undefined
const stored = browser ? window.localStorage.getItem('progress') : undefined
const initial: Progress = stored && browser ? JSON.parse(stored) : undefined
export const progress = writable<Progress>(initial);
export function updateProgress(volume: string, value: number) {
progress.update((prev) => {
return {
...prev,
[volume]: value
};
});
}
progress.subscribe((progress) => {
if (browser) {
window.localStorage.setItem('progress', JSON.stringify(progress))
}
})