From 561aaa3ae08eac711c3e7f632e0c133160bc75ad Mon Sep 17 00:00:00 2001 From: Boy132 Date: Tue, 9 Sep 2025 15:34:20 +0200 Subject: [PATCH] fixes after v4 merge --- app/Contracts/Plugins/HasPluginSettings.php | 2 +- .../Admin/Resources/PluginResource.php | 34 ++++++++++--------- .../Pages/ListPlugins.php | 12 ++++--- app/Models/Plugin.php | 2 +- .../Filament/ServerPanelProvider.php | 1 + 5 files changed, 28 insertions(+), 23 deletions(-) rename app/Filament/Admin/Resources/{PluginResource => Plugins}/Pages/ListPlugins.php (65%) diff --git a/app/Contracts/Plugins/HasPluginSettings.php b/app/Contracts/Plugins/HasPluginSettings.php index 08fe65d9b..1ed556c6c 100644 --- a/app/Contracts/Plugins/HasPluginSettings.php +++ b/app/Contracts/Plugins/HasPluginSettings.php @@ -2,7 +2,7 @@ namespace App\Contracts\Plugins; -use Filament\Forms\Components\Component; +use Filament\Schemas\Components\Component; interface HasPluginSettings { diff --git a/app/Filament/Admin/Resources/PluginResource.php b/app/Filament/Admin/Resources/PluginResource.php index 21980f462..cf975d472 100644 --- a/app/Filament/Admin/Resources/PluginResource.php +++ b/app/Filament/Admin/Resources/PluginResource.php @@ -4,20 +4,20 @@ namespace App\Filament\Admin\Resources; use App\Enums\PluginCategory; use App\Facades\Plugins; -use App\Filament\Admin\Resources\PluginResource\Pages\ListPlugins; +use App\Filament\Admin\Resources\Plugins\Pages\ListPlugins; use App\Models\Plugin; use Exception; +use Filament\Actions\Action; +use Filament\Actions\CreateAction; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\Select; -use Filament\Forms\Components\Tabs; -use Filament\Forms\Components\Tabs\Tab; use Filament\Forms\Components\TagsInput; use Filament\Forms\Components\TextInput; -use Filament\Forms\Form; use Filament\Notifications\Notification; use Filament\Resources\Resource; -use Filament\Tables\Actions\Action; -use Filament\Tables\Actions\CreateAction; +use Filament\Schemas\Components\Tabs; +use Filament\Schemas\Components\Tabs\Tab; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Http\UploadedFile; @@ -27,7 +27,7 @@ class PluginResource extends Resource { protected static ?string $model = Plugin::class; - protected static ?string $navigationIcon = 'tabler-packages'; + protected static string|\BackedEnum|null $navigationIcon = 'tabler-packages'; protected static ?string $recordTitleAttribute = 'name'; @@ -48,7 +48,7 @@ class PluginResource extends Resource public static function getNavigationBadge(): ?string { - return static::getModel()::count() ?: null; + return (string) static::getEloquentQuery()->count() ?: null; } public static function table(Table $table): Table @@ -82,7 +82,7 @@ class PluginResource extends Resource ->tooltip(fn (Plugin $plugin) => $plugin->status_message) ->sortable(), ]) - ->actions([ + ->recordActions([ Action::make('view') ->label(trans('filament-actions::view.single.label')) ->icon('tabler-eye-share') @@ -95,7 +95,7 @@ class PluginResource extends Resource ->icon('tabler-settings') ->color('primary') ->visible(fn (Plugin $plugin) => $plugin->isEnabled() && $plugin->hasSettings()) - ->form(fn (Plugin $plugin) => $plugin->getSettingsForm()) + ->schema(fn (Plugin $plugin) => $plugin->getSettingsForm()) ->action(fn (array $data, Plugin $plugin) => $plugin->saveSettings($data)) ->slideOver(), Action::make('install') @@ -198,13 +198,14 @@ class PluginResource extends Resource }), Action::make('import') ->label(trans('admin/plugin.import')) - ->authorize(fn (Plugin $plugin) => auth()->user()->can('create', $plugin)) + ->authorize(fn () => auth()->user()->can('create', Plugin::class)) ->icon('tabler-download') - ->form([ + ->schema([ Tabs::make('Tabs') ->contained(false) ->tabs([ - Tab::make(trans('admin/plugin.from_file')) + Tab::make('from_file') + ->label(trans('admin/plugin.from_file')) ->icon('tabler-file-upload') ->schema([ FileUpload::make('file') @@ -213,7 +214,8 @@ class PluginResource extends Resource ->previewable(false) ->storeFiles(false), ]), - Tab::make(trans('admin/plugin.from_url')) + Tab::make('from_url') + ->label(trans('admin/plugin.from_url')) ->icon('tabler-world-upload') ->schema([ TextInput::make('url') @@ -254,9 +256,9 @@ class PluginResource extends Resource ->emptyStateHeading(trans('admin/plugin.no_plugins')); } - public static function form(Form $form): Form + public static function form(Schema $schema): Schema { - return $form + return $schema ->schema([ TextInput::make('name') ->required(), diff --git a/app/Filament/Admin/Resources/PluginResource/Pages/ListPlugins.php b/app/Filament/Admin/Resources/Plugins/Pages/ListPlugins.php similarity index 65% rename from app/Filament/Admin/Resources/PluginResource/Pages/ListPlugins.php rename to app/Filament/Admin/Resources/Plugins/Pages/ListPlugins.php index 9ad1e2f33..f75251069 100644 --- a/app/Filament/Admin/Resources/PluginResource/Pages/ListPlugins.php +++ b/app/Filament/Admin/Resources/Plugins/Pages/ListPlugins.php @@ -1,19 +1,19 @@ value] = Tab::make($category->getLabel()) + $tabs[$category->value] = Tab::make($category->value) + ->label($category->getLabel()) ->icon($category->getIcon()) ->badge(Plugin::whereCategory($category->value)->count()) ->modifyQueryUsing(fn ($query) => $query->whereCategory($category->value)); } - $tabs['all'] = Tab::make(trans('admin/plugin.all')) + $tabs['all'] = Tab::make('all') + ->label(trans('admin/plugin.all')) ->badge(Plugin::count()); return $tabs; diff --git a/app/Models/Plugin.php b/app/Models/Plugin.php index 16a0c53b3..b181373ef 100644 --- a/app/Models/Plugin.php +++ b/app/Models/Plugin.php @@ -6,7 +6,7 @@ use App\Contracts\Plugins\HasPluginSettings; use App\Enums\PluginCategory; use App\Enums\PluginStatus; use Exception; -use Filament\Forms\Components\Component; +use Filament\Schemas\Components\Component; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Arr; use Illuminate\Support\Str; diff --git a/app/Providers/Filament/ServerPanelProvider.php b/app/Providers/Filament/ServerPanelProvider.php index 9fdd3ae87..7361d45f9 100644 --- a/app/Providers/Filament/ServerPanelProvider.php +++ b/app/Providers/Filament/ServerPanelProvider.php @@ -6,6 +6,7 @@ use App\Filament\Admin\Resources\Servers\Pages\EditServer; use App\Filament\App\Resources\Servers\Pages\ListServers; use App\Http\Middleware\Activity\ServerSubject; use App\Models\Server; +use Filament\Actions\Action; use Filament\Facades\Filament; use Filament\Navigation\NavigationItem; use Filament\Panel;