UNPKG

next-material-kit

Version:

NextJS Version of Material Kit React by Creative Tim (https://creative-tim.com)

92 lines (72 loc) 3.08 kB
/*! ========================================================= * NextJS Material Kit v1.2.0 based on Material Kit Free - v2.0.2 (Bootstrap 4.0.0 Final Edition) and Material Kit React v1.8.0 ========================================================= * Product Page: https://www.creative-tim.com/product/nextjs-material-kit * Copyright 2021 Creative Tim (https://www.creative-tim.com) * Licensed under MIT (https://github.com/creativetimofficial/nextjs-material-kit/blob/main/LICENSE.md) * Coded by Creative Tim ========================================================= * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */ import React from "react"; import ReactDOM from "react-dom"; import App from "next/app"; import Head from "next/head"; import Router from "next/router"; import PageChange from "components/PageChange/PageChange.js"; import "styles/scss/nextjs-material-kit.scss?v=1.2.0"; Router.events.on("routeChangeStart", (url) => { console.log(`Loading: ${url}`); document.body.classList.add("body-page-transition"); ReactDOM.render( <PageChange path={url} />, document.getElementById("page-transition") ); }); Router.events.on("routeChangeComplete", () => { ReactDOM.unmountComponentAtNode(document.getElementById("page-transition")); document.body.classList.remove("body-page-transition"); }); Router.events.on("routeChangeError", () => { ReactDOM.unmountComponentAtNode(document.getElementById("page-transition")); document.body.classList.remove("body-page-transition"); }); export default class MyApp extends App { componentDidMount() { let comment = document.createComment(` ========================================================= * NextJS Material Kit v1.2.0 based on Material Kit Free - v2.0.2 (Bootstrap 4.0.0 Final Edition) and Material Kit React v1.8.0 ========================================================= * Product Page: https://www.creative-tim.com/product/nextjs-material-kit * Copyright 2021 Creative Tim (https://www.creative-tim.com) * Licensed under MIT (https://github.com/creativetimofficial/nextjs-material-kit/blob/main/LICENSE.md) * Coded by Creative Tim ========================================================= * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. `); document.insertBefore(comment, document.documentElement); } static async getInitialProps({ Component, router, ctx }) { let pageProps = {}; if (Component.getInitialProps) { pageProps = await Component.getInitialProps(ctx); } return { pageProps }; } render() { const { Component, pageProps } = this.props; return ( <React.Fragment> <Head> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <title>NextJS Material Kit by Creative Tim</title> </Head> <Component {...pageProps} /> </React.Fragment> ); } }