diff --git a/apps/desktop/package.json b/apps/desktop/package.json
index 84d403d0fd0..654612486d6 100644
--- a/apps/desktop/package.json
+++ b/apps/desktop/package.json
@@ -64,7 +64,6 @@
"line-column-path": "^3.0.0",
"lodash": "^4.17.21",
"lowdb": "^7.0.1",
- "lucide-react": "^0.555.0",
"nanoid": "^5.1.6",
"node-pty": "1.1.0-beta30",
"react": "^19.1.1",
diff --git a/apps/desktop/src/renderer/screens/main/components/StartView/ActionCard.tsx b/apps/desktop/src/renderer/screens/main/components/StartView/ActionCard.tsx
index 0510eb65dc5..5eac448c346 100644
--- a/apps/desktop/src/renderer/screens/main/components/StartView/ActionCard.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/StartView/ActionCard.tsx
@@ -1,7 +1,7 @@
-import type { LucideIcon } from "lucide-react";
+import type { IconType } from "react-icons";
interface ActionCardProps {
- icon: LucideIcon;
+ icon: IconType;
label: string;
onClick?: () => void;
disabled?: boolean;
diff --git a/apps/desktop/src/renderer/screens/main/components/StartView/index.tsx b/apps/desktop/src/renderer/screens/main/components/StartView/index.tsx
index 7a5fb446413..1b7800789bc 100644
--- a/apps/desktop/src/renderer/screens/main/components/StartView/index.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/StartView/index.tsx
@@ -1,7 +1,7 @@
import { Tooltip, TooltipContent, TooltipTrigger } from "@superset/ui/tooltip";
-import { ChevronUp, FolderGit, FolderOpen, X } from "lucide-react";
import { useState } from "react";
import { HiExclamationTriangle } from "react-icons/hi2";
+import { LuChevronUp, LuFolderGit, LuFolderOpen, LuX } from "react-icons/lu";
import { trpc } from "renderer/lib/trpc";
import { useOpenNew } from "renderer/react-query/projects";
import { useCreateWorkspace } from "renderer/react-query/workspaces";
@@ -152,7 +152,7 @@ export function StartView() {
className="flex-shrink-0 p-0.5 rounded hover:bg-accent/50 transition-colors"
aria-label="Dismiss error"
>
-
+
@@ -163,14 +163,14 @@ export function StartView() {
{/* Action Cards */}
{
setError(null);
@@ -200,7 +200,7 @@ export function StartView() {
{showAllProjects ? (
<>
Show less
-
+
>
) : (
<>View all ({recentProjects.length})>
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/WorkspaceHoverCard.tsx b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/WorkspaceHoverCard.tsx
index f725aa2f8f4..9d6874045f6 100644
--- a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/WorkspaceHoverCard.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/WorkspaceHoverCard.tsx
@@ -1,7 +1,11 @@
import { Button } from "@superset/ui/button";
import { formatDistanceToNow } from "date-fns";
-import { ExternalLink, LoaderCircle, TriangleAlert } from "lucide-react";
import { FaGithub } from "react-icons/fa";
+import {
+ LuExternalLink,
+ LuLoaderCircle,
+ LuTriangleAlert,
+} from "react-icons/lu";
import { trpc } from "renderer/lib/trpc";
import { ChecksList } from "./components/ChecksList";
import { ChecksSummary } from "./components/ChecksSummary";
@@ -55,7 +59,7 @@ export function WorkspaceHoverCardContent({
className={`flex items-center gap-1 font-mono break-all hover:underline ${hasCustomAlias ? "text-xs" : "text-sm"}`}
>
{worktreeName}
-
+
) : (
-
+
Behind main, needs rebase
)}
@@ -84,7 +88,7 @@ export function WorkspaceHoverCardContent({
{/* PR Section */}
{isLoadingGithub ? (
-
+
Loading PR...
) : pr ? (
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/ChecksList.tsx b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/ChecksList.tsx
index fcf726cb48d..16e5f2c2d8d 100644
--- a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/ChecksList.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/ChecksList.tsx
@@ -1,6 +1,6 @@
-import { ChevronDown, ChevronRight } from "lucide-react";
import type { CheckItem } from "main/lib/db/schemas";
import { useState } from "react";
+import { LuChevronDown, LuChevronRight } from "react-icons/lu";
import { CheckItemRow } from "./components/CheckItemRow";
interface ChecksListProps {
@@ -25,9 +25,9 @@ export function ChecksList({ checks }: ChecksListProps) {
className="flex items-center gap-1 text-muted-foreground hover:text-foreground transition-colors"
>
{expanded ? (
-
+
) : (
-
+
)}
{expanded ? "Hide checks" : "Show checks"}
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/components/CheckItemRow/CheckItemRow.tsx b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/components/CheckItemRow/CheckItemRow.tsx
index 6962dae4a2d..401db80f455 100644
--- a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/components/CheckItemRow/CheckItemRow.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksList/components/CheckItemRow/CheckItemRow.tsx
@@ -1,5 +1,5 @@
-import { Check, LoaderCircle, Minus, X } from "lucide-react";
import type { CheckItem } from "main/lib/db/schemas";
+import { LuCheck, LuLoaderCircle, LuMinus, LuX } from "react-icons/lu";
interface CheckItemRowProps {
check: CheckItem;
@@ -7,11 +7,11 @@ interface CheckItemRowProps {
export function CheckItemRow({ check }: CheckItemRowProps) {
const statusConfig = {
- success: { icon: Check, className: "text-emerald-500" },
- failure: { icon: X, className: "text-destructive-foreground" },
- pending: { icon: LoaderCircle, className: "text-amber-500" },
- skipped: { icon: Minus, className: "text-muted-foreground" },
- cancelled: { icon: Minus, className: "text-muted-foreground" },
+ success: { icon: LuCheck, className: "text-emerald-500" },
+ failure: { icon: LuX, className: "text-destructive-foreground" },
+ pending: { icon: LuLoaderCircle, className: "text-amber-500" },
+ skipped: { icon: LuMinus, className: "text-muted-foreground" },
+ cancelled: { icon: LuMinus, className: "text-muted-foreground" },
};
const { icon: Icon, className } = statusConfig[check.status];
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksSummary/ChecksSummary.tsx b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksSummary/ChecksSummary.tsx
index aa1b0447300..14238bb0d73 100644
--- a/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksSummary/ChecksSummary.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/TopBar/WorkspaceTabs/WorkspaceHoverCard/components/ChecksSummary/ChecksSummary.tsx
@@ -1,5 +1,5 @@
-import { Check, LoaderCircle, X } from "lucide-react";
import type { CheckItem } from "main/lib/db/schemas";
+import { LuCheck, LuLoaderCircle, LuX } from "react-icons/lu";
interface ChecksSummaryProps {
checks: CheckItem[];
@@ -16,15 +16,15 @@ export function ChecksSummary({ checks, status }: ChecksSummaryProps) {
const config = {
success: {
- icon: Check,
+ icon: LuCheck,
className: "text-emerald-500",
},
failure: {
- icon: X,
+ icon: LuX,
className: "text-destructive-foreground",
},
pending: {
- icon: LoaderCircle,
+ icon: LuLoaderCircle,
className: "text-amber-500",
},
};
diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabContentContextMenu.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabContentContextMenu.tsx
index 92b8a4956fb..72af551ee4f 100644
--- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabContentContextMenu.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/TabContentContextMenu.tsx
@@ -9,8 +9,15 @@ import {
ContextMenuSubTrigger,
ContextMenuTrigger,
} from "@superset/ui/context-menu";
-import { Columns2, Eraser, MoveRight, Plus, Rows2, X } from "lucide-react";
import type { ReactNode } from "react";
+import {
+ LuColumns2,
+ LuEraser,
+ LuMoveRight,
+ LuPlus,
+ LuRows2,
+ LuX,
+} from "react-icons/lu";
import type { Tab } from "renderer/stores/tabs/types";
interface TabContentContextMenuProps {
@@ -44,22 +51,22 @@ export function TabContentContextMenu({
{children}
-
+
Split Horizontally
-
+
Split Vertically
-
+
Clear Terminal
⌘K
-
+
Move to Tab
@@ -73,14 +80,14 @@ export function TabContentContextMenu({
))}
{targetTabs.length > 0 && }
-
+
New Tab
-
+
Close Terminal