feat: update RobotCanvas lighting and background styles; enhance button designs
CI/CD / test-and-build (push) Waiting to run
CI/CD / deploy (push) Blocked by required conditions

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:
Najjar\NajjarV02
2026-05-21 16:15:40 +04:00
parent e500409305
commit 5271914b16
24 changed files with 1607 additions and 247 deletions
+27 -14
View File
@@ -49,16 +49,16 @@ function SceneContent({ onCapture }: { onCapture: (gl: WebGLRenderer, scene: Sce
return (
<>
<SceneCapture onCapture={onCapture} />
<Environment preset="city" />
<ambientLight intensity={0.8} />
<directionalLight position={[5, 5, 5]} intensity={1.8} color="#ffffff" castShadow shadow-mapSize={[1024, 1024]} />
<directionalLight position={[-4, 3, 2]} intensity={0.8} color="#e8f0ff" />
<directionalLight position={[0, 3, -5]} intensity={0.8} color="#8891C7" />
<spotLight position={[0, 8, 0]} intensity={1.0} angle={0.6} penumbra={0.5} color="#ffffff" />
<directionalLight position={[0, 2, 5]} intensity={0.7} color="#ffffff" />
<Environment preset="studio" />
<ambientLight intensity={1.1} />
<directionalLight position={[5, 5, 5]} intensity={2.4} color="#ffffff" castShadow shadow-mapSize={[1024, 1024]} />
<directionalLight position={[-4, 3, 2]} intensity={1.3} color="#dfeaff" />
<directionalLight position={[0, 3, -5]} intensity={1.1} color="#A6B2D8" />
<spotLight position={[0, 8, 0]} intensity={1.6} angle={0.6} penumbra={0.5} color="#ffffff" />
<directionalLight position={[0, 2, 5]} intensity={1.1} color="#ffffff" />
<RobotModel />
<OrbitControls enablePan enableZoom enableRotate minDistance={2} maxDistance={10} minPolarAngle={0} maxPolarAngle={Math.PI} dampingFactor={0.05} enableDamping />
<ContactShadows position={[0, -1, 0]} opacity={0.25} scale={10} blur={2} far={4} resolution={256} color="#000000" />
<ContactShadows position={[0, -1, 0]} opacity={0.55} scale={10} blur={2.4} far={4} resolution={256} color="#000000" />
</>
);
}
@@ -138,7 +138,10 @@ export function RobotCanvas() {
dpr={[1, 1.5]}
camera={{ position: [0, 1, 5], fov: 50 }}
gl={{ antialias: true, powerPreference: 'high-performance' }}
style={{ background: 'linear-gradient(180deg, #e8e8e4 0%, #f0f0ec 50%, #e8e8e4 100%)' }}
style={{
background:
'radial-gradient(ellipse 38% 18% at 50% 80%, rgba(200, 210, 240, 0.22), transparent 70%), radial-gradient(ellipse 55% 55% at 50% 50%, rgba(58, 85, 196, 0.22), transparent 65%), linear-gradient(180deg, #0e0e16 0%, #060609 100%)',
}}
>
<Suspense fallback={<Loader />}>
<SceneContent onCapture={handleCapture} />
@@ -148,13 +151,21 @@ export function RobotCanvas() {
<button
onClick={handleSnapshot}
disabled={isCapturing}
style={{ ...btnBase, left: '1rem', backgroundColor: 'rgba(255,255,255,0.8)', border: '1px solid #e8e0cf', color: '#0a0a0c' }}
style={{
...btnBase,
left: '1rem',
backgroundColor: 'rgba(20, 19, 26, 0.78)',
border: '1px solid rgba(74, 102, 216, 0.36)',
color: '#DEE0F0',
boxShadow: '0 8px 22px rgba(0, 0, 0, 0.45)',
letterSpacing: '0.04em',
}}
aria-label="Capture 3D scene snapshot"
>
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" /><circle cx="8.5" cy="8.5" r="1.5" /><polyline points="21 15 16 10 5 21" />
</svg>
{isCapturing ? 'Capturing...' : 'Snapshot'}
{isCapturing ? 'Capturing…' : 'Snapshot'}
</button>
<button
@@ -162,9 +173,11 @@ export function RobotCanvas() {
style={{
...btnBase,
left: '8.5rem',
backgroundColor: shareStatus === 'copied' ? 'rgba(34,197,94,0.1)' : 'rgba(255,255,255,0.8)',
border: `1px solid ${shareStatus === 'copied' ? '#86efac' : '#e8e0cf'}`,
color: shareStatus === 'copied' ? '#16a34a' : '#0a0a0c',
backgroundColor: shareStatus === 'copied' ? 'rgba(127, 214, 208, 0.18)' : 'rgba(20, 19, 26, 0.78)',
border: `1px solid ${shareStatus === 'copied' ? 'rgba(127, 214, 208, 0.6)' : 'rgba(74, 102, 216, 0.36)'}`,
color: shareStatus === 'copied' ? '#7FD6D0' : '#DEE0F0',
boxShadow: '0 8px 22px rgba(0, 0, 0, 0.45)',
letterSpacing: '0.04em',
}}
aria-label="Share configuration link"
>