"use client"; import { useState } from "react"; import { AnimatePresence, motion } from "framer-motion"; import type { EventItem } from "../lib/types"; const ICONS: Record = { success: "✅", blocked: "🛡️", poisoned: "☠️", skipped: "⏭️", reset: "🔄", }; export default function FlightRecorder({ events, lastReq, lastRes, }: { events: EventItem[]; lastReq: Record | null; lastRes: Record | null; }) { const [showJson, setShowJson] = useState(false); const recent = events.slice(-10).reverse(); return ( <>
{recent.map((ev) => ( #{ev.step}
{ICONS[ev.outcome]} {ev.action}{ev.specialist ? `:${ev.specialist}` : ""}
{ev.summary}
= 0.5 ? "pos" : "neg"}`}> {ev.outcome === "reset" ? "—" : ev.reward.toFixed(2)}
))}
{showJson && (
{JSON.stringify({ request: lastReq, response: lastRes }, null, 2)}
)} ); }