import { useEffect, useState } from 'react' import { useTranslation } from 'next-i18next' import Settings from './settings' import Draft from '../draft/index' import { pagesPlugin } from './plugin' import { handleExport, defaultPdfSettings, } from 'shared/components/workbench/exporting/export-handler' import Popout from 'shared/components/popout' const PrintLayout = (props) => { // disable xray useEffect(() => { if (props.gist?._state?.xray?.enabled) props.updateGist(['_state', 'xray', 'enabled'], false) }) const { t } = useTranslation(['workbench']) const [error, setError] = useState(false) const draft = props.draft // add the pages plugin to the draft const layoutSettings = { ...defaultPdfSettings, ...props.gist?._state?.layout?.forPrinting?.page, } draft.use(pagesPlugin(layoutSettings)) let patternProps try { // draft the pattern draft.draft() patternProps = draft.getRenderProps() } catch (err) { console.log(err, props.gist) } const bgProps = { fill: 'url(#page)' } const exportIt = () => { setError(false) handleExport( 'pdf', props.gist, props.design, t, props.app, () => setError(false), () => setError(true) ) } let name = props.design.designConfig.data.name name = name.replace('@freesewing/', '') return (

{t('layoutThing', { thing: name }) + ': ' + t('forPrinting')}

{error && ( {t('error')}: {t('somethingWentWrong')} )}
) } export default PrintLayout