X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=resources%2Fjs%2Fcomponents%2Frounds%2FItem.js;h=52b989d7a4aac04e484022103b6b6c86139570b4;hb=a4260a00251cef4ad806c9d5c44d4c444d6ab831;hp=78e3d1fd9b65d5e58300fc27da19729dc5ca8bf8;hpb=a90987ef670ed4c4de7d4191821e6c863342577d;p=alttp.git diff --git a/resources/js/components/rounds/Item.js b/resources/js/components/rounds/Item.js index 78e3d1f..52b989d 100644 --- a/resources/js/components/rounds/Item.js +++ b/resources/js/components/rounds/Item.js @@ -2,21 +2,44 @@ import PropTypes from 'prop-types'; import React from 'react'; import { withTranslation } from 'react-i18next'; +import LockButton from './LockButton'; import SeedButton from './SeedButton'; import SeedCode from './SeedCode'; import List from '../results/List'; import ReportButton from '../results/ReportButton'; -import { isParticipant } from '../../helpers/permissions'; +import { isParticipant, isRunner } from '../../helpers/permissions'; +import { isComplete } from '../../helpers/Round'; import { findParticipant } from '../../helpers/Tournament'; +import { hasFinishedRound } from '../../helpers/User'; import { withUser } from '../../helpers/UserContext'; import i18n from '../../i18n'; +const getClassName = (round, tournament, user) => { + const classNames = ['round', 'd-flex']; + if (round.locked) { + classNames.push('is-locked'); + } else { + classNames.push('is-unlocked'); + } + if (isComplete(tournament, round)) { + classNames.push('is-complete'); + } else { + classNames.push('is-incomplete'); + } + if (hasFinishedRound(user, round)) { + classNames.push('has-finished'); + } else if (isRunner(user, tournament)) { + classNames.push('has-not-finished'); + } + return classNames.join(' '); +}; + const Item = ({ round, tournament, user, }) => -
  • +
  • {round.number ? `#${round.number} ` : '#?'} @@ -24,7 +47,10 @@ const Item = ({

    {round.code ? - + <> + + {' '} + : null}

    : null} +
  • ; @@ -48,6 +75,7 @@ Item.propTypes = { round: PropTypes.shape({ code: PropTypes.arrayOf(PropTypes.string), created_at: PropTypes.string, + locked: PropTypes.bool, number: PropTypes.number, seed: PropTypes.string, }),