]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/pages/Tournament.js
add helmet
[alttp.git] / resources / js / components / pages / Tournament.js
index 00a19343c11b1c99c59d59937946f6ce85f89b17..7abd5e437b25bf8454e49810d9a2e12cde88a30a 100644 (file)
@@ -1,5 +1,6 @@
 import axios from 'axios';
 import React, { useEffect, useState } from 'react';
+import { Helmet } from 'react-helmet';
 import { useParams } from 'react-router-dom';
 
 import ErrorBoundary from '../common/ErrorBoundary';
@@ -26,20 +27,23 @@ const Tournament = () => {
        const [tournament, setTournament] = useState(null);
 
        useEffect(() => {
+               const ctrl = new AbortController();
                setLoading(true);
                axios
-                       .get(`/api/tournaments/${id}`)
+                       .get(`/api/tournaments/${id}`, { signal: ctrl.signal })
                        .then(response => {
                                setError(null);
                                setLoading(false);
                                setTournament(sortParticipants(response.data));
-                               window.document.title = response.data.title;
                        })
                        .catch(error => {
                                setError(error);
                                setLoading(false);
                                setTournament(null);
                        });
+               return () => {
+                       ctrl.abort();
+               };
        }, [id]);
 
        useEffect(() => {
@@ -124,6 +128,9 @@ const Tournament = () => {
        };
 
        return <ErrorBoundary>
+               <Helmet>
+                       <title>{tournament.title}</title>
+               </Helmet>
                <Detail addRound={addRound} tournament={tournament} />
        </ErrorBoundary>;
 };