From fe6bb264b0ef850da41b3f00d1289a6443cecbdb Mon Sep 17 00:00:00 2001 From: Hikmet Date: Wed, 8 Jul 2026 10:17:24 +0300 Subject: [PATCH] feat: allow custom account login and add auth page cross-links --- src/app/login/page.tsx | 73 ++++++++++++++++++++++++++++++++++----- src/app/register/page.tsx | 42 +++++++++++++++++++--- 2 files changed, 102 insertions(+), 13 deletions(-) diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 2ac007d..a4793b9 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -3,16 +3,37 @@ import { useState } from "react"; export default function LoginPage() { - const [email, setEmail] = useState("demo@winninghunter.local"); - const [password, setPassword] = useState("demo1234"); + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); const [error, setError] = useState(""); async function submit(e: React.FormEvent) { e.preventDefault(); setError(""); - const res = await fetch("/api/auth/login", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ email, password }) }); + const res = await fetch("/api/auth/login", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ email, password }) + }); if (!res.ok) { - setError("Giriş başarısız. Demo: demo@winninghunter.local / demo1234"); + setError("Giriş başarısız. Demo hesap için aşağıdaki butonu kullanabilir veya bilgileri elle girebilirsiniz (demo@winninghunter.local / demo1234)."); + return; + } + location.href = "/dashboard/ads"; + } + + async function loginAsDemo(e: React.MouseEvent) { + e.preventDefault(); + setError(""); + const demoEmail = "demo@winninghunter.local"; + const demoPassword = "demo1234"; + const res = await fetch("/api/auth/login", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ email: demoEmail, password: demoPassword }) + }); + if (!res.ok) { + setError("Demo girişi başarısız. Demo veritabanı kurulmamış olabilir."); return; } location.href = "/dashboard/ads"; @@ -22,14 +43,48 @@ export default function LoginPage() {

Giriş yap

-

Demo hesap hazır gelir.

+

Kendi oluşturduğunuz hesapla veya hazır demo hesapla giriş yapabilirsiniz.

+ - setEmail(e.target.value)} /> + setEmail(e.target.value)} + required + /> + - setPassword(e.target.value)} /> + setPassword(e.target.value)} + required + /> + {error &&
{error}
} - - Hesap oluştur + + + + + +
+ Hesabınız yok mu? + + Hesap oluştur + +
); diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx index 17d8dab..27e5272 100644 --- a/src/app/register/page.tsx +++ b/src/app/register/page.tsx @@ -23,14 +23,48 @@ export default function RegisterPage() {

Ücretsiz başla

+ - setName(e.target.value)} /> + setName(e.target.value)} + required + /> + - setEmail(e.target.value)} /> + setEmail(e.target.value)} + required + /> + - setPassword(e.target.value)} /> + setPassword(e.target.value)} + required + /> + {error &&
{error}
} - + + + +
+ Zaten hesabınız var mı? + + Giriş yap + +
);