Skip to content

Commit 1ec116f

Browse files
Merge pull request #5161 from topcoder-platform/leaderboards-fixes
Leaderboards fixes
2 parents 9793680 + 47a09e7 commit 1ec116f

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

src/shared/components/Leaderboard/ChallengeHistoryModal/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class ChallengeHistoryModal extends Component {
116116
challengesOrdered.map(challenge => (
117117
<tr styleName="row" key={`${challenge['tco_leaderboard.challenge_id'] || challenge.challenge_id}`}>
118118
<td styleName="name">
119-
<a href={`${config.URL.BASE}/challenges/${challenge['tco_leaderboard.challenge_id'] || challenge.challenge_id}/`} styleName="link" target="_blank" rel="noopener noreferrer">
119+
<a href={`${config.URL.BASE}/challenges/${challenge['tco_leaderboard.challenge_id'] || challenge['challenge.challenge_id'] || challenge.challenge_id}/`} styleName="link" target="_blank" rel="noopener noreferrer">
120120
{challenge.challenge_name || challenge['challenge.challenge_name'] || challenge['tco_leaderboard.challenge_id'] || challenge.challenge_id}
121121
</a>
122122
</td>

src/shared/components/Leaderboard/LeaderboardTable/index.jsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ export default function LeaderboardTable(props) {
6565
photoUrl = `${config.CDN.PUBLIC}/avatar/${
6666
encodeURIComponent(photoUrl)}?size=40`;
6767
}
68+
const fulfillment = competitor['tco_leaderboard.fulfillment']
69+
? (parseFloat(competitor['tco_leaderboard.fulfillment']) * 100).toFixed(2).replace(/[.,]00$/, '')
70+
: competitor.fulfillment;
6871
return (
6972
<tr key={competitor.rank}>
7073
<td styleName={`${stylesName}.col-rank`}>{competitor.rank}</td>
@@ -105,7 +108,7 @@ export default function LeaderboardTable(props) {
105108
</td>
106109
{
107110
isCopilot ? (
108-
<td styleName={`${stylesName}.col-fulfillment`}>{competitor.fulfillment}</td>
111+
<td styleName={`${stylesName}.col-fulfillment`}>{fulfillment}</td>
109112
) : null
110113
}
111114
<td styleName={`${stylesName}.col-challenges`}>{competitor['tco_leaderboard.challenge_count'] || competitor.challengecount}</td>
@@ -122,7 +125,7 @@ export default function LeaderboardTable(props) {
122125
}
123126
{
124127
isAlgo ? (
125-
<td styleName={`${stylesName}.col-points`}>{competitor['srm_tco19.score']}</td>
128+
<td styleName={`${stylesName}.col-points`}>{competitor['tco_leaderboard.total_score'] || competitor['srm_tco19.score']}</td>
126129
) : null
127130
}
128131
</tr>
@@ -141,7 +144,13 @@ export default function LeaderboardTable(props) {
141144
<th styleName={`${stylesName}.col-fulfillment`}>Fulfillment</th>
142145
) : null
143146
}
144-
<th styleName={`${stylesName}.col-challenges`}># of Challenges</th>
147+
{
148+
isAlgo ? (
149+
<th styleName={`${stylesName}.col-challenges`}># of Matches</th>
150+
) : (
151+
<th styleName={`${stylesName}.col-challenges`}># of Challenges</th>
152+
)
153+
}
145154
<th styleName={`${stylesName}.col-points`}>Points</th>
146155
{
147156
isTopGear ? (

src/shared/components/Leaderboard/PodiumSpot/index.jsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ export default function PodiumSpot(props) {
107107
}
108108
let rootStyle = `${stylesName}.PodiumSpot`;
109109
if (PODIUM_ITEM_MODIFIER[competitor.rank]) rootStyle += ` ${stylesName}.PodiumSpot--${PODIUM_ITEM_MODIFIER[competitor.rank]}`;
110+
const fulfillment = competitor['tco_leaderboard.fulfillment']
111+
? (parseFloat(competitor['tco_leaderboard.fulfillment']) * 100).toFixed(2).replace(/[.,]00$/, '')
112+
: competitor.fulfillment;
110113

111114
return (
112115
<div styleName={rootStyle}>
@@ -175,14 +178,20 @@ export default function PodiumSpot(props) {
175178
{
176179
isCopilot ? (
177180
<div styleName={`${stylesName}.stats`}>
178-
<span styleName={`${stylesName}.value`}>{competitor.fulfillment}</span>
181+
<span styleName={`${stylesName}.value`}>{fulfillment}</span>
179182
<span styleName={`${stylesName}.value-title`}>fulfillment</span>
180183
</div>
181184
) : null
182185
}
183186
<div styleName={`${stylesName}.stats`}>
184187
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.challenge_count'] || competitor.challengecount}</span>
185-
<span styleName={`${stylesName}.value-title`}>challenges</span>
188+
{
189+
isAlgo ? (
190+
<span styleName={`${stylesName}.value-title`}># of matches</span>
191+
) : (
192+
<span styleName={`${stylesName}.value-title`}>challenges</span>
193+
)
194+
}
186195
</div>
187196
<div styleName={`${stylesName}.stats`}>
188197
<span styleName={`${stylesName}.value`}>{formatPoints(competitor['tco_leaderboard.tco_points'] || competitor.points)}</span>
@@ -207,7 +216,7 @@ export default function PodiumSpot(props) {
207216
{
208217
isAlgo ? (
209218
<div styleName={`${stylesName}.stats`}>
210-
<span styleName={`${stylesName}.value`}>{competitor['srm_tco19.score']}</span>
219+
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.total_score'] || competitor['srm_tco19.score']}</span>
211220
<span styleName={`${stylesName}.value-title`}>total score</span>
212221
</div>
213222
) : null

0 commit comments

Comments
 (0)