@@ -951,59 +951,63 @@ const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
951951 />
952952
953953 { isTtsPlaying && (
954- < Button
955- variant = "ghost"
956- size = "icon"
957- className = "absolute top-0 right-0 opacity-25 hover:opacity-100 z-10"
958- onClick = { ( ) => vscode . postMessage ( { type : "stopTts" } ) } >
959- < VolumeX className = "size-4" />
960- </ Button >
954+ < StandardTooltip content = { t ( "chat:stopTts" ) } >
955+ < Button
956+ variant = "ghost"
957+ size = "icon"
958+ className = "absolute top-0 right-0 opacity-25 hover:opacity-100 z-10"
959+ onClick = { ( ) => vscode . postMessage ( { type : "stopTts" } ) } >
960+ < VolumeX className = "size-4" />
961+ </ Button >
962+ </ StandardTooltip >
961963 ) }
962964
963965 < div className = "absolute top-1 right-1 z-30" >
964- < button
965- aria-label = { t ( "chat:enhancePrompt" ) }
966- title = { t ( "chat:enhancePrompt" ) }
967- disabled = { sendingDisabled }
968- onClick = { ! sendingDisabled ? handleEnhancePrompt : undefined }
969- className = { cn (
970- "relative inline-flex items-center justify-center" ,
971- "bg-transparent border-none p-1.5" ,
972- "rounded-md min-w-[28px] min-h-[28px]" ,
973- "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground" ,
974- "transition-all duration-150" ,
975- "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
976- "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
977- "active:bg-[rgba(255,255,255,0.1)]" ,
978- ! sendingDisabled && "cursor-pointer" ,
979- sendingDisabled &&
980- "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
981- ) } >
982- < WandSparkles className = { cn ( "w-4 h-4" , isEnhancingPrompt && "animate-spin" ) } />
983- </ button >
966+ < StandardTooltip content = { t ( "chat:enhancePrompt" ) } >
967+ < button
968+ aria-label = { t ( "chat:enhancePrompt" ) }
969+ disabled = { sendingDisabled }
970+ onClick = { ! sendingDisabled ? handleEnhancePrompt : undefined }
971+ className = { cn (
972+ "relative inline-flex items-center justify-center" ,
973+ "bg-transparent border-none p-1.5" ,
974+ "rounded-md min-w-[28px] min-h-[28px]" ,
975+ "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground" ,
976+ "transition-all duration-150" ,
977+ "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
978+ "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
979+ "active:bg-[rgba(255,255,255,0.1)]" ,
980+ ! sendingDisabled && "cursor-pointer" ,
981+ sendingDisabled &&
982+ "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
983+ ) } >
984+ < WandSparkles className = { cn ( "w-4 h-4" , isEnhancingPrompt && "animate-spin" ) } />
985+ </ button >
986+ </ StandardTooltip >
984987 </ div >
985988
986989 < div className = "absolute bottom-1 right-1 z-30" >
987- < button
988- aria-label = { t ( "chat:sendMessage" ) }
989- title = { t ( "chat:sendMessage" ) }
990- disabled = { sendingDisabled }
991- onClick = { ! sendingDisabled ? onSend : undefined }
992- className = { cn (
993- "relative inline-flex items-center justify-center" ,
994- "bg-transparent border-none p-1.5" ,
995- "rounded-md min-w-[28px] min-h-[28px]" ,
996- "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground" ,
997- "transition-all duration-150" ,
998- "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
999- "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
1000- "active:bg-[rgba(255,255,255,0.1)]" ,
1001- ! sendingDisabled && "cursor-pointer" ,
1002- sendingDisabled &&
1003- "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
1004- ) } >
1005- < SendHorizontal className = "w-4 h-4" />
1006- </ button >
990+ < StandardTooltip content = { t ( "chat:sendMessage" ) } >
991+ < button
992+ aria-label = { t ( "chat:sendMessage" ) }
993+ disabled = { sendingDisabled }
994+ onClick = { ! sendingDisabled ? onSend : undefined }
995+ className = { cn (
996+ "relative inline-flex items-center justify-center" ,
997+ "bg-transparent border-none p-1.5" ,
998+ "rounded-md min-w-[28px] min-h-[28px]" ,
999+ "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground" ,
1000+ "transition-all duration-150" ,
1001+ "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
1002+ "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
1003+ "active:bg-[rgba(255,255,255,0.1)]" ,
1004+ ! sendingDisabled && "cursor-pointer" ,
1005+ sendingDisabled &&
1006+ "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
1007+ ) } >
1008+ < SendHorizontal className = "w-4 h-4" />
1009+ </ button >
1010+ </ StandardTooltip >
10071011 </ div >
10081012
10091013 { ! inputValue && (
@@ -1170,27 +1174,28 @@ const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
11701174
11711175 < div className = { cn ( "flex" , "items-center" , "gap-0.5" , "shrink-0" ) } >
11721176 < IndexingStatusBadge />
1173- < button
1174- aria-label = { t ( "chat:addImages" ) }
1175- title = { t ( "chat:addImages" ) }
1176- disabled = { shouldDisableImages }
1177- onClick = { ! shouldDisableImages ? onSelectImages : undefined }
1178- className = { cn (
1179- "relative inline-flex items-center justify-center" ,
1180- "bg-transparent border-none p-1.5" ,
1181- "rounded-md min-w-[28px] min-h-[28px]" ,
1182- "text-vscode-foreground opacity-85" ,
1183- "transition-all duration-150" ,
1184- "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
1185- "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
1186- "active:bg-[rgba(255,255,255,0.1)]" ,
1187- ! shouldDisableImages && "cursor-pointer" ,
1188- shouldDisableImages &&
1189- "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
1190- "mr-1" ,
1191- ) } >
1192- < Image className = "w-4 h-4" />
1193- </ button >
1177+ < StandardTooltip content = { t ( "chat:addImages" ) } >
1178+ < button
1179+ aria-label = { t ( "chat:addImages" ) }
1180+ disabled = { shouldDisableImages }
1181+ onClick = { ! shouldDisableImages ? onSelectImages : undefined }
1182+ className = { cn (
1183+ "relative inline-flex items-center justify-center" ,
1184+ "bg-transparent border-none p-1.5" ,
1185+ "rounded-md min-w-[28px] min-h-[28px]" ,
1186+ "text-vscode-foreground opacity-85" ,
1187+ "transition-all duration-150" ,
1188+ "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]" ,
1189+ "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder" ,
1190+ "active:bg-[rgba(255,255,255,0.1)]" ,
1191+ ! shouldDisableImages && "cursor-pointer" ,
1192+ shouldDisableImages &&
1193+ "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent" ,
1194+ "mr-1" ,
1195+ ) } >
1196+ < Image className = "w-4 h-4" />
1197+ </ button >
1198+ </ StandardTooltip >
11941199 </ div >
11951200 </ div >
11961201 </ div >
0 commit comments