Spaces:
Sleeping
Sleeping
Update src/components/ReportCard.jsx
Browse files- src/components/ReportCard.jsx +18 -18
src/components/ReportCard.jsx
CHANGED
|
@@ -1,43 +1,43 @@
|
|
| 1 |
export default function ReportCard({ data }) {
|
| 2 |
if (!data) return null;
|
| 3 |
return (
|
| 4 |
-
<div className="glass-card
|
| 5 |
-
{/* توهج
|
| 6 |
<div
|
| 7 |
-
className="absolute -top-
|
| 8 |
style={{ background: data.color }}
|
| 9 |
/>
|
| 10 |
|
| 11 |
<div className="relative z-10">
|
| 12 |
-
<div className="flex justify-between items-start mb-6 pb-
|
| 13 |
<div>
|
| 14 |
-
<h2 className="text-[10px] uppercase tracking-widest text-
|
| 15 |
<h1 className="text-2xl font-bold" style={{ color: data.color }}>{data.title}</h1>
|
| 16 |
</div>
|
| 17 |
-
<div className="text-4xl font-black opacity-[0.03]
|
| 18 |
{data.stamp}
|
| 19 |
</div>
|
| 20 |
</div>
|
| 21 |
|
| 22 |
-
<div className="space-y-3 mb-
|
| 23 |
{data.findings.map((f, i) => (
|
| 24 |
-
<div key={i} className="flex gap-3 text-sm text-
|
| 25 |
-
<div className="w-1.5 h-1.5 rounded-full" style={{ background: data.color }} />
|
| 26 |
-
<span>{f}</span>
|
| 27 |
</div>
|
| 28 |
))}
|
| 29 |
</div>
|
| 30 |
|
| 31 |
-
<div className="p-4 rounded-xl bg-black/
|
| 32 |
-
<div className="flex justify-between text-xs font-mono text-
|
| 33 |
-
<span>
|
| 34 |
-
<span style={{ color: data.color }}>{data.confidence}%</span>
|
| 35 |
</div>
|
| 36 |
-
<div className="w-full h-1
|
| 37 |
-
<div className="h-full transition-all duration-1000" style={{ width: `${data.confidence}%`, background: data.color }} />
|
| 38 |
</div>
|
| 39 |
-
<div className="text-[10px] text-
|
| 40 |
-
<div className="text-sm font-medium text-white">"{data.verdict}"</div>
|
| 41 |
</div>
|
| 42 |
</div>
|
| 43 |
</div>
|
|
|
|
| 1 |
export default function ReportCard({ data }) {
|
| 2 |
if (!data) return null;
|
| 3 |
return (
|
| 4 |
+
<div className="glass-card overflow-hidden" style={{ animation: "fadeUp 0.5s ease both" }}>
|
| 5 |
+
{/* هالة التوهج الديناميكية المرتبطة بالتخصص */}
|
| 6 |
<div
|
| 7 |
+
className="absolute -top-24 -right-24 w-52 h-52 rounded-full blur-[80px] opacity-20 pointer-events-none"
|
| 8 |
style={{ background: data.color }}
|
| 9 |
/>
|
| 10 |
|
| 11 |
<div className="relative z-10">
|
| 12 |
+
<div className="flex justify-between items-start mb-6 pb-5 border-b border-white/5">
|
| 13 |
<div>
|
| 14 |
+
<h2 className="text-[10px] font-mono uppercase tracking-widest text-neutral-500 mb-1">ANALYSIS_METRICS</h2>
|
| 15 |
<h1 className="text-2xl font-bold" style={{ color: data.color }}>{data.title}</h1>
|
| 16 |
</div>
|
| 17 |
+
<div className="text-4xl font-mono font-black opacity-[0.03] select-none text-white absolute top-0 left-0">
|
| 18 |
{data.stamp}
|
| 19 |
</div>
|
| 20 |
</div>
|
| 21 |
|
| 22 |
+
<div className="space-y-3 mb-6">
|
| 23 |
{data.findings.map((f, i) => (
|
| 24 |
+
<div key={i} className="flex gap-3 text-sm text-neutral-200 bg-white/[0.02] p-3.5 rounded-xl border border-white/5 items-center">
|
| 25 |
+
<div className="w-1.5 h-1.5 rounded-full flex-shrink-0" style={{ background: data.color }} />
|
| 26 |
+
<span className="leading-relaxed">{f}</span>
|
| 27 |
</div>
|
| 28 |
))}
|
| 29 |
</div>
|
| 30 |
|
| 31 |
+
<div className="p-4 rounded-xl bg-black/30 border border-white/5">
|
| 32 |
+
<div className="flex justify-between text-xs font-mono text-neutral-500 mb-2">
|
| 33 |
+
<span>مؤشر اليقين الرقمي</span>
|
| 34 |
+
<span style={{ color: data.color }} className="font-bold">{data.confidence}%</span>
|
| 35 |
</div>
|
| 36 |
+
<div className="w-full h-1 bg-white/5 rounded-full overflow-hidden mb-4">
|
| 37 |
+
<div className="h-full transition-all duration-1000 ease-out" style={{ width: `${data.confidence}%`, background: data.color }} />
|
| 38 |
</div>
|
| 39 |
+
<div className="text-[10px] font-mono text-neutral-500 mb-1.5 uppercase tracking-wider">الخلاصة الميدانية:</div>
|
| 40 |
+
<div className="text-sm font-medium text-white leading-relaxed">"{data.verdict}"</div>
|
| 41 |
</div>
|
| 42 |
</div>
|
| 43 |
</div>
|