diff options
| author | Armand Philippot <git@armandphilippot.com> | 2022-01-03 12:24:04 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2022-01-03 12:24:04 +0100 |
| commit | 04a1ceb257311a98fffc4b18679f73789b920e09 (patch) | |
| tree | 96bccf0152fcc2c3c49762ded83eaf0e57993bf0 /src/components | |
| parent | a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (diff) | |
chore: display subjects list under articles
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/PostFooter/PostFooter.module.scss | 45 | ||||
| -rw-r--r-- | src/components/PostFooter/PostFooter.tsx | 18 |
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> |
