"use client"; import Link from "next/link"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { useLanguage } from "@/app/context/LanguageContext"; export default function LoginPageClient() { const { lang } = useLanguage(); const router = useRouter(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const backLabel = lang === "vi" ? "Quay Về Trang Chủ" : "Back to Home"; const titleLabel = lang === "vi" ? "Đăng Nhập Quản Trị" : "Admin Login"; const emailLabel = lang === "vi" ? "Email" : "Email Address"; const passwordLabel = lang === "vi" ? "Mật Khẩu" : "Password"; const buttonLabel = lang === "vi" ? "Đăng Nhập" : "Log In"; const loadingLabel = lang === "vi" ? "Đang xử lý..." : "Processing..."; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(""); try { const res = await fetch("/ipv6/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email, password }), }); if (res.ok) { router.push("/admin"); } else { const data = await res.json(); setError(data.error || (lang === "vi" ? "Đăng nhập thất bại" : "Login failed")); } } catch (err) { setError(lang === "vi" ? "Đã xảy ra lỗi" : "An error occurred"); } finally { setLoading(false); } }; return (
arrow_back {backLabel}

{titleLabel}

{error && (
{error}
)}
setEmail(e.target.value)} />
setPassword(e.target.value)} />
); }