import type { Metadata } from 'next'; import { notFound } from 'next/navigation'; import Link from 'next/link'; import { Navbar } from '@/components/Navbar'; import { FooterAndContact } from '@/components/FooterAndContact'; import { InquiryForm } from '@/components/robotics/InquiryForm'; import { RobotProductCard } from '@/components/robotics/RobotProductCard'; import { DemoCTA } from '@/components/robotics/DemoCTA'; import { ConfigureCTA } from '@/components/robotics/ConfigureCTA'; import { ProductSpecTable } from '@/components/robotics/ProductSpecTable'; import { ProductGallery } from '@/components/robotics/ProductGallery'; import { MotionSection } from '@/components/ui/MotionSection'; import { ROBOTS, getRobotBySlug, BRANDS, CATEGORY_LABELS } from '@/data/robots'; import JsonLd from '@/components/JsonLd'; import { canonical, abs, productJsonLd, breadcrumbJsonLd } from '@/lib/seo'; type Params = { slug: string }; export function generateStaticParams() { return ROBOTS.map((r) => ({ slug: r.slug })); } export async function generateMetadata({ params }: { params: Promise }): Promise { const { slug } = await params; const robot = getRobotBySlug(slug); if (!robot) return { title: 'Robot not found YS Lootah Robotics' }; const url = canonical(`/robots/${robot.slug}`); const img = abs(robot.image); const title = `${robot.brandLabel} ${robot.name} Available in Dubai | YS Lootah Robotics`; const description = `${robot.shortDescription} Available through YS Lootah Robotics in Dubai request a price or book a live demo.`; return { title, description, keywords: [robot.brandLabel, robot.name, 'Dubai', 'UAE', CATEGORY_LABELS[robot.category], 'robotics'], alternates: { canonical: url }, openGraph: { type: 'website', url, title, description, images: [{ url: img, alt: `${robot.brandLabel} ${robot.name}` }] }, twitter: { card: 'summary_large_image', title, description, images: [img] }, }; } export default async function RobotDetailPage({ params }: { params: Promise }) { const { slug } = await params; const robot = getRobotBySlug(slug); if (!robot) notFound(); const brand = BRANDS[robot.brand]; const related = ROBOTS.filter((r) => r.id !== robot.id && (r.brand === robot.brand || r.category === robot.category)).slice(0, 3); const productLd = productJsonLd({ name: `${robot.brandLabel} ${robot.name}`, description: robot.shortDescription, image: robot.image, brandName: brand.name, path: `/robots/${robot.slug}`, category: CATEGORY_LABELS[robot.category], }); const crumbLd = breadcrumbJsonLd([ { name: 'Home', path: '/' }, { name: 'Robots', path: '/robots' }, { name: robot.name, path: `/robots/${robot.slug}` }, ]); return ( <>
{robot.imageType === 'placeholder' && ( Brand visual placeholder )}
{brand.name} · {CATEGORY_LABELS[robot.category]}

{robot.name}

{robot.tagline}

{robot.longDescription}

Request quotation Book a live demo {robot.configureSlug && ( Configure for your business )} {robot.officialUrl && ( Brand site )}
    {robot.features.map((f) => (
  • {f}
  • ))}
    {robot.useCases.map((u) => (
  • {u}
  • ))}
Inquiry

Request a quotation for {robot.name}.

Tell us about your venue, timeline, and use case. We will respond with availability, configuration options, and pricing for the UAE.

Talk to an advisor

Prefer a quick conversation?

Call our Dubai team or message us on WhatsApp we will share availability and demo slots for {robot.name}.

Call +971 55 948 2728 WhatsApp us Email info@yslootahrobotics.com
{related.length > 0 && (
Related robots

You might also consider…

{related.map((r) => ( ))}
)}
); } function Block({ title, children }: { title: string; children: React.ReactNode }) { return (
{title}
{children}
); }