feat: skin list

This commit is contained in:
Rico van Zelst
2023-11-09 12:20:46 +01:00
parent 70306245e6
commit 2b8e6d9327
17 changed files with 582 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Http\Requests\StoreChampionSkinRequest;
use App\Http\Requests\UpdateChampionSkinRequest;
use App\Models\ChampionSkin;
use Illuminate\Support\Facades\Cache;
class ChampionSkinController extends Controller
{
@@ -13,7 +14,11 @@ class ChampionSkinController extends Controller
*/
public function index()
{
//
$skins = Cache::remember('championSkinsListAllCache' . request('page', 1), 60 * 60 * 8, function () {
return ChampionSkin::orderBy('id')->paginate(16);
});
return view('skins.index', compact('skins'));
}
/**

View File

@@ -49,6 +49,11 @@ class ChampionSkin extends Model
];
}
public function getRarityAttribute($value)
{
return $value === null || $value === 'NoRarity' ? 'Common' : $value;
}
public function champion(): BelongsTo
{
return $this->belongsTo(Champion::class, 'champion_id', 'champion_id');

View File

@@ -0,0 +1,20 @@
<?php
namespace App\View\Components\Skins;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;
use Illuminate\Pagination\LengthAwarePaginator as Paginator;
class Paginatedlist extends Component
{
public function __construct(public Paginator $skins)
{
}
public function render(): View
{
return view('components.skins.paginatedlist');
}
}