Spaces:
Running
Running
import { useMount, useUpdateEffect } from "react-use"; | |
import { domToPng } from "modern-screenshot"; | |
import { BadgeType } from "@/types/badge"; | |
import { useState } from "react"; | |
export const Preview = ({ badge }: { badge: BadgeType }) => { | |
const [badgeUrl, setBadgeUrl] = useState(""); | |
useUpdateEffect(() => { | |
setTimeout(() => { | |
domToPng( | |
document.getElementById("discotools-selected-badge") as HTMLElement, | |
{ | |
scale: 2, | |
} | |
).then(async (dataUrl) => { | |
setBadgeUrl(dataUrl); | |
}); | |
}, 190); | |
}, [badge]); | |
useMount(() => { | |
setTimeout(() => { | |
domToPng( | |
document.getElementById("discotools-selected-badge") as HTMLElement, | |
{ | |
scale: 2, | |
} | |
).then(async (dataUrl) => { | |
setBadgeUrl(dataUrl); | |
}); | |
}, 100); | |
}); | |
return ( | |
<div>{badgeUrl && <img src={badgeUrl} className="h-[19.25px]" />}</div> | |
); | |
}; | |