Просмотр исходного кода

fix(ui): prevent copy buttons from stealing focus from prompt input (#10084)

Alex Yaroshuk 1 месяц назад
Родитель
Сommit
3c7d5174b3

+ 2 - 0
packages/ui/src/components/message-part.tsx

@@ -425,6 +425,7 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
               <IconButton
                 icon={copied() ? "check" : "copy"}
                 variant="secondary"
+                onMouseDown={(e) => e.preventDefault()}
                 onClick={(event) => {
                   event.stopPropagation()
                   handleCopy()
@@ -701,6 +702,7 @@ PART_MAPPING["text"] = function TextPartDisplay(props) {
               <IconButton
                 icon={copied() ? "check" : "copy"}
                 variant="secondary"
+                onMouseDown={(e) => e.preventDefault()}
                 onClick={handleCopy}
                 aria-label={copied() ? i18n.t("ui.message.copied") : i18n.t("ui.message.copy")}
               />

+ 1 - 0
packages/ui/src/components/session-turn.tsx

@@ -626,6 +626,7 @@ export function SessionTurn(
                                   <IconButton
                                     icon={copied() ? "check" : "copy"}
                                     variant="secondary"
+                                    onMouseDown={(e) => e.preventDefault()}
                                     onClick={(event) => {
                                       event.stopPropagation()
                                       handleCopy()