import { sortByFinished, sortByResult } from '../../helpers/Participant';
import { maySeeResults } from '../../helpers/permissions';
import { getRunners } from '../../helpers/Tournament';
+import { compareResult } from '../../helpers/Result';
import { withUser } from '../../helpers/UserContext';
const List = ({ round, tournament, user }) => {
+ if (tournament.type === 'open-async') {
+ const results = maySeeResults(user, tournament, round)
+ ? (round.results || []).sort(compareResult)
+ : round.results || [];
+ return <div className="results d-flex flex-wrap">
+ {results.map(result =>
+ <Item
+ key={result.id}
+ round={round}
+ tournament={tournament}
+ user={result.user}
+ />
+ )}
+ </div>;
+ }
const runners = maySeeResults(user, tournament, round)
? sortByResult(getRunners(tournament), round)
: sortByFinished(getRunners(tournament), round);
{runners.map(participant =>
<Item
key={participant.id}
- participant={participant}
round={round}
tournament={tournament}
+ user={participant.user}
/>
)}
</div>;
List.propTypes = {
round: PropTypes.shape({
+ results: PropTypes.arrayOf(PropTypes.shape({
+ })),
}),
tournament: PropTypes.shape({
participants: PropTypes.arrayOf(PropTypes.shape({
})),
+ type: PropTypes.string,
+ users: PropTypes.arrayOf(PropTypes.shape({
+ })),
}),
user: PropTypes.shape({
}),