% ctx = { status: params[:status], canal: params[:canal] }.compact_blank %> <% # Pílula de filtro: uma só definição para os dois grupos (situação e canal), # senão o estilo do "ativo" fatalmente diverge entre eles com o tempo. pilula = lambda do |ativo| base = 'px-4 py-2 rounded-xl text-sm border transition-colors' ativo ? "#{base} bg-[#f97316] text-white border-[#f97316] font-semibold" : "#{base} bg-[#0a0a0a] text-gray-400 border-white/10 hover:border-white/20 hover:text-white" end %>
O que saiu, para quem e se chegou. Uma falha de envio nunca trava o fechamento — então é aqui que ela aparece.
| Quando | Evento | Destinatário | Canal | Situação | Mensagem |
|---|---|---|---|---|---|
| <%= envio.created_at.strftime('%d/%m/%Y') %> <%= envio.created_at.strftime('%H:%M') %> | <%= envio.evento_notificacao&.nome || '—' %> | <%= envio.contato&.nome || envio.user&.nome || '—' %> <%= envio.destino %> | <% wpp = envio.canal == 'whatsapp' %> <%= icone(wpp ? :telefone : :email, cor: nil, tamanho: 'w-3.5 h-3.5', espaco: false) %> <%= wpp ? 'WhatsApp' : 'E-mail' %> | <% cfg = case envio.status when 'enviado' then { cor: 'bg-green-600 text-white', icone: :sucesso, label: 'Enviado' } when 'falhou' then { cor: 'bg-red-600 text-white', icone: :erro, label: 'Falhou' } else { cor: 'bg-yellow-500 text-black', icone: :relogio, label: envio.status.to_s.capitalize } end %> <%= badge_com_icone(cfg) %> <% if envio.falhou? && envio.erro.present? %> <%= envio.erro.truncate(160) %> <% end %> | <%= envio.corpo.to_s.truncate(90) %> |
|
<%= icone :vazio, tamanho: 'w-10 h-10', cor: 'text-gray-600', espaco: false %>
Nenhum envio registrado ainda. |
|||||