diff --git a/packages/vscode-ide-companion/src/webview/App.tsx b/packages/vscode-ide-companion/src/webview/App.tsx index 258b0d06..04831058 100644 --- a/packages/vscode-ide-companion/src/webview/App.tsx +++ b/packages/vscode-ide-companion/src/webview/App.tsx @@ -28,12 +28,12 @@ import { PermissionDrawer } from './components/PermissionDrawer.js'; import { ToolCall } from './components/ToolCall.js'; import { hasToolCallOutput } from './components/toolcalls/shared/utils.js'; import { InProgressToolCall } from './components/InProgressToolCall.js'; -import { EmptyState } from './components/EmptyState.js'; +import { EmptyState } from './components/ui/EmptyState.js'; import type { PlanEntry } from './components/PlanDisplay.js'; -import { type CompletionItem } from './components/CompletionTypes.js'; +import { type CompletionItem } from './types/CompletionTypes.js'; import { useCompletionTrigger } from './hooks/useCompletionTrigger.js'; import { InfoBanner } from './components/InfoBanner.js'; -import { ChatHeader } from './components/layouts/ChatHeader.js'; +import { ChatHeader } from './components/ui/layouts/ChatHeader.js'; import { UserMessage, AssistantMessage, diff --git a/packages/vscode-ide-companion/src/webview/components/EmptyState.css b/packages/vscode-ide-companion/src/webview/components/EmptyState.css deleted file mode 100644 index 36642968..00000000 --- a/packages/vscode-ide-companion/src/webview/components/EmptyState.css +++ /dev/null @@ -1,48 +0,0 @@ -/** - * @license - * Copyright 2025 Qwen Team - * SPDX-License-Identifier: Apache-2.0 - */ - -.empty-state { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100%; - padding: 40px 20px; -} - -.empty-state-content { - display: flex; - flex-direction: column; - align-items: center; - gap: 32px; - max-width: 600px; - width: 100%; -} - -.empty-state-logo { - display: flex; - flex-direction: column; - align-items: center; - gap: 24px; -} - -.empty-state-logo-image { - width: 60px; - height: 60px; - object-fit: contain; -} - -.empty-state-text { - text-align: center; -} - -.empty-state-title { - font-size: 15px; - color: var(--app-primary-foreground); - line-height: 1.5; - font-weight: 400; - max-width: 400px; -} diff --git a/packages/vscode-ide-companion/src/webview/components/ui/CompletionMenu.tsx b/packages/vscode-ide-companion/src/webview/components/ui/CompletionMenu.tsx index 5bea69a2..72ec1307 100644 --- a/packages/vscode-ide-companion/src/webview/components/ui/CompletionMenu.tsx +++ b/packages/vscode-ide-companion/src/webview/components/ui/CompletionMenu.tsx @@ -6,7 +6,7 @@ import type React from 'react'; import { useEffect, useRef, useState } from 'react'; -import type { CompletionItem } from '../CompletionTypes.js'; +import type { CompletionItem } from '../../types/CompletionTypes.js'; interface CompletionMenuProps { items: CompletionItem[]; diff --git a/packages/vscode-ide-companion/src/webview/components/EmptyState.tsx b/packages/vscode-ide-companion/src/webview/components/ui/EmptyState.tsx similarity index 53% rename from packages/vscode-ide-companion/src/webview/components/EmptyState.tsx rename to packages/vscode-ide-companion/src/webview/components/ui/EmptyState.tsx index b02c5fa3..c8cddcf2 100644 --- a/packages/vscode-ide-companion/src/webview/components/EmptyState.tsx +++ b/packages/vscode-ide-companion/src/webview/components/ui/EmptyState.tsx @@ -5,25 +5,24 @@ */ import type React from 'react'; -import './EmptyState.css'; -import { generateIconUrl } from '../utils/resourceUrl.js'; +import { generateIconUrl } from '../../utils/resourceUrl.js'; export const EmptyState: React.FC = () => { // Generate icon URL using the utility function const iconUri = generateIconUrl('icon.png'); return ( -
-
+
+
{/* Qwen Logo */} -
+
Qwen Logo -
-
+
+
What to do first? Ask about this codebase or we can start writing code.
diff --git a/packages/vscode-ide-companion/src/webview/components/layouts/ChatHeader.tsx b/packages/vscode-ide-companion/src/webview/components/ui/layouts/ChatHeader.tsx similarity index 67% rename from packages/vscode-ide-companion/src/webview/components/layouts/ChatHeader.tsx rename to packages/vscode-ide-companion/src/webview/components/ui/layouts/ChatHeader.tsx index 0f1711d8..786969a3 100644 --- a/packages/vscode-ide-companion/src/webview/components/layouts/ChatHeader.tsx +++ b/packages/vscode-ide-companion/src/webview/components/ui/layouts/ChatHeader.tsx @@ -5,7 +5,7 @@ */ import type React from 'react'; -import { ChevronDownIcon, PlusIcon } from '../icons/index.js'; +import { ChevronDownIcon, PlusIcon } from '../../icons/index.js'; interface ChatHeaderProps { currentSessionTitle: string; @@ -18,13 +18,16 @@ export const ChatHeader: React.FC = ({ onLoadSessions, onNewSession, }) => ( -
+
diff --git a/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts b/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts index 521716c6..859d80a2 100644 --- a/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts +++ b/packages/vscode-ide-companion/src/webview/hooks/useCompletionTrigger.ts @@ -6,7 +6,7 @@ import type { RefObject } from 'react'; import { useState, useEffect, useCallback, useRef, useMemo } from 'react'; -import type { CompletionItem } from '../components/CompletionTypes.js'; +import type { CompletionItem } from '../types/CompletionTypes.js'; interface CompletionTriggerState { isOpen: boolean; diff --git a/packages/vscode-ide-companion/src/webview/styles/ClaudeCodeStyles.css b/packages/vscode-ide-companion/src/webview/styles/ClaudeCodeStyles.css index 752e3172..b9eb5283 100644 --- a/packages/vscode-ide-companion/src/webview/styles/ClaudeCodeStyles.css +++ b/packages/vscode-ide-companion/src/webview/styles/ClaudeCodeStyles.css @@ -8,8 +8,6 @@ */ /* Import component styles */ -@import '../components/EmptyState.css'; -@import '../components/PlanDisplay.css'; @import '../components/toolcalls/shared/DiffDisplay.css'; @import '../components/messages/AssistantMessage.css'; @import '../components/messages/SimpleTimeline.css'; diff --git a/packages/vscode-ide-companion/src/webview/components/CompletionTypes.ts b/packages/vscode-ide-companion/src/webview/types/CompletionTypes.ts similarity index 100% rename from packages/vscode-ide-companion/src/webview/components/CompletionTypes.ts rename to packages/vscode-ide-companion/src/webview/types/CompletionTypes.ts