@extends('layouts.admin') @section('header', 'SMS Campaign Statistics') @section('content')

Statistics: {{ $campaign->name }}

Detailed performance metrics for your SMS campaign.

Status: @switch($campaign->status) @case('draft') Draft @break @case('scheduled') Scheduled for {{ $campaign->scheduled_at ? $campaign->scheduled_at->format('M d, Y H:i') : 'N/A' }} @break @case('sending') Sending @break @case('sent') Sent on {{ $campaign->sent_at ? $campaign->sent_at->format('M d, Y H:i') : 'N/A' }} @break @case('failed') Failed @break @default {{ ucfirst($campaign->status) }} @endswitch @if($campaign->sent_at) | Sent: {{ $campaign->sent_at->diffForHumans() }} @endif
Total Recipients
{{ number_format($stats['total_recipients'] ?? 0) }}
Delivery Rate
{{ number_format($stats['delivery_rate'] ?? 0, 2) }}%
Click-Through Rate (CTR)
{{ number_format($stats['click_through_rate'] ?? 0, 2) }}%
Failure Rate
{{ number_format($stats['failure_rate'] ?? 0, 2) }}%

Delivery Overview

Delivery Status Chart (e.g., Pie Chart: Delivered, Failed, Pending)

Chart.js or similar library needed for actual chart rendering.

Clicks Over Time

Link Clicks Over Time Chart (e.g., Line Chart)

Chart.js or similar library needed for actual chart rendering.

Recipient Delivery Status

Detailed status for each recipient.

@forelse ($recipient_logs as $log) @empty @endforelse
Recipient Status Sent At Delivered At Failure Reason
{{ $log->phone_number }} @switch($log->status) @case('delivered') Delivered @break @case('failed') Failed @break @case('sent') Sent @break @case('pending') @default Pending @endswitch {{ $log->sent_at ? $log->sent_at->format('M d, Y H:i') : 'N/A' }} {{ $log->delivered_at ? $log->delivered_at->format('M d, Y H:i') : 'N/A' }} {{ $log->failure_reason ?: 'N/A' }}
No recipient logs found for this campaign.
@if ($recipient_logs->hasPages())
{{ $recipient_logs->links() }}
@endif
@if($campaign->track_clicks)

Link Click Performance

Details of links clicked in this campaign.

{{-- @forelse ($campaign->trackedLinks as $link) --}} @forelse ($tracked_links as $link) {{-- Assuming $tracked_links is passed --}} @empty @endforelse
Original URL Shortened URL Total Clicks Unique Clicks
{{ $link->original_url }} {{ $link->short_url }} {{ number_format($link->clicks_count ?? 0) }} {{ number_format($link->unique_clicks_count ?? 0) }}
No link click data available for this campaign.
@endif @if($campaign->opt_out)

Opt-Outs

Recipients who opted out from this campaign.

{{-- @forelse ($campaign->optOuts as $optOut) --}} @forelse ($opt_outs as $optOut) {{-- Assuming $opt_outs is passed --}} @empty @endforelse
Recipient Opt-Out Date
{{ $optOut->phone_number }} {{ $optOut->created_at->format('M d, Y H:i') }}
No opt-outs recorded for this campaign.
@endif
@push('scripts') {{-- --}} @endpush @endsection