import { useState, useRef, useEffect } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { useAuthStore } from '../../store/useAuthStore'; interface AppHeaderProps {} export const AppHeader: React.FC = () => { const user = useAuthStore((s) => s.user); const logout = useAuthStore((s) => s.logout); const navigate = useNavigate(); const [dropdownOpen, setDropdownOpen] = useState(false); const dropdownRef = useRef(null); // Close dropdown when clicking outside useEffect(() => { const handler = (e: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) { setDropdownOpen(false); } }; document.addEventListener('mousedown', handler); return () => document.removeEventListener('mousedown', handler); }, []); const handleLogout = async () => { setDropdownOpen(false); await logout(); navigate('/'); }; return (
Velxio
Examples GitHub {/* Auth UI */} {user ? (
{dropdownOpen && (
setDropdownOpen(false)} style={{ display: 'block', padding: '9px 14px', color: '#ccc', textDecoration: 'none', fontSize: 13 }} > My projects
)}
) : (
Sign in Sign up
)}
); };