1
0
Fork 0
freesewing/sites/shared/components/workbench/views/cut/menu.mjs
2023-06-26 11:42:25 -05:00

67 lines
1.8 KiB
JavaScript

import { useTranslation } from 'next-i18next'
import {
DesignOptions,
ns as designMenuNs,
} from 'shared/components/workbench/menus/design-options/index.mjs'
import {
CoreSettings,
ClearAllButton,
ns as coreMenuNs,
} from 'shared/components/workbench/menus/core-settings/index.mjs'
import { CutSettings, ns as cutNs } from './settings.mjs'
import { ShowButtonsToggle } from 'shared/components/workbench/pattern/movable/transform-buttons.mjs'
import { ClearIcon } from 'shared/components/icons.mjs'
export const ns = [...coreMenuNs, ...designMenuNs, ...cutNs, 'workbench']
const CutActions = ({ update, ui, materialSettings }) => {
// get translation for the menu
const { t } = useTranslation(['workbench'])
const resetLayout = () => update.ui(['layouts', 'cut', materialSettings.activeMaterial])
return (
<div>
<div className="flex justify-evenly flex-col lg:flex-row">
<ShowButtonsToggle update={update} ui={ui} />
<button className="btn btn-primary btn-outline" onClick={resetLayout}>
<ClearIcon />
<span className="ml-2">{t('reset')}</span>
</button>
</div>
</div>
)
}
export const CutMenu = ({
design,
patternConfig,
settings,
ui,
update,
language,
account,
DynamicDocs,
materialSettings,
setSettings,
}) => {
const control = account.control
const menuProps = {
design,
patternConfig,
settings,
update,
language,
account,
DynamicDocs,
control,
}
return (
<nav className="grow mb-12">
<CutActions update={update} ui={ui} materialSettings={materialSettings} />
<CutSettings {...menuProps} ui={ui} materialSettings={materialSettings} />
<DesignOptions {...menuProps} isFirst={false} />
<CoreSettings {...menuProps} />
<ClearAllButton setSettings={setSettings} />
</nav>
)
}