remove dead export file
This commit is contained in:
parent
10fe19455d
commit
6b840d81dd
1 changed files with 0 additions and 113 deletions
|
@ -1,113 +0,0 @@
|
|||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import fileSaver from 'file-saver'
|
||||
import yaml from 'js-yaml'
|
||||
import axios from 'axios'
|
||||
import Popout from 'shared/components/popout'
|
||||
import WebLink from 'shared/components/web-link'
|
||||
import theme from '@freesewing/plugin-theme'
|
||||
|
||||
export const exports = {
|
||||
exportForPrinting: ['a4', 'a3', 'a2', 'a1', 'a0', 'letter', 'tabloid'],
|
||||
exportForEditing: ['svg', 'pdf'],
|
||||
exportAsData: ['json', 'yaml', 'github gist'],
|
||||
}
|
||||
|
||||
const handleExport = (format, gist, design, app, setLink, setFormat) => {
|
||||
setLink(false)
|
||||
setFormat(format)
|
||||
if (exports.exportAsData.indexOf(format) !== -1) {
|
||||
if (format === 'json') exportJson(gist)
|
||||
else if (format === 'yaml') exportYaml(gist)
|
||||
else if (format === 'github gist') exportGithubGist(gist, app, setLink)
|
||||
}
|
||||
else {
|
||||
gist.embed=false
|
||||
let svg = ''
|
||||
try {
|
||||
svg = new design(gist).use(theme).draft().render()
|
||||
} catch(err) {
|
||||
console.log(err)
|
||||
}
|
||||
if (format === 'svg') return exportSvg(gist, svg)
|
||||
app.startLoading()
|
||||
axios.post('https://tiler.freesewing.org/api', {
|
||||
svg,
|
||||
format: 'pdf',
|
||||
size: format === 'pdf' ? 'full' : format,
|
||||
url: 'https://freesewing.org',
|
||||
design: gist.design
|
||||
})
|
||||
.then(res => setLink(res.data.link))
|
||||
.catch(err => console.log(err))
|
||||
.finally(() => app.stopLoading())
|
||||
}
|
||||
}
|
||||
const exportJson = gist => {
|
||||
const blob = new Blob([JSON.stringify(gist, null, 2)], {
|
||||
type: 'application/json;charset=utf-8'
|
||||
})
|
||||
fileSaver.saveAs(blob, `freesewing-${gist.design || 'gist'}.json`)
|
||||
}
|
||||
const exportYaml = gist => {
|
||||
const blob = new Blob([yaml.dump(gist)], {
|
||||
type: 'application/x-yaml;charset=utf-8'
|
||||
})
|
||||
fileSaver.saveAs(blob, `freesewing-${gist.design || 'gist'}.yaml`)
|
||||
}
|
||||
const exportSvg = (gist, svg) => {
|
||||
const blob = new Blob([svg], {
|
||||
type: 'image/svg+xml;charset=utf-8'
|
||||
})
|
||||
fileSaver.saveAs(blob, `freesewing-${gist.design || 'pattern'}.svg`)
|
||||
}
|
||||
const exportGithubGist = (data, app, setLink) => {
|
||||
app.setLoading(true)
|
||||
axios.post('https://backend.freesewing.org/github/gist', {
|
||||
design: data.design,
|
||||
data: yaml.dump(data)
|
||||
})
|
||||
.then(res => setLink('https://gist.github.com/' + res.data.id))
|
||||
.catch(err => console.log(err))
|
||||
.finally(() => app.stopLoading())
|
||||
}
|
||||
|
||||
const ExportDraft = ({ gist, design, app }) => {
|
||||
|
||||
const [link, setLink] = useState(false)
|
||||
const [format, setFormat] = useState(false)
|
||||
|
||||
const { t } = useTranslation(['app'])
|
||||
|
||||
return (
|
||||
<div className="max-w-screen-xl m-auto">
|
||||
<h2>{t('export')}</h2>
|
||||
<p className="text-lg sm:text-xl">{t('exportPattern-txt')}</p>
|
||||
{link && (
|
||||
<Popout link compact>
|
||||
<span className="font-bold mr-4 uppercase text-sm">
|
||||
{format}:
|
||||
</span>
|
||||
<WebLink href={link} txt={link} />
|
||||
</Popout>
|
||||
)}
|
||||
<div className="flex flex-row flex-wrap gap-8">
|
||||
{Object.keys(exports).map(type => (
|
||||
<div key={type} className="flex flex-col gap-2 w-full sm:w-auto">
|
||||
<h4>{t(type)}</h4>
|
||||
{exports[type].map(format => (
|
||||
<button key={format}
|
||||
className="btn btn-primary"
|
||||
onClick={() => handleExport(format, gist, design, app, setLink, setFormat)}
|
||||
>
|
||||
{type === 'exportForPrinting' ? `${format} pdf` : format }
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default ExportDraft
|
Loading…
Add table
Add a link
Reference in a new issue