main
ts 25 lines 629 Bytes
Raw
1 import type { LoadingBarInst } from "naive-ui/es/loading-bar/src/LoadingBarProvider"
2 import { acceptHMRUpdate, defineStore } from "pinia"
3
4 export const useMainStore = defineStore("main", {
5 state: () => ({
6 forceRefresh: Date.now(),
7 loadingBar: null as LoadingBarInst | null
8 }),
9 actions: {
10 softReload() {
11 this.forceRefresh = Date.now()
12 this.loadingBar?.start()
13 setTimeout(() => {
14 this.loadingBar?.finish()
15 }, 1000)
16 },
17 setLoadingBar(loadingBar: LoadingBarInst) {
18 this.loadingBar = loadingBar
19 }
20 }
21 })
22
23 if (import.meta.hot) {
24 import.meta.hot.accept(acceptHMRUpdate(useMainStore, import.meta.hot))
25 }