Files
Crm-Frontend/src/lib/features/projects/projectsSlice.ts

30 lines
795 B
TypeScript

import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { ProjectSchema } from "@/types/ProjectSchema";
interface ProjectsState {
projects: ProjectSchema[];
selectedProject: ProjectSchema | null;
}
const initialState: ProjectsState = {
projects: [],
selectedProject: null,
};
export const projectsSlice = createSlice({
name: "projects",
initialState,
reducers: {
setProjects: (state, action: PayloadAction<ProjectSchema[]>) => {
state.projects = action.payload;
},
selectProject: (state, action: PayloadAction<ProjectSchema>) => {
state.selectedProject = action.payload;
},
},
});
export const { setProjects, selectProject } = projectsSlice.actions;
export default projectsSlice.reducer;