Skip to content

Instantly share code, notes, and snippets.

@alant
Last active December 24, 2018 11:16
Show Gist options
  • Save alant/4dc97e1f32e03b1bc3a070982c9757ab to your computer and use it in GitHub Desktop.
Save alant/4dc97e1f32e03b1bc3a070982c9757ab to your computer and use it in GitHub Desktop.
...
// reducer with initial state
const initialState = {
checkMetaMask: false,
metaMaskReject: false,
checkingTx: false,
txSuccessful: false,
redirectToHome: false,
drizzle: null,
gotStoredValue: false,
storedValue: null
};
function dappReducer(state = initialState, action) {
switch (action.type) {
case CHECK_METAMASK:
return { ...state, checkMetaMask: true };
case CHECK_METAMASK_DONE:
return { ...state, checkMetaMask: false };
case TX_ERROR_METAMASK:
return { ...state, checkMetaMask: false, metaMaskReject: true };
case TX_ERROR_METAMASK_DONE:
return { ...state, metaMaskReject: false };
case CHECKING_TX_UI:
return { ...state, checkMetaMask: false, checkingTx: true };
case CHECKING_TX_UI_DONE:
return { ...state, checkMetaMask: false, checkingTx: false, redirectToHome: false };
case TX_SUCCESSFUL_UPDATE_UI:
return { ...state, checkingTx: false, txSuccessful: true };
case REDIRECT_HOME:
return { ...state, redirectToHome: true };
case REDIRECT_TO_HOME_DONE:
return { ...state, redirectToHome: false };
case SET_DRIZZLE_STATE:
return { ...state, drizzle: action.drizzle };
case GETTING_STORED_VALUE:
return { ...state, gotStoredValue: false };
case GOT_STORED_VALUE:
return { ...state, gotStoredValue: true, storedValue: action.storedValue };
default:
return state;
}
}
export default combineReducers({
dappReducer,
...drizzleReducers
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment