fix box 1

This commit is contained in:
salam committed 2026-08-30 07:25:28 +02:00
1 parent 4ec3a86c9e
commit c49f5e2364
7 files changed
+230 -194

No files matched your search

+46 -46
View File
@@ -12,6 +12,7 @@ use Filament\Widgets\StatsOverviewWidget\Stat;
use Illuminate\Support\Carbon;
use Illuminate\Support\HtmlString;
use Livewire\Attributes\Reactive;
// use Illuminate\Support\Facades\Log;
class StatsMedianAverage extends StatsOverviewWidget
@@ -45,10 +46,11 @@ class StatsMedianAverage extends StatsOverviewWidget
switch ($season_or_date) {
case 'season':
if ($season)
if ($season) {
$date_events = implode(', ', $season);
else
} else {
$date_events = 'Current Season';
}
break;
default:
$start = $this->filters['start_date'] ?? 0;
@@ -56,16 +58,18 @@ class StatsMedianAverage extends StatsOverviewWidget
$tmp = [];
if ($start) {
$tmp[] = 'From: ' . Carbon::createFromDate($start)->format('Y-m-d');
$tmp[] = 'From: '.Carbon::createFromDate($start)->format('Y-m-d');
}
if ($end)
$tmp[] = 'To: ' . Carbon::createFromDate($end)->format('Y-m-d');
if ($end) {
$tmp[] = 'To: '.Carbon::createFromDate($end)->format('Y-m-d');
}
if ($tmp)
if ($tmp) {
$date_events = implode('<br>', $tmp);
else
} else {
$date_events = 'All Dates';
}
break;
}
@@ -77,7 +81,6 @@ class StatsMedianAverage extends StatsOverviewWidget
$statistic_type = HelperStatisticType::get($this->filters);
if (! isset($data['datasets'][0])) {
$data['datasets'][0]['data'] = [];
$data['datasets'][1]['data'] = [];
@@ -108,7 +111,6 @@ class StatsMedianAverage extends StatsOverviewWidget
$lost = 0;
}
if ($total_home) {
$value_home = number_format($summe_home / $total_home, 1);
} else {
@@ -120,7 +122,6 @@ class StatsMedianAverage extends StatsOverviewWidget
$value_away = 0;
}
$max_boxes = 3;
$average_team_home = 0;
$average_team_away = 0;
@@ -150,15 +151,15 @@ class StatsMedianAverage extends StatsOverviewWidget
if ($similar_past_matches != 'none') {
// BOX 2
$boxes[] = Stat::make('Total', self::template_box2($total_home))
->description(fn() => new HtmlString($date_events))
->description(fn () => new HtmlString($date_events))
->extraAttributes([
'x-init' => "animate('number-of-events', $total_home);",
'class' => 'box-info',
]);
// BOX 3
$boxes[] = Stat::make('Average ' . $statistic_type, self::template_box3('Home', 'Away', $value_home, $value_away))
->description('Team ' . $team_position)
$boxes[] = Stat::make('Average '.$statistic_type, self::template_box3('Home', 'Away', $value_home, $value_away))
->description('Team '.$team_position)
->extraAttributes([
'x-init' => "animate('average_home', $value_home); animate('average_away', $value_away)",
'class' => 'box-success',
@@ -184,22 +185,22 @@ class StatsMedianAverage extends StatsOverviewWidget
// BOX 2
$boxes[] = Stat::make('Total', self::template_box2($total_home))
->description(fn() => new HtmlString($date_events))
->description(fn () => new HtmlString($date_events))
->extraAttributes([
'x-init' => "animate('number-of-events', $total_home);",
'class' => 'box-info',
]);
// BOX 3
$boxes[] = Stat::make('Average ' . $statistic_type, self::template_box3($home_team, $away_team, $value_home, $value_away))
->description('Team ' . $team_position)
$boxes[] = Stat::make('Average '.$statistic_type, self::template_box3($home_team, $away_team, $value_home, $value_away))
->description('Team '.$team_position)
->extraAttributes([
'x-init' => "animate('average_home', $value_home); animate('average_away', $value_away)",
'class' => 'box-success',
]);
// BOX 4
$boxes[] = Stat::make('Average ' . $statistic_type, self::template_box4($home_team, $away_team, $average_team_home, $average_team_away))
$boxes[] = Stat::make('Average '.$statistic_type, self::template_box4($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)",
@@ -207,7 +208,7 @@ class StatsMedianAverage extends StatsOverviewWidget
]);
// BOX 5
$boxes[] = Stat::make('Average ' . $statistic_type, self::template_box5('Home', 'Away', $average_league_home, $average_league_away))
$boxes[] = Stat::make('Average '.$statistic_type, self::template_box5('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)",
@@ -238,8 +239,8 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function template_box1(float $expectations_home, float $expectations_away): HtmlString
{
return new HtmlString('<div class="grid grid-cols-2 justify-center font-bold text-2xl">
<span class="text-center" id="expectations_home">' . $expectations_home . '</span>
<span class="text-center" id="expectations_away">' . $expectations_away . '</span>
<span class="text-center" id="expectations_home">'.$expectations_home.'</span>
<span class="text-center" id="expectations_away">'.$expectations_away.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">Home</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">Away</span>
</div>');
@@ -249,7 +250,7 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function template_box2(float $total_home): HtmlString
{
return new HtmlString('<div class="grid grid-cols-1 justify-center font-bold text-2xl">
<span class="text-center" id="number-of-events">' . $total_home . '</span>
<span class="text-center" id="number-of-events">'.$total_home.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">Events</span>
</div>');
}
@@ -258,10 +259,10 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function template_box3(string $home_team, string $away_team, float $value_home, float $value_away): HtmlString
{
return new HtmlString('<div class="grid grid-cols-2 justify-center font-bold text-2xl">
<span class="text-center" id="average_home">' . $value_home . '</span>
<span class="text-center" id="average_away">' . $value_away . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $home_team . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $away_team . '</span>
<span class="text-center" id="average_home">'.$value_home.'</span>
<span class="text-center" id="average_away">'.$value_away.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$home_team.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$away_team.'</span>
</div>');
}
@@ -269,10 +270,10 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function template_box4(string $home_team, string $away_team, float $value_home, float $value_away): HtmlString
{
return new HtmlString('<div class="grid grid-cols-2 justify-center font-bold text-2xl">
<span class="text-center" id="av_team_home">' . $value_home . '</span>
<span class="text-center" id="av_team_away">' . $value_away . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $home_team . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $away_team . '</span>
<span class="text-center" id="av_team_home">'.$value_home.'</span>
<span class="text-center" id="av_team_away">'.$value_away.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$home_team.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$away_team.'</span>
</div>');
}
@@ -280,10 +281,10 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function template_box5(string $home_team, string $away_team, float $value_home, float $value_away): HtmlString
{
return new HtmlString('<div class="grid grid-cols-2 justify-center font-bold text-2xl">
<span class="text-center" id="av_league_home">' . $value_home . '</span>
<span class="text-center" id="av_league_away">' . $value_away . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $home_team . '</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">' . $away_team . '</span>
<span class="text-center" id="av_league_home">'.$value_home.'</span>
<span class="text-center" id="av_league_away">'.$value_away.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$home_team.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$away_team.'</span>
</div>');
}
@@ -291,26 +292,25 @@ class StatsMedianAverage extends StatsOverviewWidget
protected function templateOdds(array &$data, float $win, float $draw, float $lost): HtmlString
{
if ($data['similar_past_matches'] != 'none') {
$name_win = '<b>1</b> (' . $data['results']['w'] . ')';
$name_draw = '<b>X</b> (' . $data['results']['d'] . ')';
$name_lost = '<b>2</b> (' . $data['results']['l'] . ')';
$name_win = '<b>1</b> ('.$data['results']['w'].')';
$name_draw = '<b>X</b> ('.$data['results']['d'].')';
$name_lost = '<b>2</b> ('.$data['results']['l'].')';
} else {
$name_win = '<b>Win</b> (' . $data['results']['w'] . ')';
$name_draw = '<b>Draw</b> (' . $data['results']['d'] . ')';
$name_lost = '<b>Lost</b> (' . $data['results']['l'] . ')';
$name_win = '<b>Win</b> ('.$data['results']['w'].')';
$name_draw = '<b>Draw</b> ('.$data['results']['d'].')';
$name_lost = '<b>Lost</b> ('.$data['results']['l'].')';
}
return new HtmlString('<div class="grid grid-cols-3 justify-center">
<span class="text-center font-bold text-xl" id="win">' . number_format($win, 2) . '</span>
<span class="text-center font-bold text-xl" id="draw">' . number_format($draw, 2) . '</span>
<span class="text-center font-bold text-xl" id="lost">' . 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" id="win">'.number_format($win, 2).'</span>
<span class="text-center font-bold text-xl" id="draw">'.number_format($draw, 2).'</span>
<span class="text-center font-bold text-xl" id="lost">'.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 getMedian(array $arr)
{
sort($arr);