import React from 'react'; import { Monitor, TerminalSquare } from 'lucide-react'; import { Host } from '../types'; import { Button } from './ui/button'; import { Input } from './ui/input'; interface QuickSwitcherProps { isOpen: boolean; query: string; results: Host[]; onQueryChange: (value: string) => void; onSelect: (host: Host) => void; onClose: () => void; onCreateLocalTerminal?: () => void; } export const QuickSwitcher: React.FC = ({ isOpen, query, results, onQueryChange, onSelect, onClose, onCreateLocalTerminal, }) => { if (!isOpen) return null; return (
{ if (e.target === e.currentTarget) onClose(); }} >
onQueryChange(e.target.value)} placeholder="Search hosts or tabs..." className="h-12 text-sm bg-secondary border-primary/50 focus-visible:ring-primary" />
⌘K
Recent connections
{onCreateLocalTerminal && ( )}
{results.length > 0 ? results.map(host => (
{ e.stopPropagation(); onSelect(host); }} >
{host.label}
{host.username}@{host.hostname}
{host.group || 'Personal'}
)) : (
No matches. Start typing to search.
)}
); };