From 233a16b64e0306a2a6b2c300063bbfa1b396f1d0 Mon Sep 17 00:00:00 2001 From: Haileyesus Date: Wed, 18 Feb 2026 13:27:25 +0300 Subject: [PATCH] refactor(logo-provider): moved SessionProviderLogo to a dedicated llm-logo-provider folder and updated imports --- src/components/Onboarding.jsx | 10 ++++------ .../view/subcomponents/AssistantThinkingIndicator.tsx | 2 +- .../chat/view/subcomponents/MessageComponent.tsx | 2 +- .../view/subcomponents/ProviderSelectionEmptyState.tsx | 2 +- .../ClaudeLogo.tsx} | 6 +++++- .../{CodexLogo.jsx => llm-logo-provider/CodexLogo.tsx} | 8 ++++++-- .../CursorLogo.tsx} | 8 ++++++-- .../{ => llm-logo-provider}/SessionProviderLogo.tsx | 2 +- .../view/subcomponents/MainContentTitle.tsx | 2 +- .../view/tabs/agents-settings/AgentListItem.tsx | 2 +- .../sections/content/AccountContent.tsx | 2 +- .../sidebar/view/subcomponents/SidebarSessionItem.tsx | 2 +- 12 files changed, 29 insertions(+), 19 deletions(-) rename src/components/{ClaudeLogo.jsx => llm-logo-provider/ClaudeLogo.tsx} (56%) rename src/components/{CodexLogo.jsx => llm-logo-provider/CodexLogo.tsx} (58%) rename src/components/{CursorLogo.jsx => llm-logo-provider/CursorLogo.tsx} (58%) rename src/components/{ => llm-logo-provider}/SessionProviderLogo.tsx (90%) diff --git a/src/components/Onboarding.jsx b/src/components/Onboarding.jsx index 90a11af..bc9088e 100644 --- a/src/components/Onboarding.jsx +++ b/src/components/Onboarding.jsx @@ -1,8 +1,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { ChevronRight, ChevronLeft, Check, GitBranch, User, Mail, LogIn, ExternalLink, Loader2 } from 'lucide-react'; -import ClaudeLogo from './ClaudeLogo'; -import CursorLogo from './CursorLogo'; -import CodexLogo from './CodexLogo'; +import SessionProviderLogo from './llm-logo-provider/SessionProviderLogo'; import LoginModal from './LoginModal'; import { authenticatedFetch } from '../utils/api'; import { useAuth } from '../contexts/AuthContext'; @@ -347,7 +345,7 @@ const Onboarding = ({ onComplete }) => {
- +
@@ -380,7 +378,7 @@ const Onboarding = ({ onComplete }) => {
- +
@@ -413,7 +411,7 @@ const Onboarding = ({ onComplete }) => {
- +
diff --git a/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx b/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx index 872dd0c..8d873cc 100644 --- a/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx +++ b/src/components/chat/view/subcomponents/AssistantThinkingIndicator.tsx @@ -1,5 +1,5 @@ import { SessionProvider } from '../../../../types/app'; -import SessionProviderLogo from '../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../llm-logo-provider/SessionProviderLogo'; import type { Provider } from '../../types/types'; type AssistantThinkingIndicatorProps = { diff --git a/src/components/chat/view/subcomponents/MessageComponent.tsx b/src/components/chat/view/subcomponents/MessageComponent.tsx index e51ad6d..d1aa442 100644 --- a/src/components/chat/view/subcomponents/MessageComponent.tsx +++ b/src/components/chat/view/subcomponents/MessageComponent.tsx @@ -1,6 +1,6 @@ import React, { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import SessionProviderLogo from '../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../llm-logo-provider/SessionProviderLogo'; import type { ChatMessage, ClaudePermissionSuggestion, diff --git a/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx b/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx index 8f9db07..3fef5a9 100644 --- a/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx +++ b/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Check, ChevronDown } from 'lucide-react'; import { useTranslation } from 'react-i18next'; -import SessionProviderLogo from '../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../llm-logo-provider/SessionProviderLogo'; import NextTaskBanner from '../../../NextTaskBanner.jsx'; import { CLAUDE_MODELS, CURSOR_MODELS, CODEX_MODELS } from '../../../../../shared/modelConstants'; import type { ProjectSession, SessionProvider } from '../../../../types/app'; diff --git a/src/components/ClaudeLogo.jsx b/src/components/llm-logo-provider/ClaudeLogo.tsx similarity index 56% rename from src/components/ClaudeLogo.jsx rename to src/components/llm-logo-provider/ClaudeLogo.tsx index b751fc1..d15a071 100644 --- a/src/components/ClaudeLogo.jsx +++ b/src/components/llm-logo-provider/ClaudeLogo.tsx @@ -1,6 +1,10 @@ import React from 'react'; -const ClaudeLogo = ({className = 'w-5 h-5'}) => { +type ClaudeLogoProps = { + className?: string; +}; + +const ClaudeLogo = ({ className = 'w-5 h-5' }: ClaudeLogoProps) => { return ( Claude ); diff --git a/src/components/CodexLogo.jsx b/src/components/llm-logo-provider/CodexLogo.tsx similarity index 58% rename from src/components/CodexLogo.jsx rename to src/components/llm-logo-provider/CodexLogo.tsx index 91759dd..0c3a65f 100644 --- a/src/components/CodexLogo.jsx +++ b/src/components/llm-logo-provider/CodexLogo.tsx @@ -1,7 +1,11 @@ import React from 'react'; -import { useTheme } from '../contexts/ThemeContext'; +import { useTheme } from '../../contexts/ThemeContext'; -const CodexLogo = ({ className = 'w-5 h-5' }) => { +type CodexLogoProps = { + className?: string; +}; + +const CodexLogo = ({ className = 'w-5 h-5' }: CodexLogoProps) => { const { isDarkMode } = useTheme(); return ( diff --git a/src/components/CursorLogo.jsx b/src/components/llm-logo-provider/CursorLogo.tsx similarity index 58% rename from src/components/CursorLogo.jsx rename to src/components/llm-logo-provider/CursorLogo.tsx index 1cac4d2..a44064a 100644 --- a/src/components/CursorLogo.jsx +++ b/src/components/llm-logo-provider/CursorLogo.tsx @@ -1,7 +1,11 @@ import React from 'react'; -import { useTheme } from '../contexts/ThemeContext'; +import { useTheme } from '../../contexts/ThemeContext'; -const CursorLogo = ({ className = 'w-5 h-5' }) => { +type CursorLogoProps = { + className?: string; +}; + +const CursorLogo = ({ className = 'w-5 h-5' }: CursorLogoProps) => { const { isDarkMode } = useTheme(); return ( diff --git a/src/components/SessionProviderLogo.tsx b/src/components/llm-logo-provider/SessionProviderLogo.tsx similarity index 90% rename from src/components/SessionProviderLogo.tsx rename to src/components/llm-logo-provider/SessionProviderLogo.tsx index d621fc5..c80efe1 100644 --- a/src/components/SessionProviderLogo.tsx +++ b/src/components/llm-logo-provider/SessionProviderLogo.tsx @@ -1,4 +1,4 @@ -import type { SessionProvider } from '../types/app'; +import type { SessionProvider } from '../../types/app'; import ClaudeLogo from './ClaudeLogo'; import CodexLogo from './CodexLogo'; import CursorLogo from './CursorLogo'; diff --git a/src/components/main-content/view/subcomponents/MainContentTitle.tsx b/src/components/main-content/view/subcomponents/MainContentTitle.tsx index 3d11d1e..a9f095c 100644 --- a/src/components/main-content/view/subcomponents/MainContentTitle.tsx +++ b/src/components/main-content/view/subcomponents/MainContentTitle.tsx @@ -1,5 +1,5 @@ import { useTranslation } from 'react-i18next'; -import SessionProviderLogo from '../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../llm-logo-provider/SessionProviderLogo'; import type { AppTab, Project, ProjectSession } from '../../../../types/app'; type MainContentTitleProps = { diff --git a/src/components/settings/view/tabs/agents-settings/AgentListItem.tsx b/src/components/settings/view/tabs/agents-settings/AgentListItem.tsx index eea803e..21f07cc 100644 --- a/src/components/settings/view/tabs/agents-settings/AgentListItem.tsx +++ b/src/components/settings/view/tabs/agents-settings/AgentListItem.tsx @@ -1,5 +1,5 @@ import { useTranslation } from 'react-i18next'; -import SessionProviderLogo from '../../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../../llm-logo-provider/SessionProviderLogo'; import type { AgentProvider, AuthStatus } from '../../../types/types'; type AgentListItemProps = { diff --git a/src/components/settings/view/tabs/agents-settings/sections/content/AccountContent.tsx b/src/components/settings/view/tabs/agents-settings/sections/content/AccountContent.tsx index 6fa015c..cd00ee8 100644 --- a/src/components/settings/view/tabs/agents-settings/sections/content/AccountContent.tsx +++ b/src/components/settings/view/tabs/agents-settings/sections/content/AccountContent.tsx @@ -2,7 +2,7 @@ import { LogIn } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { Badge } from '../../../../../../ui/badge'; import { Button } from '../../../../../../ui/button'; -import SessionProviderLogo from '../../../../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../../../../llm-logo-provider/SessionProviderLogo'; import type { AgentProvider, AuthStatus } from '../../../../../types/types'; type AccountContentProps = { diff --git a/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx b/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx index eb62ddb..6149aba 100644 --- a/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx +++ b/src/components/sidebar/view/subcomponents/SidebarSessionItem.tsx @@ -7,7 +7,7 @@ import { formatTimeAgo } from '../../../../utils/dateUtils'; import type { Project, ProjectSession, SessionProvider } from '../../../../types/app'; import type { SessionWithProvider, TouchHandlerFactory } from '../../types/types'; import { createSessionViewModel } from '../../utils/utils'; -import SessionProviderLogo from '../../../SessionProviderLogo'; +import SessionProviderLogo from '../../../llm-logo-provider/SessionProviderLogo'; type SidebarSessionItemProps = { project: Project;