mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
206470283e
* Revamp example to use real world hocs * Add missing sync await parts * Remove process.browser usage * Get parent initialProps in last position
23 lines
550 B
JavaScript
23 lines
550 B
JavaScript
import accepts from 'accepts'
|
|
|
|
import { getDisplayName } from '../lib/getDisplayName'
|
|
|
|
export const withLanguages = Page => {
|
|
const WithLanguages = props => <Page {...props} />
|
|
|
|
WithLanguages.getInitialProps = async context => {
|
|
const languages = context.req
|
|
? accepts(context.req).languages()
|
|
: navigator.languages
|
|
|
|
return {
|
|
...(Page.getInitialProps ? await Page.getInitialProps(context) : {}),
|
|
languages
|
|
}
|
|
}
|
|
|
|
WithLanguages.displayName = `WithLanguages(${getDisplayName(Page)})`
|
|
|
|
return WithLanguages
|
|
}
|