UNPKG

animiassumenda

Version:

Blox live, desktop app for managing staking accounts

40 lines (35 loc) 1.16 kB
import produce from 'immer'; import * as actionTypes from '~app/components/PasswordHandler/actionTypes'; import { LOGOUT } from '~app/components/Login/components/CallbackPage/actionTypes'; const initialState = { isValid: false, isLoading: false, }; /* eslint-disable default-case, no-param-reassign */ const passwordHandlerReducer = (state = initialState, action: Action) => produce(state, (draft) => { switch (action.type) { case actionTypes.SAVE_PASSWORD: case actionTypes.REPLACE_PASSWORD: case actionTypes.CHECK_PASSWORD_VALIDATION: draft.isLoading = true; break; case actionTypes.SAVE_PASSWORD_SUCCESS: case actionTypes.SAVE_PASSWORD_FAILURE: draft.isLoading = initialState.isLoading; break; case actionTypes.SET_PASSWORD_VALIDATION: draft.isValid = action.payload; draft.isLoading = initialState.isLoading; break; case actionTypes.CLEAR_PASSWORD_DATA: case LOGOUT: draft.isValid = initialState.isValid; draft.isLoading = initialState.isLoading; break; } }); type Action = { type: string; payload: any; }; export default passwordHandlerReducer;