State Management
Managing context, state and hooks
Last updated
export const LOGIN = 'LOGIN';
export const LOGOUT = 'LOGOUT';
export const MENU_OPEN = '@customization/MENU_OPEN';
export const MENU_TYPE = '@customization/MENU_TYPE';
export const THEME_LOCALE = '@customization/THEME_LOCALE';
export const THEME_RTL = '@customization/THEME_RTL';
export const SNACKBAR_OPEN = '@snackbar/SNACKBAR_OPEN';
export const ACCOUNT_INITIALISE = 'ACCOUNT_INITIALISE';
export const FIREBASE_STATE_CHANGED = 'FIREBASE_STATE_CHANGED';
export const SET_MENU = 'SET_MENU';(state, action) => newStateimport * as actionTypes from './actions';
import config from '../config';
export const initialState = {
isOpen: 'dashboard', //for active default menu
navType: config.theme,
locale: config.i18n,
rtlLayout: false, // rtlLayout: config.rtlLayout,
opened: true
};
const customizationReducer = (state = initialState, action) => {
switch (action.type) {
case actionTypes.MENU_OPEN:
return {
...state,
isOpen: action.isOpen
};
case actionTypes.MENU_TYPE:
return {
...state,
navType: action.navType
};
case actionTypes.THEME_LOCALE:
return {
...state,
locale: action.locale
};
case actionTypes.THEME_RTL:
return {
...state,
rtlLayout: action.rtlLayout
};
case actionTypes.SET_MENU:
return {
...state,
opened: action.opened
};
default:
return state;
}
};
export default customizationReducer;