rsnext/packages/next/client/dev/on-demand-entries-client.js
Tim Neutkens 7e7f2c0a6d
Simplify a few parts of the codebase (#7506)
* Move client-side dev JS to dev folder

* Move eventsource polyfill

* Move source-map-support

* Move error boundary

* Deprecate Container in _app

* Make initialRender check better

* Remove unused code

* Only support one subscription as there is only one

* Don’t spread object

* Shorten property name

* Add container in development too

* Simplify query update logic
2019-06-05 20:15:42 +02:00

24 lines
623 B
JavaScript

/* global window */
import Router from 'next/router'
import { setupPing, currentPage, closePing } from './on-demand-entries-utils'
export default async ({ assetPrefix }) => {
Router.ready(() => {
Router.events.on(
'routeChangeComplete',
setupPing.bind(this, assetPrefix, () => Router.pathname)
)
})
setupPing(assetPrefix, () => Router.pathname, currentPage)
document.addEventListener('visibilitychange', event => {
const state = document.visibilityState
if (state === 'visible') {
setupPing(assetPrefix, () => Router.pathname, true)
} else {
closePing()
}
})
}