refactor: crud objects in contexts
This commit is contained in:
@ -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,
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user