<%# Lista do ranking de motoristas — markup COMPARTILHADO pelas abas "Estimado" e "Consolidado" do dashboard. Os dois conjuntos têm a mesma forma (:nome, :valor, :entregas); só muda a origem dos números, então duplicar o markup faria as duas abas divergirem visualmente na primeira alteração. Locais: itens (array de hashes), vazio (texto do estado sem dados). %> <% if itens.any? %>
<%# A barra é proporcional ao VALOR, que é o número pelo qual as duas abas são ordenadas — assim ela sempre encurta de cima para baixo. ⚠️ Não voltar a usar :entregas aqui: na aba Estimado dá no mesmo (valor = qtd × preço), mas na Consolidada quem tem mais entregas nem sempre tem o maior valor (bônus/retirada/termo mudam o preço unitário) e a barra do 3º ficava MAIOR que a do 2º, contradizendo a ordem do ranking. Zero vira barra vazia em vez de divisão por zero. %> <% max = itens.map { |x| x[:valor].to_f }.max.to_f %> <% itens.each_with_index do |m, i| %>
<%= i + 1 %>
<%= m[:nome] %> <%= moeda(m[:valor]) %>
<%# Barra de progresso %>
<%= m[:entregas] %> entregas
<% end %>
<% else %>
<%= icone :caminhao, tamanho: 'w-8 h-8', cor: 'text-gray-600', espaco: false %>

<%= vazio %>

<% end %>