IamVicky111 commited on
Commit
b8d13e2
·
verified ·
1 Parent(s): 587c8e5

Upload components/Specifications.jsx with huggingface_hub

Browse files
Files changed (1) hide show
  1. components/Specifications.jsx +80 -0
components/Specifications.jsx ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Check } from 'lucide-react';
2
+
3
+ export default function Specifications() {
4
+ const specs = [
5
+ { category: 'Mechanical', items: [
6
+ { label: 'Degrees of Freedom', value: '6 DOF' },
7
+ { label: 'Reach', value: '50 cm' },
8
+ { label: 'Payload', value: 'Up to 1 kg' },
9
+ { label: 'Repeatability', value: '±0.5 mm' },
10
+ { label: 'Weight', value: '3.5 kg' },
11
+ ]},
12
+ { category: 'Electrical', items: [
13
+ { label: 'Voltage', value: '12V DC' },
14
+ { label: 'Power Consumption', value: 'Max 50W' },
15
+ { label: 'Communication', value: 'USB-C, WiFi, Bluetooth' },
16
+ { label: 'Sensors', value: 'Position, Temperature, Current' },
17
+ ]},
18
+ { category: 'Software', items: [
19
+ { label: 'Programming', value: 'Python, ROS, C++' },
20
+ { label: 'Control', value: 'Inverse Kinematics' },
21
+ { label: 'API', value: 'REST, WebSocket' },
22
+ { label: 'Compatibility', value: 'Linux, macOS, Windows' },
23
+ ]},
24
+ ];
25
+
26
+ const includes = [
27
+ 'Reachy Mini Robotic Arm',
28
+ 'Power Supply (12V, 5A)',
29
+ 'USB-C Cable',
30
+ 'Quick Start Guide',
31
+ 'Access to Online Documentation',
32
+ 'Community Support Access',
33
+ ];
34
+
35
+ return (
36
+ <section id="specs" className="py-24">
37
+ <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
38
+ <div className="text-center mb-16">
39
+ <h2 className="text-4xl font-bold mb-4">
40
+ <span className="text-gradient">Technical Specifications</span>
41
+ </h2>
42
+ <p className="text-gray-400 text-lg max-w-2xl mx-auto">
43
+ Detailed specifications to help you integrate Reachy Mini into your projects
44
+ </p>
45
+ </div>
46
+
47
+ <div className="grid lg:grid-cols-3 gap-8 mb-16">
48
+ {specs.map((specGroup, index) => (
49
+ <div key={index} className="bg-gray-800/50 border border-gray-700 rounded-2xl p-8">
50
+ <h3 className="text-xl font-semibold mb-6 text-primary-400">{specGroup.category}</h3>
51
+ <div className="space-y-4">
52
+ {specGroup.items.map((item, itemIndex) => (
53
+ <div key={itemIndex} className="flex justify-between items-start border-b border-gray-700 pb-3 last:border-0">
54
+ <span className="text-gray-400">{item.label}</span>
55
+ <span className="text-white font-medium text-right">{item.value}</span>
56
+ </div>
57
+ ))}
58
+ </div>
59
+ </div>
60
+ ))}
61
+ </div>
62
+
63
+ {/* What's included */}
64
+ <div className="bg-gradient-to-r from-primary-900/20 to-accent-900/20 border border-gray-700 rounded-2xl p-8 lg:p-12">
65
+ <h3 className="text-2xl font-semibold mb-8 text-center">What's in the Box</h3>
66
+ <div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
67
+ {includes.map((item, index) => (
68
+ <div key={index} className="flex items-center space-x-3">
69
+ <div className="w-6 h-6 bg-accent-500 rounded-full flex items-center justify-center flex-shrink-0">
70
+ <Check className="w-4 h-4 text-white" />
71
+ </div>
72
+ <span className="text-gray-300">{item}</span>
73
+ </div>
74
+ ))}
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </section>
79
+ );
80
+ }