import {acceptHMRUpdate, createPinia, defineStore} from 'pinia'; type menu = 'light' | 'dark' export interface AppState { menuTheme: menu; homeBanner: boolean; bannerTitle: string; searchVal: string; otherConfig?: any } const useAppStore = defineStore('app', { state: (): AppState => ({ menuTheme: 'light', homeBanner: true, bannerTitle: '', searchVal: '', otherConfig: {} }), getters:{ getMenuTheme: (state)=> state.menuTheme, getHomeBanner: (state)=> state.homeBanner, getBannerTitle: (state)=> state.bannerTitle, getSearchVal: (state): string=> state.searchVal, }, actions: { setMenuTheme(type: menu = 'light'){ this.menuTheme = type; }, setHomeBanner(type: boolean){ this.homeBanner = type; }, setBannerTitle(title: string): void{ this.bannerTitle = title; }, setSearchVal(val: string): void{ this.searchVal = val; }, setConfig(data:any){ this.otherConfig = data; } } }) export default useAppStore; if (import.meta.hot) { import.meta.hot.accept(acceptHMRUpdate(useAppStore, import.meta.hot)) }