@extends('layouts.admin') @section('content')

Marketing consent

Newsletter

Manage double-opt-in subscribers and create email campaigns. Campaigns can be sent or scheduled directly; there is no separate approval queue.

Export active CSV
@foreach(['pending','active','unsubscribed'] as $state) {{ $state }}{{ $counts[$state]??0 }} @endforeach

Create campaign

Leave the schedule blank to create a draft you can send manually. Add a future date/time to have the scheduler send it when due.

@csrf

Campaigns

@forelse($campaigns as $campaign)

{{ $campaign->name }}

{{ str($campaign->status)->headline() }}

{{ $campaign->subject }}

{{ str($campaign->body)->limit(300) }}

@if($campaign->scheduled_for && $campaign->status!=='sent')

Scheduled for {{ $campaign->scheduled_for->toDayDateTimeString() }}

@endif @if($campaign->sent_at)

Sent {{ $campaign->sent_at->toDayDateTimeString() }} ยท {{ $campaign->recipient_count }} recipient(s)

@endif
@if($campaign->status!=='sent')
@csrf
@endif
@empty

No campaigns yet.

@endforelse

Subscribers

@forelse($subscribers as $subscriber) @empty@endforelse
EmailStatusRequestedConfirmedUnsubscribedSource
{{ $subscriber->email_encrypted }}{{ str($subscriber->status)->headline() }}{{ $subscriber->requested_at?->toDayDateTimeString() }}{{ $subscriber->confirmed_at?->toDayDateTimeString() }}{{ $subscriber->unsubscribed_at?->toDayDateTimeString() }}{{ $subscriber->source }}
No subscribers match this filter.
{{ $subscribers->links() }}
@endsection