feat: add password recovery and everyday workflow improvements
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import Link from "next/link";
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/components/ui/card";
|
||||
import { isPasswordResetValid } from "@/lib/password-management";
|
||||
import { PasswordForm } from "../../passwort-vergessen/password-form";
|
||||
export const metadata = {
|
||||
title: "Neues Passwort · Kita-Planer",
|
||||
robots: { index: false, follow: false },
|
||||
};
|
||||
export default async function ResetPasswordPage({
|
||||
params,
|
||||
}: {
|
||||
params: Promise<{ token: string }>;
|
||||
}) {
|
||||
const { token } = await params;
|
||||
const valid = await isPasswordResetValid(token);
|
||||
return (
|
||||
<div className="flex min-h-screen items-center justify-center bg-[var(--bg)] px-5 py-12">
|
||||
<Card className="w-full max-w-md">
|
||||
<CardHeader>
|
||||
<CardTitle>
|
||||
{valid
|
||||
? "Neues Passwort festlegen"
|
||||
: "Dieser Link ist nicht mehr gültig"}
|
||||
</CardTitle>
|
||||
<CardDescription>
|
||||
{valid
|
||||
? "Wähle ein neues Passwort für dein Kita-Planer-Konto."
|
||||
: "Der Link ist abgelaufen, wurde bereits verwendet oder ist ungültig. Du kannst einen neuen Link anfordern."}
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
{valid ? (
|
||||
<PasswordForm mode="reset" token={token} />
|
||||
) : (
|
||||
<Link
|
||||
href="/passwort-vergessen"
|
||||
className="text-sm font-semibold text-[var(--accent-deep)] underline underline-offset-4"
|
||||
>
|
||||
Neuen Link anfordern
|
||||
</Link>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user