import { store } from "tauri-plugin-valtio" import { useSnapshot } from "valtio" import { DEFAULT_STORE_CONFIG } from "." const defaultValue = { version: "0.0.1", hasUpdate: false, inited: false, notice: "", useMirror: true, } export const appStore = store("app", { ...defaultValue }, DEFAULT_STORE_CONFIG) export const useAppStore = () => { void appStore.start const state = useSnapshot(appStore.state) return { state, setVersion, setHasUpdate, setInited, setNotice, setUseMirror, resetAppStore, } } const setVersion = (version: string) => { appStore.state.version = version } const setHasUpdate = (hasUpdate: boolean) => { appStore.state.hasUpdate = hasUpdate } const setInited = (inited: boolean) => { appStore.state.inited = inited } const setNotice = (notice: string) => { appStore.state.notice = notice } const setUseMirror = (useMirror: boolean) => { appStore.state.useMirror = useMirror } const resetAppStore = () => { setVersion(defaultValue.version) setHasUpdate(defaultValue.hasUpdate) setInited(defaultValue.inited) setNotice(defaultValue.notice) setUseMirror(defaultValue.useMirror) }