refactor(link): 营销页站内链接统一 StaticLink(静态托管适配)+ 删除 0 引用死代码组件 + QA 页 client/server 拆分
This commit is contained in:
@@ -48,14 +48,11 @@ export function CaseCard({
|
||||
>
|
||||
{/* Background image */}
|
||||
{image && (
|
||||
<div className="absolute inset-0 transition-opacity duration-500 opacity-[0.02] group-hover:opacity-[0.05]">
|
||||
<img
|
||||
src={image}
|
||||
alt=""
|
||||
className="w-full h-full object-cover"
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
aria-hidden="true"
|
||||
style={{ backgroundImage: `url(${image})` }}
|
||||
className="absolute inset-0 bg-cover bg-center transition-opacity duration-500 opacity-[0.02] group-hover:opacity-[0.05]"
|
||||
/>
|
||||
)}
|
||||
|
||||
<div className="relative z-10 flex flex-col flex-1">
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import { motion, useScroll, useTransform } from 'framer-motion';
|
||||
import { useRef, useState, useEffect } from 'react';
|
||||
import { ScrollReveal, StaggerReveal } from '@/components/ui/scroll-reveal';
|
||||
import { StaticLink } from '@/components/ui/static-link';
|
||||
import { SectionHeader } from '@/components/sections/section-header';
|
||||
import { ServiceCard } from '@/components/sections/service-card';
|
||||
import { ScrollProgress } from '@/components/ui/scroll-progress';
|
||||
@@ -175,10 +176,10 @@ function CaseDetailHero({ data }: CaseDetailHeroProps) {
|
||||
transition={{ duration: 0.8, delay: 0.8, ease: EASE }}
|
||||
>
|
||||
<Button size="lg" asChild>
|
||||
<a href="/contact">
|
||||
<StaticLink href="/contact">
|
||||
咨询类似方案
|
||||
<ArrowRight className="w-4 h-4 ml-2" />
|
||||
</a>
|
||||
</StaticLink>
|
||||
</Button>
|
||||
<Button size="lg" variant="outline" asChild>
|
||||
<a href="#solution">查看方案</a>
|
||||
@@ -512,13 +513,13 @@ function CTASection() {
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row justify-center gap-4">
|
||||
<Button size="lg" asChild>
|
||||
<a href="/contact">
|
||||
<StaticLink href="/contact">
|
||||
免费咨询
|
||||
<ArrowRight className="w-4 h-4 ml-2" />
|
||||
</a>
|
||||
</StaticLink>
|
||||
</Button>
|
||||
<Button size="lg" variant="outline" asChild>
|
||||
<a href="/cases">查看更多案例</a>
|
||||
<StaticLink href="/cases">查看更多案例</StaticLink>
|
||||
</Button>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
|
||||
@@ -38,11 +38,10 @@ export function InsightCard({
|
||||
>
|
||||
{/* Background image */}
|
||||
{image && (
|
||||
<img
|
||||
src={image}
|
||||
alt=""
|
||||
className="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105 opacity-10"
|
||||
loading="lazy"
|
||||
<div
|
||||
aria-hidden="true"
|
||||
style={{ backgroundImage: `url(${image})` }}
|
||||
className="absolute inset-0 bg-cover bg-center transition-transform duration-700 group-hover:scale-105 opacity-10"
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ export function WhyUsSection() {
|
||||
{tech.abbr}
|
||||
</span>
|
||||
</div>
|
||||
<span className="text-[10px] text-[var(--color-text-hint)]">{tech.name}</span>
|
||||
<span className="text-[10px] text-[var(--color-text-muted)]">{tech.name}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user