share-lt/app/Filament/Resources/Entries/EntryResource.php
Jon Brookes 56607285bd feat: integrate Spatie Media Library (#4)
- Added Spatie Media Library
- Added media library configuration file
- Updated Entry model to support media handling
- Added featured image upload with gallery selection and preview
- Added login tests with Dusk for user authentication
- Added Dusk test for featured image selection

Co-authored-by: jon brookes <marshyon@gmail.com>
Reviewed-on: https://codeberg.org/headshed/share-lt/pulls/4
2026-01-06 13:26:55 +01:00

58 lines
1.6 KiB
PHP

<?php
namespace App\Filament\Resources\Entries;
use App\Filament\Resources\Entries\Pages\CreateEntry;
use App\Filament\Resources\Entries\Pages\EditEntry;
use App\Filament\Resources\Entries\Pages\ListEntries;
use App\Filament\Resources\Entries\Pages\ViewEntry;
use App\Filament\Resources\Entries\Schemas\EntryForm;
use App\Filament\Resources\Entries\Schemas\EntryInfolist;
use App\Filament\Resources\Entries\Tables\EntriesTable;
use App\Models\Entry;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
class EntryResource extends Resource
{
protected static ?string $model = Entry::class;
protected static string|BackedEnum|null $navigationIcon = Heroicon::PencilSquare;
protected static ?string $recordTitleAttribute = 'title';
public static function form(Schema $schema): Schema
{
return EntryForm::configure($schema);
}
public static function infolist(Schema $schema): Schema
{
return EntryInfolist::configure($schema);
}
public static function table(Table $table): Table
{
return EntriesTable::configure($table);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => ListEntries::route('/'),
'create' => CreateEntry::route('/create'),
'view' => ViewEntry::route('/{record}'),
'edit' => EditEntry::route('/{record}/edit'),
];
}
}