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' )); } }