import { useTranslate } from "@refinedev/core"; import { Button, Form, Input, message } from "antd"; import { useEffect } from "react"; import { useGetSettings, useSetSetting } from "../../utils/querySettings"; export function GeneralSettings() { const settings = useGetSettings(); const setCurrency = useSetSetting("currency"); const [form] = Form.useForm(); const [messageApi, contextHolder] = message.useMessage(); const t = useTranslate(); // Set initial form values useEffect(() => { if (settings.data) { form.setFieldsValue({ currency: JSON.parse(settings.data.currency.value), }); } }, [settings.data, form]); // Popup message if setSetting is successful useEffect(() => { if (setCurrency.isSuccess) { messageApi.success(t("notifications.saveSuccessful")); } }, [setCurrency.isSuccess, messageApi, t]); // Handle form submit const onFinish = (values: { currency: string }) => { // Check if the currency has changed if (settings.data?.currency.value !== JSON.stringify(values.currency)) { setCurrency.mutate({ key: "currency", value: JSON.stringify(values.currency), }); } }; return ( <>
{contextHolder} ); }