import Loading from '../common/Loading';
import NotFound from '../pages/NotFound';
import Detail from '../tournament/Detail';
+import { patchResult } from '../../helpers/Tournament';
const Tournament = () => {
const params = useParams();
});
}, [id]);
+ 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]);
+
if (loading) {
return <Loading />;
}