/* eslint-disable @next/next/google-font-display */ import React, { type JSX } from 'react'; import type { DocumentContext, DocumentInitialProps } from 'next/document'; import Document, { Head, Html, Main, NextScript } from 'next/document'; import type { Locale } from '@growi/core/dist/interfaces'; import type { GrowiPluginResourceEntries } from '~/features/growi-plugin/server/services'; import type { CrowiRequest } from '~/interfaces/crowi-request'; import loggerFactory from '~/utils/logger'; import { getLocaleAtServerSide } from './utils/commons'; const logger = loggerFactory('growi:page:_document'); type HeadersForGrowiPluginProps = { pluginResourceEntries: GrowiPluginResourceEntries; }; const HeadersForGrowiPlugin = ( props: HeadersForGrowiPluginProps, ): JSX.Element => { const { pluginResourceEntries } = props; return ( <> {pluginResourceEntries.map(([installedPath, href]) => { if (href.endsWith('.js')) { // eslint-disable-next-line @next/next/no-sync-scripts return (