import React, { useState, useEffect, useRef } from 'react'; import { Settings, ShieldCheck, LogOut, ChevronDown, Users, BarChart3, Database, Shield, ScanEye, Brain } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { Tooltip } from './Tooltip'; interface HeaderProps { user: any; logout: () => void; openApiKeyModal: () => void; projectTitle?: string; } export const Header: React.FC = ({ user, logout, openApiKeyModal, projectTitle }) => { const { t, i18n } = useTranslation(); const [isLangOpen, setIsLangOpen] = useState(false); const [isAdminMenuOpen, setIsAdminMenuOpen] = useState(false); const [hasPersonalKey, setHasPersonalKey] = useState(false); const adminMenuRef = useRef(null); useEffect(() => { const checkKey = () => setHasPersonalKey(!!localStorage.getItem('gemini_api_key')); checkKey(); window.addEventListener('storage', checkKey); const handleClickOutside = (event: MouseEvent) => { if (adminMenuRef.current && !adminMenuRef.current.contains(event.target as Node)) { setIsAdminMenuOpen(false); } }; document.addEventListener('mousedown', handleClickOutside); return () => { window.removeEventListener('storage', checkKey); document.removeEventListener('mousedown', handleClickOutside); }; }, []); const languages = [ { code: 'en', label: 'English' }, { code: 'tr', label: 'Türkçe' }, { code: 'de', label: 'Deutsch' }, { code: 'fr', label: 'Français' }, { code: 'es', label: 'Español' } ]; const changeLanguage = (lng: string) => { i18n.changeLanguage(lng); setIsLangOpen(false); }; return (
{/* Upper Utility Bar */}
System Live
{hasPersonalKey ? 'V-DNA KEY' : 'API CORE'}
{user?.email}
{isLangOpen && (
{languages.map(l => ( ))}
)}
{/* Main Navigation Bar */}

window.location.href = '/'}>{t('home.title')}

{projectTitle && ( <>

{projectTitle}

)}

{t('home.subtitle')}

{user?.role === 'ADMIN' && (
{isAdminMenuOpen && (

Command Center

)}
)}
); }; export default Header;