From eb94a81ebcb5461769ff2838458f74a6091adca4 Mon Sep 17 00:00:00 2001 From: Francisco Solla Date: Sat, 8 Aug 2026 18:37:12 -0300 Subject: [PATCH] =?UTF-8?q?fix(campaign):=20barra=20inferior=20mobile=20?= =?UTF-8?q?=E2=80=94=20folga=20no=20topo=20e=20r=C3=B3tulos=20sem=20sobrep?= =?UTF-8?q?osi=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit B171 #443 - CampaignBottomNav: pt-2.5 no nav (respiro da borda superior) e rótulos text-[10px] nowrap com gap-1 — sem encolher a área de toque. - e2e: assert paddingTop >= 8px, rótulos < 12px e sem sobreposição horizontal. --- ...-navegacao-inferior-mobile-ajustes-impl.md | 74 +++++++++++++++++++ .../campaign/shell/CampaignBottomNav.tsx | 6 +- tests/e2e/campaignBottomNav.e2e.spec.ts | 38 ++++++++++ 3 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 docs/plans/barra-navegacao-inferior-mobile-ajustes-impl.md diff --git a/docs/plans/barra-navegacao-inferior-mobile-ajustes-impl.md b/docs/plans/barra-navegacao-inferior-mobile-ajustes-impl.md new file mode 100644 index 00000000..d1ed76ae --- /dev/null +++ b/docs/plans/barra-navegacao-inferior-mobile-ajustes-impl.md @@ -0,0 +1,74 @@ +# Impl: B171 — Barra inferior mobile: folga no topo + rótulos sem sobreposição + +Status: aprovado +Atualizado em: 2026-08-08 +Issue: #443 +Intenção: docs/plans/barra-navegacao-inferior-mobile-ajustes.md +Appetite restante: ~0,5 dia eng (herdado; cabe com folga) + +## Leitura da intenção + +- **Outcome:** no celular, o staff lê os 5 destinos da barra inferior de relance — com um pequeno respiro entre o conteúdo dos itens e a borda superior da barra, e rótulos com fonte menor que não colidem com o vizinho em viewport mobile estreito. Área de toque e estado ativo equivalentes aos de B164. +- **O que NÃO negociar:** barra continua só mobile (`md:hidden`), só staff (`isStaffCampaignRole` — leader lockdown intacto), 5 itens/ordem/ícones inalterados, desktop/tablet/sidebar intactos, FAB acima da barra, chamado de toque não encolhe. +- **O que reavaliar:** a hipótese da intenção apontava `getCampaignBottomNav`/`nav.ts` como área provável — na prática a estrutura de itens já está correta e **não será tocada**; o defeito mora 100% nas classes do `CampaignBottomNav.tsx` (sem espaçamento superior no `