X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Ftournament%2FScoreboard.js;h=40ad82ff300724acda076a5f7038d1546b723c5e;hb=d32516335ea2534e15256c948e9c38d3de40794b;hp=e142a80e030488f9a96d474d31d390b9a5259617;hpb=9e52cf7a5fc89a89301e00e9595c80b783449bbe;p=alttp.git diff --git a/resources/js/components/tournament/Scoreboard.js b/resources/js/components/tournament/Scoreboard.js index e142a80..40ad82f 100644 --- a/resources/js/components/tournament/Scoreboard.js +++ b/resources/js/components/tournament/Scoreboard.js @@ -5,26 +5,53 @@ import { withTranslation } from 'react-i18next'; import Icon from '../common/Icon'; import Box from '../users/Box'; -import { calculateScores } from '../../helpers/Tournament'; +import { comparePlacement } from '../../helpers/Participant'; +import { getRunners } from '../../helpers/Tournament'; +import { withUser } from '../../helpers/UserContext'; import i18n from '../../i18n'; -const Scoreboard = ({ tournament }) => - +const getRowClassName = (tournament, participant, user) => { + const classNames = ['score']; + if (participant && user && participant.user_id == user.id) { + classNames.push('is-self'); + } + return classNames.join(' '); +}; + +const getPlacementDisplay = participant => { + if (participant.placement === 1) { + return ; + } + if (participant.placement === 2) { + return ; + } + if (participant.placement === 3) { + return ; + } + return participant.placement; +}; + +const Scoreboard = ({ tournament, user }) => +
+ - + - {calculateScores(tournament).map(score => - + {getRunners(tournament).sort(comparePlacement).map(participant => + + - + )} @@ -44,6 +71,8 @@ const Scoreboard = ({ tournament }) => Scoreboard.propTypes = { tournament: PropTypes.shape({ }), + user: PropTypes.shape({ + }), }; -export default withTranslation()(Scoreboard); +export default withTranslation()(withUser(Scoreboard));
{i18n.t('participants.placementShort')} {i18n.t('participants.participant')}{i18n.t('participants.score')}{i18n.t('participants.scoreShort')}
+ {getPlacementDisplay(participant)} +
- - {score.participant.user.stream_link ? + + {participant.user.stream_link ?
{score.score}{participant.score}