feat: add industry pages data structure for robotics solutions across various sectors
Some checks are pending
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions

This commit is contained in:
Najjar\NajjarV02 2026-05-21 14:27:04 +04:00
parent fa5f4f7a3e
commit 329967df60
4 changed files with 1027 additions and 7 deletions

View File

@ -0,0 +1,674 @@
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 { 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<IndustrySolution['iconKey'], React.ComponentType<{ size?: number; strokeWidth?: number }>> = {
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<Params> }): Promise<Metadata> {
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,
},
};
}
export default async function IndustryDetailPage({ params }: { params: Promise<Params> }) {
const { slug } = await params;
const industry = getIndustryBySlug(slug);
if (!industry) notFound();
const content = INDUSTRY_PAGES[industry.id];
if (!content) notFound();
const accent = industry.accent;
return (
<>
<Navbar />
<main style={{ paddingTop: 'clamp(5rem, 9vw, 7rem)', paddingBottom: 'clamp(2rem, 5vw, 4rem)' }}>
<div className="container-wide" style={{ display: 'flex', flexDirection: 'column', gap: 'clamp(2.5rem, 5vw, 4rem)' }}>
{/* BREADCRUMBS */}
<nav aria-label="Breadcrumb" className="ip-breadcrumbs">
<ol>
<li><Link href="/">Home</Link></li>
<li aria-hidden><ChevronRight size={12} /></li>
<li><Link href="/industries/">Industries</Link></li>
<li aria-hidden><ChevronRight size={12} /></li>
<li aria-current="page">{industry.name}</li>
</ol>
</nav>
{/* HERO */}
<MotionSection>
<section className="ip-hero" style={{ ['--acc' as string]: accent }}>
<div className="ip-hero-glow" aria-hidden />
<div className="ip-hero-grid" aria-hidden />
<div className="ip-hero-inner">
<div className="ip-hero-copy">
<span className="eyebrow">{industry.name}</span>
<h1 className="ip-hero-title">
<span className="text-gradient">{content.heroTitle}</span>
</h1>
<p className="ip-hero-sub">{content.heroSubtitle}</p>
<div className="ip-hero-actions">
<CTAButton href="/book-demo/" variant="primary" size="lg" arrow="up-right">
Book a Demo
</CTAButton>
<CTAButton href="/contact/" variant="secondary" size="lg" arrow="right">
Talk to Our Team
</CTAButton>
</div>
</div>
<aside className="ip-hero-card" aria-hidden>
<div className="ip-hero-card-tag">YSL · UAE</div>
<div className="ip-hero-card-icon">
<Bot size={40} strokeWidth={1.4} />
</div>
<div className="ip-hero-card-meta">
<span>Industry</span>
<strong>{industry.name}</strong>
</div>
</aside>
</div>
</section>
</MotionSection>
{/* PROBLEM */}
<MotionSection>
<section className="ip-block">
<header className="ip-block-head">
<span className="eyebrow">The challenge</span>
<h2 className="ip-block-title">Where todays operations break down.</h2>
</header>
<ul className="ip-problems" role="list">
{content.problemPoints.map((p, i) => (
<li key={i} className="ip-problem">
<span className="ip-problem-num">{String(i + 1).padStart(2, '0')}</span>
<p>{p}</p>
</li>
))}
</ul>
</section>
</MotionSection>
{/* SOLUTIONS */}
<MotionSection>
<section className="ip-block" style={{ ['--acc' as string]: accent }}>
<header className="ip-block-head">
<span className="eyebrow">Recommended robot solutions</span>
<h2 className="ip-block-title">The right robot families for {industry.name.toLowerCase()}.</h2>
</header>
<div className="ip-solutions">
{content.solutions.map((s, i) => {
const Icon = ICONS[s.iconKey] ?? Cog;
return (
<article key={i} className="ip-solution">
<span className="ip-solution-icon" aria-hidden>
<Icon size={20} strokeWidth={1.6} />
</span>
<h3>{s.title}</h3>
<p>{s.body}</p>
</article>
);
})}
</div>
</section>
</MotionSection>
{/* USE CASES */}
<MotionSection>
<section className="ip-block">
<header className="ip-block-head">
<span className="eyebrow">Use cases</span>
<h2 className="ip-block-title">Where these robots earn their keep.</h2>
</header>
<ul className="ip-usecases" role="list">
{content.useCases.map((u, i) => (
<li key={i} className="ip-usecase">
<span className="ip-usecase-bullet" aria-hidden />
<span>{u}</span>
</li>
))}
</ul>
</section>
</MotionSection>
{/* BENEFITS */}
<MotionSection>
<section className="ip-block">
<header className="ip-block-head">
<span className="eyebrow">Business benefits</span>
<h2 className="ip-block-title">What this changes for your operation.</h2>
</header>
<div className="ip-benefits">
{content.benefits.map((b, i) => (
<div key={i} className="ip-benefit">
<h3>{b.title}</h3>
<p>{b.body}</p>
</div>
))}
</div>
</section>
</MotionSection>
{/* SUGGESTED ROBOTS */}
<MotionSection>
<section className="ip-block" style={{ ['--acc' as string]: accent }}>
<header className="ip-block-head">
<span className="eyebrow">Suggested robots</span>
<h2 className="ip-block-title">Brands and families we deploy for this sector.</h2>
</header>
<div className="ip-robots">
{content.suggestedRobots.map((r, i) => (
<article key={i} className="ip-robot">
<span className="ip-robot-brand">{r.brand}</span>
<h3>{r.family}</h3>
<p>{r.body}</p>
<Link href="/robots/" className="ip-robot-link">
Browse robots <ArrowRight size={13} strokeWidth={2} />
</Link>
</article>
))}
</div>
</section>
</MotionSection>
{/* CTA */}
<MotionSection>
<section className="ip-cta">
<div className="ip-cta-glow" aria-hidden />
<div className="ip-cta-inner">
<div className="ip-cta-text">
<span className="eyebrow">Next step</span>
<h2 className="ip-cta-title">Find the right robot for your venue.</h2>
<p>
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.
</p>
</div>
<div className="ip-cta-actions">
<CTAButton href="/book-demo/" variant="primary" size="lg" arrow="up-right">
Book a Live Demo
</CTAButton>
<CTAButton href="/contact/" variant="secondary" size="lg" arrow="right">
Request UAE Quotation
</CTAButton>
<CTAButton
href="https://wa.me/971500000000"
external
variant="ghost"
size="lg"
arrow="up-right"
ariaLabel="Chat with YS Lootah Robotics on WhatsApp"
>
WhatsApp Us
</CTAButton>
</div>
</div>
</section>
</MotionSection>
</div>
</main>
<FooterAndContact />
{/* eslint-disable react/no-unknown-property */}
<style>{`
.ip-breadcrumbs ol {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
font-size: 0.72rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #8891C7;
}
.ip-breadcrumbs a {
color: #8891C7;
text-decoration: none;
transition: color 0.25s;
}
.ip-breadcrumbs a:hover { color: #FFFFFF; }
.ip-breadcrumbs li[aria-current="page"] { color: #FFFFFF; }
.ip-breadcrumbs li[aria-hidden] { display: inline-flex; align-items: center; color: #4a4f63; }
/* HERO */
.ip-hero {
position: relative;
overflow: hidden;
border-radius: 24px;
border: 1px solid rgba(74, 102, 216, 0.18);
background:
radial-gradient(ellipse 70% 100% at 0% 0%, rgba(58, 85, 196, 0.18), transparent 55%),
linear-gradient(135deg, rgba(14, 13, 22, 0.92), rgba(6, 6, 10, 0.97));
box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.ip-hero-glow {
position: absolute;
width: 520px;
height: 520px;
border-radius: 999px;
top: -180px;
right: -160px;
background: radial-gradient(circle, color-mix(in srgb, var(--acc) 35%, transparent), transparent 70%);
filter: blur(110px);
opacity: 0.6;
pointer-events: none;
}
.ip-hero-grid {
position: absolute;
inset: 0;
background:
linear-gradient(rgba(74, 102, 216, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(74, 102, 216, 0.05) 1px, transparent 1px);
background-size: 56px 56px;
mask-image: radial-gradient(ellipse 70% 90% at 30% 40%, #000 25%, transparent 80%);
-webkit-mask-image: radial-gradient(ellipse 70% 90% at 30% 40%, #000 25%, transparent 80%);
pointer-events: none;
}
.ip-hero-inner {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: clamp(1.5rem, 3vw, 2.5rem);
padding: clamp(1.8rem, 4vw, 3.2rem);
align-items: center;
}
.ip-hero-copy { display: flex; flex-direction: column; gap: 1rem; max-width: 640px; }
.ip-hero-title {
margin: 0;
font-size: clamp(2rem, 5vw, 3.2rem);
line-height: 1.05;
font-weight: 300;
letter-spacing: -0.03em;
color: #FFFFFF;
}
.ip-hero-title .text-gradient { font-weight: 500; }
.ip-hero-sub {
margin: 0;
color: #DEE0F0;
font-size: clamp(0.95rem, 1.8vw, 1.1rem);
line-height: 1.65;
}
.ip-hero-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.35rem; }
.ip-hero-card {
display: none;
position: relative;
padding: 1.1rem 1.2rem;
border-radius: 18px;
border: 1px solid rgba(74, 102, 216, 0.22);
background:
radial-gradient(ellipse 80% 80% at 50% 0%, color-mix(in srgb, var(--acc) 18%, transparent), transparent 60%),
linear-gradient(180deg, rgba(20, 19, 26, 0.85), rgba(8, 8, 12, 0.95));
}
.ip-hero-card-tag {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.62rem;
letter-spacing: 0.32em;
font-weight: 800;
color: #DEE0F0;
}
.ip-hero-card-icon {
display: flex;
align-items: center;
justify-content: center;
padding: 1.2rem 0;
color: color-mix(in srgb, var(--acc) 75%, white);
}
.ip-hero-card-meta {
display: flex;
flex-direction: column;
gap: 0.2rem;
padding-top: 0.6rem;
border-top: 1px solid rgba(222, 224, 240, 0.08);
}
.ip-hero-card-meta span {
font-size: 0.6rem;
letter-spacing: 0.28em;
text-transform: uppercase;
color: #8891C7;
font-weight: 700;
}
.ip-hero-card-meta strong { color: #FFFFFF; font-size: 0.95rem; font-weight: 600; }
@media (min-width: 920px) {
.ip-hero-inner { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.ip-hero-card { display: block; }
}
/* BLOCKS */
.ip-block { display: flex; flex-direction: column; gap: clamp(1.1rem, 2vw, 1.5rem); }
.ip-block-head { display: flex; flex-direction: column; gap: 0.5rem; max-width: 720px; }
.ip-block-title {
margin: 0;
font-size: clamp(1.5rem, 3vw, 2.1rem);
font-weight: 400;
letter-spacing: -0.02em;
color: #FFFFFF;
line-height: 1.15;
}
/* PROBLEMS */
.ip-problems {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0.75rem;
}
@media (min-width: 720px) {
.ip-problems { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
.ip-problem {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 0.85rem;
padding: 1rem 1.1rem;
border-radius: 16px;
border: 1px solid rgba(222, 224, 240, 0.08);
background: linear-gradient(135deg, rgba(20, 19, 26, 0.72), rgba(10, 10, 14, 0.92));
}
.ip-problem-num {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.68rem;
letter-spacing: 0.22em;
font-weight: 800;
color: #8891C7;
padding-top: 0.15rem;
}
.ip-problem p {
margin: 0;
color: #DEE0F0;
font-size: 0.92rem;
line-height: 1.55;
}
/* SOLUTIONS */
.ip-solutions {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 1rem;
}
@media (min-width: 640px) { .ip-solutions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ip-solutions { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ip-solution {
display: flex;
flex-direction: column;
gap: 0.55rem;
padding: 1.1rem 1.15rem 1.15rem;
border-radius: 16px;
border: 1px solid rgba(222, 224, 240, 0.10);
background:
radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--acc) 14%, transparent), transparent 60%),
linear-gradient(180deg, rgba(22, 21, 30, 0.88), rgba(10, 10, 14, 0.95));
transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.ip-solution:hover {
transform: translateY(-2px);
border-color: rgba(74, 102, 216, 0.4);
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 0 0 22px rgba(58, 85, 196, 0.18);
}
.ip-solution-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 11px;
color: color-mix(in srgb, var(--acc) 80%, white);
border: 1px solid color-mix(in srgb, var(--acc) 30%, transparent);
background: color-mix(in srgb, var(--acc) 12%, rgba(14, 13, 18, 0.55));
}
.ip-solution h3 {
margin: 0;
font-size: 1rem;
font-weight: 600;
color: #FFFFFF;
letter-spacing: -0.005em;
}
.ip-solution p {
margin: 0;
color: #C9CCDE;
font-size: 0.85rem;
line-height: 1.55;
}
/* USE CASES */
.ip-usecases {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0.6rem;
}
@media (min-width: 720px) {
.ip-usecases { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
}
.ip-usecase {
display: grid;
grid-template-columns: 10px minmax(0, 1fr);
align-items: center;
gap: 0.8rem;
padding: 0.85rem 1rem;
border-radius: 14px;
border: 1px solid rgba(222, 224, 240, 0.08);
background: linear-gradient(135deg, rgba(18, 18, 26, 0.7), rgba(8, 8, 12, 0.88));
color: #DEE0F0;
font-size: 0.92rem;
}
.ip-usecase-bullet {
width: 8px;
height: 8px;
border-radius: 999px;
background: #4a66d8;
box-shadow: 0 0 12px rgba(74, 102, 216, 0.7);
}
/* BENEFITS */
.ip-benefits {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0.85rem;
}
@media (min-width: 640px) { .ip-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ip-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ip-benefit {
padding: 1.1rem 1.15rem;
border-radius: 16px;
border: 1px solid rgba(222, 224, 240, 0.08);
background: linear-gradient(135deg, rgba(20, 19, 26, 0.78), rgba(10, 10, 14, 0.92));
}
.ip-benefit h3 {
margin: 0 0 0.4rem;
font-size: 0.95rem;
font-weight: 600;
color: #FFFFFF;
}
.ip-benefit p {
margin: 0;
color: #C9CCDE;
font-size: 0.85rem;
line-height: 1.5;
}
/* SUGGESTED ROBOTS */
.ip-robots {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0.95rem;
}
@media (min-width: 720px) { .ip-robots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ip-robots { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ip-robot {
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 1.15rem 1.2rem 1.1rem;
border-radius: 16px;
border: 1px solid rgba(74, 102, 216, 0.22);
background:
radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--acc) 18%, transparent), transparent 60%),
linear-gradient(180deg, rgba(22, 21, 30, 0.9), rgba(10, 10, 14, 0.95));
}
.ip-robot-brand {
font-size: 0.6rem;
letter-spacing: 0.3em;
text-transform: uppercase;
font-weight: 800;
color: color-mix(in srgb, var(--acc) 70%, white);
}
.ip-robot h3 {
margin: 0;
font-size: 1.05rem;
font-weight: 600;
color: #FFFFFF;
}
.ip-robot p {
margin: 0;
color: #C9CCDE;
font-size: 0.88rem;
line-height: 1.55;
flex: 1;
}
.ip-robot-link {
display: inline-flex;
align-items: center;
gap: 0.45rem;
margin-top: 0.5rem;
font-size: 0.8rem;
font-weight: 600;
color: #DEE0F0;
text-decoration: none;
transition: color 0.25s, gap 0.25s;
}
.ip-robot-link:hover { color: #FFFFFF; gap: 0.7rem; }
/* CTA */
.ip-cta {
position: relative;
overflow: hidden;
border-radius: 24px;
border: 1px solid rgba(74, 102, 216, 0.22);
background:
radial-gradient(ellipse 60% 100% at 100% 0%, rgba(58, 85, 196, 0.18), transparent 60%),
linear-gradient(135deg, rgba(18, 16, 28, 0.92), rgba(8, 8, 12, 0.96));
box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.ip-cta-glow {
position: absolute;
width: 480px;
height: 480px;
border-radius: 999px;
top: -160px;
left: -160px;
background: radial-gradient(circle, rgba(74, 102, 216, 0.4), transparent 70%);
filter: blur(100px);
opacity: 0.55;
pointer-events: none;
}
.ip-cta-inner {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: clamp(1.2rem, 3vw, 2rem);
padding: clamp(1.6rem, 3.5vw, 2.6rem);
align-items: center;
}
@media (min-width: 900px) {
.ip-cta-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
}
.ip-cta-text { display: flex; flex-direction: column; gap: 0.6rem; max-width: 560px; }
.ip-cta-title {
margin: 0;
font-size: clamp(1.6rem, 3vw, 2.2rem);
font-weight: 400;
letter-spacing: -0.02em;
color: #FFFFFF;
line-height: 1.1;
}
.ip-cta-text p { margin: 0; color: #DEE0F0; font-size: 0.95rem; line-height: 1.6; }
.ip-cta-actions {
display: flex;
flex-wrap: wrap;
gap: 0.55rem;
justify-content: flex-start;
}
@media (min-width: 900px) {
.ip-cta-actions { justify-content: flex-end; }
}
@media (max-width: 520px) {
.ip-cta-actions :global(.cta-btn) { width: 100%; justify-content: space-between; }
.ip-hero-actions :global(.cta-btn) { width: 100%; justify-content: space-between; }
}
`}</style>
</>
);
}

