import { createSlice } from "@reduxjs/toolkit"; export const programsSlice = createSlice({ name: "programs", initialState: { programsNotExist: [], programsError: [], iconURLs: {}, taskbarPrograms: {}, foreground: undefined, }, reducers: { setProgramNotExist: (state, action) => { const program = action.payload; const { name } = program; if (state.programsNotExist.find((e) => e === name)) return; state.programsNotExist.push(program.name); }, addTaskbarProgram: (state, action) => { const program = action.payload; const { hwnd } = program; state.taskbarPrograms[hwnd] = program; }, removeTaskbarProgram: (state, action) => { const program = action.payload; const { hwnd } = program; delete state.taskbarPrograms[hwnd]; }, setForeground: (state, action) => { state.foreground = action.payload; }, }, }); export const { setProgramNotExist, addTaskbarProgram, removeTaskbarProgram, setForeground, } = programsSlice.actions; export default programsSlice.reducer;