import { useState } from 'react'; interface ResultCardProps { title: string; score: number; snippet: string; expanded?: boolean; onToggle?: () => void; } function ScoreBadge({ score }: { score: number }) { const pct = Math.round(score * 100); const bg = pct >= 80 ? 'var(--score-good-bg)' : pct >= 50 ? 'var(--score-mid-bg)' : 'var(--score-bad-bg)'; const color = pct >= 80 ? '#2e7d32' : pct >= 50 ? '#f57f17' : 'var(--text-secondary)'; return ( {pct}% ); } export default function ResultCard({ title, score, snippet, expanded: expandedProp, onToggle }: ResultCardProps) { const [localExpanded, setLocalExpanded] = useState(false); const isControlled = expandedProp !== undefined; const expanded = isControlled ? expandedProp : localExpanded; function handleToggle() { if (isControlled) { onToggle?.(); } else { setLocalExpanded(e => !e); } } const preview = snippet.length > 200 ? snippet.slice(0, 200) + '\u2026' : snippet; return (