System component Profile

# Make

The system component Profile is used to display information about an authorized user in MoonShine.

You can create a Profile using the static method make() class Profile.

make(
?string $route = null,
?string $logOutRoute = null,
Closure|false|null|string $avatar = null,
Closure|null|string $nameOfUser = null,
Closure|null|string $username = null,
bool $withBorder = false,
?string $guard = null
)
  • $route - profile page route,
  • $logOutRoute - route for logout
  • $avatar - user avatar
  • $nameOfUser - user name
  • $username - username (email|login|tel ...),
  • $withBorder - split before the component
  • $guard - used by Guard for user authorization.
namespace App\MoonShine;
 
use MoonShine\Components\Layout\LayoutBlock;
use MoonShine\Components\Layout\LayoutBuilder;
use MoonShine\Components\Layout\Menu;
use MoonShine\Components\Layout\Profile;
use MoonShine\Components\Layout\Sidebar;
use MoonShine\Contracts\MoonShineLayoutContract;
 
final class MoonShineLayout implements MoonShineLayoutContract
{
public static function build(): LayoutBuilder
{
return LayoutBuilder::make([
Sidebar::make([
Menu::make()->customAttributes(['class' => 'mt-2']),
Profile::make(withBorder: true)
]),
 
//...
]);
}
}

# Default avatar

The defaultAvatar() method allows you to override the default profile avatar.

defaultAvatar(string $url)
  • $url - default avatar url.
use MoonShine\Components\Layout\Profile;
 
//...
 
Profile::make()
->defaultAvatar("https://ui-avatars.com/api/?name=$name")