Spaces:
Sleeping
Sleeping
import { writable } from "svelte/store"; | |
const key = "hf_token"; | |
function createTokenStore() { | |
const store = writable({ value: "", writeToLocalStorage: true, showModal: false }); | |
function setValue(token: string) { | |
store.update(s => { | |
if (s.writeToLocalStorage) localStorage.setItem(key, JSON.stringify(token)); | |
return { ...s, value: token, showModal: !token.length }; | |
}); | |
} | |
const storedHfToken = localStorage.getItem(key); | |
if (storedHfToken !== null) { | |
setValue(JSON.parse(storedHfToken)); | |
} | |
return { | |
...store, | |
setValue, | |
reset() { | |
setValue(""); | |
localStorage.removeItem(key); | |
store.update(s => ({ ...s, showModal: true })); | |
}, | |
}; | |
} | |
export const token = createTokenStore(); | |