{{-- Livewire polling every 5 seconds --}}
{{-- ═══════════════════════════════════════════════════════════ --}} {{-- LEFT SIDEBAR - Chats List --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Header --}}

{{ __('tenant_admin.chat.chats') }}

{{-- Chats List --}}
@forelse($chats as $chat)
{{-- User Name --}}
@php $listUserAvatar = method_exists($chat->user, 'getFirstMediaUrl') && $chat->user->getFirstMediaUrl('profile') ? $chat->user->getFirstMediaUrl('profile') : \App\Helpers\Settings::userDefaultImage($chat->tenant_id); @endphp Avatar

{{ $chat->user->name }}

{{-- Unread Badge --}} @if ($chat->unread_count_admin > 0) {{ $chat->unread_count_admin }} @endif
{{-- Subject / Order --}} @if ($chat->subject || $chat->order)

{{ $chat->subject ?? __('tenant_admin.chat.order_number_prefix') . $chat->order?->order_number }}

@endif {{-- Last Message Preview --}} @if ($chat->lastMessage)
{{-- Show who sent last message --}} @if ($chat->lastMessage->is_from_admin) {{ __('tenant_admin.chat.you') }}: @endif

{{ Str::limit($chat->lastMessage->body, 40) }}

@endif
{{-- Status Badge --}}
{{ __('chat.enum_labels.' . $chat->status->value) }} {{-- Time --}} {{ $chat->last_message_at?->diffForHumans() ?? __('tenant_admin.chat.no_messages_yet') }}
{{-- Priority Indicator --}} @if ($chat->priority->value === 'urgent')
{{ __('chat.enum_labels.urgent') }}
@endif
@empty

{{ __('tenant_admin.chat.no_chats_found') }}

@endforelse
{{-- ═══════════════════════════════════════════════════════════ --}} {{-- RIGHT SIDE - Chat Window --}} {{-- ═══════════════════════════════════════════════════════════ --}}
@if ($selectedChat) {{-- Chat Header --}}
{{-- User Avatar --}} @php $userAvatar = method_exists($selectedChat->user, 'getFirstMediaUrl') && $selectedChat->user->getFirstMediaUrl('profile') ? $selectedChat->user->getFirstMediaUrl('profile') : \App\Helpers\Settings::userDefaultImage($selectedChat->tenant_id); @endphp {{ $selectedChat->user->name }}

{{ $selectedChat->user->name }}

{{ $selectedChat->subject ?? ($selectedChat->order ? __('tenant_admin.chat.order_number_prefix') . $selectedChat->order->order_number : __('tenant_admin.chat.general_chat')) }}

{{-- Actions --}}
{{-- Assign Dropdown --}} {{-- Priority Dropdown --}} {{-- Status Dropdown --}}
{{-- Messages Area --}}
@foreach ($messages as $message) @if ($message->type === 'system') {{-- System Message --}}

{{ $message->body }}

{{ $message->created_at->format('h:i A') }}

@else {{-- Regular Message --}}
{{-- Wrapper: flex row with avatar + bubble, reversed for mine --}}
{{-- Avatar --}}
@if (!$message->is_mine) @php $senderAvatar = method_exists($message->sender, 'getFirstMediaUrl') && $message->sender->getFirstMediaUrl('profile') ? $message->sender->getFirstMediaUrl('profile') : \App\Helpers\Settings::userDefaultImage( $message->tenant_id, ); @endphp Avatar @else
{{ __('tenant_admin.chat.you') }}
@endif
{{-- Bubble Column --}}
{{-- Sender Name (only for user messages) --}} @if (!$message->is_mine)

{{ $message->sender->name }}

@endif {{-- The Bubble itself --}} @php $isOnlyMedia = empty($message->body) && $message->hasMedia('attachments'); @endphp
@if (!empty($message->body))

{{ $message->body }}

@endif {{-- Attachments --}} @if ($message->hasMedia('attachments'))
@foreach ($message->getMedia('attachments') as $attachment) @if (str_starts_with($attachment->mime_type, 'image/')) Attachment @else {{ $attachment->file_name }} @endif @endforeach
@endif
{{-- Timestamp + Read tick --}}

{{ $message->created_at->format('h:i A') }}

@if ($message->is_mine && $message->is_read) @elseif($message->is_mine) @endif
@endif @endforeach
{{-- Message Input --}}
{{-- Attachment previews --}} @if (!empty($attachments))
@foreach ($attachments as $index => $attachment)
{{ $attachment->getClientOriginalName() }}
@endforeach
@endif
{{-- Attachment Button --}}
{{-- Text Input --}}

{{ __('tenant_admin.chat.input_hint') }}

{{-- Send Button --}}
@else {{-- No Chat Selected --}}

{{ __('tenant_admin.chat.select_chat_to_start') }}

{{ __('tenant_admin.chat.polling_hint') }}

@endif
{{-- Auto-scroll + Enter key JavaScript --}} @script @endscript