40 lines
1.9 KiB
ERB
40 lines
1.9 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.opened_count %></strong> aperte</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 %>
|
|
<% if mailing.sending? || mailing.paused? %>
|
|
<div class="mt-4 border-t border-zinc-100 pt-4 dark:border-zinc-800">
|
|
<%= render "mailings/send_controls", mailing: mailing %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|