Skip to content

Commit 99d50d3

Browse files
committed
map fields to tco23
1 parent 30f5d21 commit 99d50d3

File tree

3 files changed

+40
-25
lines changed

3 files changed

+40
-25
lines changed

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

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ class ChallengeHistoryModal extends Component {
3939
} = this.props;
4040
const { sortParam } = this.state;
4141
const challengesOrdered = _.orderBy(challenges, [sortParam.field], [sortParam.order]);
42-
const placeLabel = competitor['member_profile_basic.handle'] ? 'tco_leaderboard.placement' : 'place';
43-
const pointsLabel = competitor['member_profile_basic.handle'] ? 'tco_leaderboard.tco_points' : 'points';
42+
const placeLabel = competitor['member_profile_basic.handle'] ? (competitor['tco23_leaderboard.placement'] ? 'tco23_leaderboard.placement' : 'tco_leaderboard.placement') : 'place';
43+
const pointsLabel = competitor['member_profile_basic.handle'] ? (competitor['tco23_leaderboard.tco_points'] ? 'tco23_leaderboard.tco_points' : 'tco_leaderboard.tco_points') : 'points';
4444
const styles = THEMES[themeName] || THEMES.Default;
4545
/* eslint-disable no-confusing-arrow */
4646
const sortInner = () => themeName === 'TCO23' ? (
@@ -95,7 +95,7 @@ class ChallengeHistoryModal extends Component {
9595
}}
9696
type="button"
9797
>
98-
{ sortInner() }
98+
{sortInner()}
9999
</button>
100100
</div>
101101
</th>
@@ -117,31 +117,32 @@ class ChallengeHistoryModal extends Component {
117117
}}
118118
type="button"
119119
>
120-
{ sortInner() }
120+
{sortInner()}
121121
</button>
122122
</div>
123123
</th>
124124
</tr>
125125
</thead>
126126
<tbody>
127127
{
128-
challengesOrdered.map(challenge => (
129-
<tr className={styles.row} key={`${challenge['tco_leaderboard.challenge_id'] || challenge['challenge.challenge_id'] || challenge.challenge_id}`}>
128+
challengesOrdered.map(challenge => {
129+
const challengeId = challenge['tco23_leaderboard.challenge_id'] || challenge['tco_leaderboard.challenge_id'] || challenge['challenge.challenge_id'] || challenge.challenge_id;
130+
return <tr className={styles.row} key={`${challengeId}`}>
130131
<td className={styles.name}>
131-
<a href={`${config.URL.BASE}/challenges/${challenge['tco_leaderboard.challenge_id'] || challenge['challenge.challenge_id'] || challenge.challenge_id || challenge['challenge.challenge_GUID']}/`} className={styles.link} target="_blank" rel="noopener noreferrer">
132-
{challenge.challenge_name || challenge['challenge.challenge_name'] || challenge['tco_leaderboard.challenge_id'] || challenge.challenge_id}
132+
<a href={`${config.URL.BASE}/challenges/${challengeId || challenge['challenge.challenge_GUID']}/`} className={styles.link} target="_blank" rel="noopener noreferrer">
133+
{challenge.challenge_name || challenge['challenge.challenge_name'] || challengeId}
133134
</a>
134135
</td>
135136
{
136137
!isCopilot ? (
137-
<td className={styles.placement}>{challenge['tco_leaderboard.placement'] || challenge.place}<span>placement</span></td>
138+
<td className={styles.placement}>{challenge[placeLabel] || challenge.place}<span>placement</span></td>
138139
) : null
139140
}
140141
<td className={styles.points}>
141-
{challenge['tco_leaderboard.tco_points'] || challenge.points}<span>points</span>
142+
{challenge[pointsLabel] || challenge.points}<span>points</span>
142143
</td>
143144
</tr>
144-
))
145+
})
145146
}
146147
</tbody>
147148
</table>

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,13 @@ export default function LeaderboardTable(props) {
6767
const addSufix = val => isAlgo ? (val !== 1 ? `${val} matches` : `${val} match`) : (val !== 1 ? `${val} challenges` : `${val} challenge`);
6868
const renderTableRows = comps => (
6969
comps.map((competitor) => {
70+
const tcoPoints =
71+
competitor['tco23_leaderboard.tco_points'] ||
72+
competitor['tco_leaderboard.tco_points'] ||
73+
competitor.points ||
74+
competitor['tco_leaderboard.total_score'] ||
75+
competitor['srm_tco19.score'];
76+
const tcoChallengeCnt = competitor['tco23_leaderboard.challenge_count'] || competitor['tco_leaderboard.challenge_count'] || competitor.challengecount;
7077
let photoUrl = competitor['member_profile_basic.photo_url'] || competitor.avatar;
7178
if (photoUrl) {
7279
photoUrl = `${config.CDN.PUBLIC}/avatar/${encodeURIComponent(photoUrl)}?size=40`;
@@ -147,13 +154,13 @@ export default function LeaderboardTable(props) {
147154
}
148155
<div styleName={`${stylesName}.winnings-info`}>
149156
{fulfillment && (<span>{fulfillment} fulfillment</span>)}
150-
<span>{competitor['tco_leaderboard.tco_points'] || competitor.points} points</span>
157+
<span>{tcoPoints} points</span>
151158
{
152159
themeName === 'TCO23' ? (
153160
<div onClick={() => onUsernameClick(competitor)} styleName={`${stylesName}.mobile-link`}>
154-
{addSufix(competitor['tco_leaderboard.challenge_count'] || competitor.challengecount)}
161+
{addSufix(tcoChallengeCnt)}
155162
</div>
156-
) : <span>{addSufix(competitor['tco_leaderboard.challenge_count'] || competitor.challengecount)}</span>
163+
) : <span>{addSufix(tcoChallengeCnt)}</span>
157164
}
158165
</div>
159166
</td>
@@ -172,15 +179,15 @@ export default function LeaderboardTable(props) {
172179
style={{ cursor: 'pointer', display: 'inline-block', color: '#0d61bf' }}
173180
onClick={() => onUsernameClick(competitor)}
174181
>
175-
{ `${addSufix(competitor['tco_leaderboard.challenge_count'] || competitor.challengecount)}` }
182+
{`${addSufix(tcoChallengeCnt)}`}
176183
</div>
177-
) : `${addSufix(competitor['tco_leaderboard.challenge_count'] || competitor.challengecount)}`
184+
) : `${addSufix(tcoChallengeCnt)}`
178185
) : (
179-
competitor['tco_leaderboard.challenge_count'] || competitor.challengecount
186+
tcoChallengeCnt
180187
)
181188
}
182189
</td>
183-
<td styleName={`${stylesName}.col-points`}>{formatPoints(competitor['tco_leaderboard.tco_points'] || competitor.points)}</td>
190+
<td styleName={`${stylesName}.col-points`}>{formatPoints(tcoPoints)}</td>
184191
{
185192
isTopGear ? (
186193
<td styleName={`${stylesName}.col-points`}>{competitor.wins}</td>
@@ -193,7 +200,7 @@ export default function LeaderboardTable(props) {
193200
}
194201
{
195202
isAlgo ? (
196-
<td styleName={`${stylesName}.col-points`}>{competitor['tco_leaderboard.total_score'] || competitor['srm_tco19.score']}</td>
203+
<td styleName={`${stylesName}.col-points`}>{tcoPoints}</td>
197204
) : null
198205
}
199206
</tr>

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

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ export default function PodiumSpot(props) {
124124
} = props;
125125

126126
const stylesName = THEME[themeName];
127+
const tcoPoints =
128+
competitor['tco23_leaderboard.tco_points'] ||
129+
competitor['tco_leaderboard.tco_points'] ||
130+
competitor.points ||
131+
competitor['tco_leaderboard.total_score'] ||
132+
competitor['srm_tco19.score'];
133+
const tcoChallengeCnt = competitor['tco23_leaderboard.challenge_count'] || competitor['tco_leaderboard.challenge_count'] || competitor.challengecount;
127134
let photoUrl = competitor['member_profile_basic.photo_url'] || competitor.avatar;
128135
if (photoUrl) {
129136
photoUrl = `${config.CDN.PUBLIC}/avatar/${encodeURIComponent(photoUrl)}?size=160`;
@@ -195,7 +202,7 @@ export default function PodiumSpot(props) {
195202
) : null
196203
}
197204
<div styleName={`${stylesName}.stats`}>
198-
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.challenge_count'] || competitor.challengecount}</span>
205+
<span styleName={`${stylesName}.value`}>{tcoChallengeCnt}</span>
199206
{
200207
isAlgo ? (
201208
<span styleName={`${stylesName}.value-title`}># of matches</span>
@@ -205,13 +212,13 @@ export default function PodiumSpot(props) {
205212
}
206213
</div>
207214
<div styleName={`${stylesName}.stats`}>
208-
<span styleName={`${stylesName}.value`}>{formatPoints(competitor['tco_leaderboard.tco_points'] || competitor.points)}</span>
215+
<span styleName={`${stylesName}.value`}>{formatPoints(tcoPoints)}</span>
209216
<span styleName={`${stylesName}.value-title`}>points</span>
210217
</div>
211218
{
212219
isAlgo ? (
213220
<div styleName={`${stylesName}.stats`}>
214-
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.total_score'] || competitor['srm_tco19.score']}</span>
221+
<span styleName={`${stylesName}.value`}>{tcoPoints}</span>
215222
<span styleName={`${stylesName}.value-title`}>total score</span>
216223
</div>
217224
) : null
@@ -294,7 +301,7 @@ export default function PodiumSpot(props) {
294301
) : null
295302
}
296303
<div styleName={`${stylesName}.stats-count`}>
297-
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.challenge_count'] || competitor.challengecount}</span>
304+
<span styleName={`${stylesName}.value`}>{tcoChallengeCnt}</span>
298305
{
299306
isAlgo ? (
300307
<span styleName={`${stylesName}.value-title`}># of matches</span>
@@ -304,7 +311,7 @@ export default function PodiumSpot(props) {
304311
}
305312
</div>
306313
<div styleName={`${stylesName}.stats`}>
307-
<span styleName={`${stylesName}.value`}>{formatPoints(competitor['tco_leaderboard.tco_points'] || competitor.points)}</span>
314+
<span styleName={`${stylesName}.value`}>{formatPoints(tcoPoints)}</span>
308315
<span styleName={`${stylesName}.value-title`}>points</span>
309316
</div>
310317
{
@@ -326,7 +333,7 @@ export default function PodiumSpot(props) {
326333
{
327334
isAlgo ? (
328335
<div styleName={`${stylesName}.stats`}>
329-
<span styleName={`${stylesName}.value`}>{competitor['tco_leaderboard.total_score'] || competitor['srm_tco19.score']}</span>
336+
<span styleName={`${stylesName}.value`}>{tcoPoints}</span>
330337
<span styleName={`${stylesName}.value-title`}>total score</span>
331338
</div>
332339
) : null

0 commit comments

Comments
 (0)