- Chat directly with 2,800+ APIs powered by {" "}
-
- Pipedream Connect
-
-
+
+
+ Welcome to Virgo Chat
+
+
+
+ Alpha
+
+
+
+
+ Chat directly with 2,800+ APIs
+
+
{/* Centered input form for home page */}
diff --git a/components/info-banner.tsx b/components/info-banner.tsx
index 04421a0..1bee281 100644
--- a/components/info-banner.tsx
+++ b/components/info-banner.tsx
@@ -12,9 +12,6 @@ interface InfoBannerProps {
/**
* Custom hook for managing dismissible banner states.
- *
- * This demonstrates a pattern for handling multiple dismissible UI elements
- * with a single, reusable state management solution.
*/
function useDismissibleBanners() {
const [dismissedBanners, setDismissedBanners] = useState>(new Set());
@@ -32,9 +29,6 @@ function useDismissibleBanners() {
/**
* Reusable banner component for displaying dismissible messages.
- *
- * This component demonstrates how to create themed, dismissible banners
- * with consistent styling.
*/
function Banner({
theme,
@@ -73,15 +67,7 @@ function Banner({
}
/**
- * InfoBanner displays contextual information about the app's current configuration.
- *
- * Shows different banners based on:
- * - Auth disabled: Warning about development mode
- * - Persistence disabled: Warning about chat storage
- * - Normal mode: Info about the MCP demo
- *
- * This pattern allows developers to understand the current app state and
- * provides helpful links to documentation.
+ * InfoBanner for Virgo branding (replaces Pipedream copy).
*/
export function InfoBanner({ isAuthDisabled: isAuthDisabledMode, isPersistenceDisabled = false, className = "" }: InfoBannerProps) {
const { dismissBanner, isBannerDismissed } = useDismissibleBanners();
@@ -89,7 +75,6 @@ export function InfoBanner({ isAuthDisabled: isAuthDisabledMode, isPersistenceDi
const showMainBanner = !isBannerDismissed('main');
const showPersistenceWarning = isPersistenceDisabled && !isBannerDismissed('persistence');
- // Don't render anything if both banners are dismissed
if (!showMainBanner && !showPersistenceWarning) {
return null;
}
@@ -102,19 +87,12 @@ export function InfoBanner({ isAuthDisabled: isAuthDisabledMode, isPersistenceDi
onDismiss={() => dismissBanner('main')}
>
{isAuthDisabledMode ? (
- User sign-in is currently disabled, make sure to enable before shipping to production.
+
+ User sign-in is currently disabled. You can still try Virgo Chat in prototype mode.
+
) : (
- This demo app showcases how you can integrate Pipedream's MCP server into your AI app.{' '}
-
- Check out our docs
-
- {' '} to get started.
+ Welcome to Virgo Chat — chat directly with 2,800+ APIs in one place.
)}
@@ -130,4 +108,4 @@ export function InfoBanner({ isAuthDisabled: isAuthDisabledMode, isPersistenceDi
)}
);
-}
\ No newline at end of file
+}
diff --git a/components/overview.tsx b/components/overview.tsx
index 3eeca35..8d74cfa 100644
--- a/components/overview.tsx
+++ b/components/overview.tsx
@@ -1,5 +1,4 @@
import { motion } from 'framer-motion';
-import Link from 'next/link';
import Image from 'next/image';
import { ChatBubbleIcon } from './icons';
@@ -20,43 +19,40 @@ export const Overview = () => {
>
-
-
- +
-
-
+ {/* Virgo logo + chat icon */}
+
+
+ +
+
+
+
+
+ {/* Custom Virgo copy */}
- This app uses{" "}
-
- Pipedream MCP
- {" "}
- to let you chat with any app.
+ Welcome to Virgo Chat —
+ your gateway to connect and chat with any app.
- With {" "}
-
- 2,800+ built-in APIs
- {" "}
- {" "}and 10k+ tools, use Pipedream MCP to supercharge your AI app or agent.
+ Chat directly with 2,800+ APIs
+ and 10k+ tools. Powered by Virgo,
+ built for speed and simplicity.
-
+
+ {/* Keep the banner logic */}
+
);
};
+
diff --git a/components/signed-out-header.tsx b/components/signed-out-header.tsx
index a9b81c0..387b77f 100644
--- a/components/signed-out-header.tsx
+++ b/components/signed-out-header.tsx
@@ -2,46 +2,19 @@
import Image from 'next/image';
import Link from 'next/link';
-import { useState } from 'react';
-import { Button } from '@/components/ui/button';
-import { GitHubButton } from '@/components/github-button';
-import { SignInModal } from './sign-in-modal';
-import { useAuthContext } from './session-provider';
-import { DocsButton } from './docs-button';
export function SignedOutHeader() {
- const [isSignInModalOpen, setIsSignInModalOpen] = useState(false);
- const { isAuthDisabled } = useAuthContext();
-
- const handleGetStarted = () => {
- setIsSignInModalOpen(true);
- };
-
return (
-
-