src/dictionary/ui/display/WordDisplayDetails.tsx
import React from 'react'
import { Col, Row } from 'react-bootstrap'
import { Markdown } from 'common/Markdown'
import Word from 'dictionary/domain/Word'
import {
AmplifiedMeanings,
AmplifiedMeaningsDetails,
Derivatives,
Join,
Logogram,
OtherForm,
SingleDerivative,
} from 'dictionary/ui/display/WordDisplayParts'
export function WordDisplayDetails({ word }: { word: Word }): JSX.Element {
return (
<Row>
<Col>
<Row>
<Col xs={{ offset: 1 }}>
<Row>
<Col>
{word.forms.length > 0 && (
<>
Other forms:
<Join
list={word.forms}
separator={', '}
Component={OtherForm}
/>
</>
)}
</Col>
</Row>
<Row>
<Col>
{word.amplifiedMeanings.length > 0 && (
<AmplifiedMeanings
amplifiedMeanings={word.amplifiedMeanings}
wordId={word._id}
/>
)}
</Col>
</Row>
<Row>
<Col>
{word.derived.length > 0 && (
<>
Derivatives:
<Derivatives derivatives={word.derived} />
</>
)}
</Col>
</Row>
<Row>
<Col>
{word.derivedFrom && (
<>
Derived from:
<SingleDerivative {...word.derivedFrom} />
</>
)}
</Col>
</Row>
<Row>
<Col>
{word.logograms.length > 0 && (
<>
Logograms:
<Join
list={word.logograms}
separator={', '}
Component={Logogram}
/>
</>
)}
</Col>
</Row>
<Row>
<Col>{word.roots && `Roots: ${word.roots.join(', ')}`}</Col>
</Row>
<Row>
<Col>
<br />
{word.meaning && <Markdown text={word.meaning} />}
</Col>
</Row>
</Col>
</Row>
<Row>
<Col>
<AmplifiedMeaningsDetails
amplifiedMeanings={word.amplifiedMeanings}
/>
</Col>
</Row>
<Row>
<Col></Col>
</Row>
</Col>
</Row>
)
}