Files
gridpilot.gg/apps/website/hooks/league/usePenaltyMutation.ts
2026-01-16 01:00:03 +01:00

19 lines
706 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: unknown) => penaltyService.applyPenalty(command),
onSuccess: () => {
// Invalidate relevant queries to refresh data
queryClient.invalidateQueries({ queryKey: ['leagueStewardingData'] });
queryClient.invalidateQueries({ queryKey: ['penalties'] });
},
});
return applyPenaltyMutation;
}