From 08855874397399459b281f6f0506fa5e91cdfdc0 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Wed, 19 Jan 2022 22:31:36 +0100 Subject: chore: allow ReactElement as intro in PostHeader --- src/components/PostHeader/PostHeader.tsx | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/components/PostHeader/PostHeader.tsx b/src/components/PostHeader/PostHeader.tsx index 7046790..7e45bb7 100644 --- a/src/components/PostHeader/PostHeader.tsx +++ b/src/components/PostHeader/PostHeader.tsx @@ -2,6 +2,7 @@ import PostMeta from '@components/PostMeta/PostMeta'; import { ArticleMeta } from '@ts/types/articles'; import { Cover } from '@ts/types/cover'; import Image from 'next/image'; +import React, { ReactElement } from 'react'; import styles from './PostHeader.module.scss'; const PostHeader = ({ @@ -11,7 +12,7 @@ const PostHeader = ({ meta, }: { cover?: Cover; - intro?: string; + intro?: string | ReactElement; meta?: ArticleMeta; title: string; }) => { @@ -25,6 +26,25 @@ const PostHeader = ({ ); }; + const getIntro = () => { + if (React.isValidElement(intro)) { + const Intro = () => intro; + return ( +
+ +
+ ); + } + return ( + intro && ( +
+ ) + ); + }; + return (
@@ -37,12 +57,7 @@ const PostHeader = ({ {title} {meta && hasMeta() && } - {intro && ( -
- )} + {getIntro()}
); -- cgit v1.2.3