{{-- Flash messages --}} @if(session('success'))
{{ session('success') }}
@endif {{-- Header --}}

{{ __('Campaigns') }}

{{ __('Create, manage, and track your email campaigns') }}

{{-- Summary stats --}}

{{ __('Total Campaigns') }}

{{ number_format($totalCampaigns) }}

{{ __('Emails Sent') }}

{{ number_format($totalSent) }}

{{ __('Avg Open Rate') }}

{{ $avgOpenRate }}%

{{ __('Avg Click Rate') }}

{{ $avgClickRate }}%

{{-- Tabs --}}
{{-- Bulk action bar --}} @if(count($selectedCampaigns) > 0)
{{ count($selectedCampaigns) }} {{ __('campaign(s) selected') }}
@endif {{-- Campaign Cards --}}
{{-- Select all checkbox --}} @if($campaigns->count() > 0)
{{ __('Select all on this page') }}
@endif @forelse($campaigns as $campaign)
{{-- Left: info --}}

{{ $campaign->name }}

@php $statusColors = [ 'draft' => 'bg-surface text-muted ', 'scheduled' => 'bg-info/15 text-info', 'sending' => 'bg-warning/15 text-warning', 'sent' => 'bg-success/15 text-success', 'paused' => 'bg-orange-100 text-orange-700', 'canceled' => 'bg-danger/15 text-danger', ]; @endphp {{ ucfirst($campaign->status) }} {{-- Channel badge: makes it instantly clear whether this row is an email blast or an SMS broadcast, since the rest of the columns (subject, etc.) don't apply to SMS. --}} @if(($campaign->channel ?? 'email') === 'sms') {{ __('SMS') }} @else {{ __('Email') }} @endif @if($campaign->type === 'ab_test') {{ __('A/B Test') }} @elseif($campaign->type === 'drip') {{ __('Auto Follow-up') }} @endif
@if(($campaign->channel ?? 'email') === 'sms' && $campaign->body_text)

{{ \Illuminate\Support\Str::limit($campaign->body_text, 90) }}

@elseif($campaign->subject)

{{ $campaign->subject }}

@endif
{{ number_format($campaign->recipients_count) }} {{ __('recipients') }} {{ __('Created') }} {{ $campaign->created_at->format('M j, Y') }} @if($campaign->scheduled_at && $campaign->status === 'scheduled') @elseif($campaign->sent_at) @endif
{{-- Right: actions --}}
@if($campaign->status === 'draft') {{ __('Edit') }} @elseif($campaign->status === 'scheduled') {{ __('Edit') }} @elseif(in_array($campaign->status, ['sent', 'sending'])) {{ __('View Report') }} @endif
{{-- Stats bar (only for sent/sending campaigns) --}} @if(in_array($campaign->status, ['sent', 'sending']))

{{ __('Sent') }}

{{ number_format($campaign->sent_count) }}

{{ __('Opened') }}

{{ number_format($campaign->opened_count) }}

{{ $campaign->open_rate }}%

{{ __('Clicked') }}

{{ number_format($campaign->clicked_count) }}

{{ $campaign->click_rate }}%

{{ __('Delivery') }}

@php $deliveryRate = $campaign->sent_count > 0 ? round((($campaign->sent_count - $campaign->bounced_count) / $campaign->sent_count) * 100, 1) : 0; @endphp
{{ $deliveryRate }}%
@endif
@empty @endforelse
{{-- Pagination --}} @if($campaigns->hasPages())
{{ $campaigns->links() }}
@endif