View File

@ -96,8 +96,9 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-columns: minmax(0, 1fr);
gap: 0.55rem;
margin-bottom: clamp(0.5rem, 1.5vw, 1rem);
}
.iu-stat {
position: relative;
@ -167,10 +168,13 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
gap: 1rem;
}
@media (min-width: 760px) {
.iu-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; }
@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; }
}

View File

@ -26,7 +26,7 @@ export const INDUSTRIES: Industry[] = [
},
{
id: 'restaurants',
slug: 'restaurants',
slug: 'restaurants-cafes',
name: 'Restaurants & Cafés',
problem: 'Peak-hour service quality drops as servers shuttle trays across the floor.',
solution: 'Delivery robots like BellaBot and KettyBot move food fast and reliably.',
@ -37,7 +37,7 @@ export const INDUSTRIES: Industry[] = [
},
{
id: 'hotels',
slug: 'hotels',
slug: 'hotels-resorts',
name: 'Hotels & Resorts',
problem: 'Room service and back-of-house logistics burn operational hours.',
solution: 'Multi-floor delivery robots and humanoid concierge experiences.',
@ -81,7 +81,7 @@ export const INDUSTRIES: Industry[] = [
},
{
id: 'security',
slug: 'security',
slug: 'security-surveillance',
name: 'Security & Surveillance',
problem: 'Manual patrols are repetitive, costly, and miss anomalies after hours.',
solution: 'Quadruped robots like Unitree Go2 and B2 patrol autonomously.',
@ -92,7 +92,7 @@ export const INDUSTRIES: Industry[] = [
},
{
id: 'warehouses',
slug: 'warehouses',
slug: 'warehouses-logistics',
name: 'Warehouses & Logistics',
problem: 'Inventory transport, picking, and inspection take human hours that scale poorly.',
solution: 'Quadruped inspection robots and autonomous delivery platforms.',

342
src/data/industry-pages.ts Normal file
View File

@ -0,0 +1,342 @@
export type IndustrySolution = {
title: string;
body: string;
iconKey:
| 'service'
| 'delivery'
| 'cleaning'
| 'humanoid'
| 'quadruped'
| 'sensor'
| 'inspect'
| 'platform'
| 'guide'
| 'queue'
| 'host'
| 'tray';
};
export type SuggestedRobot = {
brand: 'Pudu' | 'Unitree';
family: string;
body: string;
};
export type IndustryPageContent = {
heroTitle: string;
heroSubtitle: string;
problemPoints: string[];
solutions: IndustrySolution[];
useCases: string[];
benefits: { title: string; body: string }[];
suggestedRobots: SuggestedRobot[];
seoTitle: string;
seoDescription: string;
};
export const INDUSTRY_PAGES: Record<string, IndustryPageContent> = {
hospitality: {
heroTitle: 'Robotics for premium guest experiences.',
heroSubtitle:
'Deploy service, delivery, cleaning, and concierge robots across UAE hospitality venues — from lounges and clubs to high-end hotels.',
problemPoints: [
'Guest service teams are stretched thin during peak hours and events.',
'Repetitive runs between back-of-house and guest areas burn staff energy.',
'Guest expectations for fast, polished moments keep rising.',
'Maintaining service consistency across shifts is difficult and costly.',
],
solutions: [
{ title: 'Service robots', body: 'Greet guests, deliver items, and assist between zones with a polished, branded persona.', iconKey: 'service' },
{ title: 'Delivery robots', body: 'Move trays, room amenities, and supplies between floors and back-of-house efficiently.', iconKey: 'delivery' },
{ title: 'Cleaning robots', body: 'Maintain lobbies, corridors, and back areas during overnight or quiet windows.', iconKey: 'cleaning' },
{ title: 'Humanoid concierge', body: 'Signature welcome and activation moments that anchor the venue brand.', iconKey: 'humanoid' },
],
useCases: [
'Lobby greeting and guest direction',
'In-house item delivery between zones',
'Overnight floor cleaning and disinfection',
'VIP activations and brand moments',
],
benefits: [
{ title: 'Consistent service', body: 'Service quality stays steady across shifts and peak nights.' },
{ title: 'Lower repetitive load', body: 'Staff spend less time on transport and more on guest care.' },
{ title: 'Premium positioning', body: 'Branded robotic moments reinforce a high-end identity.' },
{ title: 'Always-on coverage', body: 'Routine work continues smoothly during off-hours.' },
],
suggestedRobots: [
{ brand: 'Pudu', family: 'Service & delivery lineup', body: 'BellaBot, KettyBot, and FlashBot family for service-floor and multi-zone delivery.' },
{ brand: 'Pudu', family: 'Cleaning lineup', body: 'Commercial cleaning platforms for lobbies, corridors, and back-of-house.' },
{ brand: 'Unitree', family: 'Humanoid platforms', body: 'G1 and H1 humanoids for concierge moments and brand activations.' },
],
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.',
},
restaurants: {
heroTitle: 'Faster, smoother restaurant service.',
heroSubtitle:
'Delivery and greeting robots that support peak service, reduce walking distance, and elevate the dining experience in UAE F&B venues.',
problemPoints: [
'Servers spend most of the shift walking trays back and forth.',
'Peak-hour quality drops as floor coverage thins.',
'High turnover impacts service consistency across the week.',
'Standout moments are hard to engineer in a busy dining room.',
],
solutions: [
{ title: 'Food delivery robots', body: 'Bring dishes from kitchen to table reliably during full service.', iconKey: 'delivery' },
{ title: 'Tray-runner robots', body: 'Multi-tray runs designed for high-traffic floors and quick turns.', iconKey: 'tray' },
{ title: 'Greeting / host robots', body: 'Welcome guests, manage queues, and walk parties to their tables.', iconKey: 'host' },
{ title: 'Promo and queue robots', body: 'Engage waiting guests and run small promos during wait times.', iconKey: 'queue' },
],
useCases: [
'Kitchen-to-table dish delivery',
'Tray return and floor clearing',
'Greeting and queue management at entrance',
'Birthday and celebration moments',
],
benefits: [
{ title: 'Faster table turns', body: 'Shorter wait times and quicker service rounds.' },
{ title: 'Less staff fatigue', body: 'Servers walk less, communicate more, and focus on guests.' },
{ title: 'Memorable moments', body: 'Distinctive guest experiences that drive word of mouth.' },
{ title: 'Brand upgrade', body: 'Visible signal that the venue is modern and forward-looking.' },
],
suggestedRobots: [
{ brand: 'Pudu', family: 'BellaBot', body: 'Multi-tray delivery robot designed for restaurant floors.' },
{ brand: 'Pudu', family: 'KettyBot', body: 'Greeter and delivery hybrid for entrances and small floors.' },
{ brand: 'Pudu', family: 'FlashBot Mini', body: 'Compact autonomous delivery for tight venue layouts.' },
],
seoTitle: 'Restaurant & Café Robots in UAE | YS Lootah Robotics',
seoDescription:
'Delivery, host, and tray-runner robots for UAE restaurants, cafés, and F&B venues. Faster service, lower staff fatigue, premium positioning.',
},
hotels: {
heroTitle: 'Concierge-grade robotics for hotels and resorts.',
heroSubtitle:
'Multi-floor delivery, cleaning, and humanoid moments designed for premium UAE hospitality operations.',
problemPoints: [
'Room service and back-of-house logistics consume operational hours.',
'Multi-floor delivery is slow and labor-intensive.',
'Premium guest moments are hard to scale consistently.',
'Housekeeping and cleaning cycles strain night-shift teams.',
],
solutions: [
{ title: 'Multi-floor delivery robots', body: 'Move amenities, linens, and items between rooms and floors.', iconKey: 'delivery' },
{ title: 'Room service robots', body: 'Discreet delivery to suites and corridors without disturbing other guests.', iconKey: 'service' },
{ title: 'Cleaning robots', body: 'Quiet, automated cleaning for lobbies, corridors, and back areas.', iconKey: 'cleaning' },
{ title: 'Humanoid concierge', body: 'Signature welcomes, activations, and press-worthy guest moments.', iconKey: 'humanoid' },
],
useCases: [
'Toiletries and amenity delivery to suites',
'Room-service tray runs across floors',
'Lobby and corridor cleaning between peaks',
'VIP welcomes and brand events',
],
benefits: [
{ title: 'Reduced overhead', body: 'Less repetitive movement across floors and zones.' },
{ title: 'Faster response', body: 'Guest requests are fulfilled with less delay.' },
{ title: 'Signature moments', body: 'Memorable touches that lift the property brand.' },
{ title: 'Calmer nights', body: 'Lower fatigue on housekeeping and night-shift teams.' },
],
suggestedRobots: [
{ brand: 'Pudu', family: 'FlashBot family', body: 'Multi-floor autonomous delivery for hotel operations.' },
{ brand: 'Pudu', family: 'Cleaning lineup', body: 'CC1 and SH1-class platforms for hotel cleaning routines.' },
{ brand: 'Unitree', family: 'G1 / H1 humanoids', body: 'Premium concierge moments and PR-worthy activations.' },
],
seoTitle: 'Hotel & Resort Robots in UAE | YS Lootah Robotics',
seoDescription:
'Multi-floor delivery, cleaning, and humanoid concierge robots for hotels and resorts across the UAE. Local Dubai support and deployment.',
},
malls: {
heroTitle: 'Robotics for high-traffic retail environments.',
heroSubtitle:
'Cleaning, service, security, and activation robots tuned for UAE malls, retail flagships, and large public venues.',
problemPoints: [
'Large floor areas are hard to clean and patrol consistently.',
'Brand activations need standout, repeatable moments.',
'Wayfinding and basic service stretch the operations team.',
'Night security coverage is costly and uneven.',
],
solutions: [
{ title: 'Cleaning robots', body: 'Continuous floor coverage during off-peak hours and overnights.', iconKey: 'cleaning' },
{ title: 'Service & wayfinding robots', body: 'Help shoppers find stores, answer basic queries, and guide flows.', iconKey: 'guide' },
{ title: 'Humanoid activation robots', body: 'Brand events, photo moments, openings, and seasonal campaigns.', iconKey: 'humanoid' },
{ title: 'Quadruped security robots', body: 'Inspection and perimeter coverage after closing.', iconKey: 'quadruped' },
],
useCases: [
'Overnight floor cleaning and disinfection',
'Wayfinding for renovated or new layouts',
'Activations for store openings and launches',
'Patrol rounds after operating hours',
],
benefits: [
{ title: 'Consistent cleanliness', body: 'Standards stay uniform across large floor areas.' },
{ title: 'Share-worthy moments', body: 'Activations that generate organic social content.' },
{ title: 'Lower repetitive load', body: 'Cleaning and patrol staff focus on higher-value work.' },
{ title: 'Continuous monitoring', body: 'Night coverage that does not depend on additional headcount.' },
],
suggestedRobots: [
{ brand: 'Pudu', family: 'Cleaning lineup', body: 'Floor-cleaning robots designed for large commercial spaces.' },
{ brand: 'Pudu', family: 'Service & greeter robots', body: 'KettyBot-class platforms for wayfinding and engagement.' },
{ brand: 'Unitree', family: 'Go2 / B2 quadrupeds', body: 'Autonomous patrol and inspection across mall facilities.' },
{ brand: 'Unitree', family: 'Humanoid platforms', body: 'G1 and H1 for retail activations and brand moments.' },
],
seoTitle: 'Shopping Mall Robots in UAE | YS Lootah Robotics',
seoDescription:
'Cleaning, service, activation, and patrol robots for UAE shopping malls and retail flagships. Pudu and Unitree, deployed and supported locally.',
},
healthcare: {
heroTitle: 'Autonomous robotics for healthcare operations.',
heroSubtitle:
'Transport supplies, meals, and medication around UAE clinics and hospitals — so clinicians can focus on patient care.',
problemPoints: [
'Clinical staff lose hours to non-clinical transport tasks.',
'Internal logistics across floors slow down service delivery.',
'Cleaning frequency must stay high without burning out teams.',
'Visitor flow and guidance load reception and front desks.',
],
solutions: [
{ title: 'Delivery robots', body: 'Autonomous transport of meals, linens, and routine supplies.', iconKey: 'delivery' },
{ title: 'Medication-route robots', body: 'Predictable, traceable internal runs between pharmacy and wards.', iconKey: 'platform' },
{ title: 'Cleaning robots', body: 'Routine floor cleaning between shifts and patient cycles.', iconKey: 'cleaning' },
{ title: 'Visitor guidance robots', body: 'Direct visitors to wards, clinics, and waiting areas.', iconKey: 'guide' },
],
useCases: [
'Pharmacy-to-ward medication delivery',
'Meal trays to patient floors',
'Linen and supply runs between wings',
'Visitor wayfinding in large facilities',
],
benefits: [
{ title: 'More bedside time', body: 'Clinicians spend more time on patient care, not transport.' },
{ title: 'Predictable logistics', body: 'Internal runs become consistent and traceable.' },
{ title: 'Lower contamination risk', body: 'Reduced cross-handling on routine routes.' },
{ title: 'Less strain', body: 'Support teams cover repetitive work with less fatigue.' },
],
suggestedRobots: [
{ brand: 'Pudu', family: 'FlashBot family', body: 'Autonomous internal delivery for hospital operations.' },
{ brand: 'Pudu', family: 'Cleaning lineup', body: 'CC1 and SH1-class platforms for healthcare environments.' },
{ brand: 'Pudu', family: 'KettyBot', body: 'Visitor reception and basic wayfinding at entrances.' },
],
seoTitle: 'Healthcare Robots in UAE | YS Lootah Robotics',
seoDescription:
'Autonomous delivery, cleaning, and visitor-guidance robots for UAE clinics, hospitals, and healthcare networks. Local support from Dubai.',
},
education: {
heroTitle: 'Hands-on robotics for STEM and innovation.',
heroSubtitle:
'Humanoid and quadruped robots that bring AI, programming, and modern robotics into UAE schools, universities, and innovation labs.',
problemPoints: [
'STEM curricula need tangible robotics platforms for AI and motion learning.',
'Schools want flagship innovation moments and visible identity.',
'Teachers need approachable platforms for hands-on labs.',
'Recruiting top STEM students depends on signature equipment.',
],
solutions: [
{ title: 'Humanoid robots', body: 'General-purpose platforms for AI, motion, and human-robot interaction labs.', iconKey: 'humanoid' },
{ title: 'Quadruped robots', body: 'Programmable platforms for autonomy, locomotion, and research projects.', iconKey: 'quadruped' },
{ title: 'STEM-ready kits', body: 'Course-aligned robotics hardware for school labs and clubs.', iconKey: 'platform' },
{ title: 'Open SDK platforms', body: 'Hands-on coding access for advanced students and researchers.', iconKey: 'sensor' },
],
useCases: [
'AI and motion programming labs',
'Robotics clubs and competitions',
'Open days, expos, and school showcases',
'Faculty research and dissertation projects',
],
benefits: [
{ title: 'Future-ready skills', body: 'Students learn real-world robotics on real platforms.' },
{ title: 'Signature programs', body: 'Flagship robotics labs attract talent and partnerships.' },
{ title: 'Research uplift', body: 'Quadruped and humanoid platforms support advanced research.' },
{ title: 'Visible innovation', body: 'Robotics labs position the institution as forward-looking.' },
],
suggestedRobots: [
{ brand: 'Unitree', family: 'G1 humanoid', body: 'Research-friendly humanoid platform for education labs.' },
{ brand: 'Unitree', family: 'Go2 / Go2 EDU', body: 'Programmable quadruped for autonomy and STEM coursework.' },
{ brand: 'Unitree', family: 'B2 quadruped', body: 'Higher-capability platform for advanced research and projects.' },
],
seoTitle: 'Education & STEM Robots in UAE | YS Lootah Robotics',
seoDescription:
'Humanoid and quadruped robots for UAE schools, universities, and innovation labs. Hands-on AI and robotics education with local Dubai support.',
},
security: {
heroTitle: 'Autonomous patrol and inspection robots.',
heroSubtitle:
'Quadruped robots that patrol, inspect, and monitor critical UAE facilities — continuously and consistently.',
problemPoints: [
'Manual patrols are repetitive, costly, and uneven across shifts.',
'Night coverage drops as fatigue sets in for guard teams.',
'Hard-to-reach zones get inspected too rarely.',
'Anomalies are missed without continuous facility monitoring.',
],
solutions: [
{ title: 'Quadruped patrol robots', body: 'Autonomous routes across compounds, perimeters, and indoor sites.', iconKey: 'quadruped' },
{ title: 'Inspection robots', body: 'Routine checks of utility rooms, plant areas, and risk zones.', iconKey: 'inspect' },
{ title: 'Perimeter monitoring', body: 'Continuous outdoor coverage for sensitive boundaries.', iconKey: 'sensor' },
{ title: 'Sensor-equipped platforms', body: 'Thermal, audio, and visual data captured on the move.', iconKey: 'platform' },
],
useCases: [
'Overnight patrol across large compounds',
'Routine inspection of plant and utility rooms',
'Perimeter rounds for sensitive sites',
'Incident response and remote live inspection',
],
benefits: [
{ title: 'Continuous coverage', body: 'Routes run consistently across nights and shifts.' },
{ title: 'Audit-ready logs', body: 'Run histories and sensor data are easy to review.' },
{ title: 'Lower guard load', body: 'Repetitive walks shift to autonomous platforms.' },
{ title: 'Innovation image', body: 'Visible signal that the operator runs a modern facility.' },
],
suggestedRobots: [
{ brand: 'Unitree', family: 'Go2 quadruped', body: 'Versatile patrol and inspection platform for varied terrain.' },
{ brand: 'Unitree', family: 'B2 quadruped', body: 'Heavy-duty platform for demanding inspection routes.' },
{ brand: 'Unitree', family: 'Custom payloads', body: 'Sensor-equipped configurations for thermal and vision inspection.' },
],
seoTitle: 'Security & Surveillance Robots in UAE | YS Lootah Robotics',
seoDescription:
'Quadruped patrol, inspection, and perimeter robots for UAE facilities, compounds, and critical sites. Unitree platforms with local support.',
},
warehouses: {
heroTitle: 'Robotics for warehouse and facility operations.',
heroSubtitle:
'Inspection, transport, and monitoring robots that scale repetitive work across UAE logistics sites and industrial facilities.',
problemPoints: [
'Inventory and inspection routes scale poorly with human hours.',
'Repetitive walks cause fatigue and tracking errors.',
'Off-hours coverage is hard to sustain consistently.',
'Equipment and asset monitoring is patchy without dedicated rounds.',
],
solutions: [
{ title: 'Quadruped inspection robots', body: 'Predictable routes around aisles, racks, and plant areas.', iconKey: 'quadruped' },
{ title: 'Autonomous transport platforms', body: 'Move goods between zones with consistent timing.', iconKey: 'platform' },
{ title: 'Facility monitoring robots', body: 'Routine checks on assets, equipment, and environment.', iconKey: 'inspect' },
{ title: 'Sensor-equipped platforms', body: 'Thermal and visual data captured during regular routes.', iconKey: 'sensor' },
],
useCases: [
'Aisle and rack inspection rounds',
'Goods movement between zones',
'Equipment and asset condition checks',
'Off-hours facility monitoring',
],
benefits: [
{ title: 'Higher throughput', body: 'Routine routes run more often without extra headcount.' },
{ title: 'Traceable monitoring', body: 'Inspection logs and data are predictable and reviewable.' },
{ title: 'Lower repetitive load', body: 'Operators focus on higher-value work and edge cases.' },
{ title: 'Safer routes', body: 'Risky or restricted zones can be covered remotely.' },
],
suggestedRobots: [
{ brand: 'Unitree', family: 'Go2 / B2 quadrupeds', body: 'Autonomous inspection and patrol around facility zones.' },
{ brand: 'Pudu', family: 'Industrial delivery', body: 'Autonomous delivery platforms for indoor logistics.' },
{ brand: 'Unitree', family: 'Sensor-equipped builds', body: 'Custom payloads for thermal and vision inspection.' },
],
seoTitle: 'Warehouse & Logistics Robots in UAE | YS Lootah Robotics',
seoDescription:
'Quadruped inspection, autonomous transport, and monitoring robots for UAE warehouses, logistics, and industrial sites. Local Dubai deployment.',
},
};