import CodeEditor from "@uiw/react-textarea-code-editor"; import { Field, Form, Formik } from "formik"; import { type ReactNode, useState } from "react"; import { Alert } from "react-bootstrap"; import { Button, Loading } from "src/components"; import { useSetSetting, useSetting } from "src/hooks"; import { intl, T } from "src/locale"; import { validateString } from "src/modules/Validations"; import { showObjectSuccess } from "src/notifications"; export default function DefaultSite() { const { data, isLoading, error } = useSetting("default-site"); const { mutate: setSetting } = useSetSetting(); const [errorMsg, setErrorMsg] = useState(null); const [isSubmitting, setIsSubmitting] = useState(false); const onSubmit = async (values: any, { setSubmitting }: any) => { if (isSubmitting) return; setIsSubmitting(true); setErrorMsg(null); const payload = { id: "default-site", value: values.value, meta: { redirect: values.redirect, html: values.html, }, }; setSetting(payload, { onError: (err: any) => setErrorMsg(), onSuccess: () => { showObjectSuccess("setting", "saved"); }, onSettled: () => { setIsSubmitting(false); setSubmitting(false); }, }); }; if (!isLoading && error) { return (
{error.message}
); } if (isLoading) { return (
); } return ( {({ values }) => (
setErrorMsg(null)} dismissible> {errorMsg} {({ field, form }: any) => (
)}
{values.value === "redirect" && ( {({ field, form }: any) => (
{form.errors.redirect ? (
{form.errors.redirect && form.touched.redirect ? form.errors.redirect : null}
) : null}
)}
)} {values.value === "html" && ( {({ field, form }: any) => (
{form.errors.html ? (
{form.errors.html && form.touched.html ? form.errors.html : null}
) : null}
)}
)}
)}
); }