const TASKS = [ { id: 'easy_harassment', label: 'Easy — Clear Harassment', diff: 'EASY', color: '#4ade80' }, { id: 'medium_ambiguous', label: 'Medium — Ambiguous Review', diff: 'MED', color: '#f0a500' }, { id: 'hard_misinformation',label: 'Hard — Health Misinformation', diff: 'HARD', color: '#f87171' }, ] const GEO_LABELS = { US: '🇺🇸 US', EU: '🇪🇺 EU', IN: '🇮🇳 IN' } function MetaBadge({ label, value, accent }) { return (
{label} {value}
) } function Section({ title, children }) { return (
{title}
{children}
) } export default function PostPanel({ selectedTask, onTaskChange, observation, loading, onRun, hideSelector }) { const task = TASKS.find(t => t.id === selectedTask) || TASKS[0] return (
{/* Panel header */}
Input
Content Review
{/* Task selector — hidden when coming from scenario explorer */} {!hideSelector && (
{/* Difficulty badge */}
{task.diff}
difficulty
)} {/* Run button */} {/* Divider */}
{/* Post content */} {!observation && !loading && (
Post content will appear after the agent runs
)} {loading && (
{[0.9, 0.7, 0.85, 0.6].map((w, i) => (
))}
)} {observation && !loading && ( <> {/* Post content card */}

“{observation.content}”

{/* Metadata grid */}
{/* Engagement breakdown */}
{/* User history */} {observation.user_history && (
    {observation.user_history.map((h, i) => (
  • {h}
  • ))}
)} {/* Thread context */} {observation.thread_context && (
    {observation.thread_context.map((t, i) => (
  • {t}
  • ))}
)} {/* Policy clause */} {observation.policy_clause && (

{observation.policy_clause}

)} )}
) }