'use client' import { useState } from 'react' import { createAuthClient } from 'better-auth/react' import { magicLinkClient } from 'better-auth/client/plugins' const authClient = createAuthClient({ baseURL: process.env.NEXT_PUBLIC_APP_URL ?? 'http://localhost:3000', plugins: [magicLinkClient()], }) export default function LoginPage() { const [email, setEmail] = useState('') const [sent, setSent] = useState(false) const [loading, setLoading] = useState(false) const [error, setError] = useState('') async function handleSubmit(e: React.FormEvent) { e.preventDefault() setLoading(true) setError('') const result = await authClient.signIn.magicLink({ email, callbackURL: '/dashboard', }) setLoading(false) if (result.error) { setError(result.error.message ?? 'Ein Fehler ist aufgetreten.') } else { setSent(true) } } return (
{/* Logo */}
I

InnungsApp Admin

Verwaltungsportal für Innungen

{sent ? (

E-Mail gesendet!

Wir haben einen Login-Link an {email} gesendet. Bitte überprüfen Sie Ihr Postfach.

) : ( <>

Anmelden

setEmail(e.target.value)} placeholder="admin@ihre-innung.de" className="w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-brand-500 focus:border-transparent" />
{error && (

{error}

)}

Kein Passwort nötig — Sie erhalten einen Link per E-Mail.

)}
) }