diff --git a/.gitignore b/.gitignore index 2a6d0af623..3babb33198 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ coverage # But don't ignore the coverage scripts in .github/scripts/ !.github/scripts/coverage/ -*evals.env \ No newline at end of file +*evals.env +*.zip diff --git a/webview-ui/src/App.tsx b/webview-ui/src/App.tsx index 3306aa71cc..13b6e93b15 100644 --- a/webview-ui/src/App.tsx +++ b/webview-ui/src/App.tsx @@ -114,7 +114,7 @@ const AppContent = () => { return ( <> {showWelcomeLocal ? ( - + ) : ( <> {showSettings && } diff --git a/webview-ui/src/assets/css/styles.css b/webview-ui/src/assets/css/styles.css index 06ea9c0fb0..d334d1f956 100644 --- a/webview-ui/src/assets/css/styles.css +++ b/webview-ui/src/assets/css/styles.css @@ -142,42 +142,42 @@ } .feature-icon-1 { - background-image: url("../images/feature-icon-1.svg"); + background-image: url("../images/rocket.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; } .feature-icon-2 { - background-image: url("../images/feature-icon-2.svg"); + background-image: url("../images/rocket.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; } .feature-icon-3 { - background-image: url("../images/feature-icon-3.svg"); + background-image: url("../images/play.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; } .feature-icon-4 { - background-image: url("../images/feature-icon-4.svg"); + background-image: url("../images/rules.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; } .action-icon-1 { - background-image: url("../images/action-icon-1.svg"); + background-image: url("../images/star-check.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; } .action-icon-2 { - background-image: url("../images/action-icon-2.svg"); + background-image: url("../images/rocket.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; diff --git a/webview-ui/src/assets/images/vector-1.svg b/webview-ui/src/assets/images/check.svg similarity index 100% rename from webview-ui/src/assets/images/vector-1.svg rename to webview-ui/src/assets/images/check.svg diff --git a/webview-ui/src/assets/images/feature-image.png b/webview-ui/src/assets/images/cline-robot-shaded.png similarity index 100% rename from webview-ui/src/assets/images/feature-image.png rename to webview-ui/src/assets/images/cline-robot-shaded.png diff --git a/webview-ui/src/assets/images/feature-image.jpg b/webview-ui/src/assets/images/cline-robot.jpg similarity index 100% rename from webview-ui/src/assets/images/feature-image.jpg rename to webview-ui/src/assets/images/cline-robot.jpg diff --git a/webview-ui/src/assets/images/feature-icon-2.svg b/webview-ui/src/assets/images/diamond.svg similarity index 100% rename from webview-ui/src/assets/images/feature-icon-2.svg rename to webview-ui/src/assets/images/diamond.svg diff --git a/webview-ui/src/assets/images/feature-icon-1.svg b/webview-ui/src/assets/images/feature-icon-1.svg deleted file mode 100644 index 0bdf581a48..0000000000 --- a/webview-ui/src/assets/images/feature-icon-1.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/webview-ui/src/assets/images/feature-bg.png b/webview-ui/src/assets/images/hero-image.png similarity index 100% rename from webview-ui/src/assets/images/feature-bg.png rename to webview-ui/src/assets/images/hero-image.png diff --git a/webview-ui/src/assets/images/vector.svg b/webview-ui/src/assets/images/logo.svg similarity index 100% rename from webview-ui/src/assets/images/vector.svg rename to webview-ui/src/assets/images/logo.svg diff --git a/webview-ui/src/assets/images/action-icon-2.svg b/webview-ui/src/assets/images/play.svg similarity index 100% rename from webview-ui/src/assets/images/action-icon-2.svg rename to webview-ui/src/assets/images/play.svg diff --git a/webview-ui/src/assets/images/action-icon-1.svg b/webview-ui/src/assets/images/rocket.svg similarity index 100% rename from webview-ui/src/assets/images/action-icon-1.svg rename to webview-ui/src/assets/images/rocket.svg diff --git a/webview-ui/src/assets/images/feature-icon-3.svg b/webview-ui/src/assets/images/rules.svg similarity index 100% rename from webview-ui/src/assets/images/feature-icon-3.svg rename to webview-ui/src/assets/images/rules.svg diff --git a/webview-ui/src/assets/images/feature-icon-4.svg b/webview-ui/src/assets/images/star-check.svg similarity index 100% rename from webview-ui/src/assets/images/feature-icon-4.svg rename to webview-ui/src/assets/images/star-check.svg diff --git a/webview-ui/src/components/welcome/WelcomeTabView.tsx b/webview-ui/src/components/welcome/WelcomeTabView.tsx index 877a148fbe..036fa4dd78 100644 --- a/webview-ui/src/components/welcome/WelcomeTabView.tsx +++ b/webview-ui/src/components/welcome/WelcomeTabView.tsx @@ -1,43 +1,14 @@ import { useState, useRef, useEffect, memo, Dispatch, SetStateAction } from "react" -import { VSCodeButton, VSCodeLink } from "@vscode/webview-ui-toolkit/react" import { useExtensionState } from "@/context/ExtensionStateContext" -import { vscode } from "@/utils/vscode" import { AccountServiceClient } from "@/services/grpc-client" import { EmptyRequest } from "@shared/proto/common" import ClineLogoWhite from "@/assets/ClineLogoWhite" -import ApiOptionsSection from "./ApiOptionsSection" - -// Import images -import featureIcon1 from "@/assets/images/feature-icon-1.svg" -import featureIcon2 from "@/assets/images/feature-icon-2.svg" -import featureIcon3 from "@/assets/images/feature-icon-3.svg" -import featureIcon4 from "@/assets/images/feature-icon-4.svg" -import actionIcon1 from "@/assets/images/action-icon-1.svg" -import actionIcon2 from "@/assets/images/action-icon-2.svg" -import vector1 from "@/assets/images/vector-1.svg" -import buttonIcon1 from "@/assets/images/button-icon-1.svg" -import anthropicModel from "@/assets/images/anthropic-model.jpg" -import googleModel from "@/assets/images/google-model.jpg" -import metaModel from "@/assets/images/meta-model.jpg" -import planLine from "@/assets/images/plan-line.svg" -import actLine from "@/assets/images/act-line.svg" -import disabledLine from "@/assets/images/disabled-line.svg" -import featureImage from "@/assets/images/feature-image.jpg" -import featureBg from "@/assets/images/feature-bg.png" // Import CSS styles import "@/assets/css/styles.css" -import { WebviewType } from "@shared/WebviewMessage" import { validateApiConfiguration } from "@/utils/validate" // Added import -interface WelcomeTabViewProps { - onToggleView?: () => void - showApiOptions?: boolean - setShowApiOptions?: Dispatch> - webviewType: WebviewType -} - -const WelcomeTabView = memo(({ onToggleView, showApiOptions, setShowApiOptions, webviewType }: WelcomeTabViewProps) => { +const WelcomeTabView = ({ showWelcome }: { showWelcome: boolean }) => { const { apiConfiguration } = useExtensionState() const isApiConfigValid = validateApiConfiguration(apiConfiguration) === undefined const [activeTab, setActiveTab] = useState("Key Features") @@ -83,31 +54,6 @@ const WelcomeTabView = memo(({ onToggleView, showApiOptions, setShowApiOptions, return (
- {/* Toggle button to switch between old and new welcome views */} - {onToggleView && ( -
- -
- )}
{/* Account Info */}
@@ -123,16 +69,9 @@ const WelcomeTabView = memo(({ onToggleView, showApiOptions, setShowApiOptions, Let's Create your Account!
- {showApiOptions !== undefined && ( - - )} {/* Conditionally render features-container */} - {!isApiConfigValid && !showApiOptions && ( + {isApiConfigValid && !showWelcome ? (
> Read my code & suggest...
- -
-
- {showPlaceholder &&
Type your prompt here...
} - {!showPlaceholder && ( - - )} - -
-
- - - -
-
-
-
- {/* ... other content of features-container ... */} - {/* Ensure the footer is also inside this conditional block if it's part of features-container */}
- )} + ) : null} {/* End of conditional rendering for features-container */}
@@ -394,7 +276,7 @@ const WelcomeTabView = memo(({ onToggleView, showApiOptions, setShowApiOptions,
- Feature Background + Feature Background
@@ -577,39 +459,12 @@ const WelcomeTabView = memo(({ onToggleView, showApiOptions, setShowApiOptions,

-
- - - - - - - - -
+
) -}) +} export default WelcomeTabView diff --git a/webview-ui/src/components/welcome/WelcomeWrapper.tsx b/webview-ui/src/components/welcome/WelcomeWrapper.tsx index 946d6167a4..6ba81297e4 100644 --- a/webview-ui/src/components/welcome/WelcomeWrapper.tsx +++ b/webview-ui/src/components/welcome/WelcomeWrapper.tsx @@ -3,7 +3,7 @@ import { WebviewType } from "@shared/WebviewMessage" import WelcomeView from "./WelcomeView" import WelcomeTabView from "./WelcomeTabView" -const WelcomeWrapper = memo(() => { +const WelcomeWrapper = memo(({ showWelcome }: { showWelcome: boolean }) => { const [showApiOptions, setShowApiOptions] = useState(false) // Determine which welcome view to show based on webview type @@ -14,7 +14,7 @@ const WelcomeWrapper = memo(() => { {webviewType === "sidebar" ? ( ) : ( - + )} )