From f92bfbcb4fb0e98bb05c6c65a1525aecec270b62 Mon Sep 17 00:00:00 2001 From: panggilsajarey <150323912+raynard05@users.noreply.github.com> Date: Wed, 20 May 2026 09:20:28 +0700 Subject: [PATCH] logic fixing --- app/actions.ts | 15 ++++++++++++--- app/page.tsx | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/app/actions.ts b/app/actions.ts index f4be0bf..c8eda0f 100644 --- a/app/actions.ts +++ b/app/actions.ts @@ -7,10 +7,11 @@ import { cookies } from 'next/headers' export async function login(prevState: any, formData: FormData) { const username = formData.get('username') as string const password = formData.get('password') as string + const kodeUnikNik = formData.get('kode_unik_nik') as string const remember = formData.get('remember') === 'on' - if (!username || !password) { - return { message: 'Username and password are required' } + if (!username || !password || !kodeUnikNik) { + return { message: 'Username, password, dan Kode Unik / NIK wajib diisi' } } try { @@ -23,6 +24,10 @@ export async function login(prevState: any, formData: FormData) { .single() if (petugas) { + if (petugas.kode_unik !== kodeUnikNik) { + return { message: 'Kode Unik tidak valid' } + } + // Set session/cookie for Admin // In a real app, use a secure session library. For this demo, simple cookies. const cookieStore = await cookies() @@ -45,6 +50,10 @@ export async function login(prevState: any, formData: FormData) { .single() if (user) { + if (user.NIK !== kodeUnikNik) { + return { message: 'NIK tidak valid' } + } + // Set session/cookie for User const cookieStore = await cookies() cookieStore.set('user_session', JSON.stringify({ @@ -57,7 +66,7 @@ export async function login(prevState: any, formData: FormData) { redirect('/user-dashboard') // Redirect to user dashboard } - return { message: 'Invalid username or password' } + return { message: 'Username atau password salah' } } catch (error: any) { if (error.message === 'NEXT_REDIRECT') { diff --git a/app/page.tsx b/app/page.tsx index 8376c85..64e584d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -135,6 +135,22 @@ export default function LoginPage() { +
+ +
+
+ +
+ +
+
+