import App, { Container } from 'next/app'; import store from '../redux/store'; import { Provider } from 'react-redux'; import { setUser, doLogin } from '../redux/actions/userAct'; import '../styles/style.sass'; const ssr = typeof window === 'undefined'; export default class MyApp extends App { static async getInitialProps ({ Component, ctx }) { let user = {}; let setup = false; if(ssr) { user = ctx.req.user || {}; setup = ctx.req.doSetup || false; } let pageProps = {}; if (Component.getInitialProps) { pageProps = await Component.getInitialProps(ctx); } return { Component, pageProps, user, setup }; } componentWillMount() { const { user, setup } = this.props; setUser({...user, setup}); if(!ssr && !user.email) { const { jwt } = window.localStorage; if(jwt) doLogin(null, jwt, true); } } render () { let { Component, pageProps } = this.props; return ( ); } }