diff --git a/app/views/admin/romaneios/_controles.html.erb b/app/views/admin/romaneios/_controles.html.erb index 69e9305..b3dd38a 100644 --- a/app/views/admin/romaneios/_controles.html.erb +++ b/app/views/admin/romaneios/_controles.html.erb @@ -5,10 +5,16 @@
-
+ <%# `min-w-0` no input é o que impede rolagem lateral no celular: um + tem largura intrínseca (~20 caracteres) e `flex-1` NÃO encolhe abaixo + dela, porque o `min-width` padrão de um item flex é `auto`. Com o botão + ao lado, o par estourava para 487px numa tela de 393px e levava a página + junto. O `flex-wrap` é a segunda rede: em tela muito estreita o botão + desce em vez de espremer o campo. %> +
<%# Rótulo que descreve o que o controle faz (diretriz 2): limpa a BUSCA, não o romaneio. %> diff --git a/app/views/admin/romaneios/_veiculos.html.erb b/app/views/admin/romaneios/_veiculos.html.erb index 277d983..ecfe0df 100644 --- a/app/views/admin/romaneios/_veiculos.html.erb +++ b/app/views/admin/romaneios/_veiculos.html.erb @@ -4,10 +4,29 @@ paradas cada um tem, que é justamente a conferência que ele faz antes de mandar imprimir. - Adapta ao dispositivo (diretriz 3): no celular vira faixa horizontal, porque - 72 itens empilhados empurrariam a tabela para fora da primeira tela; no - desktop é coluna com rolagem própria, do lado da tabela. %> -
+ ── NO CELULAR É UM BLOCO RECOLHIDO (diretriz 3) ─────────────────────────── + Aberto, este painel tem os 72 carros mais o campo de motorista e três botões: + media 1.160px de altura e empurrava a EDIÇÃO — busca, campo PLANO e a tabela + de paradas — para 1.330px e 1.533px de rolagem, ou seja, duas telas abaixo do + que o operador foi fazer ali. Medido em 28/08/2026 no iPhone. + + Recolhido, o mostra o que importa de relance (carro atual e quantas + paradas) e a edição sobe para a primeira tela. Um toque abre a lista inteira. + + NO DESKTOP NADA MUDA: o some (`lg:hidden`) e o conteúdo é forçado a + aparecer com `lg:block`, que vence o "esconder" nativo do
fechado — + continua a coluna sempre aberta ao lado da tabela. %> +
+ + <%= @veiculo %> + + <%= @romaneio.contagem_por_veiculo[@veiculo].to_i %> paradas + + trocar veículo + + +

Veículos

<%= @veiculos.size %> no plano @@ -108,4 +127,5 @@ <% end %>
-
+
+ diff --git a/app/views/consolidacoes/arquivadas.html.erb b/app/views/consolidacoes/arquivadas.html.erb index 80a528f..8c77211 100644 --- a/app/views/consolidacoes/arquivadas.html.erb +++ b/app/views/consolidacoes/arquivadas.html.erb @@ -1,7 +1,9 @@ <%# app/views/consolidacoes/arquivadas.html.erb %> <% content_for :title, 'Consolidações arquivadas' %> -
+<%# flex-wrap pelo mesmo motivo do cabeçalho de consolidacoes/index: título longo + mais botão não cabem na largura de um celular e esticariam a página. %> +

<%= icone :arquivadas, espaco: false %> Consolidações arquivadas

<%= link_to rotulo(:voltar, 'Voltar às ativas', cor: nil), consolidacoes_path, class: 'text-gray-400 hover:text-white border border-[#2a2a2a] px-4 py-3 rounded-lg min-h-[48px] flex items-center' %> diff --git a/app/views/consolidacoes/index.html.erb b/app/views/consolidacoes/index.html.erb index 6bac899..c0e8cd6 100644 --- a/app/views/consolidacoes/index.html.erb +++ b/app/views/consolidacoes/index.html.erb @@ -3,9 +3,14 @@
-
+ <%# `flex-wrap` nos DOIS níveis: no celular o título mais os três botões + ("Arquivadas", "Nota avulsa", "+ Nova Consolidação") somam mais de 450px e + não cabem nos 393px da tela. Sem a quebra, eles esticavam a PÁGINA INTEIRA + para 732px e tudo — incluindo a lista de consolidações — passava a exigir + rolagem lateral. Medido em 28/08/2026 no iPhone. %> +

<%= icone :consolidacoes, espaco: false %> Consolidações

-
+
<%= link_to rotulo(:arquivadas, 'Arquivadas', cor: nil), arquivadas_consolidacoes_path, class: 'text-gray-400 hover:text-white border border-[#2a2a2a] px-4 py-3 rounded-lg min-h-[48px] flex items-center transition-colors' %> <% if policy(Consolidacao).create? %> diff --git a/app/views/dashboard/index.html.erb b/app/views/dashboard/index.html.erb index 62e5ba9..83ba15a 100644 --- a/app/views/dashboard/index.html.erb +++ b/app/views/dashboard/index.html.erb @@ -584,7 +584,11 @@ info.textContent = de + '–' + ate + ' de ' + linhas.length + ' ' + rotulo; abas.querySelectorAll('button').forEach(function (b) { const ativa = Number(b.dataset.pagina) === p; - b.className = 'px-3 py-1.5 rounded-lg text-xs font-semibold transition-colors ' + + // min-w/min-h 44px: são os alvos de toque mais apertados do sistema + // (medidos 63 abaixo de 44px no celular em 28/08/2026) e ficam lado a + // lado, então errar o número da página é fácil com o dedo em movimento. + b.className = 'min-w-[44px] min-h-[44px] px-3 py-1.5 rounded-lg text-xs font-semibold ' + + 'inline-flex items-center justify-center transition-colors ' + (ativa ? 'bg-[#f97316] text-white' : 'bg-[#0a0a0a] text-gray-400 border border-white/5 hover:text-white'); }); diff --git a/app/views/layouts/_navbar.html.erb b/app/views/layouts/_navbar.html.erb index 941839a..48c9ed9 100644 --- a/app/views/layouts/_navbar.html.erb +++ b/app/views/layouts/_navbar.html.erb @@ -6,19 +6,31 @@ class="fixed inset-0 bg-black/70 z-30 hidden md:hidden" onclick="toggleSidebar()">
-<%# Sidebar %> +<%# Sidebar + `flex flex-col` NÃO é decoração: é o que faz o menu ROLAR. O