206470283e
* Revamp example to use real world hocs * Add missing sync await parts * Remove process.browser usage * Get parent initialProps in last position
20 lines
520 B
JavaScript
20 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
|
|
}
|