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; | |