From 6c94afe99f23f52b3badee825ca4f2eab35cf059 Mon Sep 17 00:00:00 2001 From: Enoch Riese Date: Fri, 23 Jun 2023 17:45:50 -0500 Subject: [PATCH] shared component for views that have patterns and side menus --- .../workbench/menus/shared/menu-wrapper.mjs | 25 ++++--- .../components/workbench/views/cut/index.mjs | 29 +++++--- .../components/workbench/views/cut/menu.mjs | 2 +- .../workbench/views/draft/index.mjs | 67 ++++++++---------- .../components/workbench/views/draft/menu.mjs | 66 ++++++++---------- .../workbench/views/inspect/index.mjs | 69 +++++++++---------- .../views/inspect/inspector/menu.mjs | 2 +- .../workbench/views/inspect/menu.mjs | 2 +- .../workbench/views/pattern-with-menu.mjs | 37 ++++++++++ .../workbench/views/print/index.mjs | 31 ++++++--- .../components/workbench/views/print/menu.mjs | 2 +- .../components/workbench/views/test/index.mjs | 67 ++++++++---------- .../components/workbench/views/test/menu.mjs | 2 +- .../workbench/views/test/options.mjs | 2 +- .../workbench/views/view-header.mjs | 11 +-- sites/shared/components/wrappers/modal.mjs | 2 +- sites/shared/components/wrappers/page.mjs | 4 +- sites/shared/context/modal-context.mjs | 11 --- 18 files changed, 221 insertions(+), 210 deletions(-) create mode 100644 sites/shared/components/workbench/views/pattern-with-menu.mjs diff --git a/sites/shared/components/workbench/menus/shared/menu-wrapper.mjs b/sites/shared/components/workbench/menus/shared/menu-wrapper.mjs index bfa848a07dd..47057e18825 100644 --- a/sites/shared/components/workbench/menus/shared/menu-wrapper.mjs +++ b/sites/shared/components/workbench/menus/shared/menu-wrapper.mjs @@ -1,11 +1,11 @@ import { useContext, useState, useEffect, useCallback } from 'react' import { ModalContext } from 'shared/context/modal-context.mjs' import { ModalWrapper } from 'shared/components/wrappers/modal.mjs' -import { CloseIcon } from 'shared/components/icons.mjs' +import { CloseIcon, WrenchIcon } from 'shared/components/icons.mjs' import { shownHeaderSelector } from 'shared/components/wrappers/header.mjs' -export const MenuWrapper = ({ Icon, children, childProps }) => { - const { setModal, clearModal, setModalProps, modalContent } = useContext(ModalContext) +export const MenuWrapper = ({ children }) => { + const { setModal, clearModal, modalContent } = useContext(ModalContext) const [modalOpen, setModalOpen] = useState(false) const Modal = useCallback( @@ -17,7 +17,7 @@ export const MenuWrapper = ({ Icon, children, childProps }) => { return ( - {children(props)} + {children} + +
+ {children}
) diff --git a/sites/shared/components/workbench/views/cut/index.mjs b/sites/shared/components/workbench/views/cut/index.mjs index 515097c0e00..3163dd93d1a 100644 --- a/sites/shared/components/workbench/views/cut/index.mjs +++ b/sites/shared/components/workbench/views/cut/index.mjs @@ -2,6 +2,7 @@ import { useEffect, useCallback } from 'react' import { useTranslation } from 'next-i18next' import { CutMenu, ns as menuNs } from './menu.mjs' import { MovablePattern } from 'shared/components/workbench/pattern/movable/index.mjs' +import { PatternWithMenu, ns as wrapperNs } from '../pattern-with-menu.mjs' import { IconWrapper } from 'shared/components/icons.mjs' import { activeMaterialPath, @@ -11,7 +12,7 @@ import { useMaterialLength, } from './hooks' -export const ns = [...menuNs] +export const ns = [...menuNs, ...wrapperNs] const SheetIcon = (props) => ( @@ -44,6 +45,7 @@ export const CutView = ({ account, DynamicDocs, Design, + setSettings, }) => { const { t } = useTranslation(['workbench', 'plugin']) @@ -64,15 +66,22 @@ export const CutView = ({ }, [materialSettings, materialList, setActiveMaterial]) return ( -
-
-
-
+

{t('layoutThing', { thing: design }) + ' ' + t('forCutting')}

+ ), + pattern: (
{materialList.length > 1 ? (
@@ -99,8 +108,8 @@ export const CutView = ({ }} />
-
-
+ ), + menu: ( -
-
-
+ ), + }} + /> ) } diff --git a/sites/shared/components/workbench/views/cut/menu.mjs b/sites/shared/components/workbench/views/cut/menu.mjs index e79ad39d7cc..6f7fcd26c2f 100644 --- a/sites/shared/components/workbench/views/cut/menu.mjs +++ b/sites/shared/components/workbench/views/cut/menu.mjs @@ -19,7 +19,7 @@ const CutActions = ({ update, ui, materialSettings }) => { const resetLayout = () => update.ui(['layouts', 'cut', materialSettings.activeMaterial]) return ( -
+