import {writable} from 'svelte/store'; import { browser } from '$app/environment'; export interface AuthStore { token: string | null; tokenHead: string | null; isAuthenticated: boolean; } let initialToken: string | null = null; let initialTokenHead: string | null = null; if (browser) { initialToken = localStorage.getItem('auth_token'); initialTokenHead = localStorage.getItem('auth_token_head'); } const initialAuthStore: AuthStore = { token: initialToken, tokenHead: initialTokenHead, isAuthenticated: initialToken !== null } const authStatusStore = writable({ token: initialToken, tokenHead: initialTokenHead, isAuthenticated: initialToken !== null }) export const authStore = { subscribe: authStatusStore.subscribe, set: authStatusStore.set, update: authStatusStore.update, clear: () => { authStatusStore.set(initialAuthStore); }, };