user()?->can('viewAny', User::class) ?? false; } /** * @return array> */ public function getWidgets(): array { return [ [Widgets\UsersList::class], ]; } protected function getHeaderActions(): array { return [ CreateAction::make('create') ->label('Create User') ->icon('heroicon-o-plus') ->authorize('create', User::class) ->action(function (array $data) { $user = app(CreateUser::class)->create($data); $this->dispatch('$refresh'); return $user; }) ->form(function (Form $form): \Filament\Forms\Form { $rules = CreateUser::rules(); return $form ->schema([ TextInput::make('name') ->rules($rules['name']), TextInput::make('email') ->rules($rules['email']), TextInput::make('password') ->rules($rules['password']), Select::make('role') ->rules($rules['role']) ->options(collect((array) config('core.user_roles'))->mapWithKeys(fn ($role) => [$role => $role])), ]) ->columns(1); }) ->modalWidth(MaxWidth::Large), ]; } }