'use client'; import { Loader2, CheckCircle2, Globe, Search } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { cn } from '@/lib/utils'; import type { ActiveQuery } from '@/hooks/use-web-search-events'; interface SearchQueriesMonitorProps { queries: ActiveQuery[]; className?: string; } export function SearchQueriesMonitor({ queries, className }: SearchQueriesMonitorProps) { if (queries.length === 0) return null; const getSourceColor = (source: string) => { switch (source) { case 'brave': return 'bg-blue-500/10 text-blue-600 border-blue-500/20'; case 'searxng': return 'bg-green-500/10 text-green-600 border-green-500/20'; case 'duckduckgo': return 'bg-yellow-500/10 text-yellow-600 border-yellow-500/20'; default: return 'bg-muted text-muted-foreground border-muted'; } }; const getSourceLabel = (source: string) => { switch (source) { case 'brave': return 'Brave'; case 'searxng': return 'SearXNG'; case 'duckduckgo': return 'DuckDuckGo'; default: return source; } }; return (
Consultas Ativas ({queries.length})
{queries.map((query, idx) => (
{query.query} {getSourceLabel(query.source)} {query.round && ( Round {query.round} )}
))}
); }