import { FormTextAreaField } from "@/components"; import { Alert, AlertDescription, AlertTitle, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Form, } from "@/ui"; import { t } from "i18next"; import { AlertCircleIcon } from "lucide-react"; import { useState } from "react"; import { SubmitHandler, useForm } from "react-hook-form"; import { Trans } from "react-i18next"; import { Link } from "react-router-dom"; import { useSettings } from "./hooks"; type SettingsDataForm = { contact_information: string; default_payment_method: string; default_notes: string; default_legal_terms: string; default_quote_validity: string; }; export const SettingsEditor = () => { const [loading, setLoading] = useState(false); const { query: { data }, mutation: { mutate }, } = useSettings(); console.log(data); const form = useForm({ mode: "onBlur", defaultValues: { contact_information: data?.contact_information ?? "", default_payment_method: data?.default_payment_method ?? "", default_notes: data?.default_notes ?? "", default_legal_terms: data?.default_legal_terms ?? "", default_quote_validity: data?.default_quote_validity ?? "", }, /*resolver: joiResolver( Joi.object({ email: Joi.string() .email({ tlds: { allow: false } }) .required(), password: Joi.string().min(4).alphanum().required(), }), { messages: SpanishJoiMessages, } ),*/ }); const onSubmit: SubmitHandler = async (data) => { try { setLoading(true); console.log(data); mutate(data); } finally { setLoading(false); } }; return (
{form.formState.errors.root?.message && ( {form.formState.errors.root?.message} )}
); };