34 lines
988 B
TypeScript
34 lines
988 B
TypeScript
import { TFilterOptions } from '@components/filters/Filters';
|
|
import { createSlice } from '@reduxjs/toolkit';
|
|
import { IFilter } from '@screens/allCases/interface';
|
|
|
|
interface IFeedbackFiltersSlice {
|
|
feedbackFiltersTemplate: IFilter | null;
|
|
selectedCaseFilters: Record<string, TFilterOptions>;
|
|
}
|
|
|
|
const initialState: IFeedbackFiltersSlice = {
|
|
selectedCaseFilters: {},
|
|
feedbackFiltersTemplate: null,
|
|
};
|
|
|
|
const FeedbackFiltersSlice = createSlice({
|
|
name: 'feedbackFilters',
|
|
initialState,
|
|
reducers: {
|
|
setFeedbackFilterTemplate: (state, action) => {
|
|
if (action.payload) {
|
|
state.feedbackFiltersTemplate = action.payload;
|
|
}
|
|
},
|
|
setFeedbackFilters: (state, action) => {
|
|
const { loanAccountNumber, filters } = action.payload;
|
|
state.selectedCaseFilters[loanAccountNumber] = filters;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { setFeedbackFilterTemplate, setFeedbackFilters } = FeedbackFiltersSlice.actions;
|
|
|
|
export default FeedbackFiltersSlice.reducer;
|