Files
nuhodds_fi4/app/Livewire/PersonalNotificationTable.php
T
2026-02-05 18:48:51 +01:00

45 lines
1.4 KiB
PHP

<?php
namespace App\Livewire;
use App\Filament\Tables\Columns\BookmakerIcon;
use App\Models\PersonalNotification;
use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Schemas\Concerns\InteractsWithSchemas;
use Filament\Schemas\Contracts\HasSchemas;
use Filament\Tables\Columns\IconColumn;
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 Livewire\Component;
class PersonalNotificationTable extends Component implements HasActions, HasSchemas, HasTable
{
use InteractsWithActions;
use InteractsWithSchemas;
use InteractsWithTable;
public function table(Table $table): Table
{
return $table
->query(PersonalNotification::query()->with('bookmaker')->where('user_id', auth()->user()->id))
->columns([
IconColumn::make('sport.icon')
->label('')
->icon(fn ($record) => $record->sport->icon)
->tooltip(fn ($record) => $record->id),
TextColumn::make('sport.name'),
BookmakerIcon::make('bookmaker.icon')->label('Icon')->size('lg'),
]);
}
public function render(): View
{
return view('livewire.personal-notification-table');
}
}