1
0
Fork 0
freesewing/sites/shared/components/pattern/preview.mjs

20 lines
604 B
JavaScript
Raw Normal View History

2023-05-30 19:25:22 +02:00
import { useDesign } from 'shared/hooks/use-design.mjs'
import { Popout } from 'shared/components/popout/index.mjs'
2023-05-30 19:25:22 +02:00
import { themePlugin } from '@freesewing/plugin-theme'
export const PatternPreview = ({ design, settings }) => {
const Pattern = useDesign(design)
if (!Pattern) return <Popout warning>not a valid pattern constructor for {design}</Popout>
let pattern, svg
try {
pattern = new Pattern({ ...settings, embed: true }).use(themePlugin).draft()
svg = pattern.render()
} catch (err) {
console.log(err)
}
return <figure dangerouslySetInnerHTML={{ __html: svg }} />
2023-05-30 19:25:22 +02:00
}