fix(visual): make founder quote visible in visual regression snapshots

- Set reducedMotion:'reduce' on all visual regression projects.

- ScrollReveal/StaggerReveal now render visible by default.

- Scroll to bottom then top in waitForPageStable before screenshot.

- Add L2 element snapshot for founder-quote-section.

- Redesign quote as light card (bg-bg-primary/95) with ink text.

- Verified: type-check ok; lint 0 errors; visual:update 23/23.
This commit is contained in:
2026-09-01 10:33:21 +08:00
parent b80db75c25
commit f744078c28
8 changed files with 49 additions and 20 deletions
+22 -20
View File
@@ -637,27 +637,29 @@ function FounderQuoteSection({ pageCopy }: { pageCopy?: HomePageCopy | null }) {
/>
<div className="max-w-container mx-auto px-4 sm:px-6 lg:px-10 relative z-10">
<ScrollReveal className="max-w-4xl mx-auto text-center">
<div className="flex items-center justify-center gap-3 mb-8">
<div className="w-10 h-px bg-white/40" />
<span className="text-[13px] tracking-[0.12em] font-semibold text-white/80">
{eyebrow}
</span>
<div className="w-10 h-px bg-white/40" />
</div>
<Quote className="w-10 h-10 mx-auto mb-8 text-white/40" aria-hidden="true" />
<blockquote className="text-2xl sm:text-3xl md:text-4xl lg:text-[2.75rem] font-bold text-white leading-[1.2] tracking-tight mb-10">
{quoteText}
</blockquote>
{(quoteName || quoteRole) && (
<div className="flex flex-col items-center gap-1">
{quoteName && (
<div className="text-base font-semibold text-white">{quoteName}</div>
)}
{quoteRole && (
<div className="text-sm text-white/70">{quoteRole}</div>
)}
<div className="bg-bg-primary/95 rounded-2xl p-8 sm:p-10 md:p-12 max-w-3xl mx-auto shadow-xl">
<div className="flex items-center justify-center gap-3 mb-8">
<div className="w-10 h-px bg-brand/40" />
<span className="text-[13px] tracking-[0.12em] font-semibold text-brand">
{eyebrow}
</span>
<div className="w-10 h-px bg-brand/40" />
</div>
)}
<Quote className="w-10 h-10 mx-auto mb-8 text-brand/40" aria-hidden="true" />
<blockquote className="text-2xl sm:text-3xl md:text-4xl font-semibold text-ink leading-snug tracking-tight mb-10 border-l-0 pl-0 m-0">
{quoteText}
</blockquote>
{(quoteName || quoteRole) && (
<div className="flex flex-col items-center gap-1">
{quoteName && (
<div className="text-base font-semibold text-ink">{quoteName}</div>
)}
{quoteRole && (
<div className="text-sm text-text-secondary">{quoteRole}</div>
)}
</div>
)}
</div>
</ScrollReveal>
</div>
</section>