37 lines
909 B
TypeScript
37 lines
909 B
TypeScript
import { useEffect, useState } from "react";
|
|
import { useQueryClient } from "@tanstack/react-query";
|
|
import { DealSchema } from "@/lib/client";
|
|
import { getDealsOptions } from "@/lib/client/@tanstack/react-query.gen";
|
|
|
|
type Props = {
|
|
boardId?: number;
|
|
};
|
|
|
|
const useDealsList = ({ boardId }: Props) => {
|
|
const [deals, setDeals] = useState<DealSchema[]>([]);
|
|
|
|
const queryClient = useQueryClient();
|
|
|
|
const fetchDeals = () => {
|
|
if (!boardId) return;
|
|
queryClient
|
|
.fetchQuery({
|
|
...getDealsOptions({ path: { boardId } }),
|
|
})
|
|
.then(data => {
|
|
setDeals(data.deals);
|
|
})
|
|
.catch(err => {
|
|
console.error(err);
|
|
});
|
|
};
|
|
|
|
useEffect(() => {
|
|
fetchDeals();
|
|
}, [boardId]);
|
|
|
|
return { deals, setDeals, refetch: fetchDeals };
|
|
};
|
|
|
|
export default useDealsList;
|