alarms finsihed
This commit is contained in:
1 parent
99b657eb3a
commit
ca58eba530
8 files changed
+200
-96
No files matched your search
@@ -3,17 +3,9 @@
|
||||
namespace App\Filament\Resources\Events\Pages;
|
||||
|
||||
use App\Filament\Resources\Events\EventResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditEvent extends EditRecord
|
||||
{
|
||||
protected static string $resource = EventResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
// DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,11 @@ class ListEvents extends ListRecords
|
||||
|
||||
protected string|Width|null $maxContentWidth = Width::Full;
|
||||
|
||||
protected $listeners = ['refreshBettypeMenu' => '$refresh'];
|
||||
protected $listeners = [
|
||||
'refreshBettypeMenu' => '$refresh',
|
||||
'filterUpdateGreen' => 'updateTableFiltersGreen',
|
||||
'filterUpdateYellow' => 'updateTableFiltersYellow',
|
||||
'filterUpdateRed' => 'updateTableFiltersRed'];
|
||||
|
||||
protected function getHeaderWidgets(): array
|
||||
{
|
||||
@@ -22,6 +26,27 @@ class ListEvents extends ListRecords
|
||||
];
|
||||
}
|
||||
|
||||
public function updateTableFiltersGreen(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_red'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = $filter;
|
||||
}
|
||||
|
||||
public function updateTableFiltersYellow(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_red'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = $filter;
|
||||
}
|
||||
|
||||
public function updateTableFiltersRed(string $filter): void
|
||||
{
|
||||
$this->tableFilters['events']['filter_alarm_yellow'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_green'] = null;
|
||||
$this->tableFilters['events']['filter_alarm_red'] = $filter;
|
||||
}
|
||||
|
||||
public function getColumns(): int|array
|
||||
{
|
||||
return [
|
||||
|
||||
@@ -14,6 +14,7 @@ use App\Models\Event;
|
||||
use App\Models\EventBookmaker;
|
||||
use App\Models\EventUserStar;
|
||||
use App\Models\Group;
|
||||
use App\Models\OddsTable;
|
||||
use App\Models\Sport;
|
||||
use App\Models\User;
|
||||
use CodeWithKyrian\FilamentDateRange\Forms\Components\DateRangePicker;
|
||||
@@ -22,6 +23,7 @@ use Filament\Actions\ActionGroup;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Forms\Components\Hidden;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Support\Enums\FontWeight;
|
||||
@@ -173,6 +175,9 @@ class EventsTable
|
||||
Filter::make('events')
|
||||
->columns(5)->columnSpan(5)
|
||||
->schema([
|
||||
Hidden::make('filter_alarm_green'),
|
||||
Hidden::make('filter_alarm_yellow'),
|
||||
Hidden::make('filter_alarm_red'),
|
||||
Select::make(name: 'sport_id')
|
||||
->options(fn () => Sport::getSportForClient())
|
||||
->default(self::$user->sport_id)
|
||||
@@ -299,6 +304,51 @@ class EventsTable
|
||||
->whereDate('starttime', '<=', $end->format('Y-m-d 00:00:00'));
|
||||
}
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_green'],
|
||||
function (Builder $query, $filter_alarm_green) {
|
||||
$res = OddsTable::where('name', $filter_alarm_green)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 1);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_yellow'],
|
||||
function (Builder $query, $filter_alarm_yellow) {
|
||||
$res = OddsTable::where('name', $filter_alarm_yellow)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 2);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
)->when(
|
||||
$data['filter_alarm_red'],
|
||||
function (Builder $query, $filter_alarm_red) {
|
||||
$res = OddsTable::where('name', $filter_alarm_red)->value('fieldnames');
|
||||
$fieldnames = explode(',', $res);
|
||||
|
||||
return $query->whereHas('event_bookmaker', function ($query) use ($fieldnames) {
|
||||
$query->where('bookmaker_id', auth()->user()->bookmaker_id)
|
||||
->where(function ($query) use ($fieldnames) {
|
||||
foreach ($fieldnames as $field) {
|
||||
$query->orWhere($field, 3);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
})->indicateUsing(function (array $data): array {
|
||||
$indicators = [];
|
||||
@@ -320,13 +370,19 @@ class EventsTable
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['competition_group_id'] ?? null) {
|
||||
$competition_groups = CompetitionGroup::whereIn('id', $data['competition_group_id'])->pluck('name')->toArray();
|
||||
if (count($competition_groups) > 1) {
|
||||
$indicators[] = Indicator::make('Leagues: '.implode(', ', $competition_groups))->removeField('competition_group_id')->color('info');
|
||||
} else {
|
||||
$indicators[] = Indicator::make('League: '.$competition_groups[0])->removeField('competition_group_id')->color('info')->color('info');
|
||||
}
|
||||
if ($data['filter_alarm_green'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_green'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_green')->color('success');
|
||||
}
|
||||
|
||||
if ($data['filter_alarm_yellow'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_yellow'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_yellow')->color('warning');
|
||||
}
|
||||
|
||||
if ($data['filter_alarm_red'] ?? null) {
|
||||
$title = OddsTable::where('name', $data['filter_alarm_red'])->value('title');
|
||||
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_red')->color('danger');
|
||||
}
|
||||
|
||||
if ($data['starttime_period'] ?? null) {
|
||||
@@ -343,6 +399,15 @@ class EventsTable
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['competition_group_id'] ?? null) {
|
||||
$competition_groups = CompetitionGroup::whereIn('id', $data['competition_group_id'])->pluck('name')->toArray();
|
||||
if (count($competition_groups) > 1) {
|
||||
$indicators[] = Indicator::make('Leagues: '.implode(', ', $competition_groups))->removeField('competition_group_id')->color('info');
|
||||
} else {
|
||||
$indicators[] = Indicator::make('League: '.$competition_groups[0])->removeField('competition_group_id')->color('info')->color('info');
|
||||
}
|
||||
}
|
||||
|
||||
if ($data['stars_status'] ?? null) {
|
||||
$indicators[] = Indicator::make('Favorits')->removeField('stars_status')->color('info');
|
||||
}
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
namespace App\Filament\Resources\Events\Widgets;
|
||||
|
||||
use App\Actions\AlarmStatistic;
|
||||
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
||||
use Filament\Widgets\StatsOverviewWidget;
|
||||
use Filament\Widgets\StatsOverviewWidget\Stat;
|
||||
|
||||
class AlarmWidget extends StatsOverviewWidget
|
||||
{
|
||||
use InteractsWithPageFilters;
|
||||
|
||||
protected $listeners = [
|
||||
'refreshAlarmWidget' => '$refresh',
|
||||
];
|
||||
|
||||
protected ?string $pollingInterval = '10s';
|
||||
|
||||
public array $filters = [];
|
||||
|
||||
protected function getStats(): array
|
||||
{
|
||||
|
||||
@@ -23,69 +28,85 @@ class AlarmWidget extends StatsOverviewWidget
|
||||
case 1:
|
||||
return [
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways', 'title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2 HT', 'red' => $res['odds_3ways_ht'][3] ?? 0, 'yellow' => $res['odds_3ways_ht'][2] ?? 0, 'green' => $res['odds_3ways_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways_ht', 'title' => '1X2 HT', 'red' => $res['odds_3ways_ht'][3] ?? 0, 'yellow' => $res['odds_3ways_ht'][2] ?? 0, 'green' => $res['odds_3ways_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_ht', 'title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'GG NG', 'red' => $res['odds_ggng'][3] ?? 0, 'yellow' => $res['odds_ggng'][2] ?? 0, 'green' => $res['odds_ggng'][1] ?? 0]),
|
||||
['filter' => 'odds_ggng', 'title' => 'GG NG', 'red' => $res['odds_ggng'][3] ?? 0, 'yellow' => $res['odds_ggng'][2] ?? 0, 'green' => $res['odds_ggng'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'DNB', 'red' => $res['odds_dnb'][3] ?? 0, 'yellow' => $res['odds_dnb'][2] ?? 0, 'green' => $res['odds_dnb'][1] ?? 0]),
|
||||
['filter' => 'odds_dnb', 'title' => 'DNB', 'red' => $res['odds_dnb'][3] ?? 0, 'yellow' => $res['odds_dnb'][2] ?? 0, 'green' => $res['odds_dnb'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'DC', 'red' => $res['odds_dc'][3] ?? 0, 'yellow' => $res['odds_dc'][2] ?? 0, 'green' => $res['odds_dc'][1] ?? 0]),
|
||||
['filter' => 'odds_dc', 'title' => 'DC', 'red' => $res['odds_dc'][3] ?? 0, 'yellow' => $res['odds_dc'][2] ?? 0, 'green' => $res['odds_dc'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'TQ', 'red' => $res['odds_tq'][3] ?? 0, 'yellow' => $res['odds_tq'][2] ?? 0, 'green' => $res['odds_tq'][1] ?? 0]),
|
||||
['filter' => 'odds_tq', 'title' => 'TQ', 'red' => $res['odds_tq'][3] ?? 0, 'yellow' => $res['odds_tq'][2] ?? 0, 'green' => $res['odds_tq'][1] ?? 0]),
|
||||
];
|
||||
case 2:
|
||||
return [
|
||||
Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
['filter' => 'odds_3ways', 'title' => '1X2', 'red' => $res['odds_3ways'][3] ?? 0, 'yellow' => $res['odds_3ways'][2] ?? 0, 'green' => $res['odds_3ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_points_q1', 'title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_q1', 'title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
];
|
||||
case 3:
|
||||
return [
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_points_q1', 'title' => 'HC Q1', 'red' => $res['odds_points_q1'][3] ?? 0, 'yellow' => $res['odds_points_q1'][2] ?? 0, 'green' => $res['odds_points_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC HT', 'red' => $res['odds_points_ht'][3] ?? 0, 'yellow' => $res['odds_points_ht'][2] ?? 0, 'green' => $res['odds_points_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_points_ht', 'title' => 'HC HT', 'red' => $res['odds_points_ht'][3] ?? 0, 'yellow' => $res['odds_points_ht'][2] ?? 0, 'green' => $res['odds_points_ht'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_q1', 'title' => 'Totals Q1', 'red' => $res['odds_totals_q1'][3] ?? 0, 'yellow' => $res['odds_totals_q1'][2] ?? 0, 'green' => $res['odds_totals_q1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
['filter' => 'odds_totals_ht', 'title' => 'Totals HT', 'red' => $res['odds_totals_ht'][3] ?? 0, 'yellow' => $res['odds_totals_ht'][2] ?? 0, 'green' => $res['odds_totals_ht'][1] ?? 0]),
|
||||
];
|
||||
case 5:
|
||||
return [
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways', 'title' => 'ML', 'red' => $res['odds_2ways'][3] ?? 0, 'yellow' => $res['odds_2ways'][2] ?? 0, 'green' => $res['odds_2ways'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'MLS1', 'red' => $res['odds_2ways_s1'][3] ?? 0, 'yellow' => $res['odds_2ways_s1'][2] ?? 0, 'green' => $res['odds_2ways_s1'][1] ?? 0]),
|
||||
['filter' => 'odds_2ways_s1', 'title' => 'MLS1', 'red' => $res['odds_2ways_s1'][3] ?? 0, 'yellow' => $res['odds_2ways_s1'][2] ?? 0, 'green' => $res['odds_2ways_s1'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
['filter' => 'odds_points', 'title' => 'HC', 'red' => $res['odds_points'][3] ?? 0, 'yellow' => $res['odds_points'][2] ?? 0, 'green' => $res['odds_points'][1] ?? 0]),
|
||||
Stat::make('', '')->view('filament.resources.events.widgets.alarm-widget',
|
||||
['title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function filterAlarm($table, $alarm)
|
||||
{
|
||||
switch ($alarm) {
|
||||
case 1:
|
||||
$this->dispatch('filterUpdateGreen', $table);
|
||||
break;
|
||||
case 2:
|
||||
$this->dispatch('filterUpdateYellow', $table);
|
||||
break;
|
||||
case 3:
|
||||
$this->dispatch('filterUpdateRed', $table);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function getColumns(): int|array
|
||||
{
|
||||
return [
|
||||
|
||||
Generated
+36
-36
@@ -6825,16 +6825,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "01b24a145bbeaa7141e75887ec904c34a6728a5f"
|
||||
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/01b24a145bbeaa7141e75887ec904c34a6728a5f",
|
||||
"reference": "01b24a145bbeaa7141e75887ec904c34a6728a5f",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
|
||||
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -6869,7 +6869,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/finder/tree/v7.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -6889,7 +6889,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-12T12:19:02+00:00"
|
||||
"time": "2026-01-26T15:07:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/html-sanitizer",
|
||||
@@ -6967,16 +6967,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "977a554a34cf8edc95ca351fbecb1bb1ad05cc94"
|
||||
"reference": "446d0db2b1f21575f1284b74533e425096abdfb6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/977a554a34cf8edc95ca351fbecb1bb1ad05cc94",
|
||||
"reference": "977a554a34cf8edc95ca351fbecb1bb1ad05cc94",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/446d0db2b1f21575f1284b74533e425096abdfb6",
|
||||
"reference": "446d0db2b1f21575f1284b74533e425096abdfb6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7025,7 +7025,7 @@
|
||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v7.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7045,20 +7045,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-09T12:14:21+00:00"
|
||||
"time": "2026-01-27T16:16:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "48b067768859f7b68acf41dfb857a5a4be00acdd"
|
||||
"reference": "229eda477017f92bd2ce7615d06222ec0c19e82a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/48b067768859f7b68acf41dfb857a5a4be00acdd",
|
||||
"reference": "48b067768859f7b68acf41dfb857a5a4be00acdd",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/229eda477017f92bd2ce7615d06222ec0c19e82a",
|
||||
"reference": "229eda477017f92bd2ce7615d06222ec0c19e82a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7144,7 +7144,7 @@
|
||||
"description": "Provides a structured process for converting a Request into a Response",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v7.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7164,7 +7164,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-24T22:13:01+00:00"
|
||||
"time": "2026-01-28T10:33:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mailer",
|
||||
@@ -7252,16 +7252,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/mime",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/mime.git",
|
||||
"reference": "40945014c0a9471ccfe19673c54738fa19367a3c"
|
||||
"reference": "b18c7e6e9eee1e19958138df10412f3c4c316148"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/40945014c0a9471ccfe19673c54738fa19367a3c",
|
||||
"reference": "40945014c0a9471ccfe19673c54738fa19367a3c",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/b18c7e6e9eee1e19958138df10412f3c4c316148",
|
||||
"reference": "b18c7e6e9eee1e19958138df10412f3c4c316148",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7272,15 +7272,15 @@
|
||||
},
|
||||
"conflict": {
|
||||
"egulias/email-validator": "~3.0.0",
|
||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
||||
"phpdocumentor/type-resolver": "<1.4.0",
|
||||
"phpdocumentor/reflection-docblock": "<5.2|>=6",
|
||||
"phpdocumentor/type-resolver": "<1.5.1",
|
||||
"symfony/mailer": "<6.4",
|
||||
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"egulias/email-validator": "^2.1.10|^3.1|^4",
|
||||
"league/html-to-markdown": "^5.0",
|
||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||
"phpdocumentor/reflection-docblock": "^5.2",
|
||||
"symfony/dependency-injection": "^6.4|^7.0|^8.0",
|
||||
"symfony/process": "^6.4|^7.0|^8.0",
|
||||
"symfony/property-access": "^6.4|^7.0|^8.0",
|
||||
@@ -7317,7 +7317,7 @@
|
||||
"mime-type"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/mime/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/mime/tree/v7.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7337,7 +7337,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-08T16:12:55+00:00"
|
||||
"time": "2026-01-27T08:59:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@@ -8170,16 +8170,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "626f07a53f4b4e2f00e11824cc29f928d797783b"
|
||||
"reference": "608476f4604102976d687c483ac63a79ba18cc97"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/626f07a53f4b4e2f00e11824cc29f928d797783b",
|
||||
"reference": "626f07a53f4b4e2f00e11824cc29f928d797783b",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97",
|
||||
"reference": "608476f4604102976d687c483ac63a79ba18cc97",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -8211,7 +8211,7 @@
|
||||
"description": "Executes commands in sub-processes",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/process/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/process/tree/v7.4.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -8231,7 +8231,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-20T09:23:51+00:00"
|
||||
"time": "2026-01-26T15:07:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
@@ -12814,12 +12814,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.9.0"
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
@@ -14,6 +14,7 @@ return new class extends Migration
|
||||
Schema::create('odds_tables', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('title');
|
||||
$table->string('oddnames');
|
||||
$table->string('fieldnames');
|
||||
$table->timestamps();
|
||||
|
||||
@@ -12,23 +12,23 @@ class OddsTableSeeder extends Seeder
|
||||
/**
|
||||
* Provoider
|
||||
*/
|
||||
$sql = "INSERT INTO `odds_tables` (`id`, `name`, `oddnames`, `fieldnames`, `created_at`, `updated_at`)
|
||||
$sql = "INSERT INTO `odds_tables` (`id`, `name`, `title`, `oddnames`, `fieldnames`, `created_at`, `updated_at`)
|
||||
VALUES
|
||||
(1, 'odds_2ways', 'h2w,a2w', 'alarm_2w_h2w,alarm_2w_a2w', NULL, NULL),
|
||||
(2, 'odds_2ways_s1', 'h2w,a2w', 'alarm_2ws1_h2w,alarm_2ws1_a2w', NULL, NULL),
|
||||
(3, 'odds_3ways', 'h3w,d3w,a3w', 'alarm_3w_h3w,alarm_3w_d3w,alarm_3w_a3w', NULL, NULL),
|
||||
(4, 'odds_3ways_ht', 'h3w,d3w,a3w', 'alarm_3wht_h3w,alarm_3wht_d3w,alarm_3wht_a3w', NULL, NULL),
|
||||
(5, 'odds_dc', 'dc1x,dc12,dcx2', 'alarm_dc_dc1x,alarm_dc_dc12,alarm_dc_dcx2', NULL, NULL),
|
||||
(6, 'odds_dnb', 'dnb1,dnb2', 'alarm_dbn_dnb1,alarm_dbn_dnb2', NULL, NULL),
|
||||
(7, 'odds_ggng', 'gg,ng', 'alarm_ggng_gg,alarm_ggng_ng', NULL, NULL),
|
||||
(8, 'odds_points', 'home,away', 'alarm_po_home,alarm_po_away', NULL, NULL),
|
||||
(9, 'odds_points_ht', 'home,away', 'alarm_poht_home,alarm_poht_away', NULL, NULL),
|
||||
(10, 'odds_points_q1', 'home,away', 'alarm_poq1_home,alarm_poq1_away', NULL, NULL),
|
||||
(11, 'odds_totals', 'over,under', 'alarm_to_over,alarm_to_under', NULL, NULL),
|
||||
(12, 'odds_totals_ht', 'over,under', 'alarm_toht_over,alarm_toht_under', NULL, NULL),
|
||||
(13, 'odds_totals_q1', 'over,under', 'alarm_toq1_over,alarm_toq1_under', NULL, NULL),
|
||||
(14, 'odds_tq', 'htq,atq', 'alarm_tq_htq,alarm_tq_atq', NULL, NULL);
|
||||
";
|
||||
(1, 'odds_2ways', 'ML', 'h2w,a2w', 'alarm_2w_h2w,alarm_2w_a2w', NULL, NULL),
|
||||
(2, 'odds_2ways_s1', 'ML S1', 'h2w,a2w', 'alarm_2ws1_h2w,alarm_2ws1_a2w', NULL, NULL),
|
||||
(3, 'odds_3ways', '1X2', 'h3w,d3w,a3w', 'alarm_3w_h3w,alarm_3w_d3w,alarm_3w_a3w', NULL, NULL),
|
||||
(4, 'odds_3ways_ht', '1X2 HT', 'h3w,d3w,a3w', 'alarm_3wht_h3w,alarm_3wht_d3w,alarm_3wht_a3w', NULL, NULL),
|
||||
(5, 'odds_dc', 'DC', 'dc1x,dc12,dcx2', 'alarm_dc_dc1x,alarm_dc_dc12,alarm_dc_dcx2', NULL, NULL),
|
||||
(6, 'odds_dnb', 'DNB', 'dnb1,dnb2', 'alarm_dbn_dnb1,alarm_dbn_dnb2', NULL, NULL),
|
||||
(7, 'odds_ggng', 'GGNG', 'gg,ng', 'alarm_ggng_gg,alarm_ggng_ng', NULL, NULL),
|
||||
(8, 'odds_points', 'PO', 'home,away', 'alarm_po_home,alarm_po_away', NULL, NULL),
|
||||
(9, 'odds_points_ht', 'PO HT', 'home,away', 'alarm_poht_home,alarm_poht_away', NULL, NULL),
|
||||
(10, 'odds_points_q1', 'PO Q1', 'home,away', 'alarm_poq1_home,alarm_poq1_away', NULL, NULL),
|
||||
(11, 'odds_totals', 'TO', 'over,under', 'alarm_to_over,alarm_to_under', NULL, NULL),
|
||||
(12, 'odds_totals_ht', 'TO HT', 'over,under', 'alarm_toht_over,alarm_toht_under', NULL, NULL),
|
||||
(13, 'odds_totals_q1', 'TO Q1', 'over,under', 'alarm_toq1_over,alarm_toq1_under', NULL, NULL),
|
||||
(14, 'odds_tq', 'TQ', 'htq,atq', 'alarm_tq_htq,alarm_tq_atq', NULL, NULL);
|
||||
";
|
||||
DB::unprepared($sql);
|
||||
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
<div class="row-span-3 text-lg text-gray-500 pt-3">{{ $title }}</div>
|
||||
|
||||
@if ($red)
|
||||
<div class="cursor-pointer"><x-alarm-red>{{ $red }}</x-alarm-red></div>
|
||||
<div class="cursor-pointer" wire:click="filterAlarm('{{ $filter }}', 3)"><x-alarm-red>{{ $red }}</x-alarm-red></div>
|
||||
@else
|
||||
<x-alarm-neutral>0</x-alarm-neutral>
|
||||
@endif
|
||||
|
||||
@if ($yellow)
|
||||
<div class="cursor-pointer"><x-alarm-yellow>{{ $yellow }}</x-alarm-yellow></div>
|
||||
<div class="cursor-pointer" wire:click="filterAlarm('{{ $filter }}', 2)"><x-alarm-yellow>{{ $yellow }}</x-alarm-yellow></div>
|
||||
@else
|
||||
<x-alarm-neutral>0</x-alarm-neutral>
|
||||
@endif
|
||||
|
||||
@if ($green)
|
||||
<div class="cursor-pointer"><x-alarm-green>{{ $green }}</x-alarm-green></div>
|
||||
<div class="cursor-pointer" wire:click="filterAlarm('{{ $filter }}', 1)"><x-alarm-green>{{ $green }}</x-alarm-green></div>
|
||||
@else
|
||||
<x-alarm-neutral>0</x-alarm-neutral>
|
||||
@endif
|
||||
|
||||
Reference in new issue
Block a user