import { codexFeedbackNotice, type CodexFeedbackSubmission, } from "@t3tools/client-runtime/state/threads"; import { MessageSquareIcon } from "lucide-react"; import { writeTextToClipboard } from "../../hooks/useCopyToClipboard"; import { Button } from "../ui/button"; import { toastManager } from "../ui/toast"; import type { ComposerBannerStackItem } from "./ComposerBannerStack"; export function feedbackBannerItem( submission: CodexFeedbackSubmission, onDismiss: () => void, ): ComposerBannerStackItem | null { const notice = codexFeedbackNotice(submission); if (!notice) return null; return { id: `feedback:${submission.id}`, variant: submission.status === "failed" ? "error" : submission.status === "sent" ? "success" : "info", priority: submission.status === "uploading" ? "activity" : "notice", icon: , ...notice, actions: submission.status === "sent" ? ( ) : undefined, ...(submission.status !== "uploading" ? { dismissLabel: "Dismiss feedback notice", onDismiss } : {}), }; }