@extends('layouts.admin') @section('title', $campaign->exists ? 'Edit SMS' : 'New SMS') @section('admin') @php $action = $campaign->exists ? route('admin.sms-campaigns.update', $campaign) : route('admin.sms-campaigns.store'); $tzList = ['UTC','America/Denver','America/Los_Angeles','America/Chicago','America/New_York','Europe/London','Europe/Berlin','Asia/Tokyo']; @endphp
@include('admin._nav')

{{ $campaign->exists ? 'Edit SMS Campaign' : 'New SMS Campaign' }}

@if($campaign->exists) {{ $campaign->status }} @endif
@if(session('status'))
{{ session('status') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($errors->any())
@endif
@csrf @if($campaign->exists)@method('PUT')@endif
/ chars · segments

"Reply STOP to opt out." is appended automatically if not present. Stay under 160 GSM-7 chars to fit in one SMS segment (or 70 chars for emoji/UCS-2).

⚠ Non-GSM characters detected (likely emoji or curly quotes) — switching to UCS-2 reduces capacity to 70 chars/segment.
Include tags
Exclude tags
Cancel
@if($campaign->exists)
@csrf
@csrf
@csrf
@csrf
@csrf Sends to a single Twilio-verified number using the saved body.
Status: {{ $campaign->status }} · Sent: {{ $campaign->sent_count }} · Failed: {{ $campaign->failed_count }} · Delivered: {{ $campaign->delivered_count }} / {{ $campaign->total_recipients }} @if($campaign->segment_count) · Cost estimate: {{ $campaign->segment_count }} segment{{ $campaign->segment_count===1?'':'s' }}/recipient @endif
@endif
@endsection