37 lines
1017 B
TypeScript
37 lines
1017 B
TypeScript
import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit'
|
|
import { save, load } from 'redux-localstorage-simple'
|
|
|
|
import application from './application/reducer'
|
|
import { updateVersion } from './global/actions'
|
|
import user from './user/reducer'
|
|
import transactions from './transactions/reducer'
|
|
import swap from './swap/reducer'
|
|
import mint from './mint/reducer'
|
|
import lists from './lists/reducer'
|
|
import burn from './burn/reducer'
|
|
import multicall from './multicall/reducer'
|
|
|
|
const PERSISTED_KEYS: string[] = ['user', 'transactions', 'lists']
|
|
|
|
const store = configureStore({
|
|
reducer: {
|
|
application,
|
|
user,
|
|
transactions,
|
|
swap,
|
|
mint,
|
|
burn,
|
|
multicall,
|
|
lists
|
|
},
|
|
middleware: [...getDefaultMiddleware({ thunk: false }), save({ states: PERSISTED_KEYS })],
|
|
preloadedState: load({ states: PERSISTED_KEYS })
|
|
})
|
|
|
|
store.dispatch(updateVersion())
|
|
|
|
export default store
|
|
|
|
export type AppState = ReturnType<typeof store.getState>
|
|
export type AppDispatch = typeof store.dispatch
|