diff --git a/src/app/(marketing)/home-content-v15.tsx b/src/app/(marketing)/home-content-v15.tsx index dbf3e3f..58eea50 100644 --- a/src/app/(marketing)/home-content-v15.tsx +++ b/src/app/(marketing)/home-content-v15.tsx @@ -12,6 +12,7 @@ import { EASE_OUT } from '@/components/ui/page-decoration'; import { CTAButton } from '@/components/ui/cta-button'; import { COMPANY_INFO, TRUST_SIGNALS, EARLY_ACCESS } from '@/lib/constants'; import { useSiteConfig } from '@/lib/site-config'; +import { useReducedMotion } from '@/hooks/use-reduced-motion'; import { type NewsItem } from '@/lib/constants/news'; import { NEWS } from '@/lib/constants/news'; @@ -145,7 +146,9 @@ function HeroSection({ heroData }: { heroData?: Record | null; }) { const containerRef = useRef(null); + const spotRef = useRef(null); const siteConfig = useSiteConfig(); + const reduceMotion = useReducedMotion(); const heading = heroData?.heading || heroData?.headingBottom || '让每一家企业都拥有数据驱动的决策能力'; const subheading = heroData?.subheading || heroData?.description || ''; @@ -160,14 +163,20 @@ function HeroSection({ heroData }: { ref={containerRef} className="relative min-h-[90vh] flex items-center overflow-hidden bg-bg-primary" data-testid="hero-section" + onPointerMove={(e) => { + if (!spotRef.current || !containerRef.current) return; + const rect = containerRef.current.getBoundingClientRect(); + spotRef.current.style.setProperty('--spot-x', `${e.clientX - rect.left}px`); + spotRef.current.style.setProperty('--spot-y', `${e.clientY - rect.top}px`); + }} > - {/* 背景纹理:极淡的品牌色点阵(浅色画布上可见) */} -
+ {/* L1 静态点阵:token 化(颜色/alpha 随主题反色),深底自动切中性浅灰 */} +