content: page copy refinements + accessory rich data extensions
- about, brands, contact, industries, bu-sunaidah page copy polish - BuSunaidahSection content updates - accessories.ts: rich-content interfaces (highlights, featureSections, specGroups, paramsImage, footnotes, safetyNotice) + full Dex2-5, Dex3-1, Dex1-1, Dex5-1, Z1, D1-T, L2 data sourced from vendor pages Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fb41977b18
commit
de25d774af
@ -19,8 +19,8 @@ export default function AboutPage() {
|
||||
<>
|
||||
<Navbar />
|
||||
|
||||
<main style={{ paddingTop: 'clamp(6rem, 10vw, 8rem)', paddingBottom: 'clamp(4rem, 8vw, 6rem)' }}>
|
||||
<div className="container-wide" style={{ display: 'flex', flexDirection: 'column', gap: 'clamp(3rem, 6vw, 5rem)' }}>
|
||||
<main style={{ paddingTop: 'clamp(5rem, 9vw, 7rem)', paddingBottom: 'clamp(3rem, 6vw, 5rem)' }}>
|
||||
<div className="container-wide" style={{ display: 'flex', flexDirection: 'column', gap: 'clamp(2.5rem, 5vw, 4.25rem)' }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.25rem', maxWidth: 820 }}>
|
||||
<span className="eyebrow">About · YS Lootah Robotics</span>
|
||||
<h1 style={{ margin: 0, fontSize: 'clamp(2rem, 5vw, 3.4rem)', fontWeight: 300, lineHeight: 1.05, letterSpacing: '-0.03em' }}>
|
||||
|
||||
@ -19,8 +19,8 @@ export default function BrandsPage() {
|
||||
<>
|
||||
<Navbar />
|
||||
|
||||
<main style={{ paddingTop: 'clamp(6rem, 10vw, 8rem)', paddingBottom: 'clamp(4rem, 8vw, 6rem)' }}>
|
||||
<div className="container-wide" style={{ display: 'flex', flexDirection: 'column', gap: 'clamp(3rem, 5vw, 5rem)' }}>
|
||||
<main style={{ paddingTop: 'clamp(5rem, 9vw, 7rem)', paddingBottom: 'clamp(3rem, 6vw, 5rem)' }}>
|
||||
<div className="container-wide" style={{ display: 'flex', flexDirection: 'column', gap: 'clamp(2.5rem, 5vw, 4.25rem)' }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem', maxWidth: 760 }}>
|
||||
<span className="eyebrow">UAE Access · Dubai</span>
|
||||
<h1 style={{ margin: 0, fontSize: 'clamp(2rem, 5vw, 3.4rem)', fontWeight: 300, lineHeight: 1.05, letterSpacing: '-0.03em' }}>
|
||||
|
||||
@ -370,7 +370,7 @@ export default async function BuSunaidahPage() {
|
||||
<style>{`
|
||||
.bs-main {
|
||||
padding-top: clamp(5rem, 9vw, 7rem);
|
||||
padding-bottom: clamp(2rem, 5vw, 4rem);
|
||||
padding-bottom: clamp(3rem, 6vw, 5rem);
|
||||
}
|
||||
.bs-stack {
|
||||
display: flex;
|
||||
|
||||
@ -14,7 +14,7 @@ export default function ContactPage() {
|
||||
<>
|
||||
<Navbar />
|
||||
|
||||
<main style={{ paddingTop: 'clamp(6rem, 10vw, 8rem)', paddingBottom: 'clamp(4rem, 8vw, 6rem)' }}>
|
||||
<main style={{ paddingTop: 'clamp(5rem, 9vw, 7rem)', paddingBottom: 'clamp(3rem, 6vw, 5rem)' }}>
|
||||
<div className="container-wide" style={{ display: 'grid', gap: 'clamp(2rem, 5vw, 3rem)', gridTemplateColumns: 'repeat(auto-fit, minmax(min(320px, 100%), 1fr))', alignItems: 'flex-start' }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.25rem' }}>
|
||||
<span className="eyebrow">Contact · Dubai · UAE</span>
|
||||
|
||||
@ -148,7 +148,7 @@ export default function IndustriesPage() {
|
||||
<style>{`
|
||||
.ind-main {
|
||||
padding-top: clamp(5rem, 9vw, 7rem);
|
||||
padding-bottom: clamp(2rem, 5vw, 4rem);
|
||||
padding-bottom: clamp(3rem, 6vw, 5rem);
|
||||
}
|
||||
.ind-stack {
|
||||
display: flex;
|
||||
|
||||
@ -100,144 +100,154 @@ export function BuSunaidahSection() {
|
||||
pointerEvents: 'none',
|
||||
}}
|
||||
/>
|
||||
<Link
|
||||
href="/bu-sunaidah/"
|
||||
aria-label="Open the Bu Sunaidah page"
|
||||
style={{
|
||||
position: 'relative',
|
||||
display: 'block',
|
||||
{(() => {
|
||||
const cardStyle = {
|
||||
position: 'relative' as const,
|
||||
display: 'block' as const,
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
borderRadius: '1.75rem',
|
||||
overflow: 'hidden',
|
||||
overflow: 'hidden' as const,
|
||||
border: '1px solid rgba(39, 63, 148,0.35)',
|
||||
background:
|
||||
'radial-gradient(ellipse 70% 60% at 50% 55%, rgba(222, 224, 240,0.18), transparent 60%), linear-gradient(180deg, rgba(28, 27, 33,0.85), rgba(5,5,5,0.95))',
|
||||
boxShadow: '0 30px 100px rgba(0,0,0,0.7)',
|
||||
textDecoration: 'none',
|
||||
color: 'inherit',
|
||||
}}
|
||||
>
|
||||
{BU_SUNAIDAH_PORTRAIT ? (
|
||||
<Image
|
||||
src={BU_SUNAIDAH_PORTRAIT.src}
|
||||
alt={BU_SUNAIDAH_PORTRAIT.alt}
|
||||
fill
|
||||
sizes="(max-width: 768px) 90vw, 460px"
|
||||
style={{ objectFit: 'cover', objectPosition: 'center' }}
|
||||
/>
|
||||
) : (
|
||||
textDecoration: 'none' as const,
|
||||
color: 'inherit' as const,
|
||||
};
|
||||
|
||||
const chips = (
|
||||
<div
|
||||
style={{
|
||||
position: 'absolute',
|
||||
bottom: '1rem',
|
||||
left: '1rem',
|
||||
right: '1rem',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
gap: '0.75rem',
|
||||
pointerEvents: 'none',
|
||||
}}
|
||||
>
|
||||
<span
|
||||
style={{
|
||||
padding: '0.4rem 0.75rem',
|
||||
borderRadius: 999,
|
||||
background: 'rgba(14, 13, 18,0.7)',
|
||||
border: '1px solid rgba(39, 63, 148,0.35)',
|
||||
color: '#DEE0F0',
|
||||
fontSize: '0.66rem',
|
||||
letterSpacing: '0.22em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 600,
|
||||
backdropFilter: 'blur(8px)',
|
||||
}}
|
||||
>
|
||||
Emirati-inspired persona
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
padding: '0.35rem 0.65rem',
|
||||
borderRadius: 999,
|
||||
background: 'rgba(222, 224, 240,0.18)',
|
||||
border: '1px solid rgba(222, 224, 240,0.4)',
|
||||
color: '#FBFBFD',
|
||||
fontSize: '0.7rem',
|
||||
letterSpacing: '0.16em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 700,
|
||||
}}
|
||||
>
|
||||
Bu Sunaidah
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
|
||||
if (BU_SUNAIDAH_PORTRAIT) {
|
||||
return (
|
||||
<Link href="/bu-sunaidah/" aria-label="Open the Bu Sunaidah page" style={cardStyle}>
|
||||
<Image
|
||||
src={BU_SUNAIDAH_PORTRAIT.src}
|
||||
alt={BU_SUNAIDAH_PORTRAIT.alt}
|
||||
fill
|
||||
sizes="(max-width: 768px) 90vw, 460px"
|
||||
style={{ objectFit: 'cover', objectPosition: 'center' }}
|
||||
/>
|
||||
{chips}
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<a
|
||||
href={BU_SUNAIDAH_URL}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
aria-label="Open @bu.sunaidah on Instagram in a new tab"
|
||||
style={{
|
||||
position: 'absolute',
|
||||
inset: 0,
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
gap: '1.1rem',
|
||||
textDecoration: 'none',
|
||||
color: '#FBFBFD',
|
||||
textAlign: 'center',
|
||||
padding: 'clamp(1.25rem, 4vw, 2rem)',
|
||||
background:
|
||||
'radial-gradient(ellipse 60% 60% at 50% 35%, rgba(58, 85, 196, 0.25), transparent 65%)',
|
||||
}}
|
||||
style={cardStyle}
|
||||
>
|
||||
<span
|
||||
aria-hidden
|
||||
style={{
|
||||
display: 'inline-flex',
|
||||
position: 'absolute',
|
||||
inset: 0,
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
width: 78,
|
||||
height: 78,
|
||||
borderRadius: 22,
|
||||
color: '#FFFFFF',
|
||||
border: '1px solid rgba(222, 224, 240, 0.28)',
|
||||
gap: '1.1rem',
|
||||
textAlign: 'center',
|
||||
padding: 'clamp(1.25rem, 4vw, 2rem)',
|
||||
background:
|
||||
'radial-gradient(ellipse 60% 60% at 30% 30%, rgba(255, 84, 165, 0.55), transparent 60%), radial-gradient(ellipse 60% 60% at 70% 70%, rgba(255, 165, 84, 0.45), transparent 60%), linear-gradient(135deg, rgba(58, 85, 196, 0.65), rgba(20, 20, 28, 0.85))',
|
||||
boxShadow: '0 18px 40px rgba(0,0,0,0.55)',
|
||||
'radial-gradient(ellipse 60% 60% at 50% 35%, rgba(58, 85, 196, 0.25), transparent 65%)',
|
||||
}}
|
||||
>
|
||||
<InstagramGlyph size={34} />
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
fontSize: '0.66rem',
|
||||
letterSpacing: '0.28em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 700,
|
||||
color: '#8891C7',
|
||||
}}
|
||||
>
|
||||
Portrait coming soon
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
fontSize: '1.05rem',
|
||||
fontWeight: 500,
|
||||
letterSpacing: '-0.005em',
|
||||
lineHeight: 1.4,
|
||||
maxWidth: 280,
|
||||
}}
|
||||
>
|
||||
View Bu Sunaidah's latest moments on Instagram
|
||||
<span
|
||||
aria-hidden
|
||||
style={{
|
||||
display: 'inline-flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
width: 78,
|
||||
height: 78,
|
||||
borderRadius: 22,
|
||||
color: '#FFFFFF',
|
||||
border: '1px solid rgba(222, 224, 240, 0.28)',
|
||||
background:
|
||||
'radial-gradient(ellipse 60% 60% at 30% 30%, rgba(255, 84, 165, 0.55), transparent 60%), radial-gradient(ellipse 60% 60% at 70% 70%, rgba(255, 165, 84, 0.45), transparent 60%), linear-gradient(135deg, rgba(58, 85, 196, 0.65), rgba(20, 20, 28, 0.85))',
|
||||
boxShadow: '0 18px 40px rgba(0,0,0,0.55)',
|
||||
}}
|
||||
>
|
||||
<InstagramGlyph size={34} />
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
fontSize: '0.66rem',
|
||||
letterSpacing: '0.28em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 700,
|
||||
color: '#8891C7',
|
||||
}}
|
||||
>
|
||||
Portrait coming soon
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
fontSize: '1.05rem',
|
||||
fontWeight: 500,
|
||||
letterSpacing: '-0.005em',
|
||||
lineHeight: 1.4,
|
||||
maxWidth: 280,
|
||||
color: '#FBFBFD',
|
||||
}}
|
||||
>
|
||||
View Bu Sunaidah's latest moments on Instagram
|
||||
</span>
|
||||
</span>
|
||||
{chips}
|
||||
</a>
|
||||
)}
|
||||
|
||||
<div
|
||||
style={{
|
||||
position: 'absolute',
|
||||
bottom: '1rem',
|
||||
left: '1rem',
|
||||
right: '1rem',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'space-between',
|
||||
gap: '0.75rem',
|
||||
pointerEvents: 'none',
|
||||
}}
|
||||
>
|
||||
<span
|
||||
style={{
|
||||
padding: '0.4rem 0.75rem',
|
||||
borderRadius: 999,
|
||||
background: 'rgba(14, 13, 18,0.7)',
|
||||
border: '1px solid rgba(39, 63, 148,0.35)',
|
||||
color: '#DEE0F0',
|
||||
fontSize: '0.66rem',
|
||||
letterSpacing: '0.22em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 600,
|
||||
backdropFilter: 'blur(8px)',
|
||||
}}
|
||||
>
|
||||
Emirati-inspired persona
|
||||
</span>
|
||||
<span
|
||||
style={{
|
||||
padding: '0.35rem 0.65rem',
|
||||
borderRadius: 999,
|
||||
background: 'rgba(222, 224, 240,0.18)',
|
||||
border: '1px solid rgba(222, 224, 240,0.4)',
|
||||
color: '#FBFBFD',
|
||||
fontSize: '0.7rem',
|
||||
letterSpacing: '0.16em',
|
||||
textTransform: 'uppercase',
|
||||
fontWeight: 700,
|
||||
}}
|
||||
>
|
||||
Bu Sunaidah
|
||||
</span>
|
||||
</div>
|
||||
</Link>
|
||||
);
|
||||
})()}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1031,52 +1031,6 @@ export const ACCESSORIES: Accessory[] = [
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['PUDU T300'],
|
||||
},
|
||||
{
|
||||
id: 'pudu-towing-device',
|
||||
slug: 'pudu-towing-device',
|
||||
brand: 'pudu',
|
||||
brandLabel: 'Pudu',
|
||||
name: 'T300 Towing Device',
|
||||
tagline: 'Towing attachment converting T300 to a tow tractor.',
|
||||
group: 'attachment',
|
||||
description:
|
||||
'T300 towing attachment for hauling trailers, carts, and totes. Modular hitch with safe coupling, ideal for warehouse train operations and back-of-house logistics.',
|
||||
features: [
|
||||
'Modular hitch',
|
||||
'Trailer / cart towing',
|
||||
'Safe coupling sensors',
|
||||
'Warehouse train ops',
|
||||
'Tool-less install',
|
||||
'IoT route planning',
|
||||
],
|
||||
image: '/images/robots/pudu-d7.png',
|
||||
accent: GOLD_BRONZE,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['PUDU T300'],
|
||||
},
|
||||
{
|
||||
id: 'pudu-lifting-rack',
|
||||
slug: 'pudu-lifting-rack',
|
||||
brand: 'pudu',
|
||||
brandLabel: 'Pudu',
|
||||
name: 'T300 Lifting Rack',
|
||||
tagline: 'Lifting platform attachment for shelf pick-and-place.',
|
||||
group: 'attachment',
|
||||
description:
|
||||
'T300 lifting-platform attachment for shelf pick-and-place operations. Modular adjustable rack heights for parts kitting, restocking, and just-in-time material flows.',
|
||||
features: [
|
||||
'Powered lift platform',
|
||||
'Adjustable rack heights',
|
||||
'Shelf pick-and-place',
|
||||
'Just-in-time material flow',
|
||||
'Safe motion sensors',
|
||||
'Tool-less install',
|
||||
],
|
||||
image: '/images/robots/pudu-d9.png',
|
||||
accent: GOLD_BRAND,
|
||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||
compatibility: ['PUDU T300'],
|
||||
},
|
||||
{
|
||||
id: 'pudu-carpet-vacuuming-assembly',
|
||||
slug: 'pudu-carpet-vacuuming-assembly',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user