Files
NotionNext/components/Fireworks.js
Vixcity 9530b6689a 点击烟花提炼出来,到public上面,再次缩减体积
未抽离到public的剩余特效

Todo: 星空雨特效,动态彩带特效,静态彩带特效
2024-05-10 02:00:37 +08:00

46 lines
1.0 KiB
JavaScript

/**
* https://codepen.io/juliangarnier/pen/gmOwJX
* custom by hexo-theme-yun @YunYouJun
*/
import { useEffect } from 'react'
// import anime from 'animejs'
import { siteConfig } from '@/lib/config'
import { loadExternalResource } from '@/lib/utils'
/**
* 鼠标点击烟花特效
* @returns
*/
const Fireworks = () => {
const fireworksColor = siteConfig('FIREWORKS_COLOR')
useEffect(() => {
// 异步加载
async function loadFireworks() {
loadExternalResource(
'https://cdn.bootcdn.net/ajax/libs/animejs/3.2.1/anime.min.js',
'js'
).then(() => {
loadExternalResource('/js/fireworks.js', 'js').then(() => {
if (window.anime && window.createFireworks) {
window.createFireworks({
config: { colors: fireworksColor },
anime: window.anime
})
}
})
})
}
loadFireworks()
return () => {
// 在组件卸载时清理资源(如果需要)
}
}, [])
return <></>
}
export default Fireworks