'use client'; import Image from 'next/image'; import { useEffect, useRef, useState } from 'react'; import Link from 'next/link'; import { PremiumButton } from '@/components/ui/PremiumButton'; import { CursorSpotlight } from '@/components/ui/CursorSpotlight'; import { FEATURED_ROBOTS } from '@/data/robots'; const HERO_STATS = [ { value: 'UAE', label: 'Access' }, { value: 'Unitree + Pudu', label: 'Premier brands' }, { value: 'Dubai', label: 'Showroom & Demo' }, ]; type LabelPos = { text: string; delay: number; top?: string; bottom?: string; left?: string; right?: string; }; /* Labels keyed to active robot brand/category for accuracy */ function getLabelsFor(brand: string, category: string): LabelPos[] { const brandLabel = brand === 'unitree' ? 'Unitree Robotics' : brand === 'agibot' ? 'AgiBot' : 'Pudu Robotics'; const categoryLabel = category === 'humanoid' ? 'Humanoid Platform' : category === 'quadruped' ? 'Quadruped Patrol' : category === 'delivery' ? 'Delivery Automation' : category === 'service' ? 'Service Robotics' : category === 'cleaning' ? 'Cleaning Automation' : 'Advanced Robotics'; return [ { text: brandLabel, top: '11%', right: '4%', delay: 0.15 }, { text: categoryLabel, bottom: '32%', left: '4%', delay: 0.4 }, { text: 'Demo & Sales · Dubai', bottom: '11%', right: '6%', delay: 0.65 }, ]; } export function Hero3DRobotics() { const wrapRef = useRef(null); const [tilt, setTilt] = useState({ rx: 0, ry: 0 }); const [activeIdx, setActiveIdx] = useState(0); useEffect(() => { const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduce) return; const el = wrapRef.current; if (!el) return; const onMove = (e: MouseEvent) => { const rect = el.getBoundingClientRect(); const x = (e.clientX - rect.left) / rect.width - 0.5; const y = (e.clientY - rect.top) / rect.height - 0.5; setTilt({ rx: -y * 8, ry: x * 12 }); }; const onLeave = () => setTilt({ rx: 0, ry: 0 }); el.addEventListener('mousemove', onMove); el.addEventListener('mouseleave', onLeave); return () => { el.removeEventListener('mousemove', onMove); el.removeEventListener('mouseleave', onLeave); }; }, []); useEffect(() => { const t = setInterval(() => setActiveIdx((i) => (i + 1) % FEATURED_ROBOTS.length), 5600); return () => clearInterval(t); }, []); const robot = FEATURED_ROBOTS[activeIdx]; const labels = getLabelsFor(robot.brand, robot.category); return (
{/* Royal-blue beams */}
UAE Access · Dubai

Advanced robotics. UAE access.

YS Lootah Robotics is the UAE sales destination for selected Unitree and Pudu Robotics solutions helping businesses explore, configure, book demos, and deploy advanced robots across Dubai and the UAE.

In Tech We Innovate · In Trust We Lead

Explore robots Book a demo Configure your solution
{HERO_STATS.map((s) => (
{s.value} {s.label}
))}
{/* Outer blue glow */}
{/* Floor halo */}
{/* Grid floor */}
{/* Royal-blue stage spotlight behind robot */}
{/* Light beam from top */}
{/* Robot image main */} {FEATURED_ROBOTS.map((r, idx) => (
{`${r.brandLabel}
))} {/* Stronger drop-shadow ellipse under robot */}
{/* Floor reflection (mirror image, faded) */} {FEATURED_ROBOTS.map((r, idx) => (
))} {/* Floor line */}
{/* Edge glass glare silver/blue rim light */}
{/* Floating labels keyed to active robot + parallax */}
{labels.map((l, i) => { /* labels drift opposite to tilt for parallax depth */ const depth = (i + 1) * 0.6; const dx = tilt.ry * depth; const dy = tilt.rx * depth; return ( {l.text} ); })}
{/* Featured card + dot nav */}
Featured · {robot.brandLabel} {robot.name}
{FEATURED_ROBOTS.map((r, idx) => (
); }