Custom Page Table Actions Help - still broken

I have a custom page the table is showing fine however when I click on the action nothing is happening, it should be dumping the record.

The end goal of this action is to run this query inside the action itself
UserTranslation::query()
                            ->where('user_id', $record->user_id)
                            ->update(['is_paid' => true]);


However clicking on the action displays/does nothing itself, I tested the action on an actual resource and it works.
<?php

namespace Kenepa\TranslationManager\Pages;

use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\Page;
use Filament\Tables\Actions\Action;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Concerns\InteractsWithTable;
use Filament\Tables\Contracts\HasTable;
use Filament\Tables\Table;
use Illuminate\Contracts\View\View;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Facades\DB;
use Kenepa\TranslationManager\Models\UserTranslation;
use Kenepa\TranslationManager\Resources\LanguageLineResource;
use Kenepa\TranslationManager\Traits\CanRegisterPanelNavigation;

class TranslationBilling extends Page implements HasForms, HasTable
{
    use CanRegisterPanelNavigation;
    use InteractsWithTable;
    use InteractsWithForms;
    protected static ?string $navigationIcon = 'heroicon-o-document-text';
//    protected static ?string $navigationGroup = 'MyNavigationGroup';

    protected static string $view = 'translation-manager::translation-billing';
    protected static string $resource = LanguageLineResource::class;

    public static function shouldRegisterNavigation(array $parameters = []): bool
    {
        return static::shouldRegisterOnPanel() ? config('translation-manager.quick_translate_navigation_registration') : false;
    }
    public static function getNavigationGroup(): ?string
    {
        return config('translation-manager.navigation_group');
    }

    public static function getNavigationIcon(): ?string
    {
        return 'heroicon-o-currency-dollar';
    }
    public function mount(): void
    {
        abort_unless(static::shouldRegisterOnPanel(), 403);
    }
    public function getTableRecordKey($record): string
    {
        return (string) $record->getKeyName();
    }

    public function table(Table $table): Table
    {
        return $table
            ->query(
                UserTranslation::query()
                    ->select('user_id', DB::raw('SUM(word_count) as total_word_count'))
                    ->where('is_paid', false)
                    ->groupBy('user_id')
                    ->orderBy('total_word_count', 'desc')
            )
            ->columns([
                TextColumn::make('user.name')
                    ->searchable(),
                TextColumn::make('total_word_count')
                    ->sortable(),
            ])
            ->filters([
                // ...
            ])
            ->actions([
                Action::make('mark_paid')
                    ->label('Mark Paid')
                    ->icon('heroicon-o-currency-dollar')
                    ->color('success')
                    ->before(function ($record) {
                        dd('hello');
                    })
                    ->action(function ($record) {
                        dd($record);
                    })
                    ->after(function(){
                        Notification::make()
                            ->duration(3000)
                            ->success()
                            ->title('User Paid')
                            ->body('User has been marked as paid.')
                            ->send();
                    })
            ])
            ->bulkActions([
                // ...
            ]);
    }
}
Was this page helpful?