+ useEffect(() => {
+ window.Echo.private(`Tournament.${id}`)
+ .listen('ResultReported', e => {
+ console.log(e);
+ if (e.result) {
+ setTournament(tournament => patchResult(tournament, e.result));
+ }
+ })
+ .listen('RoundAdded', e => {
+ if (e.round) {
+ setTournament(tournament => ({
+ ...tournament,
+ rounds: [...tournament.rounds, e.round],
+ }));
+ }
+ });
+ return () => {
+ window.Echo.leave(`Tournament.${id}`);
+ };
+ }, [id]);
+