Todos os artigos
mobile-responsive-app· 1.0.0-cComeçando

App responsivo no celular — o que funciona no iPhone

O que funciona/nao funciona no iPhone + como usar ResponsiveTable.

Atualizado em 8/6/2026

Estado atual



O app do Lefia funciona bem em desktop e foi adaptado pra iPhone com Fase A quick wins + ResponsiveTable component (PR #341).

O que funciona bem em mobile (<md)



  • Sidebar drawer abre via botao menu (top-left)
  • Bell icon notificacoes badge + dropdown
  • PageHeader actions descem pra linha 2 (todas as 43 paginas)
  • TenantListView (monitor): mostra Status + Empresa + Mensagens + Erros + link. Cols Plan/Success/ErrorRate/Integrations escondidas em mobile.
  • MessageDetailModal: full-screen mobile (sem dialog limitado)
  • Tabelas execucoes: scroll horizontal quando ultrapassa viewport


O que ainda nao foi otimizado (Fase C)



  • Modais grandes (ticket-modal, dsr-manager, etc) ainda usam dialog limitado
  • Edi-hub drawers (mapping editor) sao desktop-first
  • Reports nao tem alternative card-stack view ainda


Pra desenvolvedores



Usar ResponsiveTable component (src/components/ui/responsive-table.tsx) em tables novas:

<ResponsiveTable>
<ResponsiveTableHead>
<ResponsiveTableRow header>
<ResponsiveTableCol priority={1}>Nome</ResponsiveTableCol>
<ResponsiveTableCol priority={2}>Email</ResponsiveTableCol>
<ResponsiveTableCol priority={3}>Ultima atividade</ResponsiveTableCol>
</ResponsiveTableRow>
</ResponsiveTableHead>
<ResponsiveTableBody>
{rows.map(r => (
<ResponsiveTableRow key={r.id}>
<ResponsiveTableCol priority={1}>{r.name}</ResponsiveTableCol>
<ResponsiveTableCol priority={2}>{r.email}</ResponsiveTableCol>
<ResponsiveTableCol priority={3}>{r.lastActive}</ResponsiveTableCol>
</ResponsiveTableRow>
))}
</ResponsiveTableBody>
</ResponsiveTable>


Priority semantic:
  • 1 = always visible (mobile + desktop)
  • 2 = md+ (>=768px)
  • 3 = lg+ (>=1024px)

Histórico de versões

  • 1.0.0-c

    Fase C — useIsMobile hook reativo + ResponsiveModal component (bottom sheet mobile / dialog desktop) + 7 modais migrados pra padrao bottom-sheet (ticket, dsr-manager, conflict-resolver, mapping-version-history, create-company, import, integration-template-picker, protocol-help). +9 tests responsive-modal.

    5/27/2026 · new

  • 1.0.0-a-b

    Fase A quick wins + Fase B ResponsiveTable component. PageHeader flex-wrap (impacto 43 paginas), TenantListView auto-hide cols por viewport (Plan/Success/ErrorRate/Integrations), MessageDetailModal full-screen mobile, 2 tabelas execucoes overflow. ResponsiveTable reusable component com priority 1/2/3 + 8 tests. Fase C (modais + alternative views) fica como follow-up PR.

    5/27/2026 · new