import React, { useEffect, useRef } from 'react'; import { Mail, Lock, Check } from 'lucide-react'; import { animate, stagger, random } from 'animejs'; const Hero: React.FC = () => { const leftContentRef = useRef(null); const glow1Ref = useRef(null); const glow2Ref = useRef(null); const cardRef = useRef(null); const streakRef = useRef(null); useEffect(() => { if (leftContentRef.current) { // Staggered entry for left content animate(leftContentRef.current.children, { translateY: [20, 0], opacity: [0, 1], delay: stagger(150, { start: 300 }), easing: 'easeOutQuad', duration: 800 }); } if (cardRef.current) { // Elastic entry for the card animate(cardRef.current, { translateX: [100, 0], opacity: [0, 1], delay: 600, easing: 'outElastic(1, .8)' }); } if (streakRef.current) { // Bouncy entry for streak badge animate(streakRef.current, { scale: [0, 1], opacity: [0, 1], delay: 1000, easing: 'outElastic(1, .8)', }).then(() => { // Floating animation after entry animate(streakRef.current!, { translateY: [-10, 0], loop: true, direction: 'alternate', easing: 'inOutSine', duration: 2000 }); }); } if (glow1Ref.current) { // Ambient glow animation animate(glow1Ref.current, { translateX: () => random(-30, 30), translateY: () => random(-30, 30), scale: [1, 1.2], duration: 4000, easing: 'inOutQuad', loop: true, direction: 'alternate' }); } if (glow2Ref.current) { animate(glow2Ref.current, { translateX: () => random(-30, 30), translateY: () => random(-30, 30), scale: [1, 1.3], duration: 5000, easing: 'inOutQuad', loop: true, direction: 'alternate' }); } }, []); return (
{/* Left Content */}
New: AI Deck Generation

Stop Doomscrolling
Until You Study

Stop doom scrolling and start learning. Nemia blocks distracting apps until you complete your daily study goals using scientifically-backed spaced repetition.

{/* Right Visual (Mockups) */}
{/* Background Glows */}
{/* Main Focus Mode Card */}

Focus Mode

Focus Mode (Android)
22

Cards Due

(+3 tomorrow)

Korean Vocab

41 Cards total

18 Due

Russian Vocab

67 Cards total

0 Due
{/* Streak Badge (Floating) */}

Streak

14 Days

); }; export default Hero;