diff --git a/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx b/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx index e6551df48..e0a622434 100644 --- a/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx +++ b/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx @@ -27,7 +27,7 @@ const Players = ({ {playersCount === 0 ? (

NO_PARTICIPANTS_YET

) : ( - Object.values(players).map(player => ( + Object.values(players).slice(0, 30).map(player => (
diff --git a/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex b/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex index 25ffdd14f..3d6c5707a 100644 --- a/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex +++ b/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex @@ -275,15 +275,17 @@ defmodule CodebattleWeb.TournamentChannel do when type in ["swiss", "ladder", "stairway"] do current_user = socket.assigns.current_user - {matches, players} = + players = + Enum.uniq( + [Helpers.get_player(tournament, current_user.id)] ++ + Helpers.get_top_players(tournament, 0, 30) + ) + + matches = if Helpers.can_moderate?(tournament, current_user) do - {Helpers.get_matches(tournament), - [Helpers.get_player(tournament, current_user.id)] ++ - Helpers.get_paginated_players(tournament, 0, 30)} + Helpers.get_matches(tournament, Enum.map(players, & &1.id)) else - {Helpers.get_matches_by_players(tournament, [current_user.id]), - [Helpers.get_player(tournament, current_user.id)] ++ - Helpers.get_top_players(tournament)} + Helpers.get_matches_by_players(tournament, [current_user.id]) end %{