ATlast — you'll never need to find your favorites on another platform again. Find your favs in the ATmosphere.
atproto
1interface FireflyProps {
2 delay?: number;
3 duration?: number;
4}
5
6export default function Firefly({ delay = 0, duration = 3 }: FireflyProps) {
7 const style = {
8 animation: `float ${duration}s ease-in-out ${delay}s infinite`,
9 left: `${Math.random() * 100}%`,
10 top: `${Math.random() * 100}%`,
11 };
12
13 return (
14 <div
15 className="absolute w-1 h-1 bg-firefly-amber dark:bg-firefly-glow rounded-full opacity-40 pointer-events-none"
16 style={style}
17 aria-hidden="true"
18 >
19 <div className="absolute inset-0 bg-firefly-glow dark:bg-firefly-amber rounded-full animate-pulse blur-sm" />
20 </div>
21 );
22}