@extends('layouts.app') @section('content') @php $authUser = auth()->user(); $avatarInitial = fn($name) => strtoupper(substr(trim($name ?: 'U'), 0, 1)); $ticketUserName = $ticket->user?->name ?? 'Unknown User'; $ticketUserEmail = trim((string) ($ticket->user?->email ?? '')); $ticketUserPhone = trim((string) ($ticket->user?->phone_country_code ?? '') . ' ' . (string) ($ticket->user?->phone_no ?? '')); $chatLocked = !$canReplyToTicket || $ticket->status === 'closed'; $chatPlaceholder = $ticket->status === 'closed' ? 'Closed ticket cannot be updated' : ($canReplyToTicket ? 'Type message' : 'Only assigned admin can reply'); $latestSeenMessageId = optional($ticket->chats ->filter(fn ($chat) => (int) $chat->sender_id === (int) $authUser->id && $chat->is_seen && $chat->seen_at) ->last())->id; @endphp
{{ $avatarInitial($authUser->name) }}

{{ $authUser->name }}

Admin
@foreach ($sidebarTickets as $item) @php $unreadCount = $item->id == $ticket->id ? 0 : (int) ($item->unread_messages_count ?? 0); $latestMessage = trim((string) ($item->latestChat?->message ?? '')); $userName = trim((string) ($item->user?->name ?? 'User')); $userEmail = trim((string) ($item->user?->email ?? '')); $userPhone = trim((string) ($item->user?->phone_country_code ?? '') . ' ' . (string) ($item->user?->phone_no ?? '')); $searchText = strtolower(trim($userName . ' ' . $userEmail . ' ' . $userPhone . ' ' . preg_replace('/\D+/', '', $userPhone))); @endphp
{{ $avatarInitial($item->user->name ?? '') }}
{{ $userName }}
@if ($userEmail !== '')
{{ $userEmail }}
@endif @if ($userPhone !== '')
{{ $userPhone }}
@endif {{ $latestMessage !== '' ? \Illuminate\Support\Str::limit($latestMessage, 34) : $item->ticket_no }}
{{ optional($item->updated_at)->format('h:i A') }}
{{ $unreadCount }}
@endforeach
No matching users found.
{{ $ticketUserName }}
{{ $ticketUserEmail !== '' ? $ticketUserEmail : 'No email' }} @if ($ticketUserPhone !== '') |{{ $ticketUserPhone }} @endif
@foreach ($ticket->chats as $chat) @php $isMe = $chat->sender_id == $authUser->id; $showSeenTime = $isMe && (int) $chat->id === (int) $latestSeenMessageId && $chat->seen_at; @endphp
@if(!$isMe)
{{ $avatarInitial($chat->sender->name ?? '') }}
@endif

{{ $chat->sender->name ?? 'User' }}{{ $chat->created_at ? ', ' . $chat->created_at->format('d M, h:i A') : '' }}

{{ $chat->message ?: ($chat->attachment ? 'Attachment' : '') }}

@if($isMe)
{{ $showSeenTime ? 'Seen: ' . $chat->seen_at->format('d M, h:i A') : '' }}
@endif
@endforeach
@endsection