gendesign/frontend/src/hooks/useBestLayouts.ts
lekss361 256909d28b
All checks were successful
Deploy / changes (push) Successful in 5s
Deploy / build-backend (push) Successful in 1m38s
Deploy / build-worker (push) Successful in 3m3s
Deploy / build-frontend (push) Successful in 2m8s
Deploy / deploy (push) Successful in 38s
feat(layouts): PDF ТЗ endpoint + BestLayoutsBlock UI (#113 PR D) (#199)
2026-05-16 09:53:05 +00:00

29 lines
792 B
TypeScript

"use client";
import { useMutation } from "@tanstack/react-query";
import { apiFetch } from "@/lib/api";
import type {
BestLayoutsRequest,
BestLayoutsResponse,
} from "@/types/best-layouts";
/**
* TanStack Query mutation for POST /api/v1/parcels/{cad_num}/best-layouts.
*
* Usage:
* const { mutate, data, isPending, error } = useBestLayouts(cadNum);
* mutate(requestBody);
*/
export function useBestLayouts(cadNum: string) {
return useMutation({
mutationKey: ["best-layouts", cadNum],
mutationFn: (body: BestLayoutsRequest): Promise<BestLayoutsResponse> =>
apiFetch<BestLayoutsResponse>(
`/api/v1/parcels/${encodeURIComponent(cadNum)}/best-layouts`,
{
method: "POST",
body: JSON.stringify(body),
},
),
});
}