diff --git a/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx b/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx index d85624482..4b6c23ce0 100644 --- a/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx +++ b/apps/code/src/renderer/features/inbox/components/detail/ReportDetailPane.tsx @@ -189,6 +189,8 @@ export function ReportDetailPane({ }: ReportDetailPaneProps) { const [discussQuestion, setDiscussQuestion] = useState(""); const [discussQuestionOpen, setDiscussQuestionOpen] = useState(false); + const [prFeedback, setPrFeedback] = useState(""); + const [prFeedbackOpen, setPrFeedbackOpen] = useState(false); const { data: me } = useMeQuery(); // ── Report data ───────────────────────────────────────────────────────── @@ -357,16 +359,29 @@ export function ReportDetailPane({ cloudRepository: effectiveCloudRepository, }); - const handleCreateImplementationTask = useCallback(async () => { - if (!canCreateImplementationPr || isCreatingPr) return; - fireDetailAction("create_pr"); - await createPrReport(); - }, [ - canCreateImplementationPr, - isCreatingPr, - createPrReport, - fireDetailAction, - ]); + const handleCreateImplementationTask = useCallback( + async (feedback?: string) => { + if (!canCreateImplementationPr || isCreatingPr) return; + const trimmedFeedback = feedback?.trim(); + fireDetailAction("create_pr", { + has_feedback: !!trimmedFeedback, + feedback_text: trimmedFeedback + ? trimmedFeedback.slice(0, 500) + : undefined, + }); + setPrFeedbackOpen(false); + await createPrReport(trimmedFeedback); + }, + [canCreateImplementationPr, isCreatingPr, createPrReport, fireDetailAction], + ); + + const handleCreatePrSubmit = useCallback( + (event: FormEvent) => { + event.preventDefault(); + handleCreateImplementationTask(prFeedback); + }, + [prFeedback, handleCreateImplementationTask], + ); const { discussReport, isDiscussing } = useDiscussReport({ reportId: report.id, @@ -594,24 +609,97 @@ export function ReportDetailPane({ onLinkClick={() => fireDetailAction("open_pr")} /> ) : canCreateImplementationPr ? ( - - Create PR {isMac ? "⌘↵" : "Ctrl+↵"} - - } - > - - + + + + + + + +
+