@unless ($mailConfigured)
{{ __('Outgoing mail is not configured yet — emails will not be delivered until you set up SMTP.') }} {{ __('Configure SMTP') }}
@endunless
{{-- ── Catalogue ──────────────────────────────────────────────────── --}}
@foreach ($groups as $group)
{{ $group['label'] }}
@foreach ($group['templates'] as $key => $t) @endforeach @endforeach
{{-- ── Editor + live preview ──────────────────────────────────────── --}}
{{-- Editor (2/5) --}}

{{ $meta['label'] ?? '' }}

@if ($customised) {{ __('Customised') }} @endif

{{ $meta['description'] ?? '' }}

@error('subject')

{{ $message }}

@enderror
@error('heading')

{{ $message }}

@enderror
@error('intro')

{{ $message }}

@enderror
{{-- The placeholders this template understands. --}}

{{ __('Available placeholders') }}

@foreach ($variables as $var) {{ '{'.$var.'}' }} @endforeach
@error('testTo')

{{ $message }}

@enderror
{{-- Live preview (3/5) — the exact HTML the recipient receives, rendered through RfMail so it can never drift from the real message. An Alpine component scales the 600-px email to the available column width so it never overflows horizontally. --}}
{{-- Card header --}}
{{ __('Live preview') }} {{ __('Live') }}
{{-- Outer shell: mimics a desktop email client pane --}}
{{-- Email-client "chrome" — realistic From / Subject row --}}
{{-- Sender avatar. Brand::name() — not config('app.name') — because APP_NAME is frozen at install time: after a rebrand this preview kept showing the installer's name while the real email already went out under the new one. --}} @php $mailBrand = \App\Support\Brand::name(); @endphp
{{ mb_strtoupper(mb_substr($mailBrand, 0, 2)) }}

{{ $mailBrand }}

{{ __('to') }}: customer@example.com

{{ rf_datetime(now()) }}

{{ __('Subject') }} {{ $subject }}
{{-- Scaled email body — never overflows horizontally. The wrapper has width:100% so ResizeObserver correctly measures the column width (not the 600px iframe). --}}