diff --git a/app/page.tsx b/app/page.tsx index bc6722f..b79f97b 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,6 +4,7 @@ import { ParaQuien } from '@/components/sections/ParaQuien'; import { Mecanismo } from '@/components/sections/Mecanismo'; import { Disciplinas } from '@/components/sections/Disciplinas'; import { Estratega } from '@/components/sections/Estratega'; +import { Cierre } from '@/components/sections/Cierre'; export default function Home() { return ( @@ -14,6 +15,7 @@ export default function Home() { + ); } diff --git a/components/sections/Cierre.tsx b/components/sections/Cierre.tsx new file mode 100644 index 0000000..cca13a4 --- /dev/null +++ b/components/sections/Cierre.tsx @@ -0,0 +1,35 @@ +'use client'; +import { motion } from 'framer-motion'; +import { Container } from '@/components/primitives/Container'; +import { CTA } from '@/components/primitives/CTA'; +import { Wordmark } from '@/components/primitives/Wordmark'; +import { cierre } from '@/lib/content'; +import { fadeInUp, staggerContainer, viewportOnce } from '@/lib/motion'; + +export function Cierre() { + const { whatsapp, email, linkedin } = cierre.contact; + return ( +
+ + + + + "{cierre.quote}" + + + + + +
  • {whatsapp.label}
  • + +
  • {email.label}
  • + +
  • {linkedin.label}
  • +
    +
    +
    +
    + ); +} diff --git a/components/sections/__tests__/Cierre.test.tsx b/components/sections/__tests__/Cierre.test.tsx new file mode 100644 index 0000000..e77b5fc --- /dev/null +++ b/components/sections/__tests__/Cierre.test.tsx @@ -0,0 +1,19 @@ +import { render, screen } from '@testing-library/react'; +import { describe, it, expect } from 'vitest'; +import { Cierre } from '../Cierre'; + +describe('', () => { + it('renders the closing quote', () => { + render(); + expect(screen.getByText(/Devuélvele claridad/i)).toBeInTheDocument(); + }); + it('renders 3 contact links with correct hrefs', () => { + render(); + const wa = screen.getByRole('link', { name: /whatsapp/i }); + const mail = screen.getByRole('link', { name: /email/i }); + const li = screen.getByRole('link', { name: /linkedin/i }); + expect(wa.getAttribute('href')).toMatch(/^https:\/\/wa\.me\//); + expect(mail.getAttribute('href')).toMatch(/^mailto:/); + expect(li.getAttribute('href')).toMatch(/^https:\/\/(www\.)?linkedin\./); + }); +});