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:
@@ -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"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user