From 24462c5978fad384e0668a773e2aaed23bdf2477 Mon Sep 17 00:00:00 2001 From: Kiet Ho Date: Tue, 9 Dec 2025 15:24:38 -0800 Subject: [PATCH 1/2] feat(desktop): show preset buttons under New Terminal button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add terminal preset quick-access buttons directly below the New Terminal button in the sidebar. Presets are displayed as child items with a left border for visual hierarchy, making them easily accessible without opening the command dialog. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../Sidebar/TabsView/TabItem/index.tsx | 4 +++- .../WorkspaceView/Sidebar/TabsView/index.tsx | 23 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx index 87838a37cc0..22e07b0cb23 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx @@ -2,12 +2,13 @@ import { Button } from "@superset/ui/button"; import { Input } from "@superset/ui/input"; import { useRef, useState } from "react"; import { useDrag, useDrop } from "react-dnd"; -import { HiMiniXMark } from "react-icons/hi2"; +import { HiMiniCommandLine, HiMiniXMark } from "react-icons/hi2"; import { trpc } from "renderer/lib/trpc"; import { useTabsStore } from "renderer/stores/tabs/store"; import type { Tab } from "renderer/stores/tabs/types"; import { getTabDisplayName } from "renderer/stores/tabs/utils"; import { TabContextMenu } from "./TabContextMenu"; +import { FaTerminal } from "react-icons/fa"; const DRAG_TYPE = "TAB"; @@ -134,6 +135,7 @@ export function TabItem({ tab, index, isActive }: TabItemProps) { ${isDragOver ? "bg-tertiary-active/50" : ""} `} > +
{isRenaming ? ( + {presets.length > 0 && ( +
+ {presets.map((preset) => ( + + ))} +
+ )} Date: Tue, 9 Dec 2025 17:11:02 -0800 Subject: [PATCH 2/2] clean up --- .../WorkspaceView/Sidebar/TabsView/TabItem/index.tsx | 1 - .../WorkspaceView/Sidebar/TabsView/index.tsx | 12 ++++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx index 22e07b0cb23..84401620c67 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/TabItem/index.tsx @@ -8,7 +8,6 @@ import { useTabsStore } from "renderer/stores/tabs/store"; import type { Tab } from "renderer/stores/tabs/types"; import { getTabDisplayName } from "renderer/stores/tabs/utils"; import { TabContextMenu } from "./TabContextMenu"; -import { FaTerminal } from "react-icons/fa"; const DRAG_TYPE = "TAB"; diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/index.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/index.tsx index 4a0936c9331..ecac48391e8 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/index.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/Sidebar/TabsView/index.tsx @@ -1,18 +1,20 @@ import { Button } from "@superset/ui/button"; import { ButtonGroup } from "@superset/ui/button-group"; -import { Separator } from "@superset/ui/separator"; import { LayoutGroup, motion } from "framer-motion"; import type { TerminalPreset } from "main/lib/db/schemas"; import { useMemo, useRef, useState } from "react"; import { useDrop } from "react-dnd"; -import { HiMiniCommandLine, HiMiniEllipsisHorizontal, HiMiniPlus } from "react-icons/hi2"; +import { + HiMiniCommandLine, + HiMiniEllipsisHorizontal, + HiMiniPlus, +} from "react-icons/hi2"; import { trpc } from "renderer/lib/trpc"; import { usePresets } from "renderer/react-query/presets"; import { useOpenSettings, useSidebarStore } from "renderer/stores"; import { useTabsStore } from "renderer/stores/tabs/store"; import { TabItem } from "./TabItem"; import { TabsCommandDialog } from "./TabsCommandDialog"; -import { Plus } from "lucide-react"; const DRAG_TYPE = "TAB"; @@ -162,9 +164,7 @@ export function TabsView() { title={preset.cwd || undefined} > - - {preset.name || "Unnamed"} - + {preset.name || "Unnamed"} ))}