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(); | |