7e2d476e44
* Remove micro example * Remove page that uses getInitialProps * Update with-docker example * Update dynamic import example * Update Fela example * Update Flow example * Update framer motion example * Remove freactal example * Remove with-higher-order-component * Remove with-immutable-redux-wrapper as it shows avenues to performance issues * Remove example that doesn't have usage * Update with-kea * Remove example that is not used * Update next-page-transitions example * Remove next-routes example as dynamic routes are supported by default * Add link to documentation * Update Overmind example * Update pretty-url-routing example * Remove update with low usage * Update with-react-ga example * Update React Helmet example * Remove mobile-detect from carousel example * Remove react-useragent as it shows a bad practice * Remove react-uwp example as it has low usage * Remove recompose example as it shows outdated practices * Remove refnux example as it has low usage * Remove example that can be created using api routes * Update with-segment-analytics * Update socket.io example * Remove socket.io example as it's shows bad practices * Update static export example * Update universal configuration example
37 lines
784 B
JavaScript
37 lines
784 B
JavaScript
import { AnimatePresence } from 'framer-motion'
|
|
import { useRouter } from 'next/router'
|
|
|
|
function handleExitComplete() {
|
|
if (typeof window !== 'undefined') {
|
|
window.scrollTo({ top: 0 })
|
|
}
|
|
}
|
|
|
|
function MyApp({ Component, pageProps }) {
|
|
const router = useRouter()
|
|
return (
|
|
<>
|
|
<AnimatePresence exitBeforeEnter onExitComplete={handleExitComplete}>
|
|
<Component {...pageProps} key={router.route} />
|
|
</AnimatePresence>
|
|
<style>
|
|
{`
|
|
body {
|
|
padding: 0;
|
|
margin: 0;
|
|
background: #f9fbf8;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
font-family: Helvetica, sans-serif;
|
|
font-weight: 900;
|
|
color: #222;
|
|
}
|
|
`}
|
|
</style>
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default MyApp
|