wip
This commit is contained in:
1 parent
bca5e9ec23
commit
d954a9fa5c
19 files changed
+5715
-476
No files matched your search
@@ -35,7 +35,7 @@ class ChartEvent extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadEvents::load($this->filters);
|
||||
$data = LoadEvents::load($this->filters, true);
|
||||
|
||||
$this->type = ucfirst(HelperStatisticType::get($this->filters));
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ class ChartEventMoAv extends ChartWidget
|
||||
|
||||
protected ?string $pollingInterval = null;
|
||||
|
||||
protected bool $isCollapsible = false;
|
||||
|
||||
public function getHeading(): HtmlString
|
||||
{
|
||||
return new HtmlString('
|
||||
@@ -36,7 +34,7 @@ class ChartEventMoAv extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadEvents::load($this->filters);
|
||||
$data = LoadEvents::load($this->filters, false);
|
||||
|
||||
$this->type = ucfirst(HelperStatisticType::get($this->filters));
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class ChartEventPerf extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
return LoadPerformance::load($this->filters);
|
||||
return LoadPerformance::load($this->filters, true);
|
||||
}
|
||||
|
||||
protected function getType(): string
|
||||
|
||||
@@ -33,7 +33,7 @@ class ChartEventPerfMoAv extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadPerformance::load($this->filters);
|
||||
$data = LoadPerformance::load($this->filters, false);
|
||||
|
||||
if ($data) {
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ class ChartPlayer extends ChartWidget
|
||||
{
|
||||
return new HtmlString('
|
||||
<span class="flex justify-between">
|
||||
<span class="text-primary-600 font-bold flex flex-row gap-2">
|
||||
<span class="text-primary-700 dark:text-primary-400 flex flex-row gap-2">
|
||||
<svg viewBox="0 0 15 15" version="1.1" id="soccer" class="h-5 w-5"
|
||||
xmlns="http://www.w3.org/2000/svg" fill="currentColor">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
||||
@@ -47,7 +47,7 @@ class ChartPlayer extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadPlayer::load($this->filters);
|
||||
$data = LoadPlayer::load($this->filters, true);
|
||||
|
||||
if ($data) {
|
||||
$this->player = $data['player_name'] ?? '';
|
||||
|
||||
@@ -41,14 +41,14 @@ class ChartPlayerMoAv extends ChartWidget
|
||||
</svg>
|
||||
'.$this->player.'
|
||||
</span>
|
||||
<span>'.$this->type.'</span>
|
||||
<span>'.$this->type.' Moving Average</span>
|
||||
</span>
|
||||
');
|
||||
}
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadPlayer::load($this->filters);
|
||||
$data = LoadPlayer::load($this->filters, false);
|
||||
|
||||
if ($data) {
|
||||
$this->player = $data['player_name'] ?? '';
|
||||
|
||||
@@ -46,12 +46,12 @@ class ChartPlayerPerf extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadPlayerPerformance::load($this->filters);
|
||||
$data = LoadPlayerPerformance::load($this->filters, true);
|
||||
if ($data) {
|
||||
$this->player = $data['player_name'] ?? '';
|
||||
}
|
||||
|
||||
return LoadPlayerPerformance::load($this->filters);
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function getType(): string
|
||||
|
||||
@@ -47,7 +47,7 @@ class ChartPlayerPerfMoAv extends ChartWidget
|
||||
|
||||
protected function getData(): array
|
||||
{
|
||||
$data = LoadPlayerPerformance::load($this->filters);
|
||||
$data = LoadPlayerPerformance::load($this->filters, false);
|
||||
|
||||
if ($data) {
|
||||
$this->player = $data['player_name'] ?? '';
|
||||
|
||||
@@ -12,13 +12,13 @@ class LoadEvents
|
||||
{
|
||||
public static $last_query = [];
|
||||
|
||||
public static function load($filter)
|
||||
public static function load(array $filter, bool $hasdots)
|
||||
{
|
||||
// dd($filter);
|
||||
|
||||
if (self::$last_query) {
|
||||
return self::$last_query;
|
||||
}
|
||||
// if (self::$last_query) {
|
||||
// return self::$last_query;
|
||||
// }
|
||||
|
||||
$league_id = (int) $filter['league_id'] ?? 0;
|
||||
|
||||
@@ -372,6 +372,7 @@ class LoadEvents
|
||||
'tension' => 0.5,
|
||||
'borderColor' => '#fb2c36',
|
||||
'backgroundColor' => '#fb2c36',
|
||||
'pointStyle' => $hasdots,
|
||||
'fill' => [
|
||||
'target' => 1,
|
||||
'above' => '#fb2c3680',
|
||||
@@ -387,6 +388,7 @@ class LoadEvents
|
||||
'tension' => 0.5,
|
||||
'borderColor' => '#fdc700',
|
||||
'backgroundColor' => '#fdc700',
|
||||
'pointStyle' => $hasdots,
|
||||
'fill' => false,
|
||||
],
|
||||
],
|
||||
|
||||
@@ -13,7 +13,7 @@ class LoadPerformance
|
||||
|
||||
public static $events_data = [];
|
||||
|
||||
public static function load(array $filter)
|
||||
public static function load(array $filter, bool $hasdots)
|
||||
{
|
||||
// dd($filter);
|
||||
|
||||
@@ -43,6 +43,7 @@ class LoadPerformance
|
||||
if ($val->home_id == $home_id or $val->away_id == $home_id or $val->home_id == $away_id or $val->away_id == $away_id) {
|
||||
|
||||
$labels[] = round($val->starttime->diffInDays(Carbon::now()));
|
||||
|
||||
$label_formatted[$val->match_id] = $val->starttime->format('d. F Y H:i');
|
||||
|
||||
if ($val->home_id == $home_id or $val->away_id == $home_id) {
|
||||
@@ -66,6 +67,8 @@ class LoadPerformance
|
||||
$res = StatistikoPlayer::whereIn('match_id', $away_matches)->select('match_id', 'minutes_played', 'playerrating_value', 'player_position')->get();
|
||||
$aways = self::filterMatches($res, $away_matches);
|
||||
|
||||
self::shortenEnding($labels, $homes, $aways);
|
||||
|
||||
$data = [
|
||||
'datasets' => [
|
||||
[
|
||||
@@ -75,6 +78,7 @@ class LoadPerformance
|
||||
'tension' => 0.5,
|
||||
'borderColor' => '#fb2c36',
|
||||
'backgroundColor' => '#fb2c36',
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Defence',
|
||||
@@ -84,6 +88,7 @@ class LoadPerformance
|
||||
'borderColor' => '#c10007',
|
||||
'backgroundColor' => '#c10007',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Attak',
|
||||
@@ -93,6 +98,7 @@ class LoadPerformance
|
||||
'borderColor' => '#c10007',
|
||||
'backgroundColor' => '#c10007',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Midfield',
|
||||
@@ -102,6 +108,7 @@ class LoadPerformance
|
||||
'borderColor' => '#c10007',
|
||||
'backgroundColor' => '#c10007',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => $match->away->name,
|
||||
@@ -111,6 +118,7 @@ class LoadPerformance
|
||||
'borderColor' => '#fdc700',
|
||||
'backgroundColor' => '#fdc700',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Defence',
|
||||
@@ -120,6 +128,7 @@ class LoadPerformance
|
||||
'borderColor' => '#d08700',
|
||||
'backgroundColor' => '#d08700',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Attak',
|
||||
@@ -129,6 +138,7 @@ class LoadPerformance
|
||||
'borderColor' => '#d08700',
|
||||
'backgroundColor' => '#d08700',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
[
|
||||
'label' => 'Midfield',
|
||||
@@ -138,6 +148,7 @@ class LoadPerformance
|
||||
'borderColor' => '#d08700',
|
||||
'backgroundColor' => '#d08700',
|
||||
'fill' => false,
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
],
|
||||
'labels' => $labels,
|
||||
@@ -149,6 +160,7 @@ class LoadPerformance
|
||||
|
||||
public static function filterMatches($res, $matches)
|
||||
{
|
||||
|
||||
$result = [];
|
||||
foreach ($res as $value) {
|
||||
|
||||
@@ -207,6 +219,43 @@ class LoadPerformance
|
||||
}
|
||||
}
|
||||
|
||||
// dd($return);
|
||||
// while (array_last($return['all']) == null) {
|
||||
// }
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
public static function shortenEnding(array &$labels, array &$homes, array &$aways)
|
||||
{
|
||||
$count_home = 0;
|
||||
$count_away = 0;
|
||||
for ($i = \count($homes['all']) - 1; $i > 0; $i--) {
|
||||
if ($homes['all'][$i] == null) {
|
||||
$count_home++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
for ($i = \count($aways['all']) - 1; $i > 0; $i--) {
|
||||
if ($aways['all'][$i] == null) {
|
||||
$count_away++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$keeps = count($homes['all']) - min($count_home, $count_away) - 1;
|
||||
|
||||
$homes['all'] = array_slice($homes['all'], 0, $keeps);
|
||||
$homes['def'] = array_slice($homes['def'], 0, $keeps);
|
||||
$homes['att'] = array_slice($homes['att'], 0, $keeps);
|
||||
$homes['mid'] = array_slice($homes['mid'], 0, $keeps);
|
||||
$aways['all'] = array_slice($aways['all'], 0, $keeps);
|
||||
$aways['def'] = array_slice($aways['def'], 0, $keeps);
|
||||
$aways['att'] = array_slice($aways['att'], 0, $keeps);
|
||||
$aways['mid'] = array_slice($aways['mid'], 0, $keeps);
|
||||
$labels = array_slice($labels, 0, $keeps);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -10,13 +10,13 @@ class LoadPlayer
|
||||
{
|
||||
public static $last_query = [];
|
||||
|
||||
public static function load($filter)
|
||||
public static function load($filter, bool $hasdots)
|
||||
{
|
||||
// dd($filter);
|
||||
|
||||
if (self::$last_query) {
|
||||
return self::$last_query;
|
||||
}
|
||||
// if (self::$last_query) {
|
||||
// return self::$last_query;
|
||||
// }
|
||||
|
||||
$league_id = (int) $filter['league_id'] ?? 0;
|
||||
|
||||
@@ -98,6 +98,7 @@ class LoadPlayer
|
||||
'data' => $datasets,
|
||||
'tension' => 0.5,
|
||||
'borderColor' => '#36A2EB',
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
],
|
||||
'labels' => $labels,
|
||||
|
||||
@@ -10,11 +10,11 @@ class LoadPlayerPerformance
|
||||
{
|
||||
public static $last_query = [];
|
||||
|
||||
public static function load($filter)
|
||||
public static function load($filter, bool $hasdots)
|
||||
{
|
||||
if (self::$last_query) {
|
||||
return self::$last_query;
|
||||
}
|
||||
// if (self::$last_query) {
|
||||
// return self::$last_query;
|
||||
// }
|
||||
|
||||
$league_id = (int) $filter['league_id'] ?? 0;
|
||||
|
||||
@@ -77,6 +77,7 @@ class LoadPlayerPerformance
|
||||
'data' => $dataset,
|
||||
'tension' => 0.5,
|
||||
'borderColor' => '#36A2EB',
|
||||
'pointStyle' => $hasdots,
|
||||
],
|
||||
],
|
||||
'labels' => $labels,
|
||||
|
||||
@@ -25,7 +25,7 @@ class StatsMedianAverage extends StatsOverviewWidget
|
||||
|
||||
protected function getStats(): array
|
||||
{
|
||||
$data = LoadEvents::load($this->filters);
|
||||
$data = LoadEvents::load($this->filters, false);
|
||||
|
||||
// dd($data);
|
||||
|
||||
@@ -92,9 +92,6 @@ class StatsMedianAverage extends StatsOverviewWidget
|
||||
]),
|
||||
];
|
||||
}
|
||||
// if (! $total_home || ! $total_away) {
|
||||
// return [];
|
||||
// }
|
||||
|
||||
sort($arr_home);
|
||||
sort($arr_away);
|
||||
@@ -118,15 +115,9 @@ class StatsMedianAverage extends StatsOverviewWidget
|
||||
$median_away = $arr_away[$m];
|
||||
}
|
||||
|
||||
if ($data['similar_past_matches'] == 'none') {
|
||||
$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;
|
||||
} else {
|
||||
$win = 0;
|
||||
$draw = 0;
|
||||
$lost = 0;
|
||||
}
|
||||
|
||||
return [
|
||||
Stat::make('stat1', 'stat1')->view('filament.resources.events.widgets.statistic-regular', [
|
||||
|
||||
-440
@@ -1,440 +0,0 @@
|
||||
{
|
||||
"event": {
|
||||
"eventState": {},
|
||||
"tournament": {
|
||||
"name": "Liga DIMAYOR, Apertura, Playoffs",
|
||||
"slug": "primera-a-apertura-playoffs",
|
||||
"category": {
|
||||
"name": "Colombia",
|
||||
"slug": "colombia",
|
||||
"sport": {
|
||||
"name": "Football",
|
||||
"slug": "football",
|
||||
"id": 1
|
||||
},
|
||||
"priority": 0,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 274,
|
||||
"flag": "colombia",
|
||||
"alpha2": "CO",
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0643\u0648\u0644\u0648\u0645\u0628\u064a\u0627",
|
||||
"ru": "\u041a\u043e\u043b\u0443\u043c\u0431\u0438\u044f"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
}
|
||||
},
|
||||
"uniqueTournament": {
|
||||
"name": "Primera A, Apertura",
|
||||
"slug": "primera-a-apertura",
|
||||
"primaryColorHex": "#002c6d",
|
||||
"secondaryColorHex": "#00afcf",
|
||||
"category": {
|
||||
"name": "Colombia",
|
||||
"slug": "colombia",
|
||||
"sport": {
|
||||
"name": "Football",
|
||||
"slug": "football",
|
||||
"id": 1
|
||||
},
|
||||
"priority": 0,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 274,
|
||||
"flag": "colombia",
|
||||
"alpha2": "CO",
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0643\u0648\u0644\u0648\u0645\u0628\u064a\u0627",
|
||||
"ru": "\u041a\u043e\u043b\u0443\u043c\u0431\u0438\u044f"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
}
|
||||
},
|
||||
"userCount": 24442,
|
||||
"hasRounds": true,
|
||||
"hasPerformanceGraphFeature": false,
|
||||
"country": {},
|
||||
"id": 11539,
|
||||
"hasEventPlayerStatistics": true,
|
||||
"displayInverseHomeAwayTeams": false,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0623\u0648\u0644\u060c \u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u0630\u0647\u0627\u0628",
|
||||
"bn": "\u09aa\u09cd\u09b0\u09be\u0987\u09ae\u09c7\u09b0\u09be \u098f, \u0985\u09cd\u09af\u09be\u09aa\u09be\u09b0\u09cd\u09a4\u09c1\u09b0\u09be",
|
||||
"hi": "\u092a\u094d\u0930\u093e\u0907\u092e\u0947\u0930\u093e \u090f, \u090f\u092a\u0930\u094d\u091f\u0941\u0930\u093e"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
}
|
||||
},
|
||||
"priority": 285,
|
||||
"isGroup": false,
|
||||
"competitionType": 2,
|
||||
"isLive": false,
|
||||
"id": 19235,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0627\u0644\u062f\u0648\u0631\u064a \u0627\u0644\u0643\u0648\u0644\u0648\u0645\u0628\u064a\u060c \u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u0630\u0647\u0627\u0628\u060c \u0627\u0644\u062a\u0635\u0641\u064a\u0627\u062a",
|
||||
"bn": "\u09aa\u09cd\u09b0\u09be\u0987\u09ae\u09c7\u09b0\u09be \u098f, \u0985\u09cd\u09af\u09be\u09aa\u09be\u09b0\u09cd\u099f\u09c1\u09b0\u09be, \u09aa\u09cd\u09b2\u09c7\u0985\u09ab",
|
||||
"hi": "\u092a\u094d\u0930\u093e\u0907\u092e\u0947\u0930\u093e \u090f, \u090f\u092a\u0930\u094d\u091f\u0941\u0930\u093e, \u092a\u094d\u0932\u0947\u0911\u092b\u094d\u0938"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
}
|
||||
},
|
||||
"season": {
|
||||
"name": "Liga DIMAYOR 2026",
|
||||
"year": "2026",
|
||||
"editor": false,
|
||||
"id": 88503
|
||||
},
|
||||
"roundInfo": {
|
||||
"round": 29,
|
||||
"name": "Final",
|
||||
"slug": "final",
|
||||
"cupRoundType": 1
|
||||
},
|
||||
"customId": "fxcsgxc",
|
||||
"status": {
|
||||
"code": 100,
|
||||
"description": "Ended",
|
||||
"type": "finished"
|
||||
},
|
||||
"winnerCode": 1,
|
||||
"venue": {
|
||||
"city": {
|
||||
"name": "Barranquilla",
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 18864
|
||||
},
|
||||
"venueCoordinates": {
|
||||
"latitude": 10.926955,
|
||||
"longitude": -74.800511
|
||||
},
|
||||
"hidden": true,
|
||||
"slug": "estadio-metropolitano-roberto-melendez",
|
||||
"name": "Estadio Metropolitano Roberto Melendez",
|
||||
"capacity": 46692,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 1594,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0645\u0644\u0639\u0628 \u0645\u062a\u0631\u0648\u0628\u0648\u0644\u064a\u062a\u0627\u0646\u0648 \u0631\u0648\u0628\u0631\u062a\u0648 \u0645\u064a\u0644\u064a\u0646\u062f\u064a\u0632",
|
||||
"hi": "\u090f\u0938\u094d\u091f\u0947\u0921\u093f\u092f\u094b \u092e\u0947\u091f\u094d\u0930\u094b\u092a\u094b\u0932\u093f\u091f\u093e\u0928\u094b \u0930\u0949\u092c\u0930\u094d\u091f\u094b \u092e\u0947\u0932\u0947\u0902\u0921\u0947\u091c\u093c",
|
||||
"bn": "\u098f\u09b8\u09cd\u09a4\u09be\u09a6\u09bf\u0993 \u09ae\u09c7\u099f\u09cd\u09b0\u09cb\u09aa\u09b2\u09bf\u099f\u09be\u09a8\u09cb \u09b0\u09ac\u09be\u09b0\u09cd\u09a4\u09cb \u09ae\u09c7\u09b2\u09be\u09a8\u09cd\u09a6\u09c7\u099c"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
},
|
||||
"stadium": {
|
||||
"name": "Estadio Metropolitano Roberto Melendez",
|
||||
"capacity": 46692
|
||||
}
|
||||
},
|
||||
"referee": {
|
||||
"name": "Carlos Ortega",
|
||||
"slug": "ortega-carlos",
|
||||
"yellowCards": 1524,
|
||||
"redCards": 45,
|
||||
"yellowRedCards": 48,
|
||||
"games": 257,
|
||||
"sport": {
|
||||
"id": 1,
|
||||
"slug": "football",
|
||||
"name": "Football"
|
||||
},
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 786569,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0643\u0627\u0631\u0644\u0648\u0633 \u0623\u0648\u0631\u062a\u064a\u063a\u0627"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
}
|
||||
},
|
||||
"homeTeam": {
|
||||
"name": "Junior Barranquilla",
|
||||
"slug": "junior-barranquilla",
|
||||
"shortName": "Junior Barranquilla",
|
||||
"gender": "M",
|
||||
"sport": {
|
||||
"name": "Football",
|
||||
"slug": "football",
|
||||
"id": 1
|
||||
},
|
||||
"userCount": 72286,
|
||||
"manager": {
|
||||
"name": "Alfredo Arias",
|
||||
"slug": "alfredo-arias",
|
||||
"shortName": "A. Arias",
|
||||
"country": {
|
||||
"alpha2": "UY",
|
||||
"alpha3": "URY",
|
||||
"name": "Uruguay",
|
||||
"slug": "uruguay"
|
||||
},
|
||||
"id": 340049,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0623\u0644\u0641\u0631\u064a\u062f\u0648 \u0623\u0631\u064a\u0627\u0633"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u0623. \u0623\u0631\u064a\u0627\u0633"
|
||||
}
|
||||
}
|
||||
},
|
||||
"venue": {
|
||||
"city": {
|
||||
"name": "Barranquilla",
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 18864
|
||||
},
|
||||
"venueCoordinates": {
|
||||
"latitude": 10.926955,
|
||||
"longitude": -74.800511
|
||||
},
|
||||
"hidden": true,
|
||||
"slug": "estadio-metropolitano-roberto-melendez",
|
||||
"name": "Estadio Metropolitano Roberto Melendez",
|
||||
"capacity": 46692,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 1594,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0645\u0644\u0639\u0628 \u0645\u062a\u0631\u0648\u0628\u0648\u0644\u064a\u062a\u0627\u0646\u0648 \u0631\u0648\u0628\u0631\u062a\u0648 \u0645\u064a\u0644\u064a\u0646\u062f\u064a\u0632",
|
||||
"hi": "\u090f\u0938\u094d\u091f\u0947\u0921\u093f\u092f\u094b \u092e\u0947\u091f\u094d\u0930\u094b\u092a\u094b\u0932\u093f\u091f\u093e\u0928\u094b \u0930\u0949\u092c\u0930\u094d\u091f\u094b \u092e\u0947\u0932\u0947\u0902\u0921\u0947\u091c\u093c",
|
||||
"bn": "\u098f\u09b8\u09cd\u09a4\u09be\u09a6\u09bf\u0993 \u09ae\u09c7\u099f\u09cd\u09b0\u09cb\u09aa\u09b2\u09bf\u099f\u09be\u09a8\u09cb \u09b0\u09ac\u09be\u09b0\u09cd\u09a4\u09cb \u09ae\u09c7\u09b2\u09be\u09a8\u09cd\u09a6\u09c7\u099c"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
},
|
||||
"stadium": {
|
||||
"name": "Estadio Metropolitano Roberto Melendez",
|
||||
"capacity": 46692
|
||||
}
|
||||
},
|
||||
"nameCode": "JUN",
|
||||
"class": 1,
|
||||
"disabled": false,
|
||||
"national": false,
|
||||
"type": 0,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 6105,
|
||||
"fullName": "Junior Barranquilla",
|
||||
"subTeams": [],
|
||||
"teamColors": {
|
||||
"primary": "#cc0000",
|
||||
"secondary": "#ffffff",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"foundationDateTimestamp": -1432771200,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u062e\u0648\u0646\u064a\u0648 \u0628\u0627\u0631\u0627\u0646\u0643\u0648\u064a\u0644\u0627",
|
||||
"ru": "\u0410\u0442\u043b\u0435\u0442\u0438\u043a\u043e \u0414\u0436\u0443\u043d\u0438\u043e\u0440"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u062e\u0648\u0646\u064a\u0648 \u0628\u0627\u0631\u0627\u0646\u0643\u0648\u064a\u0644\u0627"
|
||||
}
|
||||
},
|
||||
"timeActive": []
|
||||
},
|
||||
"awayTeam": {
|
||||
"name": "Atl\u00e9tico Nacional",
|
||||
"slug": "atletico-nacional",
|
||||
"shortName": "Atl. Nacional",
|
||||
"gender": "M",
|
||||
"sport": {
|
||||
"name": "Football",
|
||||
"slug": "football",
|
||||
"id": 1
|
||||
},
|
||||
"userCount": 122307,
|
||||
"manager": {
|
||||
"name": "Diego Arias",
|
||||
"slug": "diego-arias",
|
||||
"shortName": "D. Arias",
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 801358,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u062f\u064a\u064a\u063a\u0648 \u0623\u0631\u064a\u0627\u0633"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u062f. \u0623\u0631\u064a\u0627\u0633"
|
||||
}
|
||||
}
|
||||
},
|
||||
"venue": {
|
||||
"city": {
|
||||
"name": "Medellin",
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 19386
|
||||
},
|
||||
"venueCoordinates": {
|
||||
"latitude": 6.256827,
|
||||
"longitude": -75.590147
|
||||
},
|
||||
"hidden": true,
|
||||
"slug": "estadio-atanasio-girardot",
|
||||
"name": "Estadio Atanasio Girardot",
|
||||
"capacity": 44739,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 1010,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0645\u0644\u0639\u0628 \u0623\u062a\u0627\u0646\u0627\u0633\u064a\u0648 \u063a\u064a\u0631\u0627\u0631\u062f\u0648\u062a",
|
||||
"hi": "\u090f\u0938\u094d\u091f\u0947\u0921\u093f\u092f\u094b \u0905\u091f\u093e\u0928\u093e\u0938\u093f\u092f\u094b \u0917\u093f\u0930\u093e\u0930\u0921\u0949\u091f",
|
||||
"bn": "\u098f\u09b8\u09cd\u09a4\u09be\u09a6\u09bf\u0993 \u0986\u09a4\u09be\u09a8\u09be\u09b8\u09bf\u0993 \u0997\u09bf\u09b0\u09be\u09a1\u099f"
|
||||
},
|
||||
"shortNameTranslation": {}
|
||||
},
|
||||
"stadium": {
|
||||
"name": "Estadio Atanasio Girardot",
|
||||
"capacity": 44739
|
||||
}
|
||||
},
|
||||
"nameCode": "CAN",
|
||||
"class": 1,
|
||||
"disabled": false,
|
||||
"national": false,
|
||||
"type": 0,
|
||||
"country": {
|
||||
"alpha2": "CO",
|
||||
"alpha3": "COL",
|
||||
"name": "Colombia",
|
||||
"slug": "colombia"
|
||||
},
|
||||
"id": 6106,
|
||||
"fullName": "Atl\u00e9tico Nacional",
|
||||
"subTeams": [],
|
||||
"teamColors": {
|
||||
"primary": "#339933",
|
||||
"secondary": "#ffffff",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"foundationDateTimestamp": -720230400,
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0623\u062a\u0644\u062a\u064a\u0643\u0648 \u0646\u0627\u0633\u064a\u0648\u0646\u0627\u0644",
|
||||
"ru": "\u0410\u0442\u043b\u0435\u0442\u0438\u043a\u043e \u041d\u0430\u0441\u044c\u043e\u043d\u0430\u043b\u044c \u041c\u0435\u0434\u0435\u043b\u044c\u0438\u043d"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u0623\u062a\u0644. \u0646\u0627\u0633\u064a\u0648\u0646\u0627\u0644"
|
||||
}
|
||||
},
|
||||
"timeActive": []
|
||||
},
|
||||
"homeScore": {
|
||||
"current": 3,
|
||||
"display": 3,
|
||||
"period1": 2,
|
||||
"period2": 1,
|
||||
"normaltime": 3
|
||||
},
|
||||
"awayScore": {
|
||||
"current": 0,
|
||||
"display": 0,
|
||||
"period1": 0,
|
||||
"period2": 0,
|
||||
"normaltime": 0
|
||||
},
|
||||
"time": {
|
||||
"injuryTime1": 7,
|
||||
"injuryTime2": 6,
|
||||
"currentPeriodStartTimestamp": 1780450982
|
||||
},
|
||||
"changes": {
|
||||
"changes": [
|
||||
"status.code",
|
||||
"status.description",
|
||||
"status.type"
|
||||
],
|
||||
"changeTimestamp": 1780454080
|
||||
},
|
||||
"hasGlobalHighlights": true,
|
||||
"hasXg": true,
|
||||
"hasEventPlayerStatistics": true,
|
||||
"hasEventPlayerHeatMap": true,
|
||||
"detailId": 1,
|
||||
"crowdsourcingDataDisplayEnabled": false,
|
||||
"correctAiInsight": true,
|
||||
"correctHalftimeAiInsight": true,
|
||||
"id": 16231268,
|
||||
"defaultPeriodCount": 2,
|
||||
"defaultPeriodLength": 45,
|
||||
"defaultOvertimeLength": 15,
|
||||
"slug": "atletico-nacional-junior-barranquilla",
|
||||
"currentPeriodStartTimestamp": 1780450982,
|
||||
"startTimestamp": 1780446600,
|
||||
"finalResultOnly": false,
|
||||
"feedLocked": true,
|
||||
"cupMatchesInRound": 2,
|
||||
"seasonStatisticsType": "overall",
|
||||
"showTotoPromo": true,
|
||||
"isEditor": false,
|
||||
"eventFilters": {
|
||||
"category": [
|
||||
"club"
|
||||
],
|
||||
"level": [
|
||||
"pro"
|
||||
],
|
||||
"gender": [
|
||||
"M"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,4 +2,5 @@
|
||||
class="h-full rounded-lg p-0 lg:py-2 grid grid-rows-3 gap-0 bg-green-50 dark:bg-green-900 border border-green-300 dark:border-green-700">
|
||||
<span class="font-bold text-center">{{ $titel }}</span>
|
||||
<span class="font-bold text-2xl text-center">{{ $value }}</span>
|
||||
{{-- <x-filament::loading-indicator class="h-5 w-5" /> --}}
|
||||
</div>
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File renamed without changes.
@@ -0,0 +1,120 @@
|
||||
https: //www.sofascore.com/api/v1/event/13980110/player/893998/statistics
|
||||
{
|
||||
"player": {
|
||||
"name": "Luca Ranieri",
|
||||
"firstName": "Luca",
|
||||
"lastName": "Ranieri",
|
||||
"slug": "luca-ranieri",
|
||||
"shortName": "L. Ranieri",
|
||||
"position": "D",
|
||||
"jerseyNumber": "6",
|
||||
"height": 187,
|
||||
"userCount": 1149,
|
||||
"gender": "M",
|
||||
"id": 893998,
|
||||
"marketValueCurrency": "EUR",
|
||||
"dateOfBirthTimestamp": 924825600,
|
||||
"proposedMarketValueRaw": {
|
||||
"value": 6200000,
|
||||
"currency": "EUR"
|
||||
},
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0644\u0648\u0643\u0627 \u0631\u0627\u0646\u064a\u064a\u0631\u064a",
|
||||
"bn": "\u09b2\u09c1\u0995\u09be \u09b0\u09be\u09a8\u09bf\u09af\u09bc\u09c7\u09b0\u09bf",
|
||||
"hi": "\u0932\u0941\u0915\u093e \u0930\u093e\u0928\u093f\u090f\u0930\u0940"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u0644. \u0631\u0627\u0646\u064a\u064a\u0631\u064a",
|
||||
"bn": "\u098f\u09b2. \u09b0\u09be\u09a8\u09bf\u09af\u09bc\u09c7\u09b0\u09bf",
|
||||
"hi": "\u090f\u0932. \u0930\u093e\u0928\u093f\u090f\u0930\u0940"
|
||||
}
|
||||
}
|
||||
},
|
||||
"team": {
|
||||
"name": "Fiorentina",
|
||||
"slug": "fiorentina",
|
||||
"shortName": "Fiorentina",
|
||||
"gender": "M",
|
||||
"sport": {
|
||||
"name": "Football",
|
||||
"slug": "football",
|
||||
"id": 1
|
||||
},
|
||||
"userCount": 315046,
|
||||
"nameCode": "FIO",
|
||||
"disabled": false,
|
||||
"national": false,
|
||||
"type": 0,
|
||||
"id": 2693,
|
||||
"teamColors": {
|
||||
"primary": "#542baa",
|
||||
"secondary": "#ffffff",
|
||||
"text": "#ffffff"
|
||||
},
|
||||
"fieldTranslations": {
|
||||
"nameTranslation": {
|
||||
"ar": "\u0641\u064a\u0648\u0631\u0646\u062a\u064a\u0646\u0627",
|
||||
"bn": "\u09ab\u09bf\u0993\u09b0\u09c7\u09a8\u09cd\u099f\u09bf\u09a8\u09be",
|
||||
"hi": "\u092b\u093f\u092f\u094b\u0930\u0947\u0902\u091f\u0940\u0928\u093e",
|
||||
"ru": "\u0424\u0438\u043e\u0440\u0435\u043d\u0442\u0438\u043d\u0430"
|
||||
},
|
||||
"shortNameTranslation": {
|
||||
"ar": "\u0641\u064a\u0648\u0631\u0646\u062a\u064a\u0646\u0627"
|
||||
}
|
||||
}
|
||||
},
|
||||
"statistics": {
|
||||
"totalPass": 59,
|
||||
"accuratePass": 53,
|
||||
"totalLongBalls": 7,
|
||||
"accurateLongBalls": 7,
|
||||
"goalAssist": 0,
|
||||
"accurateOwnHalfPasses": 23,
|
||||
"totalOwnHalfPasses": 25,
|
||||
"accurateOppositionHalfPasses": 30,
|
||||
"totalOppositionHalfPasses": 34,
|
||||
"totalCross": 1,
|
||||
"aerialWon": 3,
|
||||
"duelLost": 2,
|
||||
"duelWon": 5,
|
||||
"totalContest": 1,
|
||||
"blockedScoringAttempt": 1,
|
||||
"totalClearance": 4,
|
||||
"outfielderBlock": 1,
|
||||
"interceptionWon": 1,
|
||||
"ballRecovery": 4,
|
||||
"totalTackle": 1,
|
||||
"wonTackle": 1,
|
||||
"unsuccessfulTouch": 1,
|
||||
"wasFouled": 1,
|
||||
"fouls": 1,
|
||||
"minutesPlayed": 90,
|
||||
"touches": 72,
|
||||
"rating": 7.6,
|
||||
"possessionLostCtrl": 9,
|
||||
"expectedGoals": 0.0461,
|
||||
"expectedAssists": 0.0142134,
|
||||
"totalBallCarriesDistance": 135.6977791543,
|
||||
"ballCarriesCount": 15,
|
||||
"totalProgression": 43.815867162916,
|
||||
"bestBallCarryProgression": 18.868747236023,
|
||||
"totalProgressiveBallCarriesDistance": 33.412386266174,
|
||||
"progressiveBallCarriesCount": 1,
|
||||
"ratingVersions": {
|
||||
"original": 7.6,
|
||||
"alternative": 7.5
|
||||
},
|
||||
"totalShots": 1,
|
||||
"shotValueNormalized": -0.03,
|
||||
"passValueNormalized": 0.31,
|
||||
"dribbleValueNormalized": 0.05,
|
||||
"defensiveValueNormalized": 0.29,
|
||||
"statisticsType": {
|
||||
"sportSlug": "football",
|
||||
"statisticsType": "player"
|
||||
}
|
||||
},
|
||||
"position": "D",
|
||||
"extra": null
|
||||
}
|
||||
Reference in new issue
Block a user