@props([ 'user' => null, 'size' => 'medium', 'label' => null, ]) @php $user = $user ?: auth()->user(); $name = $user?->name ?: 'User'; $initials = collect(preg_split('/\s+/', trim($name))) ->filter() ->take(2) ->map(fn ($part) => strtoupper(mb_substr($part, 0, 1))) ->implode('') ?: 'U'; $sizes = ['small', 'medium', 'large', 'xlarge', 'xxlarge']; $size = in_array($size, $sizes, true) ? $size : 'medium'; $avatarUrl = $user?->avatar_path ? route('user-profile.avatar', ['v' => $user->updated_at?->timestamp]) : null; @endphp class(['user-avatar', 'user-avatar--'.$size, 'user-avatar--image' => $avatarUrl]) }} @if ($label) role="img" aria-label="{{ $label }}" @else aria-hidden="true" @endif > @if ($avatarUrl) @else {{ $initials }} @endif