diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index 9a868023..4dba053c 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -8,7 +8,7 @@ on: jobs: carpenter: - name: Finalizing the stage (PHP 8.2 on ubuntu-latest) + name: Finalizing the stage (PHP 8.3 on ubuntu-latest) runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 @@ -16,13 +16,13 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.2' + php-version: '8.3' coverage: none - name: Install dependencies run: | composer config minimum-stability ${{ matrix.stability }} - composer install --no-interaction --dev + composer install --no-interaction - name: Run PHPStan run: ./vendor/bin/phpstan --error-format=github diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index e794403c..608875f8 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -15,7 +15,7 @@ jobs: matrix: stability: [dev] # "dev"| "alpha"| "beta"| "RC" | "stable" operating-system: [ubuntu-latest] # , windows-latest, macos-latest - php-versions: ['8.2'] #, '8.3' + php-versions: ['8.3'] services: mysql: @@ -46,7 +46,7 @@ jobs: - name: Install dependencies run: | composer config minimum-stability ${{ matrix.stability }} - composer install --no-interaction --dev + composer install --no-interaction - name: Execute tests env: diff --git a/.github/workflows/setup-in-laravel.yml b/.github/workflows/setup-in-laravel.yml index 26c715c0..91867d6f 100644 --- a/.github/workflows/setup-in-laravel.yml +++ b/.github/workflows/setup-in-laravel.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest] #, windows-latest, macos-latest - php-versions: ['8.2'] #, '8.3' + php-versions: ['8.3'] steps: - name: Checkout uses: actions/checkout@v5 @@ -59,6 +59,8 @@ jobs: run: | cd theater composer config minimum-stability dev - composer config repositories.cms vcs git@github.com:backstagephp/cms.git + git clone --branch ${{ steps.extract_branch.outputs.branch }} https://github.com/backstagephp/cms.git + composer config repositories.backstage-packages path "cms/packages/*" composer require backstage/cms:dev-${{ steps.extract_branch.outputs.branch }} + composer update --no-interaction php artisan backstage:install diff --git a/composer.json b/composer.json index 16081f38..9ee9f43e 100644 --- a/composer.json +++ b/composer.json @@ -37,9 +37,10 @@ } ], "require": { - "php": "^8.2", - "backstage/redirects": "dev-release/1.x", - "backstage/translations": "^0.4.1", + "php": "^8.3", + "backstage/fields": "self.version", + "backstage/media": "self.version", + "backstage/redirects": "self.version", "baspa/laravel-timezones": "^1.2", "codewithdennis/filament-select-tree": "^4.0", "filament/filament": "^4.0", @@ -50,18 +51,14 @@ "spatie/schema-org": "^3.23", "staudenmeir/laravel-adjacency-list": "^1.0" }, - "replace": { - "backstage/fields": "self.version", - "backstage/media": "self.version" - }, "require-dev": { "larastan/larastan": "^3.0", "laravel/pint": "^1.0", "nunomaduro/collision": "^8.0", "orchestra/testbench": "^9.0", - "pestphp/pest": "^3.7", - "pestphp/pest-plugin-arch": "^3.0", - "pestphp/pest-plugin-laravel": "^3.0", + "pestphp/pest": "^4.1", + "pestphp/pest-plugin-arch": "^4.0", + "pestphp/pest-plugin-laravel": "^4.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^2.0", "phpstan/phpstan-phpunit": "^2.0" @@ -117,6 +114,13 @@ } } }, + "repositories": [ + { + "type": "path", + "url": "packages/*", + "canonical": false + } + ], "minimum-stability": "dev", "prefer-stable": true } diff --git a/config/backstage/cms.php b/config/backstage/cms.php deleted file mode 100644 index f3c20853..00000000 --- a/config/backstage/cms.php +++ /dev/null @@ -1,53 +0,0 @@ - [ - 'default' => true, - - 'plugins' => [ - Backstage\Redirects\Filament\RedirectsPlugin::make(), - MediaPlugin::make(), - TranslationsPlugin::make(), - ], - - 'resources' => [ - Backstage\Resources\BlockResource::class, - Backstage\Resources\ContentResource::class, - Backstage\Resources\DomainResource::class, - Backstage\Resources\FieldResource::class, - Backstage\Resources\FormResource::class, - Backstage\Resources\FormSubmissionResource::class, - Backstage\Resources\MenuResource::class, - Backstage\Resources\LanguageResource::class, - Backstage\Resources\SettingResource::class, - Backstage\Resources\SiteResource::class, - Backstage\Resources\TagResource::class, - Backstage\Media\Resources\MediaResource::class, - // Backstage\Resources\TemplateResource::class, - Backstage\Resources\TypeResource::class, - Backstage\Resources\UserResource::class, - - Backstage\Translations\Filament\Resources\TranslationResource::class, - ], - - 'widgets' => [ - Backstage\Widgets\ContentUpdatesWidget::class, - Backstage\Widgets\FormSubmissionsWidget::class, - ], - ], - - 'components' => [ - 'blocks' => [ - Backstage\View\Components\Blocks\Heading::class, - Backstage\View\Components\Blocks\Paragraph::class, - Backstage\View\Components\Form::class, - ], - ], - - // Can be used to override the default file upload field user in Backstage. - // Example: 'default_file_upload_field' => \Backstage\Uploadcare\Forms\Components\Uploadcare::class, - 'default_file_upload_field' => \Backstage\Fields\Fields\FileUpload::class, -]; diff --git a/config/backstage/media.php b/config/backstage/media.php deleted file mode 100644 index 584bfdbd..00000000 --- a/config/backstage/media.php +++ /dev/null @@ -1,69 +0,0 @@ - [ - 'image/jpeg', - 'image/png', - 'image/webp', - 'image/svg+xml', - 'application/pdf', - ], - - 'directory' => 'media', - - 'disk' => env('FILAMENT_FILESYSTEM_DISK', 'public'), - - 'should_preserve_filenames' => false, - - 'should_register_navigation' => true, - - 'visibility' => 'public', - - /* - |-------------------------------------------------------------------------- - | Tenancy - |-------------------------------------------------------------------------- - | - */ - 'is_tenant_aware' => true, - 'tenant_ownership_relationship_name' => 'site', - 'tenant_relationship' => 'site', - 'tenant_model' => Site::class, - - /* - |-------------------------------------------------------------------------- - | Model and resource - |-------------------------------------------------------------------------- - | - */ - 'model' => \Backstage\Media\Models\Media::class, - - 'user_model' => User::class, - - 'resources' => [ - 'label' => 'Media', - 'plural_label' => 'Media', - 'navigation_group' => null, - 'navigation_label' => 'Media', - 'navigation_icon' => 'heroicon-o-photo', - 'navigation_sort' => null, - 'navigation_count_badge' => false, - 'resource' => \Backstage\Media\Resources\MediaResource::class, - ], - - 'file_upload' => [ - 'models' => [ - Content::class, - ], - ], -]; diff --git a/config/backstage/translations.php b/config/backstage/translations.php deleted file mode 100644 index 07c36c9d..00000000 --- a/config/backstage/translations.php +++ /dev/null @@ -1,12 +0,0 @@ - [ - 'language' => \Backstage\Translations\Filament\Resources\LanguageResource::class, - 'translation' => \Backstage\Translations\Filament\Resources\TranslationResource::class, - ], - - 'navigation' => [ - 'group' => 'Manage', - ], -]; diff --git a/packages/announcements/composer.json b/packages/announcements/composer.json index b31eb5d5..541e975d 100644 --- a/packages/announcements/composer.json +++ b/packages/announcements/composer.json @@ -21,7 +21,7 @@ } ], "require": { - "php": "^8.2", + "php": "^8.3", "filament/filament": "^4.0", "spatie/laravel-package-tools": "^1.15.0" }, @@ -30,7 +30,7 @@ "laravel/pint": "^1.0", "nunomaduro/collision": "^8.0", "orchestra/testbench": "^9.0|^10.0", - "pestphp/pest": "^3.0", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^3.0", "pestphp/pest-plugin-laravel": "^3.0", "pestphp/pest-plugin-livewire": "^3.0", diff --git a/packages/core/composer.json b/packages/core/composer.json index 4ec1d10c..14d63168 100644 --- a/packages/core/composer.json +++ b/packages/core/composer.json @@ -32,11 +32,10 @@ } ], "require": { - "php": "^8.2", - "backstage/fields": "^0.8.0", - "backstage/media": "^0", - "backstage/redirects": "dev-release/1.x", - "backstage/translations": "^0.4.1", + "php": "^8.3", + "backstage/fields": "self.version", + "backstage/media": "self.version", + "backstage/redirects": "self.version", "baspa/laravel-timezones": "^1.2", "codewithdennis/filament-select-tree": "^4.0", "filament/filament": "^4.0", @@ -49,15 +48,15 @@ }, "require-dev": { "larastan/larastan": "^3.0", - "laravel/pint": "^1.0", - "nunomaduro/collision": "^8.0", "orchestra/testbench": "^9.0", - "pestphp/pest": "^3.7", - "pestphp/pest-plugin-arch": "^3.0", - "pestphp/pest-plugin-laravel": "^3.0", + "pestphp/pest-plugin-arch": "^4.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^2.0", - "phpstan/phpstan-phpunit": "^2.0" + "phpstan/phpstan-phpunit": "^2.0", + "laravel/pint": "^1.24", + "nunomaduro/collision": "^8.6", + "pestphp/pest": "^4.1", + "pestphp/pest-plugin-laravel": "^4.0" }, "autoload": { "psr-4": { diff --git a/packages/core/config/backstage/cms.php b/packages/core/config/backstage/cms.php index f3c20853..4b1001c9 100644 --- a/packages/core/config/backstage/cms.php +++ b/packages/core/config/backstage/cms.php @@ -1,16 +1,13 @@ [ 'default' => true, 'plugins' => [ Backstage\Redirects\Filament\RedirectsPlugin::make(), - MediaPlugin::make(), - TranslationsPlugin::make(), + Backstage\Media\MediaPlugin::make(), + // Backstage\Translations\Filament\TranslationsPlugin::make(), ], 'resources' => [ @@ -29,8 +26,6 @@ // Backstage\Resources\TemplateResource::class, Backstage\Resources\TypeResource::class, Backstage\Resources\UserResource::class, - - Backstage\Translations\Filament\Resources\TranslationResource::class, ], 'widgets' => [ diff --git a/packages/core/config/backstage/translations.php b/packages/core/config/backstage/translations.php deleted file mode 100644 index 07c36c9d..00000000 --- a/packages/core/config/backstage/translations.php +++ /dev/null @@ -1,12 +0,0 @@ - [ - 'language' => \Backstage\Translations\Filament\Resources\LanguageResource::class, - 'translation' => \Backstage\Translations\Filament\Resources\TranslationResource::class, - ], - - 'navigation' => [ - 'group' => 'Manage', - ], -]; diff --git a/packages/core/src/Models/Language.php b/packages/core/src/Models/Language.php index a567cc71..33472b96 100644 --- a/packages/core/src/Models/Language.php +++ b/packages/core/src/Models/Language.php @@ -3,15 +3,44 @@ namespace Backstage\Models; use Backstage\Shared\HasPackageFactory; +use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; -class Language extends \Backstage\Translations\Laravel\Models\Language +class Language extends Model { use HasPackageFactory; + protected $table = 'languages'; + + protected $primaryKey = 'code'; + + protected $guarded = []; + + protected $keyType = 'string'; + + public $incrementing = false; + + protected $casts = [ + 'code' => 'string', + 'name' => 'string', + 'native' => 'string', + 'active' => 'boolean', + 'default' => 'boolean', + ]; + public function domains(): BelongsToMany { return $this->belongsToMany(Domain::class, 'domain_language', 'language_code', 'domain_ulid') ->withPivot('path'); } + + public static function default(): ?Language + { + return static::firstWhere('default', true); + } + + public function scopeActive($query) + { + return $query->where('active', true); + } } diff --git a/packages/core/src/Resources/LanguageResource.php b/packages/core/src/Resources/LanguageResource.php index d0c0e189..6f52aadf 100644 --- a/packages/core/src/Resources/LanguageResource.php +++ b/packages/core/src/Resources/LanguageResource.php @@ -3,8 +3,11 @@ namespace Backstage\Resources; use Backstage\Models\Language; +use Filament\Resources\Resource; -class LanguageResource extends \Backstage\Translations\Filament\Resources\LanguageResource +class LanguageResource extends Resource { protected static ?string $model = Language::class; + + protected static bool $isScopedToTenant = false; } diff --git a/packages/core/src/helpers.php b/packages/core/src/helpers.php index 7fb8926b..56536c65 100644 --- a/packages/core/src/helpers.php +++ b/packages/core/src/helpers.php @@ -32,3 +32,21 @@ function flag_path(string $code): string return dirname(base_path()) . '/cms/packages/core/resources/img/flags/' . $code . '.svg'; } } + +if (! function_exists('localized_country_name')) { + function localized_country_name(string $code, ?string $locale = null): string + { + $code = strtolower(explode('-', $code)[1] ?? $code); + + return Locale::getDisplayRegion('-' . $code, $locale ?? app()->getLocale()); + } +} + +if (! function_exists('localized_language_name')) { + function localized_language_name(string $code, ?string $locale = null): string + { + $code = strtolower(explode('-', $code)[0]); + + return Locale::getDisplayLanguage($code, $locale ?? app()->getLocale()); + } +} diff --git a/packages/fields/composer.json b/packages/fields/composer.json index ec116951..f1b15eb7 100644 --- a/packages/fields/composer.json +++ b/packages/fields/composer.json @@ -20,7 +20,7 @@ } ], "require": { - "php": "^8.2", + "php": "^8.3", "baspa/laravel-timezones": "^1.2", "filament/filament": "^4.0", "saade/filament-adjacency-list": "^4.0", @@ -32,7 +32,7 @@ "nunomaduro/collision": "^8.1.1||^7.10.0", "nunomaduro/larastan": "^3.0", "orchestra/testbench": "^9.0.0", - "pestphp/pest": "^2.34", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^2.0", "pestphp/pest-plugin-laravel": "^2.0", "phpstan/extension-installer": "^1.1", @@ -74,8 +74,6 @@ } } }, - "repositories": { - }, "minimum-stability": "beta", "prefer-stable": true } diff --git a/packages/filament-uploadcare-field/composer.json b/packages/filament-uploadcare-field/composer.json index 441b2b79..c1c6f26d 100644 --- a/packages/filament-uploadcare-field/composer.json +++ b/packages/filament-uploadcare-field/composer.json @@ -30,7 +30,7 @@ "laravel/pint": "^1.0", "nunomaduro/collision": "^8.8.0", "orchestra/testbench": "^9.0|^10.0", - "pestphp/pest": "^3.7", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^3.1.0", "pestphp/pest-plugin-laravel": "^3.0" }, diff --git a/packages/laravel-redirects/composer.json b/packages/laravel-redirects/composer.json index c586e19a..e15707ce 100644 --- a/packages/laravel-redirects/composer.json +++ b/packages/laravel-redirects/composer.json @@ -18,7 +18,7 @@ } ], "require": { - "php": "^8.2", + "php": "^8.3", "backstage/laravel-trailing-slash": "^0.1.0", "illuminate/contracts": "^10.0 || ^11.0 || ^12.0", "spatie/laravel-package-tools": "^1.16" @@ -28,7 +28,7 @@ "nunomaduro/collision": "^8.1.1 || ^7.10.0", "larastan/larastan": "^2.9", "orchestra/testbench": "^9.0.0 || ^8.22.0", - "pestphp/pest": "^2.34", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^2.7", "pestphp/pest-plugin-laravel": "^2.3", "phpstan/extension-installer": "^1.3", diff --git a/packages/laravel-translations/composer.json b/packages/laravel-translations/composer.json index 6fc1ad88..a65ac9d8 100644 --- a/packages/laravel-translations/composer.json +++ b/packages/laravel-translations/composer.json @@ -36,7 +36,7 @@ "nunomaduro/collision": "^8.1.1||^7.10.0", "larastan/larastan": "^3.7", "orchestra/testbench": "^9.0.0||^8.22.0", - "pestphp/pest": "^4.0", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^4.0", "pestphp/pest-plugin-laravel": "^4.0", "phpstan/extension-installer": "^1.3", diff --git a/packages/laravel-translations/src/helpers.php b/packages/laravel-translations/src/helpers.php index 1216bf11..ae12af9e 100644 --- a/packages/laravel-translations/src/helpers.php +++ b/packages/laravel-translations/src/helpers.php @@ -1,15 +1,19 @@ getLocale()); + return Locale::getDisplayRegion('-' . $code, $locale ?? app()->getLocale()); + } } -function localized_language_name(string $code, ?string $locale = null): string -{ - $code = strtolower(explode('-', $code)[0]); +if (! function_exists('localized_language_name')) { + function localized_language_name(string $code, ?string $locale = null): string + { + $code = strtolower(explode('-', $code)[0]); - return Locale::getDisplayLanguage($code, $locale ?? app()->getLocale()); + return Locale::getDisplayLanguage($code, $locale ?? app()->getLocale()); + } } diff --git a/packages/media/composer.json b/packages/media/composer.json index 73ec7bba..637a2404 100644 --- a/packages/media/composer.json +++ b/packages/media/composer.json @@ -20,22 +20,22 @@ } ], "require": { - "php": "^8.1", + "php": "^8.3", "filament/filament": "^4.0", "spatie/laravel-package-tools": "^1.15.0", - "backstage/fields": "^0.8.0" + "backstage/fields": "self.version" }, "require-dev": { - "laravel/pint": "^1.0", - "nunomaduro/collision": "^7.9|^8.0", "nunomaduro/larastan": "^2.0.1|^3.0", "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.1", - "pestphp/pest-plugin-arch": "^2.0", - "pestphp/pest-plugin-laravel": "^2.0", + "pestphp/pest-plugin-arch": "^4.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^2.0", - "phpstan/phpstan-phpunit": "^2.0" + "phpstan/phpstan-phpunit": "^2.0", + "laravel/pint": "^1.24", + "nunomaduro/collision": "^8.6", + "pestphp/pest": "^4.1", + "pestphp/pest-plugin-laravel": "^4.0" }, "autoload": { "psr-4": { @@ -73,18 +73,6 @@ } }, "repositories": { - "backstage/fields": { - "type": "git", - "url": "git@github.com:backstagephp/fields.git" - }, - "backstage/cms": { - "type": "git", - "url": "https://github.com/backstagephp/core.git" - }, - "saade/filament-adjacency-list": { - "type": "git", - "url": "git@github.com:backstagephp/filament-adjacency-list.git" - } }, "minimum-stability": "dev", "prefer-stable": true diff --git a/packages/redirects/composer.json b/packages/redirects/composer.json index 9bdbb563..456399db 100644 --- a/packages/redirects/composer.json +++ b/packages/redirects/composer.json @@ -20,22 +20,22 @@ } ], "require": { - "php": "^8.1", - "filament/filament": "^3.0", - "spatie/laravel-package-tools": "^1.15.0", - "backstage/laravel-redirects": "dev-main" + "php": "^8.3", + "backstage/laravel-redirects": "self.version", + "filament/filament": "^4.0", + "spatie/laravel-package-tools": "^1.15.0" }, "require-dev": { - "laravel/pint": "^1.0", - "nunomaduro/collision": "^7.9", - "larastan/larastan": "^2.0.1", - "orchestra/testbench": "^8.0", - "pestphp/pest": "^2.1", - "pestphp/pest-plugin-arch": "^2.0", - "pestphp/pest-plugin-laravel": "^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0" + "larastan/larastan": "^3", + "laravel/pint": "^1.24", + "nunomaduro/collision": "^8.6", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^4.1", + "pestphp/pest-plugin-arch": "^4.0", + "pestphp/pest-plugin-laravel": "^4.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0" }, "autoload": { "psr-4": { diff --git a/packages/redirects/src/Resources/RedirectResource.php b/packages/redirects/src/Resources/RedirectResource.php index 66e12f96..92102d07 100644 --- a/packages/redirects/src/Resources/RedirectResource.php +++ b/packages/redirects/src/Resources/RedirectResource.php @@ -2,15 +2,19 @@ namespace Backstage\Redirects\Filament\Resources; -use Backstage\Redirects\Filament\Resources\RedirectResource\Pages; +use Backstage\Redirects\Filament\Resources\RedirectResource\Pages\CreateRedirect; +use Backstage\Redirects\Filament\Resources\RedirectResource\Pages\EditRedirect; +use Backstage\Redirects\Filament\Resources\RedirectResource\Pages\ListRedirects; use Backstage\Redirects\Laravel\Models\Redirect; +use Filament\Actions\BulkActionGroup; +use Filament\Actions\DeleteBulkAction; +use Filament\Actions\EditAction; use Filament\Forms\Components\Select; -use Filament\Forms\Components\Tabs; -use Filament\Forms\Components\Tabs\Tab; use Filament\Forms\Components\TextInput; -use Filament\Forms\Form; use Filament\Resources\Resource; -use Filament\Tables; +use Filament\Schemas\Components\Tabs; +use Filament\Schemas\Components\Tabs\Tab; +use Filament\Schemas\Schema; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; @@ -26,7 +30,7 @@ public static function isScopedToTenant(): bool return config('backstage.redirects.scopesToTenant', false); } - protected static ?string $navigationIcon = 'heroicon-o-arrows-right-left'; + protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-arrows-right-left'; public static function getNavigationParentItem(): ?string { @@ -53,10 +57,10 @@ public static function getPluralModelLabel(): string return __('Redirects'); } - public static function form(Form $form): Form + public static function form(Schema $schema): Schema { - return $form - ->schema([ + return $schema + ->components([ Tabs::make('Tabs') ->columnSpanFull() ->tabs([ @@ -124,12 +128,12 @@ public static function table(Table $table): Table ->filters([ // ]) - ->actions([ - Tables\Actions\EditAction::make(), + ->recordActions([ + EditAction::make(), ]) - ->bulkActions([ - Tables\Actions\BulkActionGroup::make([ - Tables\Actions\DeleteBulkAction::make(), + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), ]), ]); } @@ -144,9 +148,9 @@ public static function getRelations(): array public static function getPages(): array { return [ - 'index' => Pages\ListRedirects::route('/'), - 'create' => Pages\CreateRedirect::route('/create'), - 'edit' => Pages\EditRedirect::route('/{record}/edit'), + 'index' => ListRedirects::route('/'), + 'create' => CreateRedirect::route('/create'), + 'edit' => EditRedirect::route('/{record}/edit'), ]; } } diff --git a/packages/redirects/src/Resources/RedirectResource/Pages/EditRedirect.php b/packages/redirects/src/Resources/RedirectResource/Pages/EditRedirect.php index ddfeb696..95d37344 100644 --- a/packages/redirects/src/Resources/RedirectResource/Pages/EditRedirect.php +++ b/packages/redirects/src/Resources/RedirectResource/Pages/EditRedirect.php @@ -3,7 +3,7 @@ namespace Backstage\Redirects\Filament\Resources\RedirectResource\Pages; use Backstage\Redirects\Filament\Resources\RedirectResource; -use Filament\Actions; +use Filament\Actions\DeleteAction; use Filament\Resources\Pages\EditRecord; class EditRedirect extends EditRecord @@ -13,7 +13,7 @@ class EditRedirect extends EditRecord protected function getHeaderActions(): array { return [ - Actions\DeleteAction::make(), + DeleteAction::make(), ]; } } diff --git a/packages/redirects/src/Resources/RedirectResource/Pages/ListRedirects.php b/packages/redirects/src/Resources/RedirectResource/Pages/ListRedirects.php index 682dc408..70194b22 100644 --- a/packages/redirects/src/Resources/RedirectResource/Pages/ListRedirects.php +++ b/packages/redirects/src/Resources/RedirectResource/Pages/ListRedirects.php @@ -5,14 +5,16 @@ use Backstage\Redirects\Filament\Imports\RedirectImporter; use Backstage\Redirects\Filament\Resources\RedirectResource; use Backstage\Redirects\Laravel\Models\Redirect; -use Filament\Actions; +use Filament\Actions\Action; use Filament\Actions\ActionGroup; +use Filament\Actions\CreateAction; +use Filament\Actions\ImportAction; use Filament\Facades\Filament; -use Filament\Forms\Components\Grid; use Filament\Forms\Components\Select; use Filament\Forms\Components\Textarea; use Filament\Resources\Pages\ListRecords; -use Filament\Support\Enums\ActionSize; +use Filament\Schemas\Components\Grid; +use Filament\Support\Enums\Size; class ListRedirects extends ListRecords { @@ -22,12 +24,12 @@ protected function getHeaderActions(): array { return [ ActionGroup::make([ - Actions\Action::make('import-paste') + Action::make('import-paste') ->label(__('Import by pasting text')) ->icon('heroicon-o-clipboard-document-list') ->modal() ->modalWidth('100%') - ->form([ + ->schema([ Grid::make([ 'default' => 12, ])->schema([ @@ -81,16 +83,16 @@ protected function getHeaderActions(): array ]); } }), - Actions\ImportAction::make('import-file') + ImportAction::make('import-file') ->label(__('Import by file')) ->icon('heroicon-o-arrow-up-on-square-stack') ->importer(RedirectImporter::class), ])->label(__('Import')) ->color('gray') ->icon('heroicon-o-arrow-up-tray') - ->size(ActionSize::Small) + ->size(Size::Small) ->button(), - Actions\CreateAction::make(), + CreateAction::make(), ]; } } diff --git a/packages/uploadcare-field/composer.json b/packages/uploadcare-field/composer.json index 340f40c0..7a47677b 100644 --- a/packages/uploadcare-field/composer.json +++ b/packages/uploadcare-field/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": "^8.2", + "php": "^8.3", "spatie/laravel-package-tools": "^1.16", "illuminate/contracts": "^10.0||^11.0||^12.0", "backstage/filament-uploadcare-field": "^1.1.0", @@ -27,7 +27,7 @@ "laravel/pint": "^1.14", "nunomaduro/collision": "^8.8.0", "orchestra/testbench": "^9.0|^10.0", - "pestphp/pest": "^3.7", + "pestphp/pest": "^4.1", "pestphp/pest-plugin-arch": "^3.1.0", "pestphp/pest-plugin-laravel": "^3.0" },