multiline wip

This commit is contained in:
salam committed 2025-12-15 18:23:16 +01:00
1 parent 3fb481afd0
commit 79bb8a0226
16 files changed
+143 -222

No files matched your search

@@ -53,7 +53,6 @@ class EventResource extends Resource
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->where('starttime', '>', Carbon::now())
->where('sport_id', auth()->user()->sport_id);
@@ -3,36 +3,21 @@
namespace App\Filament\Resources\Events\Tables;
use App\Filament\Tables\Columns\Odds3Way;
use App\Models\Client;
use App\Models\CompetitionGroup;
use App\Models\Sport;
use App\Models\User;
use Carbon\Carbon;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Select;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Support\Enums\FontWeight;
use Filament\Support\Enums\IconSize;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
class EventsTable
{
protected $listeners = [
'bettypeswitch' => '$refresh',
];
public static function configure(Table $table): Table
{
return $table
// ->poll('10s')
->poll('10s')
->striped()
->columns([
IconColumn::make('sport.icon')
@@ -56,56 +41,14 @@ class EventsTable
TextColumn::make('home.name')->alignRight()->searchable(),
TextColumn::make('away.name')->searchable(),
Odds3Way::make('odds_3way.bookmaker')->label('1X2'),
Odds3Way::make('odds_3way.bookmaker')->label('Market')->visible(auth()->user()->multiline_setting_id == 1),
])
->defaultSort('starttime', 'ASC')
->deferFilters(false)
->filters([
Filter::make('event')
->form([
Select::make('sport_id')
->label('Sport')
->default(1)
->options(function () {
$sports = Client::where('id', auth()->user()->client_id)->pluck('sport')->first();
return Sport::query()->whereIn('id', $sports)->pluck('name', 'id');
})
->afterStateUpdated(function ($state) {
User::where('id', auth()->user()->id)->update(['sport_id' => $state]);
}),
Select::make('competition_group_id')
->label('League')
->default(1)
->options(function (Get $get) {
return CompetitionGroup::where('sport_id', $get('sport_id'))->pluck('name', 'id');
})
->live(),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['sport_id'],
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
)->when(
$data['competition_group_id'],
fn (Builder $query, $competition_group_id) => $query->where('competition_group_id', $competition_group_id)
);
})
->columns(3)->columnSpan(3),
], layout: FiltersLayout::AboveContent)
->hiddenFilterIndicators(false)
->persistFiltersInSession()
->recordActions([
// EditAction::make(),
DeleteAction::make()->iconButton(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
// DeleteAction::make()->iconButton(),
]);
}
}
@@ -47,7 +47,7 @@ class MultilineClientsTable
->defaultSort('sort')
->deferFilters(false)
->filters([
Filter::make('multilineclient')
Filter::make('multiline')
->form([
Select::make('sport_id')
->label('Sport')