@php use Illuminate\Support\Str; $isGroup = $conversation->type !== 'direct'; $contact = $conversation->otherParticipantFor($viewer); $latestMessage = $conversation->latestMessage; $lastReadAt = $conversation->pivot?->last_read_at; $unreadCount = $conversation->unreadCountFor($viewer); $displayName = $conversation->displayNameFor($viewer); $isUnread = $latestMessage && $latestMessage->user_id !== $viewer->id && (! $lastReadAt || $latestMessage->created_at?->gt($lastReadAt)); $searchText = implode(' ', [ $displayName, $conversation->description, $contact?->username, $contact?->email, $conversation->participants->pluck('username')->filter()->implode(' '), $conversation->participants->pluck('name')->filter()->implode(' '), $latestMessage?->body, ]); $previewText = $latestMessage ? (($latestMessage->user_id === $viewer->id ? 'Anda: ' : '') . Str::limit($latestMessage->body, 56)) : ($isGroup ? 'Grup baru dibuat.' : 'Belum ada pesan.'); $isPinned = $conversation->isPinnedFor($viewer); $isMuted = $conversation->isMutedFor($viewer); $isArchived = $conversation->isArchivedFor($viewer); @endphp