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