UNPKG

@open-tender/cloud

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.

30 lines (29 loc) 1.18 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.alertsReducer = exports.selectAlerts = exports.dismissAlert = exports.addAlert = exports.clearAlerts = void 0; const toolkit_1 = require("@reduxjs/toolkit"); const types_1 = require("./types"); const utils_1 = require("@open-tender/utils"); const initialState = []; const alertsSlice = (0, toolkit_1.createSlice)({ name: types_1.ReducerType.Alerts, initialState, reducers: { clearAlerts: () => initialState, addAlert: (state, action) => { // const remaining = state.reverse().slice(0, 4).reverse() return [ ...state, { message: action.payload, id: (0, utils_1.makeRandomNumberString)() } ]; }, dismissAlert: (state, action) => { return state.filter(i => i.id !== action.payload); } } }); _a = alertsSlice.actions, exports.clearAlerts = _a.clearAlerts, exports.addAlert = _a.addAlert, exports.dismissAlert = _a.dismissAlert; const selectAlerts = (state) => state.alerts; exports.selectAlerts = selectAlerts; exports.alertsReducer = alertsSlice.reducer;