import type { Metadata } from 'next'; import Image from 'next/image'; import Link from 'next/link'; import { notFound } from 'next/navigation'; 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 Check from 'lucide-react/dist/esm/icons/check'; import MapPin from 'lucide-react/dist/esm/icons/map-pin'; import Headphones from 'lucide-react/dist/esm/icons/headphones'; import PlayCircle from 'lucide-react/dist/esm/icons/play-circle'; import { Navbar } from '@/components/Navbar'; import { FooterAndContact } from '@/components/FooterAndContact'; import { MotionSection } from '@/components/ui/MotionSection'; import { CTAButton } from '@/components/ui/CTAButton'; import { INDUSTRIES, getIndustryBySlug } from '@/data/industries'; import { INDUSTRY_PAGES, type IndustrySolution } from '@/data/industry-pages'; type Params = { slug: string }; const ICONS: Record> = { service: Bell, delivery: Truck, cleaning: Sparkles, humanoid: CircleUserRound, quadruped: Bot, sensor: ScanLine, inspect: Search, platform: Cpu, guide: Compass, queue: Layers, host: CircleUserRound, tray: UtensilsCrossed, }; export function generateStaticParams() { return INDUSTRIES.map((i) => ({ slug: i.slug })); } export async function generateMetadata({ params }: { params: Promise }): Promise { const { slug } = await params; const industry = getIndustryBySlug(slug); if (!industry) return {}; const content = INDUSTRY_PAGES[industry.id]; if (!content) return {}; const url = `/industries/${industry.slug}/`; return { title: content.seoTitle, description: content.seoDescription, alternates: { canonical: url }, openGraph: { title: content.seoTitle, description: content.seoDescription, url, type: 'website' }, twitter: { card: 'summary_large_image', title: content.seoTitle, description: content.seoDescription }, }; } const TRUST_DEFAULT = [ { icon: MapPin, label: 'UAE-ready', sub: 'Deployment across the UAE' }, { icon: Headphones, label: 'Dubai support', sub: 'Local robotics team' }, { icon: Bot, label: 'Robot families', sub: 'Pudu + Unitree' }, { icon: PlayCircle, label: 'Demo available', sub: 'Showroom or on-site' }, ]; export default async function IndustryDetailPage({ params }: { params: Promise }) { const { slug } = await params; const industry = getIndustryBySlug(slug); if (!industry) notFound(); const content = INDUSTRY_PAGES[industry.id]; if (!content) notFound(); const accent = industry.accent; const ctaTitle = content.ctaTitle ?? 'Find the right robot for your venue.'; const ctaBody = content.ctaBody ?? 'Tell us about your space, workflow, and goals. Our Dubai team will recommend the best-fit robotics solution and arrange a live demo or quotation.'; return ( <>
{/* BREADCRUMBS */} {/* HERO */}
Industry Solution · {industry.name}

{content.heroTitle}

{content.heroSubtitle}

{content.heroTags && content.heroTags.length > 0 && (
    {content.heroTags.map((t) => (
  • {t}
  • ))}
)}
Book a Demo Talk to Our Team
{/* Right visual: industry hero image */}
{/* TRUST ROW */}
    {TRUST_DEFAULT.map((t) => { const Icon = t.icon; return (
  • {t.label} {t.sub}
  • ); })}
{/* PROOF POINTS */} {content.proofPoints && content.proofPoints.length > 0 && (
    {content.proofPoints.map((p) => (
  • {p.value} {p.label}
  • ))}
)} {/* PROBLEM */}
The challenge

Where today’s operations break down.

    {content.problemPoints.map((p, i) => (
  • {String(i + 1).padStart(2, '0')}

    {p}

  • ))}
{/* SOLUTIONS */}
Recommended robot solutions

The right robot families for {industry.name.toLowerCase()}.

{content.solutions.map((s, i) => { const Icon = ICONS[s.iconKey] ?? Cog; return (

{s.title}

{s.body}

{s.suitableFor && s.suitableFor.length > 0 && (
Suitable for
    {s.suitableFor.map((t) => (
  • {t}
  • ))}
)}
); })}
{/* USE CASES */}
Use cases

Where these robots earn their keep.

    {content.useCases.map((u, i) => (
  • {String(i + 1).padStart(2, '0')} {u}
  • ))}
{/* BENEFITS */}
Business benefits

What this changes for your operation.

{content.benefits.map((b, i) => (

{b.title}

{b.body}

))}
{/* GALLERY */} {content.gallery && content.gallery.length > 0 && (
In the field

Robots and deployments for this sector.

{content.gallery.map((g, i) => (
{g.alt} {g.credit && {g.credit}}
{g.caption &&
{g.caption}
}
))}
)} {/* CASE HIGHLIGHTS */} {content.caseHighlights && content.caseHighlights.length > 0 && (
Field-proven

Where these robots are already deployed.

{content.caseHighlights.map((c, i) => (
{c.brand}

{c.title}

{c.body}

))}
)} {/* SUGGESTED ROBOTS */}
Suggested robots

Brands and families we deploy for this sector.

{content.suggestedRobots.map((r, i) => (
{r.brand}

{r.family}

{r.body}

{r.chips && r.chips.length > 0 && (
    {r.chips.map((c) => (
  • {c}
  • ))}
)} Browse robots
))}
{/* CTA */}
Next step

{ctaTitle}

{ctaBody}

Book a Live Demo Request UAE Quotation WhatsApp Us
); }