import React from 'react'; import Document, { DocumentContext, DocumentInitialProps, Html, Head, Main, NextScript, } from 'next/document'; import { ActivatePluginService, GrowiPluginManifestEntries } from '~/client/services/activate-plugin'; import { GrowiPlugin, GrowiPluginResourceType } from '~/interfaces/plugin'; // FIXME: dummy data // ------------------ const growiPluginsExample: GrowiPlugin[] = [ { isEnabled: true, installedPath: 'weseek/growi-plugin-copy-code-to-clipboard', origin: { url: 'https://github.com/weseek/growi-plugin-copy-code-to-clipboard', }, meta: { name: 'weseek/growi-plugin-copy-code-to-clipboard', types: [GrowiPluginResourceType.Script], }, }, ]; // ------------------ type HeadersForGrowiPluginProps = { pluginManifestEntries: GrowiPluginManifestEntries; } const HeadersForGrowiPlugin = (props: HeadersForGrowiPluginProps): JSX.Element => { const { pluginManifestEntries } = props; return ( <> { pluginManifestEntries.map(([growiPlugin, manifest]) => { // type: script if (growiPlugin.meta.types.includes(GrowiPluginResourceType.Script)) { return ( <> {/* eslint-disable-next-line @next/next/no-sync-scripts */ }