import React from 'react'
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'
import Design from 'site/components/design.js'
import PatternOptions from './pattern-options'
import PatternMeasurements from './pattern-measurements'
import DocsLink from 'shared/components/docs-link'

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)
  console.log({ pattern, config })

  return (
    <>
      {config.deprecated && (
        <Popout note>
          <h5>{t('thingIsDeprecated', { thing: capitalize(pattern) })}</h5>
          <p>{t('weRecommendThingInstead', { thing: capitalize(config.deprecated) })}</p>
          <Design design={pattern} />
        </Popout>
      )}

      <button className="btn btn-primary btn-large btn-contained" href={`/create/${pattern}`}>
        {t('newThing', { thing: pattern })}
      </button>
      <p>{t(`patterns.${pattern}.description`)}</p>

      <PatternMeasurements pattern={pattern} before={<h2>{t('common:requiredMeasurements')}</h2>} />

      <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