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 } from "react";
import { BoardsCrud, useBoardsCrud } from "@/hooks/useBoardsCrud";
import useBoardsList from "@/hooks/useBoardsList";
import { useBoardsOperations } from "@/hooks/useBoardsOperations";
import { BoardSchema, ProjectSchema, UpdateBoardSchema } from "@/lib/client";
import { BoardSchema, ProjectSchema } from "@/lib/client";
type ProjectBoardsContextState = {
boards: BoardSchema[];
setBoards: React.Dispatch<React.SetStateAction<BoardSchema[]>>;
project: ProjectSchema;
refetchBoards: () => void;
onCreateBoard: (name: string) => void;
onUpdateBoard: (boardId: number, board: UpdateBoardSchema) => void;
onDeleteBoard: (board: BoardSchema) => void;
boardsCrud: BoardsCrud;
};
const ProjectBoardsContext = createContext<
@ -30,7 +28,7 @@ const useProjectBoardsContextState = ({ project }: Props) => {
refetch: refetchBoards,
} = useBoardsList({ projectId: project?.id });
const { onCreate, onUpdate, onDelete } = useBoardsOperations({
const boardsCrud = useBoardsCrud({
boards,
setBoards,
refetchBoards,
@ -42,9 +40,7 @@ const useProjectBoardsContextState = ({ project }: Props) => {
setBoards,
project,
refetchBoards,
onCreateBoard: onCreate,
onUpdateBoard: onUpdate,
onDeleteBoard: onDelete,
boardsCrud,
};
};