From 09df4a1bf198f24669d20754ccfe2d1915fc06f1 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 10 Jun 2026 15:40:38 +0000 Subject: [PATCH] Add src/app/admin/dashboard/page.tsx --- src/app/admin/dashboard/page.tsx | 111 +++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 src/app/admin/dashboard/page.tsx diff --git a/src/app/admin/dashboard/page.tsx b/src/app/admin/dashboard/page.tsx new file mode 100644 index 0000000..e2adbb6 --- /dev/null +++ b/src/app/admin/dashboard/page.tsx @@ -0,0 +1,111 @@ +"use client"; + +import { useEffect, useState } from 'react'; +import { useRouter } from 'next/navigation'; +import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider'; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; + +export default function AdminDashboardPage() { + const router = useRouter(); + const [isAdmin, setIsAdmin] = useState(false); + const [loading, setLoading] = useState(true); + + useEffect(() => { + const token = localStorage.getItem('adminToken'); + const cookieToken = document.cookie.split('; ').find(row => row.startsWith('adminToken='))?.split('=')[1]; + + if (token === 'mock-admin-token' && cookieToken === 'mock-admin-token') { + setIsAdmin(true); + } else { + router.push('/admin/login?message=Unauthorized'); + } + setLoading(false); + }, [router]); + + const handleLogout = () => { + localStorage.removeItem('adminToken'); + document.cookie = 'adminToken=; path=/; max-age=0;'; + router.push('/admin/login'); + }; + + 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" } + ]; + + if (loading) { + return ( + + +
+

Loading...

+
+
+ ); + } + + if (!isAdmin) { + return null; + } + + return ( + + + +
+
+

Welcome to Admin Dashboard!

+

This is a protected route, accessible only to authenticated administrators.

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