import React from 'react' import { ZoomContextProvider } from './ZoomablePattern.mjs' import { HeaderMenu } from './HeaderMenu.mjs' import { DesignOptionsMenu } from './menus/DesignOptionsMenu.mjs' import { CoreSettingsMenu } from './menus/CoreSettingsMenu.mjs' import { UiPreferencesMenu } from './menus/UiPreferencesMenu.mjs' import { LayoutSettingsMenu } from './menus/LayoutMenu.mjs' import { TestOptionsMenu, TestMeasurementsMenu } from './menus/TestMenu.mjs' import { useDesignTranslation } from '@freesewing/react/hooks/useDesignTranslation' /** * A layout for views that include a drafted pattern * * @param {object} config - The editor configuration * @param {object} settings - The pattern settings/state * @param {object} ui - The UI settings/state * @param {object} update - Object holding methods to manipulate state * @param {function} Design - The Design contructor * @param {object] pattern - The drafted pattern */ export const PatternLayout = (props) => { const { Design, pattern, update, config } = props const i18n = useDesignTranslation(Design.designConfig.data.id) return (
{props.output}
) } const PatternAsideMenu = (props) => { if (!props.state.ui?.aside) return null if (props.state.view === 'draft') return (
{props.pattern.designConfig.data.id} Options
Core Settings
UI Preferences
) if (props.state.view === 'layout') return (
Layout Settings
) if (props.state.view === 'test') return (
Test Design Options
Test Measurements
) return null } const PatternAsideWrapper = ({ children }) => (
{children}
) export const SideMenuUl = ({ children }) => ( )