task-d.7.8

This commit is contained in:
phaichayon
2026-07-03 10:19:03 +07:00
parent 110c2f9e7f
commit 9b05743b1e
18 changed files with 1980 additions and 16 deletions

View File

@@ -0,0 +1,42 @@
'use client';
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { completeSetupRun, saveSetupStep, startSetupRun } from './service';
import { setupKeys } from './queries';
import type { SaveSetupStepPayload } from './types';
function useInvalidateSetupRun() {
const queryClient = useQueryClient();
return () => {
queryClient.invalidateQueries({ queryKey: setupKeys.run() });
queryClient.invalidateQueries({ queryKey: setupKeys.report() });
};
}
export function useStartSetupRun() {
const invalidate = useInvalidateSetupRun();
return useMutation({
mutationFn: () => startSetupRun(),
onSuccess: invalidate
});
}
export function useSaveSetupStep() {
const invalidate = useInvalidateSetupRun();
return useMutation({
mutationFn: (payload: SaveSetupStepPayload) => saveSetupStep(payload),
onSuccess: invalidate
});
}
export function useCompleteSetupRun() {
const invalidate = useInvalidateSetupRun();
return useMutation({
mutationFn: (report: Record<string, unknown>) => completeSetupRun(report),
onSuccess: invalidate
});
}