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 }
: {}),
};
}