got to a good point with sighting modal, want to do cleanup
This commit is contained in:
46
src/context/reducers/AlertReducers.ts
Normal file
46
src/context/reducers/AlertReducers.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import type { AlertPayload, AlertState } from "../../types/types";
|
||||
|
||||
export const initalState = {
|
||||
alertList: [],
|
||||
allAlerts: [],
|
||||
};
|
||||
|
||||
export function reducer(state: AlertState, action: AlertPayload) {
|
||||
switch (action.type) {
|
||||
case "ADD": {
|
||||
const alreadyExists = state.allAlerts.some(
|
||||
(alertItem) => alertItem.vrm === action.payload.vrm
|
||||
);
|
||||
if (alreadyExists) {
|
||||
return { ...state };
|
||||
} else {
|
||||
return {
|
||||
...state,
|
||||
alertList: [...state.allAlerts, action.payload],
|
||||
allAlerts: [...state.allAlerts, action.payload],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
case "SEARCH": {
|
||||
if (action.payload && typeof action.payload === "string") {
|
||||
const searchTerm = action.payload.toLowerCase();
|
||||
return {
|
||||
...state,
|
||||
alertList: state.alertList.filter((alertItem) =>
|
||||
alertItem.vrm.toLowerCase().includes(searchTerm)
|
||||
),
|
||||
};
|
||||
} else {
|
||||
console.log(state);
|
||||
return {
|
||||
...state,
|
||||
alertList: state.allAlerts,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
return { ...state };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user