recalled_at) data-recalled="1" @endif
@if($m->encrypted && !$m->recalled_at)
data-encrypted="1" data-body="{{ $m->body }}" data-iv="{{ $m->iv }}" data-key-version="{{ $m->key_version }}"
@endif
>
@if($m->direction !== 'outbound')
@if($conversation->isGroup() && $m->direction !== 'outbound')
{{ $senderName }}
@endif
@if($m->recalled_at)
此訊息已收回
@else
@if($m->reply_to)
reply_to['encrypted'] && !$m->reply_to['recalled'])
data-reply-encrypted="1" data-reply-type="{{ $m->reply_to['type'] }}" data-reply-body="{{ $m->reply_to['body'] }}" data-reply-iv="{{ $m->reply_to['iv'] }}" data-reply-key-version="{{ $m->reply_to['key_version'] }}"
@endif
>
@php($replySenderName = $m->reply_to['direction'] === 'outbound' ? '你' : ($conversation->isGroup() ? ($participantNames->get($m->reply_to['from_federated_id'])['name'] ?? $m->reply_to['from_federated_id']) : ($contact->name ?? '對方')))
{{ $replySenderName }}
@if($m->reply_to['recalled'])
此訊息已收回
@elseif($m->reply_to['encrypted'])
解密中…
@else
{{ match($m->reply_to['type']) { 'image' => '[圖片]', 'sticker' => '[貼圖]', 'location' => '[位置]', default => \Illuminate\Support\Str::limit($m->reply_to['body'], 60) } }}
@endif
@endif
@if($m->encrypted)
解密中…
@elseif($m->type === 'image')

@elseif($m->type === 'sticker')

@elseif($m->type === 'location')
@php($loc = json_decode($m->body ?? '{}', true))
查看位置
@else
{{ $m->body }}
@endif
@endif
@if($m->direction === 'outbound' && !$m->recalled_at)
@if($conversation->isGroup())
@if(count($groupReadStates) > 0)
{{ $readCount }}/{{ count($groupReadStates) }} 已讀 ·
@endif
@else
{{ ($peerReadAt && $m->created_at->lte($peerReadAt)) ? '已讀' : '未讀' }} ·
@endif
@endif
{{ $m->created_at->format('H:i') }}
@if($m->edited_at && !$m->recalled_at) · 已編輯 @endif