import { combineReducers, configureStore, createAction } from '@reduxjs/toolkit' import token, { actions as tokenActions } from './token' import user, { actions as userActions } from './user' import form, { actions as formActions } from './form' import { loadStore, backupStore } from './storageHelper' const preloadedState = loadStore() export const reducer = combineReducers({ token, user, form }) export const actions = { token: tokenActions, user: userActions, form: formActions, reset: createAction('reset'), } export type RootState = ReturnType export const store = configureStore({ reducer, preloadedState, devTools: import.meta.env.DEV, }) export type AppDispatch = typeof store.dispatch export type StoreType = typeof store export const unsubscribe = backupStore(store)