feat: modernize landing page design, localize login/forgot password forms, and add public privacy/imprint pages
All checks were successful
Staging Build / build (push) Successful in 2m42s

This commit is contained in:
DanielS
2026-06-25 22:25:11 +02:00
parent 08382ff4a1
commit e93cf7805c
8 changed files with 525 additions and 114 deletions

View File

@@ -33,7 +33,7 @@ export function ForgotPasswordForm({
await resetPassword(email);
setSuccess(true);
} catch (error: unknown) {
setError(error instanceof Error ? error.message : "An error occurred");
setError(error instanceof Error ? error.message : "Ein Fehler ist aufgetreten.");
} finally {
setIsLoading(false);
}
@@ -44,34 +44,34 @@ export function ForgotPasswordForm({
{success ? (
<Card>
<CardHeader>
<CardTitle className="text-2xl">Check Your Email</CardTitle>
<CardDescription>Password reset instructions sent</CardDescription>
<CardTitle className="text-2xl">E-Mails prüfen</CardTitle>
<CardDescription>Link zum Zurücksetzen gesendet</CardDescription>
</CardHeader>
<CardContent>
<p className="text-sm text-muted-foreground">
If you registered using your email and password, you will receive
a password reset email.
Wenn Sie sich mit E-Mail und Passwort registriert haben, erhalten Sie
in Kürze eine E-Mail zum Zurücksetzen Ihres Passworts.
</p>
</CardContent>
</Card>
) : (
<Card>
<CardHeader>
<CardTitle className="text-2xl">Reset Your Password</CardTitle>
<CardTitle className="text-2xl">Passwort zurücksetzen</CardTitle>
<CardDescription>
Type in your email and we&apos;ll send you a link to reset your
password
Geben Sie Ihre E-Mail-Adresse ein. Wir senden Ihnen einen Link,
um Ihr Passwort zurückzusetzen.
</CardDescription>
</CardHeader>
<CardContent>
<form onSubmit={handleForgotPassword}>
<div className="flex flex-col gap-6">
<div className="grid gap-2">
<Label htmlFor="email">Email</Label>
<Label htmlFor="email">E-Mail</Label>
<Input
id="email"
type="email"
placeholder="m@example.com"
placeholder="name@beispiel.de"
required
value={email}
onChange={(e) => setEmail(e.target.value)}
@@ -79,16 +79,16 @@ export function ForgotPasswordForm({
</div>
{error && <p className="text-sm text-red-500">{error}</p>}
<Button type="submit" className="w-full" disabled={isLoading}>
{isLoading ? "Sending..." : "Send reset email"}
{isLoading ? "Wird gesendet..." : "Link senden"}
</Button>
</div>
<div className="mt-4 text-center text-sm">
Already have an account?{" "}
Bereits ein Konto vorhanden?{" "}
<Link
href="/auth/login"
className="underline underline-offset-4"
>
Login
Anmelden
</Link>
</div>
</form>