2017-05-01 19:08:11 +10:00
|
|
|
import React, { Component } from 'react'
|
|
|
|
import PropTypes from 'prop-types'
|
2017-04-28 15:47:14 +10:00
|
|
|
import DocumentTitle from 'react-document-title'
|
|
|
|
|
|
|
|
import { prefixLink } from 'gatsby-helpers'
|
|
|
|
import typography from './utils/typography'
|
|
|
|
import { colors } from 'utils/colors'
|
2017-05-02 22:22:58 +07:00
|
|
|
import favicon from './design/homepage/storybook-icon.png'
|
2017-04-28 15:47:14 +10:00
|
|
|
|
|
|
|
const BUILD_TIME = new Date().getTime()
|
|
|
|
|
2017-05-01 19:08:11 +10:00
|
|
|
class HTML extends Component {
|
2017-04-28 15:47:14 +10:00
|
|
|
render () {
|
|
|
|
const title = DocumentTitle.rewind()
|
|
|
|
|
|
|
|
let css
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
|
|
css = <style dangerouslySetInnerHTML={{ __html: require('!raw!./public/styles.css') }} />
|
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charSet="utf-8" />
|
|
|
|
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
|
|
|
|
<meta
|
|
|
|
name="viewport"
|
|
|
|
content="width=device-width, initial-scale=1.0"
|
|
|
|
/>
|
|
|
|
<title>{title}</title>
|
2017-05-03 14:54:00 +10:00
|
|
|
<link rel="icon" href={favicon} type="image/x-icon" />
|
2017-04-28 15:47:14 +10:00
|
|
|
{css}
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="react-mount" dangerouslySetInnerHTML={{ __html: this.props.body }} />
|
|
|
|
<script src={prefixLink(`/bundle.js?t=${BUILD_TIME}`)} />
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
)
|
2017-05-01 19:08:11 +10:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
HTML.displayName = 'HTML'
|
|
|
|
HTML.propTypes = {
|
|
|
|
body: PropTypes.string,
|
|
|
|
}
|
|
|
|
|
|
|
|
export default HTML
|