rsnext/examples/with-framer-motion/pages/_app.js
Tim Neutkens 7e2d476e44
Update examples to use getStaticProps where possible (#11136)
* 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
2020-03-17 15:07:27 +01:00

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