From 436b4b1744dc84b609d3fdd3cbb80b4c02fa64f1 Mon Sep 17 00:00:00 2001 From: Supra4E8C Date: Tue, 17 Mar 2026 02:08:15 +0800 Subject: [PATCH] feat(icons): replace codex_light and codex_drak with a single codex.svg icon refactor(CodexSection, ProviderNav, AiProvidersPage, OAuthPage): update icon imports to use new codex.svg --- src/assets/icons/codex.svg | 1 + src/assets/icons/codex_drak.svg | 25 ------------------- src/assets/icons/codex_light.svg | 25 ------------------- .../providers/CodexSection/CodexSection.tsx | 11 ++------ .../providers/ProviderNav/ProviderNav.tsx | 5 ++-- src/pages/AiProvidersPage.tsx | 1 - src/pages/OAuthPage.tsx | 5 ++-- 7 files changed, 7 insertions(+), 66 deletions(-) create mode 100644 src/assets/icons/codex.svg delete mode 100644 src/assets/icons/codex_drak.svg delete mode 100644 src/assets/icons/codex_light.svg diff --git a/src/assets/icons/codex.svg b/src/assets/icons/codex.svg new file mode 100644 index 0000000..d5cb0ac --- /dev/null +++ b/src/assets/icons/codex.svg @@ -0,0 +1 @@ +Codex \ No newline at end of file diff --git a/src/assets/icons/codex_drak.svg b/src/assets/icons/codex_drak.svg deleted file mode 100644 index ca9cd39..0000000 --- a/src/assets/icons/codex_drak.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/icons/codex_light.svg b/src/assets/icons/codex_light.svg deleted file mode 100644 index eca43ab..0000000 --- a/src/assets/icons/codex_light.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - diff --git a/src/components/providers/CodexSection/CodexSection.tsx b/src/components/providers/CodexSection/CodexSection.tsx index 29db3fe..9791bd8 100644 --- a/src/components/providers/CodexSection/CodexSection.tsx +++ b/src/components/providers/CodexSection/CodexSection.tsx @@ -3,8 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Button } from '@/components/ui/Button'; import { Card } from '@/components/ui/Card'; import { ToggleSwitch } from '@/components/ui/ToggleSwitch'; -import iconCodexLight from '@/assets/icons/codex_light.svg'; -import iconCodexDark from '@/assets/icons/codex_drak.svg'; +import iconCodex from '@/assets/icons/codex.svg'; import type { ProviderKeyConfig } from '@/types'; import { maskApiKey } from '@/utils/format'; import { @@ -25,7 +24,6 @@ interface CodexSectionProps { loading: boolean; disableControls: boolean; isSwitching: boolean; - resolvedTheme: string; onAdd: () => void; onEdit: (index: number) => void; onDelete: (index: number) => void; @@ -39,7 +37,6 @@ export function CodexSection({ loading, disableControls, isSwitching, - resolvedTheme, onAdd, onEdit, onDelete, @@ -72,11 +69,7 @@ export function CodexSection({ - + {t('ai_providers.codex_title')} } diff --git a/src/components/providers/ProviderNav/ProviderNav.tsx b/src/components/providers/ProviderNav/ProviderNav.tsx index a6ee99f..e5ab7dc 100644 --- a/src/components/providers/ProviderNav/ProviderNav.tsx +++ b/src/components/providers/ProviderNav/ProviderNav.tsx @@ -6,8 +6,7 @@ import { useThemeStore } from '@/stores'; import iconGemini from '@/assets/icons/gemini.svg'; import iconOpenaiLight from '@/assets/icons/openai-light.svg'; import iconOpenaiDark from '@/assets/icons/openai-dark.svg'; -import iconCodexLight from '@/assets/icons/codex_light.svg'; -import iconCodexDark from '@/assets/icons/codex_drak.svg'; +import iconCodex from '@/assets/icons/codex.svg'; import iconClaude from '@/assets/icons/claude.svg'; import iconVertex from '@/assets/icons/vertex.svg'; import iconAmp from '@/assets/icons/amp.svg'; @@ -23,7 +22,7 @@ interface ProviderNavItem { const PROVIDERS: ProviderNavItem[] = [ { id: 'gemini', label: 'Gemini', getIcon: () => iconGemini }, - { id: 'codex', label: 'Codex', getIcon: (theme) => (theme === 'dark' ? iconCodexDark : iconCodexLight) }, + { id: 'codex', label: 'Codex', getIcon: () => iconCodex }, { id: 'claude', label: 'Claude', getIcon: () => iconClaude }, { id: 'vertex', label: 'Vertex', getIcon: () => iconVertex }, { id: 'ampcode', label: 'Ampcode', getIcon: () => iconAmp }, diff --git a/src/pages/AiProvidersPage.tsx b/src/pages/AiProvidersPage.tsx index 9a4bfbe..f704028 100644 --- a/src/pages/AiProvidersPage.tsx +++ b/src/pages/AiProvidersPage.tsx @@ -381,7 +381,6 @@ export function AiProvidersPage() { loading={loading} disableControls={disableControls} isSwitching={isSwitching} - resolvedTheme={resolvedTheme} onAdd={() => openEditor('/ai-providers/codex/new')} onEdit={(index) => openEditor(`/ai-providers/codex/${index}`)} onDelete={(index) => void deleteProviderEntry('codex', index)} diff --git a/src/pages/OAuthPage.tsx b/src/pages/OAuthPage.tsx index 250ffed..12cd5e4 100644 --- a/src/pages/OAuthPage.tsx +++ b/src/pages/OAuthPage.tsx @@ -8,8 +8,7 @@ import { oauthApi, type OAuthProvider, type IFlowCookieAuthResponse } from '@/se import { vertexApi, type VertexImportResponse } from '@/services/api/vertex'; import { copyToClipboard } from '@/utils/clipboard'; import styles from './OAuthPage.module.scss'; -import iconCodexLight from '@/assets/icons/codex_light.svg'; -import iconCodexDark from '@/assets/icons/codex_drak.svg'; +import iconCodex from '@/assets/icons/codex.svg'; import iconClaude from '@/assets/icons/claude.svg'; import iconAntigravity from '@/assets/icons/antigravity.svg'; import iconGemini from '@/assets/icons/gemini.svg'; @@ -73,7 +72,7 @@ function getErrorStatus(error: unknown): number | undefined { } const PROVIDERS: { id: OAuthProvider; titleKey: string; hintKey: string; urlLabelKey: string; icon: string | { light: string; dark: string } }[] = [ - { id: 'codex', titleKey: 'auth_login.codex_oauth_title', hintKey: 'auth_login.codex_oauth_hint', urlLabelKey: 'auth_login.codex_oauth_url_label', icon: { light: iconCodexLight, dark: iconCodexDark } }, + { id: 'codex', titleKey: 'auth_login.codex_oauth_title', hintKey: 'auth_login.codex_oauth_hint', urlLabelKey: 'auth_login.codex_oauth_url_label', icon: iconCodex }, { id: 'anthropic', titleKey: 'auth_login.anthropic_oauth_title', hintKey: 'auth_login.anthropic_oauth_hint', urlLabelKey: 'auth_login.anthropic_oauth_url_label', icon: iconClaude }, { id: 'antigravity', titleKey: 'auth_login.antigravity_oauth_title', hintKey: 'auth_login.antigravity_oauth_hint', urlLabelKey: 'auth_login.antigravity_oauth_url_label', icon: iconAntigravity }, { id: 'gemini-cli', titleKey: 'auth_login.gemini_cli_oauth_title', hintKey: 'auth_login.gemini_cli_oauth_hint', urlLabelKey: 'auth_login.gemini_cli_oauth_url_label', icon: iconGemini },