user()?->can('update', request()->route('project')) ?? false; } public Project $project; public function getWidgets(): array { return [ [ UpdateProject::class, ['project' => $this->project], ], [ AddUser::class, ['project' => $this->project], ], [ ProjectUsersList::class, ['project' => $this->project], ], ]; } public function getTitle(): string|Htmlable { return 'Project Settings'; } protected function getHeaderActions(): array { return [ DeleteAction::make() ->record($this->project) ->label('Delete Project') ->icon('heroicon-o-trash') ->modalHeading('Delete Project') ->modalDescription('Are you sure you want to delete this project? This action will delete all associated data and cannot be undone.') ->using(function (Project $record) { try { app(DeleteProject::class)->delete(auth()->user(), $record); $this->redirectRoute('filament.app.resources.projects.index'); } catch (Exception $e) { Notification::make() ->title($e->getMessage()) ->danger() ->send(); } }), ]; } }