feat: İhaleist - Akıllı İhale Takip ve Analiz Platformu (Full PRD + 7 Enterprise Modül)
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import React from 'react';
|
||||
import { useApp } from '../context/AppContext';
|
||||
import { Newspaper, Trophy, CalendarDays, FileCheck2, Calculator, TrendingUp, LayoutGrid, Kanban, Radar, FolderKanban, BarChart3, Webhook, Smartphone } from 'lucide-react';
|
||||
|
||||
export const TopNavigation = () => {
|
||||
const { activeTab, setActiveTab } = useApp();
|
||||
|
||||
const navItems = [
|
||||
{ id: 'list', label: 'Ana İhale Listesi', icon: LayoutGrid },
|
||||
{ id: 'bulten', label: 'Günlük Bülten', icon: Newspaper },
|
||||
{ id: 'sonuc', label: 'Sonuç Sorgula', icon: Trophy },
|
||||
{ id: 'takvim', label: 'İhale Takvimi', icon: CalendarDays },
|
||||
{ id: 'sozlesme', label: 'Sözleşme Sorgula', icon: FileCheck2 },
|
||||
{ id: 'kdv', label: 'KDV Hesapla', icon: Calculator },
|
||||
{ id: 'fiyat', label: 'Fiyat Analizi', icon: TrendingUp },
|
||||
{ id: 'kanban', label: 'Kanban Pano', icon: Kanban, badge: 'Sürükle Takip' },
|
||||
{ id: 'rakip_radar', label: 'Rakip Radar', icon: Radar, badge: 'Canlı Uyar' },
|
||||
{ id: 'dokuman_deposu', label: 'Doküman Deposu', icon: FolderKanban },
|
||||
{ id: 'analitik_dashboard', label: 'Analitik Dashboard', icon: BarChart3 },
|
||||
{ id: 'api_webhooks', label: 'API & Webhooks', icon: Webhook },
|
||||
{ id: 'pwa_settings', label: 'Mobil PWA', icon: Smartphone }
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="bg-white border-b border-slate-200 shadow-xs sticky top-16 z-30">
|
||||
<div className="max-w-[1600px] mx-auto px-4 flex items-center gap-1 overflow-x-auto py-1 scrollbar-none">
|
||||
{navItems.map(item => {
|
||||
const Icon = item.icon;
|
||||
const isActive = activeTab === item.id;
|
||||
return (
|
||||
<button
|
||||
key={item.id}
|
||||
onClick={() => setActiveTab(item.id)}
|
||||
className={`flex items-center gap-2 px-3.5 py-2 rounded-lg text-xs font-semibold whitespace-nowrap transition-all select-none ${
|
||||
isActive
|
||||
? 'bg-blue-50 text-blue-700 border border-blue-200 shadow-2xs'
|
||||
: 'text-slate-600 hover:text-slate-900 hover:bg-slate-50'
|
||||
}`}
|
||||
>
|
||||
<Icon className={`w-4 h-4 ${isActive ? 'text-blue-600' : 'text-slate-400'}`} />
|
||||
<span>{item.label}</span>
|
||||
{item.badge && (
|
||||
<span className="bg-amber-100 text-amber-800 font-bold text-[10px] px-1.5 py-0.5 rounded-full border border-amber-200">
|
||||
{item.badge}
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user