File "useConfetti.js"
Full path: /home/disqkgca/aqanet.org/wp-content/plugins/extendify/src/Launch/hooks/useConfetti.js
File size: 555 B
MIME-type: text/x-java
Charset: utf-8
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]);
};