mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 00:34:44 +02:00
Top right user menu
This commit is contained in:
parent
a133503256
commit
b0067c4e4b
@ -6,6 +6,8 @@ use App\Exceptions\DisplayException;
|
|||||||
use App\Rules\Username;
|
use App\Rules\Username;
|
||||||
use App\Facades\Activity;
|
use App\Facades\Activity;
|
||||||
use Filament\Models\Contracts\FilamentUser;
|
use Filament\Models\Contracts\FilamentUser;
|
||||||
|
use Filament\Models\Contracts\HasAvatar;
|
||||||
|
use Filament\Models\Contracts\HasName;
|
||||||
use Filament\Panel;
|
use Filament\Panel;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Illuminate\Validation\Rules\In;
|
use Illuminate\Validation\Rules\In;
|
||||||
@ -81,7 +83,7 @@ use App\Notifications\SendPasswordReset as ResetPasswordNotification;
|
|||||||
*
|
*
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class User extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract, FilamentUser
|
class User extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract, FilamentUser, HasName, HasAvatar
|
||||||
{
|
{
|
||||||
use Authenticatable;
|
use Authenticatable;
|
||||||
use Authorizable {can as protected canned; }
|
use Authorizable {can as protected canned; }
|
||||||
@ -338,4 +340,14 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac
|
|||||||
{
|
{
|
||||||
return $this->root_admin;
|
return $this->root_admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getFilamentName(): string
|
||||||
|
{
|
||||||
|
return $this->name_first ?: $this->username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFilamentAvatarUrl(): ?string
|
||||||
|
{
|
||||||
|
return 'https://gravatar.com/avatar/' . md5(strtolower($this->email));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,13 @@ namespace App\Providers\Filament;
|
|||||||
use Filament\Http\Middleware\Authenticate;
|
use Filament\Http\Middleware\Authenticate;
|
||||||
use Filament\Http\Middleware\DisableBladeIconComponents;
|
use Filament\Http\Middleware\DisableBladeIconComponents;
|
||||||
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
use Filament\Http\Middleware\DispatchServingFilamentEvent;
|
||||||
|
use Filament\Navigation\MenuItem;
|
||||||
use Filament\Pages;
|
use Filament\Pages;
|
||||||
use Filament\Panel;
|
use Filament\Panel;
|
||||||
use Filament\PanelProvider;
|
use Filament\PanelProvider;
|
||||||
use Filament\Support\Colors\Color;
|
use Filament\Support\Colors\Color;
|
||||||
use Filament\Widgets;
|
use Filament\Widgets;
|
||||||
|
use Illuminate\Contracts\Auth\Guard;
|
||||||
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
||||||
use Illuminate\Cookie\Middleware\EncryptCookies;
|
use Illuminate\Cookie\Middleware\EncryptCookies;
|
||||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
|
||||||
@ -30,6 +32,11 @@ class AdminPanelProvider extends PanelProvider
|
|||||||
->brandName('Pelican')
|
->brandName('Pelican')
|
||||||
->homeUrl('/')
|
->homeUrl('/')
|
||||||
->favicon('/favicon.ico')
|
->favicon('/favicon.ico')
|
||||||
|
->userMenuItems([
|
||||||
|
'profile' => MenuItem::make()
|
||||||
|
->label('Edit profile')
|
||||||
|
->url(fn (Guard $guard) => '/panel/users/' . $guard->id() . '/edit'),
|
||||||
|
])
|
||||||
->colors([
|
->colors([
|
||||||
'danger' => Color::Red,
|
'danger' => Color::Red,
|
||||||
'gray' => Color::Zinc,
|
'gray' => Color::Zinc,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user