import { Container } from 'react-bootstrap';
import { withTranslation } from 'react-i18next';
+import List from './List';
import Outline from './Outline';
+import Rulesets from './Rulesets';
import RawHTML from '../common/RawHTML';
-import { getTranslation } from '../../helpers/Technique';
+import {
+ getRelations,
+ getTranslation,
+ hasRelations,
+ sorted,
+} from '../../helpers/Technique';
import i18n from '../../i18n';
const Detail = ({ technique }) => <Container as="article">
- <h1>{getTranslation(technique, 'title', i18n.language)}</h1>
+ <div className="d-flex align-items-center justify-content-between">
+ <h1>{getTranslation(technique, 'title', i18n.language)}</h1>
+ {technique && technique.rulesets ?
+ <Rulesets technique={technique} />
+ : null}
+ </div>
<Outline technique={technique} />
<RawHTML html={getTranslation(technique, 'description', i18n.language)} />
{technique.chapters ? technique.chapters.map(chapter =>
<RawHTML html={getTranslation(chapter, 'description', i18n.language)} />
</section>
) : null}
+ {hasRelations(technique, 'related') ? <>
+ <h2 className="mt-5">{i18n.t('techniques.seeAlso')}</h2>
+ <List techniques={sorted(getRelations(technique, 'related'))} />
+ </> : null}
</Container>;
Detail.propTypes = {
chapters: PropTypes.arrayOf(PropTypes.shape({
})),
description: PropTypes.string,
+ rulesets: PropTypes.shape({
+ }),
title: PropTypes.string,
}),
};