Components

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)
]),
 
//...
]);
}
}

profile profile_dark

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")