summaryrefslogtreecommitdiffstats
path: root/src/components/PostMeta
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-01-11 12:26:30 +0100
committerArmand Philippot <git@armandphilippot.com>2022-01-11 15:32:59 +0100
commit9b8eced56f5e029bc92ad59b47cb9fd146b5e1d2 (patch)
treeb0e6088bc77bd676555925d5d85ebfcd71b14e12 /src/components/PostMeta
parent98dd62e28793bad9c121a9f16b11a10222a41c50 (diff)
chore(meta): display subjects instead of thematics on Thematic pages
Diffstat (limited to 'src/components/PostMeta')
-rw-r--r--src/components/PostMeta/PostMeta.tsx31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/components/PostMeta/PostMeta.tsx b/src/components/PostMeta/PostMeta.tsx
index 6d40048..ece355a 100644
--- a/src/components/PostMeta/PostMeta.tsx
+++ b/src/components/PostMeta/PostMeta.tsx
@@ -13,14 +13,31 @@ const PostMeta = ({
meta: ArticleMeta;
mode?: PostMetaMode;
}) => {
- const { author, commentCount, dates, thematics, website } = meta;
- const { locale } = useRouter();
+ const { author, commentCount, dates, subjects, thematics, website } = meta;
+ const { asPath, locale } = useRouter();
+ const isThematic = () => asPath.includes('/thematique/');
+
const dateOptions: Intl.DateTimeFormatOptions = {
day: 'numeric',
month: 'long',
year: 'numeric',
};
+ const getSubjects = () => {
+ return (
+ subjects &&
+ subjects.map((subject) => {
+ return (
+ <dd key={subject.id} className={styles.description}>
+ <Link href={`/sujet/${subject.slug}`}>
+ <a>{subject.title}</a>
+ </Link>
+ </dd>
+ );
+ })
+ );
+ };
+
const getThematics = () => {
return (
thematics &&
@@ -76,7 +93,7 @@ const PostMeta = ({
</dd>
</div>
)}
- {thematics && thematics.length > 0 && (
+ {!isThematic() && thematics && thematics.length > 0 && (
<div className={styles.item}>
<dt className={styles.term}>
{thematics.length > 1 ? t`Thematics` : t`Thematic`}
@@ -84,6 +101,14 @@ const PostMeta = ({
{getThematics()}
</div>
)}
+ {isThematic() && subjects && subjects.length > 0 && (
+ <div className={styles.item}>
+ <dt className={styles.term}>
+ {subjects.length > 1 ? t`Subjects` : t`Subject`}
+ </dt>
+ {getSubjects()}
+ </div>
+ )}
{website && (
<div className={styles.item}>
<dt className={styles.term}>{t`Website`}</dt>