columns([ TextColumn::make('id'), TextColumn::make('title'), TextColumn::make('end'), ]) ->filters([ // ]) ->recordActions([ EditAction::make() ->visible(function ($record) { return Filament::getCurrentOrDefaultPanel()?->getId() === 'admin'; }), Action::make('apply') ->schema([ RichEditor::make('description') ->columnSpanFull(), FileUpload::make('document') ->label('CV') ->preserveFilenames() ->acceptedFileTypes([ 'image/png', 'application/pdf', ]) ->required() ->helperText('allowed file types are: pdf, png'), ]) ->button() ->action(function (Position $record, array $data) { Application::create([ 'position_id' => $record->id, 'user_id' => auth()->user()->id, 'description' => $data['description'], 'document' => $data['document'], ]); Notification::make('after_apply') ->title('Application successful') ->body('Thank you for applying!') ->info() ->send(); }) ->visible(function ($record) { return Filament::getCurrentOrDefaultPanel()?->getId() !== 'admin'; }) ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make() ->visible(function ($record) { return Filament::getCurrentOrDefaultPanel()?->getId() === 'admin'; }), ]), ]); } }