Files
gridpilot.gg/apps/website/lib/hooks/league/usePenaltyMutation.ts
2026-01-12 01:01:49 +01:00

19 lines
702 B
TypeScript

import { useMutation, useQueryClient } from '@tanstack/react-query';
import { useInject } from '@/lib/di/hooks/useInject';
import { PENALTY_SERVICE_TOKEN } from '@/lib/di/tokens';
export function usePenaltyMutation() {
const penaltyService = useInject(PENALTY_SERVICE_TOKEN);
const queryClient = useQueryClient();
const applyPenaltyMutation = useMutation({
mutationFn: (command: any) => penaltyService.applyPenalty(command),
onSuccess: () => {
// Invalidate relevant queries to refresh data
queryClient.invalidateQueries({ queryKey: ['leagueStewardingData'] });
queryClient.invalidateQueries({ queryKey: ['penalties'] });
},
});
return applyPenaltyMutation;
}