diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-10-09 18:26:23 +0200 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-11-11 18:14:41 +0100 |
| commit | 15522ec9146f6f1956620355c44dea2a6a75b67c (patch) | |
| tree | 7be0c4ca96cb3e59d2ee989785a6b6a286e6169d /src/components/organisms/layout/summary.tsx | |
| parent | 891441a76173c708c6604fa203b175aefa222333 (diff) | |
refactor(components): replace ResponsiveImage with Figure component
The styles applied to ResponsiveImage are related to the figure and
figcaption elements. Those elements could be use with other contents
than images. So I extracted them in a Figure component. The
ResponsiveImage component is no longer useful: the consumer should use
the Image component from `next` and wrap it in a link if needed.
Diffstat (limited to 'src/components/organisms/layout/summary.tsx')
| -rw-r--r-- | src/components/organisms/layout/summary.tsx | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/components/organisms/layout/summary.tsx b/src/components/organisms/layout/summary.tsx index e21e4c7..fa3dfe5 100644 --- a/src/components/organisms/layout/summary.tsx +++ b/src/components/organisms/layout/summary.tsx @@ -1,3 +1,4 @@ +import NextImage, { type ImageProps as NextImageProps } from 'next/image'; import type { FC, ReactNode } from 'react'; import { useIntl } from 'react-intl'; import type { Article, Meta as MetaType } from '../../../types'; @@ -8,19 +9,12 @@ import { type HeadingLevel, Icon, Link, + Figure, } from '../../atoms'; -import { - Meta, - type MetaData, - ResponsiveImage, - type ResponsiveImageProps, -} from '../../molecules'; +import { Meta, type MetaData } from '../../molecules'; import styles from './summary.module.scss'; -export type Cover = Pick< - ResponsiveImageProps, - 'alt' | 'src' | 'width' | 'height' ->; +export type Cover = Pick<NextImageProps, 'alt' | 'src' | 'width' | 'height'>; export type SummaryMeta = Pick< MetaType<'article'>, @@ -108,7 +102,11 @@ export const Summary: FC<SummaryProps> = ({ return ( <article className={styles.wrapper}> - {cover ? <ResponsiveImage className={styles.cover} {...cover} /> : null} + {cover ? ( + <Figure> + <NextImage {...cover} className={styles.cover} /> + </Figure> + ) : null} <header className={styles.header}> <Link href={url} className={styles.link}> <Heading level={titleLevel} className={styles.title}> |
