aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/PostFooter/PostFooter.module.scss45
-rw-r--r--src/components/PostFooter/PostFooter.tsx18
2 files changed, 60 insertions, 3 deletions
diff --git a/src/components/PostFooter/PostFooter.module.scss b/src/components/PostFooter/PostFooter.module.scss
index e80f5ed..a34269f 100644
--- a/src/components/PostFooter/PostFooter.module.scss
+++ b/src/components/PostFooter/PostFooter.module.scss
@@ -1,5 +1,50 @@
+@use "@styles/abstracts/functions" as fun;
@use "@styles/abstracts/placeholders";
+.meta {
+ flex-flow: column wrap;
+}
+
.list {
@extend %flex-list;
}
+
+.item {
+ &:not(:last-child) {
+ margin-right: var(--spacing-2xs);
+ }
+}
+
+.link {
+ display: flex;
+ align-items: center;
+ gap: var(--spacing-2xs);
+ padding: fun.convert-px(3) var(--spacing-xs);
+ position: relative;
+ background: linear-gradient(
+ to right,
+ var(--color-primary) 50%,
+ var(--color-bg) 50%
+ )
+ 100% 0 / 210% 100%;
+ border: fun.convert-px(2) solid var(--color-primary);
+ border-radius: fun.convert-px(5);
+ box-shadow: fun.convert-px(1) fun.convert-px(1) fun.convert-px(2) 0
+ var(--color-shadow-light);
+ font-weight: 600;
+ text-decoration: none;
+ transition: all 0.5s ease-in-out 0s, color 0.5s ease-in-out 0s;
+
+ &:hover,
+ &:focus {
+ background-position: 0 0;
+ color: var(--color-fg-inverted);
+ transition: all 0.4s ease-in-out 0s, color 0.3s ease-in-out 0.1s;
+ }
+
+ &:active {
+ background-position: 100% 0;
+ border-color: var(--color-primary-dark);
+ color: var(--color-primary-dark);
+ }
+}
diff --git a/src/components/PostFooter/PostFooter.tsx b/src/components/PostFooter/PostFooter.tsx
index 8c09d69..fe933d7 100644
--- a/src/components/PostFooter/PostFooter.tsx
+++ b/src/components/PostFooter/PostFooter.tsx
@@ -1,5 +1,6 @@
import { t } from '@lingui/macro';
import { SubjectPreview } from '@ts/types/taxonomies';
+import Image from 'next/image';
import Link from 'next/link';
import styles from './PostFooter.module.scss';
@@ -7,9 +8,20 @@ const PostFooter = ({ subjects }: { subjects: SubjectPreview[] }) => {
const getSubjects = () => {
return subjects.map((subject) => {
return (
- <li key={subject.id}>
+ <li className={styles.item} key={subject.id}>
<Link href={`/sujet/${subject.slug}`}>
- <a>{subject.title}</a>
+ <a className={styles.link}>
+ {subject.featuredImage && (
+ <Image
+ src={subject.featuredImage.sourceUrl}
+ alt={subject.featuredImage.altText}
+ layout="intrinsic"
+ width="20"
+ height="20"
+ />
+ )}
+ {subject.title}
+ </a>
</Link>
</li>
);
@@ -21,7 +33,7 @@ const PostFooter = ({ subjects }: { subjects: SubjectPreview[] }) => {
{subjects.length > 0 && (
<>
<dl className={styles.meta}>
- <dt>{t`Subjects:`}</dt>
+ <dt>{t`Read more articles about:`}</dt>
<dd>
<ul className={styles.list}>{getSubjects()}</ul>
</dd>