import type { Decision } from '@/lib/types/agents' type Props = { verdict: Decision | null; ticker: string; date: string } const VERDICT_CONFIG: Record = { BUY: { color: 'var(--buy)', colorBg: 'var(--buy-bg)', colorRing: 'var(--buy-ring)', colorGlow: 'rgba(0, 224, 120, 0.15)', label: 'BUY', sublabel: 'Long Position', symbol: '↑', description: 'AI consensus recommends entering a long position', }, SELL: { color: 'var(--sell)', colorBg: 'var(--sell-bg)', colorRing: 'var(--sell-ring)', colorGlow: 'rgba(255, 31, 76, 0.15)', label: 'SELL', sublabel: 'Exit Position', symbol: '↓', description: 'AI consensus recommends exiting the position', }, HOLD: { color: 'var(--hold)', colorBg: 'var(--hold-bg)', colorRing: 'var(--hold-ring)', colorGlow: 'rgba(255, 180, 0, 0.15)', label: 'HOLD', sublabel: 'Maintain Position', symbol: '→', description: 'AI consensus recommends maintaining current exposure', }, } export default function VerdictBanner({ verdict, ticker, date }: Props) { if (!verdict || !VERDICT_CONFIG[verdict]) return null const cfg = VERDICT_CONFIG[verdict] return (
{/* Background glow blobs */}
{/* Scanline shimmer on active color */}
{/* Corner decorative mark */}
{cfg.symbol}
{/* Main content */}
{/* Top row: label + meta */}
Analysis Complete
AI CONSENSUS
{/* Main verdict row */}
{/* Left: ticker + description */}
{ticker} {date}

{cfg.description}

{/* Right: big verdict badge */}
{cfg.sublabel}
{cfg.symbol} {cfg.label}
) }