Files
mokuro-reader/src/lib/settings/progress.ts
2023-09-21 13:39:48 +02:00

26 lines
653 B
TypeScript

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', progress ? JSON.stringify(progress) : '')
}
})