Files
opentextsummaries/app/Http/Controllers/HomeController.php
T

52 lines
1.5 KiB
PHP
Raw Normal View History

2025-09-20 16:47:41 +03:00
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\SummaryReport;
use App\Models\SummaryRequest;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the user dashboard with stats.
*/
public function index(Request $request)
{
$user = $request->user();
// Aggregate counts
$readlistCount = $user->readlistBooks()->count();
$readlistWithSummaryCount = $user->readlistBooks()->whereHas('summary')->count();
$reviewsCount = $user->reviews()->count();
$reportsCount = SummaryReport::where('user_id', $user->id)->count();
$requestsCount = SummaryRequest::where('user_id', $user->id)->count();
// Recent activity
$latestReadlist = $user->readlistBooks()->with(['authors', 'summary'])->orderByPivot('created_at', 'desc')->limit(5)->get();
$latestReviews = $user->reviews()->with('book')->latest()->limit(5)->get();
$latestRequests = SummaryRequest::where('user_id', $user->id)->latest()->limit(5)->get();
return view('home', compact(
'readlistCount',
'readlistWithSummaryCount',
'reviewsCount',
'reportsCount',
'requestsCount',
'latestReadlist',
'latestReviews',
'latestRequests'
));
}
}