import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import { exchangeSettingsService } from "@/services/exchangeSettings.service"; import { useErrorHandler } from "@/shared/hooks/useErrorHandler"; const QUERY_KEY = ["exchangeSettings"]; export const useExchangeSettingsQuery = () => useQuery({ queryKey: QUERY_KEY, queryFn: () => exchangeSettingsService.get(), // Feed health is only interesting while it is being looked at. staleTime: 30_000, refetchOnWindowFocus: true, }); export const useSetExchangeFallbackRate = () => { const queryClient = useQueryClient(); const { t } = useTranslation(); const { handleError } = useErrorHandler(t); return useMutation({ mutationFn: (rate: number) => exchangeSettingsService.setFallbackRate(rate), onSuccess: () => { queryClient.invalidateQueries({ queryKey: QUERY_KEY }); toast.success( t("exchangeSettings.updated", "Fallback exchange rate updated"), ); }, onError: handleError, }); };