@php $isSameAsNext = ($message?->sendable_id === $nextMessage?->sendable_id) && ($message?->sendable_type === $nextMessage?->sendable_type); $isNotSameAsNext = !$isSameAsNext; $isSameAsPrevious = ($message?->sendable_id === $previousMessage?->sendable_id) && ($message?->sendable_type === $previousMessage?->sendable_type); $isNotSameAsPrevious = !$isSameAsPrevious; @endphp @php $isQr = str_starts_with($attachment?->mime_type ?? '', 'image/svg'); $appUrl = rtrim(config('app.url'), '/'); $msgBody = trim($message?->body ?? ''); $transactionLinkPattern = '#^' . preg_quote($appUrl, '#') . '/[a-z]{2}/[a-z\-]+/(\d+)$#'; $isTransactionBody = $isQr && preg_match($transactionLinkPattern, $msgBody, $qrMatches); $transactionLinkId = $isTransactionBody ? $qrMatches[1] : null; $attachmentUrl = $attachment ? route('wirechat.attachment.serve', $attachment) : null; @endphp
@if ($isQr)
($isSameAsNext && $isNotSameAsPrevious && $belongsToAuth), 'rounded-r-md' => ($isSameAsPrevious && $belongsToAuth), 'rounded-br-xl rounded-r-xl' => ($isNotSameAsPrevious && $isNotSameAsNext && $belongsToAuth), 'rounded-br-2xl' => ($isNotSameAsNext && $belongsToAuth), 'rounded-bl-md rounded-tl-2xl' => ($isSameAsNext && $isNotSameAsPrevious && !$belongsToAuth), 'rounded-l-md' => ($isSameAsPrevious && !$belongsToAuth), 'rounded-bl-xl rounded-l-xl' => ($isNotSameAsPrevious && $isNotSameAsNext && !$belongsToAuth), 'rounded-bl-2xl' => ($isNotSameAsNext && !$belongsToAuth), ])>
@else ($isSameAsNext && $isNotSameAsPrevious && $belongsToAuth), 'rounded-r-md' => ($isSameAsPrevious && $belongsToAuth), 'rounded-br-xl rounded-r-xl' => ($isNotSameAsPrevious && $isNotSameAsNext && $belongsToAuth), 'rounded-br-2xl' => ($isNotSameAsNext && $belongsToAuth), 'rounded-bl-md rounded-tl-2xl' => ($isSameAsNext && $isNotSameAsPrevious && !$belongsToAuth), 'rounded-l-md' => ($isSameAsPrevious && !$belongsToAuth), 'rounded-bl-xl rounded-l-xl' => ($isNotSameAsPrevious && $isNotSameAsNext && !$belongsToAuth), 'rounded-bl-2xl' => ($isNotSameAsNext && !$belongsToAuth), ]) loading="lazy" src="{{ $attachmentUrl }}" alt="{{ __('wirechat::chat.labels.attachment') }}" @click="open = true"> @endif {{-- Fullscreen lightbox --}}