@extends('admin.layouts.app')
@section('title', $group->displayName() . ' — ' . __('admin.brand.name'))
@section('page_title', __('admin.campaign_groups.title'))
@push('styles')
@endpush
@php
// `admin` guard — @can resolves the default guard and would always be
// false. Visibility only; the routes hold the real gate.
$me = auth('admin')->user();
$canEdit = $me?->can('campaign-groups.edit') ?? false;
$canDelete = $me?->can('campaign-groups.delete') ?? false;
@endphp
@section('content')
| {{ __('admin.campaign_groups.preview.col_name') }} | {{ __('admin.campaign_groups.preview.col_email') }} | {{ __('admin.campaign_groups.preview.col_phone') }} | Source |
|---|---|---|---|
| {{ $row['name'] ?? '—' }} | {{ $row['email'] ?? '—' }} | {{ $row['phone'] ?? '—' }} | CRM |
{{ __('admin.campaign_groups.preview.empty_hint') }}
| {{ __('admin.campaign_groups.preview.col_name') }} | {{ __('admin.campaign_groups.preview.col_email') }} | {{ __('admin.campaign_groups.preview.col_phone') }} | {{ __('admin.campaign_groups.preview.col_group') }} | {{ __('admin.campaign_groups.preview.col_status') }} |
|---|---|---|---|---|
| {{ $name ?: '—' }} | {{ $row->email ?: '—' }} | {{ $row->phone_number ?: '—' }} | {{ $row->group?->name ?: '—' }} | {{ app()->getLocale() === 'ar' ? ($row->statusOption?->name_ar ?: $row->statusOption?->name_en ?: '—') : ($row->statusOption?->name_en ?: $row->statusOption?->name_ar ?: '—') }} |
| ID | Source | Entity | Excluded at | By | |
|---|---|---|---|---|---|
| {{ $exclusion->external_id }} | {{ strtoupper($exclusion->source) }} | {{ $exclusion->entity_type }} | {{ $exclusion->excluded_at?->format('Y-m-d H:i') }} | {{ $exclusion->excludedBy?->name ?? '—' }} | @if($canEdit)@endif |
| {{ __('admin.campaign_groups.analytics.channels') }} | {{ __('admin.campaign_groups.analytics.successful') }} | {{ __('admin.campaign_groups.analytics.failed') }} | {{ __('admin.campaign_groups.analytics.pending') }} | {{ __('admin.campaign_groups.analytics.skipped') }} |
|---|---|---|---|---|
| {{ ucfirst($channel) }} | {{ $counts['successful'] }} | {{ $counts['failed'] }} | {{ $counts['pending'] }} | {{ $counts['skipped'] }} |
| {{ __('admin.campaign_groups.analytics.campaign') }} | {{ __('admin.campaign_groups.analytics.channels') }} | {{ __('admin.campaign_groups.analytics.status') }} | {{ __('admin.campaign_groups.analytics.resolved') }} | {{ __('admin.campaign_groups.analytics.successful') }} | {{ __('admin.campaign_groups.analytics.partial') }} | {{ __('admin.campaign_groups.analytics.failed') }} | {{ __('admin.campaign_groups.analytics.pending') }} | {{ __('admin.campaign_groups.analytics.skipped') }} | {{ __('admin.campaign_groups.analytics.executed') }} |
|---|---|---|---|---|---|---|---|---|---|
| {{ $campaign->title }} {{ $campaign->creator?->name }} |
{{ implode(', ', (array)$campaign->channels) }} | {{ $campaign->status }} | {{ $r['resolved'] }} | {{ $r['successful'] }} | {{ $r['partial'] }} | {{ $r['failed'] }} | {{ $r['pending'] }} | {{ $r['skipped'] }} | {{ ($campaign->sent_at ?? $campaign->created_at)?->format('Y-m-d H:i') }} |
{{ __('admin.campaign_groups.analytics.attribution') }}