%# 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 %>