import { Website } from '@prisma/client'; import { useRef } from 'react'; import { SubmitButton, Form, FormInput, FormRow, FormButtons, TextField, useToasts, } from 'react-basics'; import { useApi, useMessages } from 'components/hooks'; import { DOMAIN_REGEX } from 'lib/constants'; export function WebsiteEditForm({ website, onSave, }: { website: Website; onSave?: (data: any) => void; }) { const { formatMessage, labels, messages } = useMessages(); const { post, useMutation } = useApi(); const { mutate, error } = useMutation({ mutationFn: (data: any) => post(`/websites/${website.id}`, data), }); const ref = useRef(null); const { showToast } = useToasts(); const handleSubmit = async (data: any) => { mutate(data, { onSuccess: async () => { showToast({ message: formatMessage(messages.saved), variant: 'success' }); ref.current.reset(data); onSave?.(data); }, }); }; return (
{formatMessage(labels.save)}
); } export default WebsiteEditForm;