import { ENQUEUE_SNACKBAR, CLOSE_SNACKBAR, REMOVE_SNACKBAR } from '../actions' export const initialState = { notifications: [] } const notifierReducer = (state = initialState, action) => { switch (action.type) { case ENQUEUE_SNACKBAR: return { ...state, notifications: [ ...state.notifications, { key: action.key, ...action.notification } ] } case CLOSE_SNACKBAR: return { ...state, notifications: state.notifications.map((notification) => action.dismissAll || notification.key === action.key ? { ...notification, dismissed: true } : { ...notification } ) } case REMOVE_SNACKBAR: return { ...state, notifications: state.notifications.filter((notification) => notification.key !== action.key) } default: return state } } export default notifierReducer