X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Frounds%2FItem.js;h=949eeb2f2ec910e99b94ba9bf0a01c67a5549ba3;hb=4c5a82cb876e96c72c50e8bc12bd8a43a9afe847;hp=817069f98dc1fb7552188ed0cbfcb80a9d326dcd;hpb=1e725fef6dc440aaeea8c30e1e0598dc5d24ad86;p=alttp.git diff --git a/resources/js/components/rounds/Item.js b/resources/js/components/rounds/Item.js index 817069f..949eeb2 100644 --- a/resources/js/components/rounds/Item.js +++ b/resources/js/components/rounds/Item.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { withTranslation } from 'react-i18next'; +import { useTranslation } from 'react-i18next'; import EditButton from './EditButton'; import LockButton from './LockButton'; @@ -12,8 +12,7 @@ import ReportButton from '../results/ReportButton'; 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'; +import { useUser } from '../../hooks/user'; const getClassName = (round, tournament, user) => { const classNames = ['round']; @@ -38,54 +37,57 @@ const getClassName = (round, tournament, user) => { const Item = ({ round, tournament, - user, -}) => -
  • - {round.title ? -

    {round.title}

    - : null} -
    -
    -

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

    -

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

    - {mayReportResult(user, tournament) ? -

    - { + const { t } = useTranslation(); + const { user } = useUser(); + +return

  • + {round.title ? +

    {round.title}

    + : null} +
    +
    +

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

    +

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

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

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

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

    + +

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

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

    + : null} +
    + + {mayEditRound(user, tournament, round) ? + + : null} +
    +
    - -
    -
  • ; + ; +}; Item.propTypes = { round: PropTypes.shape({ @@ -104,8 +106,6 @@ Item.propTypes = { })), type: PropTypes.string, }), - user: PropTypes.shape({ - }), }; -export default withTranslation()(withUser(Item)); +export default Item;