27 lines
760 B
TypeScript
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)
|