correção de bugs na area de Dashbord
This commit is contained in:
42
app/views/dashboard/_ranking_motoristas.html.erb
Normal file
42
app/views/dashboard/_ranking_motoristas.html.erb
Normal file
@@ -0,0 +1,42 @@
|
||||
<%# 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? %>
|
||||
<div class="space-y-3">
|
||||
<%# 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| %>
|
||||
<div class="flex items-center gap-3">
|
||||
<span class="text-xs font-bold w-5 text-center
|
||||
<%= i == 0 ? 'text-yellow-400' : i == 1 ? 'text-gray-300' : i == 2 ? 'text-orange-600' : 'text-gray-400' %>">
|
||||
<%= i + 1 %>
|
||||
</span>
|
||||
<div class="flex-1 min-w-0">
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<span class="text-white text-sm font-medium truncate"><%= m[:nome] %></span>
|
||||
<span class="text-[#f97316] text-sm font-semibold ml-2 flex-shrink-0">
|
||||
<%= moeda(m[:valor]) %>
|
||||
</span>
|
||||
</div>
|
||||
<%# Barra de progresso %>
|
||||
<div class="w-full bg-white/5 rounded-full h-1.5">
|
||||
<div class="h-1.5 rounded-full bg-[#f97316]"
|
||||
style="width: <%= max.zero? ? 0 : [(m[:entregas] / max * 100).round, 100].min %>%"></div>
|
||||
</div>
|
||||
<span class="text-gray-400 text-xs"><%= m[:entregas] %> entregas</span>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="text-center py-8 text-gray-400">
|
||||
<div class="mb-2"><%= icone :caminhao, tamanho: 'w-8 h-8', cor: 'text-gray-600', espaco: false %></div>
|
||||
<p class="text-sm"><%= vazio %></p>
|
||||
</div>
|
||||
<% end %>
|
||||
Reference in New Issue
Block a user