1
0
Fork 0
freesewing/sites/org/components/mdx/pattern-docs.mjs

58 lines
1.8 KiB
JavaScript
Raw Normal View History

import React from 'react'
2022-12-24 22:52:19 +01:00
import { capitalize } from 'shared/utils.mjs'
import { getConfig } from 'shared/designs/index.js'
import Popout from 'shared/components/popout.js'
import { useTranslation } from 'next-i18next'
2022-06-02 19:39:59 +02:00
import Design from 'site/components/design.js'
import PatternOptions from './pattern-options'
import PatternMeasurements from './pattern-measurements'
import DocsLink from 'shared/components/docs-link'
2022-12-24 22:52:19 +01:00
const PatternDocs = ({ pattern = false }) => {
const { t } = useTranslation(['common'])
if (!pattern) return <p>Please specify a pattern prop when using the PatternDocs component</p>
const config = getConfig(pattern)
2022-12-24 22:52:19 +01:00
console.log({ pattern, config })
return (
<>
{config.deprecated && (
<Popout note>
2022-12-24 22:52:19 +01:00
<h5>{t('thingIsDeprecated', { thing: capitalize(pattern) })}</h5>
<p>{t('weRecommendThingInstead', { thing: capitalize(config.deprecated) })}</p>
2022-06-02 19:39:59 +02:00
<Design design={pattern} />
</Popout>
)}
2022-12-24 22:52:19 +01:00
<button className="btn btn-primary btn-large btn-contained" href={`/create/${pattern}`}>
{t('newThing', { thing: pattern })}
</button>
<p>{t(`patterns.${pattern}.description`)}</p>
2022-12-24 22:52:19 +01:00
<PatternMeasurements pattern={pattern} before={<h2>{t('common:requiredMeasurements')}</h2>} />
2022-12-24 22:52:19 +01:00
<PatternOptions pattern={pattern} before={<h2>{t('common:patternOptions')}</h2>} />
<h2>{t('common:patternInstructions')}</h2>
<ul className="links">
<li>
<DocsLink slug={`docs/patterns/${pattern}/needs`} />
</li>
<li>
<DocsLink slug={`docs/patterns/${pattern}/fabric`} />
</li>
<li>
<DocsLink slug={`docs/patterns/${pattern}/cutting`} />
</li>
<li>
<DocsLink slug={`docs/patterns/${pattern}/instructions`} />
</li>
</ul>
</>
)
}
export default PatternDocs