Core implementation: controllers, views, routes, models, import command

This commit is contained in:
Mark
2026-05-29 09:37:07 +03:00
parent 8e1fe4a2f5
commit 5813bc779a
24 changed files with 1361 additions and 37 deletions
+42
View File
@@ -0,0 +1,42 @@
<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\UserGame;
class UserController extends Controller
{
public function show(User $user)
{
$stats = [
'played' => $user->library()->where('status', 'played')->count(),
'playing' => $user->library()->where('status', 'playing')->count(),
'want_to_play' => $user->library()->where('status', 'want_to_play')->count(),
'total' => $user->library()->count(),
];
$recentlyPlayed = $user->library()
->with('game')
->where('status', 'played')
->latest('updated_at')
->limit(6)
->get();
return view('users.show', compact('user', 'stats', 'recentlyPlayed'));
}
public function library(User $user)
{
$status = request('status');
$query = $user->library()->with('game');
if ($status && in_array($status, UserGame::STATUSES)) {
$query->where('status', $status);
}
$entries = $query->latest('updated_at')->paginate(24)->withQueryString();
return view('users.library', compact('user', 'entries', 'status'));
}
}