mirror of
				https://github.com/mastermindzh/rickvanlieshout.com
				synced 2025-10-30 16:20:24 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import React from 'react';
 | |
| import PropTypes from 'prop-types';
 | |
| import Link from 'gatsby-link';
 | |
| import moment from 'moment';
 | |
| import Disqus from '../Disqus/Disqus';
 | |
| import './style.scss';
 | |
| 
 | |
| class PostTemplateDetails extends React.Component {
 | |
|   render() {
 | |
|     const { subtitle, author } = this.props.data.site.siteMetadata;
 | |
|     const post = this.props.data.markdownRemark;
 | |
|     const tags = post.fields.tagSlugs;
 | |
| 
 | |
|     const homeBlock = (
 | |
|       <div>
 | |
|         <Link className="post-single__home-button" to="/">All Articles</Link>
 | |
|       </div>
 | |
|     );
 | |
| 
 | |
|     const tagsBlock = (
 | |
|       <div className="post-single__tags">
 | |
|         <ul className="post-single__tags-list">
 | |
|           {tags.map((tag, i) =>
 | |
|             <li className="post-single__tags-list-item" key={tag}>
 | |
|               <Link to={tag} className="post-single__tags-list-item-link">
 | |
|                 {post.frontmatter.tags[i]}
 | |
|               </Link>
 | |
|             </li>
 | |
|           )}
 | |
|         </ul>
 | |
|       </div>
 | |
|     );
 | |
| 
 | |
|     const commentsBlock = (
 | |
|       <div>
 | |
|         <Disqus postNode={post} />
 | |
|       </div>
 | |
|     );
 | |
| 
 | |
|     return (
 | |
|       <div>
 | |
|         {homeBlock}
 | |
|         <div className="post-single">
 | |
|           <div className="post-single__inner">
 | |
|             <h1 className="post-single__title">{post.frontmatter.title}</h1>
 | |
|             <div className="post-single__body" dangerouslySetInnerHTML={{ __html: post.html }} />
 | |
|             <div className="post-single__date">
 | |
|               <em>Published {moment(post.frontmatter.date).format('D MMM YYYY')}</em>
 | |
|             </div>
 | |
|           </div>
 | |
|           <div className="post-single__footer">
 | |
|             {tagsBlock}
 | |
|             <hr />
 | |
|             <p className="post-single__footer-text">
 | |
|               {subtitle}
 | |
|               <a href={author.twitter} target="_blank" rel="noopener noreferrer">
 | |
|                 <br /> <strong>{author.name}</strong> on Twitter
 | |
|               </a>
 | |
|             </p>
 | |
|             {commentsBlock}
 | |
|           </div>
 | |
|         </div>
 | |
|       </div>
 | |
|     );
 | |
|   }
 | |
| }
 | |
| 
 | |
| PostTemplateDetails.propTypes = {
 | |
|   data: PropTypes.shape({
 | |
|     site: PropTypes.shape({
 | |
|       siteMetadata: PropTypes.shape({
 | |
|         subtitle: PropTypes.string.isRequired,
 | |
|         author: PropTypes.object.isRequired
 | |
|       })
 | |
|     }),
 | |
|     markdownRemark: PropTypes.object.isRequired
 | |
|   })
 | |
| };
 | |
| 
 | |
| export default PostTemplateDetails;
 |