1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-higher-order-component/hocs/withUserAgent.js
Brice BERNARD 206470283e [with-hocs] Revamp example to use real world hocs (#3423)
* Revamp example to use real world hocs

* Add missing sync await parts

* Remove process.browser usage

* Get parent initialProps in last position
2018-02-24 13:04:17 +01:00

21 lines
520 B
JavaScript

import { getDisplayName } from '../lib/getDisplayName'
export const withUserAgent = Page => {
const WithUserAgent = props => <Page {...props} />
WithUserAgent.getInitialProps = async context => {
const userAgent = context.req
? context.req.headers['user-agent']
: navigator.userAgent
return {
...(Page.getInitialProps ? await Page.getInitialProps(context) : {}),
userAgent
}
}
WithUserAgent.displayName = `WithUserAgent(${getDisplayName(Page)})`
return WithUserAgent
}