diff --git a/src/components/SessionProviderLogo.tsx b/src/components/SessionProviderLogo.tsx
new file mode 100644
index 0000000..d621fc5
--- /dev/null
+++ b/src/components/SessionProviderLogo.tsx
@@ -0,0 +1,24 @@
+import type { SessionProvider } from '../types/app';
+import ClaudeLogo from './ClaudeLogo';
+import CodexLogo from './CodexLogo';
+import CursorLogo from './CursorLogo';
+
+type SessionProviderLogoProps = {
+ provider?: SessionProvider | string | null;
+ className?: string;
+};
+
+export default function SessionProviderLogo({
+ provider = 'claude',
+ className = 'w-5 h-5',
+}: SessionProviderLogoProps) {
+ if (provider === 'cursor') {
+ return
Claude Code
{t('providerSelection.providerInfo.anthropic')}
@@ -94,7 +92,7 @@ export default function ProviderSelectionEmptyState({ }`} >Cursor
{t('providerSelection.providerInfo.cursorEditor')}
@@ -120,7 +118,7 @@ export default function ProviderSelectionEmptyState({ }`} >Codex
{t('providerSelection.providerInfo.openai')}
diff --git a/src/components/main-content/MainContentTitle.tsx b/src/components/main-content/MainContentTitle.tsx index 7d2773b..285a881 100644 --- a/src/components/main-content/MainContentTitle.tsx +++ b/src/components/main-content/MainContentTitle.tsx @@ -1,6 +1,5 @@ import { useTranslation } from 'react-i18next'; -import ClaudeLogo from '../ClaudeLogo'; -import CursorLogo from '../CursorLogo'; +import SessionProviderLogo from '../SessionProviderLogo'; import type { AppTab, Project, ProjectSession } from '../../types/app'; type MainContentTitleProps = { @@ -49,11 +48,7 @@ export default function MainContentTitle({{t(`agents.account.${agent}.description`)}
diff --git a/src/components/settings/AgentListItem.jsx b/src/components/settings/AgentListItem.jsx index 06e7477..babd8b5 100644 --- a/src/components/settings/AgentListItem.jsx +++ b/src/components/settings/AgentListItem.jsx @@ -1,23 +1,18 @@ -import ClaudeLogo from '../ClaudeLogo'; -import CursorLogo from '../CursorLogo'; -import CodexLogo from '../CodexLogo'; +import SessionProviderLogo from '../SessionProviderLogo'; import { useTranslation } from 'react-i18next'; const agentConfig = { claude: { name: 'Claude', color: 'blue', - Logo: ClaudeLogo, }, cursor: { name: 'Cursor', color: 'purple', - Logo: CursorLogo, }, codex: { name: 'Codex', color: 'gray', - Logo: CodexLogo, }, }; @@ -46,7 +41,6 @@ export default function AgentListItem({ agentId, authStatus, isSelected, onClick const { t } = useTranslation('settings'); const config = agentConfig[agentId]; const colors = colorClasses[config.color]; - const { Logo } = config; // Mobile: horizontal layout with bottom border if (isMobile) { @@ -60,7 +54,7 @@ export default function AgentListItem({ agentId, authStatus, isSelected, onClick }`} >