feat(shop): add AgiBot brand (A2 + X2 flagship) to catalog
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 2026-07-06 16:12:00 +04:00
parent 0cb5693ca3
commit 8bc90b0db9
6 changed files with 84 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -30,6 +30,14 @@ const BRAND_VISUALS: Record<RobotBrand, BrandVisual> = {
primary: { src: '/images/robots/pudu-bellabot.webp', alt: 'Pudu BellaBot multi-tray delivery robot' }, primary: { src: '/images/robots/pudu-bellabot.webp', alt: 'Pudu BellaBot multi-tray delivery robot' },
secondary: { src: '/images/robots/pudu-kettybot.webp', alt: 'Pudu KettyBot Pro service robot with built-in advertising display' }, secondary: { src: '/images/robots/pudu-kettybot.webp', alt: 'Pudu KettyBot Pro service robot with built-in advertising display' },
}, },
agibot: {
logo: { src: '/brands/agibot-logo.png', alt: 'AgiBot logo', width: 150, height: 28 },
description:
'General-purpose embodied-AI humanoids available in the UAE through YS Lootah Robotics.',
chips: ['X2 flagship', 'Humanoid', 'Embodied AI', 'Service'],
primary: { src: '/images/robots/agibot-x2.webp', alt: 'AgiBot X2 flagship bipedal humanoid robot' },
secondary: { src: '/images/robots/agibot-a2.webp', alt: 'AgiBot A2 general-purpose humanoid robot' },
},
}; };
export function BrandShowcase() { export function BrandShowcase() {

View File

@ -24,7 +24,7 @@ type LabelPos = {
/* Labels keyed to active robot brand/category for accuracy */ /* Labels keyed to active robot brand/category for accuracy */
function getLabelsFor(brand: string, category: string): LabelPos[] { function getLabelsFor(brand: string, category: string): LabelPos[] {
const brandLabel = brand === 'unitree' ? 'Unitree Robotics' : 'Pudu Robotics'; const brandLabel = brand === 'unitree' ? 'Unitree Robotics' : brand === 'agibot' ? 'AgiBot' : 'Pudu Robotics';
const categoryLabel = const categoryLabel =
category === 'humanoid' category === 'humanoid'
? 'Humanoid Platform' ? 'Humanoid Platform'

View File

@ -1,4 +1,4 @@
export type RobotBrand = 'unitree' | 'pudu'; export type RobotBrand = 'unitree' | 'pudu' | 'agibot';
export type RobotCategory = export type RobotCategory =
| 'humanoid' | 'humanoid'
| 'quadruped' | 'quadruped'
@ -57,6 +57,14 @@ export const BRANDS: Record<RobotBrand, { name: string; tagline: string; descrip
url: 'https://www.pudurobotics.com/', url: 'https://www.pudurobotics.com/',
accent: GOLD_BRONZE, accent: GOLD_BRONZE,
}, },
agibot: {
name: 'AgiBot',
tagline: 'General-purpose embodied humanoids available in the UAE through YS Lootah Robotics.',
description:
'AgiBot builds embodied-AI humanoids for work, service and the home, among the most deployed general-purpose robots in the world. Selected AgiBot solutions are available in the UAE through YS Lootah Robotics.',
url: 'https://www.agibot.com/',
accent: GOLD_CHAMPAGNE,
},
}; };
export const CATEGORY_LABELS: Record<RobotCategory, string> = { export const CATEGORY_LABELS: Record<RobotCategory, string> = {
@ -1230,6 +1238,72 @@ export const ROBOTS: Robot[] = [
accent: GOLD_BRONZE, accent: GOLD_BRONZE,
officialUrl: 'https://www.pudurobotics.com/en/products', officialUrl: 'https://www.pudurobotics.com/en/products',
}, },
{
id: 'agibot-a2',
slug: 'agibot-a2',
brand: 'agibot',
brandLabel: 'AgiBot',
name: 'A2 Humanoid',
tagline: 'General-purpose embodied humanoid for service, industry and the home.',
category: 'humanoid',
categories: ['humanoid'],
shortDescription:
'A full-size, dual-arm embodied-AI humanoid for reception, service and light industrial tasks, available in the UAE through YS Lootah Robotics.',
longDescription:
'AgiBot A2 combines dexterous dual-arm manipulation with embodied-AI autonomy for real-world work, from front-of-house service to the production line. One of the most deployed general-purpose humanoids in the world, delivered and supported in the UAE by YS Lootah Robotics.',
features: [
'Full-size bipedal humanoid',
'Dual-arm dexterous manipulation',
'Embodied-AI autonomy',
'Voice and vision interaction',
'Service and light industrial tasks',
'UAE deployment and support',
],
useCases: ['Reception and hospitality', 'Retail and showrooms', 'Light industrial tasks', 'Research and education'],
specs: [
{ label: 'Type', value: 'Full-size humanoid' },
{ label: 'Reach', value: 'Dual-arm' },
SPEC_CONSULT,
SPEC_PLACEHOLDER,
],
image: '/images/robots/agibot-a2.webp',
imageType: 'photo',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.agibot.com/products/A2_Ultra',
},
{
id: 'agibot-x2',
slug: 'agibot-x2',
brand: 'agibot',
brandLabel: 'AgiBot',
name: 'X2 Humanoid',
tagline: 'Lifelike bipedal humanoid with expressive, agile whole-body motion.',
category: 'humanoid',
categories: ['humanoid'],
shortDescription:
'A lifelike bipedal humanoid with full-range 3D LiDAR, RGB-D vision and 120 Nm joints for agile, natural motion, available in the UAE through YS Lootah Robotics.',
longDescription:
'AgiBot X2 is built to move and interact like a person, with an expression display, dual RGB and RGB-D cameras, full-range 3D LiDAR and anthropomorphic cross-axis arms. Suited to research, education, reception and live demonstration, delivered and supported in the UAE by YS Lootah Robotics.',
features: [
'Lifelike bipedal humanoid',
'Full-range 3D LiDAR',
'Dual RGB and RGB-D cameras',
'7-DoF wrists, 6-DoF legs',
'120 Nm peak joint torque',
'Expression display',
],
useCases: ['Research and education', 'Reception and hospitality', 'Live demonstration', 'Showrooms and events'],
specs: [
{ label: 'Type', value: 'Bipedal humanoid' },
{ label: 'Peak torque', value: '120 Nm' },
{ label: 'Perception', value: '3D LiDAR + RGB-D' },
SPEC_CONSULT,
],
image: '/images/robots/agibot-x2.webp',
imageType: 'photo',
accent: GOLD_CHAMPAGNE,
officialUrl: 'https://www.agibot.com/products/X2',
},
]; ];
export function getRobotBySlug(slug: string): Robot | undefined { export function getRobotBySlug(slug: string): Robot | undefined {