This commit is contained in:
salam committed 2026-07-11 08:00:41 +02:00
1 parent fc0f18ba73
commit 558430114a
11 files changed
+98 -135

No files matched your search

@@ -23,33 +23,32 @@ class SofaScoreTasksTable
->label('')
->grow(false)
->width(30)
->icon(fn ($record) => $record->sport->icon),
->icon(fn($record) => $record->sport->icon),
TextColumn::make('sport.name'),
IconColumn::make('compleated')
->width('1rem')
->label('Status')
->alignCenter()
->icon(fn (string $state): string => match ($state) {
->icon(fn(string $state): string => match ($state) {
'0' => 'phosphor-pause-fill',
'1' => 'phosphor-check-fat-fill',
})
->color(fn (string $state): string => match ($state) {
->color(fn(string $state): string => match ($state) {
'0' => 'gray',
'1' => 'success',
}),
TextColumn::make('mode')
->label('Grapping dates')
->formatStateUsing(fn (string $state, $record): string => match ($state) {
->formatStateUsing(fn(string $state, $record): string => match ($state) {
'yesterday' => 'Every yesterday',
'date' => $record->day_from,
'range' => $record->day_from.' <=> '.$record->day_to,
'range' => $record->day_from . ' <=> ' . $record->day_to,
}),
ToggleColumn::make('is_active')
->alignCenter()
->afterStateUpdated(function ($record) {
SofaScoreTask::where('id', $record->id)->update(['compleated' => 0]);
}),
ToggleColumn::make('run_slow')->alignCenter(),
ToggleColumn::make('run_repeatedly')->alignCenter(),
TextColumn::make('duration'),
])
@@ -43,15 +43,15 @@ use Illuminate\Support\Facades\DB;
class EventsTable
{
public static $user;
public static array $user;
public static $bettype_settings;
public static array $bettype_settings;
public static $slots;
public static array $slots;
public static $bookmaker;
public static array $bookmaker;
public static $filter;
public static array $filter;
public static function configure(Table $table): Table
{
@@ -69,106 +69,106 @@ class EventsTable
->columns([
IconColumn::make('sport.icon')
->label('')
->icon(fn ($record) => $record->sport->icon)
->tooltip(fn ($record) => $record->id)
->icon(fn($record) => $record->sport->icon)
->tooltip(fn($record) => $record->id)
->visibleFrom('lg'),
MatchIds::make('ids')->grow(false)->visibleFrom('xl')
->visible(fn () => auth()->user()->hasRole('super_admin')),
->visible(fn() => auth()->user()->hasRole('super_admin')),
ColumnStarttime::make('start'),
TextColumn::make('country.name')
->label('League')
->wrap()
->hidden(fn () => auth()->user()->sport_id == 5)
->hidden(fn() => auth()->user()->sport_id == 5)
->color('gray')
->icon(fn ($record) => $record->country?->icon)
->description(fn ($record) => ucwords($record->group?->name)),
->icon(fn($record) => $record->country?->icon)
->description(fn($record) => ucwords($record->group?->name)),
EventColumn::make('event'),
TooltipOdds::make('ml')->bettype('odds_2ways')->label('')->visible(fn () => in_array('odds_2ways', self::$bettype_settings)),
TooltipOdds::make('ml')->bettype('odds_2ways')->label('')->visible(fn() => in_array('odds_2ways', self::$bettype_settings)),
ColumnOdds::make('odds_2ways')->bettype('odds_2ways')
->visible(fn () => in_array('odds_2ways', self::$bettype_settings))
->visible(fn() => in_array('odds_2ways', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('ML'),
TooltipOdds::make('mls1')->bettype('odds_2ways_s1')->label('')->visible(fn () => in_array('odds_2ways_s1', self::$bettype_settings)),
TooltipOdds::make('mls1')->bettype('odds_2ways_s1')->label('')->visible(fn() => in_array('odds_2ways_s1', self::$bettype_settings)),
ColumnOdds::make('odds_2ways_s1')->bettype('odds_2ways_s1')
->visible(fn () => in_array('odds_2ways_s1', self::$bettype_settings))
->visible(fn() => in_array('odds_2ways_s1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('ML S1'),
TooltipOdds::make('1x2')->bettype('odds_3ways')->label('')->visible(fn () => in_array('odds_3ways', self::$bettype_settings)),
TooltipOdds::make('1x2')->bettype('odds_3ways')->label('')->visible(fn() => in_array('odds_3ways', self::$bettype_settings)),
ColumnOdds::make('odds_3ways')
->bettype('odds_3ways')
->visible(fn () => in_array('odds_3ways', self::$bettype_settings))
->visible(fn() => in_array('odds_3ways', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('1X2'),
TooltipOdds::make('1x2ht')->bettype('odds_3ways_ht')->label('')->visible(fn () => in_array('odds_3ways_ht', self::$bettype_settings)),
TooltipOdds::make('1x2ht')->bettype('odds_3ways_ht')->label('')->visible(fn() => in_array('odds_3ways_ht', self::$bettype_settings)),
ColumnOdds::make('odds_3ways_ht')->bettype('odds_3ways_ht')
->visible(fn () => in_array('odds_3ways_ht', self::$bettype_settings))
->visible(fn() => in_array('odds_3ways_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('1X2 HT'),
TooltipOdds::make('total')->bettype('odds_totals')->label('')->visible(fn () => in_array('odds_totals', self::$bettype_settings)),
TooltipOdds::make('total')->bettype('odds_totals')->label('')->visible(fn() => in_array('odds_totals', self::$bettype_settings)),
ColumnOdds::make('odds_totals')->bettype('odds_totals')
->visible(fn () => in_array('odds_totals', self::$bettype_settings))
->visible(fn() => in_array('odds_totals', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Totals'),
TooltipOdds::make('total_ht')->bettype('odds_totals_ht')->label('')->visible(fn () => in_array('odds_totals_ht', self::$bettype_settings)),
TooltipOdds::make('total_ht')->bettype('odds_totals_ht')->label('')->visible(fn() => in_array('odds_totals_ht', self::$bettype_settings)),
ColumnOdds::make('odds_totals_ht')->bettype('odds_totals_ht')
->visible(fn () => in_array('odds_totals_ht', self::$bettype_settings))
->visible(fn() => in_array('odds_totals_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Totals HT'),
TooltipOdds::make('total_q1')->bettype('odds_totals_q1')->label('')->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings)),
TooltipOdds::make('total_q1')->bettype('odds_totals_q1')->label('')->visible(fn() => in_array('odds_totals_q1', self::$bettype_settings)),
ColumnOdds::make('odds_totals_q1')->bettype('odds_totals_q1')
->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings))
->visible(fn() => in_array('odds_totals_q1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->alignCenter()
->label('Totals Q1'),
TooltipOdds::make('points')->bettype('odds_points')->label('')->visible(fn () => in_array('odds_points', self::$bettype_settings)),
TooltipOdds::make('points')->bettype('odds_points')->label('')->visible(fn() => in_array('odds_points', self::$bettype_settings)),
ColumnOdds::make('odds_points')->bettype('odds_points')
->visible(fn () => in_array('odds_points', self::$bettype_settings))
->visible(fn() => in_array('odds_points', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points'),
TooltipOdds::make('points_ht')->bettype('odds_points_ht')->label('')->visible(fn () => in_array('odds_points_ht', self::$bettype_settings)),
TooltipOdds::make('points_ht')->bettype('odds_points_ht')->label('')->visible(fn() => in_array('odds_points_ht', self::$bettype_settings)),
ColumnOdds::make('odds_points_ht')->bettype('odds_points_ht')
->visible(fn () => in_array('odds_points_ht', self::$bettype_settings))
->visible(fn() => in_array('odds_points_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points HT'),
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)),
ColumnOdds::make('odds_points_q1')->bettype('odds_points_q1')
->visible(fn () => in_array('odds_points_q1', self::$bettype_settings))
->visible(fn() => in_array('odds_points_q1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points Q1'),
TooltipOdds::make('ggng')->bettype('odds_ggng')->label('')->visible(fn () => in_array('odds_ggng', self::$bettype_settings)),
TooltipOdds::make('ggng')->bettype('odds_ggng')->label('')->visible(fn() => in_array('odds_ggng', self::$bettype_settings)),
ColumnOdds::make('odds_ggng')->bettype('odds_ggng')
->visible(fn () => \in_array('odds_ggng', self::$bettype_settings))
->visible(fn() => \in_array('odds_ggng', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Goal No Goal'),
TooltipOdds::make('dc')->bettype('odds_dc')->label('')->visible(fn () => in_array('odds_dc', self::$bettype_settings)),
TooltipOdds::make('dc')->bettype('odds_dc')->label('')->visible(fn() => in_array('odds_dc', self::$bettype_settings)),
ColumnOdds::make('odds_dc')->bettype('odds_dc')
->visible(fn () => \in_array('odds_dc', self::$bettype_settings))
->visible(fn() => \in_array('odds_dc', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Double Chance'),
TooltipOdds::make('tq')->bettype('odds_tq')->label('')->visible(fn () => in_array('odds_tq', self::$bettype_settings)),
TooltipOdds::make('tq')->bettype('odds_tq')->label('')->visible(fn() => in_array('odds_tq', self::$bettype_settings)),
ColumnOdds::make('odds_tq')->bettype('odds_tq')
->visible(fn () => \in_array('odds_tq', self::$bettype_settings))
->visible(fn() => \in_array('odds_tq', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('To Qualify'),
TooltipOdds::make('dnb')->bettype('odds_dnb')->label('')->visible(fn () => in_array('odds_dnb', self::$bettype_settings)),
TooltipOdds::make('dnb')->bettype('odds_dnb')->label('')->visible(fn() => in_array('odds_dnb', self::$bettype_settings)),
ColumnOdds::make('odds_dnb')->bettype('odds_dnb')
->visible(fn () => \in_array('odds_dnb', self::$bettype_settings))
->visible(fn() => \in_array('odds_dnb', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Draw No Bet'),
])
@@ -184,7 +184,7 @@ class EventsTable
Hidden::make('filter_stars'),
Hidden::make('filter_notes'),
Hidden::make('filter_periode'),
Select::make(name: 'country_id')
Select::make('country_id')
->placeholder('Country')
->prefixIcon('phosphor-flag')
->hiddenLabel()
@@ -214,7 +214,7 @@ class EventsTable
->hiddenLabel()
->label('')
->preload()
->options(fn () => ClientGroupList::where('sport_id', auth()->user()->sport_id)
->options(fn() => ClientGroupList::where('sport_id', auth()->user()->sport_id)
->where('client_id', auth()->user()->client_id)
->pluck('name', 'id'))
->live(),
@@ -257,7 +257,7 @@ class EventsTable
$arr = [];
foreach ($res as $val) {
$arr[$val->competition_group_id] = $val->country?->name.' '.$val->competition_group?->name;
$arr[$val->competition_group_id] = $val->country?->name . ' ' . $val->competition_group?->name;
}
asort($arr);
@@ -266,7 +266,7 @@ class EventsTable
->live(),
Select::make('competition_group_id')
->visible(fn () => auth()->user()->sport_id == 5)
->visible(fn() => auth()->user()->sport_id == 5)
->placeholder('Tournament')
->prefixIcon('phosphor-trophy')
->columnSpan(2)
@@ -317,7 +317,7 @@ class EventsTable
->prefixIcon('phosphor-funnel')
->hiddenLabel()
->allowHtml()
->options(fn () => CompareOptions::load()),
->options(fn() => CompareOptions::load()),
])
->query(function (Builder $query, array $data): Builder {
return $query->when(
@@ -327,7 +327,7 @@ class EventsTable
}
)->when(
$data['competition_group_id'],
fn (Builder $query, $competition_group_id) => $query->whereIn('competition_group_id', $competition_group_id)
fn(Builder $query, $competition_group_id) => $query->whereIn('competition_group_id', $competition_group_id)
)->when(
$data['client_group_list_id'],
@@ -493,7 +493,7 @@ class EventsTable
if ($data['client_group_list_id'] ?? null) {
$client_group_list_name = ClientGroupList::where('id', $data['client_group_list_id'])->value('name');
$indicators[] = Indicator::make('Custom Group: '.$client_group_list_name)->removeField('client_group_list_id')->color('info');
$indicators[] = Indicator::make('Custom Group: ' . $client_group_list_name)->removeField('client_group_list_id')->color('info');
}
if ($data['filter_stars'] ?? null) {
@@ -510,17 +510,17 @@ class EventsTable
if ($data['filter_alarm_green'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_green'])->value('title');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_green')->color('success');
$indicators[] = Indicator::make('Alarms: ' . $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('Alarms: '.$title)->removeField('filter_alarm_yellow')->color('info');
$indicators[] = Indicator::make('Alarms: ' . $title)->removeField('filter_alarm_yellow')->color('info');
}
if ($data['filter_alarm_red'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_red'])->value('title');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_red')->color('danger');
$indicators[] = Indicator::make('Alarms: ' . $title)->removeField('filter_alarm_red')->color('danger');
}
if ($data['starttime_period'] ?? null) {
@@ -530,7 +530,7 @@ class EventsTable
$text .= Carbon::parse($span['start'])->format('d. M.');
}
if ($span['end'] ?? null) {
$text .= ' - '.Carbon::parse($span['end'])->format('d. M.');
$text .= ' - ' . Carbon::parse($span['end'])->format('d. M.');
}
if ($text) {
$indicators[] = Indicator::make($text)->removeField('starttime_period.start')->color('info');
@@ -549,16 +549,16 @@ class EventsTable
if ($data['favorit_threshold'] ?? null) {
switch (auth()->user()->sport_id) {
case 1:
$indicators[] = Indicator::make('1X2 Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('1X2 Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 2:
$indicators[] = Indicator::make('1X2 Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('1X2 Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 3:
$indicators[] = Indicator::make('HC Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('HC Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 5:
$indicators[] = Indicator::make('ML Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('ML Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
}
}
@@ -633,7 +633,7 @@ class EventsTable
->modalIcon('phosphor-note-pencil-duotone')
->modalWidth(Width::Large)
->modalSubmitActionLabel('Save')
->extraModalFooterActions(fn (Action $action, $record) => $record->event_user_note->isEmpty() ? [] : [$action->makeModalSubmitAction('Delete', arguments: ['delete' => true])->color('danger')])
->extraModalFooterActions(fn(Action $action, $record) => $record->event_user_note->isEmpty() ? [] : [$action->makeModalSubmitAction('Delete', arguments: ['delete' => true])->color('danger')])
->fillForm(data: function ($record) {
foreach ($record->event_user_note as $value) {
if ($value->user_id == auth()->user()->id && $value->bookmaker_id == auth()->user()->bookmaker_id) {
@@ -654,7 +654,7 @@ class EventsTable
])
->icon('phosphor-note-pencil-duotone')
->iconButton()
->tooltip(fn ($record) => view('filament.resources.events.tooltip.event-user-note-tooltip', ['notes' => $record->event_user_note]))
->tooltip(fn($record) => view('filament.resources.events.tooltip.event-user-note-tooltip', ['notes' => $record->event_user_note]))
->action(function ($record, array $data, $arguments = []) {
if ($arguments) {
EventUserNote::where('id', $data['event_user_note_id'])->delete();
@@ -675,14 +675,14 @@ class EventsTable
]);
}
})
->color(fn ($record) => $record->event_user_note->isEmpty() ? 'gray' : 'info'),
->color(fn($record) => $record->event_user_note->isEmpty() ? 'gray' : 'info'),
ActionGroup::make([
DeleteAction::make()->visible(fn () => auth()->user()->hasRole('super_admin')),
DeleteAction::make()->visible(fn() => auth()->user()->hasRole('super_admin')),
Action::make('txodds_odds')
->label('TxOdds')
->disabled(fn () => ! auth()->user()->hasRole('super_admin'))
->disabled(fn() => ! auth()->user()->hasRole('super_admin'))
->icon('phosphor-arrow-square-out')
->url(fn ($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id]))
->url(fn($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id]))
->openUrlInNewTab(),
Action::make('swap_elements')
->icon('phosphor-swap')
@@ -9,8 +9,6 @@ use App\Models\MultilineSetting;
class LoadMultiline
{
public static $user;
public static function load()
{
$cb = ComparingBookmaker::where('sport_id', auth()->user()->sport_id)