Spaces:
Running
Running
| import { createSlice } from "@reduxjs/toolkit"; | |
| import { IRequestState } from "./types"; | |
| const initialState: IRequestState = { | |
| request: "", | |
| hasAbbreviations: false, | |
| abbreviations: [], | |
| }; | |
| const requestSlice = createSlice({ | |
| name: "abbreviationSlice", | |
| initialState, | |
| reducers: { | |
| setRequest: (state, action: { payload: string }) => { | |
| state.request = action.payload; | |
| }, | |
| setAbbreviation: (state, action: { payload: { key: string; value: string } }) => { | |
| state.abbreviations = state.abbreviations.filter((e) => e.key !== action.payload.key); | |
| state.abbreviations.push(action.payload); | |
| state.hasAbbreviations = state.abbreviations.length > 0; | |
| }, | |
| clearAbbreviations: (state) => { | |
| state.abbreviations = []; | |
| state.hasAbbreviations = false; | |
| }, | |
| setHasAbbreviations: (state, action: { payload: boolean }) => { | |
| state.hasAbbreviations = action.payload; | |
| }, | |
| }, | |
| }); | |
| export const { setAbbreviation, clearAbbreviations, setRequest, setHasAbbreviations } = requestSlice.actions; | |
| export default requestSlice.reducer; | |