set up action properly

This commit is contained in:
pramod mahajan 2025-07-24 14:20:38 +05:30
parent c14fdae4f7
commit 034099c23a
2 changed files with 21 additions and 14 deletions

View File

@ -16,6 +16,7 @@ const ViewExpense = ({ ExpenseId }) => {
register,
handleSubmit,
setValue,
reset,
formState: { errors },
} = useForm({
resolver: zodResolver(ActionSchema),
@ -25,11 +26,11 @@ const ViewExpense = ({ ExpenseId }) => {
},
});
const { mutate: MakeAction } = useActionOnExpense();
const { mutate: MakeAction } = useActionOnExpense(()=>reset());
const onSubmit = (formData) => {
const Payload = {
expenseId: ExpenseId?.id,
expenseId: ExpenseId,
statusId: formData.selectedStatus,
comment: formData.comment,
};
@ -226,7 +227,7 @@ const ViewExpense = ({ ExpenseId }) => {
<input type="hidden" {...register("selectedStatus")} />
<div className="d-flex flex-wrap gap-2 my-2">
<div className="text-center flex-wrap gap-2 my-2">
{data.nextStatus.map((status, index) => (
<button
key={index}
@ -235,12 +236,8 @@ const ViewExpense = ({ ExpenseId }) => {
setValue("selectedStatus", status.id);
handleSubmit(onSubmit)();
}}
className="badge cursor-pointer border-0"
style={{
backgroundColor: status.color || "#6c757d",
color: "#fff",
fontSize: "0.85rem",
}}
className="btn btn-primary btn-sm cursor-pointer mx-2 border-0"
>
{status.displayName || status.name}
</button>

View File

@ -101,9 +101,9 @@ export const useUpdateExpense = (onSuccessCallBack) => {
// };
// }
// );
queryClient.removeQueries({queryKey:['Expense', variables.id]});
queryClient.invalidateQueries({queryKey:['Expenses']})
showToast('Expense updated Successfully', 'success');
queryClient.removeQueries({ queryKey: ["Expense", variables.id] });
queryClient.invalidateQueries({ queryKey: ["Expenses"] });
showToast("Expense updated Successfully", "success");
if (onSuccessCallBack) onSuccessCallBack();
},
@ -119,11 +119,11 @@ export const useActionOnExpense = (onSuccessCallBack) => {
return response.data;
},
onSuccess: (updatedExpense, variables) => {
showToast("Expense updated successfully", "success");
showToast("Request processed successfully.", "success");
queryClient.setQueriesData(
{
queryKey: ["expenses"],
queryKey: ["Expenses"],
exact: false,
},
(oldData) => {
@ -142,6 +142,16 @@ export const useActionOnExpense = (onSuccessCallBack) => {
};
}
);
queryClient.setQueriesData(
{ queryKey: ["Expense", updatedExpense.id] },
(oldData) => {
return {
...oldData,
nextStatus: updatedExpense.nextStatus,
status: updatedExpense.status,
};
}
);
if (onSuccessCallBack) onSuccessCallBack();
},