// Actions const OPEN_TO_DROPDOWN = 'metamask/send/OPEN_TO_DROPDOWN' const CLOSE_TO_DROPDOWN = 'metamask/send/CLOSE_TO_DROPDOWN' const UPDATE_SEND_ERRORS = 'metamask/send/UPDATE_SEND_ERRORS' const RESET_SEND_STATE = 'metamask/send/RESET_SEND_STATE' const SHOW_GAS_BUTTON_GROUP = 'metamask/send/SHOW_GAS_BUTTON_GROUP' const HIDE_GAS_BUTTON_GROUP = 'metamask/send/HIDE_GAS_BUTTON_GROUP' const initState = { toDropdownOpen: false, gasButtonGroupShown: true, errors: {}, } // Reducer export default function reducer (state = initState, action) { switch (action.type) { case OPEN_TO_DROPDOWN: return { ...state, toDropdownOpen: true, } case CLOSE_TO_DROPDOWN: return { ...state, toDropdownOpen: false, } case UPDATE_SEND_ERRORS: return { ...state, errors: { ...state.errors, ...action.value, }, } case SHOW_GAS_BUTTON_GROUP: return { ...state, gasButtonGroupShown: true, } case HIDE_GAS_BUTTON_GROUP: return { ...state, gasButtonGroupShown: false, } case RESET_SEND_STATE: return { ...initState } default: return state } } // Action Creators export function openToDropdown () { return { type: OPEN_TO_DROPDOWN } } export function closeToDropdown () { return { type: CLOSE_TO_DROPDOWN } } export function showGasButtonGroup () { return { type: SHOW_GAS_BUTTON_GROUP } } export function hideGasButtonGroup () { return { type: HIDE_GAS_BUTTON_GROUP } } export function updateSendErrors (errorObject) { return { type: UPDATE_SEND_ERRORS, value: errorObject, } } export function resetSendState () { return { type: RESET_SEND_STATE } }