diff --git a/islands/Snow.tsx b/islands/Snow.tsx new file mode 100644 index 0000000..97efe75 --- /dev/null +++ b/islands/Snow.tsx @@ -0,0 +1,22 @@ +import { IS_BROWSER } from 'fresh/runtime' +import { useEffect } from 'preact/hooks' + +let getSnow: () => { clear: () => void } | undefined = () => undefined + +if (IS_BROWSER) { + const { LetItGo } = await import('jsr:@eastsun5566/let-it-go') + getSnow = () => + new LetItGo({ + radiusRange: [1, 2], + number: globalThis.innerWidth / 4, + }) +} + +export default function Snow() { + useEffect(() => { + const snow = getSnow() + return () => snow?.clear() + }, []) + + return null +}