design wip

This commit is contained in:
salam committed 2026-02-03 10:57:50 +01:00
1 parent 70a443db6b
commit eb11298d24
22 files changed
+418 -81

No files matched your search

@@ -147,7 +147,6 @@ class EventsTable
->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings)) ->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start) ->verticalAlignment(VerticalAlignment::Start)
->alignCenter() ->alignCenter()
->width(250)
->label('Totals Q1'), ->label('Totals Q1'),
TooltipOdds::make('points_q1')->bettype('odds_points_q1')->label('')->visible(fn () => in_array('odds_points_q1', self::$bettype_settings)), TooltipOdds::make('points_q1')->bettype('odds_points_q1')->label('')->visible(fn () => in_array('odds_points_q1', self::$bettype_settings)),
+9 -9
View File
@@ -195,9 +195,9 @@ class TooltipOdds extends Column
public function getFlags($flags) public function getFlags($flags)
{ {
if ($flags) { if ($flags) {
return '<div class="pb-0.5 text-green-600">&check;</div>'; return '<div class="pb-0.5 text-md font-bold text-green-600">&check;</div>';
} else { } else {
return '<div class="pb-0.5 text-info-600">&#9888;</div>'; return '<div class="pb-0.5 text-md font-bold text-info-600">&#9888;</div>';
} }
} }
@@ -208,9 +208,9 @@ class TooltipOdds extends Column
public function legend() public function legend()
{ {
$part = '<div class="col-span-full font-normal flex justify-end gap-2" style="font-size:10px">'; $part = '<div class="col-span-full font-normal flex justify-end gap-2 text-xs">';
$part .= '<div class="w-12 bg-green-600/25 rounded py-0.5 px-2">Highest</div>'; $part .= '<div class="bg-green-600/25 rounded py-0.5 px-2 w-16 text-center">Highest</div>';
$part .= '<div class="w-12 bg-blue-600/25 rounded py-0.5 px-2">Lowest</div>'; $part .= '<div class="bg-blue-600/25 rounded py-0.5 px-2 w-16 text-center">Lowest</div>';
$part .= '</div>'; $part .= '</div>';
return $part; return $part;
@@ -270,15 +270,15 @@ class TooltipOdds extends Column
if ($this->size > $this->two_cols_break) { if ($this->size > $this->two_cols_break) {
if ($columns == 6) { if ($columns == 6) {
$part = '<div class="grid grid-cols-15 gap-2 m-5 mt-1 z-100 text-xs text-center">'; $part = '<div class="grid grid-cols-15 gap-2 m-5 mt-1 z-100 text-xs text-center striped">';
} else { } else {
$part = '<div class="grid grid-cols-13 gap-2 m-5 mt-1 z-100 text-xs text-center">'; $part = '<div class="grid grid-cols-13 gap-2 m-5 mt-1 z-100 text-xs text-center striped">';
} }
} else { } else {
if ($columns == 6) { if ($columns == 6) {
$part = '<div class="grid grid-cols-7 gap-2 m-5 mt-1 z-100 text-xs text-center">'; $part = '<div class="grid grid-cols-7 gap-2 m-5 mt-1 z-100 text-xs text-center striped">';
} else { } else {
$part = '<div class="grid grid-cols-6 gap-2 m-5 mt-1 z-100 text-xs text-center">'; $part = '<div class="grid grid-cols-6 gap-2 m-5 mt-1 z-100 text-xs text-center striped">';
} }
} }
$part .= '<div class="col-span-full text-center text-md font-bold mb-2">'.$title.'</div>'; $part .= '<div class="col-span-full text-center text-md font-bold mb-2">'.$title.'</div>';
+1 -1
View File
@@ -29,7 +29,7 @@ class AlarmBookmaker extends Component implements HasActions, HasSchemas, HasTab
use InteractsWithTable; use InteractsWithTable;
protected $listeners = [ protected $listeners = [
'reload_alarm_bookmaker' => '$refresh', 'refreshlarmBookmaker' => '$refresh',
]; ];
public static $default_filter; public static $default_filter;
+1 -1
View File
@@ -34,7 +34,7 @@ class ComparingBookmakerMenu extends Component implements HasActions, HasSchemas
public $user; public $user;
protected $listeners = [ protected $listeners = [
'refresh_comparing_bookmaker' => '$refresh', 'refreshComparingBookmakerMenu' => '$refresh',
]; ];
public function table(Table $table): Table public function table(Table $table): Table
+7 -7
View File
@@ -45,7 +45,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
public $user; public $user;
protected $listeners = [ protected $listeners = [
'reload_data_left' => '$refresh', 'refreshMapperLeft' => '$refresh',
]; ];
public function removeTableFilter(string $filterName, ?string $field = null, bool $shouldTriggerUpdatedFiltersHook = true): void public function removeTableFilter(string $filterName, ?string $field = null, bool $shouldTriggerUpdatedFiltersHook = true): void
@@ -62,7 +62,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
$this->search_left = ''; $this->search_left = '';
} }
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
} }
public function table(Table $table): Table public function table(Table $table): Table
@@ -152,7 +152,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
->persistFiltersInSession() ->persistFiltersInSession()
->deferFilters(false) ->deferFilters(false)
->toolbarActions([ ->toolbarActions([
Action::make('reload_data_left') Action::make('refreshMapperLeft')
->hiddenLabel() ->hiddenLabel()
->icon('phosphor-x') ->icon('phosphor-x')
->color('danger') ->color('danger')
@@ -162,7 +162,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
$this->tableSearch = ''; // Clears the main search bar $this->tableSearch = ''; // Clears the main search bar
$livewire->fill(['tableSearch' => '']); $livewire->fill(['tableSearch' => '']);
$livewire->resetTableFiltersForm(); // Clears all filters $livewire->resetTableFiltersForm(); // Clears all filters
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
}), }),
]); ]);
} }
@@ -177,7 +177,7 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
{ {
$this->search_left = $str; $this->search_left = $str;
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
} }
public function leftAction(): Action public function leftAction(): Action
@@ -196,8 +196,8 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
StoreMapped::store($arguments, $this->elements_swopped); StoreMapped::store($arguments, $this->elements_swopped);
$this->search_right = ''; $this->search_right = '';
$this->search_left = ''; $this->search_left = '';
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
}) })
->closeModalByEscaping(false) ->closeModalByEscaping(false)
+8 -8
View File
@@ -42,7 +42,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
public $search_right = false; public $search_right = false;
protected $listeners = [ protected $listeners = [
'reload_data_right' => '$refresh', 'refreshMapperRight' => '$refresh',
]; ];
public $user; public $user;
@@ -61,7 +61,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
$this->search_right = ''; $this->search_right = '';
} }
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
} }
public function table(Table $table): Table public function table(Table $table): Table
@@ -165,7 +165,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->filtersFormColumns(3) ->filtersFormColumns(3)
->deferFilters(false) ->deferFilters(false)
->toolbarActions([ ->toolbarActions([
Action::make('reload_data_right') Action::make('refreshMapperRight')
->hiddenLabel() ->hiddenLabel()
->icon('phosphor-x') ->icon('phosphor-x')
->color('danger') ->color('danger')
@@ -175,8 +175,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
$this->tableSearch = ''; // Clears the main search bar $this->tableSearch = ''; // Clears the main search bar
$livewire->fill(['tableSearch' => '']); $livewire->fill(['tableSearch' => '']);
$livewire->resetTableFiltersForm(); // Clears all filters $livewire->resetTableFiltersForm(); // Clears all filters
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
}), }),
]); ]);
} }
@@ -191,7 +191,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
{ {
$this->search_right = $str; $this->search_right = $str;
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
} }
public function rightAction(): Action public function rightAction(): Action
@@ -209,8 +209,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
StoreMapped::store($arguments, $this->elements_swopped); StoreMapped::store($arguments, $this->elements_swopped);
$this->search_right = ''; $this->search_right = '';
$this->search_left = ''; $this->search_left = '';
$this->dispatch('reload_data_left'); $this->dispatch('refreshMapperLeft');
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
}) })
->closeModalByEscaping(false) ->closeModalByEscaping(false)
->modalCloseButton(false) ->modalCloseButton(false)
+6 -11
View File
@@ -6,7 +6,6 @@ use App\Filament\Tables\Columns\BookmakerIcon;
use App\Models\Bookmaker; use App\Models\Bookmaker;
use App\Models\MultilineClient; use App\Models\MultilineClient;
use App\Models\MultilineSetting; use App\Models\MultilineSetting;
use App\Models\User;
use Filament\Actions\Concerns\InteractsWithActions; use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions; use Filament\Actions\Contracts\HasActions;
use Filament\Forms\Components\Radio; use Filament\Forms\Components\Radio;
@@ -32,18 +31,13 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
use InteractsWithTable; use InteractsWithTable;
protected $listeners = [ protected $listeners = [
'reload_bookmaker_multiline' => '$refresh', 'refreshMultilineBookmaker' => '$refresh',
]; ];
public $user;
public function table(Table $table): Table public function table(Table $table): Table
{ {
$this->user = User::getUser();
return $table return $table
->query(MultilineClient::query()->where('client_bookmaker_id', $this->user->bookmaker_id)->where('sport_id', $this->user->sport_id)) ->query(MultilineClient::query()->where('client_bookmaker_id', auth()->user()->bookmaker_id)->where('sport_id', auth()->user()->sport_id))
->paginated(false) ->paginated(false)
->columns([ ->columns([
IconColumn::make('sport.icon') IconColumn::make('sport.icon')
@@ -62,7 +56,7 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
$table = MultilineSetting::where('id', $livewire->tableFilters['multiline_setting_id'])->value('table'); $table = MultilineSetting::where('id', $livewire->tableFilters['multiline_setting_id'])->value('table');
$bookies = DB::table($table) $bookies = DB::table($table)
->where('sport_id', $this->user->sport_id) ->where('sport_id', auth()->user()->sport_id)
->groupBy('bookmaker_id')->pluck('bookmaker_id'); ->groupBy('bookmaker_id')->pluck('bookmaker_id');
$res = Bookmaker::whereIn('id', $bookies)->pluck('name', 'id'); $res = Bookmaker::whereIn('id', $bookies)->pluck('name', 'id');
@@ -81,12 +75,13 @@ class MultilineBookmaker extends Component implements HasActions, HasSchemas, Ha
Filter::make('multiline_setting_id') Filter::make('multiline_setting_id')
->schema([ ->schema([
Radio::make('multiline_setting_id') Radio::make('multiline_setting_id')
->extraAttributes(['id' => 'multiline_setting'])
->inline() ->inline()
->default(1) ->default(fn ($record) => MultilineSetting::where('sport_id', auth()->user()->sport_id)->pluck('id')->first())
->columnSpan(6) ->columnSpan(6)
->columnSpanFull() ->columnSpanFull()
->hiddenLabel() ->hiddenLabel()
->options(fn () => MultilineSetting::where('sport_id', $this->user->sport_id)->orderBy('name')->pluck('name', 'id')), ->options(fn () => MultilineSetting::where('sport_id', auth()->user()->sport_id)->orderBy('name')->pluck('name', 'id')),
]) ])
->query(function (Builder $query, array $data): Builder { ->query(function (Builder $query, array $data): Builder {
return $query return $query
+11
View File
@@ -48,6 +48,17 @@ class SportSwitcher extends Component
$this->dispatch('filterClearFilter'); $this->dispatch('filterClearFilter');
$this->dispatch('refreshSportSwitcher'); $this->dispatch('refreshSportSwitcher');
$this->dispatch('refreshMultilineBookmaker');
$this->dispatch('refreshComparingBookmakerMenu');
$this->dispatch('refreshMapperLeft');
$this->dispatch('refreshMapperRight');
$this->dispatch('refreshlarmBookmaker');
} }
public function render() public function render()
+3 -3
View File
@@ -13,8 +13,8 @@ class TopMenuItems extends Component
public $current = ''; public $current = '';
protected $listeners = [ protected $listeners = [
'reload_data_left' => '$refresh', 'refreshMapperLeft' => '$refresh',
'reload_data_right' => '$refresh', 'refreshMapperRight' => '$refresh',
]; ];
protected string $sport = ''; protected string $sport = '';
@@ -50,6 +50,6 @@ class TopMenuItems extends Component
{ {
User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id]); User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id]);
$this->dispatch('reload_data_right'); $this->dispatch('refreshMapperRight');
} }
} }
+2 -1
View File
@@ -22,7 +22,8 @@
"laravel/framework": "^12.0", "laravel/framework": "^12.0",
"laravel/tinker": "^2.10.1", "laravel/tinker": "^2.10.1",
"outhebox/blade-flags": "^1.5", "outhebox/blade-flags": "^1.5",
"swisnl/filament-backgrounds": "^2.0" "swisnl/filament-backgrounds": "^2.0",
"tonegabes/filament-better-options": "^1.2"
}, },
"require-dev": { "require-dev": {
"barryvdh/laravel-debugbar": "^3.16", "barryvdh/laravel-debugbar": "^3.16",
Generated
+170 -28
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "872a298c0c1cebe00cac20f0cb2539f7", "content-hash": "b1f96a36e577a5a502013fb033525720",
"packages": [ "packages": [
{ {
"name": "agencetwogether/hookshelper", "name": "agencetwogether/hookshelper",
@@ -543,16 +543,16 @@
}, },
{ {
"name": "brick/math", "name": "brick/math",
"version": "0.14.3", "version": "0.14.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/brick/math.git", "url": "https://github.com/brick/math.git",
"reference": "6af96b11de3f7d99730c118c200418c48274edb4" "reference": "a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/brick/math/zipball/6af96b11de3f7d99730c118c200418c48274edb4", "url": "https://api.github.com/repos/brick/math/zipball/a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4",
"reference": "6af96b11de3f7d99730c118c200418c48274edb4", "reference": "a8b53e6cc4d3a336543f042a4dfa0e3f2f2356a4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -591,7 +591,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/brick/math/issues", "issues": "https://github.com/brick/math/issues",
"source": "https://github.com/brick/math/tree/0.14.3" "source": "https://github.com/brick/math/tree/0.14.4"
}, },
"funding": [ "funding": [
{ {
@@ -599,7 +599,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2026-02-01T15:18:05+00:00" "time": "2026-02-02T16:57:31+00:00"
}, },
{ {
"name": "carbonphp/carbon-doctrine-types", "name": "carbonphp/carbon-doctrine-types",
@@ -2616,23 +2616,23 @@
}, },
{ {
"name": "jaybizzle/crawler-detect", "name": "jaybizzle/crawler-detect",
"version": "v1.3.6", "version": "v1.3.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git", "url": "https://github.com/JayBizzle/Crawler-Detect.git",
"reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813" "reference": "7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5",
"reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", "reference": "7f7a45b5d5df9c95ba6b2008544e6cf8e66de6f5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.1.0" "php": ">=7.1.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4" "phpunit/phpunit": "^4.8|^5.5|^6.5|^7.5|^8.5|^9.4"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@@ -2662,9 +2662,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/JayBizzle/Crawler-Detect/issues", "issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
"source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.6" "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.7"
}, },
"time": "2025-09-30T16:22:43+00:00" "time": "2026-02-02T19:15:54+00:00"
}, },
{ {
"name": "jenssegers/agent", "name": "jenssegers/agent",
@@ -4029,16 +4029,16 @@
}, },
{ {
"name": "livewire/livewire", "name": "livewire/livewire",
"version": "v3.7.6", "version": "v3.7.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/livewire/livewire.git", "url": "https://github.com/livewire/livewire.git",
"reference": "276ac156f6ae414990784854a2673e3d23c68b24" "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/livewire/livewire/zipball/276ac156f6ae414990784854a2673e3d23c68b24", "url": "https://api.github.com/repos/livewire/livewire/zipball/06ec7e8cd61bb01739b8f26396db6fe73b7e0607",
"reference": "276ac156f6ae414990784854a2673e3d23c68b24", "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4093,7 +4093,7 @@
"description": "A front-end framework for Laravel.", "description": "A front-end framework for Laravel.",
"support": { "support": {
"issues": "https://github.com/livewire/livewire/issues", "issues": "https://github.com/livewire/livewire/issues",
"source": "https://github.com/livewire/livewire/tree/v3.7.6" "source": "https://github.com/livewire/livewire/tree/v3.7.8"
}, },
"funding": [ "funding": [
{ {
@@ -4101,7 +4101,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2026-01-23T05:41:38+00:00" "time": "2026-02-03T02:57:56+00:00"
}, },
{ {
"name": "masterminds/html5", "name": "masterminds/html5",
@@ -9054,6 +9054,136 @@
}, },
"time": "2025-12-02T11:56:42+00:00" "time": "2025-12-02T11:56:42+00:00"
}, },
{
"name": "tonegabes/filament-better-options",
"version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/tonegabes/filament-better-options.git",
"reference": "6314bdf052108e19970f6f3e6885e05bb8801b5f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tonegabes/filament-better-options/zipball/6314bdf052108e19970f6f3e6885e05bb8801b5f",
"reference": "6314bdf052108e19970f6f3e6885e05bb8801b5f",
"shasum": ""
},
"require": {
"filament/forms": "^4.0",
"php": "^8.3",
"spatie/laravel-package-tools": "^1.15.0",
"tonegabes/filament-phosphor-icons": "^1.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.86",
"larastan/larastan": "^3.0",
"laravel/pint": "^1.0",
"phpstan/phpstan-deprecation-rules": "^2.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"ToneGabes\\BetterOptions\\BetterOptionsServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"ToneGabes\\BetterOptions\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Tone Gabes",
"email": "tonegabes@gmail.com",
"homepage": "https://tonegabes.com",
"role": "Developer"
}
],
"description": "Filament form components for better radio and checkbox options.",
"homepage": "https://github.com/tonegabes/filament-better-options",
"keywords": [
"Forms",
"checkbox",
"filament",
"laravel",
"php",
"plugin",
"tonegabes"
],
"support": {
"issues": "https://github.com/tonegabes/filament-better-options/issues",
"source": "https://github.com/tonegabes/filament-better-options"
},
"time": "2025-10-22T19:20:56+00:00"
},
{
"name": "tonegabes/filament-phosphor-icons",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/tonegabes/filament-phosphor-icons.git",
"reference": "f654722dee534ccddd005e667a73e8e64cb412cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tonegabes/filament-phosphor-icons/zipball/f654722dee534ccddd005e667a73e8e64cb412cc",
"reference": "f654722dee534ccddd005e667a73e8e64cb412cc",
"shasum": ""
},
"require": {
"codeat3/blade-phosphor-icons": "^2.3",
"filament/filament": "^4.0",
"php": "^8.1"
},
"require-dev": {
"laravel/pint": "^1.22"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"ToneGabes\\Filament\\Icons\\PhosphorIconsServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"ToneGabes\\Filament\\Icons\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Tone Gabes",
"email": "tonegabes@gmail.com",
"homepage": "https://tonegabes.com",
"role": "Developer"
}
],
"description": "Phosphor Icons Pack ready for Filament 4",
"keywords": [
"Iconset",
"Phosphor",
"filament",
"icons",
"laravel",
"library"
],
"support": {
"issues": "https://github.com/tonegabes/filament-phosphor-icons/issues",
"source": "https://github.com/tonegabes/filament-phosphor-icons/tree/1.2.1"
},
"time": "2025-09-12T18:24:34+00:00"
},
{ {
"name": "ueberdosis/tiptap-php", "name": "ueberdosis/tiptap-php",
"version": "2.1.0", "version": "2.1.0",
@@ -11270,28 +11400,28 @@
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
"version": "5.1.0", "version": "5.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903",
"reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.2" "php": ">=8.2"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^11.0" "phpunit/phpunit": "^11.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-main": "5.0-dev" "dev-main": "5.1-dev"
} }
}, },
"autoload": { "autoload": {
@@ -11319,15 +11449,27 @@
"support": { "support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1"
}, },
"funding": [ "funding": [
{ {
"url": "https://github.com/sebastianbergmann", "url": "https://github.com/sebastianbergmann",
"type": "github" "type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
"type": "tidelift"
} }
], ],
"time": "2024-08-27T05:02:59+00:00" "time": "2026-02-02T13:52:54+00:00"
}, },
{ {
"name": "phpunit/php-invoker", "name": "phpunit/php-invoker",
@@ -0,0 +1 @@
/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% 0.114 19.571);--color-red-500:oklch(63.7% 0.237 25.331);--color-sky-400:oklch(74.6% 0.16 232.661);--color-gray-50:oklch(98.5% 0.002 247.839);--color-gray-100:oklch(96.7% 0.003 264.542);--color-gray-200:oklch(92.8% 0.006 264.531);--color-gray-300:oklch(87.2% 0.01 258.338);--color-gray-400:oklch(70.7% 0.022 261.325);--color-gray-500:oklch(55.1% 0.027 264.364);--color-gray-600:oklch(44.6% 0.03 256.802);--color-gray-700:oklch(37.3% 0.034 259.733);--color-gray-800:oklch(27.8% 0.033 256.848);--color-gray-900:oklch(21% 0.034 264.665);--color-gray-950:oklch(13% 0.028 261.692);--color-black:#000;--color-white:#fff;--spacing:0.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:0.75rem;--text-xs--line-height:calc(1 / 0.75);--text-sm:0.875rem;--text-sm--line-height:calc(1.25 / 0.875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--leading-loose:2;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:var(--color-primary-50);--color-primary-100:var(--color-primary-100);--color-primary-200:var(--color-primary-200);--color-primary-300:var(--color-primary-300);--color-primary-400:var(--color-primary-400);--color-primary-500:var(--color-primary-500);--color-primary-600:var(--color-primary-600);--color-primary-700:var(--color-primary-700);--color-primary-800:var(--color-primary-800);--color-primary-900:var(--color-primary-900);--color-primary-950:var(--color-primary-950)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{background-color:transparent;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inLine truncated
@@ -0,0 +1,140 @@
export default function checkboxListFormComponent({ livewireId }) {
return {
areAllCheckboxesChecked: false,
checkboxListOptions: [],
search: "",
visibleCheckboxListOptions: [],
// Cache selectors for better performance
selectors: {
option: ".fi-fo-checkbox-option",
label: ".fi-fo-checkbox-option__label",
description: ".fi-fo-checkbox-option__description",
checkbox: "input[type=checkbox]",
checkedOrDisabled:
"input[type=checkbox]:checked, input[type=checkbox]:disabled",
},
init() {
this.cacheElements();
this.bindEvents();
this.$nextTick(() => {
this.checkIfAllCheckboxesAreChecked();
});
},
cacheElements() {
this.checkboxListOptions = Array.from(
this.$root.querySelectorAll(this.selectors.option)
);
this.updateVisibleCheckboxListOptions();
},
bindEvents() {
// Livewire hook for updates
Livewire.hook("commit", ({ component, succeed }) => {
succeed(() => {
this.$nextTick(() => {
if (component.id !== livewireId) {
return;
}
this.cacheElements();
this.checkIfAllCheckboxesAreChecked();
});
});
});
// Debounced search watcher
this.$watch(
"search",
this.debounce(() => {
this.updateVisibleCheckboxListOptions();
this.checkIfAllCheckboxesAreChecked();
}, 150)
);
},
// Simple debounce implementation
debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
},
isFoundInSearch(checkboxItem) {
if (!this.search || this.search.trim() === "") {
return true;
}
const searchTerm = this.search.toLowerCase();
// Cache elements to avoid repeated queries
const labelElement = checkboxItem.querySelector(this.selectors.label);
const descriptionElement = checkboxItem.querySelector(
this.selectors.description
);
const labelText = labelElement?.innerText?.toLowerCase() || "";
const descriptionText =
descriptionElement?.innerText?.toLowerCase() || "";
return (
labelText.includes(searchTerm) || descriptionText.includes(searchTerm)
);
},
checkIfAllCheckboxesAreChecked() {
if (this.visibleCheckboxListOptions.length === 0) {
this.areAllCheckboxesChecked = false;
return;
}
this.areAllCheckboxesChecked =
this.visibleCheckboxListOptions.length ===
this.visibleCheckboxListOptions.filter((checkboxLabel) =>
checkboxLabel.querySelector(this.selectors.checkedOrDisabled)
).length;
},
toggleAllCheckboxes() {
this.checkIfAllCheckboxesAreChecked();
const shouldCheck = !this.areAllCheckboxesChecked;
// Batch DOM operations for better performance
const checkboxesToUpdate = [];
this.visibleCheckboxListOptions.forEach((checkboxLabel) => {
const checkbox = checkboxLabel.querySelector(this.selectors.checkbox);
if (checkbox && !checkbox.disabled) {
checkboxesToUpdate.push(checkbox);
}
});
// Update all checkboxes at once
checkboxesToUpdate.forEach((checkbox) => {
checkbox.checked = shouldCheck;
checkbox.dispatchEvent(new Event("change"));
});
this.areAllCheckboxesChecked = shouldCheck;
},
updateVisibleCheckboxListOptions() {
if (!this.search || this.search.trim() === "") {
this.visibleCheckboxListOptions = [...this.checkboxListOptions];
return;
}
this.visibleCheckboxListOptions = this.checkboxListOptions.filter(
(checkboxListItem) => this.isFoundInSearch(checkboxListItem)
);
},
};
}
+20
View File
@@ -19,6 +19,13 @@ button[wire\:click="resetTableFiltersForm"] {
/* background-color: #0f172b; */ /* background-color: #0f172b; */
} }
/* stripes in popups */
@layer utilities {
.striped div:nth-child(even) {
@apply bg-gray-100
}
}
/* .fi-ta-header-toolbar { /* .fi-ta-header-toolbar {
@apply flex-row-reverse; @apply flex-row-reverse;
} */ } */
@@ -62,6 +69,19 @@ button[wire\:click="resetTableFiltersForm"] {
} }
} }
/* Styling Radio Boxes */
#multiline_setting {
@apply !grid grid-cols-3 gap-5 mb-4
}
#multiline_setting input {
@apply checked:border-blue-500
}
#multiline_setting .fi-fo-radio-label {
@apply p-3 border border-gray-700 rounded-xl cursor-pointer has-checked:bg-blue-50 has-checked:text-blue-900 has-checked:ring-blue-200 dark:has-checked:bg-blue-950 dark:has-checked:text-blue-200 dark:has-checked:ring-blue-900
}
#mapper_right .fi-ta-filter-indicators button, #mapper_right .fi-ta-filter-indicators button,
#mapper_left .fi-ta-filter-indicators button { #mapper_left .fi-ta-filter-indicators button {
display: none; display: none;
@@ -0,0 +1,19 @@
<div class="flex flex-1 gap-3 items-center m-5 drop-shadow ">
@switch(auth()->user()->sport_id)
@case(1)
<x-icon-soccerball class="h-8 text-blue-600" />
@break
@case(1)
<x-icon-icehockey class="h-8 text-gray-950" />
@break
@case(3)
<x-icon-basketball class="h-8 text-red-600" />
@break
@case(4)
<x-icon-tennisball class="h-8 text-yellow-600" />
@break
@default
@endswitch
<p class="text-xl font-black">{{ $slot }}</p>
</div>
@@ -1,6 +1,5 @@
<div class="grid grid-cols-2 gap-1 p-1 border rounded border-zinc-200 dark:border-zinc-800 bg-gray-100 dark:bg-gray-900 text-center shadow" <div class="grid grid-cols-4 text-xs gap-1 p-1 border rounded border-zinc-200 dark:border-zinc-800 bg-gray-100 dark:bg-gray-900 text-center shadow">
style="font-size: 10px;"> <div class="text-nowrap">{{ $title }}</div>
<div class="row-span-3 text-lg text-gray-500 pt-3">{{ $title }}</div>
@if ($red) @if ($red)
<div class="cursor-pointer" wire:click="filterAlarm('{{ $filter }}', 3)"> <div class="cursor-pointer" wire:click="filterAlarm('{{ $filter }}', 3)">
@@ -12,11 +12,9 @@
@endphp @endphp
@if ($getColumns() == 2) @if ($getColumns() == 2)
<div {{ $getExtraAttributeBag() }} class="grid grid-cols-4 gap-1 mb-1" <div {{ $getExtraAttributeBag() }} class="grid grid-cols-4 gap-1 mb-1 text-xs text-center w-48 mr-3">
style="font-size: 10.5px; text-align:center; width:216px;">
@else @else
<div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 gap-1 mb-1" <div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 gap-1 mb-1 text-xs text-center w-64 mr-3">
style="font-size: 10.5px; text-align:center; width:270px;">
@endif @endif
@@ -1,3 +1,7 @@
<div> <div>
<x-sport-header>
{{ auth()->user()->sport->name }} Alarm Configuration
</x-sport-header>
{{ $this->table }} {{ $this->table }}
</div> </div>
@@ -1,3 +1,8 @@
<div id="ComparingBookmakerMenu"> <div id="ComparingBookmakerMenu">
<x-sport-header>
{{ auth()->user()->sport->name }} Comparing Bookmaker
</x-sport-header>
{{ $this->table }} {{ $this->table }}
</div> </div>
@@ -1,3 +1,7 @@
<div> <div>
<x-sport-header>
{{ auth()->user()->sport->name }} Multiline Configuration
</x-sport-header>
{{ $this->table }} {{ $this->table }}
</div> </div>
@@ -1,3 +0,0 @@
<div>
{{-- To attain knowledge, add things every day; To attain wisdom, subtract things every day. --}}
</div>
@@ -72,7 +72,9 @@
<x-slot name="heading"> <x-slot name="heading">
<div class="flex justify-between items-center w-5xl"> <div class="flex justify-between items-center w-5xl">
<div>Event Mapper</div> <x-sport-header>
{{ auth()->user()->sport->name }} Event Mapper
</x-sport-header>
@php @php
if (!auth()->user()->provider_id) { if (!auth()->user()->provider_id) {
auth()->user()->provider_id = 2; auth()->user()->provider_id = 2;