"use client"; import React, { useState, useEffect, Suspense } from "react"; import { useRouter, useSearchParams } from "next/navigation"; import Link from "next/link"; import { loginAdmin, getAdminSession } from "@/lib/admin-auth"; function AdminLoginForm() { const router = useRouter(); const searchParams = useSearchParams(); const callbackUrl = searchParams.get("callbackUrl") || "/admin"; const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); const [errorMsg, setErrorMsg] = useState(""); const [isLoading, setIsLoading] = useState(false); useEffect(() => { // If already logged in, redirect straight to admin dashboard const session = getAdminSession(); if (session) { router.replace(callbackUrl); } }, [router, callbackUrl]); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!email.trim() || !password.trim()) { setErrorMsg("Lütfen e-posta ve şifrenizi girin."); return; } setIsLoading(true); setErrorMsg(""); try { const res = await loginAdmin(email, password); if (res.success) { router.replace(callbackUrl); } else { setErrorMsg(res.error || "Giriş başarısız."); } } catch { setErrorMsg("Bir hata oluştu. Lütfen tekrar deneyin."); } finally { setIsLoading(false); } }; const handleQuickDemoLogin = () => { setEmail("admin@menul.io"); setPassword("menulio2026"); }; return (
QR Şablon Stüdyosu ve Sistem Yönetim Paneli