From 3425671d9982e1646d8a3c31a3005b663135a64c Mon Sep 17 00:00:00 2001 From: msmhmorsi Date: Fri, 13 Dec 2024 17:05:10 +0800 Subject: [PATCH] added a download button --- bun.lockb | Bin 0 -> 191240 bytes package.json | 1 + src/app/page.tsx | 57 ++++++++++++++++++++++++++---- src/components/doodle-drawer.tsx | 48 +++++++++++++++---------- src/components/draggable-item.tsx | 7 ++-- 5 files changed, 85 insertions(+), 28 deletions(-) create mode 100755 bun.lockb diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..5b24a72f70e67d034fe6f31bb61187f4eb6c40a2 GIT binary patch literal 191240 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

wCYeaCxhk1$HJd+RG_?Qj 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 { if (!isDragging || !currentItem || !canvasRef.current) return - + const position = 'touches' in e ? e.touches[0] : e const rect = canvasRef.current.getBoundingClientRect() const x = position.clientX - rect.left - (currentItem as any).offsetX @@ -128,11 +130,47 @@ export default function DigitalLetterComposer() { return `https://yourdomain.com/gift/${uniqueId}` } + const exportAsImage = async () => { + if (canvasRef.current) { + // Get the export button element + const exportButton = document.querySelector('.export-button') + if (exportButton) { + // Hide the button + exportButton.classList.add('hidden') + } + + const canvas = await html2canvas(canvasRef.current, { + allowTaint: true, + useCORS: true, + foreignObjectRendering: true, + onclone: (clonedDoc) => { + // Force all SVGs to be rendered before capturing + const svgs = clonedDoc.getElementsByTagName('svg') + Array.from(svgs).forEach(svg => { + svg.setAttribute('width', svg.getBoundingClientRect().width.toString()) + svg.setAttribute('height', svg.getBoundingClientRect().height.toString()) + }) + } + }) + + // Show the button again + if (exportButton) { + exportButton.classList.remove('hidden') + } + + const image = canvas.toDataURL('image/png', 1.0) + const link = document.createElement('a') + link.href = image + link.download = `digital-letter-${Date.now()}.png` + link.click() + } + } + return (

-
- +
+ +
) } - diff --git a/src/components/doodle-drawer.tsx b/src/components/doodle-drawer.tsx index 87e7623..9ffe54d 100644 --- a/src/components/doodle-drawer.tsx +++ b/src/components/doodle-drawer.tsx @@ -91,23 +91,36 @@ export const DoodleDrawer: React.FC = ({ onClose, onDoodleAdd const svg = svgRef.current if (!svg) return - // Clone the SVG to remove event listeners and refs - const clonedSvg = svg.cloneNode(true) as SVGSVGElement - - // Calculate the viewBox based on the SVG's dimensions - const rect = svg.getBoundingClientRect() - clonedSvg.setAttribute('viewBox', `0 0 ${rect.width} ${rect.height}`) - clonedSvg.setAttribute('width', '100%') - clonedSvg.setAttribute('height', '100%') - clonedSvg.style.backgroundColor = 'transparent' - - // Convert to string - const svgData = new XMLSerializer().serializeToString(clonedSvg) - const svgBlob = new Blob([svgData], { type: 'image/svg+xml' }) - const svgUrl = URL.createObjectURL(svgBlob) - - onDoodleAdd(svgUrl) - onClose() + // Create a new SVG with the paths + const svgContent = ` + + ${paths.map(path => ``).join('')} + + ` + + // Convert SVG to base64 data URL + const blob = new Blob([svgContent], { type: 'image/svg+xml' }) + const reader = new FileReader() + reader.onload = () => { + if (typeof reader.result === 'string') { + // Convert SVG to PNG using canvas + const img = new Image() + img.onload = () => { + const canvas = document.createElement('canvas') + canvas.width = svg.clientWidth + canvas.height = svg.clientHeight + const ctx = canvas.getContext('2d') + if (ctx) { + ctx.drawImage(img, 0, 0) + const pngUrl = canvas.toDataURL('image/png') + onDoodleAdd(pngUrl) + onClose() + } + } + img.src = reader.result + } + } + reader.readAsDataURL(blob) } return ( @@ -206,4 +219,3 @@ export const DoodleDrawer: React.FC = ({ onClose, onDoodleAdd ) } - diff --git a/src/components/draggable-item.tsx b/src/components/draggable-item.tsx index 9167f8f..aaeb3b4 100644 --- a/src/components/draggable-item.tsx +++ b/src/components/draggable-item.tsx @@ -61,9 +61,9 @@ export const DraggableItem: React.FC = ({ return case 'doodle': return ( - ) @@ -108,4 +108,3 @@ export const DraggableItem: React.FC = ({ ) } -