Spaces:
Build error
Build error
Upload components/Stats.jsx with huggingface_hub
Browse files- components/Stats.jsx +36 -0
components/Stats.jsx
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { motion } from 'framer-motion';
|
| 2 |
+
import { TrendingUp, Users, Zap, Globe } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
export default function Stats() {
|
| 5 |
+
const stats = [
|
| 6 |
+
{ icon: <TrendingUp className="w-8 h-8 text-purple-400" />, value: "98%", label: "User Satisfaction" },
|
| 7 |
+
{ icon: <Users className="w-8 h-8 text-blue-400" />, value: "50K+", label: "Active Users" },
|
| 8 |
+
{ icon: <Zap className="w-8 h-8 text-cyan-400" />, value: "2ms", label: "Response Time" },
|
| 9 |
+
{ icon: <Globe className="w-8 h-8 text-emerald-400" />, value: "190+", label: "Countries" }
|
| 10 |
+
];
|
| 11 |
+
|
| 12 |
+
return (
|
| 13 |
+
<section className="py-20 bg-slate-900 relative overflow-hidden">
|
| 14 |
+
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
| 15 |
+
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8">
|
| 16 |
+
{stats.map((stat, index) => (
|
| 17 |
+
<motion.div
|
| 18 |
+
key={index}
|
| 19 |
+
className="text-center p-6 rounded-2xl bg-slate-800/30 border border-slate-700 backdrop-blur-sm"
|
| 20 |
+
initial={{ opacity: 0, y: 40 }}
|
| 21 |
+
whileInView={{ opacity: 1, y: 0 }}
|
| 22 |
+
viewport={{ once: true }}
|
| 23 |
+
transition={{ delay: index * 0.1 }}
|
| 24 |
+
>
|
| 25 |
+
<div className="w-16 h-16 mx-auto mb-6 rounded-2xl bg-slate-900/50 flex items-center justify-center">
|
| 26 |
+
{stat.icon}
|
| 27 |
+
</div>
|
| 28 |
+
<div className="text-4xl md:text-5xl font-bold text-white mb-2">{stat.value}</div>
|
| 29 |
+
<div className="text-slate-400">{stat.label}</div>
|
| 30 |
+
</motion.div>
|
| 31 |
+
))}
|
| 32 |
+
</div>
|
| 33 |
+
</div>
|
| 34 |
+
</section>
|
| 35 |
+
);
|
| 36 |
+
}
|