This commit is contained in:
salam committed 2026-05-28 19:22:52 +02:00
1 parent 6cf72a83f4
commit e01400d65b
5 files changed
+62 -10

No files matched your search

+11 -3
View File
@@ -66,15 +66,21 @@ class LoadEvents
$handicap_range = 0; $handicap_range = 0;
$total_range = 0; $total_range = 0;
if ($similar_past_matches != 'none') { if ($similar_past_matches != 'none') {
$res = StatisticFixtures::where('id', (int) $match_id)->first(); $match = StatisticFixtures::with('home')->with('away')->where('id', (int) $match_id)->first();
$exp_handicap = $res->exp_away - $res->exp_home; $exp_handicap = $match->exp_away - $match->exp_home;
$exp_total = $res->exp_away + $res->exp_home; $exp_total = $match->exp_away + $match->exp_home;
$handicap_range = [$exp_handicap - $accuracy, $exp_handicap + $accuracy]; $handicap_range = [$exp_handicap - $accuracy, $exp_handicap + $accuracy];
$total_range = [$exp_total - $accuracy, $exp_total + $accuracy]; $total_range = [$exp_total - $accuracy, $exp_total + $accuracy];
$home_team = $match->home->name;
$away_team = $match->away->name;
} else {
$home_team = 'Home';
$away_team = 'Away';
} }
/** /**
@@ -385,6 +391,8 @@ class LoadEvents
'labels' => $labels, 'labels' => $labels,
'description' => $description ?? '', 'description' => $description ?? '',
'results' => $results, 'results' => $results,
'home_team' => $home_team,
'away_team' => $away_team,
]; ];
self::$last_query = $data; self::$last_query = $data;
+20 -3
View File
@@ -2,6 +2,7 @@
namespace App\Filament\Widgets; namespace App\Filament\Widgets;
use App\Filament\Widgets\Data\HelperStatisticType;
use App\Filament\Widgets\Data\LoadEvents; use App\Filament\Widgets\Data\LoadEvents;
use App\Utilities\Round; use App\Utilities\Round;
use Filament\Widgets\Concerns\InteractsWithPageFilters; use Filament\Widgets\Concerns\InteractsWithPageFilters;
@@ -26,6 +27,8 @@ class StatsMedianAverage extends StatsOverviewWidget
{ {
$data = LoadEvents::load($this->filters, 'Events'); $data = LoadEvents::load($this->filters, 'Events');
$statistic_type = ucfirst(HelperStatisticType::get($this->filters));
if (! isset($data['datasets'][0])) { if (! isset($data['datasets'][0])) {
return []; return [];
} }
@@ -35,6 +38,8 @@ class StatsMedianAverage extends StatsOverviewWidget
$total = count($arr); $total = count($arr);
$summe = array_sum($arr); $summe = array_sum($arr);
$summe2 = array_sum($arr2); $summe2 = array_sum($arr2);
$home_team = $data['home_team'];
$away_team = $data['away_team'];
if (! $total) { if (! $total) {
return []; return [];
@@ -64,10 +69,22 @@ class StatsMedianAverage extends StatsOverviewWidget
return [ return [
Stat::make('Number of events', $total)->extraAttributes([ Stat::make('Number of events', $total)->extraAttributes([
'class' => 'bg-green-100 dark:bg-green-950 border border-green-300 dark:border-green-800', 'class' => 'text-xl bg-green-100 dark:bg-green-950 border border-green-300 dark:border-green-800',
]),
Stat::make('Average', 'Average')->view('filament.resources.events.widgets.statistic-average', [
'titel' => 'Average '.$statistic_type,
'infavour' => number_format($summe / $total, 1),
'against' => number_format($summe2 / $total, 1),
'home' => $home_team,
'away' => $away_team,
]),
Stat::make('Median', 'Median')->view('filament.resources.events.widgets.statistic-average', [
'titel' => 'Median '.$statistic_type,
'infavour' => $median,
'against' => $median2,
'home' => $home_team,
'away' => $away_team,
]), ]),
Stat::make('Average', 'Average')->view('filament.resources.events.widgets.statistic-average', ['titel' => 'Average', 'infavour' => number_format($summe / $total, 1), 'against' => number_format($summe2 / $total, 1)]),
Stat::make('Median', 'Median')->view('filament.resources.events.widgets.statistic-average', ['titel' => 'Median', 'infavour' => $median, 'against' => $median2]),
Stat::make('Win: '.$data['results']['w'], $win) Stat::make('Win: '.$data['results']['w'], $win)
->extraAttributes([ ->extraAttributes([
'class' => 'bg-green-100 dark:bg-green-950 border border-green-300 dark:border-green-800', 'class' => 'bg-green-100 dark:bg-green-950 border border-green-300 dark:border-green-800',
+7
View File
@@ -113,6 +113,13 @@ widget space to filter
padding-top: 0; padding-top: 0;
} }
.fi-wi-stats-overview-stat-label {
@apply text-lg font-bold mx-auto
}
.fi-wi-stats-overview-stat-value {
@apply text-center
}
/** x for removing all filters (not working) */ /** x for removing all filters (not working) */
#mapper_right .fi-ta-filter-indicators button, #mapper_right .fi-ta-filter-indicators button,
@@ -8,14 +8,14 @@
</div> </div>
<div class="fi-wi-stats-overview-stat-value grid grid-cols-2 justify-center"> <div class="fi-wi-stats-overview-stat-value grid grid-cols-2 justify-center">
<div>{{ $infavour }}</div> <div class="text-center">{{ $infavour }}</div>
<div>{{ $against }}</div> <div class="text-center">{{ $against }}</div>
</div> </div>
<div class="fi-wi-stats-overview-stat-description grid grid-cols-2 justify-center"> <div class="fi-wi-stats-overview-stat-description grid grid-cols-2 justify-center">
<div class="text-certer">In Favour</div> <div class="text-center">{{ $home }}</div>
<div class="text-certer">Against</div> <div class="text-center">{{ $away }}</div>
</div> </div>
@@ -0,0 +1,20 @@
<div class="fi-sc-component ">
<div class="fi-wi-stats-overview-stat bg-green-100 dark:bg-green-950 border border-green-300 dark:border-green-800">
<div class="fi-wi-stats-overview-stat-content">
<div class="fi-wi-stats-overview-stat-label-ctn">
<span class="fi-wi-stats-overview-stat-label text-xl font-bold mx-auto">
{{ $titel }}
</span>
</div>
<div class="fi-wi-stats-overview-stat-value text-center">
{{ $value }}
</div>
<div class="fi-wi-stats-overview-stat-description">
<div class="text-center"></div>
</div>
</div>
</div>
</div>