From dceb775a1ba30e54936829c97b85c6cc934c9851 Mon Sep 17 00:00:00 2001 From: yoge Date: Thu, 26 Mar 2026 15:57:39 +0800 Subject: [PATCH] feat: replace all marketing home components with reference landing design - Extract landing.css (scoped under .marketing-page) from texpixel-landing.html - Add Lora + JetBrains Mono fonts to index.html - Update MarketingLayout with .marketing-page wrapper and glow blobs - Replace MarketingNavbar with reference design (auth-aware user menu) - Replace HeroSection with mock window + cycling LaTeX typing effect - Replace FeaturesSection, PricingSection, Footer with reference designs - Add ProductSuiteSection, ShowcaseSection, TestimonialsSection (carousel), DocsSeoSection - Add useScrollReveal hook for intersection-based fade-in animations - Update HomePage to wire all sections in correct order - Remove obsolete HowItWorksSection and ContactSection - Remove dead contact key from marketing.nav translations Co-Authored-By: Claude Sonnet 4.6 --- index.html | 2 +- src/components/home/ContactSection.tsx | 99 -- src/components/home/DocsSeoSection.tsx | 93 ++ src/components/home/FeaturesSection.tsx | 98 +- src/components/home/HeroSection.tsx | 212 +-- src/components/home/HowItWorksSection.tsx | 56 - src/components/home/PricingSection.tsx | 167 +- src/components/home/ProductSuiteSection.tsx | 81 + src/components/home/ShowcaseSection.tsx | 86 + src/components/home/TestimonialsSection.tsx | 183 +++ src/components/layout/Footer.tsx | 116 +- src/components/layout/MarketingLayout.tsx | 8 +- src/components/layout/MarketingNavbar.tsx | 251 ++- src/hooks/useScrollReveal.ts | 21 + src/lib/translations.ts | 24 - src/pages/HomePage.tsx | 18 +- src/styles/landing.css | 1573 +++++++++++++++++++ 17 files changed, 2469 insertions(+), 619 deletions(-) delete mode 100644 src/components/home/ContactSection.tsx create mode 100644 src/components/home/DocsSeoSection.tsx delete mode 100644 src/components/home/HowItWorksSection.tsx create mode 100644 src/components/home/ProductSuiteSection.tsx create mode 100644 src/components/home/ShowcaseSection.tsx create mode 100644 src/components/home/TestimonialsSection.tsx create mode 100644 src/hooks/useScrollReveal.ts create mode 100644 src/styles/landing.css diff --git a/index.html b/index.html index 21b127f..185b271 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ - + diff --git a/src/components/home/ContactSection.tsx b/src/components/home/ContactSection.tsx deleted file mode 100644 index 0a167e9..0000000 --- a/src/components/home/ContactSection.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { useState } from 'react'; -import { Mail, Users, Send, ArrowUpRight } from 'lucide-react'; -import { useLanguage } from '../../contexts/LanguageContext'; - -export default function ContactSection() { - const { t } = useLanguage(); - const c = t.marketing.contact; - const [status, setStatus] = useState<'idle' | 'sending' | 'sent'>('idle'); - - const handleSubmit = (e: React.FormEvent) => { - e.preventDefault(); - setStatus('sending'); - setTimeout(() => { - setStatus('sent'); - setTimeout(() => setStatus('idle'), 3000); - (e.target as HTMLFormElement).reset(); - }, 1000); - }; - - return ( -
-
-
-

{c.title}

-

{c.subtitle}

-
- -
- {/* Contact info — 2 cols */} -
- -
- -
-
-
{t.common.email}
-
yogecoder@gmail.com
-
- -
- -
-
- -
-
-
{c.qqGroup}
- 1018282100 -
-
-
- - {/* Contact form — 3 cols */} -
-
- - -
-
- - -
-
- -