Skip to content

Commit 908a823

Browse files
authored
add indicator for completed challenges in users top challenges in leaderboard (#2635)
1 parent f34912e commit 908a823

2 files changed

Lines changed: 29 additions & 2 deletions

File tree

src/pages/Leaderboard/CardLeaderboard.jsx

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { Link } from "react-router-dom";
88
import AsAvatarUser from "../../interactions/User/AsAvatarUser";
99
import messages from "./Messages";
1010
import "./Leaderboard.scss";
11+
import SvgSymbol from "../../components/SvgSymbol/SvgSymbol";
1112

1213
class CardLeaderboard extends Component {
1314
state = {
@@ -28,9 +29,27 @@ class CardLeaderboard extends Component {
2829
const topChallengeItems = this.props.suppressTopChallenges
2930
? null
3031
: _map(leader.topChallenges.slice(0, this.props.maxTopChallenges), (challenge) => (
31-
<li key={challenge.id}>
32-
<Link to={`/browse/challenges/${challenge.id}`} title={challenge.name}>
32+
<li
33+
key={challenge.id}
34+
className={
35+
challenge.status === 5
36+
? "mr-text-green-lighter mr-flex mr-items-center mr-justify-center"
37+
: "mr-flex mr-items-center mr-justify-center"
38+
}
39+
>
40+
<Link
41+
to={`/browse/challenges/${challenge.id}`}
42+
title={challenge.name}
43+
className="mr-flex mr-items-center mr-justify-center"
44+
>
3345
{_truncate(challenge.name, { length: 35 })}
46+
{challenge.status === 5 && (
47+
<SvgSymbol
48+
sym="check-circled-icon"
49+
viewBox="0 0 20 20"
50+
className="mr-fill-current mr-w-4 mr-h-4 mr-ml-2 mr-text-green"
51+
/>
52+
)}
3453
</Link>
3554
</li>
3655
));

src/pages/Leaderboard/RowLeaderboard.jsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import PropTypes from "prop-types";
55
import { Component } from "react";
66
import { FormattedMessage, FormattedNumber } from "react-intl";
77
import { Link } from "react-router-dom";
8+
import SvgSymbol from "../../components/SvgSymbol/SvgSymbol";
89
import AsAvatarUser from "../../interactions/User/AsAvatarUser";
910
import messages from "./Messages";
1011
import "./Leaderboard.scss";
@@ -32,6 +33,13 @@ class RowLeaderboard extends Component {
3233
<Link to={`/browse/challenges/${challenge.id}`} title={challenge.name}>
3334
{_truncate(challenge.name, { length: 35 })}
3435
</Link>
36+
{challenge.status === 5 ? (
37+
<SvgSymbol
38+
sym="check-icon"
39+
viewBox="0 0 20 20"
40+
className="mr-fill-current mr-w-4 mr-h-4"
41+
/>
42+
) : null}
3543
</li>
3644
));
3745

0 commit comments

Comments
 (0)