import { useState } from 'react' import { useSession, signIn } from '../lib/auth-client' import Input from './input' import Button from './button' export default function Auth({ children }) { const { data: session, isPending } = useSession() const isUser = !!session?.user const [email, setEmail] = useState('') const [loading, setLoading] = useState(false) const [sent, setSent] = useState(false) const [error, setError] = useState('') if (isPending) return
Loading...
if (isUser) return children if (process.env.NEXT_PUBLIC_GITHUB_ENABLED) { signIn.social({ provider: "github", callbackURL: window.location.href }) return
Loading...
} if (sent) return
E-Mail verschickt — bitte prüfe dein Postfach.
async function handleSubmit(e: React.FormEvent) { e.preventDefault() setLoading(true) setError('') const result = await signIn.magicLink({ email, callbackURL: window.location.href }) if (result.error) setError(result.error.message) else setSent(true) setLoading(false) } return (
setEmail(e.target.value)} required /> {error &&

{error}

}
) }