X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Fresults%2FList.js;h=911b6a53ba5526a70cb9073963190e6d0883949e;hb=e0925d5b97ab0804222195eb4231c63b33703942;hp=14c70968cd5324823c558732df049e3a2fd715ea;hpb=855decfd62b51ed500c8a5903f4b263c4c9afb5c;p=alttp.git diff --git a/resources/js/components/results/List.js b/resources/js/components/results/List.js index 14c7096..911b6a5 100644 --- a/resources/js/components/results/List.js +++ b/resources/js/components/results/List.js @@ -5,9 +5,27 @@ import Item from './Item'; import { sortByFinished, sortByResult } from '../../helpers/Participant'; import { maySeeResults } from '../../helpers/permissions'; import { getRunners } from '../../helpers/Tournament'; -import { withUser } from '../../helpers/UserContext'; +import { compareResult } from '../../helpers/Result'; +import { useUser } from '../../hooks/user'; -const List = ({ round, tournament, user }) => { +const List = ({ round, tournament }) => { + const { user } = useUser(); + + if (tournament.type === 'open-async') { + const results = maySeeResults(user, tournament, round) + ? (round.results || []).sort(compareResult) + : round.results || []; + return
+ {results.map(result => + + )} +
; + } const runners = maySeeResults(user, tournament, round) ? sortByResult(getRunners(tournament), round) : sortByFinished(getRunners(tournament), round); @@ -15,9 +33,9 @@ const List = ({ round, tournament, user }) => { {runners.map(participant => )} ; @@ -25,13 +43,16 @@ const List = ({ round, tournament, user }) => { List.propTypes = { round: PropTypes.shape({ + results: PropTypes.arrayOf(PropTypes.shape({ + })), }), tournament: PropTypes.shape({ participants: PropTypes.arrayOf(PropTypes.shape({ })), - }), - user: PropTypes.shape({ + type: PropTypes.string, + users: PropTypes.arrayOf(PropTypes.shape({ + })), }), }; -export default withUser(List); +export default List;