mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
21 lines
520 B
JavaScript
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
|
||
|
}
|