import axios from 'axios';
import React, { useEffect, useState } from 'react';
+import { Helmet } from 'react-helmet';
import { withTranslation } from 'react-i18next';
import { useParams } from 'react-router-dom';
+import CanonicalLinks from '../common/CanonicalLinks';
import ErrorBoundary from '../common/ErrorBoundary';
import ErrorMessage from '../common/ErrorMessage';
import Loading from '../common/Loading';
import NotFound from '../pages/NotFound';
import Detail from '../techniques/Detail';
-import { getTranslation } from '../../helpers/Technique';
+import { getLanguages, getMatchedLocale, getTranslation } from '../../helpers/Technique';
import i18n from '../../i18n';
const Technique = () => {
};
}, [name]);
- useEffect(() => {
- if (technique) {
- window.document.title = getTranslation(technique, 'title', i18n.language);
- }
- }, [technique, i18n.language]);
-
if (loading) {
return <Loading />;
}
}
return <ErrorBoundary>
+ <Helmet>
+ <title>{getTranslation(technique, 'title', i18n.language)}</title>
+ <meta name="description" content={getTranslation(technique, 'short', i18n.language)} />
+ </Helmet>
+ <CanonicalLinks
+ base={`/tech/${technique.name}`}
+ lang={getMatchedLocale(technique, i18n.language)}
+ langs={getLanguages(technique)}
+ />
<Detail technique={technique} />
</ErrorBoundary>;
};