feat: projects redux storage and select
This commit is contained in:
29
src/lib/features/projects/projectsSlice.ts
Normal file
29
src/lib/features/projects/projectsSlice.ts
Normal file
@ -0,0 +1,29 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user