diff --git a/app/Filament/Pages/Selections/LoadPlayer.php b/app/Filament/Pages/Selections/LoadPlayer.php index 5494cc6f..313db50d 100644 --- a/app/Filament/Pages/Selections/LoadPlayer.php +++ b/app/Filament/Pages/Selections/LoadPlayer.php @@ -2,9 +2,9 @@ namespace App\Filament\Pages\Selections; -use App\Models\StatistikoEvent; -use App\Models\SofaScorePlayerPosition; +use App\Filament\Pages\Selections\LoadPositions; use App\Models\SofaScorePlayerPerSeason; +use App\Models\StatistikoEvent; use Filament\Schemas\Components\Utilities\Get; class LoadPlayer @@ -37,7 +37,7 @@ class LoadPlayer $matches_count = count($matches); - $ss_positions_map = SofaScorePlayerPosition::pluck('name', 'ss_code')->toArray(); + $positions_map = LoadPositions::load(); // needs to run daily for pre-calculaton $player = SofaScorePlayerPerSeason::with('details')->where('ss_team_id', $team_id)->whereIn('season', $season)->get(); @@ -63,8 +63,20 @@ class LoadPlayer $colorlevel = round($matches_count / 3); $preferred_foot = $val->details->preferred_foot; + $player_position = ' (Role ' . $val->details->position . ')'; - $position = $ss_positions_map[$val->details->position] ?? 'No Specific Position'; + if (in_array($val->details->position, $positions_map['MIDFIELD'])) { + $position = 'MIDFIELD'; + } else if (in_array($val->details->position, $positions_map['DEFENCE'])) { + $position = 'DEFENCE'; + } else if (in_array($val->details->position, $positions_map['ATTACK'])) { + $position = 'ATTACK'; + } else if (in_array($val->details->position, $positions_map['GOALKEEPER'])) { + $position = 'GOALKEEPER'; + } else { + $player_position = $val->details->position; + $position = 'NO SPECIFIC POSITION'; + } $infostring = $events_played . ' Ev'; if ($preferred_foot) @@ -73,11 +85,11 @@ class LoadPlayer $infostring .= ' - ' . round($minues_played / $events_played) . 'min'; if ($events_played < $colorlevel) { - $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '
' . $infostring . '
'; + $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } else if ($events_played < $colorlevel * 2) { - $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '
' . $infostring . '
'; + $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } else { - $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '
' . $infostring . '
'; + $arr[$position][$val->ss_player_id] = '' . $val->details->player_name . '' . $player_position . '
' . $infostring . '
'; } } return $arr; diff --git a/app/Filament/Pages/Selections/LoadPositions.php b/app/Filament/Pages/Selections/LoadPositions.php new file mode 100644 index 00000000..71a2b849 --- /dev/null +++ b/app/Filament/Pages/Selections/LoadPositions.php @@ -0,0 +1,20 @@ +generalposition][] = $val->ss_code; + } + + return $arr; + } +} diff --git a/app/Filament/Pages/Statistic.php b/app/Filament/Pages/Statistic.php index a9515a92..cf650c2d 100644 --- a/app/Filament/Pages/Statistic.php +++ b/app/Filament/Pages/Statistic.php @@ -23,6 +23,7 @@ use Filament\Schemas\Components\Utilities\Set; use Filament\Schemas\Schema; use Filament\Support\RawJs; use Illuminate\Contracts\Support\Htmlable; +use Illuminate\Contracts\View\View; use Illuminate\Support\HtmlString; class Statistic extends BaseDashboard @@ -232,13 +233,13 @@ class Statistic extends BaseDashboard ->prefixIcon('icon-player') ->preload() ->searchable() + ->extraAttributes(fn() => ['id' => 'player_selector']) ->suffixAction( Action::make('iconInfo') ->icon('phosphor-question-fill') ->color('success') ->tooltip(fn() => $this->tooltip_player_info()) ) - ->extraAttributes(fn() => ['id' => 'player_selector']) ->options(function (Get $get) { return LoadPlayer::load($get); }), @@ -251,10 +252,6 @@ class Statistic extends BaseDashboard ->hidden(fn(Get $get) => ! $get('ss_player_id')) ->prefixIconColor('success') ->selectablePlaceholder(false) - // ->afterStateUpdated(function (callable $set) { - // // $set('team_id', null); - // $set('ss_player_id', null); - // }) ->options([ 'all' => 'All', 'lineup' => 'Lineup', @@ -346,13 +343,13 @@ class Statistic extends BaseDashboard protected function tooltip_player_info(): HtmlString { - $str = '
'; + $str = '
'; $str .= '
Player Information
'; - $str .= '
Events played:
'; + $str .= '
Events played:
'; $str .= '
sum
'; - $str .= '
Stronger foot:
'; + $str .= '
Stronger foot:
'; $str .= '
left | right | both
'; - $str .= '
Average on field:
'; + $str .= '
Average on field:
'; $str .= '
minutes
'; $str .= '
'; diff --git a/app/Models/SofaScorePlayerPosition.php b/app/Models/SofaScorePlayerPosition.php index 447874bb..6ca5af3f 100644 --- a/app/Models/SofaScorePlayerPosition.php +++ b/app/Models/SofaScorePlayerPosition.php @@ -13,6 +13,7 @@ class SofaScorePlayerPosition extends Model protected $fillable = [ 'ss_code', - 'description', + 'name', + 'generalposition', ]; } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ad62efdb..8a7dc567 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,6 +2,7 @@ namespace App\Providers; +use App\Filament\Pages\Statistic; use App\Filament\Resources\Events\Pages\ListEvents; use Carbon\Carbon; use Filament\Support\Assets\Css; @@ -13,6 +14,7 @@ use Filament\Support\Facades\FilamentTimezone; use Filament\Support\Facades\FilamentView; use Filament\Tables\View\TablesRenderHook; use Filament\View\PanelsRenderHook; +use Illuminate\Contracts\View\View; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; @@ -35,17 +37,17 @@ class AppServiceProvider extends ServiceProvider FilamentTimezone::set('Europe/Vienna'); FilamentAsset::register([ - Css::make('font-stylesheet', __DIR__.'/../../resources/css/font.css'), - Js::make('number-animator', __DIR__.'/../../resources/js/number-animator.js'), + Css::make('font-stylesheet', __DIR__ . '/../../resources/css/font.css'), + Js::make('number-animator', __DIR__ . '/../../resources/js/number-animator.js'), ]); FilamentView::registerRenderHook( PanelsRenderHook::USER_MENU_PROFILE_AFTER, - fn (): string => Blade::render('@livewire(\'konto-switcher\')'), + fn(): string => Blade::render('@livewire(\'konto-switcher\')'), ); FilamentView::registerRenderHook( TablesRenderHook::TOOLBAR_SEARCH_BEFORE, - fn (): string => Blade::render('@livewire(\'sport-switcher\')'), + fn(): string => Blade::render('@livewire(\'sport-switcher\')'), scopes: [ ListEvents::class, ] @@ -53,14 +55,19 @@ class AppServiceProvider extends ServiceProvider // PanelsRenderHook::RESOURCE_PAGES_LIST_RECORDS_TABLE_BEFORE, FilamentView::registerRenderHook( TablesRenderHook::TOOLBAR_SEARCH_AFTER, - fn (): string => Blade::render('@livewire(\'bettype-toggle\')'), + fn(): string => Blade::render('@livewire(\'bettype-toggle\')'), scopes: [ ListEvents::class, ] ); FilamentView::registerRenderHook( PanelsRenderHook::GLOBAL_SEARCH_BEFORE, - fn (): string => Blade::render('@livewire(\'top-menu-items\')') + fn(): string => Blade::render('@livewire(\'top-menu-items\')') + ); + + FilamentView::registerRenderHook( + PanelsRenderHook::GLOBAL_SEARCH_AFTER, + fn(): View => view('filament.modals.position-abbreviation'), ); Carbon::setLocale(app()->getLocale()); diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 0bda9f08..fdaa0a97 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -2,38 +2,38 @@ namespace App\Providers\Filament; -// use Agencetwogether\HooksHelper\HooksHelperPlugin; +use Agencetwogether\HooksHelper\HooksHelperPlugin; +use App\Filament\Exports\BetfairExporter; +use App\Filament\Pages\Statistic; +use App\Http\Middleware\RecordUserActivity; +use Awcodes\LightSwitch\Enums\Alignment; +use Awcodes\LightSwitch\LightSwitchPlugin; +use BezhanSalleh\FilamentShield\FilamentShieldPlugin; +use Filament\Actions\Action; +use Filament\Actions\ExportAction; +use Filament\Actions\Exports\Models\Export; +use Filament\Auth\MultiFactor\App\AppAuthentication; +use Filament\Auth\MultiFactor\Email\EmailAuthentication; +use Filament\Auth\Pages\PasswordReset\RequestPasswordReset; +use Filament\Http\Middleware\Authenticate; +use Filament\Http\Middleware\AuthenticateSession; +use Filament\Http\Middleware\DisableBladeIconComponents; +use Filament\Http\Middleware\DispatchServingFilamentEvent; use Filament\Panel; use Filament\PanelProvider; -use Filament\Actions\Action; -use App\Filament\Pages\Statistic; use Filament\Support\Enums\Width; -use Filament\Actions\ExportAction; -use Illuminate\Support\Facades\Auth; -use Awcodes\LightSwitch\Enums\Alignment; -use App\Filament\Exports\BetfairExporter; -use Illuminate\Database\Eloquent\Builder; -use Awcodes\LightSwitch\LightSwitchPlugin; -use Filament\Http\Middleware\Authenticate; -use App\Http\Middleware\RecordUserActivity; -use Filament\Actions\Exports\Models\Export; -use Illuminate\Session\Middleware\StartSession; -use Illuminate\Cookie\Middleware\EncryptCookies; -use Filament\Http\Middleware\AuthenticateSession; -use Filament\Auth\MultiFactor\App\AppAuthentication; -use BezhanSalleh\FilamentShield\FilamentShieldPlugin; -use Illuminate\Routing\Middleware\SubstituteBindings; -use Illuminate\View\Middleware\ShareErrorsFromSession; -use Swis\Filament\Backgrounds\ImageProviders\MyImages; -use Filament\Auth\MultiFactor\Email\EmailAuthentication; -use Filament\Http\Middleware\DisableBladeIconComponents; -use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; -use Filament\Http\Middleware\DispatchServingFilamentEvent; -use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; -use Filament\Auth\Pages\PasswordReset\RequestPasswordReset; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; -use Joaopaulolndev\FilamentEditProfile\Pages\EditProfilePage; +use Illuminate\Cookie\Middleware\EncryptCookies; +use Illuminate\Database\Eloquent\Builder; +use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; +use Illuminate\Routing\Middleware\SubstituteBindings; +use Illuminate\Session\Middleware\StartSession; +use Illuminate\Support\Facades\Auth; +use Illuminate\View\Middleware\ShareErrorsFromSession; use Joaopaulolndev\FilamentEditProfile\FilamentEditProfilePlugin; +use Joaopaulolndev\FilamentEditProfile\Pages\EditProfilePage; +use Swis\Filament\Backgrounds\FilamentBackgroundsPlugin; +use Swis\Filament\Backgrounds\ImageProviders\MyImages; class AdminPanelProvider extends PanelProvider { diff --git a/composer.lock b/composer.lock index 7f4a8081..3e0f5cd2 100644 --- a/composer.lock +++ b/composer.lock @@ -11054,20 +11054,20 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.4", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", + "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.0" }, "conflict": { "doctrine/collections": "<1.6.8", @@ -11102,15 +11102,15 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" + "url": "https://github.com/mnapoli", + "type": "github" } ], - "time": "2025-08-01T08:46:24+00:00" + "time": "2026-08-11T10:17:44+00:00" }, { "name": "nunomaduro/collision", diff --git a/database/migrations/2026_07_30_094111_create_sofa_score_player_positions_table.php b/database/migrations/2026_07_30_094111_create_sofa_score_player_positions_table.php index 7c125b97..13801450 100644 --- a/database/migrations/2026_07_30_094111_create_sofa_score_player_positions_table.php +++ b/database/migrations/2026_07_30_094111_create_sofa_score_player_positions_table.php @@ -15,6 +15,7 @@ return new class extends Migration $table->id(); $table->string('ss_code')->index(); $table->string('name'); + $table->string('generalposition'); }); } diff --git a/database/seeders/SofaScorePlayerPositionSeeder.php b/database/seeders/SofaScorePlayerPositionSeeder.php index a27b4f80..b76a7451 100644 --- a/database/seeders/SofaScorePlayerPositionSeeder.php +++ b/database/seeders/SofaScorePlayerPositionSeeder.php @@ -12,130 +12,130 @@ class SofaScorePlayerPositionSeeder extends Seeder /** * SofaScore Player Positions */ - $sql = "INSERT INTO `sofa_score_player_positions` (`ss_code`, `name`) + $sql = "INSERT INTO `sofa_score_player_positions` (`ss_code`, `name`, `generalposition`) VALUES - ('AM', 'Attacking Midfield'), - ('DC', 'Centre-Back'), - ('DL', 'Left-Back'), - ('DM', 'Defensive Midfield'), - ('DR', 'Right-Back'), - ('GK', 'Goalkeeper'), - ('LW', 'Left Winger'), - ('MC', 'Central Midfield'), - ('ML', 'Left Midfield'), - ('MR', 'Right Midfield'), - ('RW', 'Right Winger'), - ('ST', 'Centre-Forward'), - ('DC-AM', 'Centre-Back, Attacking Midfield'), - ('DL-AM', 'Left-Back, Attacking Midfield'), - ('DM-AM', 'Defensive Midfield, Attacking Midfield'), - ('DR-AM', 'Right-Back, Attacking Midfield'), - ('LW-AM', 'Left Winger, Attacking Midfield'), - ('MC-AM', 'Central Midfield, Attacking Midfield'), - ('ML-AM', 'Left Midfield, Attacking Midfield'), - ('MR-AM', 'Right Midfield, Attacking Midfield'), - ('RW-AM', 'Right Winger, Attacking Midfield'), - ('ST-AM', 'Centre-Forward, Attacking Midfield'), - ('AM-DC', 'Attacking Midfield, Centre-Back'), - ('DL-DC', 'Left-Back, Centre-Back'), - ('DM-DC', 'Defensive Midfield, Centre-Back'), - ('DR-DC', 'Right-Back, Centre-Back'), - ('LW-DC', 'Left Winger, Centre-Back'), - ('MC-DC', 'Central Midfield, Centre-Back'), - ('ML-DC', 'Left Midfield, Centre-Back'), - ('MR-DC', 'Right Midfield, Centre-Back'), - ('RW-DC', 'Right Winger, Centre-Back'), - ('ST-DC', 'Centre-Forward, Centre-Back'), - ('AM-DL', 'Attacking Midfield, Left-Back'), - ('DC-DL', 'Centre-Back, Left-Back'), - ('DM-DL', 'Defensive Midfield, Left-Back'), - ('DR-DL', 'Right-Back, Left-Back'), - ('LW-DL', 'Left Winger, Left-Back'), - ('MC-DL', 'Central Midfield, Left-Back'), - ('ML-DL', 'Left Midfield, Left-Back'), - ('MR-DL', 'Right Midfield, Left-Back'), - ('RW-DL', 'Right Winger, Left-Back'), - ('ST-DL', 'Centre-Forward, Left-Back'), - ('AM-DM', 'Attacking Midfield, Defensive Midfield'), - ('DC-DM', 'Centre-Back, Defensive Midfield'), - ('DL-DM', 'Left-Back, Defensive Midfield'), - ('DR-DM', 'Right-Back, Defensive Midfield'), - ('LW-DM', 'Left Winger, Defensive Midfield'), - ('MC-DM', 'Central Midfield, Defensive Midfield'), - ('ML-DM', 'Left Midfield, Defensive Midfield'), - ('MR-DM', 'Right Midfield, Defensive Midfield'), - ('RW-DM', 'Right Winger, Defensive Midfield'), - ('ST-DM', 'Centre-Forward, Defensive Midfield'), - ('AM-DR', 'Attacking Midfield, Right-Back'), - ('DC-DR', 'Centre-Back, Right-Back'), - ('DL-DR', 'Left-Back, Right-Back'), - ('DM-DR', 'Defensive Midfield, Right-Back'), - ('LW-DR', 'Left Winger, Right-Back'), - ('MC-DR', 'Central Midfield, Right-Back'), - ('ML-DR', 'Left Midfield, Right-Back'), - ('MR-DR', 'Right Midfield, Right-Back'), - ('RW-DR', 'Right Winger, Right-Back'), - ('ST-DR', 'Centre-Forward, Right-Back'), - ('AM-LW', 'Attacking Midfield, Left Winger'), - ('DC-LW', 'Centre-Back, Left Winger'), - ('DL-LW', 'Left-Back, Left Winger'), - ('DM-LW', 'Defensive Midfield, Left Winger'), - ('DR-LW', 'Right-Back, Left Winger'), - ('MC-LW', 'Central Midfield, Left Winger'), - ('ML-LW', 'Left Midfield, Left Winger'), - ('MR-LW', 'Right Midfield, Left Winger'), - ('RW-LW', 'Right Winger, Left Winger'), - ('ST-LW', 'Centre-Forward, Left Winger'), - ('AM-MC', 'Attacking Midfield, Central Midfield'), - ('DC-MC', 'Centre-Back, Central Midfield'), - ('DL-MC', 'Left-Back, Central Midfield'), - ('DM-MC', 'Defensive Midfield, Central Midfield'), - ('DR-MC', 'Right-Back, Central Midfield'), - ('LW-MC', 'Left Winger, Central Midfield'), - ('ML-MC', 'Left Midfield, Central Midfield'), - ('MR-MC', 'Right Midfield, Central Midfield'), - ('RW-MC', 'Right Winger, Central Midfield'), - ('ST-MC', 'Centre-Forward, Central Midfield'), - ('AM-ML', 'Attacking Midfield, Left Midfield'), - ('DC-ML', 'Centre-Back, Left Midfield'), - ('DL-ML', 'Left-Back, Left Midfield'), - ('DM-ML', 'Defensive Midfield, Left Midfield'), - ('DR-ML', 'Right-Back, Left Midfield'), - ('LW-ML', 'Left Winger, Left Midfield'), - ('MC-ML', 'Central Midfield, Left Midfield'), - ('MR-ML', 'Right Midfield, Left Midfield'), - ('RW-ML', 'Right Winger, Left Midfield'), - ('ST-ML', 'Centre-Forward, Left Midfield'), - ('AM-MR', 'Attacking Midfield, Right Midfield'), - ('DC-MR', 'Centre-Back, Right Midfield'), - ('DL-MR', 'Left-Back, Right Midfield'), - ('DM-MR', 'Defensive Midfield, Right Midfield'), - ('DR-MR', 'Right-Back, Right Midfield'), - ('LW-MR', 'Left Winger, Right Midfield'), - ('MC-MR', 'Central Midfield, Right Midfield'), - ('ML-MR', 'Left Midfield, Right Midfield'), - ('RW-MR', 'Right Winger, Right Midfield'), - ('ST-MR', 'Centre-Forward, Right Midfield'), - ('AM-RW', 'Attacking Midfield, Right Winger'), - ('DC-RW', 'Centre-Back, Right Winger'), - ('DL-RW', 'Left-Back, Right Winger'), - ('DM-RW', 'Defensive Midfield, Right Winger'), - ('DR-RW', 'Right-Back, Right Winger'), - ('LW-RW', 'Left Winger, Right Winger'), - ('MC-RW', 'Central Midfield, Right Winger'), - ('ML-RW', 'Left Midfield, Right Winger'), - ('MR-RW', 'Right Midfield, Right Winger'), - ('ST-RW', 'Centre-Forward, Right Winger'), - ('AM-ST', 'Attacking Midfield, Centre-Forward'), - ('DC-ST', 'Centre-Back, Centre-Forward'), - ('DL-ST', 'Left-Back, Centre-Forward'), - ('DM-ST', 'Defensive Midfield, Centre-Forward'), - ('DR-ST', 'Right-Back, Centre-Forward'), - ('LW-ST', 'Left Winger, Centre-Forward'), - ('MC-ST', 'Central Midfield, Centre-Forward'), - ('ML-ST', 'Left Midfield, Centre-Forward'), - ('MR-ST', 'Right Midfield, Centre-Forward'), - ('RW-ST', 'Right Winger, Centre-Forward'); + ('LW', 'Left Winger', 'ATTACK'), + ('RW', 'Right Winger', 'ATTACK'), + ('ST', 'Centre-Forward', 'ATTACK'), + ('LW-AM', 'Left Winger, Attacking Midfield', 'ATTACK'), + ('RW-AM', 'Right Winger, Attacking Midfield', 'ATTACK'), + ('ST-AM', 'Centre-Forward, Attacking Midfield', 'ATTACK'), + ('LW-DC', 'Left Winger, Centre-Back', 'ATTACK'), + ('RW-DC', 'Right Winger, Centre-Back', 'ATTACK'), + ('ST-DC', 'Centre-Forward, Centre-Back', 'ATTACK'), + ('LW-DL', 'Left Winger, Left-Back', 'ATTACK'), + ('RW-DL', 'Right Winger, Left-Back', 'ATTACK'), + ('ST-DL', 'Centre-Forward, Left-Back', 'ATTACK'), + ('LW-DM', 'Left Winger, Defensive Midfield', 'ATTACK'), + ('RW-DM', 'Right Winger, Defensive Midfield', 'ATTACK'), + ('ST-DM', 'Centre-Forward, Defensive Midfield', 'ATTACK'), + ('LW-DR', 'Left Winger, Right-Back', 'ATTACK'), + ('RW-DR', 'Right Winger, Right-Back', 'ATTACK'), + ('ST-DR', 'Centre-Forward, Right-Back', 'ATTACK'), + ('RW-LW', 'Right Winger, Left Winger', 'ATTACK'), + ('ST-LW', 'Centre-Forward, Left Winger', 'ATTACK'), + ('LW-MC', 'Left Winger, Central Midfield', 'ATTACK'), + ('RW-MC', 'Right Winger, Central Midfield', 'ATTACK'), + ('ST-MC', 'Centre-Forward, Central Midfield', 'ATTACK'), + ('LW-ML', 'Left Winger, Left Midfield', 'ATTACK'), + ('RW-ML', 'Right Winger, Left Midfield', 'ATTACK'), + ('ST-ML', 'Centre-Forward, Left Midfield', 'ATTACK'), + ('LW-MR', 'Left Winger, Right Midfield', 'ATTACK'), + ('RW-MR', 'Right Winger, Right Midfield', 'ATTACK'), + ('ST-MR', 'Centre-Forward, Right Midfield', 'ATTACK'), + ('LW-RW', 'Left Winger, Right Winger', 'ATTACK'), + ('ST-RW', 'Centre-Forward, Right Winger', 'ATTACK'), + ('LW-ST', 'Left Winger, Centre-Forward', 'ATTACK'), + ('RW-ST', 'Right Winger, Centre-Forward', 'ATTACK'), + ('DC', 'Centre-Back', 'DEFENCE'), + ('DL', 'Left-Back', 'DEFENCE'), + ('DR', 'Right-Back', 'DEFENCE'), + ('DC-AM', 'Centre-Back, Attacking Midfield', 'DEFENCE'), + ('DL-AM', 'Left-Back, Attacking Midfield', 'DEFENCE'), + ('DR-AM', 'Right-Back, Attacking Midfield', 'DEFENCE'), + ('DL-DC', 'Left-Back, Centre-Back', 'DEFENCE'), + ('DR-DC', 'Right-Back, Centre-Back', 'DEFENCE'), + ('DC-DL', 'Centre-Back, Left-Back', 'DEFENCE'), + ('DR-DL', 'Right-Back, Left-Back', 'DEFENCE'), + ('DC-DM', 'Centre-Back, Defensive Midfield', 'DEFENCE'), + ('DL-DM', 'Left-Back, Defensive Midfield', 'DEFENCE'), + ('DR-DM', 'Right-Back, Defensive Midfield', 'DEFENCE'), + ('DC-DR', 'Centre-Back, Right-Back', 'DEFENCE'), + ('DL-DR', 'Left-Back, Right-Back', 'DEFENCE'), + ('DC-LW', 'Centre-Back, Left Winger', 'DEFENCE'), + ('DL-LW', 'Left-Back, Left Winger', 'DEFENCE'), + ('DR-LW', 'Right-Back, Left Winger', 'DEFENCE'), + ('DC-MC', 'Centre-Back, Central Midfield', 'DEFENCE'), + ('DL-MC', 'Left-Back, Central Midfield', 'DEFENCE'), + ('DR-MC', 'Right-Back, Central Midfield', 'DEFENCE'), + ('DC-ML', 'Centre-Back, Left Midfield', 'DEFENCE'), + ('DL-ML', 'Left-Back, Left Midfield', 'DEFENCE'), + ('DR-ML', 'Right-Back, Left Midfield', 'DEFENCE'), + ('DC-MR', 'Centre-Back, Right Midfield', 'DEFENCE'), + ('DL-MR', 'Left-Back, Right Midfield', 'DEFENCE'), + ('DR-MR', 'Right-Back, Right Midfield', 'DEFENCE'), + ('DC-RW', 'Centre-Back, Right Winger', 'DEFENCE'), + ('DL-RW', 'Left-Back, Right Winger', 'DEFENCE'), + ('DR-RW', 'Right-Back, Right Winger', 'DEFENCE'), + ('DC-ST', 'Centre-Back, Centre-Forward', 'DEFENCE'), + ('DL-ST', 'Left-Back, Centre-Forward', 'DEFENCE'), + ('DR-ST', 'Right-Back, Centre-Forward', 'DEFENCE'), + ('GK', 'Goalkeeper', 'GOALKEEPER'), + ('AM', 'Attacking Midfield', 'MIDFIELD'), + ('DM', 'Defensive Midfield', 'MIDFIELD'), + ('MC', 'Central Midfield', 'MIDFIELD'), + ('ML', 'Left Midfield', 'MIDFIELD'), + ('MR', 'Right Midfield', 'MIDFIELD'), + ('DM-AM', 'Defensive Midfield, Attacking Midfield', 'MIDFIELD'), + ('MC-AM', 'Central Midfield, Attacking Midfield', 'MIDFIELD'), + ('ML-AM', 'Left Midfield, Attacking Midfield', 'MIDFIELD'), + ('MR-AM', 'Right Midfield, Attacking Midfield', 'MIDFIELD'), + ('AM-DC', 'Attacking Midfield, Centre-Back', 'MIDFIELD'), + ('DM-DC', 'Defensive Midfield, Centre-Back', 'MIDFIELD'), + ('MC-DC', 'Central Midfield, Centre-Back', 'MIDFIELD'), + ('ML-DC', 'Left Midfield, Centre-Back', 'MIDFIELD'), + ('MR-DC', 'Right Midfield, Centre-Back', 'MIDFIELD'), + ('AM-DL', 'Attacking Midfield, Left-Back', 'MIDFIELD'), + ('DM-DL', 'Defensive Midfield, Left-Back', 'MIDFIELD'), + ('MC-DL', 'Central Midfield, Left-Back', 'MIDFIELD'), + ('ML-DL', 'Left Midfield, Left-Back', 'MIDFIELD'), + ('MR-DL', 'Right Midfield, Left-Back', 'MIDFIELD'), + ('AM-DM', 'Attacking Midfield, Defensive Midfield', 'MIDFIELD'), + ('MC-DM', 'Central Midfield, Defensive Midfield', 'MIDFIELD'), + ('ML-DM', 'Left Midfield, Defensive Midfield', 'MIDFIELD'), + ('MR-DM', 'Right Midfield, Defensive Midfield', 'MIDFIELD'), + ('AM-DR', 'Attacking Midfield, Right-Back', 'MIDFIELD'), + ('DM-DR', 'Defensive Midfield, Right-Back', 'MIDFIELD'), + ('MC-DR', 'Central Midfield, Right-Back', 'MIDFIELD'), + ('ML-DR', 'Left Midfield, Right-Back', 'MIDFIELD'), + ('MR-DR', 'Right Midfield, Right-Back', 'MIDFIELD'), + ('AM-LW', 'Attacking Midfield, Left Winger', 'MIDFIELD'), + ('DM-LW', 'Defensive Midfield, Left Winger', 'MIDFIELD'), + ('MC-LW', 'Central Midfield, Left Winger', 'MIDFIELD'), + ('ML-LW', 'Left Midfield, Left Winger', 'MIDFIELD'), + ('MR-LW', 'Right Midfield, Left Winger', 'MIDFIELD'), + ('AM-MC', 'Attacking Midfield, Central Midfield', 'MIDFIELD'), + ('DM-MC', 'Defensive Midfield, Central Midfield', 'MIDFIELD'), + ('ML-MC', 'Left Midfield, Central Midfield', 'MIDFIELD'), + ('MR-MC', 'Right Midfield, Central Midfield', 'MIDFIELD'), + ('AM-ML', 'Attacking Midfield, Left Midfield', 'MIDFIELD'), + ('DM-ML', 'Defensive Midfield, Left Midfield', 'MIDFIELD'), + ('MC-ML', 'Central Midfield, Left Midfield', 'MIDFIELD'), + ('MR-ML', 'Right Midfield, Left Midfield', 'MIDFIELD'), + ('AM-MR', 'Attacking Midfield, Right Midfield', 'MIDFIELD'), + ('DM-MR', 'Defensive Midfield, Right Midfield', 'MIDFIELD'), + ('MC-MR', 'Central Midfield, Right Midfield', 'MIDFIELD'), + ('ML-MR', 'Left Midfield, Right Midfield', 'MIDFIELD'), + ('AM-RW', 'Attacking Midfield, Right Winger', 'MIDFIELD'), + ('DM-RW', 'Defensive Midfield, Right Winger', 'MIDFIELD'), + ('MC-RW', 'Central Midfield, Right Winger', 'MIDFIELD'), + ('ML-RW', 'Left Midfield, Right Winger', 'MIDFIELD'), + ('MR-RW', 'Right Midfield, Right Winger', 'MIDFIELD'), + ('AM-ST', 'Attacking Midfield, Centre-Forward', 'MIDFIELD'), + ('DM-ST', 'Defensive Midfield, Centre-Forward', 'MIDFIELD'), + ('MC-ST', 'Central Midfield, Centre-Forward', 'MIDFIELD'), + ('ML-ST', 'Left Midfield, Centre-Forward', 'MIDFIELD'), + ('MR-ST', 'Right Midfield, Centre-Forward', 'MIDFIELD'); "; DB::unprepared($sql); } diff --git a/resources/css/filament/admin/theme.css b/resources/css/filament/admin/theme.css index 0f9221ff..f253eb7f 100644 --- a/resources/css/filament/admin/theme.css +++ b/resources/css/filament/admin/theme.css @@ -3,6 +3,7 @@ @source '../../../../app/Filament/**/*'; @source '../../../../resources/views/livewire/*'; @source '../../../../resources/views/filament/**/*'; +@source '../../../../resources/views/filament/modals/**/*'; @source '../../../../resources/views/filament/tables/**/*'; @source '../../../../resources/views/components/**/*'; @source '../../../../vendor/awcodes/light-switch/resources/**/*.blade.php'; diff --git a/resources/views/filament/modals/position-abbreviation.blade.php b/resources/views/filament/modals/position-abbreviation.blade.php new file mode 100644 index 00000000..409d07db --- /dev/null +++ b/resources/views/filament/modals/position-abbreviation.blade.php @@ -0,0 +1,566 @@ + + + + + +
Player positions explanation of abbreviations
+ +
+ + + ATTACK + + + + DEFENCE + + + + MIDFIELD + + + + GOALKEEPER + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbbreviationDescription
STCentre-Forward
ST-AMCentre-Forward, Attacking Midfield
ST-MCCentre-Forward, Central Midfield
ST-DCCentre-Forward, Centre-Back
ST-DMCentre-Forward, Defensive Midfield
ST-MLCentre-Forward, Left Midfield
ST-LWCentre-Forward, Left Winger
ST-DLCentre-Forward, Left-Back
ST-MRCentre-Forward, Right Midfield
ST-RWCentre-Forward, Right Winger
ST-DRCentre-Forward, Right-Back
LWLeft Winger
LW-AMLeft Winger, Attacking Midfield
LW-MCLeft Winger, Central Midfield
LW-DCLeft Winger, Centre-Back
LW-STLeft Winger, Centre-Forward
LW-DMLeft Winger, Defensive Midfield
LW-MLLeft Winger, Left Midfield
LW-DLLeft Winger, Left-Back
LW-MRLeft Winger, Right Midfield
LW-RWLeft Winger, Right Winger
LW-DRLeft Winger, Right-Back
RWRight Winger
RW-AMRight Winger, Attacking Midfield
RW-MCRight Winger, Central Midfield
RW-DCRight Winger, Centre-Back
RW-STRight Winger, Centre-Forward
RW-DMRight Winger, Defensive Midfield
RW-MLRight Winger, Left Midfield
RW-LWRight Winger, Left Winger
RW-DLRight Winger, Left-Back
RW-MRRight Winger, Right Midfield
RW-DRRight Winger, Right-Back
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbbreviationDescription
DCCentre-Back
DLLeft-Back
DRRight-Back
DC-AMCentre-Back, Attacking Midfield
DL-AMLeft-Back, Attacking Midfield
DR-AMRight-Back, Attacking Midfield
DL-DCLeft-Back, Centre-Back
DR-DCRight-Back, Centre-Back
DC-DLCentre-Back, Left-Back
DR-DLRight-Back, Left-Back
DC-DMCentre-Back, Defensive Midfield
DL-DMLeft-Back, Defensive Midfield
DR-DMRight-Back, Defensive Midfield
DC-DRCentre-Back, Right-Back
DL-DRLeft-Back, Right-Back
DC-LWCentre-Back, Left Winger
DL-LWLeft-Back, Left Winger
DR-LWRight-Back, Left Winger
DC-MCCentre-Back, Central Midfield
DL-MCLeft-Back, Central Midfield
DR-MCRight-Back, Central Midfield
DC-MLCentre-Back, Left Midfield
DL-MLLeft-Back, Left Midfield
DR-MLRight-Back, Left Midfield
DC-MRCentre-Back, Right Midfield
DL-MRLeft-Back, Right Midfield
DR-MRRight-Back, Right Midfield
DC-RWCentre-Back, Right Winger
DL-RWLeft-Back, Right Winger
DR-RWRight-Back, Right Winger
DC-STCentre-Back, Centre-Forward
DL-STLeft-Back, Centre-Forward
DR-STRight-Back, Centre-Forward +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbbreviationDescription
AMAttacking Midfield
DMDefensive Midfield
MCCentral Midfield
MLLeft Midfield
MRRight Midfield
DM-AMDefensive Midfield, Attacking Midfield
MC-AMCentral Midfield, Attacking Midfield
ML-AMLeft Midfield, Attacking Midfield
MR-AMRight Midfield, Attacking Midfield
AM-DCAttacking Midfield, Centre-Back
DM-DCDefensive Midfield, Centre-Back
MC-DCCentral Midfield, Centre-Back
ML-DCLeft Midfield, Centre-Back
MR-DCRight Midfield, Centre-Back
AM-DLAttacking Midfield, Left-Back
DM-DLDefensive Midfield, Left-Back
MC-DLCentral Midfield, Left-Back
ML-DLLeft Midfield, Left-Back
MR-DLRight Midfield, Left-Back
AM-DMAttacking Midfield, Defensive Midfield
MC-DMCentral Midfield, Defensive Midfield
ML-DMLeft Midfield, Defensive Midfield
MR-DMRight Midfield, Defensive Midfield
AM-DRAttacking Midfield, Right-Back
DM-DRDefensive Midfield, Right-Back
MC-DRCentral Midfield, Right-Back
ML-DRLeft Midfield, Right-Back
MR-DRRight Midfield, Right-Back
AM-LWAttacking Midfield, Left Winger
DM-LWDefensive Midfield, Left Winger
MC-LWCentral Midfield, Left Winger
ML-LWLeft Midfield, Left Winger
MR-LWRight Midfield, Left Winger
AM-MCAttacking Midfield, Central Midfield
DM-MCDefensive Midfield, Central Midfield
ML-MCLeft Midfield, Central Midfield
MR-MCRight Midfield, Central Midfield
AM-MLAttacking Midfield, Left Midfield
DM-MLDefensive Midfield, Left Midfield
MC-MLCentral Midfield, Left Midfield
MR-MLRight Midfield, Left Midfield
AM-MRAttacking Midfield, Right Midfield
DM-MRDefensive Midfield, Right Midfield
MC-MRCentral Midfield, Right Midfield
ML-MRLeft Midfield, Right Midfield
AM-RWAttacking Midfield, Right Winger
DM-RWDefensive Midfield, Right Winger
MC-RWCentral Midfield, Right Winger
ML-RWLeft Midfield, Right Winger
MR-RWRight Midfield, Right Winger
AM-STAttacking Midfield, Centre-Forward
DM-STDefensive Midfield, Centre-Forward
MC-STCentral Midfield, Centre-Forward
ML-STLeft Midfield, Centre-Forward
MR-STRight Midfield, Centre-Forward
+
+
+ + + + + + + + + + + + + +
AbbreviationDescription
GKGoaldkeeper
+
+
+
+