@rocketsofawesome/mirage
Version:
[Live Demo of the Pattern Library](https://rocketsofawesome.github.io/mirage/)
47 lines (43 loc) • 1.11 kB
JavaScript
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { ContentfulRenderer, InlineImage } from 'SRC'
export default class ContentfulResponsiveImages extends Component {
render () {
const {
children,
className,
fields: { defaultImage, mobileImage }
} = this.props
if (mobileImage) {
return (
<div className={className}>
<picture>
<source srcSet={defaultImage.fields.file.url} media="(min-width: 800px)" />
<InlineImage src={mobileImage.fields.file.url}/>
</picture>
{children}
</div>
)
} else if (defaultImage) {
return (
<div className={className}>
<ContentfulRenderer {...defaultImage} />
{children}
</div>
)
}
return (
<div className={className}>
{children}
</div>
)
}
}
ContentfulResponsiveImages.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
fields: PropTypes.shape({
defaultImage: PropTypes.object,
mobileImage: PropTypes.object
})
}