import React, { useState } from 'react'; import { useApp } from '../context/AppContext'; import { Package, Bot, Search, SlidersHorizontal, Gift, Bell, User, ChevronDown, CheckCircle, LogOut, Globe, Sparkles, RefreshCw } from 'lucide-react'; export const Header = () => { const { searchQuery, setSearchQuery, setIsDetailedSearchOpen, setIsUrunAramaOpen, setIsCompanyScannerOpen, setIsAiSpecAnalyzerOpen, userProfile, notifications, setActiveTab, clearAllFilters, isRefreshingLive, refreshLiveEKAPData, authUser, isAdmin, plan, handleLogout } = useApp(); // Rozet SATIN ALINAN aboneliği gösterir. Yönetici hesapları her özelliğe // erişir ama bu bir abonelik değildir; ikisini karıştırmamak için ayrı yazılır. const planAdi = plan?.abonelikVar ? plan.abonelikAdi : (plan?.yonetici ? 'Yönetici' : 'Ücretsiz'); const [showNotifications, setShowNotifications] = useState(false); const [showUserMenu, setShowUserMenu] = useState(false); const handleSearchSubmit = (e) => { e.preventDefault(); setActiveTab('list'); }; return (
{/* Logo */}
{ setActiveTab('list'); clearAllFilters(); }} className="flex shrink-0 items-center gap-1.5 sm:gap-2.5 cursor-pointer select-none group" >
İhaleist
{/* Search Bar */}
setSearchQuery(e.target.value)} placeholder="İhale, kurum veya İKN no ile arayın..." className="w-full bg-[#374151] text-white placeholder-slate-400 pl-4 pr-10 py-2 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-500 border border-slate-600 transition-all" /> {searchQuery && ( )}
{/* Right Action Icons */}
{/* Real Live EKAP Mode Badge */} {/* AI Şartname Analizi */} {/* Company Web Scanner Button */} {/* Trial Badge */}
{userProfile.trialDaysLeft} gün
{/* Notifications Dropdown */}
{showNotifications && (

Bildirimler

Tümünü Okundu İşaretle
{notifications.map(n => (
{n.title} {n.time}

{n.text}

))}
)}
{/* User Profile */}
{showUserMenu && (

{authUser?.name || userProfile.name} {isAdmin && ADMIN}

{authUser?.email || userProfile.company}

)}
); };