import { useState, type SubmitEvent } from 'react' import { isHandle } from '@atcute/lexicons/syntax' import { signIn } from '../../lib/auth/oauth' import { AccountHandleInput } from './AccountHandleInput' export function LoginForm() { const [isSigningIn, setIsSigningIn] = useState(false) const [error, setError] = useState(null) async function handleSubmit(event: SubmitEvent) { event.preventDefault() if (isSigningIn) return setError(null) const value = new FormData(event.currentTarget).get('handle') const handle = typeof value === 'string' ? value.trim().toLowerCase() : '' if (!isHandle(handle)) { setError('Enter a valid account handle.') return } setIsSigningIn(true) try { await signIn(handle) } catch { setError('Could not start sign-in. Check your handle and try again.') setIsSigningIn(false) } } return (
{error && (

{error}

)} ) }