feat: projects redux storage and select

This commit is contained in:
2025-07-30 17:44:30 +04:00
parent b8d431ae99
commit cb168b6415
10 changed files with 226 additions and 2 deletions

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

View File

@ -1,8 +1,10 @@
import { combineReducers } from "@reduxjs/toolkit";
import authReducer from "@/lib/features/auth/authSlice";
import projectsReducer from "@/lib/features/projects/projectsSlice";
const rootReducer = combineReducers({
auth: authReducer,
projectsState: projectsReducer,
});
export default rootReducer;