import type React from 'react'; import { motion } from 'framer-motion'; import { Bell, Search, Sun, Moon, Cpu, CheckCircle2, AlertCircle } from 'lucide-react'; import type { ModelInfo, AppSettings } from '../types'; interface NavbarProps { activeTab: string; modelInfo: ModelInfo | null; settings: AppSettings; updateSettings: (newSettings: Partial) => void; onSearchClick?: () => void; onOpenMobileSidebar?: () => void; } export const Navbar: React.FC = ({ activeTab, modelInfo, settings, updateSettings, onSearchClick, onOpenMobileSidebar, }) => { const getTabTitle = () => { switch (activeTab) { case 'dashboard': return 'Dashboard'; case 'chat': return 'AI Chat Console'; case 'playground': return 'Code Playground'; case 'history': return 'History'; case 'documents': return 'Documents'; case 'snippets': return 'Snippets'; case 'models': return 'Models'; case 'settings': return 'System Settings'; case 'about': return 'About'; default: return 'Dashboard'; } }; const toggleTheme = () => { updateSettings({ theme: settings.theme === 'dark' ? 'light' : 'dark' }); }; return (
{/* Left Section: Breadcrumb/Page Title */}
{onOpenMobileSidebar && ( )}

{getTabTitle()}

{/* Middle Section: Mock Search Bar */}
Quick search prompts...
K
{/* Right Section: Diagnostics Status Controls */}
{/* Connection badge */}
{modelInfo?.status === 'loaded' ? ( <> Online ) : modelInfo?.status === 'loading' ? ( <>
Syncing ) : ( <> Offline )}
{/* Model info indicator */}
{modelInfo?.model_name.split('/').pop() || 'SmolLM2-360M-Instruct'}
{/* Notifications Trigger */} {/* Theme Selector */} {/* User Profile avatar */}
AC
); };