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 { IconWrapper } from 'shared/components/icons.mjs' import { activeMaterialPath, useMaterialSettings, useMaterialDraft, useMaterialList, useMaterialLength, } from './hooks' export const ns = [...menuNs] const SheetIcon = (props) => ( ) const MaterialCounter = ({ settings, renderProps }) => { const materialLength = useMaterialLength(settings.units === 'imperial', renderProps.height) return (
{materialLength}
) } export const CutView = ({ design, patternConfig, settings, ui, update, language, account, DynamicDocs, Design, }) => { const { t } = useTranslation(['workbench', 'plugin']) const materialSettings = useMaterialSettings({ ui, units: settings.units }) const { pattern, renderProps } = useMaterialDraft({ settings, ui, Design, materialSettings }) const materialList = useMaterialList(pattern) const setActiveMaterial = useCallback( (newMaterial) => { update.ui(activeMaterialPath, newMaterial) }, [update] ) useEffect(() => { if (!materialList.includes(materialSettings.activeMaterial)) setActiveMaterial(materialList[0]) }, [materialSettings, materialList, setActiveMaterial]) return (

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

{materialList.length > 1 ? (
{materialList.map((title) => ( ))}
) : null}
) }