import React, { useState } from 'react';
import { Link, useLocation, useNavigate } from 'react-router-dom';
import { useAuth } from '../contexts/AuthContext';
import { useTheme } from '../contexts/ThemeContext';
const MobileNavbar: React.FC = () => {
const { user, logout, isAdmin } = useAuth();
const { toggleTheme, effectiveTheme } = useTheme();
const location = useLocation();
const navigate = useNavigate();
const [showUserMenu, setShowUserMenu] = useState(false);
const handleLogout = () => {
logout();
setShowUserMenu(false);
navigate('/login');
};
const isActive = (path: string) => location.pathname === path;
return (
<>
{/* Top Header */}
TCG Vault
Hi, {user?.firstName || user?.username}
{/* Theme Toggle */}
{/* User Avatar */}
{/* Bottom Navigation */}
{/* User Menu Modal */}
{showUserMenu && (
setShowUserMenu(false)}>
{user?.firstName?.[0] || user?.username?.[0]?.toUpperCase() || 'U'}
{user?.firstName && user?.lastName
? `${user.firstName} ${user.lastName}`
: user?.username}
{user?.email}
{user?.roles.map((role) => (
{role}
))}
setShowUserMenu(false)}
className="flex items-center space-x-3 p-3 rounded-xl hover:bg-surface-100 dark:hover:bg-surface-800 transition-colors"
>
Decks
setShowUserMenu(false)}
className="flex items-center space-x-3 p-3 rounded-xl hover:bg-surface-100 dark:hover:bg-surface-800 transition-colors"
>
Settings
{isAdmin() && (
setShowUserMenu(false)}
className="flex items-center space-x-3 p-3 rounded-xl hover:bg-yellow-50 dark:hover:bg-yellow-900/20 transition-colors"
>
Admin Panel
)}
)}
>
);
};
export default MobileNavbar;