๐Ÿ“ง Campaign: {{ $campaign->name }}

{{-- โ”€โ”€ Flash: Success โ”€โ”€ --}} @if(session('success'))
{{ session('success') }}
@endif {{-- โ”€โ”€ Flash: Error โ”€โ”€ --}} @if(session('error'))
{{ session('error') }}
@endif {{-- โ”€โ”€ Flash: Undeliverable Emails Table โ”€โ”€ --}} @if(session('undeliverable')) @php $undeliverable = session('undeliverable'); @endphp
โš ๏ธ

{{ count($undeliverable) }} Undeliverable Email{{ count($undeliverable) > 1 ? 's' : '' }} Blocked

These addresses failed deliverability checks and were not imported.

@endif {{-- โ”€โ”€ Back link โ”€โ”€ --}} {{-- โ”€โ”€ Stats Row โ”€โ”€ --}}
Status
{{ ucfirst($campaign->status) }}
Total Emails
{{ $campaign->total_emails }}
Sent
{{ $campaign->sent_count }}
Failed
{{ $campaign->failed_count }}
Progress
{{ $campaign->progress }}%
{{-- โ•โ• MAIN LAYOUT โ•โ• --}}
{{-- โ”€โ”€โ”€ LEFT โ”€โ”€โ”€ --}}
{{-- Campaign Details --}}

๐Ÿ“‹ Campaign Details

Name: {{ $campaign->name }}
Purpose: {{ $campaign->purpose ?? 'Not specified' }}
SMTP Account: {{ $campaign->smtpConfiguration->name }}
Subject: {{ $campaign->subject }}
Delay: {{ $campaign->delay_seconds }} seconds between emails
Created: {{ $campaign->created_at->format('M d, Y h:i A') }}
@if($campaign->scheduled_at)
Scheduled At: ๐Ÿ—“๏ธ {{ \Carbon\Carbon::parse($campaign->scheduled_at)->format('M d, Y h:i A') }} UTC
@endif @if($campaign->started_at)
Started: {{ $campaign->started_at->format('M d, Y h:i A') }}
@endif @if($campaign->completed_at)
Completed: {{ $campaign->completed_at->format('M d, Y h:i A') }}
@endif
@php $open = '{{'; $tags = [ $open . 'company}}', $open . 'first_name}}', $open . 'last_name}}', $open . 'full_name}}', $open . 'email}}', ]; @endphp

Available Placeholders:

@foreach($tags as $tag) {{ $tag }} @endforeach
{{-- Recipients List --}} @if($campaign->emails->count() > 0)

๐Ÿ“ง Email Recipients ({{ $campaign->emails->count() }})

@foreach($campaign->emails as $email) @endforeach
Company First Name Last Name Email Status Sent At
{{ $email->company_name ?? '-' }} {{ $email->first_name ?? '-' }} {{ $email->last_name ?? '-' }} {{ $email->email }} @if($email->status == 'sent') Sent @elseif($email->status == 'failed') Failed @else Pending @endif {{ $email->sent_at ? $email->sent_at->format('M d, h:i A') : '-' }}
@endif
{{-- end left --}} {{-- โ”€โ”€โ”€ RIGHT SIDEBAR โ”€โ”€โ”€ --}}
{{-- Email Body Preview --}}

๐Ÿ‘๏ธ Email Body Preview

@php $previewBody = Str::limit($campaign->body, 500); $bodyIsHtml = $previewBody !== strip_tags($previewBody); @endphp
@if($bodyIsHtml){!! $previewBody !!}@else{{ $previewBody }}@endif
{{-- Import CSV --}} @if(in_array($campaign->status, ['draft', 'ready', 'scheduled']))

๐Ÿ“ค Import Email List

@if($campaign->status == 'scheduled')

๐Ÿ—“๏ธ Scheduled: Upload before {{ \Carbon\Carbon::parse($campaign->scheduled_at)->format('M d, Y H:i') }} UTC.

@endif
@csrf

Columns: Company Name, Email, First Name, Last Name

๐Ÿ” Auto-verification: Syntax, MX records & SMTP checked before import.

CSV example:

Company Name, Email, First Name, Last Name
Acme Corp, john@acme.com, John, Smith
@endif {{-- Edit Campaign --}} @if(in_array($campaign->status, ['draft', 'ready', 'scheduled']))

โœ๏ธ Edit Campaign

โœ๏ธ Edit Campaign Details
@endif {{-- Scheduled Info --}} @if($campaign->status == 'scheduled')

๐Ÿ—“๏ธ Scheduled

โฐ Sends automatically at:
{{ \Carbon\Carbon::parse($campaign->scheduled_at)->format('M d, Y H:i') }} UTC

Upload your email list before this time.

@endif {{-- Start Campaign --}} @if($campaign->status == 'ready')

๐Ÿš€ Start Campaign

โš ๏ธ Ready to send!
{{ $campaign->total_emails }} emails ยท {{ $campaign->delay_seconds }}s delay each.

@csrf
@endif {{-- Sending Progress --}} @if($campaign->status == 'sending')

โณ Sending...

{{ $campaign->sent_count }}
Sent
{{ $campaign->failed_count }}
Failed
{{ $campaign->total_emails - $campaign->sent_count - $campaign->failed_count }}
Pending
Progress {{ $campaign->progress }}%
{{ $campaign->progress }}%

{{ $campaign->progress_message ?? 'Processing...' }}

Updates every 2 seconds
@endif {{-- Completed Summary --}} @if($campaign->status == 'completed')

โœ… Completed

๐ŸŽ‰ Campaign done!
Sent: {{ $campaign->sent_count }}  |  Failed: {{ $campaign->failed_count }}

Success Rate: {{ $campaign->total_emails > 0 ? round(($campaign->sent_count / $campaign->total_emails) * 100, 1) : 0 }}%
Duration: @if($campaign->started_at && $campaign->completed_at) {{ $campaign->started_at->diffForHumans($campaign->completed_at, true) }} @else - @endif
{{-- Reschedule Panel --}}

๐Ÿ”„ Reschedule Campaign

Re-send to the same list with an updated subject, body and a new send time.

@csrf {{-- New date/time --}}

โšก Must be at least 5 minutes from now.

{{-- Editable subject --}}

Placeholders like {{first_name}} work here too.

{{-- Editable body --}}

HTML supported. Placeholders like {{first_name}} still work.

@endif {{-- Delete Campaign --}} @if(in_array($campaign->status, ['draft', 'ready', 'scheduled', 'completed']))

๐Ÿ—‘๏ธ Delete Campaign

@csrf @method('DELETE')
@endif
{{-- end sidebar --}}
{{-- end grid --}}
{{-- โ”€โ”€ Reschedule Confirmation Modal โ”€โ”€ --}} @if($campaign->status == 'completed') @endif