From dd8207e6184ff72689724705fb472581daf89713 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Fri, 19 Jun 2026 04:46:49 +0000 Subject: [PATCH] Bob AI: Added full-screen hero section with mic drop animation --- src/pages/HomePage/sections/Hero.tsx | 141 +++++++++++++++++---------- 1 file changed, 91 insertions(+), 50 deletions(-) diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx index 1f86b25..2357b0f 100644 --- a/src/pages/HomePage/sections/Hero.tsx +++ b/src/pages/HomePage/sections/Hero.tsx @@ -5,6 +5,9 @@ import HeroBackgroundSlot from "@/components/ui/HeroBackgroundSlot"; import TextAnimation from "@/components/ui/TextAnimation"; import ImageOrVideo from "@/components/ui/ImageOrVideo"; import AvatarGroup from "@/components/ui/AvatarGroup"; +import { useState, useEffect } from "react"; +import { motion } from "motion/react"; +import { Mic } from "lucide-react"; const avatarsSrc = [ "http://img.b2bpic.net/free-photo/studio-portrait-elegant-black-american-male-dressed-suit-grey-vignette-background_613910-1540.jpg", @@ -41,61 +44,99 @@ type HeroCenteredLogosProps = { } & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never }); const HeroInline = () => { + const [stage, setStage] = useState<'dropping' | 'hit' | 'revealed'>('dropping'); + + useEffect(() => { + const hitTimer = setTimeout(() => setStage('hit'), 800); + const revealTimer = setTimeout(() => setStage('revealed'), 1100); + return () => { + clearTimeout(hitTimer); + clearTimeout(revealTimer); + }; + }, []); + return ( -
+ - {!undefined && ( -
- -
-
- )} - -
-
- - - - - - - - -
-
-
+ {/* Background Effects */} +
+
+
+
-
-
- {[...names, ...names, ...names, ...names].map((name, index) => ( -
- {name} -
- ))} -
+ {/* Mic Drop Container */} +
+ + + + + {/* Sound Waves */} + {stage !== 'dropping' && ( + <> + + + + + )}
-
+ + {/* Content Reveal */} + +

+ YungHondo +

+

+ Built Different. +

+ +
+
+
+ ); }; -- 2.49.1