From 60379bcab89b55022b81b1b20a604804aed2b782 Mon Sep 17 00:00:00 2001 From: salam Date: Thu, 18 Dec 2025 16:19:20 +0100 Subject: [PATCH] wip --- .../Resources/Events/Tables/EventsTable.php | 6 +++--- .../{MultilineClient.php => MultilineColumn.php} | 16 ++++++++-------- app/Providers/AppServiceProvider.php | 5 +++++ app/Utilities/Settings.php | 13 +++++++++++++ .../label.blade.php} | 0 .../main.blade.php} | 8 ++++---- .../columns/{ => multiline}/odds.blade.php | 0 7 files changed, 33 insertions(+), 15 deletions(-) rename app/Filament/Tables/Columns/{MultilineClient.php => MultilineColumn.php} (86%) create mode 100644 app/Utilities/Settings.php rename resources/views/filament/tables/columns/{multiline-labels.blade.php => multiline/label.blade.php} (100%) rename resources/views/filament/tables/columns/{multiline-client.blade.php => multiline/main.blade.php} (61%) rename resources/views/filament/tables/columns/{ => multiline}/odds.blade.php (100%) diff --git a/app/Filament/Resources/Events/Tables/EventsTable.php b/app/Filament/Resources/Events/Tables/EventsTable.php index 74b30644..191f57e9 100644 --- a/app/Filament/Resources/Events/Tables/EventsTable.php +++ b/app/Filament/Resources/Events/Tables/EventsTable.php @@ -2,7 +2,7 @@ namespace App\Filament\Resources\Events\Tables; -use App\Filament\Tables\Columns\MultilineClient; +use App\Filament\Tables\Columns\MultilineColumn; use App\Models\Event; use Carbon\Carbon; use Filament\Actions\DeleteAction; @@ -43,9 +43,9 @@ class EventsTable TextColumn::make('home.name')->alignRight()->searchable(), TextColumn::make('away.name')->searchable(), - MultilineClient::make('id') + MultilineColumn::make('id') ->searchable() - ->label(fn () => view('filament.tables.columns.multiline-labels')), + ->label(fn () => view('filament.tables.columns.multiline.label')), ]) ->poll('10s') diff --git a/app/Filament/Tables/Columns/MultilineClient.php b/app/Filament/Tables/Columns/MultilineColumn.php similarity index 86% rename from app/Filament/Tables/Columns/MultilineClient.php rename to app/Filament/Tables/Columns/MultilineColumn.php index 43fdf223..f87a7dce 100644 --- a/app/Filament/Tables/Columns/MultilineClient.php +++ b/app/Filament/Tables/Columns/MultilineColumn.php @@ -2,25 +2,25 @@ namespace App\Filament\Tables\Columns; -use App\Models\MultilineSetting; use Filament\Tables\Columns\Column; use Illuminate\Support\Facades\DB; use stdClass; -class MultilineClient extends Column +class MultilineColumn extends Column { - protected string $view = 'filament.tables.columns.multiline-client'; + protected string $view = 'filament.tables.columns.multiline.main'; protected ?array $slots; - protected ?array $settings; + protected $settings; public function loadSlots($event_id, $bookmakers) { - $this->settings = MultilineSetting::where('id', auth()->user()->multiline_setting_id)->select('table', 'has_3_columns')->first()->toArray(); + $systemSettings = app('systemSettings'); + $this->settings = $systemSettings[auth()->user()->multiline_setting_id]; - $odds = DB::table($this->settings['table'])->where('event_id', $event_id)->get(); + $odds = DB::table($this->settings->table)->where('event_id', $event_id)->get(); $this->makeSlots($odds, $bookmakers); @@ -28,7 +28,7 @@ class MultilineClient extends Column public function has3Columns(): ?int { - return $this->settings['has_3_columns']; + return $this->settings->has_3_columns; } public function getSlots(): ?array @@ -49,7 +49,7 @@ class MultilineClient extends Column if ($item->bookmaker_id == $bookmaker->bookmaker_id) { $item->icon = $bookmaker->bookmaker->icon; $item->table = $this->settings['table']; - switch ($this->settings['table']) { + switch ($this->settings->table) { case 'odds_2ways': case 'odds_2ways_s1': $item->a = $item->h3w; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 68fdb737..12f377ae 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use App\Filament\Resources\Events\Pages\ListEvents; +use App\Utilities\Settings; use Carbon\Carbon; use Filament\Support\Colors\Color; use Filament\Support\Facades\FilamentColor; @@ -27,6 +28,10 @@ class AppServiceProvider extends ServiceProvider */ public function boot(): void { + $this->app->singleton('systemSettings', function () { + return Settings::get(); + }); + FilamentView::registerRenderHook( TablesRenderHook::TOOLBAR_SEARCH_AFTER, fn (): string => Blade::render('@livewire(\'monitor-bettype-switch\')'), diff --git a/app/Utilities/Settings.php b/app/Utilities/Settings.php new file mode 100644 index 00000000..a31f8024 --- /dev/null +++ b/app/Utilities/Settings.php @@ -0,0 +1,13 @@ +get()->keyBy('id'); + } +} diff --git a/resources/views/filament/tables/columns/multiline-labels.blade.php b/resources/views/filament/tables/columns/multiline/label.blade.php similarity index 100% rename from resources/views/filament/tables/columns/multiline-labels.blade.php rename to resources/views/filament/tables/columns/multiline/label.blade.php diff --git a/resources/views/filament/tables/columns/multiline-client.blade.php b/resources/views/filament/tables/columns/multiline/main.blade.php similarity index 61% rename from resources/views/filament/tables/columns/multiline-client.blade.php rename to resources/views/filament/tables/columns/multiline/main.blade.php index 2b57d2e6..23087101 100644 --- a/resources/views/filament/tables/columns/multiline-client.blade.php +++ b/resources/views/filament/tables/columns/multiline/main.blade.php @@ -14,14 +14,14 @@
- @include('filament.tables.columns.odds', ['odd' => $row->a, 'decimal' => 2]) + @include('filament.tables.columns.multiline.odds', ['odd' => $row->a, 'decimal' => 2]) @if ($has3Columns()) - @include('filament.tables.columns.odds', ['odd' => $row->b, 'decimal' => 2]) + @include('filament.tables.columns.multiline.odds', ['odd' => $row->b, 'decimal' => 2]) @endif - @include('filament.tables.columns.odds', ['odd' => $row->c, 'decimal' => 2]) + @include('filament.tables.columns.multiline.odds', ['odd' => $row->c, 'decimal' => 2]) - @include('filament.tables.columns.odds', ['odd' => $row->margin, 'decimal' => 1]) + @include('filament.tables.columns.multiline.odds', ['odd' => $row->margin, 'decimal' => 1]) @endforeach diff --git a/resources/views/filament/tables/columns/odds.blade.php b/resources/views/filament/tables/columns/multiline/odds.blade.php similarity index 100% rename from resources/views/filament/tables/columns/odds.blade.php rename to resources/views/filament/tables/columns/multiline/odds.blade.php