]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/pages/Tournament.js
result display
[alttp.git] / resources / js / components / pages / Tournament.js
index cdafd69b12c2414140f3dce96d07c87cd2e68bf2..64c890609333608f1701941676849ec8308d28f7 100644 (file)
@@ -7,6 +7,7 @@ import ErrorMessage from '../common/ErrorMessage';
 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();
@@ -32,6 +33,27 @@ const Tournament = () => {
                        });
        }, [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 />;
        }