feat(composer): carry reference image names and submit on Enter
Propagate an optional imageName through the agent content pipeline (frontend types → API → domain → prompt building) so reference images render with their name instead of a bare "image" label. Also switch PromptComposer to submit on plain Enter (Shift+Enter for newline, IME-safe) and add a submitDisabled guard wired from the canvas and home composers. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -190,6 +190,7 @@ export const CanvasAgentComposer = forwardRef<PromptComposerHandle, CanvasAgentC
|
||||
onAnnotationPreviewChange={onAnnotationPreviewChange}
|
||||
onPasteFile={onUploadFile}
|
||||
onSubmit={onSubmit}
|
||||
submitDisabled={generating || !canSubmit}
|
||||
/>
|
||||
{previewSlot}
|
||||
<div className="assistant-composer-toolbar">
|
||||
|
||||
@@ -632,6 +632,7 @@ export const PromptComposer = forwardRef<
|
||||
onAnnotationPreviewChange?: (preview: AnnotationPreviewRequest | null) => void;
|
||||
onPasteFile?: (file: File | null) => void | Promise<void>;
|
||||
onSubmit?: () => void;
|
||||
submitDisabled?: boolean;
|
||||
}
|
||||
>(function PromptComposer(
|
||||
{
|
||||
@@ -648,7 +649,8 @@ export const PromptComposer = forwardRef<
|
||||
onAnnotationsChange,
|
||||
onAnnotationPreviewChange,
|
||||
onPasteFile,
|
||||
onSubmit
|
||||
onSubmit,
|
||||
submitDisabled = false
|
||||
},
|
||||
ref
|
||||
) {
|
||||
@@ -883,7 +885,8 @@ export const PromptComposer = forwardRef<
|
||||
}
|
||||
return {
|
||||
type: "image",
|
||||
imageUrl: part.reference.publicUrl
|
||||
imageUrl: part.reference.publicUrl,
|
||||
imageName: part.reference.name
|
||||
};
|
||||
})
|
||||
.filter((part): part is AgentContent => Boolean(part));
|
||||
@@ -1067,9 +1070,10 @@ export const PromptComposer = forwardRef<
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((event.metaKey || event.ctrlKey) && event.key === "Enter") {
|
||||
const isComposing = event.nativeEvent.isComposing || event.keyCode === 229;
|
||||
if (event.key === "Enter" && !event.shiftKey && !isComposing) {
|
||||
event.preventDefault();
|
||||
onSubmit?.();
|
||||
if (!submitDisabled) onSubmit?.();
|
||||
}
|
||||
}}
|
||||
onPaste={handlePaste}
|
||||
|
||||
Reference in New Issue
Block a user