, Teste e correçoes

This commit is contained in:
2026-08-28 13:13:10 -03:00
parent 1143ed373b
commit 19a0c7a302
6 changed files with 157 additions and 76 deletions

View File

@@ -20,7 +20,7 @@
<% atual = v.veiculo == @veiculo %>
<%# Link de verdade (não botão com JS): o veículo vive na query string, então
ele é endereçável, volta com o "voltar" do navegador e sobrevive a um F5. %>
<a href="<%= admin_romaneio_path(@romaneio, veiculo: v.veiculo) %>"
<a href="<%= admin_romaneio_path(@romaneio, veiculo: v.veiculo, previa: (1 if @previa)) %>"
data-romaneio-target="itemVeiculo" data-veiculo="<%= v.veiculo %>"
<%= 'data-atual="1"'.html_safe if atual %>
class="shrink-0 lg:shrink flex items-center justify-between gap-3 min-h-[48px]
@@ -47,13 +47,13 @@
<% prox_v = pos_v && pos_v < nomes_v.size - 1 ? nomes_v[pos_v + 1] : nil %>
<% base_v = 'flex-1 min-h-[48px] flex items-center justify-center rounded-xl border' %>
<% if ant_v %>
<a href="<%= admin_romaneio_path(@romaneio, veiculo: ant_v) %>" aria-label="Veículo anterior"
<a href="<%= admin_romaneio_path(@romaneio, veiculo: ant_v, previa: (1 if @previa)) %>" aria-label="Veículo anterior"
class="<%= base_v %> bg-[#1a1a1a] border-white/10 text-white hover:bg-[#242424]"></a>
<% else %>
<span class="<%= base_v %> bg-[#1a1a1a]/50 border-white/5 text-gray-600"></span>
<% end %>
<% if prox_v %>
<a href="<%= admin_romaneio_path(@romaneio, veiculo: prox_v) %>" aria-label="Próximo veículo"
<a href="<%= admin_romaneio_path(@romaneio, veiculo: prox_v, previa: (1 if @previa)) %>" aria-label="Próximo veículo"
class="<%= base_v %> bg-[#1a1a1a] border-white/10 text-white hover:bg-[#242424]"></a>
<% else %>
<span class="<%= base_v %> bg-[#1a1a1a]/50 border-white/5 text-gray-600"></span>
@@ -61,9 +61,12 @@
</div>
<div class="pt-4 mt-1 border-t border-white/5">
<%# "Motorista deste veículo — só na tela" não cabe numa linha na coluna
estreita; o complemento vai embaixo, como legenda, em vez de quebrar no
meio do travessão. %>
<label class="block text-sm font-medium text-gray-300 mb-1.5">
Motorista deste veículo
<span class="text-gray-500 font-normal">só na tela</span>
<span class="block text-xs text-gray-500 font-normal">só na tela, não sai impresso</span>
</label>
<% atual = @veiculos.find { |v| v.veiculo == @veiculo } %>
<input type="text" value="<%= atual&.motorista %>" placeholder="Quem leva este carro"
@@ -71,29 +74,38 @@
class="w-full bg-[#1a1a1a] border border-white/10 rounded-xl px-3 py-3 text-white
placeholder-gray-600 focus:outline-none focus:border-orange-500 min-h-[48px]">
<p class="text-xs text-gray-500 mt-1.5">
Não sai impresso — a linha do rodapé é assinada à mão na retirada.
A linha do rodapé é assinada à mão na retirada.
</p>
</div>
<div class="space-y-3 pt-4 mt-4 border-t border-white/5">
<%# Link, não botão: abre o pop-up da prévia pelo `:target` do CSS (ver
`_previa`), então continua funcionando com o JavaScript fora do ar — foi
o botão daqui que ficou morto três vezes seguidas. %>
<a href="#previa"
class="w-full min-h-[48px] flex items-center justify-center gap-2 bg-[#1a1a1a]
hover:bg-[#242424] text-white border border-white/10 rounded-xl">
<%# Link, não botão: a prévia aberta é a URL `?previa=1` (ver `_previa`),
então isto funciona com o JavaScript fora do ar — foi o botão daqui que
ficou morto três vezes seguidas. %>
<%= link_to admin_romaneio_path(@romaneio, veiculo: @veiculo, previa: 1),
class: 'w-full min-h-[48px] flex items-center justify-center gap-2 bg-[#1a1a1a]
hover:bg-[#242424] text-white border border-white/10 rounded-xl' do %>
<%= icone :visualizar, cor: nil, espaco: false %> Ver prévia do PDF
</a>
<% end %>
<%= link_to pdf_admin_romaneio_path(@romaneio, veiculo: @veiculo),
target: '_blank', rel: 'noopener',
class: 'w-full min-h-[48px] flex items-center justify-center gap-2 bg-[#1a1a1a]
hover:bg-[#242424] text-white border border-white/10 rounded-xl' do %>
<%= icone :baixar, cor: nil, espaco: false %> PDF deste veículo
<% end %>
<%# Rótulo em DUAS linhas de propósito. "PDF de TODOS os veículos" numa linha
só não cabe nos 260px da coluna: quebrava sozinho e deixava o ícone
pendurado num degrau ao lado do texto. Aqui a quebra é intencional — o
ícone fica centrado na altura e a contagem vira a segunda linha, que
ainda informa quantas folhas saem. %>
<%= link_to pdf_admin_romaneio_path(@romaneio),
class: 'w-full min-h-[48px] flex items-center justify-center gap-2 bg-[#f97316]
hover:bg-orange-500 text-white font-semibold rounded-xl' do %>
<%= icone :baixar, cor: nil, espaco: false %> PDF de TODOS os veículos
class: 'w-full min-h-[56px] flex items-center justify-center gap-2.5 px-3 py-2
bg-[#f97316] hover:bg-orange-500 text-white rounded-xl text-left' do %>
<%= icone :baixar, cor: nil, espaco: false, classe: 'shrink-0' %>
<span class="leading-tight">
<span class="block font-semibold">PDF de todos</span>
<span class="block text-xs text-white/80"><%= @veiculos.size %> veículos, uma folha cada</span>
</span>
<% end %>
</div>
</div>