_app.js 819 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import App from 'next/app';
  2. import React from 'react';
  3. import { SnackbarProvider } from 'notistack';
  4. import { appWithTranslation } from '../i18n';
  5. import { StoreProvider } from '../store';
  6. import { GlobalStyle } from '../global/styled';
  7. class MainApp extends App {
  8. static async getInitialProps({ Component, ctx }) {
  9. let pageProps = {};
  10. if (Component.getInitialProps) {
  11. pageProps = await Component.getInitialProps({ ctx });
  12. }
  13. return { pageProps };
  14. }
  15. render() {
  16. const {
  17. Component,
  18. pageProps,
  19. } = this.props;
  20. return (
  21. <StoreProvider>
  22. <SnackbarProvider maxSnack={3}>
  23. <GlobalStyle lang="en" />
  24. <Component {...pageProps} />
  25. </SnackbarProvider>
  26. </StoreProvider>
  27. );
  28. }
  29. }
  30. export default appWithTranslation(MainApp);