Files
turbovault-app/app/controllers/profiles_controller.rb
2026-03-28 19:24:29 -04:00

25 lines
866 B
Ruby

class ProfilesController < ApplicationController
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