ConvoyPanel/resources/scripts/state/index.ts
2022-10-29 04:28:49 +00:00

27 lines
760 B
TypeScript

import flashes, { FlashStore } from '@/state/flashes'
import progress, { ProgressStore } from '@/state/progress'
import settings, { SettingsStore } from '@/state/settings'
import user, { UserStore } from '@/state/user'
import { createStore, createTypedHooks } from 'easy-peasy'
export interface ApplicationStore {
progress: ProgressStore
user: UserStore
settings: SettingsStore
flashes: FlashStore;
}
const state: ApplicationStore = {
progress,
user,
settings,
flashes
}
const typedHooks = createTypedHooks<ApplicationStore>()
export const useStoreActions = typedHooks.useStoreActions
export const useStoreDispatch = typedHooks.useStoreDispatch
export const useStoreState = typedHooks.useStoreState
export const store = createStore(state)