import type { FunctionComponent } from 'preact'; import { useState } from 'preact/hooks'; import { httpPost } from '../../lib/http'; const EmailSignupForm: FunctionComponent = () => { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [name, setName] = useState(''); const [error, setError] = useState(''); const [isLoading, setIsLoading] = useState(false); const onSubmit = async (e: Event) => { e.preventDefault(); setIsLoading(true); setError(''); const { response, error } = await httpPost<{ status: 'ok' }>( `${import.meta.env.PUBLIC_API_URL}/v1-register`, { email, password, name, } ); if (error || response?.status !== 'ok') { setIsLoading(false); setError( error?.message || 'Something went wrong. Please try again later.' ); return; } window.location.href = `/verification-pending?email=${encodeURIComponent( email )}`; }; return (
setName(String((e.target as any).value))} /> setEmail(String((e.target as any).value))} /> setPassword(String((e.target as any).value))} /> {error && (

{error}.

)}
); }; export default EmailSignupForm;