'$refresh', ]; protected ?string $pollingInterval = '15s'; public array $filters = []; protected function getStats(): array { // if (auth()->user()->partner_show) { // return []; // } $res = AlarmStatistic::load(); switch (auth()->user()->sport_id) { case 1: return [ Stat::make('1X2', '1X2')->view('filament.resources.events.widgets.alarm-widget', ['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', ['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', ['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', ['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', ['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', ['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', ['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', ['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', ['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', ['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', ['filter' => 'odds_points', 'title' => 'PO', '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', ['filter' => 'odds_points_q1', 'title' => 'PO 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', ['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', ['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', ['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', ['filter' => 'odds_points', 'title' => 'PO', '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', ['filter' => 'odds_points_q1', 'title' => 'PO 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', ['filter' => 'odds_points_ht', 'title' => 'PO 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', ['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', ['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', ['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', ['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', ['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', ['filter' => 'odds_points', 'title' => 'PO', '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', ['filter' => 'odds_totals', 'title' => 'Totals', 'red' => $res['odds_totals'][3] ?? 0, 'yellow' => $res['odds_totals'][2] ?? 0, 'green' => $res['odds_totals'][1] ?? 0]), ]; } return []; } 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 [ 'md' => 6, 'xl' => 8, ]; } }