X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Frounds%2FItem.js;h=817069f98dc1fb7552188ed0cbfcb80a9d326dcd;hb=b27a83336ff215aa7a0eef55e39b9af36d7547ab;hp=1b1edb22111233a63d13023a26d94523850cafff;hpb=537b998e8059c56e3a20ee2a89d42c3bbfbb80b8;p=alttp.git diff --git a/resources/js/components/rounds/Item.js b/resources/js/components/rounds/Item.js index 1b1edb2..817069f 100644 --- a/resources/js/components/rounds/Item.js +++ b/resources/js/components/rounds/Item.js @@ -2,20 +2,21 @@ import PropTypes from 'prop-types'; import React from 'react'; import { withTranslation } from 'react-i18next'; +import EditButton from './EditButton'; import LockButton from './LockButton'; import SeedButton from './SeedButton'; import SeedCode from './SeedCode'; import SeedRolledBy from './SeedRolledBy'; import List from '../results/List'; import ReportButton from '../results/ReportButton'; -import { mayReportResult, isRunner } from '../../helpers/permissions'; +import { mayEditRound, mayReportResult, isRunner } from '../../helpers/permissions'; import { isComplete } from '../../helpers/Round'; import { hasFinishedRound } from '../../helpers/User'; import { withUser } from '../../helpers/UserContext'; import i18n from '../../i18n'; const getClassName = (round, tournament, user) => { - const classNames = ['round', 'd-flex']; + const classNames = ['round']; if (round.locked) { classNames.push('is-locked'); } else { @@ -40,37 +41,50 @@ const Item = ({ user, }) =>
  • -
    -

    - {round.number ? `#${round.number} ` : '#?'} - {i18n.t('rounds.date', { date: new Date(round.created_at) })} -

    -

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

    - {mayReportResult(user, tournament) ? -

    - {round.title} + : null} +

    +
    +

    + {round.number ? `#${round.number} ` : '#?'} + {i18n.t('rounds.date', { date: new Date(round.created_at) })} +

    +

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

    - : null} - + {mayReportResult(user, tournament) ? +

    + +

    + : null} + {tournament.type === 'open-async' && round.results && round.results.length ? +

    {i18n.t('rounds.numberOfResults', { count: round.results.length })}

    + : null} +
    + + {mayEditRound(user, tournament, round) ? + + : null} +
    +
    +
    -
  • ; Item.propTypes = { @@ -80,11 +94,15 @@ Item.propTypes = { game: PropTypes.string, locked: PropTypes.bool, number: PropTypes.number, + results: PropTypes.arrayOf(PropTypes.shape({ + })), seed: PropTypes.string, + title: PropTypes.string, }), tournament: PropTypes.shape({ participants: PropTypes.arrayOf(PropTypes.shape({ })), + type: PropTypes.string, }), user: PropTypes.shape({ }),