From ed8a50d044f1be7cf0aabacfa0651f6ef92922f5 Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 14 Sep 2026 12:33:40 +0200 Subject: [PATCH] place calculator an separate page --- app/Filament/Pages/PlayerProps.php | 163 ++--- app/Filament/Widgets/PlayerPropsDrop.php | 572 +++++++++++++++++- app/Filament/Widgets/PlayerPropsTable.php | 124 ++-- composer.lock | 12 +- public/images/soccerfield-af4.jpg | Bin 0 -> 65061 bytes public/images/soccerfield-af4.png | Bin 0 -> 74232 bytes resources/css/filament/admin/theme.css | 19 +- resources/svg/player.svg | 14 +- resources/svg/soccerfield-fill.svg | 1 + resources/svg/soccerfield.svg | 19 +- resources/svg/soccerfield2.svg | 3 - .../modals/position-abbreviation.blade.php | 2 +- .../tables/columns/drag-card.blade.php | 37 +- .../livewire/player-props-drop.blade.php | 117 ++-- 14 files changed, 777 insertions(+), 306 deletions(-) create mode 100644 public/images/soccerfield-af4.jpg create mode 100644 public/images/soccerfield-af4.png create mode 100644 resources/svg/soccerfield-fill.svg delete mode 100644 resources/svg/soccerfield2.svg diff --git a/app/Filament/Pages/PlayerProps.php b/app/Filament/Pages/PlayerProps.php index 21d293b0..6c65bb6c 100644 --- a/app/Filament/Pages/PlayerProps.php +++ b/app/Filament/Pages/PlayerProps.php @@ -8,6 +8,7 @@ use App\Actions\LoadStatisticFixturesMatchOptions; use App\Filament\Widgets\PlayerPropsDrop; use App\Filament\Widgets\PlayerPropsTable; use App\Models\SofaScoreRosa; +use App\Models\SsLineupMemory; use App\Models\StatisticFixtures; use BackedEnum; use Filament\Forms\Components\Select; @@ -16,6 +17,8 @@ use Filament\Forms\Contracts\HasForms; use Filament\Pages\Page; use Filament\Schemas\Components\Utilities\Get; use Filament\Schemas\Schema; +use Illuminate\Support\Facades\Auth; +use Livewire\Attributes\On; class PlayerProps extends Page implements HasForms { @@ -34,66 +37,43 @@ class PlayerProps extends Page implements HasForms protected static ?int $navigationSort = 2; - public array $boxes; - - public array $activeBoxes; - - public array $sourceRecords; - public ?array $filterData; - public array $beschriftung; - - public array $lineup; - public array $lineUpOptinos; - public array $lineUpMap; + public string $activeLineUp = '3313'; - public string $lineupActive = '3313'; + public array $players = []; + public array $clientLineUps = []; + + public int $team_id; public function mount(): void { // Initialisiert das Formular mit leeren Werten $this->form->fill(); - - $this->activeBoxes = $this->boxNames(); - $this->lineUpMap = $this->linUpMap(); - $this->lineUpOptinos = $this->lineUpOptinos(); - $this->lineup = $this->lineUpMap[$this->lineupActive]; - - for ($i = 1; $i <= 35; $i++) { - $this->boxes[$i] = []; - if (isset($this->activeBoxes[$i])) { - $this->beschriftung[$i] = $this->activeBoxes[$i]; - } else { - $this->beschriftung[$i] = ''; - } - } } public function getWidgetData(): array { return [ - 'beschriftung' => $this->beschriftung, - 'lineup' => $this->lineup, - 'boxes' => $this->boxes, + 'activeLineUp' => $this->activeLineUp, ]; } public function form(Schema $schema): Schema { return $schema - ->columns(4) + ->columns(5) ->components([ Select::make('cid') ->live() ->preload() ->searchable(false) - ->prefixIconColor(fn (Get $get): string => $get('cid') ? 'success' : 'danger') + ->prefixIconColor(fn(Get $get): string => $get('cid') ? 'success' : 'danger') ->prefixIcon('phosphor-globe-fill') ->hiddenLabel() - ->options(fn () => LoadSofaScoreCategory::load()) + ->options(fn() => LoadSofaScoreCategory::load()) ->placeholder('Country') ->afterStateUpdated(function (callable $set, $state) { $set('lid', null); @@ -103,10 +83,10 @@ class PlayerProps extends Page implements HasForms Select::make('lid') ->live() ->preload() - ->prefixIconColor(fn (Get $get): string => $get('lid') ? 'success' : 'danger') + ->prefixIconColor(fn(Get $get): string => $get('lid') ? 'success' : 'danger') ->prefixIcon('phosphor-trophy-fill') ->hiddenLabel() - ->options(fn (Get $get) => LoadStatisticFixturesLeaguesOptions::load($get('cid'))) + ->options(fn(Get $get) => LoadStatisticFixturesLeaguesOptions::load($get('cid'))) ->placeholder('League') ->afterStateUpdated(function (callable $set) { $set('mid', null); @@ -115,12 +95,13 @@ class PlayerProps extends Page implements HasForms Select::make('mid') ->live() ->hiddenLabel() - ->prefixIconColor(fn (Get $get): string => $get('mid') ? 'success' : 'danger') + ->prefixIconColor(fn(Get $get): string => $get('mid') ? 'success' : 'danger') ->prefixIcon('phosphor-calendar-check-fill') ->options(function (Get $get) { return LoadStatisticFixturesMatchOptions::load($get('lid')); }) - ->afterStateUpdated(function (callable $set) { + ->afterStateUpdated(function (callable $set, $state) { + $this->dispatch('match-update', match_id: $state); $set('tid', null); }) ->placeholder('Events'), @@ -128,7 +109,7 @@ class PlayerProps extends Page implements HasForms Select::make('tid') ->live() ->hiddenLabel() - ->prefixIconColor(fn (Get $get): string => $get('tid') ? 'success' : 'danger') + ->prefixIconColor(fn(Get $get): string => $get('tid') ? 'success' : 'danger') ->prefixIcon('phosphor-users-three-fill') ->options(function (Get $get) { if ($get('mid')) { @@ -144,33 +125,58 @@ class PlayerProps extends Page implements HasForms } }) ->placeholder('Team')->afterStateUpdated(function ($state) { - // Speichert das ausgewählte Team direkt in der Session - // session(['player_props_filter_team' => $state]); - - // Widget informieren - $this->dispatch('refreshFilters', team_id: $state); + $this->dispatch('team-update', team_id: $state); + }), + Select::make('lineup') + ->live() + ->hiddenLabel() + ->allowHtml() + ->native(false) + ->prefixIconColor('info') + ->prefixIcon('icon-soccerfield-fill') + ->options(function () { + $res = $this->lineUpOptinos(); + $arr = []; + foreach ($res as $key => $value) { + if ($this->players && in_array($key, $this->clientLineUps)) + $arr[$key] = $value . ' has lineup'; + else + $arr[$key] = $value; + } + return $arr; + }) + ->placeholder('LineUp') + ->searchable() + ->default($this->activeLineUp) + ->afterStateUpdated(function ($state) { + $this->dispatch('lineup-update', activeLineUp: $state); }), ])->statePath('filterData'); } + #[On('team-update')] + public function syncData(int $team_id) + { + $this->team_id = $team_id; + $this->clientLineUps = SsLineupMemory::where('team_id', $team_id)->where('client_id', Auth::user()->client_id)->pluck('lineup')->toArray(); + } + + #[On('update-players')] + public function updatePlayers(array $players) + { + $this->players = $players; + } protected function getFooterWidgets(): array { return [ - PlayerPropsTable::class, - PlayerPropsDrop::class, + PlayerPropsTable::make(['players' => $this->players]), + PlayerPropsDrop::make(['players' => $this->players]), ]; } - public function getFooterWidgetsColumns(): int|array { return 5; } - - private function boxNames(): array - { - return [2 => 'DR', 4 => 'MR', 6 => 'LW', 9 => 'DC', 10 => 'DM', 11 => 'MC', 12 => 'AM', 15 => 'SW', 16 => 'DC', 17 => 'DM', 18 => 'MC', 19 => 'AM', 20 => 'SM', 21 => 'ST', 23 => 'DC', 24 => 'DM', 25 => 'MC', 26 => 'AM', 30 => 'DL', 32 => 'ML', 34 => 'RW']; - } - private function lineUpOptinos(): array { return [ @@ -225,59 +231,4 @@ class PlayerProps extends Page implements HasForms '541+' => '541+', ]; } - - private function linUpMap(): array - { - return [ - '3313' => [9, 16, 23, 11, 18, 25, 19, 6, 34, 21], - '3331' => [9, 16, 23, 17, 11, 25, 12, 19, 26, 21], - '3331-' => [9, 16, 23, 10, 18, 24, 12, 19, 26, 21], - '3331+' => [9, 16, 23, 11, 18, 25, 12, 19, 26, 21], - '3412-' => [9, 16, 23, 4, 10, 24, 32, 19, 20, 21], - '3412+' => [9, 16, 23, 4, 11, 25, 32, 19, 20, 21], - '3421-' => [9, 16, 23, 4, 10, 24, 32, 12, 26, 21], - '3421+' => [9, 16, 23, 4, 11, 25, 32, 12, 26, 21], - '343-' => [9, 16, 23, 4, 10, 24, 32, 6, 34, 21], - '343+' => [9, 16, 23, 4, 11, 25, 32, 6, 34, 21], - '3511' => [9, 16, 23, 4, 11, 17, 25, 32, 19, 21], - '3511-' => [9, 16, 23, 4, 10, 18, 24, 32, 19, 21], - '3511+' => [9, 16, 23, 4, 11, 18, 25, 32, 19, 21], - '352' => [9, 16, 23, 4, 11, 17, 25, 32, 20, 21], - '352-' => [9, 16, 23, 4, 10, 18, 24, 32, 20, 21], - '352+' => [9, 16, 23, 4, 11, 18, 25, 32, 20, 21], - '4132' => [2, 9, 23, 30, 17, 12, 19, 26, 20, 21], - '4213-' => [2, 9, 23, 30, 10, 24, 19, 6, 34, 21], - '4213+' => [2, 9, 23, 30, 11, 25, 19, 6, 34, 21], - '4222' => [2, 9, 23, 30, 10, 24, 12, 26, 20, 21], - '4231' => [2, 9, 23, 30, 10, 24, 12, 19, 26, 21], - '424' => [2, 9, 23, 30, 10, 24, 6, 34, 20, 21], - '4312' => [2, 9, 23, 30, 17, 11, 25, 19, 20, 21], - '4312-' => [2, 9, 23, 30, 10, 18, 24, 19, 20, 21], - '4312+' => [2, 9, 23, 30, 11, 18, 25, 19, 20, 21], - '4321' => [2, 9, 23, 30, 17, 11, 25, 12, 26, 21], - '4321-' => [2, 9, 23, 30, 10, 18, 24, 12, 26, 21], - '4321+' => [2, 9, 23, 30, 11, 18, 25, 12, 26, 21], - '433' => [2, 9, 23, 30, 17, 11, 25, 6, 34, 21], - '433-' => [2, 9, 23, 30, 10, 18, 24, 6, 34, 21], - '433+' => [2, 9, 23, 30, 11, 18, 25, 6, 34, 21], - '4411-' => [2, 9, 23, 30, 4, 10, 24, 32, 19, 21], - '4411+' => [2, 9, 23, 30, 4, 11, 25, 32, 19, 21], - '442' => [2, 9, 23, 30, 4, 17, 18, 32, 20, 21], - '442-' => [2, 9, 23, 30, 4, 10, 24, 32, 20, 21], - '442+' => [2, 9, 23, 30, 4, 11, 25, 32, 20, 21], - '451' => [2, 9, 23, 30, 4, 17, 11, 25, 32, 21], - '451-' => [2, 9, 23, 30, 4, 10, 18, 24, 32, 21], - '451+' => [2, 9, 23, 30, 4, 11, 18, 25, 32, 21], - '523-' => [2, 9, 16, 23, 30, 10, 24, 6, 34, 21], - '523+' => [2, 9, 16, 23, 30, 11, 25, 6, 34, 21], - '5311' => [2, 9, 16, 23, 30, 17, 11, 25, 19, 21], - '5311-' => [2, 9, 16, 23, 30, 10, 18, 24, 19, 21], - '5311+' => [2, 9, 16, 23, 30, 11, 18, 25, 19, 21], - '532' => [2, 9, 16, 23, 30, 17, 11, 25, 20, 21], - '532-' => [2, 9, 16, 23, 30, 10, 18, 24, 20, 21], - '532+' => [2, 9, 16, 23, 30, 11, 18, 25, 20, 21], - '541-' => [2, 9, 16, 23, 30, 4, 10, 24, 32, 21], - '541+' => [2, 9, 16, 23, 30, 4, 11, 25, 32, 21], - ]; - } } diff --git a/app/Filament/Widgets/PlayerPropsDrop.php b/app/Filament/Widgets/PlayerPropsDrop.php index 92f6e611..ab41ae00 100644 --- a/app/Filament/Widgets/PlayerPropsDrop.php +++ b/app/Filament/Widgets/PlayerPropsDrop.php @@ -2,15 +2,583 @@ namespace App\Filament\Widgets; +use App\Livewire\PlayerCalculator; +use App\Models\SofaScorePlayerPerSeason; +use App\Models\SofaScorePlayerPosition; +use App\Models\SofaScoreRosa; +use App\Models\SsLineupMemory; +use App\Models\StatisticFixtures; +use App\Models\StatistikoDetail; +use Filament\Notifications\Notification; use Filament\Widgets\Widget; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Log; +use Livewire\Attributes\On; class PlayerPropsDrop extends Widget { protected string $view = 'livewire.player-props-drop'; + public float $x_value = 3; + public float $y_value = 180; + public array $activeBoxes; public array $beschriftung; - public array $lineup; - + public array $lineUpMap; + public string $activeLineUp; public array $boxes; + public string $team_name = ''; + public int $team_id = 0; + public int $match_id; + public int $player_on_field_counter; + public array $calculationVariables; + + public array $players; + + public function mount(): void + { + $this->activeBoxes = $this->boxNames(); + + $this->lineUpMap = $this->lineUpMap(); + + $this->player_on_field_counter = 0; + + for ($i = 1; $i <= 35; $i++) { + $this->boxes[$i] = []; + if (isset($this->activeBoxes[$i])) { + $this->beschriftung[$i] = $this->activeBoxes[$i]; + } else { + $this->beschriftung[$i] = ''; + } + } + + $this->lineup = $this->lineUpMap[$this->activeLineUp]; + } + + #[On('match-update')] + public function matchUpdate(int $match_id) + { + $this->match_id = $match_id; + } + + #[On('team-update')] + public function syncData(int $team_id) + { + $this->players = PlayerCalculator::load($team_id); + $this->team_name = SofaScoreRosa::where('ss_team_id', $team_id)->value('ss_team_name'); + $this->team_id = $team_id; + $this->loadPlacement(); + + $this->dispatch('update-players', players: $this->players); + } + + #[On('lineup-update')] + public function lineUpUpdate(int|string $activeLineUp) + { + $this->activeLineUp = $activeLineUp; + $this->lineup = $this->lineUpMap[$activeLineUp]; + $this->loadPlacement(); + } + + #[On('element-dropped-in-box')] + public function handleElementDropped(mixed $elementData, mixed $boxNumber): void + { + $boxNumber = (int) $boxNumber; + $player = is_array($elementData) ? $elementData : json_decode($elementData, true); + + if (! $player || ! isset($player['id'])) { + return; + } + + // when drag from field to field remove from prviouse field to prevent doubles + foreach ($this->boxes as $k => $record) { + if (count($record) && $record['id'] == (int) $player['id']) { + $this->clearBox($k); + } + } + + // when drag from source remove from proviuse field + foreach ($this->players as $k => $record) { + if ($record['id'] == (int) $player['id']) { + if ($this->boxes[$boxNumber]) { + $this->clearBox($boxNumber); + } + $this->boxes[$boxNumber] = $record; + $this->players[$k]['active'] = 1; + $this->players[$k]['pos'] = $this->activeBoxes[$boxNumber]; + + $this->player_on_field_counter++; + } + } + + $this->storePlacement(); + + if ($this->player_on_field_counter >= 10) { + $this->calculateAspg(); + } else { + $this->dispatch('update-players', players: $this->players); + } + } + + + + public function loadPlacement() + { + $this->clearResultTable(); + + if ($this->team_id) { + + $this->player_on_field_counter = 0; + + $res = SsLineupMemory::where('client_id', Auth::user()->client_id)->where('team_id', $this->team_id)->where('lineup', $this->activeLineUp)->first(); + + if ($res) { + // Log::debug('SsLineupMemory', $res->toArray()); + + $placement = json_decode($res->placement, 1); + + foreach ($this->players as $k => $record) { + + // dd($this->lineup, $record, $stored_positions); + + $id = $record['id']; + if (isset($placement[$id]) && in_array($placement[$id], $this->lineup)) { + $this->boxes[$placement[$id]] = $record; + $this->players[$k]['active'] = 1; + $this->players[$k]['pos'] = $record['pos_ori']; + + $this->player_on_field_counter++; + } + } + } + } + } + + public function storePlacement() + { + $store = []; + foreach ($this->boxes as $pos => $value) { + if ($value) { + $store[$value['id']] = $pos; + } + } + SsLineupMemory::updateOrCreate([ + 'client_id' => Auth::user()->client_id, + 'team_id' => $this->team_id, + 'lineup' => $this->activeLineUp, + ], [ + 'placement' => json_encode($store), + 'team_name' => $this->team_name, + ]); + } + + public function updateLineup(?string $state) + { + $this->clearResultTable(); + + if (isset($this->lineupsMap[$state])) { + $this->lineup = $this->lineupsMap[$state]; + } else { + $this->lineup = []; + } + } + + public function clearBox(int $boxNumber): void + { + if (isset($this->boxes[$boxNumber])) { + $tmp = $this->boxes[$boxNumber]; + $player_id = 0; + foreach ($tmp as $key => $value) { + if ($key == 'id') { + $player_id = $value; + } + } + foreach ($this->players as $k => $record) { + if ($record['id'] == (int) $player_id) { + $this->boxes[$boxNumber] = []; + $this->players[$k]['pos'] = ''; + $this->players[$k]['active'] = 0; + + $this->player_on_field_counter--; + } + } + + foreach ($this->players as $k => $record) { + $this->players[$k]['gls'] = ''; + $this->players[$k]['fls'] = ''; + $this->players[$k]['ofs'] = ''; + $this->players[$k]['snt'] = ''; + $this->players[$k]['tsh'] = ''; + $this->players[$k]['crd'] = ''; + } + + $this->storePlacement(); + } + } + + public function clearResultTable(): void + { + for ($i = 1; $i <= 35; $i++) { + $this->boxes[$i] = []; + } + foreach ($this->players as $k => $record) { + $this->players[$k]['active'] = 0; + $this->players[$k]['gls'] = ''; + $this->players[$k]['fls'] = ''; + $this->players[$k]['ofs'] = ''; + $this->players[$k]['snt'] = ''; + $this->players[$k]['tsh'] = ''; + $this->players[$k]['crd'] = ''; + } + + $this->player_on_field_counter = 0; + } + + public function copyDevelopment() + { + if ($this->player_on_field_counter < 10) { + return; + } + + $copystring = ''; + foreach ($this->calculationVariables as $row) { + if ($copystring == '') { + $keys = array_keys($row); + $copystring .= implode(';', $keys) . "\n"; + } + $copystring .= implode(';', $row) . "\n"; + } + $this->js("navigator.clipboard.writeText(`$copystring`)"); + + Notification::make() + ->title('Calculation variables copied') + ->success() + ->send(); + } + + public function copyResult() + { + if ($this->player_on_field_counter < 10) { + return; + } + $header = ['name', 'foot', 'events', 'average min', 'position', 'on field', 'gls', 'fls', 'ofs', 'snt', 'tsh', 'crd']; + $copystring = implode(';', $header) . "\n"; + foreach ($this->players as $row) { + $tmp = []; + $tmp[] = $row['name']; + $tmp[] = $row['foot']; + $tmp[] = $row['tot_evt']; + $tmp[] = $row['ave_min']; + if ($row['pos']) { + $tmp[] = $row['pos']; + } else { + $tmp[] = $row['pos_ori']; + } + $tmp[] = $row['active']; + $tmp[] = $row['gls']; + $tmp[] = $row['fls']; + $tmp[] = $row['ofs']; + $tmp[] = $row['snt']; + $tmp[] = $row['tsh']; + $tmp[] = $row['crd']; + + $copystring .= implode(';', $tmp) . "\n"; + } + $this->js("navigator.clipboard.writeText(`$copystring`)"); + + Notification::make() + ->title('Results copied') + ->success() + ->send(); + } + + public function calculateAspg($manual = false): void + { + if ($this->player_on_field_counter < 10) { + foreach ($this->players as $k => $record) { + $this->players[$k]['gls'] = ''; + $this->players[$k]['fls'] = ''; + $this->players[$k]['ofs'] = ''; + $this->players[$k]['snt'] = ''; + $this->players[$k]['tsh'] = ''; + $this->players[$k]['crd'] = ''; + } + + if ($manual) { + Notification::make()->title('Calculation needs 10 player on field') + ->info() + ->send(); + } + + return; + } + // Calcolare Aspettativa Team per GOALS + // (il valore che appare quando viene selezionato un Evento): nell' esempio, + // se scegliamo come Team il Remo (Home) il valore di riferimento sarà 1.2 + $team_id = $this->team_id; + $res = StatisticFixtures::where('id', $this->match_id)->first(); + $asp_team = 0; + if ((int) $res->home_id == (int) $team_id) { + $asp_team = (float) $res->exp_home; + } elseif ((int) $res->away_id == (int) $team_id) { + $asp_team = (float) $res->exp_away; + } + + $player = StatistikoDetail::where('ss_team_id', (int) $team_id)->where('pos', '!=', 'GK')->where('is_active', 1)->get(); + + // Aspettativa Team di Riferimento + // (ATR) = Aspettativa Team * Numero di Giocatori di Team in Rosters (esclusi i portieri) / 10. + // Ad esempio per Remo (supponiamo 24 giocatori nel Roster esclusi i portieri): ATR = 1.2 * 24 / 10 = 2.88 + + $asp_team_riferimento = (float) $asp_team * $player->count() / 10; + + $player_totals = SofaScorePlayerPerSeason::with('details')->where('season', 'total')->where('ss_team_id', $team_id)->get(); + + /*** + "id" => 35067 + "ss_player_id" => 233856 + "ss_team_id" => 3212 + "season" => "total" + "total_events" => 12 + "total_min" => 667 + "average_min" => 56 + "events_played_home" => 7 + "events_played_away" => 0 + "minutes_played_home" => 398 + "minutes_played_away" => 274 + "goals" => 0 + "fouls" => 5 + "cards" => 2 + "offsides" => 0 + "shots_on_target" => 1 + "shots_off_target" => 0 + */ + $results = []; + $this->calculationVariables = []; + foreach ($player_totals as $val) { + if ($val->details && $val->details->is_active) { + + $ss_player_id = $val->ss_player_id; + $position = $val->details->position; + + $tmp = []; + $tmp['id'] = $ss_player_id; + $tmp['name'] = $val->details->player_name; + + $tmp['asp_team'] = $asp_team; + $tmp['asp_team_riferimento'] = $asp_team_riferimento; + + $position_field = $this->get_position($ss_player_id); + if ($position_field) { + $position = $position_field; + $tmp['active'] = 1; + } else { + $tmp['active'] = 0; + } + $tmp['pos'] = $position; + + // Aspettativa di Gioco (AdG) = Somma Goals fatti da Player nel DB / Somma Minuti Giocati da Player (SMG) nel DB * 90. + // Se la SMG è < Y per quel Player prenderemo in considerazione solo l'Aspettativa Statistica (AS). + // Il valore Y dovrebbe essere configurabile in una interfaccia. Il valore iniziale lo fissiamo a Y = 180 + + // Somma Minuti Giocati da Player (SMG) nel DB + $tmp['somma_minuti'] = $val->total_min; + + // il valore corrispondente al ruolo del Player (esempio un giocatore in Details ha ruolo = RW + // quindi Aspettativa Statistica (AS) per RW = 0.219) + // exp_goals + // exp_assists + // exp_cards + // exp_fouls + // exp_was_fouled + // exp_offsides + // exp_total_shots + // exp_shots_on_target + + $bettypes = ['goals', 'cards', 'fouls', 'offsides', 'total_shots', 'shots_on_target']; + foreach ($bettypes as $bettype) { + + $asp_statistica = (float) SofaScorePlayerPosition::where('ss_code', $position)->value('exp_' . $bettype); + $tmp['asp_statistica_' . $bettype] = $asp_statistica; + + switch ($bettype) { + case 'goals': + if ($val->total_min < $this->y_value || $val->goals == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->goals / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + case 'cards': + if ($val->total_min < $this->y_value || $val->cards == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->cards / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + case 'fouls': + if ($val->total_min < $this->y_value || $val->fouls == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->fouls / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + case 'offsides': + if ($val->total_min < $this->y_value || $val->offsides == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->offsides / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + case 'total_shots': + if ($val->total_min < $this->y_value || $val->total_shots == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->total_shots / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + case 'shots_on_target': + if ($val->total_min < $this->y_value || $val->shots_on_target == 0) { + $tmp['asp_gioco_' . $bettype] = $asp_statistica; + $tmp['asp_teorica_' . $bettype] = $asp_statistica; + } else { + $asp_gioco = $val->shots_on_target / $val->total_min * 90; + $tmp['asp_gioco_' . $bettype] = $asp_gioco; + $tmp['asp_teorica_' . $bettype] = ($this->x_value * $asp_gioco + $asp_statistica) / (1 + $this->x_value); + } + break; + } + } + + // Calcolare la Somma di tutte le AT (colonna G della Tabella) + // Considerare la ATR calcolata allo Step 1 (colonna I della Tabella) + // Aspettativa per Player: AP = AT * ATR / TOT AT + $results[] = $tmp; + + Log::debug('calc', $results); + + // for dev copy + $this->calculationVariables[] = $tmp; + } + } + + $bettypes = ['goals', 'cards', 'fouls', 'offsides', 'total_shots', 'shots_on_target']; + foreach ($bettypes as $bettype) { + $total_bettype = array_sum(array_column($results, 'asp_teorica_' . $bettype)); + foreach ($results as $key => $value) { + // Aspettativa per Player: AP = AT * ATR / TOT AT + $results[$key]['asp_total_' . $bettype] = $total_bettype; + // $results[$key]['asp_player_'.$bettype] = ((float) $value['asp_team'] * (float) $value['asp_teorica_'.$bettype]) / $total_bettype; + $results[$key]['asp_player_' . $bettype] = ($asp_team * $asp_team_riferimento) / $total_bettype; + } + } + + // dd($results); + + // update frontend + foreach ($this->players as $k => $record) { + + foreach ($results as $key => $result) { + if ($record['id'] == $result['id']) { + // dd($result); + $this->players[$k]['active'] = $result['active']; + $this->players[$k]['gls'] = number_format($result['asp_player_goals'], 3); + $this->players[$k]['fls'] = number_format($result['asp_player_fouls'], 3); + $this->players[$k]['ofs'] = number_format($result['asp_player_offsides'], 3); + $this->players[$k]['snt'] = number_format($result['asp_player_total_shots'], 3); + $this->players[$k]['tsh'] = number_format($result['asp_player_shots_on_target'], 3); + $this->players[$k]['crd'] = number_format($result['asp_player_cards'], 3); + } + } + } + + $this->dispatch('update-players', players: $this->players); + } + + public function get_position(int $ss_player_id) + { + // see if player is in field and if yes get new position + foreach ($this->players as $record) { + if ($record['id'] == $ss_player_id) { + return $record['pos']; + } + } + + return false; + } + + private function boxNames(): array + { + return [2 => 'DR', 4 => 'MR', 6 => 'LW', 9 => 'DC', 10 => 'DM', 11 => 'MC', 12 => 'AM', 15 => 'SW', 16 => 'DC', 17 => 'DM', 18 => 'MC', 19 => 'AM', 20 => 'SM', 21 => 'ST', 23 => 'DC', 24 => 'DM', 25 => 'MC', 26 => 'AM', 30 => 'DL', 32 => 'ML', 34 => 'RW']; + } + + private function lineUpMap(): array + { + return [ + '3313' => [9, 16, 23, 11, 18, 25, 19, 6, 34, 21], + '3331' => [9, 16, 23, 17, 11, 25, 12, 19, 26, 21], + '3331-' => [9, 16, 23, 10, 18, 24, 12, 19, 26, 21], + '3331+' => [9, 16, 23, 11, 18, 25, 12, 19, 26, 21], + '3412-' => [9, 16, 23, 4, 10, 24, 32, 19, 20, 21], + '3412+' => [9, 16, 23, 4, 11, 25, 32, 19, 20, 21], + '3421-' => [9, 16, 23, 4, 10, 24, 32, 12, 26, 21], + '3421+' => [9, 16, 23, 4, 11, 25, 32, 12, 26, 21], + '343-' => [9, 16, 23, 4, 10, 24, 32, 6, 34, 21], + '343+' => [9, 16, 23, 4, 11, 25, 32, 6, 34, 21], + '3511' => [9, 16, 23, 4, 11, 17, 25, 32, 19, 21], + '3511-' => [9, 16, 23, 4, 10, 18, 24, 32, 19, 21], + '3511+' => [9, 16, 23, 4, 11, 18, 25, 32, 19, 21], + '352' => [9, 16, 23, 4, 11, 17, 25, 32, 20, 21], + '352-' => [9, 16, 23, 4, 10, 18, 24, 32, 20, 21], + '352+' => [9, 16, 23, 4, 11, 18, 25, 32, 20, 21], + '4132' => [2, 9, 23, 30, 17, 12, 19, 26, 20, 21], + '4213-' => [2, 9, 23, 30, 10, 24, 19, 6, 34, 21], + '4213+' => [2, 9, 23, 30, 11, 25, 19, 6, 34, 21], + '4222' => [2, 9, 23, 30, 10, 24, 12, 26, 20, 21], + '4231' => [2, 9, 23, 30, 10, 24, 12, 19, 26, 21], + '424' => [2, 9, 23, 30, 10, 24, 6, 34, 20, 21], + '4312' => [2, 9, 23, 30, 17, 11, 25, 19, 20, 21], + '4312-' => [2, 9, 23, 30, 10, 18, 24, 19, 20, 21], + '4312+' => [2, 9, 23, 30, 11, 18, 25, 19, 20, 21], + '4321' => [2, 9, 23, 30, 17, 11, 25, 12, 26, 21], + '4321-' => [2, 9, 23, 30, 10, 18, 24, 12, 26, 21], + '4321+' => [2, 9, 23, 30, 11, 18, 25, 12, 26, 21], + '433' => [2, 9, 23, 30, 17, 11, 25, 6, 34, 21], + '433-' => [2, 9, 23, 30, 10, 18, 24, 6, 34, 21], + '433+' => [2, 9, 23, 30, 11, 18, 25, 6, 34, 21], + '4411-' => [2, 9, 23, 30, 4, 10, 24, 32, 19, 21], + '4411+' => [2, 9, 23, 30, 4, 11, 25, 32, 19, 21], + '442' => [2, 9, 23, 30, 4, 17, 18, 32, 20, 21], + '442-' => [2, 9, 23, 30, 4, 10, 24, 32, 20, 21], + '442+' => [2, 9, 23, 30, 4, 11, 25, 32, 20, 21], + '451' => [2, 9, 23, 30, 4, 17, 11, 25, 32, 21], + '451-' => [2, 9, 23, 30, 4, 10, 18, 24, 32, 21], + '451+' => [2, 9, 23, 30, 4, 11, 18, 25, 32, 21], + '523-' => [2, 9, 16, 23, 30, 10, 24, 6, 34, 21], + '523+' => [2, 9, 16, 23, 30, 11, 25, 6, 34, 21], + '5311' => [2, 9, 16, 23, 30, 17, 11, 25, 19, 21], + '5311-' => [2, 9, 16, 23, 30, 10, 18, 24, 19, 21], + '5311+' => [2, 9, 16, 23, 30, 11, 18, 25, 19, 21], + '532' => [2, 9, 16, 23, 30, 17, 11, 25, 20, 21], + '532-' => [2, 9, 16, 23, 30, 10, 18, 24, 20, 21], + '532+' => [2, 9, 16, 23, 30, 11, 18, 25, 20, 21], + '541-' => [2, 9, 16, 23, 30, 4, 10, 24, 32, 21], + '541+' => [2, 9, 16, 23, 30, 4, 11, 25, 32, 21], + ]; + } } diff --git a/app/Filament/Widgets/PlayerPropsTable.php b/app/Filament/Widgets/PlayerPropsTable.php index 8c9e8d5c..69cacf34 100644 --- a/app/Filament/Widgets/PlayerPropsTable.php +++ b/app/Filament/Widgets/PlayerPropsTable.php @@ -2,138 +2,92 @@ namespace App\Filament\Widgets; -use App\Livewire\PlayerCalculator; -use App\Models\SofaScoreRosa; use App\Models\User; -use Filament\Actions\Action; use Filament\Forms\Components\Select; use Filament\Forms\Concerns\InteractsWithForms; -use Filament\Support\Enums\SlideOverPosition; -use Filament\Support\Enums\Width; use Filament\Tables\Columns\ViewColumn; use Filament\Tables\Enums\FiltersLayout; -use Filament\Tables\Filters\SelectFilter; +use Filament\Tables\Filters\Filter; use Filament\Tables\Table; use Filament\Widgets\TableWidget; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\HtmlString; use Livewire\Attributes\On; -use Livewire\Attributes\Reactive; class PlayerPropsTable extends TableWidget { use InteractsWithForms; protected int|string|array $columnSpan = 2; + public int $team_id; - public string $team_name = ''; + public array $players; - // #[Reactive] - public array $sourceRecords = []; - - #[On('refreshFilters')] - public function refreshTable(?int $team_id = 0): void + #[On('update-players')] + public function updatePlayers(array $players) { - if ($team_id) { - $this->team_name = SofaScoreRosa::where('ss_team_id', $team_id)->value('ss_team_name'); - $this->sourceRecords = PlayerCalculator::load($team_id); - $this->resetTable(); - } + $this->players = $players; } public function getHeadingTable(): HtmlString { - return new HtmlString('
-
Gls
-
Fls
-
Ofs
-
Snt
-
Tsh
-
Crd
-
Foot
-
Evt
-
Min Ø
+ + return new HtmlString(' +
+
Gls
+
Fls
+
Ofs
+
Snt
+
Tsh
+
Crd
+
Foot
+
Evt
+
Min
+
'); } public function table(Table $table): Table { return $table - ->headerActions([ - Action::make('esc') - ->hiddenLabel() - ->tooltip('Clear all (esc)') - ->icon('phosphor-x-circle') - ->color('gray') - ->keyBindings(['esc']) - ->action(fn () => $this->resetFilters()), - Action::make('lineups') - ->tooltip('Lineups explanation') - ->color('success') - ->hiddenLabel() - ->icon('phosphor-question-mark') - ->slideOver() - ->slideOverPosition(SlideOverPosition::Start) - ->modalWidth(Width::ExtraLarge) - ->modalSubmitAction(false) - ->modalCancelAction(false) - ->modalContent(fn () => view('filament.modals.position-abbreviation')), - Action::make('reset') - ->hiddenLabel() - ->tooltip('Remove all') - ->icon('phosphor-arrows-clockwise') - ->action(fn () => $this->clearResultTable()), - Action::make('calculate') - ->tooltip('Calculate') - ->hiddenLabel() - ->icon('phosphor-calculator') - ->action(fn () => $this->calculateAspg()), - Action::make('copy_results') - ->tooltip('Copy results for pasting into a spread sheet') - ->hiddenLabel() - ->icon('phosphor-copy') - ->action(fn () => $this->copyResult()), - Action::make('copy_development') - ->tooltip('Copy calculation variables') - ->hiddenLabel() - ->hidden(fn () => ! in_array(Auth::user()->id, [1, 2])) - ->color('warning') - ->icon('phosphor-copy') - ->action(fn () => $this->copyDevelopment()), - ]) - ->heading($this->team_name) + ->heading(false) ->query(User::query()->whereRaw('1 = 0')) // Verhindert DB-Abfragen ->striped() ->defaultSort('name') ->emptyStateHeading('No team selected') ->columns([ ViewColumn::make('drag_card') - ->label(fn () => $this->getHeadingTable()) + ->label(fn() => $this->getHeadingTable()) ->view('filament.tables.columns.drag-card'), ])->extraAttributes([ 'id' => 'playerdragtable', ]) ->filters([ - SelectFilter::make('area') - ->columnSpanFull() - ->native(false) - ->options([ - 'attack' => 'Attack', - 'midfield' => 'Midfield', - 'defence' => 'Defence', - 'goalkeeper' => 'Goalkeeper', - ])->modifyFormFieldUsing(fn (Select $component) => $component->allowHtml()) + Filter::make('positions') + ->columnSpan(2) + ->schema([ + Select::make('area') + ->hiddenLabel() + ->placeholder('Filter Positions') + ->native(false) + ->allowHtml() + ->options([ + 'attack' => 'Attack', + 'midfield' => 'Midfield', + 'defence' => 'Defence', + 'goalkeeper' => 'Goalkeeper', + ]), + ]) ->query(function ($query) { return $query; })->indicateUsing(function (array $data): array { - // WICHTIG: Ein leeres Array sorgt dafür, dass kein Indicator-Badge erzeugt wird + // empty array disables indicator-badge return []; }), ], layout: FiltersLayout::AboveContent) ->deferFilters(false) ->records(function () { - $collection = collect($this->sourceRecords); - $selectedPosition = $this->tableFilters['area']['value'] ?? null; + $collection = collect($this->players); + $selectedPosition = $this->tableFilters['positions']['area'] ?? null; if (! empty($selectedPosition)) { $collection = $collection->where('area', $selectedPosition); } diff --git a/composer.lock b/composer.lock index a5c5016b..6d951283 100644 --- a/composer.lock +++ b/composer.lock @@ -81,16 +81,16 @@ }, { "name": "anourvalar/eloquent-serialize", - "version": "1.3.11", + "version": "1.3.12", "source": { "type": "git", "url": "https://github.com/AnourValar/eloquent-serialize.git", - "reference": "abd890c4d1ad8e90dd454d01283fbf342f80f1e5" + "reference": "eb46e698efe7e20c311f1f93830111fcdcdabd96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/abd890c4d1ad8e90dd454d01283fbf342f80f1e5", - "reference": "abd890c4d1ad8e90dd454d01283fbf342f80f1e5", + "url": "https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/eb46e698efe7e20c311f1f93830111fcdcdabd96", + "reference": "eb46e698efe7e20c311f1f93830111fcdcdabd96", "shasum": "" }, "require": { @@ -140,9 +140,9 @@ ], "support": { "issues": "https://github.com/AnourValar/eloquent-serialize/issues", - "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.3.11" + "source": "https://github.com/AnourValar/eloquent-serialize/tree/1.3.12" }, - "time": "2026-08-07T06:14:19+00:00" + "time": "2026-09-13T06:25:37+00:00" }, { "name": "awcodes/light-switch", diff --git a/public/images/soccerfield-af4.jpg b/public/images/soccerfield-af4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d48e70fe290c09935ff5d240f3e943da09af9d90 GIT binary patch literal 65061 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 literal 0 HcmV?d00001 diff --git a/public/images/soccerfield-af4.png b/public/images/soccerfield-af4.png new file mode 100644 index 0000000000000000000000000000000000000000..98dd79f60a98b843b7991d001efa92ac6eba56a0 GIT binary patch literal 74232 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�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

VJjyef)gL{WO?{%>{<<*( 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 - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/resources/svg/soccerfield-fill.svg b/resources/svg/soccerfield-fill.svg new file mode 100644 index 00000000..a665e5d4 --- /dev/null +++ b/resources/svg/soccerfield-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/svg/soccerfield.svg b/resources/svg/soccerfield.svg index e5eb886c..de8cbd69 100644 --- a/resources/svg/soccerfield.svg +++ b/resources/svg/soccerfield.svg @@ -1,18 +1 @@ - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/resources/svg/soccerfield2.svg b/resources/svg/soccerfield2.svg deleted file mode 100644 index 7e3f738e..00000000 --- a/resources/svg/soccerfield2.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/resources/views/filament/modals/position-abbreviation.blade.php b/resources/views/filament/modals/position-abbreviation.blade.php index fa054cb1..32fc28da 100644 --- a/resources/views/filament/modals/position-abbreviation.blade.php +++ b/resources/views/filament/modals/position-abbreviation.blade.php @@ -1,4 +1,4 @@ -
+
diff --git a/resources/views/filament/tables/columns/drag-card.blade.php b/resources/views/filament/tables/columns/drag-card.blade.php index 9ef561ec..b9c24a84 100644 --- a/resources/views/filament/tables/columns/drag-card.blade.php +++ b/resources/views/filament/tables/columns/drag-card.blade.php @@ -1,29 +1,10 @@ @php $record = $getRecord(); - /*** - "id" => 1218016 - "name" => "Walter Nuñez" - "pos_ori" => "LW" - "pos" => "LW" - "foot" => "Right" - "tot_evt" => 2 - "tot_min" => 102 - "ave_min" => 51 - "gls" => 0 - "fls" => 3 - "ofs" => 0 - "crd" => 0 - "snt" => 0 - "tsh" => 0 - "color_evt" => "success" - "area" => "attack" - "color_pos" => "warning" - */ @endphp @if ($record['active'])
-
+ class="w-full mt-1 border dark:border-gray-600 border-gray-200 text-xs select-none rounded transition-colors grid grid-cols-16 gap-1 items-center"> +
{{ $record['gls'] }}
{{ $record['fls'] }}
{{ $record['ofs'] }}
@@ -52,8 +33,8 @@ e.dataTransfer.effectAllowed = 'copy'; e.dataTransfer.setData('text/plain', JSON.stringify({ id: {{ $record['id'] }} })); }" - class="w-140 max-w-140 border dark:border-gray-600 border-gray-200 hover:border-blue-500 text-xs my-0.5 mx-0 py-1 select-none cursor-grab active:cursor-grabbing rounded transition-colors flex justify-end content-center items-center gap-1"> -
+ class="w-full mt-1 border dark:border-gray-600 border-gray-200 hover:border-blue-500 text-xs select-none cursor-grab active:cursor-grabbing rounded transition-colors grid grid-cols-16 gap-1 items-center"> +
{{ $record['gls'] }}
{{ $record['fls'] }}
{{ $record['ofs'] }}
@@ -65,15 +46,15 @@
{{ $record['ave_min'] }}
-
- +
+
{{ ucfirst($record['pos_ori']) }} - +
-
+
{{ $record['name'] }}
-
+
diff --git a/resources/views/livewire/player-props-drop.blade.php b/resources/views/livewire/player-props-drop.blade.php index 7db83d4f..0901b0ce 100644 --- a/resources/views/livewire/player-props-drop.blade.php +++ b/resources/views/livewire/player-props-drop.blade.php @@ -1,11 +1,43 @@ -
- @foreach ($beschriftung as $boxNumber => $benennung) - @if ($benennung) - @if (in_array($boxNumber, $lineup)) -
+
+
{{ $team_name }} ({{ $player_on_field_counter }})
+
+ + + + + + + @include('filament.modals.position-abbreviation') + +
+ + Close + +
+
+
+ + + + +
+
+
+ @foreach ($beschriftung as $boxNumber => $benennung) + @if ($benennung) + @if (in_array($boxNumber, $lineup)) +
- -
-
-
- {{ $benennung }} + class="border-2 rounded-xl transition-all px-1 pt-0 flex flex-col justify-start transform inset-shadow-sm inset-shadow-white/50 shadow-lg"> + +
+
+
+ {{ $benennung }} +
+ + @if ($boxes[$boxNumber]) + + @endif
+ @if ($boxes[$boxNumber]) - - @endif -
- - - @if ($boxes[$boxNumber]) -
- {{ $boxes[$boxNumber]['name'] }} -
- @endif -
- @else -
+ {{ $boxes[$boxNumber]['name'] }} +
+ @endif +
+ @else + + class="border rounded-xl transition-all pt-0 flex flex-col justify-start shadow-2xs invisible"> +
+ @endif + @else +
@endif - @else -
- @endif - @endforeach + @endforeach +