@aut-labs/d-aut
Version:
## Web Component - what it does
40 lines (39 loc) • 1.38 kB
JavaScript
import { configureStore } from '@reduxjs/toolkit';
import logger from 'redux-logger';
import { combineReducers } from 'redux';
import autSliceReducer, { initialState as initAutState } from './aut.reducer';
import userDataReducer, { initialState as initUserDataState } from './user-data.reducer';
import walletProvider from './wallet-provider';
import { env } from '../services/web3/env';
const appReducer = combineReducers({
aut: autSliceReducer,
userData: userDataReducer,
walletProvider,
});
const rootReducer = (state, action) => {
if (action.type === 'RESET_UI') {
state = {
...state,
aut: {
...initAutState,
showDialog: state.aut.showDialog,
hubAddress: state.aut.hubAddress,
flowConfig: state.aut.flowConfig,
useDev: state.aut.useDev,
allowedRoleId: state.aut.allowedRoleId,
},
userData: {
...initUserDataState,
},
};
}
return appReducer(state, action);
};
export const resetUIState = { type: 'RESET_UI' };
export const store = configureStore({
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
serializableCheck: false,
}).concat(!env.ENV || env.ENV === 'development' ? logger : []),
reducer: rootReducer,
});
export default store;