1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 16:18:07 +01:00
metamask-extension/ui/app/ducks/alerts/invalid-custom-network.js
Erik Marks 76a2a9bb8b
@metamask/eslint config@5.0.0 (#10358)
* @metamask/eslint-config@5.0.0
* Update eslintrc and prettierrc
* yarn lint:fix
2021-02-04 10:15:23 -08:00

49 lines
1.0 KiB
JavaScript

import { createSlice } from '@reduxjs/toolkit';
import { ALERT_TYPES } from '../../../../shared/constants/alerts';
import { ALERT_STATE } from './enums';
// Constants
const name = ALERT_TYPES.invalidCustomNetwork;
const initialState = {
state: ALERT_STATE.CLOSED,
networkName: '',
};
// Slice (reducer plus auto-generated actions and action creators)
const slice = createSlice({
name,
initialState,
reducers: {
openAlert: (state, action) => {
state.state = ALERT_STATE.OPEN;
state.networkName = action.payload;
},
dismissAlert: (state) => {
state.state = ALERT_STATE.CLOSED;
state.networkName = '';
},
},
});
const { actions, reducer } = slice;
export default reducer;
// Selectors
export const getAlertState = (state) => state[name].state;
export const getNetworkName = (state) => state[name].networkName;
export const alertIsOpen = (state) => state[name].state !== ALERT_STATE.CLOSED;
// Actions / action-creators
const { openAlert, dismissAlert } = actions;
export { openAlert, dismissAlert };