@props(['model', 'preview', 'catalog', 'id' => 'message-body', 'rows' => 6]) @php $namespaceLabels = ['target' => 'اطلاعات تارگت', 'workspace' => 'فضای کاری']; @endphp {{-- A message editor: the text, buttons that insert variables at the cursor, and a live preview with the SMS segment count. --}}
class(['space-y-2']) }} x-data="{ insert(token) { const el = this.$refs.field; const start = el.selectionStart ?? el.value.length; const end = el.selectionEnd ?? el.value.length; el.value = el.value.slice(0, start) + token + el.value.slice(end); el.selectionStart = el.selectionEnd = start + token.length; el.dispatchEvent(new Event('input', { bubbles: true })); el.focus(); } }" > @foreach ($catalog as $namespace => $variables)
{{ $namespaceLabels[$namespace] ?? $namespace }}: @foreach ($variables as $qualified => $label) @endforeach
@endforeach

برای مقدار جایگزین وقتی اطلاعاتی نیست بنویسید {target.first_name|همکار گرامی}. نام مخاطب را بدون «آقا/خانم» خطاب کنید؛ جنسیت مخاطب در سامانه ثبت نمی‌شود.

پیش‌نمایش با مقادیر نمونه {{ $preview['count']['length'] }} کاراکتر · {{ $preview['count']['segments'] }} پیامک

{{ $preview['text'] !== '' ? $preview['text'] : '—' }}

@if ($preview['unknown'] !== [])

متغیر ناشناخته: {{ collect($preview['unknown'])->map(fn ($v) => '{'.$v.'}')->implode('، ') }}

@endif @if ($preview['count']['segments'] > 1)

این متن بیش از یک پیامک محاسبه می‌شود (هر پیامک فارسی حدود {{ $preview['count']['per_segment'] }} کاراکتر). شمارش تقریبی است و ممکن است پنل شما کمی متفاوت حساب کند.

@endif