import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { registrationsApi } from '../api/registrations.api'; import { RegistrationCreate } from '../types/registration.types'; export function useMyRegistrations() { return useQuery({ queryKey: ['registrations', 'my'], queryFn: registrationsApi.myRegistrations, }); } export function useSubmitRegistration() { const queryClient = useQueryClient(); return useMutation({ mutationFn: (data: RegistrationCreate) => registrationsApi.submit(data), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['registrations', 'my'] }); }, }); } export function useWithdrawRegistration() { const queryClient = useQueryClient(); return useMutation({ mutationFn: (id: string) => registrationsApi.withdrawRegistration(id), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['registrations', 'my'] }); }, }); }