X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Ftechniques%2FDetail.js;h=9d9534ed31f2d6831f883fa2ce043975e90958e7;hb=6976d85a7117de53f7d42dee3de1f6b8fcb9726d;hp=88ce5943b62c02447fc3c3c856fb0742377ed740;hpb=68aabaf6da8ed6e675bdea728702d5bd75066964;p=alttp.git diff --git a/resources/js/components/techniques/Detail.js b/resources/js/components/techniques/Detail.js index 88ce594..9d9534e 100644 --- a/resources/js/components/techniques/Detail.js +++ b/resources/js/components/techniques/Detail.js @@ -1,17 +1,63 @@ import PropTypes from 'prop-types'; import React from 'react'; -import { Container } from 'react-bootstrap'; +import { Alert, Container } from 'react-bootstrap'; +import { withTranslation } from 'react-i18next'; -const Detail = ({ technique }) => -

{technique.title}

-
+import List from './List'; +import Outline from './Outline'; +import Requirements from './Requirements'; +import Rulesets from './Rulesets'; +import RawHTML from '../common/RawHTML'; +import { + getRelations, + getTranslation, + hasRelations, + sorted, +} from '../../helpers/Technique'; +import i18n from '../../i18n'; + +const Detail = ({ technique }) => +
+

{getTranslation(technique, 'title', i18n.language)}

+ {technique && technique.rulesets ? + + : null} +
+ + + + {technique.chapters ? technique.chapters.map(chapter => +
+ {chapter.pivot.level ? + React.createElement( + `h${chapter.pivot.level}`, + {}, + getTranslation(chapter, 'title', i18n.language), + ) + : null} + +
+ ) : null} + {hasRelations(technique, 'related') ? <> +

{i18n.t('techniques.seeAlso')}

+ + : null} + {getTranslation(technique, 'attribution', i18n.language) ? + + + + : null}
; Detail.propTypes = { technique: PropTypes.shape({ + chapters: PropTypes.arrayOf(PropTypes.shape({ + })), description: PropTypes.string, + rulesets: PropTypes.shape({ + }), title: PropTypes.string, }), }; -export default Detail; +export default withTranslation()(Detail);