3 namespace BookStack\Users\Controllers;
5 use BookStack\Activity\ActivityQueries;
6 use BookStack\Http\Controller;
7 use BookStack\Users\Queries\UserContentCounts;
8 use BookStack\Users\Queries\UserRecentlyCreatedContent;
9 use BookStack\Users\UserRepo;
11 class UserProfileController extends Controller
13 public function __construct(
14 protected UserRepo $userRepo,
15 protected ActivityQueries $activityQueries,
16 protected UserContentCounts $contentCounts,
17 protected UserRecentlyCreatedContent $recentlyCreatedContent
23 * Show the user profile page.
25 public function show(string $slug)
27 $user = $this->userRepo->getBySlug($slug);
29 $userActivity = $this->activityQueries->userActivity($user);
30 $recentlyCreated = $this->recentlyCreatedContent->run($user, 5);
31 $assetCounts = $this->contentCounts->run($user);
33 $this->setPageTitle($user->name);
35 return view('users.profile', [
37 'activity' => $userActivity,
38 'recentlyCreated' => $recentlyCreated,
39 'assetCounts' => $assetCounts,