From 044a956dc5d8017c40f55b02342a96b646b831d1 Mon Sep 17 00:00:00 2001 From: Praveen K B Date: Thu, 23 Jul 2026 21:53:00 +0530 Subject: [PATCH 1/3] feat: Revamped the MCP landing page --- package-lock.json | 29 ++ package.json | 1 + src/ui-app/components/landing/CTABanner.tsx | 49 +++ src/ui-app/components/landing/FeatureGrid.tsx | 87 +++++ src/ui-app/components/landing/Footer.tsx | 33 ++ src/ui-app/components/landing/Hero.tsx | 30 ++ src/ui-app/components/landing/Nav.tsx | 64 ++++ src/ui-app/components/landing/Prompts.tsx | 107 ++++++ src/ui-app/components/landing/QuickSetup.tsx | 358 +++++++++++++++++ src/ui-app/components/landing/SlackBot.tsx | 101 +++++ src/ui-app/components/landing/TwoWays.tsx | 321 ++++++++++++++++ src/ui-app/components/ui/Button.tsx | 10 + src/ui-app/components/ui/Image.tsx | 5 + src/ui-app/components/ui/Link.tsx | 5 + src/ui-app/index.css | 13 +- src/ui-app/index.html | 6 +- src/ui-app/pages/LandingPage.tsx | 362 +----------------- src/ui-app/public/assets/CompleteLogo.svg | 16 + .../public/assets/clients/claude-ai.svg | 1 + .../public/assets/clients/cursor-mono.svg | 1 + .../public/assets/clients/openai-chatgpt.svg | 4 + .../assets/clients/visual-studio-code.svg | 1 + .../public/assets/clients/windsurf-mono.svg | 1 + 23 files changed, 1258 insertions(+), 347 deletions(-) create mode 100644 src/ui-app/components/landing/CTABanner.tsx create mode 100644 src/ui-app/components/landing/FeatureGrid.tsx create mode 100644 src/ui-app/components/landing/Footer.tsx create mode 100644 src/ui-app/components/landing/Hero.tsx create mode 100644 src/ui-app/components/landing/Nav.tsx create mode 100644 src/ui-app/components/landing/Prompts.tsx create mode 100644 src/ui-app/components/landing/QuickSetup.tsx create mode 100644 src/ui-app/components/landing/SlackBot.tsx create mode 100644 src/ui-app/components/landing/TwoWays.tsx create mode 100644 src/ui-app/components/ui/Button.tsx create mode 100644 src/ui-app/components/ui/Image.tsx create mode 100644 src/ui-app/components/ui/Link.tsx create mode 100644 src/ui-app/public/assets/CompleteLogo.svg create mode 100644 src/ui-app/public/assets/clients/claude-ai.svg create mode 100644 src/ui-app/public/assets/clients/cursor-mono.svg create mode 100644 src/ui-app/public/assets/clients/openai-chatgpt.svg create mode 100644 src/ui-app/public/assets/clients/visual-studio-code.svg create mode 100644 src/ui-app/public/assets/clients/windsurf-mono.svg diff --git a/package-lock.json b/package-lock.json index 12f089c..2be5f85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "devDependencies": { "@biomejs/biome": "2.4.15", "@clerk/clerk-react": "^5.61.8", + "@tabler/icons-react": "^3.45.0", "@tailwindcss/vite": "^4.3.1", "@types/inquirer": "^9.0.9", "@types/node": "^22.10.0", @@ -1170,6 +1171,34 @@ "dev": true, "license": "MIT" }, + "node_modules/@tabler/icons": { + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.45.0.tgz", + "integrity": "sha512-jiATwV8+zGYLTZ7gMLGivCic+KtsMZXcDmufIG8umlLxoHhI6902hGYIEt0Oa9Y9SXblNzUlrisHm5jOFMxOQA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + } + }, + "node_modules/@tabler/icons-react": { + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.45.0.tgz", + "integrity": "sha512-t/AuKs7ALMDDTY+B9IvfZnlO0mbLlP/lJxP/HnGC49QkM8mCsTN38kYyxjXxgrb1+TeK53ioVBJqIV7n/eysXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tabler/icons": "3.45.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + }, + "peerDependencies": { + "react": ">= 16" + } + }, "node_modules/@tailwindcss/node": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", diff --git a/package.json b/package.json index 6411d6d..ff6ef50 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "devDependencies": { "@biomejs/biome": "2.4.15", "@clerk/clerk-react": "^5.61.8", + "@tabler/icons-react": "^3.45.0", "@tailwindcss/vite": "^4.3.1", "@types/inquirer": "^9.0.9", "@types/node": "^22.10.0", diff --git a/src/ui-app/components/landing/CTABanner.tsx b/src/ui-app/components/landing/CTABanner.tsx new file mode 100644 index 0000000..4b7ba1b --- /dev/null +++ b/src/ui-app/components/landing/CTABanner.tsx @@ -0,0 +1,49 @@ +import { Button } from "../ui/Button"; +import { Link } from "../ui/Link"; + +export function CTABanner() { + return ( +
+
+
+

+ Your observability data deserves better than a dashboard +

+

+ Connect Parseable to Claude, Cursor, or any MCP-compatible agent and investigate incidents across logs, metrics, traces, and alerts — in natural language, without switching context. +

+
+ + + + + + +
+
+
+
+ ); +} + +// ─── Footer ─────────────────────────────────────────────────────────────────── diff --git a/src/ui-app/components/landing/FeatureGrid.tsx b/src/ui-app/components/landing/FeatureGrid.tsx new file mode 100644 index 0000000..10bffe0 --- /dev/null +++ b/src/ui-app/components/landing/FeatureGrid.tsx @@ -0,0 +1,87 @@ +import { IconBell, IconBolt, IconDatabase, IconEye, IconSearch, IconShieldCheck } from "@tabler/icons-react"; + +const FEATURES = [ + { + icon: