Fix server action structuur in login en tenants pagina's
Inline server actions in page components veroorzaken runtime errors. Verplaatst naar aparte actions.ts / logout.ts bestanden. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-14
@@ -1,8 +1,6 @@
|
||||
"use server";
|
||||
|
||||
import { redirect } from "next/navigation";
|
||||
import { getUserByEmail, verifyPassword, createSession } from "../../lib/auth";
|
||||
import { getSession } from "../../lib/auth";
|
||||
import { login } from "./actions";
|
||||
|
||||
export default async function LoginPage({
|
||||
searchParams,
|
||||
@@ -21,17 +19,7 @@ export default async function LoginPage({
|
||||
Rikx Beheer
|
||||
</h1>
|
||||
<form
|
||||
action={async (formData: FormData) => {
|
||||
"use server";
|
||||
const email = formData.get("email") as string;
|
||||
const password = formData.get("password") as string;
|
||||
const user = getUserByEmail(email);
|
||||
if (!user || !verifyPassword(password, user.password_hash)) {
|
||||
redirect("/login?error=1");
|
||||
}
|
||||
await createSession({ userId: user.id, email: user.email, name: user.name });
|
||||
redirect("/tenants");
|
||||
}}
|
||||
action={login}
|
||||
className="flex flex-col gap-4 bg-white dark:bg-zinc-900 p-8 rounded-xl border border-zinc-200 dark:border-zinc-800"
|
||||
>
|
||||
{error && (
|
||||
|
||||
Reference in New Issue
Block a user