Files
amare/app/Filament/Resources/PortfolioCases/PortfolioCaseResource.php
manoel freitas 8da8d19504 feat: CMS de conteúdo do site (WEB-02/03/04/06)
Implementa gestão Filament de configurações, serviços, portfólio e depoimentos com policies admin-only, upload validado e seed determinístico.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 23:16:25 -03:00

66 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Filament\Resources\PortfolioCases;
use App\Filament\Resources\PortfolioCases\Pages\CreatePortfolioCase;
use App\Filament\Resources\PortfolioCases\Pages\EditPortfolioCase;
use App\Filament\Resources\PortfolioCases\Pages\ListPortfolioCases;
use App\Filament\Resources\PortfolioCases\RelationManagers\ImagesRelationManager;
use App\Filament\Resources\PortfolioCases\Schemas\PortfolioCaseForm;
use App\Filament\Resources\PortfolioCases\Tables\PortfolioCasesTable;
use App\Models\PortfolioCase;
use App\Policies\PortfolioCasePolicy;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
use UnitEnum;
class PortfolioCaseResource extends Resource
{
protected static ?string $model = PortfolioCase::class;
protected static ?string $policy = PortfolioCasePolicy::class;
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedPhoto;
protected static ?string $navigationLabel = 'Portfólio';
protected static ?string $modelLabel = 'caso';
protected static ?string $pluralModelLabel = 'portfólio';
protected static string|UnitEnum|null $navigationGroup = 'Conteúdo do site';
protected static ?int $navigationSort = 3;
public static function form(Schema $schema): Schema
{
return PortfolioCaseForm::configure($schema);
}
public static function table(Table $table): Table
{
return PortfolioCasesTable::configure($table);
}
public static function getRelations(): array
{
return [
ImagesRelationManager::class,
];
}
public static function getPages(): array
{
return [
'index' => ListPortfolioCases::route('/'),
'create' => CreatePortfolioCase::route('/create'),
'edit' => EditPortfolioCase::route('/{record}/edit'),
];
}
}