/** * JARVIS — Status Bar (top header) * Shows session title, connection status, and settings button. */ import React, { useState } from 'react' import { Menu, Circle, Settings } from 'lucide-react' import useAppStore from '../../stores/appStore' import clsx from 'clsx' import SettingsModal from './SettingsModal' import { useKeyboardShortcut } from '../../hooks/index' export default function StatusBar() { const { toggleSidebar, modelStatus, activeSessionId, sessions } = useAppStore() const [settingsOpen, setSettingsOpen] = useState(false) const activeSession = sessions.find((s) => s.id === activeSessionId) const isOnline = modelStatus?.status === 'online' // Ctrl+, opens settings useKeyboardShortcut(',', () => setSettingsOpen(true), { ctrl: true }) return ( <> {/* Sidebar toggle */} {/* Session title */} {activeSession?.title || 'JARVIS'} {/* Status indicator */} {isOnline ? 'ONLINE' : 'CONNECTING'} {/* Settings */} setSettingsOpen(true)} title="System status (Ctrl+,)" className="p-1.5 rounded-lg text-jarvis-dim hover:text-jarvis-text hover:bg-jarvis-panel transition-colors" > setSettingsOpen(false)} /> > ) }
{activeSession?.title || 'JARVIS'}