diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index c7813372fa..0b8c89388c 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -979,7 +979,7 @@ export const ChatTextArea = forwardRef( "flex-col-reverse", "min-h-0", "overflow-hidden", - "rounded", + "rounded-lg", )}>
( isEditMode ? "pr-20" : "pr-9", "z-10", "forced-color-adjust-none", - "rounded", + "rounded-lg", )} style={{ color: "transparent", diff --git a/webview-ui/src/components/chat/TaskHeader.tsx b/webview-ui/src/components/chat/TaskHeader.tsx index aef0bc5eee..71a4fbba82 100644 --- a/webview-ui/src/components/chat/TaskHeader.tsx +++ b/webview-ui/src/components/chat/TaskHeader.tsx @@ -112,10 +112,10 @@ const TaskHeader = ({ )}
{ @@ -163,7 +163,9 @@ const TaskHeader = ({
{!isTaskExpanded && contextWindow > 0 && ( -
e.stopPropagation()}> +
e.stopPropagation()}> diff --git a/webview-ui/src/components/history/HistoryPreview.tsx b/webview-ui/src/components/history/HistoryPreview.tsx index 753b4b84e7..8c0ce0ad87 100644 --- a/webview-ui/src/components/history/HistoryPreview.tsx +++ b/webview-ui/src/components/history/HistoryPreview.tsx @@ -15,18 +15,21 @@ const HistoryPreview = () => { } return ( -
+
+
+

{t("history:recentTasks")}

+ +
{tasks.length !== 0 && ( <> {tasks.slice(0, 3).map((item) => ( ))} - )}
diff --git a/webview-ui/src/components/history/TaskItem.tsx b/webview-ui/src/components/history/TaskItem.tsx index d661d99930..949306fa2a 100644 --- a/webview-ui/src/components/history/TaskItem.tsx +++ b/webview-ui/src/components/history/TaskItem.tsx @@ -47,7 +47,7 @@ const TaskItem = ({ key={item.id} data-testid={`task-item-${item.id}`} className={cn( - "cursor-pointer group bg-vscode-editor-background rounded relative overflow-hidden border border-transparent hover:bg-vscode-list-hoverBackground transition-colors", + "cursor-pointer group bg-vscode-editor-background rounded-xl relative overflow-hidden border border-transparent hover:bg-vscode-editor-foreground/10 transition-colors", className, )} onClick={handleClick}> @@ -70,7 +70,7 @@ const TaskItem = ({
= ({ item, variant, isSelectionMode = false, onDelete }) => { return (
-
+
{/* Datetime with time-ago format */} {formatTimeAgo(item.ts)} @@ -32,7 +32,7 @@ const TaskItemFooter: React.FC = ({ item, variant, isSelect {/* Action Buttons for non-compact view */} {!isSelectionMode && ( -
+
{variant === "full" && } {onDelete && } diff --git a/webview-ui/src/components/welcome/RooHero.tsx b/webview-ui/src/components/welcome/RooHero.tsx index 3d25ea87b5..fe8a0f9da1 100644 --- a/webview-ui/src/components/welcome/RooHero.tsx +++ b/webview-ui/src/components/welcome/RooHero.tsx @@ -7,7 +7,7 @@ const RooHero = () => { }) return ( -
+
{ maskRepeat: "no-repeat", maskSize: "contain", }} - className="mx-auto"> - Roo logo + className="mx-auto hover:animate-bounce"> + Roo logo
) diff --git a/webview-ui/src/components/welcome/RooTips.tsx b/webview-ui/src/components/welcome/RooTips.tsx index c0d6682d56..273a2df1e9 100644 --- a/webview-ui/src/components/welcome/RooTips.tsx +++ b/webview-ui/src/components/welcome/RooTips.tsx @@ -3,19 +3,20 @@ import { useTranslation } from "react-i18next" import { Trans } from "react-i18next" import { buildDocLink } from "@src/utils/docLinks" +import { ReplaceAll, Users } from "lucide-react" const tips = [ { - icon: "codicon-account", + icon: , href: buildDocLink("basic-usage/using-modes", "tips"), titleKey: "rooTips.customizableModes.title", descriptionKey: "rooTips.customizableModes.description", }, { - icon: "codicon-list-tree", - href: buildDocLink("features/boomerang-tasks", "tips"), - titleKey: "rooTips.boomerangTasks.title", - descriptionKey: "rooTips.boomerangTasks.description", + icon: , + href: buildDocLink("getting-started/connecting-api-provider", "tips"), + titleKey: "rooTips.modelAgnostic.title", + descriptionKey: "rooTips.modelAgnostic.description", }, ] @@ -23,27 +24,16 @@ const RooTips = () => { const { t } = useTranslation("chat") return ( -
-

- - the docs - - ), - }} - /> +

+

+

-
+
{tips.map((tip) => ( -
- +
+ {tip.icon} - + {t(tip.titleKey)} : {t(tip.descriptionKey)} @@ -51,6 +41,19 @@ const RooTips = () => {
))}
+

+ + ), + }} + /> +

) } diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json index 6f47f040c6..fd14f7d34d 100644 --- a/webview-ui/src/i18n/locales/en/chat.json +++ b/webview-ui/src/i18n/locales/en/chat.json @@ -96,24 +96,17 @@ "placeholder": "Edit your message..." }, "scrollToBottom": "Scroll to bottom of chat", - "about": "Generate, refactor, and debug code with AI assistance. Check out our documentation to learn more.", + "about": "Roo Code is a whole AI dev team in your editor.", + "docs": "Check our docs to learn more.", "onboarding": "Your task list in this workspace is empty.", "rooTips": { - "boomerangTasks": { - "title": "Task Orchestration", - "description": "Split tasks into smaller, manageable parts" - }, - "stickyModels": { - "title": "Sticky Models", - "description": "Each mode remembers your last used model" - }, - "tools": { - "title": "Tools", - "description": "Allow the AI to solve problems by browsing the web, running commands, and more" - }, "customizableModes": { - "title": "Customizable Modes", - "description": "Specialized personas with their own behaviors and assigned models" + "title": "Customizable modes", + "description": "Specialized personas that stay on-task and deliver." + }, + "modelAgnostic": { + "title": "Bring your own model", + "description": "Use your own provider key or even run local inference — no markup, lock-in, no restrictions" } }, "selectMode": "Select mode for interaction", diff --git a/webview-ui/src/i18n/locales/en/history.json b/webview-ui/src/i18n/locales/en/history.json index 8d00433170..608be93140 100644 --- a/webview-ui/src/i18n/locales/en/history.json +++ b/webview-ui/src/i18n/locales/en/history.json @@ -41,5 +41,5 @@ "mostTokens": "Most Tokens", "mostRelevant": "Most Relevant" }, - "viewAllHistory": "View all tasks" + "viewAllHistory": "View all" }