X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fpages%2FTournament.js;h=ecaab6c97807bf1968b7e1732cf8c7d624a0a85b;hb=b5a50d74cf042fa7fc874d8184dc37ae20bb74dd;hp=20f34ceda7afd84ad8a35275d85f7948cb462c40;hpb=16662be0b3432d67307ae8c2bb798362d77bab99;p=alttp.git diff --git a/resources/js/pages/Tournament.js b/resources/js/pages/Tournament.js index 20f34ce..ecaab6c 100644 --- a/resources/js/pages/Tournament.js +++ b/resources/js/pages/Tournament.js @@ -10,6 +10,8 @@ import Loading from '../components/common/Loading'; import NotFound from '../pages/NotFound'; import Detail from '../components/tournament/Detail'; import { + canLoadMoreRounds, + getLastRound, patchApplication, patchParticipant, patchResult, @@ -19,7 +21,7 @@ import { sortParticipants, } from '../helpers/Tournament'; -const Tournament = () => { +export const Component = () => { const params = useParams(); const { id } = params; @@ -65,7 +67,6 @@ const Tournament = () => { } }) .listen('ParticipantChanged', e => { - console.log(e); if (e.participant) { setTournament(tournament => patchParticipant(tournament, e.participant)); } @@ -98,6 +99,21 @@ const Tournament = () => { }; }, [id]); + const moreRounds = React.useCallback(async () => { + const last_round = getLastRound(tournament); + if (!last_round) return; + console.log(last_round); + const last_known = last_round.number; + const rsp = await axios.get( + `/api/tournaments/${id}/more-rounds`, + { params: { last_known } }, + ); + setTournament(tournament => ({ + ...tournament, + rounds: [...tournament.rounds, ...rsp.data], + })); + }, [id, tournament]); + useEffect(() => { const cb = (e) => { if (e.user) { @@ -133,8 +149,10 @@ const Tournament = () => { {tournament.title} - + ; }; - -export default Tournament;