import { useEffect } from '@wordpress/element'
import confetti from 'canvas-confetti'
export const useConfetti = (config = {}, time = 0, ready = false) => {
useEffect(() => {
if (!ready) return
const secondsFromNow = Date.now() + time
const frame = () => {
confetti({
...config,
disableForReducedMotion: true,
zIndex: 100000,
})
if (Date.now() < secondsFromNow) {
// run every two frames
requestAnimationFrame(() => {
requestAnimationFrame(frame)
})
}
}
frame()
}, [config, time, ready])
}