wip
This commit is contained in:
1 parent
850d916b5b
commit
d519cfdb40
2 files changed
+86
-3
No files matched your search
@@ -3,6 +3,7 @@
|
||||
namespace App\Filament\Widgets;
|
||||
|
||||
use App\Filament\Widgets\Data\LoadEvents;
|
||||
use App\Utilities\Round;
|
||||
use Filament\Widgets\Concerns\InteractsWithPageFilters;
|
||||
use Filament\Widgets\StatsOverviewWidget;
|
||||
use Filament\Widgets\StatsOverviewWidget\Stat;
|
||||
@@ -58,9 +59,9 @@ class StatsMedianAverage extends StatsOverviewWidget
|
||||
Stat::make('Number of events', $total),
|
||||
Stat::make('Average', round($summe / $total, 1)),
|
||||
Stat::make('Median', $median),
|
||||
Stat::make('Win', $data['results']['w']),
|
||||
Stat::make('Draw', $data['results']['d']),
|
||||
Stat::make('Lost', $data['results']['l']),
|
||||
Stat::make('Win', $data['results']['w'])->description(Round::odd($total / $data['results']['w'])),
|
||||
Stat::make('Draw', $data['results']['d'])->description(Round::odd($total / $data['results']['d'])),
|
||||
Stat::make('Lost', $data['results']['l'])->description(Round::odd($total / $data['results']['l'])),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
namespace App\Utilities;
|
||||
|
||||
class Round
|
||||
{
|
||||
public static function odd($value)
|
||||
{
|
||||
// $value = 1 / $value;
|
||||
if ($value) {
|
||||
if ($value <= 1) {
|
||||
// to 0.01
|
||||
$fac = pow(10, 2);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 1 && $value <= 3) {
|
||||
// to 0.01
|
||||
$fac = pow(10, 2);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 3 && $value <= 5) {
|
||||
// to 0.05,
|
||||
$value *= 20;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value /= 20;
|
||||
$fac = pow(10, 2);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 5 && $value <= 10) {
|
||||
// to 0.1
|
||||
$fac = pow(10, 1);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 10 && $value <= 20) {
|
||||
// to 0.25
|
||||
$value *= 4;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value /= 4;
|
||||
$fac = pow(10, 2);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 20 && $value < 30) {
|
||||
// to 0.5
|
||||
$value *= 2;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value /= 2;
|
||||
$fac = pow(10, 2);
|
||||
$value = round($value * $fac) / $fac;
|
||||
} elseif ($value > 30 && $value < 75) {
|
||||
// to => 1
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
} elseif ($value > 75 && $value < 150) {
|
||||
// to => 5
|
||||
$value /= 5;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value *= 5;
|
||||
} elseif ($value > 150 && $value < 300) {
|
||||
// to => 10
|
||||
$value /= 10;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value *= 10;
|
||||
} elseif ($value > 300 && $value < 500) {
|
||||
// to => 25
|
||||
$value /= 25;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value *= 25;
|
||||
} elseif ($value > 500 && $value < 1000) {
|
||||
// to => 50
|
||||
$value /= 50;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value *= 50;
|
||||
} else {
|
||||
// to => 50
|
||||
$value /= 100;
|
||||
$value = ($value - floor($value) > 0.5) ? ceil($value) : floor($value);
|
||||
$value *= 100;
|
||||
}
|
||||
}
|
||||
$value = round($value * 100) / 100;
|
||||
// min max quote
|
||||
if ($value < 1.01) {
|
||||
$value = 1;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user