1
0
Fork 0
freesewing/sites/org/components/mdx/pattern-measurements.js
2022-07-12 20:31:53 +02:00

42 lines
1.1 KiB
JavaScript

import { configs } from 'shared/designs/index.js'
import { useTranslation } from 'next-i18next'
import orderBy from 'lodash.orderby'
import PageLink from 'shared/components/page-link.js'
const PatternMeasurements = ({ pattern, before=null, after=null }) => {
const { t } = useTranslation(['measurements'])
const measurements = {}
for (const m of configs[pattern].measurements) {
measurements[m] = {
title: t(`measurements.${m}`),
required: true
}
}
for (const m of configs[pattern].measurements || []) {
measurements[m] = {
name: m,
title: t(`measurements:${m}`),
required: false
}
}
// Not all patterns require measurements
if (Object.keys(measurements).length < 1) return null
return (
<div>
{before}
<ol className="list-inside ml-8 my-4">
{orderBy(measurements, ['title'], ['asc']).map(m => (
<li key={m.name}>
<PageLink href={'/docs/measurements/' + m.name.toLowerCase()} txt={m.title} />
</li>
))}
</ol>
{after}
</div>
)
}
export default PatternMeasurements