feat(S6): home de campanha sem carrossel no desktop — grade estática em ≥1024px, mobile preservado #63

Merged
fsolla merged 2 commits from S6-home-de-campanha-sem-carrossel-no-desktop into main 2026-08-18 19:32:50 +00:00
Owner

S6 — Home de campanha sem carrossel no desktop

Closes #34

As seções "Por que essa eleição importa" (3 cards) e "Nossa caminhada" (6 cards) da home pública deixam de ser carrossel no desktop (≥1024px): grade estática 3 colunas com todo o conteúdo visível de uma vez, sem auto-avanço, sem chips e sem aria-current. Mobile (<1024px) 100% preservado (carrossel com auto-avanço ~4s, chips, swipe).

Mudanças

  • page.tsx — renderização-irmã (padrão S1): grade server-rendered hidden lg:grid (CampaignCardGrid local, data-grid) + carrossel embrulhado em lg:hidden.
  • CampaignProblemCard/CampaignFlagCard (novos) — os dois cards extraídos do CampaignCarousel (fonte única do markup; size="spacious" só na grade).
  • CampaignCarousel — só re-roteia os cards; lg: órfãos removidos; guard de display:none no auto-avanço (timer nunca roda numa subárvore oculta).
  • styles.css — altura da seção flags recalibrada no desktop (clamp(418px, calc(807.7px - 28.13vw), 520px), âncoras medidas; overflow: hidden para zoom ≥125%); problem mantém a geometria.
  • e2e — teste desktop reescrito (grade 3×1/3×2, sem chrome de carrossel, respiro ≥24 e sem clip em 1024/1280/1440/1920); comportamento de carrossel migrado para viewport mobile.
  • Zero schema/migration/Consent; mesma copy/imagens/ordem; S1 e resto da home intocados.

Verificação

  • unit 2318 + int 791 + build + lint/format/typecheck/knip/cycles verdes
  • e2e frontend 11/11 (gate:ci no push)
  • /simplify 3 reviewers aplicado; débito registrado: Issue #58 (S6-FOLLOWUP — CLI do Playwright ignora filtros; depends: [S6])

Impl plan: docs/plans/home-campanha-sem-carrossel-desktop-impl.md · changelog: docs/changelog/2026-08-18-s6.md

## S6 — Home de campanha sem carrossel no desktop Closes #34 As seções "Por que essa eleição importa" (3 cards) e "Nossa caminhada" (6 cards) da home pública deixam de ser carrossel no desktop (≥1024px): grade estática 3 colunas com todo o conteúdo visível de uma vez, sem auto-avanço, sem chips e sem `aria-current`. Mobile (<1024px) 100% preservado (carrossel com auto-avanço ~4s, chips, swipe). ### Mudanças - **`page.tsx`** — renderização-irmã (padrão S1): grade server-rendered `hidden lg:grid` (`CampaignCardGrid` local, `data-grid`) + carrossel embrulhado em `lg:hidden`. - **`CampaignProblemCard`/`CampaignFlagCard`** (novos) — os dois cards extraídos do `CampaignCarousel` (fonte única do markup; `size="spacious"` só na grade). - **`CampaignCarousel`** — só re-roteia os cards; `lg:` órfãos removidos; guard de `display:none` no auto-avanço (timer nunca roda numa subárvore oculta). - **`styles.css`** — altura da seção flags recalibrada no desktop (`clamp(418px, calc(807.7px - 28.13vw), 520px)`, âncoras medidas; `overflow: hidden` para zoom ≥125%); problem mantém a geometria. - **e2e** — teste desktop reescrito (grade 3×1/3×2, sem chrome de carrossel, respiro ≥24 e sem clip em 1024/1280/1440/1920); comportamento de carrossel migrado para viewport mobile. - Zero schema/migration/Consent; mesma copy/imagens/ordem; S1 e resto da home intocados. ### Verificação - unit 2318 + int 791 + build + lint/format/typecheck/knip/cycles verdes - e2e frontend 11/11 (gate:ci no push) - `/simplify` 3 reviewers aplicado; débito registrado: Issue #58 (S6-FOLLOWUP — CLI do Playwright ignora filtros; `depends: [S6]`) Impl plan: `docs/plans/home-campanha-sem-carrossel-desktop-impl.md` · changelog: `docs/changelog/2026-08-18-s6.md`
fsolla added 2 commits 2026-08-18 18:08:43 +00:00
docs(S6-FOLLOWUP): plano com evidência empírica do bug de filtros do Playwright (-- e -g)
All checks were successful
CI (PR) / checks (pull_request) Successful in 2s
CI (PR) / int (pull_request) Successful in 2m8s
CI (PR) / build (pull_request) Successful in 3m1s
CI (PR) / typecheck (pull_request) Successful in 38s
CI (PR) / knip (pull_request) Successful in 35s
CI (PR) / cycles (pull_request) Successful in 36s
CI (PR) / e2e (2) (pull_request) Successful in 1m10s
CI (PR) / e2e (1) (pull_request) Successful in 3m50s
CI (PR) / unit (pull_request) Successful in 58s
Agent PR Ready + auto-merge / ready-automerge (pull_request) Has been skipped
CI (PR) / scope (pull_request) Successful in 33s
CI (PR) / lint (pull_request) Successful in 40s
CI (PR) / format (pull_request) Successful in 50s
CI (PR) / docs-guards (pull_request) Successful in 7s
CI (PR) / plans-only-closes (pull_request) Successful in 7s
33c91848ee
fsolla force-pushed S6-home-de-campanha-sem-carrossel-no-desktop from 33c91848ee to d1942a4d7b 2026-08-18 18:39:38 +00:00 Compare
fsolla force-pushed S6-home-de-campanha-sem-carrossel-no-desktop from d1942a4d7b to 35f3d2a7e9 2026-08-18 19:14:57 +00:00 Compare
fsolla merged commit 085a69e6e1 into main 2026-08-18 19:32:50 +00:00
fsolla deleted branch S6-home-de-campanha-sem-carrossel-no-desktop 2026-08-18 19:32:51 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: fsolla/teqo#63
No description provided.