import React, { Component, createRef, RefObject } from 'react'; import { Author, PostContainer } from '../../styles/components/blog/Post.style'; import { BlogPostData } from '../../typings/entities'; import { Tag, PostImage } from '../../styles/components/blog/PostsList.style'; import { Avatar } from '../../styles/components/shared/Avatar.style'; import { Flex } from '../../styles/components/shared/Flex.style'; import RichText from '../RichText'; import SocialNetworks from './SocialNetworks'; import PostSEO from './PostSEO'; import { PrismicDocument } from '../../prismic/api'; interface Props { post: PrismicDocument; } class Post extends Component { refContent: RefObject = createRef(); public getOffset(): number { return this.refContent.current.offsetTop; } public getHeight(): number { return this.refContent.current.offsetHeight; } render(): React.ReactElement { const { title, description, content, tag, image, author, read_duration, first_related_post, second_related_post, third_related_post, fourth_related_post, discover, related_video } = this.props.post.data; const richTextContext = { related: [first_related_post, second_related_post, third_related_post, fourth_related_post], discover, related_video }; return ( <>
{tag.data?.name}

{title}

Écrit par {author?.data?.full_name}

Temps de lecture : {read_duration} min

Vous avez aimé l'article ? Partagez-le sur les réseaux sociaux !

); } } export default Post;