23 lines
633 B
TypeScript
23 lines
633 B
TypeScript
import { DocumentProps, Head, Html, Main, NextScript } from 'next/document'
|
|
import { IntlProvider } from 'react-intl'
|
|
import { useMessages } from '../src/i18n'
|
|
import { FC } from 'react'
|
|
|
|
const MyDocument: FC<DocumentProps> = ({ locale: _locale }) => {
|
|
const messages = useMessages()
|
|
const locale = _locale ?? '' in messages ? (_locale as keyof typeof messages) : 'en'
|
|
return (
|
|
<IntlProvider locale={locale} messages={messages[locale]}>
|
|
<Html lang={locale}>
|
|
<Head />
|
|
<body>
|
|
<Main />
|
|
<NextScript />
|
|
</body>
|
|
</Html>
|
|
</IntlProvider>
|
|
)
|
|
}
|
|
|
|
export default MyDocument
|