diff --git a/components/Layout.js b/components/Layout.js
index 3ab4196..507c576 100644
--- a/components/Layout.js
+++ b/components/Layout.js
@@ -3,6 +3,125 @@ import { useRouter } from 'next/router';
import Link from 'next/link';
import { useTheme } from '../lib/theme-context';
+// User Profile Dropdown Component
+function UserProfileDropdown({ user, onMobileMenuClose }) {
+ const [isDropdownOpen, setIsDropdownOpen] = useState(false);
+
+ const profileMenuItems = [
+ { name: 'Profile', href: '/profile', icon: 'user' },
+ { name: 'Settings', href: '/settings', icon: 'settings' },
+ ...(user?.role === 'admin' ? [
+ { name: 'Admin Panel', href: '/admin', icon: 'admin' }
+ ] : []),
+ { name: 'Logout', href: '/logout', icon: 'logout', isLogout: true }
+ ];
+
+ const getProfileIcon = (iconName) => {
+ const icons = {
+ user: (
+
+ ),
+ settings: (
+
+ ),
+ admin: (
+
+ ),
+ logout: (
+
+ )
+ };
+ return icons[iconName] || icons.user;
+ };
+
+ return (
+
+ {/* Dropdown Menu */}
+ {isDropdownOpen && (
+ <>
+ {/* Backdrop */}
+
setIsDropdownOpen(false)}
+ />
+
+ {/* Menu */}
+
+
+ {profileMenuItems.map((item) => (
+
+
{
+ setIsDropdownOpen(false);
+ onMobileMenuClose();
+ }}
+ >
+ {getProfileIcon(item.icon)}
+ {item.name}
+
+
+ ))}
+
+
+ >
+ )}
+
+ {/* Profile Button */}
+
+
+ );
+}
+
export default function Layout({ children, user = { email: 'me@randallstillwell.com', role: 'user' }, showSearch = false }) {
const router = useRouter();
const { theme, toggleTheme } = useTheme();
@@ -203,85 +322,40 @@ export default function Layout({ children, user = { email: 'me@randallstillwell.
))}
- {/* Profile Section */}
-
- {/* User Profile */}
-
-
-
-
- {user?.email?.charAt(0).toUpperCase() || 'G'}
-
-
-
-
- {user?.email || 'Guest'}
-
-
- {user?.role || 'visitor'}
-
-
-
-
-
+ {/* Bottom Section */}
+
+ {/* Theme Toggle */}
+
- {/* Bottom Navigation */}
-
+ {/* User Profile Dropdown */}
+
setIsMobileMenuOpen(false)}
+ />