import { Link } from "@tanstack/react-router"; import { ChevronLeft } from "lucide-react"; import { Button } from "@/components/ui/button"; import { QuestionForm } from "@/components/QuestionForm"; import { formatRelativeTime } from "@/lib/utils"; interface InboxDetailPanelProps { agent: { id: string; name: string; status: string; taskId: string | null; updatedAt: string; }; message: { id: string; content: string; requiresResponse: boolean; } | null; questions: | { id: string; question: string; options: any; multiSelect: boolean; }[] | null; isLoadingQuestions: boolean; questionsError: string | null; onBack: () => void; onSubmitAnswers: (answers: Record) => void; onDismissQuestions: () => void; onDismissMessage: () => void; isSubmitting: boolean; isDismissingQuestions: boolean; isDismissingMessage: boolean; submitError: string | null; dismissMessageError: string | null; } export function InboxDetailPanel({ agent, message, questions, isLoadingQuestions, questionsError, onBack, onSubmitAnswers, onDismissQuestions, onDismissMessage, isSubmitting, isDismissingQuestions, isDismissingMessage, submitError, dismissMessageError, }: InboxDetailPanelProps) { return (
{/* Mobile back button */} {/* Detail Header */}

{agent.name}{" "} → You

{formatRelativeTime(agent.updatedAt)}

Task:{" "} {agent.taskId ? ( {agent.taskId} ) : ( "\u2014" )}

{agent.taskId && ( View in context → )}
{/* Question Form or Notification Content */} {isLoadingQuestions && (
Loading questions...
)} {questionsError && (
Failed to load questions: {questionsError}
)} {questions && questions.length > 0 && ( )} {submitError && (

Error: {submitError}

)} {/* Notification message (no questions / requiresResponse=false) */} {message && !message.requiresResponse && !isLoadingQuestions && (

{message.content}

{dismissMessageError && (

Error: {dismissMessageError}

)}
)} {/* No questions and requires response -- message content only */} {message && message.requiresResponse && questions && questions.length === 0 && !isLoadingQuestions && (

{message.content}

Waiting for structured questions...

)}
); }