<%# 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? %>
<%# Base da barra: o MAIOR nº de entregas da aba, não o primeiro item — a aba consolidada é ordenada por VALOR, então o primeiro pode não ser o maior em quantidade e a barra passaria de 100%. Sem entregas (só bônus/desconto, por exemplo) a barra fica vazia em vez de dividir por zero. %> <% max = itens.map { |x| x[:entregas].to_i }.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 %>