36 lines
841 B
PHP
36 lines
841 B
PHP
<?php
|
|
|
|
namespace App\Services\Frontend;
|
|
|
|
use App\Models\User;
|
|
|
|
class ProfileIconService
|
|
{
|
|
public function buildForUser(int $userId): array
|
|
{
|
|
$user = User::query()->find($userId);
|
|
if (!$user) {
|
|
return [
|
|
'userName' => 'User not found',
|
|
'userInitials' => '??',
|
|
];
|
|
}
|
|
|
|
$firstname = (string) ($user->firstname ?? '');
|
|
$lastname = (string) ($user->lastname ?? '');
|
|
|
|
$initials = '';
|
|
if ($firstname !== '') {
|
|
$initials .= strtoupper($firstname[0]);
|
|
}
|
|
if ($lastname !== '') {
|
|
$initials .= strtoupper($lastname[0]);
|
|
}
|
|
|
|
return [
|
|
'userName' => trim($firstname . ' ' . $lastname),
|
|
'userInitials' => $initials !== '' ? $initials : '??',
|
|
];
|
|
}
|
|
}
|