Skip to content
Snippets Groups Projects
Commit 42e80680 authored by Loïc Poullain's avatar Loïc Poullain
Browse files

Move withRoot from JS to TS

parent b170f82f
No related branches found
No related tags found
1 merge request!118Convertir les fichiers JS restants en TS (et supprimer JSS)
import CssBaseline from "@material-ui/core/CssBaseline"; import CssBaseline from "@material-ui/core/CssBaseline";
import { MuiThemeProvider } from "@material-ui/core/styles/"; import { MuiThemeProvider } from "@material-ui/core/styles/";
import PropTypes from "prop-types";
import React from "react"; import React from "react";
import createPageContext from "./createPageContext"; import createPageContext from "./createPageContext";
...@@ -8,7 +7,12 @@ import getPageContext from "./getPageContext"; ...@@ -8,7 +7,12 @@ import getPageContext from "./getPageContext";
function withRoot(Component) { function withRoot(Component) {
let pageContext = null; let pageContext = null;
class WithRoot extends React.Component {
interface Props {
pageContext: any;
}
class WithRoot extends React.Component<Props> {
constructor(props, context) { constructor(props, context) {
super(props, context); super(props, context);
...@@ -16,12 +20,20 @@ function withRoot(Component) { ...@@ -16,12 +20,20 @@ function withRoot(Component) {
pageContext = propsPageContext || getPageContext(process.browser, createPageContext); pageContext = propsPageContext || getPageContext(process.browser, createPageContext);
} }
static getInitialProps = (ctx) => {
if (Component.getInitialProps) {
return Component.getInitialProps(ctx);
}
return {};
};
render() { render() {
// MuiThemeProvider makes the theme available down the React tree thanks to React // MuiThemeProvider makes the theme available down the React tree thanks to React
// context. // context.
return ( return (
<MuiThemeProvider <MuiThemeProvider
theme={pageContext.theme}> theme={(pageContext as any).theme}>
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to */} {/* CssBaseline kickstart an elegant, consistent, and simple baseline to */}
{/* build upon. */} {/* build upon. */}
<CssBaseline /> <CssBaseline />
...@@ -31,22 +43,6 @@ function withRoot(Component) { ...@@ -31,22 +43,6 @@ function withRoot(Component) {
} }
} }
WithRoot.defaultProps = {
pageContext: null,
};
WithRoot.propTypes = {
pageContext: PropTypes.shape(),
};
WithRoot.getInitialProps = (ctx) => {
if (Component.getInitialProps) {
return Component.getInitialProps(ctx);
}
return {};
};
return WithRoot; return WithRoot;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment