From 5a92cc6659402e805a04ceb1fca1fd0730a425ac Mon Sep 17 00:00:00 2001 From: joostdecock Date: Thu, 18 May 2023 15:25:40 +0200 Subject: [PATCH] chore(lab): Do not include dynamic docs in the lab --- sites/lab/components/layouts/workbench.mjs | 7 +++ .../components/dynamic-docs/core-settings.mjs | 2 +- sites/shared/components/dynamic-docs/org.mjs | 54 +++++++++++++++++ .../components/dynamic-docs/wrapper.mjs | 1 - sites/shared/components/workbench/index.mjs | 14 ++++- .../workbench/menus/core-settings/index.mjs | 60 ++++++++++++------- .../workbench/menus/design-options/index.mjs | 42 +++++++------ .../workbench/views/draft/index.mjs | 15 ++++- .../components/workbench/views/draft/menu.mjs | 9 ++- sites/shared/config/next.mjs | 2 + .../new-pattern-from-cset.mjs.mustache | 3 +- .../new-pattern-from-set.mjs.mustache | 3 +- sites/shared/prebuild/lab.mjs | 57 +----------------- sites/shared/prebuild/org.mjs | 16 +++-- 14 files changed, 175 insertions(+), 110 deletions(-) create mode 100644 sites/lab/components/layouts/workbench.mjs create mode 100644 sites/shared/components/dynamic-docs/org.mjs diff --git a/sites/lab/components/layouts/workbench.mjs b/sites/lab/components/layouts/workbench.mjs new file mode 100644 index 00000000000..ef1ac12b2f4 --- /dev/null +++ b/sites/lab/components/layouts/workbench.mjs @@ -0,0 +1,7 @@ +export const ns = [] + +export const WorkbenchLayout = (props) => ( +
+ {props.children} +
+) diff --git a/sites/shared/components/dynamic-docs/core-settings.mjs b/sites/shared/components/dynamic-docs/core-settings.mjs index 34e295650ac..d5b4e7eecae 100644 --- a/sites/shared/components/dynamic-docs/core-settings.mjs +++ b/sites/shared/components/dynamic-docs/core-settings.mjs @@ -22,7 +22,7 @@ const dynamicDocsFactory = (lang) => { const mdx = dynamic( () => import( - `markdown/docs/site/draft/core-settings/${setting ? setting + '/' : ''}${lang}.md` + `orgmarkdown/docs/site/draft/core-settings/${setting ? setting + '/' : ''}${lang}.md` ).then((mod) => { setFrontmatter(mod.frontmatter) return mod diff --git a/sites/shared/components/dynamic-docs/org.mjs b/sites/shared/components/dynamic-docs/org.mjs new file mode 100644 index 00000000000..fba401b021f --- /dev/null +++ b/sites/shared/components/dynamic-docs/org.mjs @@ -0,0 +1,54 @@ +import dynamic from 'next/dynamic' +import { useState } from 'react' +import { Spinner } from 'shared/components/spinner.mjs' +import { MdxWrapper } from './wrapper.mjs' +import { components } from 'shared/components/mdx/index.mjs' + +/* + * Webpack will check on disk for all possible files matching this + * dynamic import. So unless we divide it up a bit your computer + * will melt when running this in development mode + * + * This will return a language-specific component + */ +const dynamicDocsFactory = (lang) => { + return function ({ path }) { + const [frontmatter, setFrontmatter] = useState({}) + const mdx = dynamic( + () => + import(`orgmarkdown/docs/${path}/${lang}.md`).then((mod) => { + setFrontmatter(mod.frontmatter) + return mod + }), + { ssr: false } + ) + const MDX = mdx ? mdx : + + return ( + + + + ) + } +} + +/* + * Instantiate language-specific components + */ +const OrgDocsEn = dynamicDocsFactory('en') +const OrgDocsDe = dynamicDocsFactory('de') +const OrgDocsFr = dynamicDocsFactory('fr') +const OrgDocsEs = dynamicDocsFactory('es') +const OrgDocsNl = dynamicDocsFactory('nl') + +/* + * Return language-specific component + */ +export const DynamicOrgDocs = ({ path = false, language = 'en' }) => { + if (!path) return null + if (language === 'en') return + if (language === 'de') return + if (language === 'es') return + if (language === 'fr') return + if (language === 'nl') return +} diff --git a/sites/shared/components/dynamic-docs/wrapper.mjs b/sites/shared/components/dynamic-docs/wrapper.mjs index bce4c84ed9e..a91343a0ebc 100644 --- a/sites/shared/components/dynamic-docs/wrapper.mjs +++ b/sites/shared/components/dynamic-docs/wrapper.mjs @@ -1,6 +1,5 @@ import { PageLink } from 'shared/components/page-link.mjs' import { useTranslation } from 'next-i18next' -import { components } from 'shared/components/mdx/index.mjs' export const ns = ['modal'] diff --git a/sites/shared/components/workbench/index.mjs b/sites/shared/components/workbench/index.mjs index 7d4707aeb45..27e7e741505 100644 --- a/sites/shared/components/workbench/index.mjs +++ b/sites/shared/components/workbench/index.mjs @@ -42,7 +42,7 @@ const defaultUi = { const draftViews = ['draft', 'test'] -export const Workbench = ({ design, Design, set = false }) => { +export const Workbench = ({ design, Design, set = false, DynamicDocs = false }) => { // Hooks const { t, i18n } = useTranslation(ns) const { language } = i18n @@ -111,7 +111,17 @@ export const Workbench = ({ design, Design, set = false }) => { {view === 'draft' && ( )} diff --git a/sites/shared/components/workbench/menus/core-settings/index.mjs b/sites/shared/components/workbench/menus/core-settings/index.mjs index d0af2f4354a..6018f0c03fd 100644 --- a/sites/shared/components/workbench/menus/core-settings/index.mjs +++ b/sites/shared/components/workbench/menus/core-settings/index.mjs @@ -7,7 +7,6 @@ import { ModalContext } from 'shared/context/modal-context.mjs' import { loadSettingsConfig } from './config.mjs' // Components import { ModalWrapper } from 'shared/components/wrappers/modal.mjs' -import { DynamicCoreSettingsDocs } from 'shared/components/dynamic-docs/core-settings.mjs' import { SettingsIcon, ClearIcon, HelpIcon } from 'shared/components/icons.mjs' import Link from 'next/link' import { @@ -118,11 +117,13 @@ export const Setting = ({ if (name === 'sabool') drillProps.samm = samm const buttons = [] - const openButtons = [ - , - ] + const openButtons = [] + if (loadDocs) + openButtons.push( + + ) if (changed) { buttons.push( ) - } return ( } openTitle={t('core-settings:coreSettings')} - openButtons={[ - , - ]} + openButtons={openButtons} >

{t('core-settings:coreSettings.d')}

{Object.keys(settingsConfig) diff --git a/sites/shared/components/workbench/menus/design-options/index.mjs b/sites/shared/components/workbench/menus/design-options/index.mjs index 68c463b8fa3..a89d95e5bed 100644 --- a/sites/shared/components/workbench/menus/design-options/index.mjs +++ b/sites/shared/components/workbench/menus/design-options/index.mjs @@ -39,7 +39,6 @@ import { MmOptionValue, PctOptionValue, } from './values.mjs' -import { DynamicMdx } from 'shared/components/dynamic-mdx.mjs' export const ns = ['design-options'] @@ -135,11 +134,13 @@ export const DesignOption = ({ } const buttons = [] - const openButtons = [ - , - ] + const openButtons = [] + if (loadDocs) + openButtons.push( + + ) if (['pct', 'count', 'deg'].includes(type)) openButtons.push(