Files
cstb-next/src/store/app.ts
Purp1e 9103150562 [feat] use heroui + setup persistore + setup toast
todo: fix launchoption problem
2025-03-12 11:22:32 +08:00

33 lines
1.1 KiB
TypeScript

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