'use client' import { Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, } from '@nextui-org/modal' import { Button } from '@nextui-org/button' import { Input } from '@nextui-org/input' import { Link } from '@nextui-org/link' import { useRouter } from 'next/navigation' import { useState } from 'react' export default function SignUpForm() { const router = useRouter() const onSubmit = async () => { const body = { username, email, password, password_confirm: passwordConfirm, } const response = await fetch('/api/auth/signup', { method: 'POST', body: JSON.stringify(body), }) const responseData = await response.json() if (responseData.status === 200) { setUsername('') setEmail('') setPassword('') setPasswordConfirm('') return } if (responseData.message) { setEmailInvalid(true) } } const [username, setUsername] = useState('') const [email, setEmail] = useState('') const [password, setPassword] = useState('') const [passwordConfirm, setPasswordConfirm] = useState('') const [emailInvalid, setEmailInvalid] = useState(false) const [passwordInvalid, setPasswordInvalid] = useState(false) return ( <> {() => ( <> Sign Up { setUsername(event.target.value) }} /> { setEmailInvalid(false) setEmail(event.target.value) }} color={emailInvalid ? 'danger' : 'default'} errorMessage={ emailInvalid && 'Account already exist' } validationState={ emailInvalid ? 'invalid' : 'valid' } /> { setPassword(event.target.value) }} /> { setPasswordConfirm(event.target.value) }} />
Already have an account? Login
)}
) }