mirror of
https://github.com/ryankazokas/turbovault-app.git
synced 2026-04-16 21:02:52 +00:00
28 lines
889 B
Ruby
28 lines
889 B
Ruby
# typed: true
|
|
|
|
class ProfilesController < ApplicationController
|
|
extend T::Sig
|
|
def show
|
|
@user = User.find_by!(username: params[:username])
|
|
|
|
unless @user.profile_public? || @user == current_user
|
|
redirect_to root_path, alert: "This profile is private."
|
|
return
|
|
end
|
|
|
|
@total_games = @user.games.count
|
|
@physical_games = @user.games.physical_games.count
|
|
@digital_games = @user.games.digital_games.count
|
|
@completed_games = @user.games.completed.count
|
|
|
|
@games_by_platform = @user.games.joins(:platform)
|
|
.group("platforms.name")
|
|
.count
|
|
.sort_by { |_, count| -count }
|
|
.first(10)
|
|
|
|
@public_collections = @user.collections.root_collections.order(:name)
|
|
@recent_games = @user.games.includes(:platform).recent.limit(10)
|
|
end
|
|
end
|