import React, { useState } from 'react'; import { authManager } from '../utils/auth'; const Header = ({ currentUser, onNavigate, onAuthChange }) => { const [showUserMenu, setShowUserMenu] = useState(false); const [isLoggingOut, setIsLoggingOut] = useState(false); const handleLogout = async () => { setIsLoggingOut(true); try { await authManager.logout(); const guestUser = authManager.getCurrentUser(); onAuthChange && onAuthChange(guestUser); setShowUserMenu(false); onNavigate && onNavigate('Dashboard'); } catch (error) { console.error('Logout failed:', error); } finally { setIsLoggingOut(false); } }; return (
{/* Logo */}
onNavigate && onNavigate('Dashboard')} style={{ display: 'flex', alignItems: 'center', gap: '10px', cursor: 'pointer', fontSize: '1.5rem', fontWeight: 'bold' }} > 🌿 GreenPlus by GXS
{/* User Section */}
{currentUser ? (
{/* User Stats */}
⭐ Level {authManager.getUserStats().level} 🏆 {authManager.getUserStats().points} pts
{/* User Menu */}
setShowUserMenu(!showUserMenu)} style={{ display: 'flex', alignItems: 'center', gap: '8px', cursor: 'pointer', padding: '8px 12px', borderRadius: '20px', background: 'rgba(255,255,255,0.1)', transition: 'background 0.2s' }} > {currentUser.avatar} {currentUser.name}
{/* Dropdown Menu */} {showUserMenu && (
{currentUser.name}
{currentUser.email}
{currentUser.isGuest && (
🚀 Guest Mode
)}
{currentUser.isGuest ? ( ) : ( )}
)}
) : ( )}
{/* Click outside to close menu */} {showUserMenu && (
setShowUserMenu(false)} style={{ position: 'fixed', top: 0, left: 0, right: 0, bottom: 0, zIndex: 999 }} /> )}
); }; export default Header;