@extends('layouts.app', ['title' => __tr('Campaign Status')]) @section('content') @include('users.partials.header', [ 'title' => __tr('Campaign Dashboard'), 'description' => '', 'class' => 'col-lg-7' ]) @php $campaignData = $campaign->__data; $selectedGroups = is_array(Arr::get($campaignData, 'selected_groups', [])) ? Arr::get($campaignData, 'selected_groups', []) : []; $isRestrictByTemplateContactLanguage = Arr::get($campaignData, 'is_for_template_language_only'); $isAllContacts = Arr::get($campaignData, 'is_all_contacts'); $messageLog = $campaign->messageLog; $queueMessages = $campaign->queueMessages; $campaignUid=$campaign->_uid; $totalContacts = (int) Arr::get($campaignData, 'total_contacts'); $totalRead = $messageLog->where('status', 'read')->count(); $totalDelivered = $messageLog->where('status', 'delivered')->count(); $totalFailed = $queueMessages->where('status', 2)->count() + $messageLog->where('status', 'failed')->count(); $totalAccepted = $messageLog->where('status', 'accepted')->count(); $totalProcessing = $queueMessages->where('status', 3)->count(); $totalWaiting = $queueMessages->where('status', 1)->count(); $totalSent = $messageLog->where('status', 'sent')->count(); $totalProcessed = $totalSent + $totalRead + $totalDelivered + $totalAccepted + $totalFailed + $totalProcessing; // Calculate percentages only if there are contacts $totalReadInPercent = $totalContacts > 0 ? round(($totalRead / $totalContacts) * 100, 2) . '%' : '0%'; $totalDeliveredInPercent = $totalContacts > 0 ? round((($totalDelivered + $totalRead) / $totalContacts) * 100, 2) . '%' : '0%'; $totalFailedInPercent = $totalContacts > 0 ? round(($totalFailed / $totalContacts) * 100, 2) . '%' : '0%'; $totalAcceptedInPercent = $totalContacts > 0 ? round(($totalAccepted / $totalContacts) * 100, 2) . '%' : '0%'; $totalProcessingInPercent = $totalContacts > 0 ? round(($totalProcessing / $totalContacts) * 100, 2) . '%' : '0%'; $totalWaitingInPercent = $totalContacts > 0 ? round(($totalWaiting / $totalContacts) * 100, 2) . '%' : '0%'; $totalSentInPercent = $totalContacts > 0 ? round(($totalSent / $totalContacts) * 100, 2) . '%' : '0%'; // Calculate the total percentage of processed messages $totalProcessedInPercent = $totalContacts > 0 ? round(($totalProcessed / $totalContacts) * 100, 2) . '%' : '0%'; // Ensure we don't count delivered messages twice $totalDeliveredCount = $totalDelivered + $totalRead; @endphp
@if($campaign->status == 5) {{ __tr('Archived') }} @endif
{{ __tr('Campaign Name') }}
{{ $campaign->title }}

{{ __tr('Execution Scheduled at') }}

@if ($campaign->scheduled_at > now())
{{ formatDiffForHumans($campaign->scheduled_at, 3) }}
@else @endif @if ($campaign->timezone and getVendorSettings('timezone') != $campaign->timezone)
{!! __tr('__scheduledAt__ as per your account timezone which is __selectedTimezone__', [ '__scheduledAt__' => formatDateTime($campaign->scheduled_at), '__selectedTimezone__' => ''. getVendorSettings('timezone') .'' ]) !!}
{!! __tr('Campaign scheduled on __scheduledAt__ as per the __selectedTimezone__ timezone', [ '__scheduledAt__' => formatDateTime($campaign->scheduled_at_by_timezone, null, null, $campaign->timezone), '__selectedTimezone__' => ''. $campaign->timezone .'' ]) !!}
@else {{ formatDateTime($campaign->scheduled_at) }} @endif

{{ __tr('template Name') }}
{{ $campaign->whatsappTemplate->template_name ?? $campaignData['campaign_recreate_payload']['template']['name'] ?? $campaign->template_name ?? 'N/A' }}
{{ __tr('template language') }}
{{ $campaign->whatsappTemplate->language ?? $campaignData['campaign_recreate_payload']['template']['language'] ?? $campaign->template_language ?? 'N/A' }}
{{-- total contacts --}}
{{ __tr('Total Contacts') }}

@if ($isAllContacts) {{ __tr('All contacts ') }} @else {{ __tr('All contacts from: ') }} @if(is_array($selectedGroups)) @foreach ($selectedGroups as $selectedGroup) @if(is_array($selectedGroup) && isset($selectedGroup['title'])) {{ $selectedGroup['title'] }} @endif @endforeach @endif {{ __tr(' groups.') }} @endif @if ($isRestrictByTemplateContactLanguage) {!! __tr('Excluding those contacts which don\'t have __languageCode__ language', [ '__languageCode__' => "". e($campaign->template_language) ."" ]) !!} @endif

{{-- /total contacts --}} {{-- sent messages --}}
{{ __tr('Total Single Tick Delivered') }}

{{ __tr('Messages') }}

{{-- /sent messages --}} {{-- delivered to --}}
{{ __tr('Total Double Tick Delivered') }}

{{ __tr('Contacts') }}

{{-- /delivered to --}} {{-- read by --}}
{{ __tr('Total Read') }}

{{ __tr('Contacts') }}

{{-- /read by --}} {{-- processing messages --}}
{{ __tr('Processing') }}

{{ __tr('Messages') }}

{{-- /processing messages --}} {{-- accepted messages --}}
{{ __tr('Total Meta Accepted') }}

{{ __tr('Messages') }}

{{-- /accepted messages --}} {{-- failed --}}
{{ __tr('Total Failed') }}

{{ __tr('Contacts') }}

{{-- /failed --}} {{-- total processed messages --}}
{{ __tr('Overall Message Status') }}

{{ __tr('Messages') }}

{{-- /total processed messages --}}
{{-- message log --}}