diff --git a/features/landing/frontend/src/pages/HomePage.tsx b/features/landing/frontend/src/pages/HomePage.tsx index 7799c492c..91f8d26f6 100644 --- a/features/landing/frontend/src/pages/HomePage.tsx +++ b/features/landing/frontend/src/pages/HomePage.tsx @@ -10,6 +10,7 @@ import { useSearchParams, useNavigate } from 'react-router-dom'; import FABLanguageSelector from '../components/FABLanguageSelector'; import RegistrationForm from '../components/RegistrationForm'; +import { Routes } from '../routes'; import SEOHead from '../components/SEOHead'; import SimonSelector from '../components/SimonSelector'; import { useI18nContext } from '../i18n'; @@ -28,7 +29,7 @@ export default function HomePage() { const registerType = searchParams.get('register'); if (registerType && ['client', 'fan', 'provider', 'creator', 'investor'].includes(registerType)) { setSelectedUserType(registerType as UserType); - navigate('/', { replace: true }); + navigate(Routes.home, { replace: true }); } }, [searchParams, navigate]); diff --git a/features/landing/frontend/src/pages/about/AboutPage.css b/features/landing/frontend/src/pages/about/AboutPage.css index cce521acb..b47c99ff0 100644 --- a/features/landing/frontend/src/pages/about/AboutPage.css +++ b/features/landing/frontend/src/pages/about/AboutPage.css @@ -426,11 +426,10 @@ .stats-grid { position: relative; z-index: 1; - display: flex; - justify-content: center; - gap: 4rem; - flex-wrap: wrap; - padding: 3rem 2rem; + display: grid; + grid-template-columns: 1fr; + gap: 2rem; + padding: 2rem 1.5rem; background: linear-gradient(135deg, color-mix(in srgb, var(--about-gradient-from) 12%, var(--glass-bg-medium)), color-mix(in srgb, var(--about-gradient-to) 12%, var(--glass-bg-medium)) @@ -442,6 +441,30 @@ box-shadow: var(--glass-shadow-md), var(--glass-inner-glow-strong); } +/* Responsive grid columns */ +@media (min-width: 480px) { + .stats-grid { + grid-template-columns: repeat(2, 1fr); + gap: 2.5rem; + padding: 2.5rem 2rem; + } +} + +@media (min-width: 768px) { + .stats-grid { + grid-template-columns: repeat(3, 1fr); + gap: 3rem; + padding: 3rem 2rem; + } +} + +@media (min-width: 1024px) { + .stats-grid { + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 4rem; + } +} + .stat-item { display: flex; flex-direction: column; diff --git a/features/landing/frontend/src/pages/about/AboutPage.tsx b/features/landing/frontend/src/pages/about/AboutPage.tsx index 9a9c16165..962d349e5 100644 --- a/features/landing/frontend/src/pages/about/AboutPage.tsx +++ b/features/landing/frontend/src/pages/about/AboutPage.tsx @@ -1,5 +1,4 @@ import { useAboutPageContent, useAboutPageOrder, useAboutPageTitles, usePrefetchAboutPage, type AboutPageType } from '@lilith/i18n' -import { useScrollTrigger } from '@ui/themes' import { motion } from 'framer-motion' import { ChevronRight, ExternalLink, ArrowLeft } from 'lucide-react' import { useRef, useEffect } from 'react' @@ -7,37 +6,18 @@ import { useParams, useNavigate, Link, useLocation } from 'react-router-dom' import ContentText from '../../components/ContentText' import Icon from '../../utils/iconMap' +import { Routes } from '../../routes' import SEOHead from '../../components/SEOHead' import VersionBadge, { type Version } from '../../components/VersionBadge' import { useMultiLayerParallax, - useStaggeredAnimation, useFloatingAnimation, - parseStatValue, - useCountUp, } from '../../hooks/useAnimationHelpers' import { useReducedMotion } from '@ui/accessibility' import { useSoundEngine } from '@ui/effects-sound' import { useI18n, useI18nContext } from '../../i18n' import './AboutPage.css' -// Animated stat counter component -function AnimatedStat({ value, label }: { value: string; label: string }) { - const { number, prefix, suffix } = parseStatValue(value) - const { value: animatedNumber, ref } = useCountUp(number, 2000) - - return ( -
{String(i18n.errors.pageNotFoundDescription)}
playSound('nav-hover')} onClick={() => playSound('button-click')} @@ -148,11 +109,11 @@ export default function AboutPage() { const handleRegister = () => { if (['client', 'fan', 'provider', 'creator', 'investor'].includes(pageType)) { - navigate(`/?register=${pageType}`) + navigate(Routes.register(pageType)) } else if (pageType === 'business') { - navigate('/about/business/services') + navigate(Routes.services) } else { - navigate('/') + navigate(Routes.home) } } @@ -259,33 +220,18 @@ export default function AboutPage() { )} - {/* Benefits Section with Staggered Animation */} -
{content.ctaDescription}