🎨 Stats bar component
Browse files
web/src/components/home/StatsBar.tsx
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"use client";
|
| 2 |
+
|
| 3 |
+
export function StatsBar() {
|
| 4 |
+
const stats = [
|
| 5 |
+
{ value: "+21%", label: "F1 on Bridge Queries", color: "#FF6B00" },
|
| 6 |
+
{ value: "4", label: "AI Factory Layers", color: "#002B49" },
|
| 7 |
+
{ value: "12", label: "LLM Providers", color: "#0072CE" },
|
| 8 |
+
{ value: "5", label: "Novel Features", color: "#cc785c" },
|
| 9 |
+
{ value: "55", label: "Unit Tests", color: "#5db8a6" },
|
| 10 |
+
];
|
| 11 |
+
|
| 12 |
+
return (
|
| 13 |
+
<section style={{ background: "var(--color-surface-dark)", padding: "0" }}>
|
| 14 |
+
<div className="container-wide">
|
| 15 |
+
<div className="grid grid-cols-2 md:grid-cols-5 gap-0">
|
| 16 |
+
{stats.map((stat, i) => (
|
| 17 |
+
<div
|
| 18 |
+
key={i}
|
| 19 |
+
className="text-center animate-fade-in-up"
|
| 20 |
+
style={{
|
| 21 |
+
padding: "32px 16px",
|
| 22 |
+
borderRight: i < stats.length - 1 ? "1px solid rgba(255,255,255,0.06)" : "none",
|
| 23 |
+
animationDelay: `${i * 0.1}s`,
|
| 24 |
+
}}
|
| 25 |
+
>
|
| 26 |
+
<div className="metric-value" style={{ color: stat.color, fontSize: "2rem" }}>
|
| 27 |
+
{stat.value}
|
| 28 |
+
</div>
|
| 29 |
+
<div className="body-sm" style={{ color: "var(--color-on-dark-soft)", marginTop: "4px" }}>
|
| 30 |
+
{stat.label}
|
| 31 |
+
</div>
|
| 32 |
+
</div>
|
| 33 |
+
))}
|
| 34 |
+
</div>
|
| 35 |
+
</div>
|
| 36 |
+
</section>
|
| 37 |
+
);
|
| 38 |
+
}
|