diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-03-01 22:05:08 +0100 | 
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-03-01 22:05:08 +0100 | 
| commit | 8bd9784acdee6871ad70e86d0d7120299bf76969 (patch) | |
| tree | 9b81e0cd3ff881b2cbeb81f9f96b52b510d67646 /src/components/MetaItems/Thematics | |
| parent | 21c228600a7a69cfea3b7d8af6838bcfda1d7399 (diff) | |
refactor: split posts meta into smaller components
Diffstat (limited to 'src/components/MetaItems/Thematics')
| -rw-r--r-- | src/components/MetaItems/Thematics/Thematics.tsx | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/src/components/MetaItems/Thematics/Thematics.tsx b/src/components/MetaItems/Thematics/Thematics.tsx new file mode 100644 index 0000000..a127715 --- /dev/null +++ b/src/components/MetaItems/Thematics/Thematics.tsx @@ -0,0 +1,42 @@ +import { MetaKind } from '@ts/types/app'; +import { ThematicPreview } from '@ts/types/taxonomies'; +import Link from 'next/link'; +import { useIntl } from 'react-intl'; +import { MetaItem } from '..'; + +const Thematics = ({ +  list, +  kind, +}: { +  list: ThematicPreview[]; +  kind: MetaKind; +}) => { +  const intl = useIntl(); + +  const getThematics = () => { +    return list.map((thematic) => { +      return ( +        <Link key={thematic.databaseId} href={`/thematique/${thematic.slug}`}> +          <a>{thematic.title}</a> +        </Link> +      ); +    }); +  }; + +  return ( +    <MetaItem +      title={intl.formatMessage( +        { +          defaultMessage: +            '{thematicsCount, plural, =0 {Thematics:} one {Thematic:} other {Thematics:}}', +          description: 'Thematics: thematics list meta label', +        }, +        { thematicsCount: list.length } +      )} +      values={getThematics()} +      kind={kind} +    /> +  ); +}; + +export default Thematics; | 
