feat: update RobotCanvas lighting and background styles; enhance button designs
fix: update accessory images and compatibility details in accessories data refactor: modify industry page hero image for education section feat: add Bu Sunaidah page with sections for media, Instagram feed, and press coverage feat: create InstagramGlyph icon component for consistent styling chore: initialize Bu Sunaidah press and Instagram data structures
This commit is contained in:
@@ -248,7 +248,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Multi-robot management',
|
||||
'Pudu Link integration',
|
||||
],
|
||||
image: '/images/accessories/pudu-4g-watch.png',
|
||||
image: '/images/accessories/pudu-pager.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['All Pudu service robots'],
|
||||
@@ -273,7 +273,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Status indicators',
|
||||
'Pudu Link cloud integration',
|
||||
],
|
||||
image: '/images/accessories/pudu-docking-station.png',
|
||||
image: '/images/robots/pudu-sh1.png',
|
||||
accent: GOLD_CHAMPAGNE,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['CC1', 'T300', 'FlashBot Max', 'BellaBot Pro', 'PuduBot 2'],
|
||||
@@ -390,7 +390,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Quick swap',
|
||||
'Multiple finishes',
|
||||
],
|
||||
image: '/images/accessories/pudu-tray.png',
|
||||
image: '/images/robots/pudu-pudubot2.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['BellaBot', 'BellaBot Pro', 'KettyBot Pro', 'PuduBot 2'],
|
||||
@@ -436,7 +436,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Tool-less install',
|
||||
'IoT route planning',
|
||||
],
|
||||
image: '/images/accessories/pudu-towing-device.png',
|
||||
image: '/images/robots/pudu-d7.png',
|
||||
accent: GOLD_BRONZE,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['PUDU T300'],
|
||||
@@ -459,7 +459,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Safe motion sensors',
|
||||
'Tool-less install',
|
||||
],
|
||||
image: '/images/accessories/pudu-lifting-rack.png',
|
||||
image: '/images/robots/pudu-d9.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['PUDU T300'],
|
||||
@@ -528,7 +528,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Multi-compartment layout',
|
||||
'Compatible with FlashBot family',
|
||||
],
|
||||
image: '/images/accessories/pudu-flashbot-vending-machine.png',
|
||||
image: '/images/robots/pudu-flashbot-max.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['FlashBot', 'FlashBot Max'],
|
||||
@@ -599,7 +599,7 @@ export const ACCESSORIES: Accessory[] = [
|
||||
'Hospitality + corporate ready',
|
||||
'Pudu Link cloud',
|
||||
],
|
||||
image: '/images/accessories/pudu-telephone-system.png',
|
||||
image: '/images/robots/pudu-kettybot.png',
|
||||
accent: GOLD_BRONZE,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['FlashBot', 'FlashBot Max', 'SwiftBot'],
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Bu Sunaidah press & media coverage.
|
||||
*
|
||||
* Each entry shows up as:
|
||||
* - a logo in the desaturated logo wall (if `logoSrc` provided)
|
||||
* - a pull-quote card below the wall (if `quote` provided)
|
||||
*
|
||||
* The entire press section is hidden when the array is empty.
|
||||
*/
|
||||
export type PressOutlet = {
|
||||
outlet: string;
|
||||
logoSrc?: string; // e.g. '/press/khaleej-times.svg'
|
||||
url?: string; // article or coverage link
|
||||
quote?: string; // optional short pull-quote
|
||||
date?: string; // ISO 8601, e.g. '2025-09-12'
|
||||
};
|
||||
|
||||
// TODO: populate as media coverage lands.
|
||||
export const BU_SUNAIDAH_PRESS: PressOutlet[] = [];
|
||||
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Bu Sunaidah Instagram posts.
|
||||
*
|
||||
* Add post shortcodes (the part after /p/ or /reel/ in the URL).
|
||||
* Example: https://www.instagram.com/p/ABC123/ → 'ABC123'
|
||||
*
|
||||
* The page renders each as an official Instagram embed iframe.
|
||||
* Leave the array empty to show the "follow on Instagram" CTA fallback.
|
||||
*/
|
||||
export type InstagramPost = {
|
||||
shortcode: string;
|
||||
kind?: 'p' | 'reel' | 'tv';
|
||||
caption?: string;
|
||||
};
|
||||
|
||||
export const BU_SUNAIDAH_HANDLE = 'bu.sunaidah';
|
||||
export const BU_SUNAIDAH_URL = `https://www.instagram.com/${BU_SUNAIDAH_HANDLE}`;
|
||||
|
||||
// TODO: populate with curated post shortcodes from @bu.sunaidah.
|
||||
// Each entry renders as a 16:20 Instagram embed iframe.
|
||||
export const BU_SUNAIDAH_POSTS: InstagramPost[] = [];
|
||||
|
||||
/**
|
||||
* Bu Sunaidah video reel / showreel.
|
||||
*
|
||||
* Set to a config object to render the reel above the persona pillars.
|
||||
* Leave as null to render a polished "reel coming soon" placeholder card.
|
||||
*
|
||||
* Examples:
|
||||
* { kind: 'youtube', id: 'dQw4w9WgXcQ' }
|
||||
* { kind: 'vimeo', id: '76979871' }
|
||||
* { kind: 'mp4', src: '/video/bu-sunaidah-reel.mp4', poster: '/video/poster.webp' }
|
||||
*/
|
||||
export type ReelSource =
|
||||
| { kind: 'youtube'; id: string; poster?: string }
|
||||
| { kind: 'vimeo'; id: string; poster?: string }
|
||||
| { kind: 'mp4'; src: string; poster?: string };
|
||||
|
||||
export const BU_SUNAIDAH_REEL: ReelSource | null = null;
|
||||
@@ -486,7 +486,7 @@ export const INDUSTRY_PAGES: Record<string, IndustryPageContent> = {
|
||||
'Humanoid and quadruped robots that bring AI, programming, and modern robotics into UAE schools, universities, and innovation labs.',
|
||||
heroTags: ['STEM labs', 'Robotics clubs', 'Innovation programs', 'Research'],
|
||||
heroImage: {
|
||||
src: '/industries/cards/education.jpg',
|
||||
src: '/images/robots/unitree-h1.jpg',
|
||||
alt: 'Humanoid research robot in a UAE STEM lab',
|
||||
},
|
||||
proofPoints: [
|
||||
|
||||
Reference in New Issue
Block a user