From 367e769f5edf0f9a59f744444d966d95b6f9553e Mon Sep 17 00:00:00 2001 From: erikgh Date: Fri, 31 Jul 2026 15:33:17 -0600 Subject: [PATCH] feat(dolores): el nudo al centro para que el hilo lo atraviese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El nudo vivía arriba a la derecha, donde el hilo conductor no lo tocaba. Centrado, el hilo lo atraviesa: el dolor cosido por lo mismo que lo va a desatar, y el remate "se resuelve con una estrategia clara" queda justo debajo. Co-Authored-By: Claude Opus 5 --- components/sections/Dolores.tsx | 2 +- components/sections/__tests__/Dolores.test.tsx | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/components/sections/Dolores.tsx b/components/sections/Dolores.tsx index 8eba47d..62c24d7 100644 --- a/components/sections/Dolores.tsx +++ b/components/sections/Dolores.tsx @@ -11,7 +11,7 @@ export function Dolores() { const reduced = usePrefersReducedMotion(); return (
- + {dolores.eyebrow} diff --git a/components/sections/__tests__/Dolores.test.tsx b/components/sections/__tests__/Dolores.test.tsx index f7a4ae9..55cdaa5 100644 --- a/components/sections/__tests__/Dolores.test.tsx +++ b/components/sections/__tests__/Dolores.test.tsx @@ -16,6 +16,17 @@ describe('', () => { expect(container.textContent).toContain('Esto no se resuelve con más esfuerzo.'); expect(container.textContent).toContain('Se resuelve con una estrategia clara.'); }); + it('centres the knot so the conductor thread runs through it', () => { + const { container } = render(); + // The knot is the centred decorative svg of the section; the conductor + // thread runs down the centre, so only a centred knot gets traversed by + // it — stitching the pain to the resolution below. + const centrados = Array.from(container.querySelectorAll('svg')).filter((s) => { + const cls = s.getAttribute('class') ?? ''; + return cls.includes('left-1/2') && cls.includes('-translate-x-1/2'); + }); + expect(centrados.length).toBeGreaterThanOrEqual(1); + }); it('does NOT introduce scarcity', () => { const { container } = render(); expect(container.textContent).not.toMatch(/cupos|cohorte|generación fundadora/i);