diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index 7b3107a2be..f24e2ca660 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -1172,9 +1172,10 @@ export const ChatRowContent = ({ ) case "user_feedback": return ( -
+
{isEditing ? ( -
+
) : (
-
+
{ + e.stopPropagation() + if (!isStreaming) { + handleEditClick() + } + }} + title={t("chat:queuedMessages.clickToEdit")}>
diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index c917797283..e7a9f67b8b 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -903,20 +903,8 @@ export const ChatTextArea = forwardRef( return (
( : isDraggingOver ? "border-2 border-dashed border-vscode-focusBorder" : "border border-transparent", - "px-[8px]", - "py-1.5", - "pr-9", + "pl-2", + "py-2", + isEditMode ? "pr-20" : "pr-9", "z-10", "forced-color-adjust-none", + "rounded", )} style={{ color: "transparent", @@ -1030,7 +1019,15 @@ export const ChatTextArea = forwardRef( updateHighlights() }} onFocus={() => setIsFocused(true)} - onKeyDown={handleKeyDown} + onKeyDown={(e) => { + // Handle ESC to cancel in edit mode + if (isEditMode && e.key === "Escape" && !e.nativeEvent?.isComposing) { + e.preventDefault() + onCancel?.() + return + } + handleKeyDown(e) + }} onKeyUp={handleKeyUp} onBlur={handleBlur} onPaste={handlePaste} @@ -1054,7 +1051,7 @@ export const ChatTextArea = forwardRef( "text-vscode-editor-font-size", "leading-vscode-editor-line-height", "cursor-text", - "py-1.5 px-2", + "py-2 pl-2", isFocused ? "border border-vscode-focusBorder outline outline-vscode-focusBorder" : isDraggingOver @@ -1071,7 +1068,7 @@ export const ChatTextArea = forwardRef( "resize-none", "overflow-x-hidden", "overflow-y-auto", - "pr-9", + isEditMode ? "pr-20" : "pr-9", "flex-none flex-grow", "z-[2]", "scrollbar-none", @@ -1080,7 +1077,7 @@ export const ChatTextArea = forwardRef( onScroll={() => updateHighlights()} /> -
+
-
+
{isEditMode && (