refactor: crud objects in contexts

This commit is contained in:
2025-08-23 11:20:32 +04:00
parent f2084ae3d4
commit 6ad813ea1d
25 changed files with 120 additions and 128 deletions

View File

@ -1,18 +1,16 @@
"use client";
import React, { createContext, FC, useContext, useState } from "react";
import { ProjectsCrud, useProjectsCrud } from "@/hooks/useProjectsCrud";
import useProjectsList from "@/hooks/useProjectsList";
import { useProjectsOperations } from "@/hooks/useProjectsOperations";
import { ProjectSchema, UpdateProjectSchema } from "@/lib/client";
import { ProjectSchema } from "@/lib/client";
type ProjectsContextState = {
selectedProject: ProjectSchema | null;
setSelectedProjectId: React.Dispatch<React.SetStateAction<number | null>>;
refetchProjects: () => Promise<void>;
projects: ProjectSchema[];
onCreateProject: (name: string) => void;
onUpdateProject: (projectId: number, project: UpdateProjectSchema) => void;
onDeleteProject: (project: ProjectSchema) => void;
projectsCrud: ProjectsCrud;
};
const ProjectsContext = createContext<ProjectsContextState | undefined>(
@ -36,7 +34,7 @@ const useProjectsContextState = () => {
setSelectedProjectId(projects[0].id);
}
const { onCreate, onUpdate, onDelete } = useProjectsOperations({
const projectsCrud = useProjectsCrud({
projects,
setProjects,
refetchProjects,
@ -47,9 +45,7 @@ const useProjectsContextState = () => {
selectedProject,
refetchProjects,
setSelectedProjectId,
onCreateProject: onCreate,
onUpdateProject: onUpdate,
onDeleteProject: onDelete,
projectsCrud,
};
};