From d38fb170e88136099c08812a6250a25761b3e79b Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 10 Jun 2026 15:40:39 +0000 Subject: [PATCH] Add src/app/admin/login/page.tsx --- src/app/admin/login/page.tsx | 101 +++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 src/app/admin/login/page.tsx diff --git a/src/app/admin/login/page.tsx b/src/app/admin/login/page.tsx new file mode 100644 index 0000000..2e6eda5 --- /dev/null +++ b/src/app/admin/login/page.tsx @@ -0,0 +1,101 @@ +"use client"; + +import { useState } from 'react'; +import { useRouter } from 'next/navigation'; +import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider'; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; + +export default function AdminLoginPage() { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [error, setError] = useState(''); + const router = useRouter(); + + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + + if (email === "admin@demo.com" && password === "Admin@123") { + localStorage.setItem('adminToken', 'mock-admin-token'); + document.cookie = 'adminToken=mock-admin-token; path=/; max-age=3600;'; + router.push('/admin/dashboard'); + } else { + setError('Invalid email or password.'); + } + }; + + const navItems = [ + { name: "Home", id: "/" }, + { name: "Services", id: "/services" }, + { name: "Pricing", id: "/pricing" }, + { name: "FAQ", id: "/faq" }, + { name: "Contact", id: "/contact" }, + { name: "Admin Login", id: "/admin/login" } + ]; + + return ( + + + +
+
+

Admin Login

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

{error}

} + +
+
+
+
+ ); +} \ No newline at end of file