@extends('layouts.app')
@section('title', 'Campaign Report — '.$campaign->name)
@section('content')
@php
$counts = collect([
'pending' => $campaign->recipients->where('status', 'pending')->count(),
'sent' => $campaign->recipients->where('status', 'sent')->count(),
'failed' => $campaign->recipients->where('status', 'failed')->count(),
'bounced' => $campaign->recipients->where('status', 'bounced')->count(),
]);
$total = $counts->sum();
$progress = $total > 0 ? round((($counts['sent'] + $counts['failed'] + $counts['bounced']) / $total) * 100, 1) : 0;
@endphp
Campaign Report — {{ $campaign->name }}
Sender: {{ $campaign->sender?->name ?? '-' }} <{{ $campaign->sender?->email ?? '-' }}>
· Template: {{ $campaign->emailTemplate?->name ?? '-' }}
← Back to Reports
Daily Sending (Last 7 Days)
@php
$maxDaily = max(1, (int) $dailyBreakdown->max('sent'));
$chartDays = collect();
for ($i = 6; $i >= 0; $i--) {
$date = \Carbon\Carbon::now()->subDays($i)->toDateString();
$stat = $dailyBreakdown->first(fn ($d) => (string) $d->date === $date);
$chartDays->push([
'label' => \Carbon\Carbon::parse($date)->format('D'),
'date' => $date,
'sent' => (int) ($stat?->sent ?? 0),
'isToday' => $date === now()->toDateString(),
]);
}
@endphp
@foreach ($chartDays as $day)
{{ $day['sent'] > 0 ? number_format($day['sent']) : '' }}
{{ $day['label'] }}
@endforeach