Skip to content

Instantly share code, notes, and snippets.

@grovertb
Created November 28, 2018 23:22
Show Gist options
  • Select an option

  • Save grovertb/9d65da8b5c6cd314c4b7e76cf498d4d2 to your computer and use it in GitHub Desktop.

Select an option

Save grovertb/9d65da8b5c6cd314c4b7e76cf498d4d2 to your computer and use it in GitHub Desktop.
crassa-root-prod.js
import React, { Component, Fragment } from 'react'
import PropTypes from 'prop-types'
import { Provider, connect } from 'react-redux'
// import { SheetsRegistry } from 'jss'
// import JssProvider from 'react-jss/lib/JssProvider'
// import createGenerateClassName from '@material-ui/core/styles/createGenerateClassName'
// import MuiThemeProvider from '@material-ui/core/styles/MuiThemeProvider'
// import createMuiTheme from '@material-ui/core/styles/createMuiTheme'
// import CssBaseline from '@material-ui/core/CssBaseline'
// import MaterialTheme from 'lib/MaterialTheme'
import themeReducer from 'reducers/theme'
// const generateClassName = createGenerateClassName()
// const sheetsManager = new Map()
// export const sheetsRegistry = new SheetsRegistry()
// let muiTheme = createMuiTheme(MaterialTheme.ligth)
class Root extends Component {
// constructor(props) {
// super(props)
// this.state = {}
// muiTheme = createMuiTheme(MaterialTheme[this.props.theme.style])
// }
// componentDidMount() {
// const jssStyles = document.getElementById('jss-server-side')
// if(jssStyles && jssStyles.parentNode) jssStyles.parentNode.removeChild(jssStyles)
// }
// shouldComponentUpdate(nextProps) {
// const {
// theme: { style }
// } = nextProps
// if(this.props.theme.style !== style) {
// muiTheme = createMuiTheme(MaterialTheme[style])
// console.log('shouldComponentUpdate TRUE')
// return true
// } else {
// console.log('shouldComponentUpdate FALSE')
// return false
// }
// }
render() {
const { store, children } = this.props
// return (
// <JssProvider generateClassName={generateClassName} registry={sheetsRegistry}>
// <MuiThemeProvider sheetsManager={sheetsManager} theme={muiTheme}>
// <Provider store={store}>
// <Fragment>
// <CssBaseline />
// {children}
// </Fragment>
// </Provider>
// </MuiThemeProvider>
// </JssProvider>
// )
return (
<Provider store={store}>
{children}
</Provider>
)
}
}
Root.propTypes = {
store: PropTypes.object.isRequired
}
export default connect(
({ theme }) => ({
theme
}),
{
updateTheme: themeReducer.creators.updateTheme
}
)(Root)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment