1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 11:01:41 +01:00
metamask-extension/ui/app/ducks/alerts/invalid-custom-network.js

52 lines
1.0 KiB
JavaScript
Raw Normal View History

import { createSlice } from '@reduxjs/toolkit'
import { ALERT_TYPES } from '../../../../app/scripts/controllers/alert'
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 }