@php /** @var \Illuminate\Support\Collection $broadcasts */ $statusBadge = [ 'completed' => 'bg-ink-900 text-paper-0', 'completed_with_errors' => 'bg-accent-amber/15 text-ink-800 border border-accent-amber/30', 'processing' => 'bg-wa-green/15 text-wa-deep border border-wa-green/30', 'scheduled' => 'bg-accent-amber/15 text-ink-800 border border-accent-amber/30', 'failed' => 'bg-accent-coral/15 text-accent-coral border border-accent-coral/30', ]; // Provider chip palette — same hues as /devices + /team-inbox so the // operator can recognise the engine at a glance across the app. $providerBadge = [ 'baileys' => ['Unofficial API', 'bg-ink-900/5 text-ink-700 border border-ink-200'], 'waba' => ['WABA', 'bg-wa-mint/40 text-wa-deep border border-wa-deep/20'], 'twilio' => ['Twilio', 'bg-[#F22F46]/10 text-[#A12534] border border-[#F22F46]/25'], ]; // Resolve template names in one batch so the rows don't N+1 against // wa_templates. Pre-fetch by the ids on this page. $tplIds = collect($broadcasts->items() ?? $broadcasts) ->pluck('template_id') ->filter() ->unique() ->all(); $tplNames = $tplIds ? \App\Models\WaTemplate::whereIn('id', $tplIds)->pluck('template_name', 'id')->all() : []; @endphp @forelse ($broadcasts as $b) @php $counts = $b->status_counts; $cls = $statusBadge[$b->status] ?? 'bg-paper-50 text-ink-700 border border-paper-200'; $prov = strtolower((string) ($b->provider ?? '')); [$provLabel, $provCls] = $providerBadge[$prov] ?? ['—', 'bg-paper-50 text-ink-500 border border-paper-200']; $tplName = $b->template_id ? $tplNames[$b->template_id] ?? 'Template #' . $b->template_id : null; @endphp