mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
feat: Reposition Add Image button inside ChatTextArea (#7989)
* feat: move Add Image button inside ChatTextArea - Moved Add Image button from bottom toolbar to top-right inside text area - Repositioned Enhance Prompt button to be above Send button (bottom-right) - Both buttons now follow similar positioning pattern as Send button - Maintains consistent button styling and transitions * fix: corrected C# tree-sitter query (#7813) * feat: Move slash commands to Settings tab with gear icon for discoverability (#7988) Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Bruno Bergher <me@brunobergher.com> Co-authored-by: Mubeen Zulfiqar <mubeen_zulfiqar@yahoo.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Add Z.ai coding plan support (#8003) * chore(deps): bump axios from 1.9.0 to 1.12.0 (#7963) Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.12.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.9.0...v1.12.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.12.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix context menu is obscured when edit message. (#7951) * feat: add keyboard shortcut for "Add to Context" action (#7908) Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * fix: handle ByteString conversion errors in OpenAI embedders (#8008) * CONTRIBUTING.md tweaks and issue template rewrite (#8014) * Visual tweaks --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Mubeen Zulfiqar <mubeen_zulfiqar@yahoo.com> Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Bruno Bergher <me@brunobergher.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: NaccOll <wuyoubin0504@gmail.com> Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com> Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
This commit is contained in:
parent
ee58c5d0fa
commit
c987417889
2 changed files with 30 additions and 30 deletions
|
|
@ -1067,7 +1067,7 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
|
|||
: "bg-vscode-input-background",
|
||||
"transition-background-color duration-150 ease-in-out",
|
||||
"will-change-background-color",
|
||||
"min-h-[90px]",
|
||||
"min-h-[94px]",
|
||||
"box-border",
|
||||
"rounded",
|
||||
"resize-none",
|
||||
|
|
@ -1082,7 +1082,32 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
|
|||
onScroll={() => updateHighlights()}
|
||||
/>
|
||||
|
||||
<div className="absolute top-2 right-2 z-30">
|
||||
<div className="absolute bottom-2 right-1 z-30 flex flex-col items-center gap-0">
|
||||
<StandardTooltip content={t("chat:addImages")}>
|
||||
<button
|
||||
aria-label={t("chat:addImages")}
|
||||
disabled={shouldDisableImages}
|
||||
onClick={!shouldDisableImages ? onSelectImages : undefined}
|
||||
className={cn(
|
||||
"relative inline-flex items-center justify-center",
|
||||
"bg-transparent border-none p-1.5",
|
||||
"rounded-md min-w-[28px] min-h-[28px]",
|
||||
"text-vscode-descriptionForeground hover:text-vscode-foreground",
|
||||
"transition-all duration-1000",
|
||||
"cursor-pointer",
|
||||
!shouldDisableImages
|
||||
? "opacity-50 hover:opacity-100 delay-750 pointer-events-auto"
|
||||
: "opacity-0 pointer-events-none duration-200 delay-0",
|
||||
!shouldDisableImages &&
|
||||
"hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]",
|
||||
"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder",
|
||||
!shouldDisableImages && "active:bg-[rgba(255,255,255,0.1)]",
|
||||
shouldDisableImages &&
|
||||
"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent",
|
||||
)}>
|
||||
<Image className="w-4 h-4" />
|
||||
</button>
|
||||
</StandardTooltip>
|
||||
<StandardTooltip content={t("chat:enhancePrompt")}>
|
||||
<button
|
||||
aria-label={t("chat:enhancePrompt")}
|
||||
|
|
@ -1106,9 +1131,6 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
|
|||
<WandSparkles className={cn("w-4 h-4", isEnhancingPrompt && "animate-spin")} />
|
||||
</button>
|
||||
</StandardTooltip>
|
||||
</div>
|
||||
|
||||
<div className="absolute bottom-2 right-2 z-30 flex items-center gap-1">
|
||||
{isEditMode && (
|
||||
<StandardTooltip content={t("chat:cancel.title")}>
|
||||
<button
|
||||
|
|
@ -1210,7 +1232,7 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
|
|||
/>
|
||||
<AutoApproveDropdown triggerClassName="min-w-[28px] text-ellipsis overflow-hidden flex-shrink" />
|
||||
</div>
|
||||
<div className="flex flex-shrink-0 items-center gap-0.5">
|
||||
<div className="flex flex-shrink-0 items-center gap-0.5 pr-2">
|
||||
{isTtsPlaying && (
|
||||
<StandardTooltip content={t("chat:stopTts")}>
|
||||
<button
|
||||
|
|
@ -1232,28 +1254,6 @@ export const ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(
|
|||
</StandardTooltip>
|
||||
)}
|
||||
{!isEditMode ? <IndexingStatusBadge /> : null}
|
||||
<StandardTooltip content={t("chat:addImages")}>
|
||||
<button
|
||||
aria-label={t("chat:addImages")}
|
||||
disabled={shouldDisableImages}
|
||||
onClick={!shouldDisableImages ? onSelectImages : undefined}
|
||||
className={cn(
|
||||
"relative inline-flex items-center justify-center",
|
||||
"bg-transparent border-none p-1.5",
|
||||
"rounded-md min-w-[28px] min-h-[28px]",
|
||||
"text-vscode-foreground opacity-85",
|
||||
"transition-all duration-150",
|
||||
"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]",
|
||||
"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder",
|
||||
"active:bg-[rgba(255,255,255,0.1)]",
|
||||
!shouldDisableImages && "cursor-pointer",
|
||||
shouldDisableImages &&
|
||||
"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent",
|
||||
"mr-1",
|
||||
)}>
|
||||
<Image className="w-4 h-4" />
|
||||
</button>
|
||||
</StandardTooltip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ export const IndexingStatusBadge: React.FC<IndexingStatusBadgeProps> = ({ classN
|
|||
size="sm"
|
||||
aria-label={tooltipText}
|
||||
className={cn(
|
||||
"relative h-7 w-7 p-0",
|
||||
"relative h-5 w-5 p-0",
|
||||
"text-vscode-foreground opacity-85",
|
||||
"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)]",
|
||||
"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder",
|
||||
|
|
@ -100,7 +100,7 @@ export const IndexingStatusBadge: React.FC<IndexingStatusBadgeProps> = ({ classN
|
|||
<Database className="w-4 h-4" />
|
||||
<span
|
||||
className={cn(
|
||||
"absolute top-1 right-1 w-1.5 h-1.5 rounded-full transition-colors duration-200",
|
||||
"absolute top-0 right-0 w-1.5 h-1.5 rounded-full transition-colors duration-200",
|
||||
statusColorClass,
|
||||
)}
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue