{{-- One comment or reply row — no `$isReply`/`$commentable`-driven "Répondre" affordance here any more: replying to a whole thread lives once in comment-thread.blade.php, after the thread's last visible item, so it can't accidentally target a reply as its parent (CommentThread::addReply() only accepts a root comment id). The edit textarea carries BOTH `x-ref` and `wire:ref` with the same name — two separate systems, not a typo. `$refs` inside a plain Alpine `@click` handler (the focus-on-open call below) resolves against Alpine's own `x-ref` registry; `$refs` inside a `wire:click` expression (reading the textarea's value to send to the server) resolves against Livewire's own `wire:ref` registry instead. Using only `x-ref` fails silently from `wire:click` with "Ref not found in component". --}}
{{ $comment->author?->initials ?? '?' }}
{{ $comment->author?->full_name ?? 'Utilisateur supprimé' }} {{ $comment->created_at->translatedFormat('j M · H:i') }} @if ($comment->wasEdited()) (modifié) @endif
@can('update', $comment) @endcan @can('delete', $comment) @endcan
{{-- `{!! !!}` volontaire : `MentionParser::highlight()` échappe le texte lui-même et n'ajoute que son propre balisage. --}}

{!! $this->renderedBody($comment) !!}