This commit is contained in:
salam committed 2026-03-25 12:20:15 +01:00
1 parent ac41bc317a
commit 32cc345125
6 files changed
+457 -414

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Filament\Pages;
use BackedEnum;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Pages\Page;
class EventMapper extends Page
{
protected string $view = 'filament.pages.event-mapper';
protected static string|BackedEnum|null $navigationIcon = 'phosphor-arrows-in-line-horizontal';
protected function getHeaderActions(): array
{
return [
ActionGroup::make([
Action::make('bet365')
->visible(fn (): bool => auth()->user()->hasRole('mapper_source_betsapi') && auth()->user()->provider_id != 2)
->action(fn() => User::),
])
->label('Swop Bookmaker')
->icon('phosphor-dots-three-vertical')
->color('primary')
->button(),
];
}
}
+81 -86
View File
@@ -16,7 +16,6 @@ use Filament\Actions\Action;
use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Forms\Components\Select;
use Filament\Schemas\Components\FusedGroup;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Schemas\Concerns\InteractsWithSchemas;
use Filament\Schemas\Contracts\HasSchemas;
@@ -31,11 +30,9 @@ use Filament\Tables\Filters\Filter;
use Filament\Tables\Filters\Indicator;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Livewire\Attributes\Lazy;
use Livewire\Attributes\On;
use Livewire\Component;
#[Lazy]
class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
{
use InteractsWithActions;
@@ -100,100 +97,98 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
Filter::make('events')
->columns(4)
->schema([
FusedGroup::make([
Select::make('country_id')
->placeholder('Country')
->visible(fn () => auth()->user()->sport_id != 5)
->hiddenLabel()
->searchable()
->preload()
->options(function (Get $get) {
$query = Event::query()->where('sport_id', auth()->user()->sport_id)->where('betradar_id', 0)->groupBy('country_id');
Select::make('country_id')
->placeholder('Country')
->visible(fn () => auth()->user()->sport_id != 5)
->hiddenLabel()
->searchable()
->preload()
->options(function (Get $get) {
$query = Event::query()->where('sport_id', auth()->user()->sport_id)->where('betradar_id', 0)->groupBy('country_id');
$timeframe = $get('starttime_period') ?? [];
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
}
$res = $query->pluck('country_id')->toArray();
return Country::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
})
->afterStateUpdated(function (callable $set) {
$set('competition_group_id', null);
})
->live(),
Select::make('competition_group_id')
->placeholder('League')
->hiddenLabel()
->label('')
->searchable()
->options(function (Get $get) {
$query = CompetitionGroup::where('sport_id', auth()->user()->sport_id)
->whereHas('event', function ($query) {
$query->where('betradar_id', 0);
});
if ($get('country_id') ?? null) {
$res = $query->where('country_id', $get('country_id'))->get();
} else {
$timeframe = $get('starttime_period') ?? null;
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->whereHas('event', function ($query) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
}
$res = $query->pluck('country_id')->toArray();
return Country::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
})
->afterStateUpdated(function (callable $set) {
$set('competition_group_id', null);
})
->live(),
Select::make('competition_group_id')
->placeholder('League')
->hiddenLabel()
->label('')
->searchable()
->options(function (Get $get) {
$query = CompetitionGroup::where('sport_id', auth()->user()->sport_id)
->whereHas('event', function ($query) {
$query->where('betradar_id', 0);
$query->where('starttime', '<=', $end);
}
});
if ($get('country_id') ?? null) {
$res = $query->where('country_id', $get('country_id'))->get();
}
if (auth()->user()->sport_id != 5) {
$res = $query->groupBy('country_id')->get();
} else {
$timeframe = $get('starttime_period') ?? null;
if ($timeframe['start'] || $timeframe['end']) {
$query->whereHas('event', function ($query) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
});
}
if (auth()->user()->sport_id != 5) {
$res = $query->groupBy('country_id')->get();
} else {
$res = $query->get();
}
$res = $query->get();
}
$arr = [];
$map = Country::all()->pluck('name', 'id')->toArray();
foreach ($res as $value) {
if (isset($map[$value->country_id])) {
$arr[$value->id] = $map[$value->country_id].' '.$value->name;
} else {
$arr[$value->id] = $value->name;
}
}
$arr = [];
$map = Country::all()->pluck('name', 'id')->toArray();
foreach ($res as $value) {
if (isset($map[$value->country_id])) {
$arr[$value->id] = $map[$value->country_id].' '.$value->name;
} else {
$arr[$value->id] = $value->name;
}
asort($arr);
}
asort($arr);
return $arr;
})
->live(),
])->columnSpan(2),
return $arr;
})
->live(),
DateRangePicker::make('starttime_period')
->displayFormat('d M Y')
->columnSpan(2)
+100 -105
View File
@@ -16,7 +16,6 @@ use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Forms\Components\Select;
use Filament\Notifications\Notification;
use Filament\Schemas\Components\FusedGroup;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Schemas\Concerns\InteractsWithSchemas;
use Filament\Schemas\Contracts\HasSchemas;
@@ -32,11 +31,9 @@ use Filament\Tables\Filters\Indicator;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
use Livewire\Attributes\Lazy;
use Livewire\Attributes\On;
use Livewire\Component;
#[Lazy]
class MapperRight extends Component implements HasActions, HasSchemas, HasTable
{
use InteractsWithActions;
@@ -101,122 +98,120 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->filters([
Filter::make('events')
->schema([
FusedGroup::make([
Select::make('country_id')
->visible(fn () => in_array(auth()->user()->provider_id, [3, 4]) && auth()->user()->sport_id != 5)
->placeholder('Country')
->hiddenLabel()
->label('')
->searchable()
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('country_id')->orderBy('country');
Select::make('country_id')
->visible(fn () => in_array(auth()->user()->provider_id, [3, 4]) && auth()->user()->sport_id != 5)
->placeholder('Country')
->hiddenLabel()
->label('')
->searchable()
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('country_id')->orderBy('country');
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
$query->where('starttime', '<=', $end);
}
}
return $query->pluck('country', 'country_id')->toArray();
})
->afterStateUpdated(function (callable $set) {
$set('group_id', null);
})
->placeholder('Country'),
Select::make('group_cc')
->visible(fn () => auth()->user()->provider_id == 2)
->placeholder('Country')
->hiddenLabel()
->label('')
->searchable()
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('group_cc');
return $query->pluck('country', 'country_id')->toArray();
})
->afterStateUpdated(function (callable $set) {
$set('group_id', null);
})
->placeholder('Country'),
Select::make('group_cc')
->visible(fn () => auth()->user()->provider_id == 2)
->placeholder('Country')
->hiddenLabel()
->label('')
->searchable()
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('group_cc');
$timeframe = $get('starttime_period') ?? [];
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
$query->where('starttime', '<=', $end);
}
if ($get('country_id') ?? null) {
$res = $query->where('country_id', $get('country_id'))->pluck('group_cc')->toArray();
} else {
$res = $query->pluck('group_cc')->toArray();
}
if ($get('country_id') ?? null) {
$res = $query->where('country_id', $get('country_id'))->pluck('group_cc')->toArray();
} else {
$res = $query->pluck('group_cc')->toArray();
}
return Country::query()->whereIn('iso2', $res)->orderBy('name')->pluck('name', 'iso2');
})
->reactive()
->afterStateUpdated(function (callable $set) {
$set('group_id', null);
})
->placeholder('Country'),
Select::make('group_id')
->placeholder('League')
->label('Leagues')
->hiddenLabel()
->label('')
->searchable()
->preload()
->options(function (Get $get) {
if ($get('country_id')) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->where('country_id', $get('country_id'))->groupBy('group_id');
} elseif ($get('group_cc')) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->where('group_cc', $get('group_cc'))->groupBy('group_id');
} else {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('group_id');
}
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
}
return Country::query()->whereIn('iso2', $res)->orderBy('name')->pluck('name', 'iso2');
})
->reactive()
->afterStateUpdated(function (callable $set) {
$set('group_id', null);
})
->placeholder('Country'),
Select::make('group_id')
->placeholder('League')
->label('Leagues')
->hiddenLabel()
->label('')
->searchable()
->preload()
->options(function (Get $get) {
if ($get('country_id')) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->where('country_id', $get('country_id'))->groupBy('group_id');
} elseif ($get('group_cc')) {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->where('group_cc', $get('group_cc'))->groupBy('group_id');
} else {
$query = Mapper::query()->where('sport_id', auth()->user()->sport_id)->where('provider_id', auth()->user()->provider_id)->groupBy('group_id');
}
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
if (isset($timeframe['start']) && isset($timeframe['end'])) {
$from = Carbon::createFromDate($timeframe['start']);
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '>=', $from)->where('starttime', '<=', $end);
} elseif (isset($timeframe['start'])) {
$from = Carbon::createFromDate($timeframe['start']);
$query->where('starttime', '>=', $from);
} elseif (isset($timeframe['end'])) {
$end = Carbon::createFromDate($timeframe['end']);
$query->where('starttime', '<=', $end);
}
}
return $query->pluck('group', 'group_id')->toArray();
})
->live(),
])->columnSpan(2),
return $query->pluck('group', 'group_id')->toArray();
})
->live(),
DateRangePicker::make('starttime_period')
->columnSpan(2)
->displayFormat('d M Y')
Generated
+209 -222
View File
@@ -839,16 +839,16 @@
},
{
"name": "codewithkyrian/filament-date-range",
"version": "2.2.0",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/CodeWithKyrian/filament-date-range.git",
"reference": "a745e24e6155e32a23779ce5a194c486d3a9408e"
"reference": "fd4c29d2bd70aef5e36e81c2538af643d34d3440"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/CodeWithKyrian/filament-date-range/zipball/a745e24e6155e32a23779ce5a194c486d3a9408e",
"reference": "a745e24e6155e32a23779ce5a194c486d3a9408e",
"url": "https://api.github.com/repos/CodeWithKyrian/filament-date-range/zipball/fd4c29d2bd70aef5e36e81c2538af643d34d3440",
"reference": "fd4c29d2bd70aef5e36e81c2538af643d34d3440",
"shasum": ""
},
"require": {
@@ -882,9 +882,9 @@
"description": "A date range field and filter for Filament v3.",
"support": {
"issues": "https://github.com/CodeWithKyrian/filament-date-range/issues",
"source": "https://github.com/CodeWithKyrian/filament-date-range/tree/2.2.0"
"source": "https://github.com/CodeWithKyrian/filament-date-range/tree/2.2.1"
},
"time": "2026-01-21T12:59:34+00:00"
"time": "2026-03-23T12:11:18+00:00"
},
{
"name": "composer/ca-bundle",
@@ -2954,20 +2954,20 @@
},
{
"name": "laravel/framework",
"version": "v12.55.1",
"version": "v11.50.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "6d9185a248d101b07eecaf8fd60b18129545fd33"
"reference": "c761f591209b45f56c1317ecbff0b04c89cf7ba2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/6d9185a248d101b07eecaf8fd60b18129545fd33",
"reference": "6d9185a248d101b07eecaf8fd60b18129545fd33",
"url": "https://api.github.com/repos/laravel/framework/zipball/c761f591209b45f56c1317ecbff0b04c89cf7ba2",
"reference": "c761f591209b45f56c1317ecbff0b04c89cf7ba2",
"shasum": ""
},
"require": {
"brick/math": "^0.11|^0.12|^0.13|^0.14",
"brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14",
"composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5",
"dragonmantank/cron-expression": "^3.4",
@@ -2982,34 +2982,32 @@
"fruitcake/php-cors": "^1.3",
"guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0",
"laravel/prompts": "^0.3.0",
"laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
"laravel/serializable-closure": "^1.3|^2.0",
"league/commonmark": "^2.8.1",
"league/commonmark": "^2.7",
"league/flysystem": "^3.25.1",
"league/flysystem-local": "^3.25.1",
"league/uri": "^7.5.1",
"monolog/monolog": "^3.0",
"nesbot/carbon": "^3.8.4",
"nesbot/carbon": "^2.72.6|^3.8.4",
"nunomaduro/termwind": "^2.0",
"php": "^8.2",
"psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.7",
"symfony/console": "^7.2.0",
"symfony/error-handler": "^7.2.0",
"symfony/finder": "^7.2.0",
"symfony/console": "^7.0.3",
"symfony/error-handler": "^7.0.3",
"symfony/finder": "^7.0.3",
"symfony/http-foundation": "^7.2.0",
"symfony/http-kernel": "^7.2.0",
"symfony/mailer": "^7.2.0",
"symfony/mime": "^7.2.0",
"symfony/polyfill-php83": "^1.33",
"symfony/polyfill-php84": "^1.33",
"symfony/polyfill-php85": "^1.33",
"symfony/process": "^7.2.0",
"symfony/routing": "^7.2.0",
"symfony/uid": "^7.2.0",
"symfony/var-dumper": "^7.2.0",
"symfony/http-kernel": "^7.0.3",
"symfony/mailer": "^7.0.3",
"symfony/mime": "^7.0.3",
"symfony/polyfill-php83": "^1.31",
"symfony/process": "^7.0.3",
"symfony/routing": "^7.0.3",
"symfony/uid": "^7.0.3",
"symfony/var-dumper": "^7.0.3",
"tijsverkoyen/css-to-inline-styles": "^2.2.5",
"vlucas/phpdotenv": "^5.6.1",
"voku/portable-ascii": "^2.0.2"
@@ -3041,7 +3039,6 @@
"illuminate/filesystem": "self.version",
"illuminate/hashing": "self.version",
"illuminate/http": "self.version",
"illuminate/json-schema": "self.version",
"illuminate/log": "self.version",
"illuminate/macroable": "self.version",
"illuminate/mail": "self.version",
@@ -3051,7 +3048,6 @@
"illuminate/process": "self.version",
"illuminate/queue": "self.version",
"illuminate/redis": "self.version",
"illuminate/reflection": "self.version",
"illuminate/routing": "self.version",
"illuminate/session": "self.version",
"illuminate/support": "self.version",
@@ -3075,18 +3071,17 @@
"league/flysystem-read-only": "^3.25.1",
"league/flysystem-sftp-v3": "^3.25.1",
"mockery/mockery": "^1.6.10",
"opis/json-schema": "^2.4.1",
"orchestra/testbench-core": "^10.9.0",
"pda/pheanstalk": "^5.0.6|^7.0.0",
"orchestra/testbench-core": "^9.18.0",
"pda/pheanstalk": "^5.0.6",
"php-http/discovery": "^1.15",
"phpstan/phpstan": "^2.1.41",
"phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
"predis/predis": "^2.3|^3.0",
"resend/resend-php": "^0.10.0|^1.0",
"symfony/cache": "^7.2.0",
"symfony/http-client": "^7.2.0",
"symfony/psr-http-message-bridge": "^7.2.0",
"symfony/translation": "^7.2.0"
"phpstan/phpstan": "2.1.41",
"phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1",
"predis/predis": "^2.3",
"resend/resend-php": "^0.10.0",
"symfony/cache": "^7.0.3",
"symfony/http-client": "^7.0.3",
"symfony/psr-http-message-bridge": "^7.0.3",
"symfony/translation": "^7.0.3"
},
"suggest": {
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
@@ -3101,7 +3096,7 @@
"ext-pdo": "Required to use all database features.",
"ext-posix": "Required to use all features of the queue worker.",
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
"fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
@@ -3112,22 +3107,22 @@
"mockery/mockery": "Required to use mocking (^1.6).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).",
"php-http/discovery": "Required to use PSR-7 bridging features (^1.15).",
"phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).",
"predis/predis": "Required to use the predis connector (^2.3|^3.0).",
"phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).",
"predis/predis": "Required to use the predis connector (^2.3).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
"resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).",
"symfony/cache": "Required to PSR-6 cache bridge (^7.2).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).",
"symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).",
"symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).",
"symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).",
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)."
"resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).",
"symfony/cache": "Required to PSR-6 cache bridge (^7.0).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).",
"symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).",
"symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).",
"symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).",
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "12.x-dev"
"dev-master": "11.x-dev"
}
},
"autoload": {
@@ -3138,7 +3133,6 @@
"src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php",
"src/Illuminate/Log/functions.php",
"src/Illuminate/Reflection/helpers.php",
"src/Illuminate/Support/functions.php",
"src/Illuminate/Support/helpers.php"
],
@@ -3147,8 +3141,7 @@
"Illuminate\\Support\\": [
"src/Illuminate/Macroable/",
"src/Illuminate/Collections/",
"src/Illuminate/Conditionable/",
"src/Illuminate/Reflection/"
"src/Illuminate/Conditionable/"
]
}
},
@@ -3172,20 +3165,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2026-03-18T14:28:59+00:00"
"time": "2026-03-17T19:35:22+00:00"
},
{
"name": "laravel/prompts",
"version": "v0.3.15",
"version": "v0.3.16",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
"reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999"
"reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/prompts/zipball/4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
"reference": "4bb8107ec97651fd3f17f897d6489dbc4d8fb999",
"url": "https://api.github.com/repos/laravel/prompts/zipball/11e7d5f93803a2190b00e145142cb00a33d17ad2",
"reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2",
"shasum": ""
},
"require": {
@@ -3229,9 +3222,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
"source": "https://github.com/laravel/prompts/tree/v0.3.15"
"source": "https://github.com/laravel/prompts/tree/v0.3.16"
},
"time": "2026-03-17T13:45:17+00:00"
"time": "2026-03-23T14:35:33+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -3645,16 +3638,16 @@
},
{
"name": "league/flysystem",
"version": "3.32.0",
"version": "3.33.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725"
"reference": "570b8871e0ce693764434b29154c54b434905350"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/254b1595b16b22dbddaaef9ed6ca9fdac4956725",
"reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350",
"reference": "570b8871e0ce693764434b29154c54b434905350",
"shasum": ""
},
"require": {
@@ -3722,9 +3715,9 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.32.0"
"source": "https://github.com/thephpleague/flysystem/tree/3.33.0"
},
"time": "2026-02-25T17:01:41+00:00"
"time": "2026-03-25T07:59:30+00:00"
},
{
"name": "league/flysystem-local",
@@ -4419,27 +4412,27 @@
},
{
"name": "mongodb/laravel-mongodb",
"version": "5.7.0",
"version": "5.1.1",
"source": {
"type": "git",
"url": "https://github.com/mongodb/laravel-mongodb",
"reference": "0071a45e79741f316f9b8e3a0372c8881ba5f81f"
"url": "https://github.com/mongodb/laravel-mongodb.git",
"reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/0071a45e79741f316f9b8e3a0372c8881ba5f81f",
"reference": "0071a45e79741f316f9b8e3a0372c8881ba5f81f",
"url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4",
"reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.0.0",
"ext-mongodb": "^1.21|^2",
"illuminate/cache": "^10.36|^11|^12|^13.0",
"illuminate/container": "^10.0|^11|^12|^13.0",
"illuminate/database": "^10.30|^11|^12|^13.0",
"illuminate/events": "^10.0|^11|^12|^13.0",
"illuminate/support": "^10.0|^11|^12|^13.0",
"mongodb/mongodb": "^1.21|^2",
"ext-mongodb": "^1.15",
"illuminate/cache": "^10.36|^11",
"illuminate/container": "^10.0|^11",
"illuminate/database": "^10.30|^11",
"illuminate/events": "^10.0|^11",
"illuminate/support": "^10.0|^11",
"mongodb/mongodb": "^1.18",
"php": "^8.1"
},
"conflict": {
@@ -4449,19 +4442,20 @@
"jenssegers/mongodb": "self.version"
},
"require-dev": {
"doctrine/coding-standard": "^12.0",
"laravel/scout": "^10.3",
"doctrine/coding-standard": "12.0.x-dev",
"league/flysystem-gridfs": "^3.28",
"league/flysystem-read-only": "^3.0",
"mockery/mockery": "^1.4.4",
"orchestra/testbench": "^8.0|^9.0|^10.0|^11.0",
"phpstan/phpstan": "^1.10|^2.1",
"phpunit/phpunit": "^10.3|^11.5.3|^12.5.12",
"rector/rector": "^1.2|^2.3",
"spatie/laravel-query-builder": "^5.6|^6"
"mongodb/builder": "^0.2",
"orchestra/testbench": "^8.0|^9.0",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^10.3",
"rector/rector": "^1.2",
"spatie/laravel-query-builder": "^5.6"
},
"suggest": {
"league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS"
"league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS",
"mongodb/builder": "Provides a fluent aggregation builder for MongoDB pipelines"
},
"type": "library",
"extra": {
@@ -4487,11 +4481,6 @@
"email": "andreas.braun@mongodb.com",
"role": "Leader"
},
{
"name": "Pauline Vos",
"email": "pauline.vos@mongodb.com",
"role": "Maintainer"
},
{
"name": "Jérôme Tamarelle",
"email": "jerome.tamarelle@mongodb.com",
@@ -4520,40 +4509,41 @@
],
"support": {
"issues": "https://www.mongodb.com/support",
"security": "https://www.mongodb.com/security"
"security": "https://www.mongodb.com/security",
"source": "https://github.com/mongodb/laravel-mongodb/tree/5.1.1"
},
"time": "2026-03-20T12:20:25+00:00"
"time": "2025-01-06T09:22:28+00:00"
},
{
"name": "mongodb/mongodb",
"version": "2.2.0",
"version": "1.20.0",
"source": {
"type": "git",
"url": "https://github.com/mongodb/mongo-php-library.git",
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298"
"reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/bbb13f969e37e047fd822527543df55fdc1c9298",
"reference": "bbb13f969e37e047fd822527543df55fdc1c9298",
"url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6",
"reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.0",
"ext-mongodb": "^2.2",
"php": "^8.1",
"ext-hash": "*",
"ext-json": "*",
"ext-mongodb": "^1.20.0",
"php": "^7.4 || ^8.0",
"psr/log": "^1.1.4|^2|^3",
"symfony/polyfill-php85": "^1.32"
},
"replace": {
"mongodb/builder": "*"
"symfony/polyfill-php80": "^1.27",
"symfony/polyfill-php81": "^1.27"
},
"require-dev": {
"doctrine/coding-standard": "^12.0",
"phpunit/phpunit": "^10.5.35",
"rector/rector": "^2.3.4",
"rector/rector": "^1.1",
"squizlabs/php_codesniffer": "^3.7",
"vimeo/psalm": "~6.14.2"
"symfony/phpunit-bridge": "^5.2",
"vimeo/psalm": "^5.13"
},
"type": "library",
"extra": {
@@ -4597,9 +4587,9 @@
],
"support": {
"issues": "https://github.com/mongodb/mongo-php-library/issues",
"source": "https://github.com/mongodb/mongo-php-library/tree/2.2.0"
"source": "https://github.com/mongodb/mongo-php-library/tree/1.20.0"
},
"time": "2026-02-11T11:39:56+00:00"
"time": "2024-09-25T12:54:08+00:00"
},
{
"name": "monolog/monolog",
@@ -6500,34 +6490,31 @@
},
{
"name": "spatie/laravel-permission",
"version": "7.2.2",
"version": "6.25.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-permission.git",
"reference": "4b2572eb5ef2c8cb719df09e0e6feb7431fda93f"
"reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-permission/zipball/4b2572eb5ef2c8cb719df09e0e6feb7431fda93f",
"reference": "4b2572eb5ef2c8cb719df09e0e6feb7431fda93f",
"url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3",
"shasum": ""
},
"require": {
"illuminate/auth": "^12.0|^13.0",
"illuminate/container": "^12.0|^13.0",
"illuminate/contracts": "^12.0|^13.0",
"illuminate/database": "^12.0|^13.0",
"php": "^8.3",
"spatie/laravel-package-tools": "^1.0"
"illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0",
"php": "^8.0"
},
"require-dev": {
"larastan/larastan": "^3.9",
"laravel/passport": "^13.0",
"laravel/passport": "^11.0|^12.0|^13.0",
"laravel/pint": "^1.0",
"orchestra/testbench": "^10.0|^11.0",
"pestphp/pest": "^3.0|^4.0",
"pestphp/pest-plugin-laravel": "^3.0|^4.1",
"phpstan/phpstan": "^2.1"
"orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0|^11.0",
"pestphp/pest": "^2.0|^3.0|^4.0",
"pestphp/pest-plugin-laravel": "^2.0|^3.0|^4.0"
},
"type": "library",
"extra": {
@@ -6537,8 +6524,8 @@
]
},
"branch-alias": {
"dev-main": "7.x-dev",
"dev-master": "7.x-dev"
"dev-main": "6.x-dev",
"dev-master": "6.x-dev"
}
},
"autoload": {
@@ -6561,7 +6548,7 @@
"role": "Developer"
}
],
"description": "Permission handling for Laravel 12 and up",
"description": "Permission handling for Laravel 8.0 and up",
"homepage": "https://github.com/spatie/laravel-permission",
"keywords": [
"acl",
@@ -6575,7 +6562,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-permission/issues",
"source": "https://github.com/spatie/laravel-permission/tree/7.2.2"
"source": "https://github.com/spatie/laravel-permission/tree/6.25.0"
},
"funding": [
{
@@ -6583,7 +6570,7 @@
"type": "github"
}
],
"time": "2026-02-22T08:20:44+00:00"
"time": "2026-03-17T22:46:46+00:00"
},
{
"name": "spatie/shiki-php",
@@ -8372,6 +8359,86 @@
],
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.33.0",
@@ -8452,86 +8519,6 @@
],
"time": "2025-07-08T02:45:35+00:00"
},
{
"name": "symfony/polyfill-php84",
"version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
"reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
"reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php84\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2025-06-24T13:30:11+00:00"
},
{
"name": "symfony/polyfill-php85",
"version": "v1.33.0",
@@ -10390,16 +10377,16 @@
},
{
"name": "laravel/sail",
"version": "v1.54.0",
"version": "v1.55.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
"reference": "bcc5e06f1a79d806d880a4b027964d2aa5872b07"
"reference": "67dc1b72da4e066a2fb54c1c7582fd2f140ea191"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/bcc5e06f1a79d806d880a4b027964d2aa5872b07",
"reference": "bcc5e06f1a79d806d880a4b027964d2aa5872b07",
"url": "https://api.github.com/repos/laravel/sail/zipball/67dc1b72da4e066a2fb54c1c7582fd2f140ea191",
"reference": "67dc1b72da4e066a2fb54c1c7582fd2f140ea191",
"shasum": ""
},
"require": {
@@ -10449,7 +10436,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
"time": "2026-03-11T14:10:52+00:00"
"time": "2026-03-23T15:56:34+00:00"
},
{
"name": "mockery/mockery",
@@ -11599,11 +11586,11 @@
},
{
"name": "phpstan/phpstan",
"version": "2.1.42",
"version": "2.1.43",
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/1279e1ce86ba768f0780c9d889852b4e02ff40d0",
"reference": "1279e1ce86ba768f0780c9d889852b4e02ff40d0",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/d01bebe3edfd4d49b9666ee5b8271ddca561042f",
"reference": "d01bebe3edfd4d49b9666ee5b8271ddca561042f",
"shasum": ""
},
"require": {
@@ -11648,7 +11635,7 @@
"type": "github"
}
],
"time": "2026-03-17T14:58:32+00:00"
"time": "2026-03-24T20:40:50+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -13454,12 +13441,12 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.3"
},
"platform-dev": [],
"plugin-api-version": "2.6.0"
"platform-dev": {},
"plugin-api-version": "2.9.0"
}
@@ -0,0 +1,35 @@
<x-filament-panels::page>
<div class="y-2 ml-auto">
@switch(auth()->user()->provider_id)
@case(5)
<x-bkm-logifuture-nigeria class="h-5" />
@break
@case(6)
<x-bkm-logifuture-colombia class="h-5" />
@break
@case(4)
<x-bkm-magloo-nigeria class="h-5" />
@break
@case(3)
<x-bkm-magloo-kenia class="h-5" />
@break
@case(2)
<x-bkm-bet365 class="h-5" />
@break
@endswitch
</div>
<div id="mapper" class="grid grid-cols-2 gap-4 drag-and-drop text-sm" x-data="{ search_left: '', search_right: '', event_id: 0, match_id: 0, overleftcolumn: false, overrightcolumn: false }"
x-init="$watch('search_left', value => Livewire.dispatch('search_left', value));
$watch('search_right', value => Livewire.dispatch('search_right', value));">
<div>
@livewire('mapper-left')
</div>
<div>
@livewire('mapper-right')
</div>
</div>
</x-filament-panels::page>
@@ -95,7 +95,7 @@
</x-filament::modal>
{{-- Event Mapper --}}
{{-- Event Mapper
<x-filament::modal width="screen" icon="phosphor-arrows-in-line-horizontal" :close-by-clicking-away="true" :close-by-escaping="true"
:close-button="true">
@@ -198,6 +198,7 @@
</div>
</div>
</x-filament::modal>
--}}
{{-- Multiline --}}
<x-filament::modal width="4xl" icon="phosphor-equals" :close-by-clicking-away="true" :close-by-escaping="true" :close-button="true">