// __SDEFILE__ - This file is a dependency for the stand-alone environment // Dependencies import { Fragment } from 'react' import { nsMerge } from 'shared/utils.mjs' import { ns as authNs } from 'shared/components/wrappers/auth/index.mjs' import { designMeasurements, horFlexClasses, capitalize } from 'shared/utils.mjs' // Hooks import { useTranslation } from 'next-i18next' // Components import { UserSetPicker, BookmarkedSetPicker, ns as setsNs, } from 'shared/components/account/sets.mjs' import { CuratedSetPicker } from 'shared/components/curated-sets.mjs' import { MeasiesEditor } from './editor.mjs' import { Popout } from 'shared/components/popout/index.mjs' import { Accordion } from 'shared/components/accordion.mjs' import { MsetIcon, BookmarkIcon, CsetIcon, EditIcon } from 'shared/components/icons.mjs' export const ns = nsMerge(authNs, setsNs) const iconClasses = { className: 'w-8 h-8 md:w-10 md:h-10 lg:w-12 lg:h-12 shrink-0', stroke: 1.5 } export const MeasiesView = ({ design, Design, settings, update, missingMeasurements, setView }) => { const { t } = useTranslation(['workbench']) const { i18n } = useTranslation(ns) const lang = i18n.language const loadMeasurements = (set) => { update.settings([ [['measurements'], designMeasurements(Design, set.measies)], [['units'], set.imperial ? 'imperial' : 'metric'], ]) // Save the measurement set name to pattern settings if (set[`name${capitalize(lang)}`]) // Curated measurement set update.settings([[['metadata'], { setName: set[`name${capitalize(lang)}`] }]]) else if (set?.name) // User measurement set update.settings([[['metadata'], { setName: set.name }]]) setView('draft') } const loadMissingMeasurements = (set) => { update.settings([ [['measurements'], designMeasurements(Design, set.measies)], [['units'], set.imperial ? 'imperial' : 'metric'], ]) setView('measies') } return (

{t('account:measurements')}

{missingMeasurements && settings.measurements && Object.keys(settings.measurements).length > 0 && (
{t('weLackSomeMeasies', { nr: missingMeasurements.length })}
    {missingMeasurements.map((m, i) => (
  1. {t(`measurements:${m}`)}
  2. ))}

{t('youCanPickOrEnter')}

)} {!missingMeasurements && ( {t('measiesOk')} )}
{t('workbench:chooseFromOwnSets')}

{t('workbench:chooseFromOwnSetsDesc')}

, , 'ownSets', ], [
{t('workbench:chooseFromBookmarkedSets')}

{t('workbench:chooseFromBookmarkedSetsDesc')}

, , 'bmSets', ], [
{t('workbench:chooseFromCuratedSets')}

{t('workbench:chooseFromCuratedSetsDesc')}

, , 'csets', ], [
{t('workbench:editMeasiesByHand')}

{t('workbench:editMeasiesByHandDesc')}

, , 'editor', ], ]} />
) }