Files
eminuxCRM/app/views/mailings/_progress_card.html.erb
T
eminuxandCursor 98dcdbbf82
CI / lint (push) Failing after 16m2s
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
Aggiunge fascia oraria, prova manuale obbligatoria e cruscotto invii email.
Le campagne rispettano orario e giorni lavorativi, richiedono una mail di test con dati inseriti a mano prima dell'invio massivo e offrono una dashboard per monitorare l'avanzamento.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-18 00:04:33 +02:00

34 lines
1.7 KiB
ERB

<div class="<%= card_class %> p-4">
<div class="flex items-start justify-between gap-3">
<div>
<%= link_to mailing.name, mailing, class: "font-semibold hover:underline" %>
<p class="mt-1 text-xs text-zinc-500">
<%= mailing.mail_identity.from_email %>
<% if mailing.send_window_enabled? %>
· fascia <%= mailing.send_window_label %>
<% end %>
<% if mailing.interval_seconds.positive? %>
· pausa <%= mailing.interval_seconds %>s
<% end %>
</p>
</div>
<%= mailing_status_badge(mailing.status) %>
</div>
<div class="mt-4"><%= progress_bar(mailing.progress_percentage, color: mailing.failed_count.positive? ? "bg-amber-500" : "bg-emerald-500") %></div>
<div class="mt-2 flex flex-wrap gap-3 text-sm text-zinc-600 dark:text-zinc-300">
<span><strong class="tabular-nums"><%= mailing.sent_count %></strong> inviate</span>
<span><strong class="tabular-nums"><%= mailing.pending_count %></strong> in coda</span>
<span><strong class="tabular-nums"><%= mailing.skipped_count %></strong> escluse</span>
<% if mailing.failed_count.positive? %>
<span class="text-rose-700"><strong class="tabular-nums"><%= mailing.failed_count %></strong> errori</span>
<% end %>
</div>
<% if mailing.next_send_at.present? && mailing.next_send_at > Time.current %>
<p class="mt-3 rounded-lg bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:bg-amber-950 dark:text-amber-100">
In pausa fino a <%= l(mailing.next_send_at, format: :long) %>
</p>
<% elsif mailing.pending_count.positive? %>
<p class="mt-3 text-xs text-zinc-500">Prossima email in lavorazione.</p>
<% end %>
</div>