A home é dona do container de scroll interno (h-dvh overflow-y-auto, body overflow-hidden), então a navegação nativa por fragmento não aterrissa no alvo; no mobile o reflow do h-dvh + imagens eager do hero deslocam o layout após o scroll inicial. Novo componente cliente CampaignHashScroll (renderiza null) montado no layout da home: retenta o hash inicial até a seção entrar no viewport (parando na primeira interação do usuário) e ouve hashchange para âncoras in-page. scrollIntoView sem behavior herda scroll-smooth/motion-reduce. E2E novos: describe mobile (load direto, CTA, reduced-motion) + load direto desktop em describe próprio (evita corrida no beforeAll de consent). |
||
|---|---|---|
| .. | ||
| app | ||
| collections | ||
| components | ||
| globals | ||
| hooks | ||
| lib | ||
| migrations | ||
| utilities | ||
| css-modules.d.ts | ||
| payload-types.ts | ||
| payload.config.ts | ||