import { writable } from 'svelte/store' interface PersistedSettings { darkmode: boolean loggedIn: boolean friendlyName: string email: string role: string accessToken: string, refreshToken: string } const settingsDefault: PersistedSettings = { darkmode: false, loggedIn: false, friendlyName: "", email: "", role: "member", accessToken: "", refreshToken: "" } export const persistentSettings = writable(JSON.parse(localStorage.getItem('persistentSettings') || JSON.stringify(settingsDefault))) persistentSettings.subscribe((value) => localStorage.persistentSettings = JSON.stringify(value)) export const clearLoginState = function() { persistentSettings.update(settings => { settings.accessToken = ""; settings.refreshToken = ""; settings.loggedIn = false; settings.friendlyName = ""; settings.email = ""; settings.role = "member"; return settings; }) }