This commit is contained in:
salam committed 2026-07-27 11:01:55 +02:00
1 parent 087b0a2a1a
commit 90b1dfdc4f
6 files changed
+57 -40

No files matched your search

+24 -23
View File
@@ -9,7 +9,7 @@ use App\Utilities\Round;
use Filament\Widgets\Concerns\InteractsWithPageFilters;
use Filament\Widgets\StatsOverviewWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;
// use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\HtmlString;
use Livewire\Attributes\Reactive;
@@ -80,6 +80,7 @@ class StatsMedianAverage extends StatsOverviewWidget
}
if (isset($data['results'])) {
// Log::debug($data['results']);
$win = $data['results']['w'] ? number_format(Round::odd($total_home / $data['results']['w']), 2) : 0;
$draw = $data['results']['d'] ? number_format(Round::odd($total_home / $data['results']['d']), 2) : 0;
$lost = $data['results']['l'] ? number_format(Round::odd($total_home / $data['results']['l']), 2) : 0;
@@ -119,22 +120,22 @@ class StatsMedianAverage extends StatsOverviewWidget
$boxes = [];
// BOX 1
$boxes[] = Stat::make('Number', new HtmlString('<div id="number-of-events">'.$total_home.'</div>'))
$boxes[] = Stat::make('Number', new HtmlString('<div id="number-of-events">' . $total_home . '</div>'))
->description('Events')
->extraAttributes(['x-init' => "animate('number-of-events', $total_home, 0)"]);
// BOX 2
$boxes[] = Stat::make('Average '.$statistic_type, self::template('avhome', 'avaway', $home_team, $away_team))
->description('Team '.$team_position)
$boxes[] = Stat::make('Average ' . $statistic_type, self::template('avhome', 'avaway', $home_team, $away_team))
->description('Team ' . $team_position)
->extraAttributes(['x-init' => "animate('avhome', $value_home); animate('avaway', $value_away)"]);
// BOX 3
$boxes[] = Stat::make('Average '.$statistic_type, self::template('av_team_home', 'av_team_away', $home_team, $away_team, $average_team_home, $average_team_away))
$boxes[] = Stat::make('Average ' . $statistic_type, self::template('av_team_home', 'av_team_away', $home_team, $away_team, $average_team_home, $average_team_away))
->description('Team Season')
->extraAttributes(['x-init' => "animate('av_team_home', $average_team_home); animate('av_team_away', $average_team_away)"]);
// BOX 4
$boxes[] = Stat::make('Average '.$statistic_type, self::template('av_league_home', 'av_league_away', 'Home', 'Away', $average_league_home, $average_league_away))
$boxes[] = Stat::make('Average ' . $statistic_type, self::template('av_league_home', 'av_league_away', 'Home', 'Away', $average_league_home, $average_league_away))
->description('League Season')
->extraAttributes(['x-init' => "animate('av_league_home', $average_league_home); animate('av_league_away', $average_league_away)"]);
@@ -154,35 +155,35 @@ class StatsMedianAverage extends StatsOverviewWidget
return $boxes;
}
protected function templateOdds(&$data, float $win, float $draw, float $lost): HtmlString
protected function templateOdds(array &$data, float $win, float $draw, float $lost): HtmlString
{
if ($data['similar_past_matches'] != 'none') {
$name_win = '1 ('.$data['results']['w'].')';
$name_draw = 'X ('.$data['results']['d'].')';
$name_lost = '2 ('.$data['results']['l'].')';
$name_win = '1 (' . $data['results']['w'] . ')';
$name_draw = 'X (' . $data['results']['d'] . ')';
$name_lost = '2 (' . $data['results']['l'] . ')';
} else {
$name_win = 'Win ('.$data['results']['w'].')';
$name_draw = 'Draw ('.$data['results']['d'].')';
$name_lost = 'Lost ('.$data['results']['l'].')';
$name_win = 'Win (' . $data['results']['w'] . ')';
$name_draw = 'Draw (' . $data['results']['d'] . ')';
$name_lost = 'Lost (' . $data['results']['l'] . ')';
}
return new HtmlString('<div class="grid grid-cols-3 justify-center">
<span class="text-center font-bold text-xl">'.number_format($win, 2).'</span>
<span class="text-center font-bold text-xl">'.number_format($draw, 2).'</span>
<span class="text-center font-bold text-xl">'.number_format($lost, 2).'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_win.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_draw.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_lost.'</span>
<span class="text-center font-bold text-xl">' . number_format($win, 2) . '</span>
<span class="text-center font-bold text-xl">' . number_format($draw, 2) . '</span>
<span class="text-center font-bold text-xl">' . number_format($lost, 2) . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $name_win . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $name_draw . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $name_lost . '</span>
</div>');
}
protected function template(string $home_id, string $away_id, string $home_name, string $away_name, $val_home = 0, $val_away = 0): HtmlString
{
return new HtmlString('<div class="grid grid-cols-2 justify-center font-bold text-2xl">
<span class="text-center" id="'.$home_id.'">'.$val_home.'</span>
<span class="text-center" id="'.$away_id.'">'.$val_away.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$home_name.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$away_name.'</span>
<span class="text-center" id="' . $home_id . '">' . $val_home . '</span>
<span class="text-center" id="' . $away_id . '">' . $val_away . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $home_name . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $away_name . '</span>
</div>');
}