SimboloTresLineas se quedó sin consumidores cuando SecuenciaClaridad ocupó sus dos sitios (hero y FraseAncla). Sólo lo usaba su propio test. La geometría del ≡ ya vive en lib/simbolo.ts, así que no se pierde nada. Los cinco comentarios de código que quedaban en español pasan a inglés, como pide CLAUDE.md. Los créditos de foto se quedan en español: son atribución, y el footer que los recoge está en español. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
40 lines
1.6 KiB
TypeScript
40 lines
1.6 KiB
TypeScript
'use client';
|
|
|
|
import { motion } from 'framer-motion';
|
|
import { Container } from '@/components/primitives/Container';
|
|
import { SecuenciaClaridad } from '@/components/primitives/SecuenciaClaridad';
|
|
import { TextoDesenfoque } from '@/components/primitives/TextoDesenfoque';
|
|
import { fraseAncla } from '@/lib/content';
|
|
import { fadeInUp, viewportOnce, usePrefersReducedMotion, motionProps } from '@/lib/motion';
|
|
|
|
export function FraseAncla() {
|
|
const reduced = usePrefersReducedMotion();
|
|
return (
|
|
<section className="bg-azul-profundo relative overflow-hidden">
|
|
<Container className="relative py-28 md:py-40 text-center max-w-5xl">
|
|
<motion.div variants={fadeInUp} initial="hidden" whileInView="visible" viewport={viewportOnce} {...motionProps(reduced)}
|
|
className="flex justify-center">
|
|
{/* Payoff for the tension the hero leaves open: here the lines do
|
|
resolve into the ≡, right as the copy names clarity. */}
|
|
<SecuenciaClaridad className="pointer-events-none select-none w-28 md:w-36 text-dorado" />
|
|
</motion.div>
|
|
<motion.p
|
|
variants={fadeInUp}
|
|
initial="hidden"
|
|
whileInView="visible"
|
|
viewport={viewportOnce}
|
|
{...motionProps(reduced)}
|
|
className="mt-10 font-sans font-black text-ancla text-white"
|
|
>
|
|
<TextoDesenfoque
|
|
segments={[
|
|
{ text: fraseAncla.quote.before },
|
|
{ text: fraseAncla.quote.accent, className: 'text-dorado' },
|
|
]}
|
|
/>
|
|
</motion.p>
|
|
</Container>
|
|
</section>
|
|
);
|
|
}
|