import { useState, type FormEvent } from 'react' import toast from 'react-hot-toast' import * as m from 'paraglide/messages.js' import Button from 'components/Button' import Modal from 'components/Modal' import { Input } from 'components/form/Input' import { signUp } from 'utils/auth-client' export default function RegisterBtn() { const [modalOpen, setModalOpen] = useState(false) const [loading, setLoading] = useState(false) async function handleSubmit(ev: FormEvent) { ev.preventDefault() const formData = new FormData(ev.currentTarget) const variables = Object.fromEntries(formData) as { username: string name: string password: string email: string } setLoading(true) await signUp.email(variables, { onSuccess: () => { toast.success(m.emailSuccess(), { duration: Infinity }) setLoading(false) setModalOpen(false) }, onError: (ctx) => { console.log(ctx.error) toast.error(ctx.error.message) setLoading(false) } }) } return ( <> {modalOpen ? (
) : null} ) }