From 8bd9784acdee6871ad70e86d0d7120299bf76969 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Tue, 1 Mar 2022 22:05:08 +0100
Subject: refactor: split posts meta into smaller components

---
 src/components/MetaItems/Thematics/Thematics.tsx | 42 ++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 src/components/MetaItems/Thematics/Thematics.tsx

(limited to 'src/components/MetaItems/Thematics/Thematics.tsx')

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;
-- 
cgit v1.2.3

