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/Dates/Dates.tsx | 56 ++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 src/components/MetaItems/Dates/Dates.tsx

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

diff --git a/src/components/MetaItems/Dates/Dates.tsx b/src/components/MetaItems/Dates/Dates.tsx
new file mode 100644
index 0000000..04dff3a
--- /dev/null
+++ b/src/components/MetaItems/Dates/Dates.tsx
@@ -0,0 +1,56 @@
+import { MetaKind } from '@ts/types/app';
+import { settings } from '@utils/config';
+import { getFormattedDate } from '@utils/helpers/format';
+import { useRouter } from 'next/router';
+import { useIntl } from 'react-intl';
+import { MetaItem } from '..';
+
+const Dates = ({
+  publication,
+  update,
+  kind,
+}: {
+  publication: string;
+  update: string;
+  kind: MetaKind;
+}) => {
+  const intl = useIntl();
+  const { locale } = useRouter();
+  const validLocale = locale ? locale : settings.locales.defaultLocale;
+
+  const publicationDate = getFormattedDate(publication, validLocale);
+  const updateDate = getFormattedDate(update, validLocale);
+
+  return (
+    <>
+      <MetaItem
+        title={intl.formatMessage({
+          defaultMessage: 'Published on:',
+          description: 'Dates: publication date meta label',
+        })}
+        values={[
+          <time key={publication} dateTime={publication}>
+            {publicationDate}
+          </time>,
+        ]}
+        kind={kind}
+      />
+      {publicationDate !== updateDate && (
+        <MetaItem
+          title={intl.formatMessage({
+            defaultMessage: 'Updated on:',
+            description: 'Dates: update date meta label',
+          })}
+          values={[
+            <time key={update} dateTime={update}>
+              {updateDate}
+            </time>,
+          ]}
+          kind={kind}
+        />
+      )}
+    </>
+  );
+};
+
+export default Dates;
-- 
cgit v1.2.3

