<%# app/views/consolidacoes/wizard.html.erb — PASSO 1: Selecionar motorista %> <% content_for :title, "Wizard — #{@consolidacao.nome}" %>
<%# Header do wizard %>
<%= link_to '← Voltar para o resumo', consolidacao_path(@consolidacao), class: 'text-gray-500 hover:text-orange-500 text-sm' %>

<%= @consolidacao.nome %>

📅 <%= l @consolidacao.data_inicio, format: :short %> → <%= l @consolidacao.data_fim, format: :short %> · <%= badge_status(@consolidacao.status) %>

<%# Indicador de passos %>
1 Selecionar motorista
2 Validar entregas
3 Revisar
<%# Caixa de ferramentas do Passo 1 — concentra "Apontamento manual" (busca pela NF) e "Adicionar motorista" num único botão com menu suspenso. %> <% unless @consolidacao.finalizada? && current_user.operador? %>
<%# Botão único + menu suspenso %> <%# Modal — apontamento manual (busca NF) %> <%# Modal — adicionar motorista %>
<% end %> <%# Lista de motoristas %> <% pode_arquivar_motorista = !(@consolidacao.finalizada? && current_user.operador?) %>
<% @motoristas.each do |m| %> <%# Container relativo: o card é um link; o botão de arquivar fica FORA da âncora (não se pode aninhar
/ dentro de ). %>
<%= link_to validar_consolidacao_consolidacao_entregas_path(@consolidacao, motorista: m[:registro].motorista_nome), class: "block bg-[#1a1a1a] border rounded-xl p-5 transition-colors #{m[:completo] ? 'border-green-600 hover:border-green-500' : 'border-[#2a2a2a] hover:border-orange-500'}" do %>
<%= m[:completo] ? '✓' : m[:registro].motorista_nome.first.upcase %>

<%= m[:registro].motorista_nome %>

<%= m[:total] %> entregas pagas no período · <%= m[:classificadas] %>/<%= m[:total] %> classificadas <% if m[:apontamentos].positive? %> · ➕ <%= m[:apontamentos] %> apontamento<%= 's' if m[:apontamentos] > 1 %> <% end %>

<% if m[:veiculos].any? %>

🚗 <%= m[:veiculos_fechados] %>/<%= m[:veiculos].size %> veículo<%= 's' if m[:veiculos].size > 1 %> consolidado<%= 's' if m[:veiculos_fechados] != 1 %>

<% end %>

<%= moeda(m[:registro].valor_total) %>

<% pct = m[:total].zero? ? 0 : (m[:classificadas] * 100 / m[:total]) %>
<% end %> <% if pode_arquivar_motorista %> <%= button_to '🗄️', arquivar_motorista_consolidacao_path(@consolidacao, consolidacao_motorista_id: m[:registro].id), method: :post, form: { data: { turbo_confirm: "Arquivar #{m[:registro].motorista_nome} desta consolidação? Você poderá restaurar depois." }, class: 'absolute top-3 right-3' }, class: 'text-gray-500 hover:text-red-400 border border-[#2a2a2a] hover:border-red-500/50 rounded-lg w-9 h-9 flex items-center justify-center', title: "Arquivar #{m[:registro].motorista_nome}" %> <% end %>
<% end %>
<%# Motoristas arquivados — restauráveis %> <% if @arquivados.present? %>

🗄️ Motoristas arquivados (<%= @arquivados.size %>)

<% @arquivados.each do |cm| %>

<%= cm.motorista_nome %>

Arquivado · não conta no total

<% if pode_arquivar_motorista %> <%= button_to '♻️ Restaurar', desarquivar_motorista_consolidacao_path(@consolidacao, consolidacao_motorista_id: cm.id), method: :post, class: 'text-green-400 hover:text-green-300 border border-[#2a2a2a] hover:border-green-500/50 px-3 py-2 rounded-lg text-xs min-h-[40px]' %> <% end %> <% if policy(@consolidacao).destroy? %> <%= button_to '🗑️ Excluir', excluir_motorista_consolidacao_path(@consolidacao, consolidacao_motorista_id: cm.id), method: :delete, form: { data: { turbo_confirm: "Excluir DEFINITIVAMENTE #{cm.motorista_nome} desta consolidação? Os lançamentos dele serão apagados e isso não pode ser desfeito." } }, class: 'text-red-400 hover:text-red-300 border border-[#2a2a2a] hover:border-red-500/50 px-3 py-2 rounded-lg text-xs min-h-[40px]' %> <% end %>
<% end %>
<% end %> <%# Finalizar — só habilita se tudo classificado %> <% tudo_completo = @motoristas.all? { |m| m[:completo] } && @motoristas.any? %>

Total da consolidação

<%= moeda(@consolidacao.valor_total) %>

<% if @consolidacao.rascunho? %> <%= button_to 'Finalizar consolidação ✓', finalizar_consolidacao_path(@consolidacao), method: :post, disabled: !tudo_completo, data: { turbo_confirm: 'Finalizar? Após finalizada, a consolidação não poderá ser editada por operadores.' }, class: "font-bold px-6 py-3.5 rounded-lg min-h-[48px] transition-colors #{tudo_completo ? 'bg-green-600 hover:bg-green-500 text-white cursor-pointer' : 'bg-[#2a2a2a] text-gray-600 cursor-not-allowed'}" %> <% end %>
<% unless tudo_completo %>

⚠️ Classifique todas as entregas de todos os motoristas para poder finalizar.

<% end %>