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 />
|
<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: 'flex', flexDirection: 'column', gap: '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 }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.25rem', maxWidth: 820 }}>
|
||||||
<span className="eyebrow">About · YS Lootah Robotics</span>
|
<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' }}>
|
<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 />
|
<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: 'flex', flexDirection: 'column', gap: 'clamp(3rem, 5vw, 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 }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem', maxWidth: 760 }}>
|
||||||
<span className="eyebrow">UAE Access · Dubai</span>
|
<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' }}>
|
<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>{`
|
<style>{`
|
||||||
.bs-main {
|
.bs-main {
|
||||||
padding-top: clamp(5rem, 9vw, 7rem);
|
padding-top: clamp(5rem, 9vw, 7rem);
|
||||||
padding-bottom: clamp(2rem, 5vw, 4rem);
|
padding-bottom: clamp(3rem, 6vw, 5rem);
|
||||||
}
|
}
|
||||||
.bs-stack {
|
.bs-stack {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -14,7 +14,7 @@ export default function ContactPage() {
|
|||||||
<>
|
<>
|
||||||
<Navbar />
|
<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 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' }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '1.25rem' }}>
|
||||||
<span className="eyebrow">Contact · Dubai · UAE</span>
|
<span className="eyebrow">Contact · Dubai · UAE</span>
|
||||||
|
|||||||
@ -148,7 +148,7 @@ export default function IndustriesPage() {
|
|||||||
<style>{`
|
<style>{`
|
||||||
.ind-main {
|
.ind-main {
|
||||||
padding-top: clamp(5rem, 9vw, 7rem);
|
padding-top: clamp(5rem, 9vw, 7rem);
|
||||||
padding-bottom: clamp(2rem, 5vw, 4rem);
|
padding-bottom: clamp(3rem, 6vw, 5rem);
|
||||||
}
|
}
|
||||||
.ind-stack {
|
.ind-stack {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -100,98 +100,23 @@ export function BuSunaidahSection() {
|
|||||||
pointerEvents: 'none',
|
pointerEvents: 'none',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Link
|
{(() => {
|
||||||
href="/bu-sunaidah/"
|
const cardStyle = {
|
||||||
aria-label="Open the Bu Sunaidah page"
|
position: 'relative' as const,
|
||||||
style={{
|
display: 'block' as const,
|
||||||
position: 'relative',
|
|
||||||
display: 'block',
|
|
||||||
width: '100%',
|
width: '100%',
|
||||||
height: '100%',
|
height: '100%',
|
||||||
borderRadius: '1.75rem',
|
borderRadius: '1.75rem',
|
||||||
overflow: 'hidden',
|
overflow: 'hidden' as const,
|
||||||
border: '1px solid rgba(39, 63, 148,0.35)',
|
border: '1px solid rgba(39, 63, 148,0.35)',
|
||||||
background:
|
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))',
|
'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)',
|
boxShadow: '0 30px 100px rgba(0,0,0,0.7)',
|
||||||
textDecoration: 'none',
|
textDecoration: 'none' as const,
|
||||||
color: 'inherit',
|
color: 'inherit' as const,
|
||||||
}}
|
};
|
||||||
>
|
|
||||||
{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' }}
|
|
||||||
/>
|
|
||||||
) : (
|
|
||||||
<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%)',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<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,
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
View Bu Sunaidah's latest moments on Instagram
|
|
||||||
</span>
|
|
||||||
</a>
|
|
||||||
)}
|
|
||||||
|
|
||||||
|
const chips = (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
@ -237,7 +162,92 @@ export function BuSunaidahSection() {
|
|||||||
Bu Sunaidah
|
Bu Sunaidah
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</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>
|
</Link>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
href={BU_SUNAIDAH_URL}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
aria-label="Open @bu.sunaidah on Instagram in a new tab"
|
||||||
|
style={cardStyle}
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
position: 'absolute',
|
||||||
|
inset: 0,
|
||||||
|
display: 'flex',
|
||||||
|
flexDirection: 'column',
|
||||||
|
alignItems: 'center',
|
||||||
|
justifyContent: 'center',
|
||||||
|
gap: '1.1rem',
|
||||||
|
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%)',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1031,52 +1031,6 @@ export const ACCESSORIES: Accessory[] = [
|
|||||||
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
officialUrl: 'https://www.pudurobotics.com/en/accessory',
|
||||||
compatibility: ['PUDU T300'],
|
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',
|
id: 'pudu-carpet-vacuuming-assembly',
|
||||||
slug: 'pudu-carpet-vacuuming-assembly',
|
slug: 'pudu-carpet-vacuuming-assembly',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user