"use client"; // AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this // file as the canonical source for the "hero" section. import React, { useState, useEffect } from 'react'; import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand'; import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; import Button from "@/components/ui/Button"; const IMAGES = [ "http://img.b2bpic.net/free-photo/group-friends-planning-trip-cafe_23-2148952344.jpg", "https://images.unsplash.com/photo-1522071820075-bc879564763a?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", "https://images.unsplash.com/photo-1552664730-d307ca8849d1?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", "https://images.unsplash.com/photo-1517245381810-b23468734b09?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", ]; export default function HeroSection(): React.JSX.Element { const [currentImageIndex, setCurrentImageIndex] = useState(0); const [progress, setProgress] = useState(0); useEffect(() => { const duration = 5000; // 5 seconds per image const interval = 50; // update progress every 50ms const step = (interval / duration) * 100; const timer = setInterval(() => { setProgress((prev) => { if (prev >= 100) { setCurrentImageIndex((prevIndex) => (prevIndex + 1) % IMAGES.length); return 0; } return prev + step; }); }, interval); return () => clearInterval(timer); }, []); return (
Your Vision, Amplified. We craft data-driven strategies and compelling narratives to elevate your brand and drive measurable results. Let's grow together.