From d0b654f63ef9e655317a1c6cae2047c11c610296 Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 13 Sep 2025 16:21:15 +0800 Subject: [PATCH] feat(ui): replace generic icons with official brand icons - Add Claude and ChatGPT/Codex official brand SVG icons - Create BrandIcons component with proper currentColor support - Update AppSwitcher to use brand icons with Claude's official color (#D97757) - Icons now dynamically change color based on active state - Improve brand recognition and visual consistency --- src/assets/icons/chatgpt.svg | 1 + src/assets/icons/claude.svg | 1 + src/components/AppSwitcher.tsx | 13 +++++++++---- src/components/BrandIcons.tsx | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 src/assets/icons/chatgpt.svg create mode 100644 src/assets/icons/claude.svg create mode 100644 src/components/BrandIcons.tsx diff --git a/src/assets/icons/chatgpt.svg b/src/assets/icons/chatgpt.svg new file mode 100644 index 0000000..af0564f --- /dev/null +++ b/src/assets/icons/chatgpt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/claude.svg b/src/assets/icons/claude.svg new file mode 100644 index 0000000..0463050 --- /dev/null +++ b/src/assets/icons/claude.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/AppSwitcher.tsx b/src/components/AppSwitcher.tsx index e78c8e9..756a6e9 100644 --- a/src/components/AppSwitcher.tsx +++ b/src/components/AppSwitcher.tsx @@ -1,5 +1,5 @@ import { AppType } from "../lib/tauri-api"; -import { Terminal, Code2 } from "lucide-react"; +import { ClaudeIcon, CodexIcon } from "./BrandIcons"; interface AppSwitcherProps { activeApp: AppType; @@ -23,8 +23,13 @@ export function AppSwitcher({ activeApp, onSwitch }: AppSwitcherProps) { : "text-gray-500 hover:text-gray-900 hover:bg-white/50 dark:text-gray-400 dark:hover:text-gray-100 dark:hover:bg-gray-800/60" }`} > - - Claude Code + + Claude diff --git a/src/components/BrandIcons.tsx b/src/components/BrandIcons.tsx new file mode 100644 index 0000000..b0cb5d4 --- /dev/null +++ b/src/components/BrandIcons.tsx @@ -0,0 +1,34 @@ +interface IconProps { + size?: number; + className?: string; +} + +export function ClaudeIcon({ size = 16, className = "" }: IconProps) { + return ( + + + + ); +} + +export function CodexIcon({ size = 16, className = "" }: IconProps) { + return ( + + + + ); +}