+
);
-}
\ No newline at end of file
+}
diff --git a/sites/mainweb/components/portal/AdminSidebar.tsx b/sites/mainweb/components/portal/AdminSidebar.tsx
new file mode 100644
index 00000000..949417b0
--- /dev/null
+++ b/sites/mainweb/components/portal/AdminSidebar.tsx
@@ -0,0 +1,100 @@
+'use client';
+
+import { useState } from 'react';
+import Link from 'next/link';
+import { usePathname } from 'next/navigation';
+import { useSession, signOut } from 'next-auth/react';
+import { LayoutDashboard, Code, ClipboardList, Users, FileText, BarChart3, Settings, LogOut, Menu } from 'lucide-react';
+
+const routes = [
+ { name: 'Events', href: '/admin', icon: LayoutDashboard },
+ { name: 'Hackathons', href: '/admin/hackathons', icon: Code },
+ { name: 'Judging', href: '/admin/judging', icon: ClipboardList },
+ { name: 'Attendees', href: '/admin/attendees', icon: Users },
+ { name: 'Projects', href: '/admin/projects', icon: FileText },
+ { name: 'Analytics', href: '/admin/analytics', icon: BarChart3 },
+ { name: 'Settings', href: '/admin/settings', icon: Settings },
+];
+
+export default function AdminSidebar() {
+ const [isOpen, setIsOpen] = useState(true);
+ const pathname = usePathname();
+ const { data: session } = useSession();
+
+ return (
+
+ {/* Header */}
+
+ {isOpen && (
+
+ )}
+ {!isOpen && (
+
+
+
+ )}
+
+ {/* Toggle button */}
+
+
+
+ {/* Navigation */}
+
+
+ {/* User section */}
+
+
+

+ {isOpen && (
+
+
{session?.user?.name || 'Admin User'}
+
{session?.user?.email || 'Admin'}
+
+ )}
+ {!isOpen && (
+

+ )}
+
+ {isOpen && (
+
+ )}
+
+
+ );
+}
diff --git a/sites/mainweb/components/portal/Background.tsx b/sites/mainweb/components/portal/Background.tsx
deleted file mode 100644
index 95ec237e..00000000
--- a/sites/mainweb/components/portal/Background.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import React from 'react';
-
-const Background = ({ className = "" }: { className?: string }) => {
- return (
-
- {/* Primary Glow */}
-
-
- {/* Secondary Orbital Glows */}
-
-
-
- {/* Technical Grid Overlay */}
-
-
- );
-};
-
-export default Background;
diff --git a/sites/mainweb/components/portal/Spinner.tsx b/sites/mainweb/components/portal/Spinner.tsx
deleted file mode 100644
index 8906eaa9..00000000
--- a/sites/mainweb/components/portal/Spinner.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-export function Spinner({ className }: { className?: string }) {
- return (
-
- );
-}