From feecc61b43066d60a7136e17a49a01593b583ca3 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Mon, 7 Feb 2022 21:13:20 +0000 Subject: [PATCH] fix random phpstan errors --- .github/workflows/phpstan.yml | 2 +- .../AvatarProviders/Contracts/AvatarProvider.php | 4 ++-- .../src/AvatarProviders/UiAvatarsProvider.php | 3 ++- .../Commands/Concerns/CanGenerateResources.php | 6 +----- packages/admin/src/Http/Livewire/Auth/Login.php | 16 ++++------------ .../Middleware/MirrorConfigToSubpackages.php | 2 +- .../admin/src/Navigation/NavigationBuilder.php | 4 ++-- packages/admin/src/Pages/Page.php | 12 ++---------- .../ListRecords/Concerns/CanCreateRecords.php | 5 ----- .../ListRecords/Concerns/CanEditRecords.php | 5 ----- .../src/Components/BelongsToManyCheckboxList.php | 6 ------ .../src/Components/BelongsToManyMultiSelect.php | 6 ------ 12 files changed, 15 insertions(+), 56 deletions(-) diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index 3d4bc8f7a2..05acb8ce47 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ 8.1, 8.0 ] + php: [ 8.1, '8.0' ] laravel: [ 9.*, 8.* ] dependency-version: [ prefer-stable ] include: diff --git a/packages/admin/src/AvatarProviders/Contracts/AvatarProvider.php b/packages/admin/src/AvatarProviders/Contracts/AvatarProvider.php index ee8aaf7ed1..4cfd784a24 100644 --- a/packages/admin/src/AvatarProviders/Contracts/AvatarProvider.php +++ b/packages/admin/src/AvatarProviders/Contracts/AvatarProvider.php @@ -2,9 +2,9 @@ namespace Filament\AvatarProviders\Contracts; -use Illuminate\Contracts\Auth\Authenticatable; +use Illuminate\Database\Eloquent\Model; interface AvatarProvider { - public function get(Authenticatable $user): string; + public function get(Model $user): string; } diff --git a/packages/admin/src/AvatarProviders/UiAvatarsProvider.php b/packages/admin/src/AvatarProviders/UiAvatarsProvider.php index 652926f0fa..7cb91e679a 100644 --- a/packages/admin/src/AvatarProviders/UiAvatarsProvider.php +++ b/packages/admin/src/AvatarProviders/UiAvatarsProvider.php @@ -4,10 +4,11 @@ namespace Filament\AvatarProviders; use Filament\Facades\Filament; use Illuminate\Contracts\Auth\Authenticatable; +use Illuminate\Database\Eloquent\Model; class UiAvatarsProvider implements Contracts\AvatarProvider { - public function get(Authenticatable $user): string + public function get(Model $user): string { return 'https://ui-avatars.com/api/?name=' . urlencode(Filament::getUserName($user)) . '&color=FFFFFF&background=111827'; } diff --git a/packages/admin/src/Commands/Concerns/CanGenerateResources.php b/packages/admin/src/Commands/Concerns/CanGenerateResources.php index 629ca4c4ea..9e92904157 100644 --- a/packages/admin/src/Commands/Concerns/CanGenerateResources.php +++ b/packages/admin/src/Commands/Concerns/CanGenerateResources.php @@ -188,16 +188,12 @@ trait CanGenerateResources $model = app($model); - if (! ($model instanceof Model)) { - return null; - } - try { return $model ->getConnection() ->getDoctrineSchemaManager() ->listTableDetails($model->getTable()); - } catch (Throwable $e) { + } catch (Throwable $exception) { return null; } } diff --git a/packages/admin/src/Http/Livewire/Auth/Login.php b/packages/admin/src/Http/Livewire/Auth/Login.php index 2c789079d2..a61ce84f4f 100644 --- a/packages/admin/src/Http/Livewire/Auth/Login.php +++ b/packages/admin/src/Http/Livewire/Auth/Login.php @@ -80,17 +80,9 @@ class Login extends Component implements HasForms public function render(): View { - $view = view('filament::login'); - - /* - * Livewire uses a macro for the `layout()` method. - * - * @phpstan-ignore-next-line - */ - $view->layout('filament::components.layouts.base', [ - 'title' => __('filament::login.title'), - ]); - - return $view; + return view('filament::login') + ->layout('filament::components.layouts.base', [ + 'title' => __('filament::login.title'), + ]); } } diff --git a/packages/admin/src/Http/Middleware/MirrorConfigToSubpackages.php b/packages/admin/src/Http/Middleware/MirrorConfigToSubpackages.php index 7005ea615c..4495710e42 100644 --- a/packages/admin/src/Http/Middleware/MirrorConfigToSubpackages.php +++ b/packages/admin/src/Http/Middleware/MirrorConfigToSubpackages.php @@ -9,7 +9,7 @@ class MirrorConfigToSubpackages { public function handle(Request $request, Closure $next) { - $config = app()->config; + $config = config(); $darkMode = $config->get('filament.dark_mode'); $config->set('forms.dark_mode', $darkMode); diff --git a/packages/admin/src/Navigation/NavigationBuilder.php b/packages/admin/src/Navigation/NavigationBuilder.php index 0030958154..e475b689ff 100644 --- a/packages/admin/src/Navigation/NavigationBuilder.php +++ b/packages/admin/src/Navigation/NavigationBuilder.php @@ -12,8 +12,8 @@ class NavigationBuilder public function group(string $name, array $items = []): static { - $this->groups[$name] = collect($items)->each( - fn (NavigationItem $item, $i) => $item->group($name)->sort($i) + $this->groups[$name] = collect($items)->map( + fn (NavigationItem $item, int $index) => $item->group($name)->sort($index), )->toArray(); return $this; diff --git a/packages/admin/src/Pages/Page.php b/packages/admin/src/Pages/Page.php index 08c95e60f2..d317c05fa2 100644 --- a/packages/admin/src/Pages/Page.php +++ b/packages/admin/src/Pages/Page.php @@ -92,16 +92,8 @@ class Page extends Component implements Forms\Contracts\HasForms public function render(): View { - $view = view(static::$view, $this->getViewData()); - - /* - * Livewire uses a macro for the `layout()` method. - * - * @phpstan-ignore-next-line - */ - $view->layout(static::$layout, $this->getLayoutData()); - - return $view; + return view(static::$view, $this->getViewData()) + ->layout(static::$layout, $this->getLayoutData()); } protected function getBreadcrumbs(): array diff --git a/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanCreateRecords.php b/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanCreateRecords.php index feb7227899..8941a6fdea 100644 --- a/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanCreateRecords.php +++ b/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanCreateRecords.php @@ -41,11 +41,6 @@ trait CanCreateRecords ->action(fn () => $this->create()); } - protected function canCreate(): bool - { - return $this->can('create'); - } - protected function getCreateFormSchema(): array { return $this->getResourceForm()->getSchema(); diff --git a/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanEditRecords.php b/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanEditRecords.php index b92bd30eeb..b51d921f1c 100644 --- a/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanEditRecords.php +++ b/packages/admin/src/Resources/Pages/ListRecords/Concerns/CanEditRecords.php @@ -29,11 +29,6 @@ trait CanEditRecords ->action(fn () => $this->save()); } - protected function canEdit(Model $record): bool - { - return $this->can('update', $record); - } - protected function getEditFormSchema(): array { return $this->getResourceForm()->getSchema(); diff --git a/packages/forms/src/Components/BelongsToManyCheckboxList.php b/packages/forms/src/Components/BelongsToManyCheckboxList.php index 14c9adf6ac..e9f95b22c1 100644 --- a/packages/forms/src/Components/BelongsToManyCheckboxList.php +++ b/packages/forms/src/Components/BelongsToManyCheckboxList.php @@ -24,12 +24,6 @@ class BelongsToManyCheckboxList extends CheckboxList $relationship = $component->getRelationship(); $relatedModels = $relationship->getResults(); - if (! $relatedModels) { - $component->state([]); - - return; - } - $component->state( // Cast the related keys to a string, otherwise Livewire does not // know how to handle deselection. diff --git a/packages/forms/src/Components/BelongsToManyMultiSelect.php b/packages/forms/src/Components/BelongsToManyMultiSelect.php index bb2c7b1991..a1d79252a0 100644 --- a/packages/forms/src/Components/BelongsToManyMultiSelect.php +++ b/packages/forms/src/Components/BelongsToManyMultiSelect.php @@ -27,12 +27,6 @@ class BelongsToManyMultiSelect extends MultiSelect $relationship = $component->getRelationship(); $relatedModels = $relationship->getResults(); - if (! $relatedModels) { - $component->state([]); - - return; - } - $component->state( // Cast the related keys to a string, otherwise JavaScript does not // know how to handle deselection.