import { useEffect, useRef, useState } from 'react' import { useNavigate } from 'react-router-dom' import { Menu, Bell, MessageSquare, ChevronDown, User, KeyRound, LogOut } from 'lucide-react' import { PasswordResetModal } from '@meshkee/dashboard-ui' import { useAuth } from '../context/AuthContext' import { changePassword } from '../services/profileService' import styles from './Header.module.css' export function Header() { const navigate = useNavigate() const { user, logout } = useAuth() const [menuOpen, setMenuOpen] = useState(false) const [passwordModalOpen, setPasswordModalOpen] = useState(false) const menuRef = useRef(null) const displayName = [user?.firstName, user?.lastName].filter(Boolean).join(' ') || user?.cellNumber || 'Super Admin' useEffect(() => { if (!menuOpen) return function handleClickOutside(e: MouseEvent) { if (menuRef.current && !menuRef.current.contains(e.target as Node)) { setMenuOpen(false) } } function handleEscape(e: KeyboardEvent) { if (e.key === 'Escape') setMenuOpen(false) } document.addEventListener('mousedown', handleClickOutside) document.addEventListener('keydown', handleEscape) return () => { document.removeEventListener('mousedown', handleClickOutside) document.removeEventListener('keydown', handleEscape) } }, [menuOpen]) function handleLogout() { logout() navigate('/login') } function openPasswordModal() { setMenuOpen(false) setPasswordModalOpen(true) } const profileMenuItems = [ { icon: User, label: 'Profile', action: () => { setMenuOpen(false); navigate('/profile') } }, { icon: KeyRound, label: 'Password reset', action: openPasswordModal }, { icon: LogOut, label: 'Logout', action: handleLogout }, ] return ( <>

Super Admin Dashboard

{menuOpen && (
{profileMenuItems.map(({ icon: Icon, label, action }) => ( ))}
)}
setPasswordModalOpen(false)} onChangePassword={changePassword} /> ) }