Files
Mav-Mobile-UI/src/context/reducers/IntegrationsContextReducer.ts
Toba Ojo 0b3dcbb265 - added hotlists being displayed
- functionality to delete hotlist
2025-11-19 13:55:21 +00:00

75 lines
1.5 KiB
TypeScript

import type { NPEDACTION, NPEDSTATE } from "../../types/types";
export const initialState = {
sessionStarted: true,
sessionList: [],
sessionPaused: false,
savedSightings: [],
npedUser: null,
iscatEnabled: {
catA: true,
catB: true,
catC: true,
catD: false,
},
hotlistFiles: [],
};
export function reducer(state: NPEDSTATE, action: NPEDACTION) {
switch (action.type) {
case "SESSIONSTART":
return {
...state,
sessionStarted: action.payload,
};
case "LOGIN":
return {
...state,
npedUser: action.payload,
};
case "LOGOUT":
return {
...state,
npedUser: action.payload,
};
case "SESSIONPAUSE":
return {
...state,
sessionPaused: action.payload,
};
case "SESSIONRESTART":
return {
...state,
sessionList: action.payload,
};
case "ADD":
return {
...state,
sessionList: [...state.sessionList, action.payload],
};
case "UPDATE":
return {
...state,
sessionList: action.payload,
};
case "NPEDCATENABLED":
return {
...state,
iscatEnabled: action.payload,
};
case "SETHOTLISTS":
return {
...state,
hotlistFiles: action.payload,
};
case "DELETEHOTLIST":
return {
...state,
hotlistFiles: state.hotlistFiles.filter((hotlist) => hotlist.filename !== action.payload),
};
default:
return { ...state };
}
}