{{-- Mode tabs --}}
@if($conversationChannel === 'email') @endif
{{-- CC/BCC fields (email conversations only) --}} @if($mode !== 'note' && $showCcBcc && $conversationChannel === 'email')
@endif {{-- AI Write Prompt --}} @if($showAiWritePrompt)
{{ __('AI Write') }}
@endif {{-- AI Suggestion --}} @if($showAiSuggestion && $aiSuggestion)
{{ __('AI Suggestion') }}

{{ $aiSuggestion }}

@endif {{-- AI loading --}} @if($aiLoading)
{{ __('Generating AI suggestion...') }}
@endif {{-- Canned responses dropdown --}} @if($showCannedResponses && $cannedResponses->isNotEmpty())
@foreach($cannedResponses as $canned) @endforeach
@endif {{-- Composer area. NOTE: no `overflow-hidden` on the editor card — that used to clip the AI-zap and Schedule popovers (which open upwards via `absolute bottom-full`) inside the card, making the menu appear to overlap the typing area. The popovers now float freely above the toolbar. --}}
@if($mode === 'note')
{{ __('Internal note (not sent to customer)') }}
@endif {{-- Quill Rich Text Editor --}}
{{-- Toolbar --}}
{{-- Editor --}}
{{-- Attachments preview --}} @if(!empty($attachments))
@foreach($attachments as $index => $file)
{{ $file->getClientOriginalName() }}
@endforeach
@endif {{-- Schedule popover lives down with the clock-icon button (rendered absolutely just above it) so opening the schedule doesn't push Send / Send & Close to a new line and break their alignment. --}} {{-- Toolbar — padded on every side so the Send / Send & Close buttons sit centred in the strip with equal breathing room above, below, and on the sides, instead of hugging the card's bottom edge. --}}
{{-- Attach file — only channels that support media attachments. SMS / Slack / Telegram replies in this composer are text-only, so the paperclip (the "pin" icon) is hidden there. --}} @if($mode === 'note' || in_array($conversationChannel, ['email', 'whatsapp'])) @endif {{-- CC/BCC toggle (email only). The "person" icon doesn't apply to SMS / WhatsApp / Slack / Telegram replies — those have one recipient determined by the conversation. --}} @if($mode !== 'note' && $conversationChannel === 'email') @endif {{-- AI Dropdown --}}
{{-- AI Menu Dropdown --}}
{{-- Schedule send — clock button + floating popover. The popover is `absolute bottom-full left-0` so opening it does NOT shift Send / Send & Close downward like the previous inline block did. --}} @if($mode !== 'note')
@if($showSchedule)

{{ __('Schedule send') }}

{{ __('Scheduled messages may be delayed by 1-2 minutes.') }}

@endif
@endif
{{-- Send and close --}} @if($mode === 'reply') @endif {{-- Primary send. We route the click through Alpine so we can pass the current conversation id from `window.__activeConversationId` as a fallback argument. The Livewire send() method only adopts it if its own conversationId is genuinely null, which fixes the intermittent "aborted - no conversation" bug where the listener missed the last select. --}}
{{-- Upload errors --}} @error('attachments.*')

{{ $message }}

@enderror {{-- Undo Send Bar --}} @if($showUndoBar)
{{ __('Email sending in') }} {{ __('s...') }}
@endif