cbillowes/curious-programmer-oxygen

View on GitHub
src/components/PostListing/Component.jsx

Summary

Maintainability
A
0 mins
Test Coverage
import React from "react"
import PostSnippet from "../PostSnippet/Component"
import "./PostListing.css"

class PostListing extends React.Component {
  getPostList() {
    const postList = []
    this.props.postEdges.forEach(postEdge => {
      postList.push({
        path: postEdge.node.fields.slug,
        tags: postEdge.node.frontmatter.tags,
        cover: postEdge.node.frontmatter.cover,
        title: postEdge.node.frontmatter.title,
        date: postEdge.node.frontmatter.date,
        excerpt: postEdge.node.excerpt,
        timeToRead: postEdge.node.timeToRead
      })
    })
    return postList
  }
  render() {
    const postList = this.getPostList()
    const excludeTag = this.props.excludeTag
    const heading = this.props.heading

    return (
      <div id="post-listing" className="container page-container">
        <div className="row">
          <div className="col-lg-9 col-md-9 mx-auto">
            <h1>{heading}</h1>
            {postList.map(post => (
              <div key={post.path}>
                <PostSnippet post={post} excludeTag={excludeTag} />
              </div>
            ))}
          </div>
        </div>
      </div>
    )
  }
}

export default PostListing