UNPKG

gatsby-theme-try-ghost

Version:

A Gatsby theme for building flaring fast blogs from headless Ghost CMS.

57 lines (47 loc) 1.33 kB
import PropTypes from 'prop-types' const BodyClass = ({ isHome, isPost, author, tags, page }) => { let classes = [] const isAuthor = author && author.slug || false const isPage = page && page.slug || false isHome = isHome || false isPost = isPost || false tags = tags || [] if (isHome) { classes.push(`home-template`) } else if (isPost) { classes.push(`post-template`) } else if (isPage) { classes.push(`page-template`) classes.push(`page-${page.slug}`) } else if (tags.length > 0) { classes.push(`tag-template`) } else if (isAuthor){ classes.push(`author-template`) classes.push(`author-${author.slug}`) } if (tags) { classes = classes.concat( tags.map(({ slug }) => `tag-${slug}`) ) } //if (context.includes('paged')) { // classes.push('paged'); //} return classes.join(` `).trim() } BodyClass.propTypes = { isHome: PropTypes.bool, isPost: PropTypes.bool, author: PropTypes.shape({ slug: PropTypes.string.isRequired, }), tags: PropTypes.arrayOf( PropTypes.shape({ slug: PropTypes.string.isRequired, }) ), page: PropTypes.shape({ slug: PropTypes.string, }), } export default BodyClass