import React from 'react';
import { withTranslation } from 'react-i18next';
+import SeedButton from './SeedButton';
+import SeedCode from './SeedCode';
import List from '../results/List';
+import ReportButton from '../results/ReportButton';
+import { isParticipant } from '../../helpers/permissions';
+import { findParticipant } from '../../helpers/Tournament';
+import { withUser } from '../../helpers/UserContext';
import i18n from '../../i18n';
-const Item = ({ round, tournament }) => <li className="round d-flex">
- <div className="date">
- {i18n.t('rounds.date', { date: new Date(round.created_at) })}
+const Item = ({
+ round,
+ tournament,
+ user,
+}) =>
+<li className="round d-flex">
+ <div className="info">
+ <p className="date">
+ {round.number ? `#${round.number} ` : '#?'}
+ {i18n.t('rounds.date', { date: new Date(round.created_at) })}
+ </p>
+ <p className="seed">
+ {round.code ?
+ <>
+ <SeedCode code={round.code} />
+ {' '}
+ </>
+ : null}
+ <SeedButton
+ round={round}
+ tournament={tournament}
+ />
+ </p>
+ {!round.locked && isParticipant(user, tournament) ?
+ <p className="report">
+ <ReportButton
+ participant={findParticipant(tournament, user)}
+ round={round}
+ tournament={tournament}
+ />
+ </p>
+ : null}
</div>
<List round={round} tournament={tournament} />
</li>;
Item.propTypes = {
round: PropTypes.shape({
+ code: PropTypes.arrayOf(PropTypes.string),
created_at: PropTypes.string,
+ locked: PropTypes.bool,
+ number: PropTypes.number,
+ seed: PropTypes.string,
}),
tournament: PropTypes.shape({
participants: PropTypes.arrayOf(PropTypes.shape({
})),
}),
+ user: PropTypes.shape({
+ }),
};
-export default withTranslation()(Item);
+export default withTranslation()(withUser(Item));