feat: Refactor Filament resources and fix tenant admin login

This commit is contained in:
2025-09-09 21:21:47 +02:00
parent 04ac85107c
commit 9da6803eaa
29 changed files with 627 additions and 459 deletions

View File

@@ -7,12 +7,15 @@ use App\Models\Event;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Filament\Actions;
use UnitEnum;
use BackedEnum;
class EventResource extends Resource
{
protected static ?string $model = Event::class;
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-calendar';
protected static string|\UnitEnum|null $navigationGroup = 'Platform';
protected static BackedEnum|string|null $navigationIcon = 'heroicon-o-calendar';
protected static UnitEnum|string|null $navigationGroup = 'Platform';
protected static ?int $navigationSort = 20;
public static function table(Table $table): Table
@@ -34,13 +37,12 @@ class EventResource extends Resource
])
->filters([])
->actions([
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
Tables\Actions\Action::make('toggle')
Actions\EditAction::make(),
Actions\Action::make('toggle')
->label('Toggle Active')
->icon('heroicon-o-power')
->action(fn($record) => $record->update(['is_active' => ! (bool)$record->is_active])),
Tables\Actions\Action::make('join_link')
->action(fn($record) => $record->update(['is_active' => !$record->is_active])),
Actions\Action::make('join_link')
->label('Join Link / QR')
->icon('heroicon-o-qr-code')
->modalHeading('Event Join Link')
@@ -50,9 +52,7 @@ class EventResource extends Resource
])),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
Actions\DeleteBulkAction::make(),
]);
}
@@ -64,26 +64,4 @@ class EventResource extends Resource
'edit' => Pages\EditEvent::route('/{record}/edit'),
];
}
}
namespace App\Filament\Resources\EventResource\Pages;
use App\Filament\Resources\EventResource;
use Filament\Resources\Pages\ListRecords;
use Filament\Resources\Pages\ViewRecord;
use Filament\Resources\Pages\EditRecord;
class ListEvents extends ListRecords
{
protected static string $resource = EventResource::class;
}
class ViewEvent extends ViewRecord
{
protected static string $resource = EventResource::class;
}
class EditEvent extends EditRecord
{
protected static string $resource = EventResource::class;
}
}