import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import { stampSettingsService } from "@/services/stampSettings.service"; import { useErrorHandler } from "@/shared/hooks/useErrorHandler"; const QUERY_KEY = ["stampSettings"]; export const useStampSettingsQuery = () => useQuery({ queryKey: QUERY_KEY, queryFn: () => stampSettingsService.get(), }); export const useSetStamp = () => { const queryClient = useQueryClient(); const { t } = useTranslation(); const { handleError } = useErrorHandler(t); return useMutation({ mutationFn: (stampImageBase64: string) => stampSettingsService.set(stampImageBase64), onSuccess: () => { queryClient.invalidateQueries({ queryKey: QUERY_KEY }); toast.success(t("stampSettings.updated", "Company stamp updated")); }, onError: handleError, }); }; export const useClearStamp = () => { const queryClient = useQueryClient(); const { t } = useTranslation(); const { handleError } = useErrorHandler(t); return useMutation({ mutationFn: () => stampSettingsService.clear(), onSuccess: () => { queryClient.invalidateQueries({ queryKey: QUERY_KEY }); toast.success(t("stampSettings.cleared", "Company stamp removed")); }, onError: handleError, }); };