diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..ad39378 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,7 @@ +{ + "permissions": { + "allow": [ + "Bash(npx next *)" + ] + } +} diff --git a/package.json b/package.json index 29a4660..9cc68e6 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev --webpack", "build": "next build", "start": "next start", "lint": "next lint", diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 7de0385..c5c6ed7 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -9,7 +9,7 @@ import { CompanyStory } from '@/components/robotics/CompanyStory'; import { FounderSection } from '@/components/robotics/FounderSection'; export const metadata: Metadata = { - title: 'About YS Lootah Robotics Exclusive UAE Access to Unitree & Pudu', + title: 'About YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics', description: 'YS Lootah Robotics is part of the Yousuf Saeed Lootah Investment Group a trusted UAE robotics partner delivering AI, automation, and intelligent robotics across Dubai and the UAE.', }; diff --git a/src/app/book-demo/page.tsx b/src/app/book-demo/page.tsx index 5a10c37..2473566 100644 --- a/src/app/book-demo/page.tsx +++ b/src/app/book-demo/page.tsx @@ -6,7 +6,7 @@ import { InquiryForm } from '@/components/robotics/InquiryForm'; export const metadata: Metadata = { title: 'Book a Robotics Demo in Dubai YS Lootah Robotics', description: - 'Book a live robot demo at our Dubai showroom or at your venue. See selected Unitree and Pudu Robotics solutions in action available exclusively in the UAE through YS Lootah Robotics.', + 'Book a live robot demo at our Dubai showroom or at your venue. See selected Unitree and Pudu Robotics solutions in action, available in the UAE through YS Lootah Robotics.', }; export default function BookDemoPage() { diff --git a/src/app/brands/page.tsx b/src/app/brands/page.tsx index 6dac3ee..98afddf 100644 --- a/src/app/brands/page.tsx +++ b/src/app/brands/page.tsx @@ -7,9 +7,9 @@ import { MotionSection } from '@/components/ui/MotionSection'; import { DemoCTA } from '@/components/robotics/DemoCTA'; export const metadata: Metadata = { - title: 'Robotics Brands Unitree & Pudu | Exclusive UAE Access via YS Lootah Robotics', + title: 'Robotics Brands Unitree & Pudu | UAE Access via YS Lootah Robotics', description: - 'Selected Unitree and Pudu Robotics solutions available exclusively in the UAE through YS Lootah Robotics. Humanoid, quadruped, service, delivery, and cleaning robots.', + 'Selected Unitree and Pudu Robotics solutions available in the UAE through YS Lootah Robotics. Humanoid, quadruped, service, delivery, and cleaning robots.', }; const ORDER: RobotBrand[] = ['unitree', 'pudu']; @@ -22,17 +22,17 @@ export default function BrandsPage() {
- Exclusive UAE Access · Dubai + UAE Access · Dubai

- Selected Unitree and Pudu solutions exclusively in the UAE. + Selected Unitree and Pudu solutions in the UAE.

- YS Lootah Robotics holds exclusive UAE sales rights for selected Unitree and Pudu Robotics solutions with on-the-ground sales, demo, and deployment support across Dubai and the UAE. + YS Lootah Robotics holds UAE sales rights for selected Unitree and Pudu Robotics solutions with on-the-ground sales, demo, and deployment support across Dubai and the UAE.

- Brand names and product trademarks are property of their respective owners. Available exclusively in the UAE through YS Lootah Robotics. + Brand names and product trademarks are property of their respective owners. Available in the UAE through YS Lootah Robotics.

diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index d0be7bb..877d831 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -6,7 +6,7 @@ import { InquiryForm } from '@/components/robotics/InquiryForm'; export const metadata: Metadata = { title: 'Contact YS Lootah Robotics Dubai Robotics Sales & Demo Inquiries', description: - 'Dubai robotics sales, support, and demo inquiries. Contact YS Lootah Robotics the exclusive UAE destination for selected Unitree and Pudu Robotics solutions by phone, email, or WhatsApp.', + 'Dubai robotics sales, support, and demo inquiries. Contact YS Lootah Robotics, the UAE destination for selected Unitree and Pudu Robotics solutions, by phone, email, or WhatsApp.', }; export default function ContactPage() { diff --git a/src/app/industries/[slug]/page.tsx b/src/app/industries/[slug]/page.tsx index b0e2c5c..0463503 100644 --- a/src/app/industries/[slug]/page.tsx +++ b/src/app/industries/[slug]/page.tsx @@ -1,22 +1,20 @@ import type { Metadata } from 'next'; import Link from 'next/link'; import { notFound } from 'next/navigation'; -import { - Bot, - Truck, - Sparkles, - CircleUserRound, - Cog, - Compass, - Cpu, - ScanLine, - Search, - Layers, - Bell, - UtensilsCrossed, - ChevronRight, - ArrowRight, -} from 'lucide-react'; +import Bot from 'lucide-react/dist/esm/icons/bot'; +import Truck from 'lucide-react/dist/esm/icons/truck'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; +import CircleUserRound from 'lucide-react/dist/esm/icons/circle-user-round'; +import Cog from 'lucide-react/dist/esm/icons/cog'; +import Compass from 'lucide-react/dist/esm/icons/compass'; +import Cpu from 'lucide-react/dist/esm/icons/cpu'; +import ScanLine from 'lucide-react/dist/esm/icons/scan-line'; +import Search from 'lucide-react/dist/esm/icons/search'; +import Layers from 'lucide-react/dist/esm/icons/layers'; +import Bell from 'lucide-react/dist/esm/icons/bell'; +import UtensilsCrossed from 'lucide-react/dist/esm/icons/utensils-crossed'; +import ChevronRight from 'lucide-react/dist/esm/icons/chevron-right'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; import { Navbar } from '@/components/Navbar'; import { FooterAndContact } from '@/components/FooterAndContact'; import { MotionSection } from '@/components/ui/MotionSection'; @@ -269,7 +267,6 @@ export default async function IndustryDetailPage({ params }: { params: Promise

- {/* eslint-disable react/no-unknown-property */} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 221d8cc..60a82db 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -6,16 +6,16 @@ import "./globals.css"; export const metadata: Metadata = { metadataBase: new URL('https://yslootahrobotics.com'), title: { - default: 'YS Lootah Robotics Exclusive UAE Access to Unitree & Pudu Robotics', + default: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics', template: '%s | YS Lootah Robotics', }, description: - 'YS Lootah Robotics is the exclusive UAE sales destination for selected Unitree and Pudu Robotics solutions. Explore, configure, book demos, and deploy advanced robots across Dubai and the UAE.', + 'YS Lootah Robotics is the UAE sales destination for selected Unitree and Pudu Robotics solutions. Explore, configure, book demos, and deploy advanced robots across Dubai and the UAE.', keywords: [ 'YS Lootah Robotics', 'robotics Dubai', 'robotics UAE', - 'exclusive robotics UAE', + 'robotics UAE destination', 'Unitree robots UAE', 'Pudu Robotics UAE', 'humanoid robots Dubai', @@ -28,15 +28,15 @@ export const metadata: Metadata = { ], openGraph: { type: 'website', - title: 'YS Lootah Robotics Exclusive UAE Access to Unitree & Pudu Robotics', + title: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics', description: - 'Advanced robotics. Exclusive UAE access. Selected Unitree and Pudu solutions available through YS Lootah Robotics in Dubai.', + 'Advanced robotics. UAE access. Selected Unitree and Pudu solutions available through YS Lootah Robotics in Dubai.', locale: 'en_AE', siteName: 'YS Lootah Robotics', }, twitter: { card: 'summary_large_image', - title: 'YS Lootah Robotics Exclusive UAE Access to Unitree & Pudu Robotics', + title: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics', description: 'The UAE’s dedicated destination for Unitree and Pudu Robotics sales, demo inquiries, and business deployment.', }, diff --git a/src/app/page.tsx b/src/app/page.tsx index d50addd..b5d97ae 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -18,14 +18,14 @@ import { MotionSection } from '@/components/ui/MotionSection'; import { FEATURED_ROBOTS } from '@/data/robots'; export const metadata: Metadata = { - title: 'YS Lootah Robotics Exclusive UAE Access to Unitree & Pudu Robotics', + title: 'YS Lootah Robotics UAE Destination for Unitree & Pudu Robotics', description: - 'YS Lootah Robotics is the exclusive UAE sales destination for selected Unitree and Pudu Robotics solutions. Explore, configure, book demos, and deploy advanced robots across Dubai and the UAE.', + 'YS Lootah Robotics is the UAE sales destination for selected Unitree and Pudu Robotics solutions. Explore, configure, book demos, and deploy advanced robots across Dubai and the UAE.', keywords: [ 'YS Lootah Robotics', 'robotics Dubai', 'robotics UAE', - 'exclusive robotics UAE', + 'robotics UAE destination', 'Unitree robots UAE', 'Pudu Robotics UAE', 'humanoid robots Dubai', @@ -63,8 +63,8 @@ export default function HomePage() {

@@ -75,7 +75,7 @@ export default function HomePage() {
diff --git a/src/app/robots/page.tsx b/src/app/robots/page.tsx index aa41b44..2cb5203 100644 --- a/src/app/robots/page.tsx +++ b/src/app/robots/page.tsx @@ -8,7 +8,7 @@ import { ROBOTS } from '@/data/robots'; export const metadata: Metadata = { title: 'Robots Catalog YS Lootah Robotics Dubai', description: - 'Explore selected humanoid, quadruped, service, delivery, hospitality, and cleaning robots from Unitree and Pudu available exclusively in the UAE through YS Lootah Robotics.', + 'Explore selected humanoid, quadruped, service, delivery, hospitality, and cleaning robots from Unitree and Pudu available in the UAE through YS Lootah Robotics.', }; export default function RobotsPage() { diff --git a/src/app/terms-of-service/page.tsx b/src/app/terms-of-service/page.tsx index 03a986a..7aaf3b0 100644 --- a/src/app/terms-of-service/page.tsx +++ b/src/app/terms-of-service/page.tsx @@ -28,7 +28,7 @@ export default function TermsOfServicePage() {

3. Intellectual Property Rights

- All original content on this website, including but not limited to text, graphics, 3D models (GLB files), logos, and software, is the exclusive property of YS Lootah Robotics and is protected by United Arab Emirates and international copyright laws. + All original content on this website, including but not limited to text, graphics, 3D models (GLB files), logos, and software, is the property of YS Lootah Robotics and is protected by United Arab Emirates and international copyright laws.

diff --git a/src/components/FooterAndContact.tsx b/src/components/FooterAndContact.tsx index b563db3..f7bcec2 100644 --- a/src/components/FooterAndContact.tsx +++ b/src/components/FooterAndContact.tsx @@ -2,7 +2,11 @@ import Link from 'next/link'; import Image from 'next/image'; -import { Phone, Mail, MapPin, MessageCircle, ArrowUpRight } from 'lucide-react'; +import Phone from 'lucide-react/dist/esm/icons/phone'; +import Mail from 'lucide-react/dist/esm/icons/mail'; +import MapPin from 'lucide-react/dist/esm/icons/map-pin'; +import MessageCircle from 'lucide-react/dist/esm/icons/message-circle'; +import ArrowUpRight from 'lucide-react/dist/esm/icons/arrow-up-right'; import { BRANDS } from '@/data/robots'; import { CTAButton } from '@/components/ui/CTAButton'; diff --git a/src/components/robotics/BentoGrid.tsx b/src/components/robotics/BentoGrid.tsx index e8ffcd5..b4a81ba 100644 --- a/src/components/robotics/BentoGrid.tsx +++ b/src/components/robotics/BentoGrid.tsx @@ -67,7 +67,7 @@ export function BentoGrid() { - Exclusive UAE access + UAE access · Unitree & Pudu

Unitree · Pudu one Dubai team.

diff --git a/src/components/robotics/BrandShowcase.tsx b/src/components/robotics/BrandShowcase.tsx index c92e63b..2fade54 100644 --- a/src/components/robotics/BrandShowcase.tsx +++ b/src/components/robotics/BrandShowcase.tsx @@ -2,7 +2,7 @@ import Image from 'next/image'; import Link from 'next/link'; -import { ArrowRight } from 'lucide-react'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; import { BRANDS, ROBOTS, type RobotBrand } from '@/data/robots'; type BrandVisual = { @@ -15,14 +15,14 @@ type BrandVisual = { const BRAND_VISUALS: Record = { unitree: { description: - 'Quadruped and humanoid robotics platforms available exclusively in the UAE through YS Lootah Robotics.', + 'Quadruped and humanoid robotics platforms available in the UAE through YS Lootah Robotics.', chips: ['Quadruped', 'Humanoid', 'Inspection', 'Research'], primary: { src: '/images/robots/unitree-g1.png', alt: 'Unitree G1 humanoid robot' }, secondary: { src: '/images/robots/unitree-go2.png', alt: 'Unitree Go2 quadruped robot' }, }, pudu: { description: - 'Service, delivery, cleaning, and hospitality robotics available exclusively in the UAE through YS Lootah Robotics.', + 'Service, delivery, cleaning, and hospitality robotics available in the UAE through YS Lootah Robotics.', chips: ['Service', 'Delivery', 'Cleaning', 'Hospitality'], primary: { src: '/images/robots/pudu-bellabot.png', alt: 'Pudu BellaBot multi-tray delivery robot' }, secondary: { src: '/images/robots/pudu-kettybot.png', alt: 'Pudu KettyBot Pro service robot with built-in advertising display' }, @@ -149,7 +149,7 @@ function BrandCard({ fontWeight: 700, }} > - Available exclusively in UAE + Available in the UAE - UAE Exclusive + UAE Access diff --git a/src/components/robotics/CategoryShowcaseScroll.tsx b/src/components/robotics/CategoryShowcaseScroll.tsx index 8845db3..85e1da1 100644 --- a/src/components/robotics/CategoryShowcaseScroll.tsx +++ b/src/components/robotics/CategoryShowcaseScroll.tsx @@ -1,7 +1,15 @@ 'use client'; import { motion } from 'framer-motion'; -import { ArrowUpRight, Bot, Footprints, Coffee, Truck, Sparkles, Hotel, Search, Factory } from 'lucide-react'; +import ArrowUpRight from 'lucide-react/dist/esm/icons/arrow-up-right'; +import Bot from 'lucide-react/dist/esm/icons/bot'; +import Footprints from 'lucide-react/dist/esm/icons/footprints'; +import Coffee from 'lucide-react/dist/esm/icons/coffee'; +import Truck from 'lucide-react/dist/esm/icons/truck'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; +import Hotel from 'lucide-react/dist/esm/icons/hotel'; +import Search from 'lucide-react/dist/esm/icons/search'; +import Factory from 'lucide-react/dist/esm/icons/factory'; import type { LucideIcon } from 'lucide-react'; import Link from 'next/link'; diff --git a/src/components/robotics/CompanyStory.tsx b/src/components/robotics/CompanyStory.tsx index cf7edcc..b3de054 100644 --- a/src/components/robotics/CompanyStory.tsx +++ b/src/components/robotics/CompanyStory.tsx @@ -1,6 +1,11 @@ 'use client'; -import { Brain, Bot, Workflow, GraduationCap, Building2, BadgeCheck } from 'lucide-react'; +import Brain from 'lucide-react/dist/esm/icons/brain'; +import Bot from 'lucide-react/dist/esm/icons/bot'; +import Workflow from 'lucide-react/dist/esm/icons/workflow'; +import GraduationCap from 'lucide-react/dist/esm/icons/graduation-cap'; +import Building2 from 'lucide-react/dist/esm/icons/building-2'; +import BadgeCheck from 'lucide-react/dist/esm/icons/badge-check'; import type { LucideIcon } from 'lucide-react'; type Pillar = { diff --git a/src/components/robotics/ConfigureCTA.tsx b/src/components/robotics/ConfigureCTA.tsx index c9d1c45..e69cbb0 100644 --- a/src/components/robotics/ConfigureCTA.tsx +++ b/src/components/robotics/ConfigureCTA.tsx @@ -1,7 +1,7 @@ 'use client'; import { motion } from 'framer-motion'; -import { Sparkles } from 'lucide-react'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; import { CTAButton } from '@/components/ui/CTAButton'; const ease = [0.16, 1, 0.3, 1] as const; diff --git a/src/components/robotics/DemoCTA.tsx b/src/components/robotics/DemoCTA.tsx index 155b44f..087dbae 100644 --- a/src/components/robotics/DemoCTA.tsx +++ b/src/components/robotics/DemoCTA.tsx @@ -1,7 +1,10 @@ 'use client'; import { motion } from 'framer-motion'; -import { MapPin, FileText, Clock, Sparkles } from 'lucide-react'; +import MapPin from 'lucide-react/dist/esm/icons/map-pin'; +import FileText from 'lucide-react/dist/esm/icons/file-text'; +import Clock from 'lucide-react/dist/esm/icons/clock'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; import { CTAButton } from '@/components/ui/CTAButton'; const ease = [0.16, 1, 0.3, 1] as const; diff --git a/src/components/robotics/ExclusiveAccessSection.tsx b/src/components/robotics/ExclusiveAccessSection.tsx index 5151c00..419ecba 100644 --- a/src/components/robotics/ExclusiveAccessSection.tsx +++ b/src/components/robotics/ExclusiveAccessSection.tsx @@ -56,7 +56,7 @@ export function ExclusiveAccessSection() { }} > - Exclusive UAE Access + UAE Robotics Access

@@ -71,7 +71,7 @@ export function ExclusiveAccessSection() {
    {[ - 'Exclusive UAE sales territory.', + 'UAE sales territory.', 'Local Dubai sales, demo, and deployment team.', 'Humanoid, quadruped, service, delivery, cleaning robots.', 'End-to-end procurement, training, and ongoing support.', @@ -86,7 +86,7 @@ export function ExclusiveAccessSection() {
- Explore exclusive robots + Explore robots Request UAE quotation
@@ -345,7 +345,7 @@ function TerritoryTile() { - Exclusive sales rights selected Unitree & Pudu solutions. + UAE sales rights · Unitree & Pudu solutions. ); diff --git a/src/components/robotics/FeaturedRobotsShowcase.tsx b/src/components/robotics/FeaturedRobotsShowcase.tsx index db2fcdb..4823157 100644 --- a/src/components/robotics/FeaturedRobotsShowcase.tsx +++ b/src/components/robotics/FeaturedRobotsShowcase.tsx @@ -3,7 +3,10 @@ import { useState, useCallback, useRef, useEffect } from 'react'; import Image from 'next/image'; import { motion, AnimatePresence } from 'framer-motion'; -import { ArrowUpRight, Sparkles, Cpu, Globe2 } from 'lucide-react'; +import ArrowUpRight from 'lucide-react/dist/esm/icons/arrow-up-right'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; +import Cpu from 'lucide-react/dist/esm/icons/cpu'; +import Globe2 from 'lucide-react/dist/esm/icons/globe-2'; import type { Robot } from '@/data/robots'; import { CTAButton } from '@/components/ui/CTAButton'; diff --git a/src/components/robotics/FloatingTechPanel.tsx b/src/components/robotics/FloatingTechPanel.tsx index 142ecbc..b8b7247 100644 --- a/src/components/robotics/FloatingTechPanel.tsx +++ b/src/components/robotics/FloatingTechPanel.tsx @@ -3,7 +3,7 @@ type Stat = { label: string; value: string; sub?: string }; const STATS: Stat[] = [ - { label: 'Exclusive territory', value: 'UAE', sub: 'YS Lootah Robotics sales rights' }, + { label: 'Sales territory', value: 'UAE', sub: 'YS Lootah Robotics' }, { label: 'Premier brands', value: '2', sub: 'Unitree · Pudu Robotics' }, { label: 'Robot models', value: '11+', sub: 'Humanoid, quadruped, service, delivery' }, { label: 'Based in', value: 'Dubai', sub: 'Showroom · demo · deployment' }, diff --git a/src/components/robotics/Hero3DRobotics.tsx b/src/components/robotics/Hero3DRobotics.tsx index a75b614..6a4a8a5 100644 --- a/src/components/robotics/Hero3DRobotics.tsx +++ b/src/components/robotics/Hero3DRobotics.tsx @@ -8,7 +8,7 @@ import { CursorSpotlight } from '@/components/ui/CursorSpotlight'; import { FEATURED_ROBOTS } from '@/data/robots'; const HERO_STATS = [ - { value: 'Exclusive', label: 'UAE Access' }, + { value: 'UAE', label: 'Access' }, { value: 'Unitree + Pudu', label: 'Premier brands' }, { value: 'Dubai', label: 'Showroom & Demo' }, ]; @@ -123,7 +123,7 @@ export function Hero3DRobotics() { }} > - Exclusive UAE Access · Dubai + UAE Access · Dubai

- Exclusive UAE access. + UAE access.

- YS Lootah Robotics is the exclusive 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. + 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 exclusive robots + Explore robots Book a demo Configure your solution
diff --git a/src/components/robotics/IndustryUseCases.tsx b/src/components/robotics/IndustryUseCases.tsx index 15ed244..cdcbc47 100644 --- a/src/components/robotics/IndustryUseCases.tsx +++ b/src/components/robotics/IndustryUseCases.tsx @@ -2,19 +2,17 @@ import { motion } from 'framer-motion'; import Link from 'next/link'; -import { - Building2, - Utensils, - Hotel, - ShoppingBag, - HeartPulse, - GraduationCap, - Shield, - Warehouse, - Sparkles, - Landmark, - ArrowRight, -} from 'lucide-react'; +import Building2 from 'lucide-react/dist/esm/icons/building-2'; +import Utensils from 'lucide-react/dist/esm/icons/utensils'; +import Hotel from 'lucide-react/dist/esm/icons/hotel'; +import ShoppingBag from 'lucide-react/dist/esm/icons/shopping-bag'; +import HeartPulse from 'lucide-react/dist/esm/icons/heart-pulse'; +import GraduationCap from 'lucide-react/dist/esm/icons/graduation-cap'; +import Shield from 'lucide-react/dist/esm/icons/shield'; +import Warehouse from 'lucide-react/dist/esm/icons/warehouse'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; +import Landmark from 'lucide-react/dist/esm/icons/landmark'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; import type { LucideIcon } from 'lucide-react'; import { INDUSTRIES, type Industry } from '@/data/industries'; @@ -90,25 +88,26 @@ export function IndustryUseCases({ limit }: { limit?: number }) { gap: clamp(1.5rem, 3vw, 2.25rem); } - /* STATS — compact premium chips */ + /* STATS — always single row */ .iu-stats { list-style: none; - margin: 0; + margin: 0 0 clamp(0.5rem, 1.5vw, 1rem); padding: 0; - display: grid; - grid-template-columns: minmax(0, 1fr); - gap: 0.55rem; - margin-bottom: clamp(0.5rem, 1.5vw, 1rem); + display: flex; + flex-direction: row; + flex-wrap: nowrap; + gap: 0.45rem; } .iu-stat { position: relative; display: flex; flex-direction: column; justify-content: center; - gap: 0.35rem; - padding: clamp(0.7rem, 1.4vw, 0.95rem) clamp(0.85rem, 1.6vw, 1.1rem); - min-height: 84px; - border-radius: 18px; + gap: 0.22rem; + flex: 1; + min-width: 0; + padding: 0.6rem 0.55rem; + border-radius: 14px; border: 1px solid rgba(120, 140, 255, 0.22); background: linear-gradient(135deg, rgba(80, 110, 255, 0.12), rgba(255, 255, 255, 0.03)); @@ -119,8 +118,8 @@ export function IndustryUseCases({ limit }: { limit?: number }) { content: ''; position: absolute; top: 0; - right: 14px; - width: 28px; + right: 10px; + width: 20px; height: 1px; background: linear-gradient(90deg, transparent, rgba(180, 195, 255, 0.55)); } @@ -140,10 +139,13 @@ export function IndustryUseCases({ limit }: { limit?: number }) { } .iu-stat:hover::after { opacity: 1; } .iu-stat-value { - font-size: clamp(1.4rem, 2.4vw, 1.85rem); + font-size: clamp(1rem, 3.4vw, 1.85rem); font-weight: 500; letter-spacing: -0.025em; line-height: 1; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; background: linear-gradient(180deg, #FFFFFF, #B5BDDB); -webkit-background-clip: text; background-clip: text; @@ -152,14 +154,25 @@ export function IndustryUseCases({ limit }: { limit?: number }) { z-index: 1; } .iu-stat-label { - font-size: 0.66rem; - letter-spacing: 0.22em; + font-size: clamp(0.52rem, 1.15vw, 0.66rem); + letter-spacing: clamp(0.06em, 0.4vw, 0.22em); text-transform: uppercase; font-weight: 700; color: #A6B2D8; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; position: relative; z-index: 1; } + @media (min-width: 520px) { + .iu-stats { gap: 0.6rem; } + .iu-stat { padding: 0.72rem 0.85rem; gap: 0.28rem; border-radius: 16px; } + } + @media (min-width: 820px) { + .iu-stats { gap: 0.7rem; } + .iu-stat { padding: clamp(0.7rem, 1.4vw, 0.95rem) clamp(0.85rem, 1.6vw, 1.1rem); border-radius: 18px; gap: 0.35rem; } + } /* GRID */ .iu-grid { @@ -169,12 +182,8 @@ export function IndustryUseCases({ limit }: { limit?: number }) { } @media (min-width: 520px) { - .iu-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; } .iu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; } } - @media (min-width: 820px) { - .iu-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; } - } @media (min-width: 1000px) { .iu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; } } diff --git a/src/components/robotics/MarqueeStrip.tsx b/src/components/robotics/MarqueeStrip.tsx index 00a6b95..288aa0e 100644 --- a/src/components/robotics/MarqueeStrip.tsx +++ b/src/components/robotics/MarqueeStrip.tsx @@ -9,7 +9,7 @@ type Item = { }; const DEFAULT_ITEMS: Item[] = [ - { label: 'Exclusive UAE Access', sub: 'YS Lootah Robotics', accent: '#DEE0F0' }, + { label: 'UAE Access', sub: 'YS Lootah Robotics', accent: '#DEE0F0' }, { label: 'Unitree', sub: 'Quadruped · Humanoid', accent: '#273F94' }, { label: 'Pudu Robotics', sub: 'Service · Delivery · Cleaning', accent: '#8891C7' }, { label: 'Dubai · UAE', sub: 'Sales · Demo · Configure', accent: '#DEE0F0' }, diff --git a/src/components/robotics/WhyUs.tsx b/src/components/robotics/WhyUs.tsx index 081f282..5cda0d9 100644 --- a/src/components/robotics/WhyUs.tsx +++ b/src/components/robotics/WhyUs.tsx @@ -2,8 +2,8 @@ const REASONS = [ { - title: 'Exclusive UAE portfolio', - body: 'Selected Unitree and Pudu Robotics solutions available exclusively in the UAE through YS Lootah Robotics for hospitality, security, education, and industry.', + title: 'UAE robotics portfolio', + body: 'Selected Unitree and Pudu Robotics solutions available in the UAE through YS Lootah Robotics for hospitality, security, education, and industry.', accent: '#DEE0F0', icon: 'M3 3h7v7H3V3Zm0 11h7v7H3v-7Zm11-11h7v7h-7V3Zm0 11h7v7h-7v-7Z', }, diff --git a/src/components/sections/robotics-scroll-showcase.tsx b/src/components/sections/robotics-scroll-showcase.tsx index 07cdb82..d67a059 100644 --- a/src/components/sections/robotics-scroll-showcase.tsx +++ b/src/components/sections/robotics-scroll-showcase.tsx @@ -2,7 +2,13 @@ import Image from 'next/image'; import Link from 'next/link'; -import { ArrowRight, BadgeCheck, Cpu, MapPin, Sparkles, Bot, Truck } from 'lucide-react'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; +import BadgeCheck from 'lucide-react/dist/esm/icons/badge-check'; +import Cpu from 'lucide-react/dist/esm/icons/cpu'; +import MapPin from 'lucide-react/dist/esm/icons/map-pin'; +import Sparkles from 'lucide-react/dist/esm/icons/sparkles'; +import Bot from 'lucide-react/dist/esm/icons/bot'; +import Truck from 'lucide-react/dist/esm/icons/truck'; import { ContainerScroll } from '@/components/ui/container-scroll-animation'; const SHOWROOM_ROBOTS = [ @@ -54,12 +60,12 @@ export function RoboticsScrollShowcase() { className="inline-flex items-center gap-2 rounded-full border border-[#DEE0F0]/30 bg-[#273F94]/15 px-4 py-1.5 text-[10px] font-semibold uppercase tracking-[0.32em] text-[#DEE0F0]" > - Exclusive UAE Robotics Showroom + UAE Robotics Showroom

Advanced robotics. - Exclusive UAE access. + UAE access. Built for Dubai's next generation of automation. @@ -109,7 +115,7 @@ function ConsoleInterior() {
{/* top breadcrumb */}
- Robots · Exclusive UAE Portfolio + Robots · UAE Portfolio 11 Models · 2 Brands · Dubai
diff --git a/src/components/sections/robotics-spline-showcase.tsx b/src/components/sections/robotics-spline-showcase.tsx index 52c4e90..24c28e4 100644 --- a/src/components/sections/robotics-spline-showcase.tsx +++ b/src/components/sections/robotics-spline-showcase.tsx @@ -3,7 +3,10 @@ import { SplineScene } from '@/components/ui/spline-scene'; import { Card } from '@/components/ui/card'; import { Spotlight } from '@/components/ui/spotlight'; -import { ArrowRight, BadgeCheck, Cpu, MapPin } from 'lucide-react'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; +import BadgeCheck from 'lucide-react/dist/esm/icons/badge-check'; +import Cpu from 'lucide-react/dist/esm/icons/cpu'; +import MapPin from 'lucide-react/dist/esm/icons/map-pin'; import Link from 'next/link'; const SPLINE_SCENE = 'https://prod.spline.design/kZDDjO5HuC9GJUM2/scene.splinecode'; @@ -94,7 +97,7 @@ export function RoboticsSplineShowcase() { hyphens: 'manual', }} > - Explore Exclusive{' '} + Explore{' '} - Browse selected Unitree and Pudu Robotics solutions available exclusively in the UAE through YS Lootah Robotics humanoid, quadruped, service, delivery, and cleaning robots ready for Dubai businesses. + Browse selected Unitree and Pudu Robotics solutions available in the UAE through YS Lootah Robotics — humanoid, quadruped, service, delivery, and cleaning robots ready for Dubai businesses.

{[ - { Icon: BadgeCheck, label: 'Exclusive UAE', value: 'Access' }, + { Icon: BadgeCheck, label: 'UAE', value: 'Access' }, { Icon: Cpu, label: 'Unitree + Pudu', value: 'Robotics' }, { Icon: MapPin, label: 'Dubai', value: 'Demo & Sales' }, ].map((item) => ( diff --git a/src/components/ui/CTAButton.tsx b/src/components/ui/CTAButton.tsx index f1935dd..7e2ab75 100644 --- a/src/components/ui/CTAButton.tsx +++ b/src/components/ui/CTAButton.tsx @@ -3,7 +3,8 @@ import Link from 'next/link'; import { forwardRef } from 'react'; import type { ReactNode, MouseEventHandler } from 'react'; -import { ArrowRight, ArrowUpRight } from 'lucide-react'; +import ArrowRight from 'lucide-react/dist/esm/icons/arrow-right'; +import ArrowUpRight from 'lucide-react/dist/esm/icons/arrow-up-right'; export type CTAVariant = 'primary' | 'secondary' | 'ghost' | 'link'; export type CTASize = 'sm' | 'md' | 'lg'; diff --git a/src/data/industry-pages.ts b/src/data/industry-pages.ts index 452cc64..b7aaad0 100644 --- a/src/data/industry-pages.ts +++ b/src/data/industry-pages.ts @@ -70,7 +70,7 @@ export const INDUSTRY_PAGES: Record = { ], seoTitle: 'Hospitality Robots in UAE | YS Lootah Robotics', seoDescription: - 'Service, delivery, cleaning, and concierge robots for hotels, lounges, and hospitality venues across the UAE. Exclusive UAE access to Pudu and Unitree.', + 'Service, delivery, cleaning, and concierge robots for hotels, lounges, and hospitality venues across the UAE. Pudu and Unitree solutions available in the UAE through YS Lootah Robotics.', }, restaurants: { diff --git a/src/data/robots.ts b/src/data/robots.ts index 6bfc0f4..29b6da0 100644 --- a/src/data/robots.ts +++ b/src/data/robots.ts @@ -43,17 +43,17 @@ const GOLD_BRONZE = '#8891C7'; export const BRANDS: Record = { unitree: { name: 'Unitree Robotics', - tagline: 'Quadrupeds and humanoids available exclusively in the UAE through YS Lootah Robotics.', + tagline: 'Quadrupeds and humanoids available in the UAE through YS Lootah Robotics.', description: - 'High-performance bipedal and four-legged robots engineered for mobility, perception, and real-world deployment. Selected Unitree solutions are available exclusively in the UAE through YS Lootah Robotics with on-the-ground sales, demo, and deployment support in Dubai.', + 'High-performance bipedal and four-legged robots engineered for mobility, perception, and real-world deployment. Selected Unitree solutions are available in the UAE through YS Lootah Robotics with on-the-ground sales, demo, and deployment support in Dubai.', url: 'https://www.unitree.com/', accent: GOLD_CHAMPAGNE, }, pudu: { name: 'Pudu Robotics', - tagline: 'Service, delivery, and cleaning robotics available exclusively in the UAE through YS Lootah Robotics.', + tagline: 'Service, delivery, and cleaning robotics available in the UAE through YS Lootah Robotics.', description: - 'A global leader in commercial service robotics. Selected Pudu Robotics solutions are available exclusively in the UAE through YS Lootah Robotics for restaurants, hotels, malls, hospitals, and offices.', + 'A global leader in commercial service robotics. Selected Pudu Robotics solutions are available in the UAE through YS Lootah Robotics for restaurants, hotels, malls, hospitals, and offices.', url: 'https://www.pudurobotics.com/', accent: GOLD_BRONZE, }, @@ -84,9 +84,9 @@ export const ROBOTS: Robot[] = [ category: 'humanoid', categories: ['humanoid'], shortDescription: - 'A research-grade humanoid with agile locomotion, dexterous hands, and a developer-friendly platform available exclusively in the UAE through YS Lootah Robotics.', + 'A research-grade humanoid with agile locomotion, dexterous hands, and a developer-friendly platform available in the UAE through YS Lootah Robotics.', longDescription: - 'The G1 is a next-generation bipedal humanoid designed for AI research, education, and real-world deployment. It can walk, run, balance, and manipulate objects. Through our exclusive UAE access, YS Lootah Robotics delivers fully tailored persona configurations and on-the-ground deployment support across Dubai and the UAE.', + 'The G1 is a next-generation bipedal humanoid designed for AI research, education, and real-world deployment. It can walk, run, balance, and manipulate objects. YS Lootah Robotics delivers fully tailored persona configurations and on-the-ground deployment support across Dubai and the UAE.', features: [ 'Compact bipedal form factor for indoor environments', 'Dynamic balance and high-mobility locomotion', @@ -123,7 +123,7 @@ export const ROBOTS: Robot[] = [ category: 'humanoid', categories: ['humanoid'], shortDescription: - 'Full-size bipedal humanoid engineered for athletic motion, heavy-duty research, and demanding deployment scenarios available exclusively in the UAE through YS Lootah Robotics.', + 'Full-size bipedal humanoid engineered for athletic motion, heavy-duty research, and demanding deployment scenarios available in the UAE through YS Lootah Robotics.', longDescription: 'The Unitree H2 is built for organizations that need a robust, full-scale humanoid combining powerful actuators with high-bandwidth perception. Ideal for advanced labs and industrial pilots across the UAE, with full local support from YS Lootah Robotics.', features: [ @@ -153,7 +153,7 @@ export const ROBOTS: Robot[] = [ category: 'humanoid', categories: ['humanoid'], shortDescription: - 'A purpose-built humanoid that opens advanced robotics to startups, educators, and innovators available exclusively in the UAE through YS Lootah Robotics.', + 'A purpose-built humanoid that opens advanced robotics to startups, educators, and innovators available in the UAE through YS Lootah Robotics.', longDescription: 'Engineered for accessibility without compromising capability, the R1 brings advanced humanoid robotics within reach of startups, educators, and innovators across the UAE.', features: ['Compact form factor', 'Mobility-focused design', 'Developer-friendly stack', 'Open integration paths'], @@ -174,7 +174,7 @@ export const ROBOTS: Robot[] = [ category: 'quadruped', categories: ['quadruped', 'commercial', 'inspection'], shortDescription: - 'A versatile quadruped platform with high-bandwidth perception available exclusively in the UAE through YS Lootah Robotics for inspection, security, and mobile AI deployments.', + 'A versatile quadruped platform with high-bandwidth perception available in the UAE through YS Lootah Robotics for inspection, security, and mobile AI deployments.', longDescription: 'Unitree Go2 is a compact quadruped designed for mobility-first applications. With a powerful AI stack, LiDAR options, and developer SDK, it is the most widely deployed legged robot in commercial robotics worldwide.', features: [ @@ -210,7 +210,7 @@ export const ROBOTS: Robot[] = [ category: 'quadruped', categories: ['quadruped', 'commercial', 'inspection'], shortDescription: - 'A rugged industrial-grade quadruped available exclusively in the UAE through YS Lootah Robotics for energy, utilities, and infrastructure operators.', + 'A rugged industrial-grade quadruped available in the UAE through YS Lootah Robotics for energy, utilities, and infrastructure operators.', longDescription: 'The Unitree B2 brings industrial reliability to legged robotics. With higher payload capacity and IP-rated build quality, it suits energy, utilities, and infrastructure operators across the UAE.', features: [ @@ -245,7 +245,7 @@ export const ROBOTS: Robot[] = [ category: 'quadruped', categories: ['quadruped', 'inspection'], shortDescription: - 'A balanced quadruped platform available exclusively in the UAE through YS Lootah Robotics for organizations that need a step up in capability.', + 'A balanced quadruped platform available in the UAE through YS Lootah Robotics for organizations that need a step up in capability.', longDescription: 'The A2 sits between Go2 and B2 combining longer endurance and a richer sensor payload with a manageable size for UAE deployments.', features: ['Extended autonomy', 'Sensor-rich payload bay', 'Robust outdoor capability'], @@ -266,7 +266,7 @@ export const ROBOTS: Robot[] = [ category: 'commercial', categories: ['commercial', 'inspection'], shortDescription: - 'A perception-first robotics platform combining LiDAR, vision, and compute available exclusively in the UAE through YS Lootah Robotics for autonomous mobility research.', + 'A perception-first robotics platform combining LiDAR, vision, and compute available in the UAE through YS Lootah Robotics for autonomous mobility research.', longDescription: 'AS2 brings together the sensor and compute stack Unitree pairs with its robots useful for research teams building autonomy on top of legged or wheeled platforms.', features: ['LiDAR + vision fusion', 'On-board compute', 'Modular integration'], @@ -287,9 +287,9 @@ export const ROBOTS: Robot[] = [ category: 'delivery', categories: ['delivery', 'hospitality', 'service'], shortDescription: - 'A multi-tray delivery robot with an expressive interface available exclusively in the UAE through YS Lootah Robotics for hospitality venues across Dubai.', + 'A multi-tray delivery robot with an expressive interface available in the UAE through YS Lootah Robotics for hospitality venues across Dubai.', longDescription: - 'BellaBot delivers food, beverages, and goods with charm, efficiency, and remarkable safety performance. Deploy across restaurants, hotels, and venues in Dubai and the UAE with exclusive local support from YS Lootah Robotics.', + 'BellaBot delivers food, beverages, and goods with charm, efficiency, and remarkable safety performance. Deploy across restaurants, hotels, and venues in Dubai and the UAE with full local support from YS Lootah Robotics.', features: [ 'Multi-tray delivery configuration', 'Expressive animated face interface', @@ -324,7 +324,7 @@ export const ROBOTS: Robot[] = [ category: 'service', categories: ['service', 'delivery', 'hospitality'], shortDescription: - 'A slim, billboard-equipped service robot available exclusively in the UAE through YS Lootah Robotics for high-traffic retail and dining spaces.', + 'A slim, billboard-equipped service robot available in the UAE through YS Lootah Robotics for high-traffic retail and dining spaces.', longDescription: 'KettyBot blends marketing and service. A large display lets venues advertise menus and promotions while the robot greets customers, guides them, and delivers orders perfect for high-traffic UAE retail and dining spaces.', features: [ @@ -354,7 +354,7 @@ export const ROBOTS: Robot[] = [ category: 'cleaning', categories: ['cleaning', 'commercial'], shortDescription: - 'An autonomous commercial cleaning platform available exclusively in the UAE through YS Lootah Robotics for malls, airports, hotels, and offices.', + 'An autonomous commercial cleaning platform available in the UAE through YS Lootah Robotics for malls, airports, hotels, and offices.', longDescription: 'CC1 is a multi-mode cleaning robot built for large commercial environments. Deploy across shopping malls, airports, hotels, and offices in the UAE fully supported by your local Pudu team.', features: [ @@ -384,7 +384,7 @@ export const ROBOTS: Robot[] = [ category: 'delivery', categories: ['delivery', 'commercial'], shortDescription: - 'Heavy-payload autonomous delivery robots available exclusively in the UAE through YS Lootah Robotics for warehouses, factories, and back-of-house operations.', + 'Heavy-payload autonomous delivery robots available in the UAE through YS Lootah Robotics for warehouses, factories, and back-of-house operations.', longDescription: 'The PUDU D-Series powers industrial delivery flows moving goods, parts, and trays across kitchens, hospitals, and warehouses with autonomous navigation and fleet coordination.', features: [ diff --git a/src/types/lucide-react-icons.d.ts b/src/types/lucide-react-icons.d.ts new file mode 100644 index 0000000..df1aff9 --- /dev/null +++ b/src/types/lucide-react-icons.d.ts @@ -0,0 +1,5 @@ +declare module 'lucide-react/dist/esm/icons/*' { + import type { LucideIcon } from 'lucide-react'; + const Icon: LucideIcon; + export default Icon; +}