import { useMutation, useQuery } from "@tanstack/react-query"; import { sendBlobFileUpload } from "../components/SettingForms/System/Upload"; import { toast } from "sonner"; import { handleSystemSave, handleSystemRecall, } from "../components/SettingForms/System/SettingSaveRecall"; import { useEffect } from "react"; export const useSystemConfig = () => { const uploadSettingsMutation = useMutation({ mutationKey: ["uploadSettings"], mutationFn: sendBlobFileUpload, onError: (error) => toast.error(error.message, { id: "uploadSettings", }), onSuccess: (test) => toast(test, { id: "uploadSettings", }), }); const saveSystemSettings = useMutation({ mutationKey: ["systemSaveSettings"], mutationFn: handleSystemSave, onError: (error) => toast.error(error.message, { id: "systemSettings", }), }); const getSystemSettings = useQuery({ queryKey: ["getSystemSettings"], queryFn: handleSystemRecall, }); useEffect(() => { if (getSystemSettings.isError) toast.error(getSystemSettings.error.message, { id: "systemSettings", }); }, [getSystemSettings?.error?.message, getSystemSettings.isError]); return { uploadSettings: uploadSettingsMutation.mutate, saveSystemSettings: saveSystemSettings.mutate, systemSettingsData: getSystemSettings.data, systemSettingsError: getSystemSettings.error, saveSystemSettingsError: saveSystemSettings.isError, saveSystemSettingsLoading: saveSystemSettings.isPending, }; };