From 3e7592fa9cd071c8cc36118c5b40eb8061f65ca3 Mon Sep 17 00:00:00 2001 From: Rico van Zelst Date: Mon, 27 Nov 2023 19:11:09 +0100 Subject: [PATCH] feat: summoner icon show --- .../Controllers/SummonerIconController.php | 4 +- app/Models/SummonerIcon.php | 5 ++ app/View/Components/Icons/View_grid.php | 19 ++++ .../components/icons/view_grid.blade.php | 88 +++++++++++++++++++ resources/views/icons/show.blade.php | 53 +++++++++++ routes/web.php | 4 + 6 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 app/View/Components/Icons/View_grid.php create mode 100644 resources/views/components/icons/view_grid.blade.php create mode 100644 resources/views/icons/show.blade.php diff --git a/app/Http/Controllers/SummonerIconController.php b/app/Http/Controllers/SummonerIconController.php index eb87087..9b5637b 100644 --- a/app/Http/Controllers/SummonerIconController.php +++ b/app/Http/Controllers/SummonerIconController.php @@ -39,7 +39,9 @@ class SummonerIconController extends Controller public function show(SummonerIcon $summonerIcon) { - return $summonerIcon; + $icon = $summonerIcon; + + return view('icons.show', compact('icon')); } public function update(Request $request, SummonerIcon $summonerIcon) diff --git a/app/Models/SummonerIcon.php b/app/Models/SummonerIcon.php index 1229f4b..9ef0731 100644 --- a/app/Models/SummonerIcon.php +++ b/app/Models/SummonerIcon.php @@ -40,4 +40,9 @@ class SummonerIcon extends Model $sqids = new Sqids(minLength: 5); return $sqids->encode([$this->icon_id]); } + + public function getRouteKeyName(): string + { + return 'slug'; + } } diff --git a/app/View/Components/Icons/View_grid.php b/app/View/Components/Icons/View_grid.php new file mode 100644 index 0000000..08dc7aa --- /dev/null +++ b/app/View/Components/Icons/View_grid.php @@ -0,0 +1,19 @@ + +

Heimerdinger Presents:

+

+ ICON DETAILS

+

+ {{$icon->title}}

+

+ Released in: {{$icon->release_year}}

+ +
+
+ +
+

+ The {{$icon->title}}

+ {{$icon->title}} Icon + + View in HD + +
+ +
+

+ {{$icon->title}} Details +

+
+
    +
  • + Icon ID: + {{$icon->icon_id}} +
  • +
  • + Icon Name: {{$icon->title}} +
  • +
  • + Release Year: {{$icon->release_year}} +
  • +
  • + Legacy*: {{$icon->legacy ? 'Yes' : 'No'}} +
  • +
  • + Esports Icon: {{$icon->esports_team || $icon->esports_region || $icon->esports_event ? 'Yes' : 'No'}} +
  • + @if($icon->esports_team || $icon->esports_region || $icon->esports_event) + @if($icon->esports_team) +
  • + Esports Team: {{$icon->esports_team}} +
  • + @endif + @if($icon->esports_region) +
  • + Esports Region: {{$icon->esports_region}} +
  • + @endif + @if($icon->esports_event) +
  • + Esports Event: {{$icon->esports_event}} +
  • + @endif + @endif +
  • + Description: {{$icon->description}} +
  • +
  • + * Legacy Icons: Legacy Icons don't act the same as legacy skins. + It seems like some icons that are marked as legacy are still obtainable or the other way around + where some icons that are not marked as legacy are not obtainable anymore. +
  • +
+
+
+ +
+
+ +1 diff --git a/resources/views/icons/show.blade.php b/resources/views/icons/show.blade.php new file mode 100644 index 0000000..970129a --- /dev/null +++ b/resources/views/icons/show.blade.php @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + {{$icon->title}} • Heimerdinger.LoL + + + + + + + + + + + + + + + + + + + + + + @vite(['resources/css/app.css', 'resources/js/app.js']) + + + + + + + + + diff --git a/routes/web.php b/routes/web.php index cd21219..d341088 100644 --- a/routes/web.php +++ b/routes/web.php @@ -36,6 +36,10 @@ Route::get('/icons', [ SummonerIconController::class, 'index' ])->name('assets.icons.index'); +Route::get('/icon/{summonerIcon}', [ + SummonerIconController::class, + 'show' +])->name('assets.icons.show'); // Emotes Route::get('/emotes', [