Skip to main content

General

User Identity code

Copy the implementation or inspect every file that belongs to this component unit.

resources/views/components/ui/user-identity.blade.php

@props([
    'name',
    'email' => null,
    'avatar' => null,
    'self' => false,
    'size' => 'base',
])

@php
    /*
    | Compact user identity block for tables and lists.
    |
    | Usage:
    |   <x-ui.user-identity
    |       :name="$user->fullName()"
    |       :email="$user->email"
    |       :avatar="$user"
    |       :self="$user->is(auth()->user())"
    |   />
    |
    | Pass an Eloquent User as `avatar` to render initials/background automatically.
    */
    $avatarUser = is_object($avatar) ? $avatar : null;
@endphp

<div {{ $attributes->merge(['class' => 'flex items-center gap-3']) }}>
    <x-ui.avatar
        :name="$name"
        :src="is_string($avatar) ? $avatar : null"
        :initials="$avatarUser?->avatarInitials()"
        :background="$avatarUser?->avatarBackground()"
        :color="$avatarUser?->avatar_character_color"
        :size="$size"
    />

    <div class="min-w-0">
        <div class="flex items-center gap-2">
            <p class="truncate text-sm font-semibold text-gray-900 dark:text-white">{{ $name }}</p>
            @if ($self)
                <x-ui.badge variant="gray" size="sm">You</x-ui.badge>
            @endif
        </div>

        @if ($email)
            <p class="truncate text-sm text-gray-500 dark:text-gray-400">{{ $email }}</p>
        @endif
    </div>
</div>