bettype in monitor wip

This commit is contained in:
salam committed 2025-12-25 12:34:27 +01:00
1 parent 24de0e93a7
commit cbdc6aff47
11 files changed
+129 -18

No files matched your search

@@ -20,6 +20,7 @@ use Filament\Forms\Components\Select;
use Filament\Schemas\Components\Utilities\Get; use Filament\Schemas\Components\Utilities\Get;
use Filament\Support\Enums\FontWeight; use Filament\Support\Enums\FontWeight;
use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\Layout\View;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Enums\FiltersLayout; use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter; use Filament\Tables\Filters\Filter;
@@ -44,11 +45,13 @@ class EventsTable
->columns([ ->columns([
IconColumn::make('sport.icon') IconColumn::make('sport.icon')
->label('') ->label('')
->grow(false)
->color('primary') ->color('primary')
->width('1rem') ->width(30)
->icon(fn ($record) => $record->sport->icon) ->icon(fn ($record) => $record->sport->icon)
->tooltip(fn ($record) => $record->id), ->tooltip(fn ($record) => $record->id),
MatchIds::make('match_ids'), // MatchIds::make('match_ids')
// ->grow(false),
TextColumn::make('id')->hidden()->searchable(), TextColumn::make('id')->hidden()->searchable(),
TextColumn::make('betsapi_id')->hidden()->searchable(), TextColumn::make('betsapi_id')->hidden()->searchable(),
TextColumn::make('betradar_id')->hidden()->searchable(), TextColumn::make('betradar_id')->hidden()->searchable(),
@@ -61,22 +64,32 @@ class EventsTable
->weight(FontWeight::Bold) ->weight(FontWeight::Bold)
->description(fn ($state): string => Carbon::createFromDate($state)->format('d. M')), ->description(fn ($state): string => Carbon::createFromDate($state)->format('d. M')),
TextColumn::make('country.name') TextColumn::make('country.name')
->width('20rem')
->searchable() ->searchable()
->color('gray') ->color('gray')
->label('Event') ->label('Event')
->icon(fn ($record) => $record->country->icon) ->icon(fn ($record) => $record->country->icon)
->description(fn ($record) => $record->competition_group->name), ->description(fn ($record) => $record->competition_group->name),
TextColumn::make('home.name') TextColumn::make('home.name')
->wrap()
->searchable() ->searchable()
->alignRight(), ->alignRight(),
TextColumn::make('away.name') TextColumn::make('away.name')
->wrap()
->searchable(), ->searchable(),
Column3way::make('odds3way')->visible(fn () => in_array(1, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => '1x2'])), Column3way::make('odds3way')->visible(fn () => in_array(1, self::$bettype_settings))->width(225)->label('1 X 2'),
ColumnDc::make('oddsdc')->visible(fn () => in_array(2, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'dc'])), ColumnDc::make('oddsdc')->visible(fn () => in_array(2, self::$bettype_settings))->width(225)->label('Double Chance'),
ColumnDnb::make('oddsdnb')->visible(fn () => in_array(3, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'dnb'])), ColumnDnb::make('oddsdnb')->visible(fn () => in_array(3, self::$bettype_settings))->width(190)->label('Draw No Bet'),
ColumnGgng::make('oddsggng')->visible(fn () => in_array(4, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'gg'])), ColumnGgng::make('oddsggng')->visible(fn () => in_array(4, self::$bettype_settings))->width(190)->label('Goal No Goal'),
ColumnGgng::make('oddstq')->visible(fn () => in_array(5, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'tq'])), ColumnGgng::make('oddstq')->visible(fn () => in_array(5, self::$bettype_settings))->width(190)->label('To Qualify'),
ColumnTotal::make('oddstotal')->visible(fn () => in_array(6, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'ou'])), ColumnTotal::make('oddstotal')->visible(fn () => in_array(6, self::$bettype_settings))->width(225)->label('Totals'),
// Column3way::make('odds3way')->visible(fn () => in_array(1, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => '1x2'])),
// ColumnDc::make('oddsdc')->visible(fn () => in_array(2, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'dc'])),
// ColumnDnb::make('oddsdnb')->visible(fn () => in_array(3, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'dnb'])),
// ColumnGgng::make('oddsggng')->visible(fn () => in_array(4, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'gg'])),
// ColumnGgng::make('oddstq')->visible(fn () => in_array(5, self::$bettype_settings))->width(190)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'tq'])),
// ColumnTotal::make('oddstotal')->visible(fn () => in_array(6, self::$bettype_settings))->width(225)->label(fn () => view('filament.tables.columns.multiline.labels', ['menu' => 'ou'])),
]) ])
->poll('10s') ->poll('10s')
->defaultSort('starttime', 'ASC') ->defaultSort('starttime', 'ASC')
+1 -1
View File
@@ -45,7 +45,7 @@ class AppServiceProvider extends ServiceProvider
Carbon::setLocale(app()->getLocale()); Carbon::setLocale(app()->getLocale());
view()->composer('*', function ($view) { view()->composer('*', function ($view) {
$sport_id = Auth::user()->sport_id; $sport_id = Auth::user()->sport_id ?? 0;
switch ($sport_id) { switch ($sport_id) {
case 1: case 1:
-2
View File
@@ -1990,7 +1990,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
@@ -2224,7 +2223,6 @@
"integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.27.0", "esbuild": "^0.27.0",
"fdir": "^6.5.0", "fdir": "^6.5.0",
+4 -3
View File
@@ -14,11 +14,12 @@ button[wire\:click="resetTableFiltersForm"] {
/* .fi-ta-header-toolbar { /* .fi-ta-header-toolbar {
@apply flex-row-reverse; @apply flex-row-reverse;
} }
*/
/* searchbox left */
.fi-ta-header-toolbar>*:nth-child(2) { .fi-ta-header-toolbar>*:nth-child(2) {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
} */ }
.fi-ta-header-cell-oddstotal, .fi-ta-header-cell-oddstotal,
.fi-ta-header-cell-oddstq, .fi-ta-header-cell-oddstq,
@@ -27,5 +28,5 @@ button[wire\:click="resetTableFiltersForm"] {
.fi-ta-header-cell-odds3way, .fi-ta-header-cell-odds3way,
.fi-ta-header-cell-oddsdc, .fi-ta-header-cell-oddsdc,
.fi-ta-header-cell-id { .fi-ta-header-cell-id {
@apply !p-0 @apply !text-center
} }
@@ -2,7 +2,7 @@
$loadData($record, $record->multiline_client); $loadData($record, $record->multiline_client);
@endphp @endphp
@include('filament.tables.columns.multiline.fumetto_dnb') @include('filament.tables.columns.multiline.fumetto_ggng')
<div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-4 grid-rows-4 text-xs gap-0 justify-between text-right" <div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-4 grid-rows-4 text-xs gap-0 justify-between text-right"
style="width: 190px;"> style="width: 190px;">
@@ -2,7 +2,7 @@
$loadData($record, $record->multiline_client); $loadData($record, $record->multiline_client);
@endphp @endphp
@include('filament.tables.columns.multiline.fumetto_dc') @include('filament.tables.columns.multiline.fumetto_total')
<div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-5 grid-rows-4 text-xs gap-0 justify-between text-right" <div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-5 grid-rows-4 text-xs gap-0 justify-between text-right"
style="width: 225px;"> style="width: 225px;">
@@ -2,7 +2,7 @@
$loadData($record, $record->multiline_client); $loadData($record, $record->multiline_client);
@endphp @endphp
@include('filament.tables.columns.multiline.fumetto_dnb') @include('filament.tables.columns.multiline.fumetto_tq')
<div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-4 grid-rows-4 text-xs gap-0 justify-between text-right" <div {{ $getExtraAttributeBag() }} class="max-w-80 grid grid-cols-4 grid-rows-4 text-xs gap-0 justify-between text-right"
style="width: 190px;"> style="width: 190px;">
@@ -4,9 +4,16 @@
@include('filament.tables.columns.multiline.fumetto_1x2') @include('filament.tables.columns.multiline.fumetto_1x2')
<div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 grid-rows-4 text-xs gap-0 justify-between text-right" <div {{ $getExtraAttributeBag() }}
class="max-w-80 grid grid-cols-5 grid-rows-4 text-xs gap-0 justify-between text-right text-gray-700 dark:text-gray-400"
style="width: 225px;"> style="width: 225px;">
{{-- <div></div>
<div class="text-center">1</div>
<div class="text-center">X</div>
<div class="text-center">2</div>
<div class="text-center">M</div> --}}
@foreach ($getData() as $item) @foreach ($getData() as $item)
@include('filament.tables.columns.multiline.bkm', [ @include('filament.tables.columns.multiline.bkm', [
'bookmaker_id' => $item->bookmaker_id, 'bookmaker_id' => $item->bookmaker_id,
@@ -0,0 +1,5 @@
<div class="grid grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 w-80 md:w-160 xl:w240 m-0">
@foreach ($getComponents() as $layoutComponent)
{{ $layoutComponent->record($getRecord())->recordKey($getRecordKey())->rowLoop($getRowLoop())->renderInLayout() }}
@endforeach
</div>
@@ -1,5 +1,7 @@
<div class="flex flex-1 gap-4"> <div class="flex flex-1 gap-4">
@if ($this->current == 'filament.admin.resources.events.index') @if ($this->current == 'filament.admin.resources.events.index')
<x-filament::input.wrapper prefix-icon="{{ $sporticon }}" prefix-icon-color="primary"> <x-filament::input.wrapper prefix-icon="{{ $sporticon }}" prefix-icon-color="primary">
<x-filament::input.select wire:model="sport_id" wire:change="swopSport"> <x-filament::input.select wire:model="sport_id" wire:change="swopSport">
@foreach ($sports as $id => $name) @foreach ($sports as $id => $name)
@@ -30,6 +32,91 @@
</div> </div>
</x-filament::modal> </x-filament::modal>
<x-filament::dropdown>
<x-slot name="trigger">
<x-filament::button outlined icon="heroicon-o-adjustments-horizontal" color="gray">
Settings
</x-filament::button>
</x-slot>
<x-filament::dropdown.list>
<x-filament::modal width="4xl" icon="heroicon-o-exclamation-triangle">
<x-slot name="trigger">
{{-- wire:click="openViewModal" --}}
<x-filament::dropdown.list.item icon="heroicon-o-exclamation-triangle">
Alarm Settings
</x-filament::dropdown.list.item>
</x-slot>
<x-slot name="heading">
Alarm Settings
</x-slot>
{{-- Modal content --}}
<div class="grid grid-cols-2 gap-4">
Alarm Settings Content
</div>
</x-filament::modal>
<x-filament::modal width="4xl" icon="heroicon-o-bars-4">
<x-slot name="trigger">
{{-- wire:click="openViewModal" --}}
<x-filament::dropdown.list.item icon="heroicon-o-bars-4">
Multiline Settings
</x-filament::dropdown.list.item>
</x-slot>
<x-slot name="heading">
Multiline Settings
</x-slot>
{{-- Modal content --}}
<div class="grid grid-cols-2 gap-4">
Multiline Settings Content
</div>
</x-filament::modal>
<x-filament::modal width="4xl" icon="heroicon-o-adjustments-vertical">
<x-slot name="trigger">
{{-- wire:click="openViewModal" --}}
<x-filament::dropdown.list.item icon="heroicon-o-adjustments-vertical">
Level Settings
</x-filament::dropdown.list.item>
</x-slot>
<x-slot name="heading">
Level Settings
</x-slot>
{{-- Modal content --}}
<div class="grid grid-cols-2 gap-4">
Level Settings Content
</div>
</x-filament::modal>
<x-filament::modal width="4xl" icon="heroicon-o-calculator">
<x-slot name="trigger">
{{-- wire:click="openViewModal" --}}
<x-filament::dropdown.list.item icon="heroicon-o-calculator">
Methods Settings
</x-filament::dropdown.list.item>
</x-slot>
<x-slot name="heading">
Methods Settings
</x-slot>
{{-- Modal content --}}
<div class="grid grid-cols-2 gap-4">
Methods Settings Content
</div>
</x-filament::modal>
</x-filament::dropdown.list>
</x-filament::dropdown>
@endif @endif
<x-filament::dropdown> <x-filament::dropdown>