%# app/views/operacoes_dashboard/index.html.erb %>
<%# Dashboard de análise de entregas por operação (KPIs, insucessos, STS, mapa). %>
<% content_for :head do %>
<%# Flatpickr (date range) — CSS no
%>
<%# ── Cabeçalho ─────────────────────────────────────────── %>
Dashboard de Operações
<%= @periodo_inicio.strftime('%d/%m/%Y') %> – <%= @periodo_fim.strftime('%d/%m/%Y') %>
· Atualizado às <%= Time.now.strftime('%H:%M') %>
<%# Filtro de período (flatpickr) + atalhos %>
<%# ── Abas de modo ──────────────────────────────────────── %>
<% modos = { 'operacao' => '🏥 Operação', 'global' => '🌐 Global', 'comparar' => '⚖️ Comparar' } %>
<% modos.each do |m, label| %>
<% ativo = @modo == m %>
<%= link_to label,
operacoes_dashboard_path(ctx_ops.merge(modo: m, inicio: ini_iso, fim: fim_iso)),
data: { turbo: false },
class: "px-4 py-2 rounded-xl text-sm font-semibold whitespace-nowrap #{ativo ? 'bg-orange-500 text-black' : 'bg-[#1a1a1a] text-gray-300 border border-white/10 hover:border-orange-500'}" %>
<% end %>
<% if @tabelas_validas.blank? %>
Nenhuma operação encontrada no banco (tabelas gade_entregas_*).
<% else %>
<%# ── Seletor de operação por modo ───────────────────── %>
<% if @modo == 'operacao' %>
<% if @metricas %>
<%= render 'painel', metricas: @metricas %>
<%= render 'mapa', metricas: @metricas %>
<% end %>
<% elsif @modo == 'global' %>
🌐 Visão Global — todas as
<%= @tabelas_validas.size %> operações agregadas no período.
<% if @metricas %>
<%= render 'painel', metricas: @metricas %>
<%= render 'mapa', metricas: @metricas %>
<% end %>
<% else # comparar %>
<% if @metricas_a %>
<%= render 'painel', metricas: @metricas_a, titulo: "A · #{@metricas_a.operacoes_label}" %>
<% else %>
Selecione a operação A.
<% end %>
<% if @metricas_b %>
<%= render 'painel', metricas: @metricas_b, titulo: "B · #{@metricas_b.operacoes_label}" %>
<% else %>
Selecione a operação B.
<% end %>
<% end %>
<% end %>
<%# ── Scripts: flatpickr, Chart.js, Leaflet ───────────────── %>