From 532ce55558f609c2a23adeed3af6e7890daa992c Mon Sep 17 00:00:00 2001 From: erikgh Date: Tue, 21 Jul 2026 11:13:38 -0600 Subject: [PATCH] =?UTF-8?q?feat:=20Estratega=20section=20(06)=20=E2=80=94?= =?UTF-8?q?=20portrait=20+=20bio=20+=20quote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- app/page.tsx | 2 ++ components/sections/Estratega.tsx | 32 +++++++++++++++++++ .../sections/__tests__/Estratega.test.tsx | 14 ++++++++ 3 files changed, 48 insertions(+) create mode 100644 components/sections/Estratega.tsx create mode 100644 components/sections/__tests__/Estratega.test.tsx diff --git a/app/page.tsx b/app/page.tsx index c2b01f5..bc6722f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -3,6 +3,7 @@ import { FraseAncla } from '@/components/sections/FraseAncla'; import { ParaQuien } from '@/components/sections/ParaQuien'; import { Mecanismo } from '@/components/sections/Mecanismo'; import { Disciplinas } from '@/components/sections/Disciplinas'; +import { Estratega } from '@/components/sections/Estratega'; export default function Home() { return ( @@ -12,6 +13,7 @@ export default function Home() { + ); } diff --git a/components/sections/Estratega.tsx b/components/sections/Estratega.tsx new file mode 100644 index 0000000..667339b --- /dev/null +++ b/components/sections/Estratega.tsx @@ -0,0 +1,32 @@ +'use client'; +import { motion } from 'framer-motion'; +import { Container } from '@/components/primitives/Container'; +import { estratega } from '@/lib/content'; +import { fadeInUp, staggerContainer, viewportOnce } from '@/lib/motion'; + +export function Estratega() { + return ( +
+ + + {/* Portrait — placeholder gradient until dueña provides a photo */} + +
+ {estratega.eyebrow} + {estratega.title} + {estratega.bio} + + {estratega.quote} + +
+
+
+
+ ); +} diff --git a/components/sections/__tests__/Estratega.test.tsx b/components/sections/__tests__/Estratega.test.tsx new file mode 100644 index 0000000..88d142f --- /dev/null +++ b/components/sections/__tests__/Estratega.test.tsx @@ -0,0 +1,14 @@ +import { render, screen } from '@testing-library/react'; +import { describe, it, expect } from 'vitest'; +import { Estratega } from '../Estratega'; + +describe('', () => { + it('renders the bio', () => { + render(); + expect(screen.getByText(/30 años/i)).toBeInTheDocument(); + }); + it('renders the institutional quote', () => { + render(); + expect(screen.getByText(/El tiempo no se compra/i)).toBeInTheDocument(); + }); +});