feat: status updating on the server and statuses fetching
This commit is contained in:
@ -1,21 +1,17 @@
|
||||
"use client";
|
||||
|
||||
import React, {
|
||||
createContext,
|
||||
FC,
|
||||
useContext,
|
||||
useEffect,
|
||||
useState,
|
||||
} from "react";
|
||||
import React, { createContext, FC, useContext, useEffect } from "react";
|
||||
import { useBoardsContext } from "@/app/deals/contexts/BoardsContext";
|
||||
import { DealSchema, StatusSchema } from "@/client";
|
||||
import useDealsList from "@/hooks/useDealsList";
|
||||
import useStatusesList from "@/hooks/useStatusesList";
|
||||
|
||||
type StatusesContextState = {
|
||||
statuses: StatusSchema[];
|
||||
setStatuses: React.Dispatch<React.SetStateAction<StatusSchema[]>>;
|
||||
deals: DealSchema[];
|
||||
setDeals: React.Dispatch<React.SetStateAction<DealSchema[]>>;
|
||||
refetchStatuses: () => void;
|
||||
};
|
||||
|
||||
const StatusesContext = createContext<StatusesContextState | undefined>(
|
||||
@ -23,12 +19,14 @@ const StatusesContext = createContext<StatusesContextState | undefined>(
|
||||
);
|
||||
|
||||
const useStatusesContextState = () => {
|
||||
const [statuses, setStatuses] = useState<StatusSchema[]>([]);
|
||||
const { selectedBoard } = useBoardsContext();
|
||||
const { statuses, setStatuses, refetch } = useStatusesList({
|
||||
boardId: selectedBoard?.id,
|
||||
});
|
||||
const { deals, setDeals } = useDealsList({ boardId: selectedBoard?.id });
|
||||
|
||||
useEffect(() => {
|
||||
setStatuses(selectedBoard?.statuses ?? []);
|
||||
refetch();
|
||||
}, [selectedBoard]);
|
||||
|
||||
return {
|
||||
@ -36,6 +34,7 @@ const useStatusesContextState = () => {
|
||||
setStatuses,
|
||||
deals,
|
||||
setDeals,
|
||||
refetchStatuses: refetch,
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user