import { persisted } from 'svelte-local-storage-store'; import { writable } from 'svelte/store'; export enum SlideshowState { PlaySlideshow = 'play-slideshow', StopSlideshow = 'stop-slideshow', None = 'none', } function createSlideshowStore() { const restartState = writable(false); const stopState = writable(false); const slideshowShuffle = persisted('slideshow-shuffle', true); const slideshowState = writable(SlideshowState.None); return { restartProgress: { subscribe: restartState.subscribe, set: (value: boolean) => { // Trigger an action whenever the restartProgress is set to true. Automatically // reset the restart state after that if (value) { restartState.set(true); restartState.set(false); } }, }, stopProgress: { subscribe: stopState.subscribe, set: (value: boolean) => { // Trigger an action whenever the stopProgress is set to true. Automatically // reset the stop state after that if (value) { stopState.set(true); stopState.set(false); } }, }, slideshowShuffle, slideshowState, }; } export const slideshowStore = createSlideshowStore();