Files
sprawozdania-frontend/src/hooks/useReportTodo.jsx
T
2026-05-14 18:21:47 +02:00

22 lines
772 B
React

import { useMutation, useQueryClient } from "@tanstack/react-query";
import { api } from "../lib/apiClient.ts";
export function useUpdateReportTodo (monthId) {
const qc = useQueryClient();
return useMutation({
mutationFn:(data) => api.post(`/reports/todo`, data).then(r => r.data),
onSuccess:(update) => {
const reports = qc.getQueryData(['reports', monthId]);
const newTodo = update.todoItem;
const newReports = reports.map(report => {
if(report.id === update.reportId){
const tmp = report.reportsTodos.filter(r => r.id !== newTodo.id);
tmp.push(newTodo);
return {...report,reportsTodos: tmp, statusTodo: update.reportStatusTodo}
}
return {...report};
});
qc.setQueryData(['reports', monthId], [...newReports]);
},
})
}