Spaces:
Sleeping
Sleeping
Upload 10 files
Browse files- views/landing/AssetFoundry.tsx +103 -0
- views/landing/EncryptionProtocol.tsx +59 -0
- views/landing/IntelligenceAlpha.tsx +172 -0
- views/landing/LiquidityMesh.tsx +102 -0
- views/landing/NexusNode.tsx +188 -0
- views/landing/OracleAuthority.tsx +174 -0
- views/landing/PrivacyManifesto.tsx +67 -0
- views/landing/QuantumCompute.tsx +80 -0
- views/landing/RegistryVault.tsx +92 -0
- views/landing/SystemFabric.tsx +146 -0
views/landing/AssetFoundry.tsx
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState } from 'react';
|
| 2 |
+
import { Hammer, Zap, Box, Layers, ArrowUpRight, CheckCircle2, FlaskConical } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const AssetFoundry: React.FC = () => {
|
| 5 |
+
const [forging, setForging] = useState(false);
|
| 6 |
+
|
| 7 |
+
const startForge = () => {
|
| 8 |
+
setForging(true);
|
| 9 |
+
setTimeout(() => setForging(false), 3000);
|
| 10 |
+
};
|
| 11 |
+
|
| 12 |
+
return (
|
| 13 |
+
<section className="py-40 border-b border-zinc-900 bg-black">
|
| 14 |
+
<div className="max-w-7xl mx-auto px-10 grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 15 |
+
<div className="relative group order-2 lg:order-1">
|
| 16 |
+
<div className="absolute -inset-2 bg-gradient-to-br from-amber-500/30 to-blue-500/30 blur-3xl opacity-20 group-hover:opacity-100 transition-opacity duration-1000"></div>
|
| 17 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-16 aspect-[4/5] flex flex-col justify-between shadow-2xl relative z-10 overflow-hidden">
|
| 18 |
+
<div className="flex justify-between items-start">
|
| 19 |
+
<div className="space-y-2">
|
| 20 |
+
<div className="inline-flex items-center gap-2 px-3 py-1 bg-amber-500/10 text-amber-500 border border-amber-500/20 rounded-full">
|
| 21 |
+
<Zap size={10} className="animate-pulse" />
|
| 22 |
+
<span className="text-[9px] font-black uppercase tracking-widest">Synthesis Node</span>
|
| 23 |
+
</div>
|
| 24 |
+
<h3 className="text-4xl font-black text-white italic tracking-tighter uppercase leading-none">Quantum Relic <br /> <span className="text-zinc-600">#8821</span></h3>
|
| 25 |
+
</div>
|
| 26 |
+
<div className="p-4 bg-zinc-900 border border-zinc-800 rounded-3xl text-amber-500">
|
| 27 |
+
<FlaskConical size={32} />
|
| 28 |
+
</div>
|
| 29 |
+
</div>
|
| 30 |
+
|
| 31 |
+
<div className="flex-1 my-12 bg-black rounded-[3rem] border border-zinc-900 flex items-center justify-center overflow-hidden relative group/inner">
|
| 32 |
+
<div className={`transition-all duration-1000 ${forging ? 'scale-125 opacity-0 blur-2xl' : 'scale-100 opacity-100 blur-0'}`}>
|
| 33 |
+
<Box size={220} className="text-blue-500 opacity-10 group-hover/inner:opacity-20 transition-opacity" />
|
| 34 |
+
</div>
|
| 35 |
+
<div className={`absolute inset-0 flex items-center justify-center transition-all duration-700 ${forging ? 'scale-150 opacity-100' : 'scale-0 opacity-0'}`}>
|
| 36 |
+
<div className="w-64 h-64 bg-amber-500/20 rounded-full blur-[100px] animate-pulse"></div>
|
| 37 |
+
<Zap size={120} className="text-amber-500 animate-bounce" />
|
| 38 |
+
</div>
|
| 39 |
+
{!forging && (
|
| 40 |
+
<div className="absolute bottom-10 inset-x-0 flex justify-center animate-in fade-in slide-in-from-bottom-4">
|
| 41 |
+
<button
|
| 42 |
+
onClick={startForge}
|
| 43 |
+
className="px-10 py-5 bg-white text-black rounded-2xl font-black text-[10px] uppercase tracking-[0.4em] hover:scale-105 transition-all shadow-2xl"
|
| 44 |
+
>
|
| 45 |
+
Execute Synthesis
|
| 46 |
+
</button>
|
| 47 |
+
</div>
|
| 48 |
+
)}
|
| 49 |
+
</div>
|
| 50 |
+
|
| 51 |
+
<div className="grid grid-cols-3 gap-6">
|
| 52 |
+
{[
|
| 53 |
+
{ l: 'Forge State', v: forging ? 'ACTIVE' : 'READY', c: forging ? 'text-amber-500' : 'text-emerald-500' },
|
| 54 |
+
{ l: 'Asset Grade', v: 'ELITE', c: 'text-white' },
|
| 55 |
+
{ l: 'Block State', v: 'MINED', c: 'text-zinc-500' },
|
| 56 |
+
].map((t, i) => (
|
| 57 |
+
<div key={i} className="p-4 bg-zinc-900/50 border border-zinc-800 rounded-2xl text-center space-y-1">
|
| 58 |
+
<p className="text-[8px] font-black text-zinc-600 uppercase tracking-widest">{t.l}</p>
|
| 59 |
+
<p className={`text-[10px] font-black uppercase tracking-widest ${t.c}`}>{t.v}</p>
|
| 60 |
+
</div>
|
| 61 |
+
))}
|
| 62 |
+
</div>
|
| 63 |
+
</div>
|
| 64 |
+
</div>
|
| 65 |
+
|
| 66 |
+
<div className="space-y-12 order-1 lg:order-2">
|
| 67 |
+
<div className="space-y-6">
|
| 68 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-amber-500/10 border border-amber-500/20 rounded-full">
|
| 69 |
+
<div className="w-1.5 h-1.5 rounded-full bg-amber-500 animate-pulse"></div>
|
| 70 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-amber-500">Relic_Synthesis</span>
|
| 71 |
+
</div>
|
| 72 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 73 |
+
Asset <br /> <span className="text-amber-500 not-italic">Foundry</span>
|
| 74 |
+
</h2>
|
| 75 |
+
</div>
|
| 76 |
+
<p className="text-zinc-400 text-2xl leading-relaxed font-bold italic">
|
| 77 |
+
"Forging <span className="text-white">neural relics</span> from the heat of transaction data. Our foundry synthesizes high-fidelity digital assets that represent <span className="text-amber-500">institutional milestones</span> within the quantum mesh."
|
| 78 |
+
</p>
|
| 79 |
+
<ul className="space-y-8">
|
| 80 |
+
{[
|
| 81 |
+
'Neural Block Validation',
|
| 82 |
+
'IPFS Metadata Pinning',
|
| 83 |
+
'Proof of Transaction Heritage',
|
| 84 |
+
'Smart Contract Encapsulation'
|
| 85 |
+
].map((u, i) => (
|
| 86 |
+
<li key={i} className="flex items-center gap-8 group cursor-default">
|
| 87 |
+
<div className="w-12 h-12 bg-zinc-950 border border-zinc-900 rounded-2xl flex items-center justify-center text-zinc-700 group-hover:text-amber-500 group-hover:border-amber-500/30 transition-all shadow-xl">
|
| 88 |
+
<Hammer size={20} />
|
| 89 |
+
</div>
|
| 90 |
+
<div className="space-y-0.5">
|
| 91 |
+
<p className="text-[9px] font-black text-zinc-600 uppercase tracking-widest group-hover:text-amber-500 transition-colors">Protocol v6.0</p>
|
| 92 |
+
<p className="text-lg font-black text-white uppercase italic tracking-tighter">{u}</p>
|
| 93 |
+
</div>
|
| 94 |
+
</li>
|
| 95 |
+
))}
|
| 96 |
+
</ul>
|
| 97 |
+
</div>
|
| 98 |
+
</div>
|
| 99 |
+
</section>
|
| 100 |
+
);
|
| 101 |
+
};
|
| 102 |
+
|
| 103 |
+
export default AssetFoundry;
|
views/landing/EncryptionProtocol.tsx
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React from 'react';
|
| 2 |
+
import { Lock, ShieldCheck, RefreshCw, ShieldAlert, Fingerprint, Key, Layers } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const EncryptionProtocol: React.FC = () => {
|
| 5 |
+
return (
|
| 6 |
+
<section className="py-40 border-b border-zinc-900 bg-black relative">
|
| 7 |
+
<div className="max-w-7xl mx-auto px-10 text-center space-y-16">
|
| 8 |
+
<div className="space-y-6">
|
| 9 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-blue-500/10 border border-blue-500/20 rounded-full mx-auto">
|
| 10 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"></div>
|
| 11 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-blue-500">RSA_Handshake</span>
|
| 12 |
+
</div>
|
| 13 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 14 |
+
Encryption <br /> <span className="text-blue-500 not-italic">Protocol</span>
|
| 15 |
+
</h2>
|
| 16 |
+
</div>
|
| 17 |
+
|
| 18 |
+
<p className="text-zinc-500 text-3xl max-w-5xl mx-auto leading-relaxed font-bold italic mb-32">
|
| 19 |
+
"Utilizing <span className="text-white">RSA-OAEP-4096</span> and high-entropy neural seeds to secure every Machine-to-Machine handshake. Our security grade is <span className="text-blue-500">beyond</span> institutional standards."
|
| 20 |
+
</p>
|
| 21 |
+
|
| 22 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10">
|
| 23 |
+
{[
|
| 24 |
+
{ label: 'AES-256', val: 'TUNNELING', icon: ShieldCheck, sub: 'Payload Encapsulation' },
|
| 25 |
+
{ label: 'RSA-4096', val: 'HANDSHAKE', icon: Lock, sub: 'Identity Verification' },
|
| 26 |
+
{ label: 'Seeds', val: 'ROTATING', icon: RefreshCw, sub: 'Entropy Refresh' },
|
| 27 |
+
{ label: 'Breach Prob', val: '0.00%', icon: ShieldAlert, sub: 'Calculated Risk' },
|
| 28 |
+
].map((e, i) => (
|
| 29 |
+
<div key={i} className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-blue-500/50 transition-all relative overflow-hidden text-left shadow-2xl">
|
| 30 |
+
<div className="absolute top-0 right-0 p-8 opacity-5 group-hover:opacity-10 transition-opacity">
|
| 31 |
+
<e.icon size={140} />
|
| 32 |
+
</div>
|
| 33 |
+
<div className={`w-16 h-16 bg-blue-600/10 text-blue-500 rounded-3xl flex items-center justify-center mb-12 group-hover:scale-110 transition-transform ${e.label === 'Seeds' ? 'animate-spin [animation-duration:10s]' : ''}`}>
|
| 34 |
+
<e.icon size={32} />
|
| 35 |
+
</div>
|
| 36 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest mb-3 flex items-center gap-2">
|
| 37 |
+
<span className="w-1.5 h-1.5 rounded-full bg-blue-500"></span>
|
| 38 |
+
{e.label}
|
| 39 |
+
</p>
|
| 40 |
+
<h5 className="text-2xl font-black text-white uppercase italic tracking-tighter mb-2 leading-none">{e.val}</h5>
|
| 41 |
+
<p className="text-[9px] font-bold text-zinc-700 uppercase tracking-widest">{e.sub}</p>
|
| 42 |
+
</div>
|
| 43 |
+
))}
|
| 44 |
+
</div>
|
| 45 |
+
|
| 46 |
+
<div className="pt-40 flex flex-col items-center gap-12">
|
| 47 |
+
<div className="flex gap-16 grayscale opacity-20 hover:grayscale-0 hover:opacity-100 transition-all duration-700">
|
| 48 |
+
<Fingerprint size={64} className="text-zinc-500" />
|
| 49 |
+
<Key size={64} className="text-zinc-500" />
|
| 50 |
+
<Layers size={64} className="text-zinc-500" />
|
| 51 |
+
</div>
|
| 52 |
+
<p className="text-zinc-700 text-[10px] font-black uppercase tracking-[1em]">Absolute Security Architecture v6.2</p>
|
| 53 |
+
</div>
|
| 54 |
+
</div>
|
| 55 |
+
</section>
|
| 56 |
+
);
|
| 57 |
+
};
|
| 58 |
+
|
| 59 |
+
export default EncryptionProtocol;
|
views/landing/IntelligenceAlpha.tsx
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useMemo, useEffect } from 'react';
|
| 2 |
+
import { TrendingUp, Activity, BrainCircuit, Zap, BarChart3, Database, Shield, Globe, Cpu, ArrowUpRight } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const IntelligenceAlpha: React.FC = () => {
|
| 5 |
+
const [activeCell, setActiveCell] = useState<number | null>(null);
|
| 6 |
+
const [predictionCycle, setPredictionCycle] = useState(0);
|
| 7 |
+
const [confidence, setConfidence] = useState(98.4);
|
| 8 |
+
const [marketBias, setMarketBias] = useState('BULLISH');
|
| 9 |
+
|
| 10 |
+
// High-density grid simulation
|
| 11 |
+
const grid = useMemo(() => Array.from({ length: 64 }, (_, i) => ({
|
| 12 |
+
id: i,
|
| 13 |
+
intensity: Math.random() * 100,
|
| 14 |
+
signal: (Math.random() * 10).toFixed(2),
|
| 15 |
+
coord: `NODE_${Math.floor(i/8)}_${i%8}`
|
| 16 |
+
})), []);
|
| 17 |
+
|
| 18 |
+
useEffect(() => {
|
| 19 |
+
const interval = setInterval(() => {
|
| 20 |
+
setPredictionCycle(prev => (prev + 1) % 100);
|
| 21 |
+
setConfidence(prev => Math.max(95, Math.min(99.9, prev + (Math.random() - 0.5))));
|
| 22 |
+
if (Math.random() > 0.95) setMarketBias(b => b === 'BULLISH' ? 'STABLE' : 'BULLISH');
|
| 23 |
+
}, 3000);
|
| 24 |
+
return () => clearInterval(interval);
|
| 25 |
+
}, []);
|
| 26 |
+
|
| 27 |
+
return (
|
| 28 |
+
<section className="py-60 border-b border-zinc-900 bg-[#050505] relative overflow-hidden">
|
| 29 |
+
{/* Decorative Neural Web Background */}
|
| 30 |
+
<div className="absolute inset-0 opacity-[0.03] pointer-events-none">
|
| 31 |
+
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
|
| 32 |
+
<defs>
|
| 33 |
+
<pattern id="neural-grid" width="100" height="100" patternUnits="userSpaceOnUse">
|
| 34 |
+
<circle cx="2" cy="2" r="1" fill="#3b82f6" />
|
| 35 |
+
<path d="M0 0 L100 100 M100 0 L0 100" stroke="#3b82f6" strokeWidth="0.5" />
|
| 36 |
+
</pattern>
|
| 37 |
+
</defs>
|
| 38 |
+
<rect width="100%" height="100%" fill="url(#neural-grid)" />
|
| 39 |
+
</svg>
|
| 40 |
+
</div>
|
| 41 |
+
|
| 42 |
+
<div className="max-w-7xl mx-auto px-10 relative z-10">
|
| 43 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 44 |
+
<div className="order-2 lg:order-1 relative group">
|
| 45 |
+
<div className="absolute -inset-10 bg-emerald-500/5 blur-[120px] rounded-full opacity-50 group-hover:opacity-100 transition-opacity duration-1000"></div>
|
| 46 |
+
|
| 47 |
+
<div className="bg-black border border-zinc-900 rounded-[5rem] p-16 shadow-[0_50px_100px_rgba(0,0,0,0.8)] relative z-10 overflow-hidden">
|
| 48 |
+
<div className="flex justify-between items-center mb-12">
|
| 49 |
+
<div className="flex items-center gap-6">
|
| 50 |
+
<div className="p-4 bg-emerald-500/10 text-emerald-500 rounded-[1.8rem] border border-emerald-500/20 shadow-2xl">
|
| 51 |
+
<BrainCircuit size={32} />
|
| 52 |
+
</div>
|
| 53 |
+
<div>
|
| 54 |
+
<h4 className="text-white font-black uppercase tracking-[0.3em] italic text-sm">Neural Synthesis Grid</h4>
|
| 55 |
+
<p className="text-[9px] text-zinc-600 font-black uppercase mt-1">Matrix: 8x8 • Entropy: 0.0042</p>
|
| 56 |
+
</div>
|
| 57 |
+
</div>
|
| 58 |
+
<div className="flex flex-col items-end">
|
| 59 |
+
<div className="flex items-center gap-2 mb-1">
|
| 60 |
+
<div className="w-1.5 h-1.5 rounded-full bg-emerald-500 animate-ping"></div>
|
| 61 |
+
<span className="text-[10px] font-black text-emerald-500 uppercase tracking-widest">Cycle #{predictionCycle}</span>
|
| 62 |
+
</div>
|
| 63 |
+
<p className="text-[8px] font-black text-zinc-700 uppercase tracking-widest">Parity Synchronized</p>
|
| 64 |
+
</div>
|
| 65 |
+
</div>
|
| 66 |
+
|
| 67 |
+
{/* Dense Interaction Grid */}
|
| 68 |
+
<div className="grid grid-cols-8 gap-4 h-96">
|
| 69 |
+
{grid.map((cell) => (
|
| 70 |
+
<div
|
| 71 |
+
key={cell.id}
|
| 72 |
+
onMouseEnter={() => setActiveCell(cell.id)}
|
| 73 |
+
onMouseLeave={() => setActiveCell(null)}
|
| 74 |
+
className="bg-zinc-900/40 border border-zinc-800/50 rounded-xl relative overflow-hidden group cursor-crosshair transition-all hover:scale-125 hover:z-30 hover:border-emerald-500/50 hover:shadow-2xl hover:shadow-emerald-500/10"
|
| 75 |
+
>
|
| 76 |
+
<div
|
| 77 |
+
className="absolute inset-0 bg-emerald-500 transition-opacity duration-1000"
|
| 78 |
+
style={{ opacity: cell.intensity / 500 }}
|
| 79 |
+
></div>
|
| 80 |
+
{activeCell === cell.id && (
|
| 81 |
+
<div className="absolute inset-0 flex flex-col items-center justify-center bg-black/90 animate-in zoom-in-50 duration-300">
|
| 82 |
+
<span className="text-[8px] font-black text-emerald-500 mono leading-none mb-0.5">{cell.signal}</span>
|
| 83 |
+
<span className="text-[6px] font-black text-zinc-600 mono leading-none">{cell.coord}</span>
|
| 84 |
+
</div>
|
| 85 |
+
)}
|
| 86 |
+
<div className="absolute top-1 left-1 w-0.5 h-0.5 rounded-full bg-white/5"></div>
|
| 87 |
+
</div>
|
| 88 |
+
))}
|
| 89 |
+
</div>
|
| 90 |
+
|
| 91 |
+
<div className="mt-12 grid grid-cols-2 gap-8">
|
| 92 |
+
<div className="p-8 bg-zinc-900/30 border border-zinc-800 rounded-[3rem] space-y-4 group/box hover:border-emerald-500/20 transition-all">
|
| 93 |
+
<div className="flex items-center justify-between">
|
| 94 |
+
<div className="flex items-center gap-3">
|
| 95 |
+
<Activity size={18} className="text-emerald-500" />
|
| 96 |
+
<span className="text-[9px] font-black text-white uppercase tracking-widest">Sentiment Bias</span>
|
| 97 |
+
</div>
|
| 98 |
+
<span className="text-xs font-black text-emerald-500 mono">{marketBias}</span>
|
| 99 |
+
</div>
|
| 100 |
+
<div className="h-1.5 w-full bg-zinc-950 rounded-full overflow-hidden">
|
| 101 |
+
<div className="h-full bg-emerald-500 shadow-[0_0_8px_#10b981]" style={{ width: '74%' }}></div>
|
| 102 |
+
</div>
|
| 103 |
+
</div>
|
| 104 |
+
<div className="p-8 bg-zinc-900/30 border border-zinc-800 rounded-[3rem] space-y-4 group/box hover:border-emerald-500/20 transition-all">
|
| 105 |
+
<div className="flex items-center justify-between">
|
| 106 |
+
<div className="flex items-center gap-3">
|
| 107 |
+
<ArrowUpRight size={18} className="text-emerald-500" />
|
| 108 |
+
<span className="text-[9px] font-black text-white uppercase tracking-widest">Alpha Prediction</span>
|
| 109 |
+
</div>
|
| 110 |
+
<span className="text-xs font-black text-emerald-500 mono">+14.2%</span>
|
| 111 |
+
</div>
|
| 112 |
+
<p className="text-[9px] text-zinc-600 font-bold uppercase leading-none">Expected Drift (24h)</p>
|
| 113 |
+
</div>
|
| 114 |
+
</div>
|
| 115 |
+
|
| 116 |
+
<div className="mt-8 p-6 bg-emerald-500/5 border border-emerald-500/10 rounded-[2rem]">
|
| 117 |
+
<p className="text-xs text-zinc-500 font-medium leading-relaxed italic text-center">
|
| 118 |
+
"LQI Oracle detects high-confidence institutional accumulation patterns on Layer 2 protocols. Executing directional alpha signals."
|
| 119 |
+
</p>
|
| 120 |
+
</div>
|
| 121 |
+
</div>
|
| 122 |
+
</div>
|
| 123 |
+
|
| 124 |
+
<div className="order-1 lg:order-2 space-y-16">
|
| 125 |
+
<div className="space-y-8">
|
| 126 |
+
<div className="inline-flex items-center gap-4 px-6 py-2.5 bg-emerald-500/10 border border-emerald-500/20 rounded-full animate-in slide-in-from-right-4 duration-700">
|
| 127 |
+
<Cpu size={16} className="text-emerald-500 animate-pulse" />
|
| 128 |
+
<span className="text-[11px] font-black uppercase tracking-[0.4em] text-emerald-500">Neural_Logic_Tier_1</span>
|
| 129 |
+
</div>
|
| 130 |
+
<h2 className="text-[6rem] lg:text-[10rem] font-black italic text-white uppercase tracking-tighter leading-[0.8] mb-4">Neural <br /> <span className="text-emerald-500 not-italic">Alpha</span></h2>
|
| 131 |
+
<p className="text-zinc-400 text-3xl font-bold italic leading-relaxed">
|
| 132 |
+
"Our <span className="text-white">Lumina Oracle</span> processes petabytes of financial metadata to generate actionable insights. By leveraging subspace <span className="text-emerald-500">entanglement</span>, we predict market shifts before they reach consensus."
|
| 133 |
+
</p>
|
| 134 |
+
</div>
|
| 135 |
+
|
| 136 |
+
<div className="space-y-8">
|
| 137 |
+
{[
|
| 138 |
+
{ title: 'Alpha Signal', desc: 'Real-time directional drift detection', state: 'ACTIVE', icon: Zap, color: 'emerald' },
|
| 139 |
+
{ title: 'Confidence', desc: 'Predictive mathematical precision', state: `${confidence.toFixed(1)}%`, icon: BarChart3, color: 'blue' },
|
| 140 |
+
{ title: 'Protocol Mask', desc: 'Deterministic consensus trace', state: 'VERIFIED', icon: Database, color: 'purple' },
|
| 141 |
+
{ title: 'Global Parity', desc: 'Node-to-Node verification', state: '100%', icon: Globe, color: 'amber' },
|
| 142 |
+
].map((node, i) => (
|
| 143 |
+
<div key={i} className="flex items-center justify-between p-10 bg-zinc-950 border border-zinc-900 rounded-[3.5rem] group hover:border-emerald-500/20 transition-all hover:translate-x-4 shadow-2xl relative overflow-hidden">
|
| 144 |
+
<div className="absolute top-0 right-0 p-8 opacity-[0.02] group-hover:opacity-10 transition-opacity">
|
| 145 |
+
<node.icon size={120} />
|
| 146 |
+
</div>
|
| 147 |
+
<div className="flex items-center gap-10">
|
| 148 |
+
<div className={`p-6 bg-zinc-900 rounded-3xl text-zinc-700 group-hover:text-${node.color}-500 transition-colors shadow-2xl border border-white/5`}>
|
| 149 |
+
<node.icon size={32} />
|
| 150 |
+
</div>
|
| 151 |
+
<div>
|
| 152 |
+
<h4 className="text-white font-black text-lg uppercase tracking-widest italic leading-none mb-2">{node.title}</h4>
|
| 153 |
+
<p className="text-[10px] text-zinc-600 font-black uppercase tracking-[0.2em]">{node.desc}</p>
|
| 154 |
+
</div>
|
| 155 |
+
</div>
|
| 156 |
+
<div className="text-right shrink-0">
|
| 157 |
+
<span className="text-emerald-500 font-black text-xl mono tracking-tighter italic">{node.state}</span>
|
| 158 |
+
<div className="h-1 w-12 bg-zinc-900 rounded-full mt-2 ml-auto overflow-hidden">
|
| 159 |
+
<div className="h-full bg-emerald-500 animate-pulse" style={{ width: '100%' }}></div>
|
| 160 |
+
</div>
|
| 161 |
+
</div>
|
| 162 |
+
</div>
|
| 163 |
+
))}
|
| 164 |
+
</div>
|
| 165 |
+
</div>
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
</section>
|
| 169 |
+
);
|
| 170 |
+
};
|
| 171 |
+
|
| 172 |
+
export default IntelligenceAlpha;
|
views/landing/LiquidityMesh.tsx
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React from 'react';
|
| 2 |
+
import { Waves, Zap, Globe, ArrowDownLeft, Activity, Network } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const LiquidityMesh: React.FC = () => {
|
| 5 |
+
return (
|
| 6 |
+
<section className="py-40 border-b border-zinc-900 bg-black relative">
|
| 7 |
+
<div className="max-w-7xl mx-auto px-10">
|
| 8 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 9 |
+
<div className="space-y-12">
|
| 10 |
+
<div className="space-y-6">
|
| 11 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-blue-500/10 border border-blue-500/20 rounded-full">
|
| 12 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"></div>
|
| 13 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-blue-500">Velocity_Protocol</span>
|
| 14 |
+
</div>
|
| 15 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 16 |
+
Liquidity <br /> <span className="text-blue-600 not-italic">Mesh_Net</span>
|
| 17 |
+
</h2>
|
| 18 |
+
</div>
|
| 19 |
+
<p className="text-zinc-400 text-2xl leading-relaxed font-bold italic">
|
| 20 |
+
"Sub-millisecond <span className="text-white">settlement</span> across every node in the fleet. We optimize for high-volume disbursements where speed is the primary <span className="text-blue-500">security</span> factor."
|
| 21 |
+
</p>
|
| 22 |
+
<div className="grid grid-cols-2 gap-8 pt-6">
|
| 23 |
+
{[
|
| 24 |
+
{ label: 'Mesh Load', val: 'OPTIMAL', sub: 'Sub-space verified', icon: Network },
|
| 25 |
+
{ label: 'Settlement', val: 'REAL-TIME', sub: 'M2M Native', icon: Zap },
|
| 26 |
+
{ label: 'RTP Sync', val: 'ACTIVE', sub: 'Lumina Protocol', icon: Activity },
|
| 27 |
+
{ label: 'Node Range', val: 'GLOBAL', sub: '24 Regions', icon: Globe },
|
| 28 |
+
].map((stat, i) => (
|
| 29 |
+
<div key={i} className="space-y-3">
|
| 30 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest flex items-center gap-2">
|
| 31 |
+
<stat.icon size={12} className="text-blue-500" />
|
| 32 |
+
{stat.label}
|
| 33 |
+
</p>
|
| 34 |
+
<div className="flex items-center gap-3">
|
| 35 |
+
<h4 className="text-3xl font-black text-white italic uppercase tracking-tighter">{stat.val}</h4>
|
| 36 |
+
{stat.val === 'OPTIMAL' && <div className="w-2 h-2 rounded-full bg-emerald-500 animate-pulse shadow-[0_0_10px_#10b981]"></div>}
|
| 37 |
+
</div>
|
| 38 |
+
<p className="text-[9px] font-bold text-zinc-700 uppercase tracking-widest">{stat.sub}</p>
|
| 39 |
+
</div>
|
| 40 |
+
))}
|
| 41 |
+
</div>
|
| 42 |
+
</div>
|
| 43 |
+
|
| 44 |
+
<div className="relative group">
|
| 45 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-16 h-[600px] shadow-2xl relative z-10 flex flex-col justify-end overflow-hidden">
|
| 46 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_100%_0%,_#1e1b4b_0%,_transparent_40%)] opacity-30"></div>
|
| 47 |
+
|
| 48 |
+
<div className="absolute inset-x-0 bottom-0 h-[70%] flex items-end gap-1.5 px-10 opacity-30 pb-20">
|
| 49 |
+
{Array.from({ length: 50 }).map((_, i) => (
|
| 50 |
+
<div
|
| 51 |
+
key={i}
|
| 52 |
+
className="flex-1 bg-blue-600 hover:bg-white transition-all cursor-pointer rounded-t-full"
|
| 53 |
+
style={{
|
| 54 |
+
height: `${20 + Math.random() * 80}%`,
|
| 55 |
+
animation: `float-bar 3s ease-in-out infinite`,
|
| 56 |
+
animationDelay: `${i * 0.05}s`
|
| 57 |
+
}}
|
| 58 |
+
></div>
|
| 59 |
+
))}
|
| 60 |
+
</div>
|
| 61 |
+
|
| 62 |
+
<div className="relative z-10 space-y-8 bg-zinc-950/80 backdrop-blur-xl p-10 rounded-[3rem] border border-zinc-900 shadow-2xl animate-in slide-in-from-bottom-10 duration-1000">
|
| 63 |
+
<div className="flex items-center justify-between">
|
| 64 |
+
<div className="flex items-center gap-4">
|
| 65 |
+
<div className="p-3 bg-blue-600/10 text-blue-500 rounded-2xl border border-blue-500/20">
|
| 66 |
+
<Waves size={24} />
|
| 67 |
+
</div>
|
| 68 |
+
<div>
|
| 69 |
+
<h5 className="text-lg font-black text-white uppercase italic tracking-tighter leading-none">Displacement Wave</h5>
|
| 70 |
+
<p className="text-[9px] text-zinc-600 font-bold uppercase tracking-widest mt-1">Registry Signal: STABLE</p>
|
| 71 |
+
</div>
|
| 72 |
+
</div>
|
| 73 |
+
<div className="p-3 bg-zinc-900 rounded-xl text-blue-400">
|
| 74 |
+
<ArrowDownLeft size={20} />
|
| 75 |
+
</div>
|
| 76 |
+
</div>
|
| 77 |
+
<div className="h-px w-full bg-zinc-900"></div>
|
| 78 |
+
<p className="text-zinc-500 text-sm font-medium leading-relaxed italic">"Global node range coverage verified across all 24 sub-space clusters. Mesh load rebalancing currently executing."</p>
|
| 79 |
+
<div className="flex items-center justify-between">
|
| 80 |
+
<div className="flex items-center gap-2">
|
| 81 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 animate-ping"></div>
|
| 82 |
+
<span className="text-[9px] font-black text-zinc-500 uppercase tracking-widest">Velocity Sync: 100%</span>
|
| 83 |
+
</div>
|
| 84 |
+
<span className="text-[10px] font-black text-white mono uppercase tracking-widest">FDX_NATIVE</span>
|
| 85 |
+
</div>
|
| 86 |
+
</div>
|
| 87 |
+
</div>
|
| 88 |
+
<div className="absolute -bottom-10 -right-10 w-[400px] h-[400px] bg-blue-600/10 blur-[120px] rounded-full"></div>
|
| 89 |
+
</div>
|
| 90 |
+
</div>
|
| 91 |
+
</div>
|
| 92 |
+
<style>{`
|
| 93 |
+
@keyframes float-bar {
|
| 94 |
+
0%, 100% { transform: scaleY(1); opacity: 0.2; }
|
| 95 |
+
50% { transform: scaleY(1.3); opacity: 0.5; }
|
| 96 |
+
}
|
| 97 |
+
`}</style>
|
| 98 |
+
</section>
|
| 99 |
+
);
|
| 100 |
+
};
|
| 101 |
+
|
| 102 |
+
export default LiquidityMesh;
|
views/landing/NexusNode.tsx
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useEffect, useMemo } from 'react';
|
| 2 |
+
import { Network, Activity, Zap, ShieldCheck, Radio, Terminal as TerminalIcon, Cpu, Globe, Server, Layers, Link2 } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const NexusNode: React.FC = () => {
|
| 5 |
+
const [load, setLoad] = useState(82.4);
|
| 6 |
+
const [logs, setLogs] = useState<string[]>([]);
|
| 7 |
+
const [uptime, setUptime] = useState(0);
|
| 8 |
+
const [activePacket, setActivePacket] = useState<number>(0);
|
| 9 |
+
|
| 10 |
+
const nodeStats = useMemo(() => [
|
| 11 |
+
{ id: 'n1', label: 'Identity Protocol', val: 'RSA-OAEP-4096', icon: ShieldCheck, color: 'blue' },
|
| 12 |
+
{ id: 'n2', label: 'Mainnet Status', val: 'SYNCHRONIZED', icon: Activity, color: 'emerald' },
|
| 13 |
+
{ id: 'n3', label: 'Priority Level', val: 'L9 CRITICAL', icon: Zap, color: 'amber' },
|
| 14 |
+
{ id: 'n4', label: 'Sync Latency', val: '0.0004ms', icon: Radio, color: 'purple' },
|
| 15 |
+
], []);
|
| 16 |
+
|
| 17 |
+
useEffect(() => {
|
| 18 |
+
const logInterval = setInterval(() => {
|
| 19 |
+
setLoad(prev => Math.max(70, Math.min(99, prev + (Math.random() - 0.5) * 2)));
|
| 20 |
+
setUptime(u => u + 1);
|
| 21 |
+
setActivePacket(p => (p + 1) % 1000);
|
| 22 |
+
const regions = ['US-EAST-1', 'EU-CENTRAL-1', 'AP-SOUTHEAST-2', 'SA-EAST-1', 'AF-SOUTH-1', 'ME-CENTRAL-1'];
|
| 23 |
+
const actions = ['Parity Check', 'Quantum Handshake', 'Entanglement Verify', 'Fabric Sync', 'Hash Collision Scan', 'Protocol Seal'];
|
| 24 |
+
const newLog = `[${regions[Math.floor(Math.random() * regions.length)]}] ${actions[Math.floor(Math.random() * actions.length)]}: 0x${Math.random().toString(16).substring(2, 10).toUpperCase()} - Parity delta: 0.000${Math.floor(Math.random() * 9)}ns`;
|
| 25 |
+
setLogs(prev => [newLog, ...prev].slice(0, 100));
|
| 26 |
+
}, 1500);
|
| 27 |
+
return () => clearInterval(logInterval);
|
| 28 |
+
}, []);
|
| 29 |
+
|
| 30 |
+
return (
|
| 31 |
+
<section className="py-60 border-b border-zinc-900 relative overflow-hidden bg-black selection:bg-blue-600/30">
|
| 32 |
+
{/* Dynamic Background Mesh */}
|
| 33 |
+
<div className="absolute inset-0 opacity-[0.05] pointer-events-none">
|
| 34 |
+
<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="none">
|
| 35 |
+
<defs>
|
| 36 |
+
<linearGradient id="line-grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
| 37 |
+
<stop offset="0%" stopColor="#3b82f6" stopOpacity="0" />
|
| 38 |
+
<stop offset="50%" stopColor="#3b82f6" stopOpacity="0.5" />
|
| 39 |
+
<stop offset="100%" stopColor="#3b82f6" stopOpacity="0" />
|
| 40 |
+
</linearGradient>
|
| 41 |
+
</defs>
|
| 42 |
+
<line x1="0" y1="20" x2="100" y2="80" stroke="url(#line-grad)" strokeWidth="0.1" />
|
| 43 |
+
<line x1="100" y1="20" x2="0" y2="80" stroke="url(#line-grad)" strokeWidth="0.1" />
|
| 44 |
+
</svg>
|
| 45 |
+
</div>
|
| 46 |
+
|
| 47 |
+
<div className="max-w-7xl mx-auto px-10 relative z-10">
|
| 48 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-40 items-center">
|
| 49 |
+
<div className="space-y-16">
|
| 50 |
+
<div className="space-y-10">
|
| 51 |
+
<div className="inline-flex items-center gap-5 px-6 py-3 bg-blue-600/10 border border-blue-600/20 rounded-full animate-in slide-in-from-left-4 duration-700">
|
| 52 |
+
<Cpu size={18} className="text-blue-500 animate-pulse" />
|
| 53 |
+
<span className="text-[11px] font-black uppercase tracking-[0.5em] text-blue-500">Core_Protocol_Apex_v6.2</span>
|
| 54 |
+
</div>
|
| 55 |
+
<h2 className="text-[7rem] lg:text-[11rem] font-black italic text-white uppercase tracking-tighter leading-[0.8] mb-4">Quantum <br /> <span className="text-blue-600 not-italic">Nexus_01</span></h2>
|
| 56 |
+
<p className="text-zinc-500 text-3xl font-bold italic leading-relaxed max-w-2xl">
|
| 57 |
+
"The architectural <span className="text-white">apex</span> of corporate treasury management. We facilitate the high-velocity routing of institutional grade digital assets via <span className="text-blue-500">subspace entanglement</span> mechanisms."
|
| 58 |
+
</p>
|
| 59 |
+
</div>
|
| 60 |
+
|
| 61 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-8">
|
| 62 |
+
{nodeStats.map((stat, i) => (
|
| 63 |
+
<div key={stat.id} style={{ transitionDelay: `${i * 150}ms` }} className="p-10 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-blue-600/40 transition-all hover:translate-y-[-10px] shadow-[0_50px_100px_rgba(0,0,0,0.5)] relative overflow-hidden animate-in fade-in zoom-in-95">
|
| 64 |
+
<div className="absolute top-0 right-0 p-10 opacity-[0.02] group-hover:opacity-10 transition-opacity duration-700">
|
| 65 |
+
<stat.icon size={160} />
|
| 66 |
+
</div>
|
| 67 |
+
<div className={`p-6 rounded-[2rem] bg-${stat.color}-500/10 text-${stat.color}-500 mb-10 group-hover:scale-110 transition-transform duration-700 inline-block border border-white/5 shadow-2xl`}>
|
| 68 |
+
<stat.icon size={36} />
|
| 69 |
+
</div>
|
| 70 |
+
<p className="text-[11px] font-black text-zinc-600 uppercase tracking-[0.4em] mb-3 flex items-center gap-3">
|
| 71 |
+
<span className={`w-1.5 h-1.5 rounded-full bg-${stat.color}-500 animate-pulse`}></span>
|
| 72 |
+
{stat.label}
|
| 73 |
+
</p>
|
| 74 |
+
<h3 className="text-3xl font-black text-white italic uppercase tracking-tighter leading-none">{stat.val}</h3>
|
| 75 |
+
</div>
|
| 76 |
+
))}
|
| 77 |
+
</div>
|
| 78 |
+
|
| 79 |
+
<div className="p-10 bg-zinc-900/40 border border-zinc-800 rounded-[4rem] flex items-center justify-between group hover:border-blue-500/20 transition-all shadow-2xl backdrop-blur-md">
|
| 80 |
+
<div className="flex items-center gap-10">
|
| 81 |
+
<div className="w-16 h-16 bg-black rounded-[1.8rem] border border-zinc-800 flex items-center justify-center text-blue-500 shadow-2xl group-hover:rotate-180 transition-transform duration-1000">
|
| 82 |
+
<Globe size={32} className="animate-spin [animation-duration:20s]" />
|
| 83 |
+
</div>
|
| 84 |
+
<div>
|
| 85 |
+
<p className="text-[12px] font-black text-white uppercase tracking-[0.3em] mb-1">Global Mesh Uptime</p>
|
| 86 |
+
<p className="text-xl font-bold text-zinc-500 mono uppercase tracking-widest italic">
|
| 87 |
+
{Math.floor(uptime / 3600)}H {Math.floor((uptime % 3600) / 60)}M {uptime % 60}S
|
| 88 |
+
</p>
|
| 89 |
+
</div>
|
| 90 |
+
</div>
|
| 91 |
+
<div className="flex flex-col items-end gap-3">
|
| 92 |
+
<div className="flex items-center gap-3">
|
| 93 |
+
<div className="w-2.5 h-2.5 rounded-full bg-emerald-500 animate-pulse shadow-[0_0_12px_#10b981]"></div>
|
| 94 |
+
<span className="text-[11px] font-black text-emerald-500 uppercase tracking-[0.2em]">Node Healthy</span>
|
| 95 |
+
</div>
|
| 96 |
+
<p className="text-[8px] font-black text-zinc-700 uppercase tracking-widest">ID: {activePacket}</p>
|
| 97 |
+
</div>
|
| 98 |
+
</div>
|
| 99 |
+
</div>
|
| 100 |
+
|
| 101 |
+
<div className="relative group">
|
| 102 |
+
{/* Visual Halo Effects */}
|
| 103 |
+
<div className="absolute -inset-10 bg-blue-600/10 blur-[150px] rounded-full opacity-50 group-hover:opacity-100 transition-opacity duration-1000"></div>
|
| 104 |
+
|
| 105 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[6rem] p-24 aspect-square flex flex-col justify-between shadow-[0_100px_200px_rgba(0,0,0,0.8)] relative z-10 overflow-hidden">
|
| 106 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_50%_0%,_#1e1b4b_0%,_transparent_60%)] opacity-40"></div>
|
| 107 |
+
|
| 108 |
+
<div className="flex justify-between items-start relative z-10">
|
| 109 |
+
<div className="w-36 h-36 bg-blue-600 rounded-[4rem] flex items-center justify-center text-white shadow-[0_40px_80px_rgba(37,99,235,0.4)] border border-blue-400/20 group-hover:scale-105 transition-transform duration-1000">
|
| 110 |
+
<Network size={72} className="animate-pulse" />
|
| 111 |
+
</div>
|
| 112 |
+
<div className="text-right space-y-4">
|
| 113 |
+
<p className="text-[14px] font-black text-zinc-500 uppercase tracking-[0.6em] mb-2">Registry Parity</p>
|
| 114 |
+
<p className="text-9xl font-black text-white mono tracking-tighter italic leading-none">100<span className="text-4xl text-blue-500">%</span></p>
|
| 115 |
+
</div>
|
| 116 |
+
</div>
|
| 117 |
+
|
| 118 |
+
{/* Complex SVG Radial Dashboard */}
|
| 119 |
+
<div className="flex-1 my-20 relative flex items-center justify-center">
|
| 120 |
+
<svg className="absolute inset-0 w-full h-full rotate-[-90deg]">
|
| 121 |
+
<circle cx="50%" cy="50%" r="48%" fill="none" stroke="currentColor" strokeWidth="1" className="text-zinc-900" />
|
| 122 |
+
<circle cx="50%" cy="50%" r="48%" fill="none" stroke="currentColor" strokeWidth="6" strokeDasharray="1,25" className="text-blue-600/20 animate-spin [animation-duration:40s]" />
|
| 123 |
+
<circle cx="50%" cy="50%" r="40%" fill="none" stroke="currentColor" strokeWidth="2" strokeDasharray="4,8" className="text-zinc-800" />
|
| 124 |
+
<circle cx="50%" cy="50%" r="45%" fill="none" stroke="currentColor" strokeWidth="0.5" strokeDasharray="120,40" className="text-blue-500/10 animate-spin [animation-duration:20s]" />
|
| 125 |
+
</svg>
|
| 126 |
+
|
| 127 |
+
<div className="text-center z-10 bg-black/50 backdrop-blur-3xl p-16 rounded-full border border-white/5 shadow-[0_50px_100px_rgba(0,0,0,0.5)] group-hover:scale-110 transition-transform duration-1000">
|
| 128 |
+
<p className="text-[12px] font-black text-blue-500 uppercase tracking-[0.8em] mb-6">Fabric Density</p>
|
| 129 |
+
<h4 className="text-[10rem] font-black text-white italic tracking-tighter mono leading-none">{load.toFixed(1)}<span className="text-3xl text-zinc-600">%</span></h4>
|
| 130 |
+
<div className="mt-10 flex justify-center gap-4">
|
| 131 |
+
{[1,2,3,4,5,6,7,8].map(i => <div key={i} className={`h-1.5 w-10 rounded-full transition-all duration-700 ${load > i*12 ? 'bg-blue-600 shadow-[0_0_10px_#3b82f6]' : 'bg-zinc-800'}`}></div>)}
|
| 132 |
+
</div>
|
| 133 |
+
</div>
|
| 134 |
+
|
| 135 |
+
{/* Orbital Node Assets */}
|
| 136 |
+
<div className="absolute inset-0 animate-spin [animation-duration:30s] pointer-events-none">
|
| 137 |
+
<div className="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 p-4 bg-zinc-900 border border-zinc-800 rounded-[1.5rem] text-blue-400 shadow-2xl">
|
| 138 |
+
<Server size={24} />
|
| 139 |
+
</div>
|
| 140 |
+
</div>
|
| 141 |
+
<div className="absolute inset-0 animate-reverse-spin [animation-duration:25s] pointer-events-none">
|
| 142 |
+
<div className="absolute bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2 p-4 bg-zinc-900 border border-zinc-800 rounded-[1.5rem] text-emerald-400 shadow-2xl">
|
| 143 |
+
<ShieldCheck size={24} />
|
| 144 |
+
</div>
|
| 145 |
+
</div>
|
| 146 |
+
<div className="absolute inset-0 animate-spin [animation-duration:45s] pointer-events-none">
|
| 147 |
+
<div className="absolute left-0 top-1/2 -translate-x-1/2 -translate-y-1/2 p-4 bg-zinc-900 border border-zinc-800 rounded-[1.5rem] text-purple-400 shadow-2xl">
|
| 148 |
+
<Layers size={24} />
|
| 149 |
+
</div>
|
| 150 |
+
</div>
|
| 151 |
+
</div>
|
| 152 |
+
|
| 153 |
+
{/* Console Output Integration */}
|
| 154 |
+
<div className="bg-black/95 border border-zinc-900 rounded-[4rem] p-14 h-96 overflow-hidden relative group/console shadow-inner animate-in slide-in-from-bottom-10">
|
| 155 |
+
<div className="absolute top-0 inset-x-0 px-14 py-8 border-b border-zinc-900 bg-zinc-900/60 flex justify-between items-center backdrop-blur-xl z-20">
|
| 156 |
+
<div className="flex items-center gap-6">
|
| 157 |
+
<TerminalIcon size={18} className="text-blue-500" />
|
| 158 |
+
<span className="text-[12px] font-black uppercase text-zinc-500 tracking-[0.5em]">LQI_CORE_FABRIC Trace Stream</span>
|
| 159 |
+
</div>
|
| 160 |
+
<div className="flex gap-3">
|
| 161 |
+
<div className="w-3 h-3 rounded-full bg-zinc-800"></div>
|
| 162 |
+
<div className="w-3 h-3 rounded-full bg-zinc-800"></div>
|
| 163 |
+
<div className="w-3 h-3 rounded-full bg-blue-600 animate-pulse shadow-[0_0_12px_#3b82f6]"></div>
|
| 164 |
+
</div>
|
| 165 |
+
</div>
|
| 166 |
+
<div className="mt-20 space-y-3 font-mono text-[11px] custom-scrollbar overflow-y-auto h-56 pt-8 px-4 relative z-10">
|
| 167 |
+
{logs.map((log, i) => (
|
| 168 |
+
<div key={i} className="flex gap-10 group/line animate-in slide-in-from-right-4 duration-500">
|
| 169 |
+
<span className="text-zinc-800 font-black shrink-0 tracking-tighter">[{new Date().toLocaleTimeString([], {hour12: false})}]</span>
|
| 170 |
+
<span className={`${log.includes('Success') || log.includes('Verify') ? 'text-blue-400' : 'text-zinc-500'} group-hover/line:text-white transition-colors tracking-tight`}>{log}</span>
|
| 171 |
+
</div>
|
| 172 |
+
))}
|
| 173 |
+
</div>
|
| 174 |
+
<div className="absolute bottom-0 inset-x-0 h-20 bg-gradient-to-t from-black to-transparent z-20"></div>
|
| 175 |
+
</div>
|
| 176 |
+
</div>
|
| 177 |
+
</div>
|
| 178 |
+
</div>
|
| 179 |
+
</div>
|
| 180 |
+
<style>{`
|
| 181 |
+
@keyframes reverse-spin { from { transform: rotate(360deg); } to { transform: rotate(0deg); } }
|
| 182 |
+
.animate-reverse-spin { animation: reverse-spin linear infinite; }
|
| 183 |
+
`}</style>
|
| 184 |
+
</section>
|
| 185 |
+
);
|
| 186 |
+
};
|
| 187 |
+
|
| 188 |
+
export default NexusNode;
|
views/landing/OracleAuthority.tsx
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useEffect, useMemo } from 'react';
|
| 2 |
+
import { Shield, Activity, Search, Terminal as TerminalIcon, CheckCircle2, AlertTriangle, Infinity, Eye, Cpu, Zap, Radio, Database } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const OracleAuthority: React.FC = () => {
|
| 5 |
+
const [logs, setLogs] = useState<string[]>([]);
|
| 6 |
+
const [disparity, setDisparity] = useState(0.001);
|
| 7 |
+
const [scanProgress, setScanProgress] = useState(0);
|
| 8 |
+
const [activeLayer, setActiveLayer] = useState<'MESH' | 'CONSENSUS' | 'HARD_STATE'>('MESH');
|
| 9 |
+
|
| 10 |
+
useEffect(() => {
|
| 11 |
+
const logInterval = setInterval(() => {
|
| 12 |
+
setDisparity(prev => Math.max(0.0001, Math.min(0.01, prev + (Math.random() - 0.5) * 0.0005)));
|
| 13 |
+
const regions = ['US', 'EU', 'JP', 'SG', 'AU'];
|
| 14 |
+
const actions = ['Scanning block', 'Verifying hash', 'M2M handshake', 'Fabric sync'];
|
| 15 |
+
const newLog = `[OBSERVER] ${actions[Math.floor(Math.random()*actions.length)]} ${Math.floor(Math.random()*900000)}... REGION_${regions[Math.floor(Math.random()*regions.length)]} verified.`;
|
| 16 |
+
setLogs(prev => [newLog, ...prev].slice(0, 100));
|
| 17 |
+
setScanProgress(p => (p + 1) % 101);
|
| 18 |
+
}, 3000);
|
| 19 |
+
|
| 20 |
+
const layerInterval = setInterval(() => {
|
| 21 |
+
setActiveLayer(l => l === 'MESH' ? 'CONSENSUS' : l === 'CONSENSUS' ? 'HARD_STATE' : 'MESH');
|
| 22 |
+
}, 8000);
|
| 23 |
+
|
| 24 |
+
return () => {
|
| 25 |
+
clearInterval(logInterval);
|
| 26 |
+
clearInterval(layerInterval);
|
| 27 |
+
};
|
| 28 |
+
}, []);
|
| 29 |
+
|
| 30 |
+
const systemAttributes = useMemo(() => [
|
| 31 |
+
{ label: 'Observer', val: 'ACTIVE', sub: 'Omni-presence Polling', icon: Eye },
|
| 32 |
+
{ label: 'Disparity', val: disparity.toFixed(4) + '%', sub: 'Tolerance Threshold', icon: Activity },
|
| 33 |
+
{ label: 'Consensus', val: 'HARD', sub: 'Block Signature Fixed', icon: CheckCircle2 },
|
| 34 |
+
{ label: 'Registry State', val: 'ABSOLUTE', sub: 'Immutable Fabric', icon: Database }
|
| 35 |
+
], [disparity]);
|
| 36 |
+
|
| 37 |
+
return (
|
| 38 |
+
<section className="py-60 relative bg-black overflow-hidden selection:bg-blue-600/30">
|
| 39 |
+
{/* Decorative SVG Pattern */}
|
| 40 |
+
<div className="absolute top-0 left-0 w-full h-full opacity-[0.03] pointer-events-none">
|
| 41 |
+
<svg width="100%" height="100%">
|
| 42 |
+
<pattern id="oracle-pattern" width="80" height="80" patternUnits="userSpaceOnUse">
|
| 43 |
+
<path d="M 0 40 L 80 40 M 40 0 L 40 80" stroke="#3b82f6" strokeWidth="0.5" fill="none" />
|
| 44 |
+
<circle cx="40" cy="40" r="1.5" fill="#3b82f6" />
|
| 45 |
+
</pattern>
|
| 46 |
+
<rect width="100%" height="100%" fill="url(#oracle-pattern)" />
|
| 47 |
+
</svg>
|
| 48 |
+
</div>
|
| 49 |
+
|
| 50 |
+
<div className="max-w-7xl mx-auto px-10 relative z-10">
|
| 51 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-40 items-center">
|
| 52 |
+
<div className="space-y-20">
|
| 53 |
+
<div className="space-y-8">
|
| 54 |
+
<div className="inline-flex items-center gap-4 px-6 py-2.5 bg-blue-600/10 border border-blue-600/20 rounded-full animate-in zoom-in-95 duration-700">
|
| 55 |
+
<Radio size={16} className="text-blue-500 animate-pulse" />
|
| 56 |
+
<span className="text-[11px] font-black uppercase tracking-[0.5em] text-blue-500">Final_Authority_Node_v6.2</span>
|
| 57 |
+
</div>
|
| 58 |
+
<h2 className="text-[7rem] lg:text-[11rem] font-black italic text-white uppercase tracking-tighter leading-[0.8]">
|
| 59 |
+
The <br /> <span className="text-blue-600 not-italic">Oracle_Node</span>
|
| 60 |
+
</h2>
|
| 61 |
+
<p className="text-zinc-400 text-3xl font-bold italic leading-relaxed">
|
| 62 |
+
"The <span className="text-white">final authority</span> on system parity. The Oracle observes the mesh from a sub-space perspective to detect any <span className="text-blue-500">discrepancies</span> in the global registry fabric."
|
| 63 |
+
</p>
|
| 64 |
+
</div>
|
| 65 |
+
|
| 66 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-10">
|
| 67 |
+
{systemAttributes.map((attr, i) => (
|
| 68 |
+
<div key={i} className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-blue-500/40 transition-all hover:translate-y-[-8px] shadow-[0_50px_100px_rgba(0,0,0,0.5)] relative overflow-hidden">
|
| 69 |
+
<div className="absolute top-0 right-0 p-8 opacity-[0.02] group-hover:opacity-10 transition-opacity">
|
| 70 |
+
<attr.icon size={120} />
|
| 71 |
+
</div>
|
| 72 |
+
<div className="w-16 h-16 bg-blue-600/10 text-blue-500 rounded-3xl flex items-center justify-center mb-10 border border-white/5 group-hover:scale-110 transition-transform duration-500">
|
| 73 |
+
<attr.icon size={28} />
|
| 74 |
+
</div>
|
| 75 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest mb-2 flex items-center gap-2">
|
| 76 |
+
<span className="w-1 h-1 rounded-full bg-blue-500"></span>
|
| 77 |
+
{attr.label}
|
| 78 |
+
</p>
|
| 79 |
+
<h3 className="text-4xl font-black text-white italic uppercase tracking-tighter mb-2">{attr.val}</h3>
|
| 80 |
+
<p className="text-[10px] font-bold text-zinc-500 uppercase tracking-widest">{attr.sub}</p>
|
| 81 |
+
</div>
|
| 82 |
+
))}
|
| 83 |
+
</div>
|
| 84 |
+
</div>
|
| 85 |
+
|
| 86 |
+
<div className="relative group">
|
| 87 |
+
{/* Massive Ambient Aura */}
|
| 88 |
+
<div className="absolute -inset-20 bg-blue-600/5 blur-[150px] rounded-full opacity-50 group-hover:opacity-100 transition-opacity duration-1000"></div>
|
| 89 |
+
|
| 90 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-20 shadow-[0_100px_200px_rgba(0,0,0,0.8)] relative z-10 overflow-hidden flex flex-col justify-between h-[1000px]">
|
| 91 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_0%_0%,_#1e1b4b_0%,_transparent_50%)] opacity-30"></div>
|
| 92 |
+
|
| 93 |
+
<div className="flex justify-between items-start relative z-10">
|
| 94 |
+
<div className="p-8 bg-blue-600/10 text-blue-500 rounded-[3rem] border border-blue-500/20 shadow-2xl group-hover:rotate-6 transition-transform duration-1000">
|
| 95 |
+
<Cpu size={56} className="animate-pulse" />
|
| 96 |
+
</div>
|
| 97 |
+
<div className="text-right space-y-3">
|
| 98 |
+
<p className="text-[14px] font-black text-zinc-500 uppercase tracking-[0.5em]">Network Layer</p>
|
| 99 |
+
<p className="text-6xl font-black text-white italic tracking-tighter uppercase leading-none">{activeLayer}</p>
|
| 100 |
+
</div>
|
| 101 |
+
</div>
|
| 102 |
+
|
| 103 |
+
{/* Central Scanning Component */}
|
| 104 |
+
<div className="flex-1 my-24 relative flex items-center justify-center">
|
| 105 |
+
<div className="absolute inset-0 border-[3px] border-dashed border-zinc-900 rounded-full animate-spin [animation-duration:60s]"></div>
|
| 106 |
+
<div className="absolute inset-20 border border-blue-500/10 rounded-full animate-reverse-spin [animation-duration:40s]"></div>
|
| 107 |
+
<div className="absolute inset-40 border-2 border-zinc-800 rounded-full animate-spin [animation-duration:20s]"></div>
|
| 108 |
+
|
| 109 |
+
<div className="text-center z-10 bg-black/40 backdrop-blur-3xl p-20 rounded-full border border-white/5 shadow-[0_50px_100px_rgba(0,0,0,0.8)]">
|
| 110 |
+
<Zap size={64} className="text-blue-500 mx-auto mb-8 animate-bounce" />
|
| 111 |
+
<p className="text-[12px] font-black text-zinc-500 uppercase tracking-[0.8em] mb-4">Observation Depth</p>
|
| 112 |
+
<h4 className="text-9xl font-black text-white italic tracking-tighter leading-none">{scanProgress}<span className="text-3xl text-blue-500">%</span></h4>
|
| 113 |
+
</div>
|
| 114 |
+
|
| 115 |
+
{/* Dynamic Indicators */}
|
| 116 |
+
<div className="absolute inset-0 animate-spin [animation-duration:15s] pointer-events-none">
|
| 117 |
+
<div className="absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center gap-4">
|
| 118 |
+
<div className="w-4 h-4 bg-blue-600 rounded-full shadow-[0_0_20px_#3b82f6]"></div>
|
| 119 |
+
<span className="text-[10px] font-black text-blue-500 uppercase bg-black px-4 py-2 rounded-full border border-blue-500/30">SCANNER_01</span>
|
| 120 |
+
</div>
|
| 121 |
+
</div>
|
| 122 |
+
</div>
|
| 123 |
+
|
| 124 |
+
<div className="space-y-10 relative z-10">
|
| 125 |
+
<div className="bg-black/90 border border-zinc-900 rounded-[4rem] p-12 h-80 overflow-hidden relative group/console shadow-inner">
|
| 126 |
+
<div className="absolute top-0 inset-x-0 px-12 py-6 border-b border-zinc-900 bg-zinc-900/50 flex justify-between items-center backdrop-blur-md">
|
| 127 |
+
<div className="flex items-center gap-5">
|
| 128 |
+
<TerminalIcon size={16} className="text-blue-500" />
|
| 129 |
+
<span className="text-[11px] font-black uppercase text-zinc-500 tracking-[0.4em]">Oracle_OS Consensus Trace</span>
|
| 130 |
+
</div>
|
| 131 |
+
<div className="flex gap-3">
|
| 132 |
+
<div className="w-2.5 h-2.5 rounded-full bg-zinc-800"></div>
|
| 133 |
+
<div className="w-2.5 h-2.5 rounded-full bg-zinc-800"></div>
|
| 134 |
+
<div className="w-2.5 h-2.5 rounded-full bg-blue-600 animate-pulse"></div>
|
| 135 |
+
</div>
|
| 136 |
+
</div>
|
| 137 |
+
<div className="mt-16 space-y-3 font-mono text-[11px] custom-scrollbar overflow-y-auto h-48 pt-6 px-4">
|
| 138 |
+
{logs.map((log, i) => (
|
| 139 |
+
<div key={i} className="flex gap-8 group/line animate-in slide-in-from-left-4 duration-500">
|
| 140 |
+
<span className="text-zinc-800 font-bold shrink-0">[{new Date().toLocaleTimeString([], {hour12: false})}]</span>
|
| 141 |
+
<span className={`${log.includes('verified') ? 'text-blue-400' : 'text-zinc-500'} group-hover/line:text-white transition-colors`}>{log}</span>
|
| 142 |
+
</div>
|
| 143 |
+
))}
|
| 144 |
+
</div>
|
| 145 |
+
</div>
|
| 146 |
+
|
| 147 |
+
<div className="flex items-center justify-between px-12">
|
| 148 |
+
<div className="flex items-center gap-6">
|
| 149 |
+
<div className="flex items-center gap-3">
|
| 150 |
+
<div className="w-3 h-3 bg-emerald-500 rounded-full animate-pulse shadow-[0_0_12px_#10b981]"></div>
|
| 151 |
+
<span className="text-[12px] font-black text-white uppercase tracking-widest">State: ABSOLUTE</span>
|
| 152 |
+
</div>
|
| 153 |
+
<div className="h-6 w-px bg-zinc-800"></div>
|
| 154 |
+
<span className="text-[10px] font-black text-zinc-600 uppercase tracking-widest">Block Height: 884,102</span>
|
| 155 |
+
</div>
|
| 156 |
+
<Infinity size={24} className="text-zinc-800" />
|
| 157 |
+
</div>
|
| 158 |
+
</div>
|
| 159 |
+
</div>
|
| 160 |
+
</div>
|
| 161 |
+
</div>
|
| 162 |
+
</div>
|
| 163 |
+
<style>{`
|
| 164 |
+
@keyframes reverse-spin {
|
| 165 |
+
from { transform: rotate(360deg); }
|
| 166 |
+
to { transform: rotate(0deg); }
|
| 167 |
+
}
|
| 168 |
+
.animate-reverse-spin { animation: reverse-spin linear infinite; }
|
| 169 |
+
`}</style>
|
| 170 |
+
</section>
|
| 171 |
+
);
|
| 172 |
+
};
|
| 173 |
+
|
| 174 |
+
export default OracleAuthority;
|
views/landing/PrivacyManifesto.tsx
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useEffect } from 'react';
|
| 2 |
+
import { Shield, Fingerprint, Lock, EyeOff, Scissors, Trash2 } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const PrivacyManifesto: React.FC = () => {
|
| 5 |
+
const [shredding, setShredding] = useState(false);
|
| 6 |
+
|
| 7 |
+
useEffect(() => {
|
| 8 |
+
const interval = setInterval(() => {
|
| 9 |
+
setShredding(true);
|
| 10 |
+
setTimeout(() => setShredding(false), 800);
|
| 11 |
+
}, 4000);
|
| 12 |
+
return () => clearInterval(interval);
|
| 13 |
+
}, []);
|
| 14 |
+
|
| 15 |
+
return (
|
| 16 |
+
<section className="py-60 border-b border-zinc-900 bg-[#020202] relative overflow-hidden">
|
| 17 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_50%_50%,_#1e1b4b_0%,_transparent_70%)] opacity-20"></div>
|
| 18 |
+
|
| 19 |
+
<div className="max-w-5xl mx-auto px-10 text-center space-y-16 relative z-10">
|
| 20 |
+
<div className="space-y-6">
|
| 21 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-rose-500/10 border border-rose-500/20 rounded-full mx-auto">
|
| 22 |
+
<div className="w-1.5 h-1.5 rounded-full bg-rose-500 animate-pulse"></div>
|
| 23 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-rose-500">Security_Ethos</span>
|
| 24 |
+
</div>
|
| 25 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 26 |
+
Privacy <br /> <span className="text-rose-600 not-italic">Manifesto</span>
|
| 27 |
+
</h2>
|
| 28 |
+
</div>
|
| 29 |
+
|
| 30 |
+
<p className="text-white text-5xl font-black italic tracking-tighter leading-tight uppercase max-w-4xl mx-auto">
|
| 31 |
+
"Data <span className="text-rose-500 underline decoration-8 decoration-rose-900/50 underline-offset-[12px]">sovereignty</span> is the foundation of the Lumina protocol. We believe in <span className="text-rose-500">zero-persistence</span> logging and node-level <span className="text-rose-500">shredding</span> of all packets once ledger parity is achieved."
|
| 32 |
+
</p>
|
| 33 |
+
|
| 34 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-10 pt-20">
|
| 35 |
+
{[
|
| 36 |
+
{ label: 'Zero Trace', val: 'VERIFIED', icon: EyeOff },
|
| 37 |
+
{ label: 'P2P Sync', val: 'PRIVATE', icon: Fingerprint },
|
| 38 |
+
{ label: 'Secret Cache', val: 'FLUSHED', icon: Trash2 },
|
| 39 |
+
{ label: 'Sovereign', val: 'ABSOLUTE', icon: Lock },
|
| 40 |
+
].map((item, i) => (
|
| 41 |
+
<div key={i} className="p-10 bg-zinc-950 border border-zinc-900 rounded-[3rem] group hover:border-rose-500/40 transition-all shadow-2xl relative overflow-hidden">
|
| 42 |
+
<div className={`p-4 rounded-2xl bg-zinc-900 text-zinc-700 group-hover:text-rose-500 transition-all mb-8 ${shredding && i === 2 ? 'animate-bounce text-rose-500' : ''}`}>
|
| 43 |
+
<item.icon size={32} />
|
| 44 |
+
</div>
|
| 45 |
+
<p className="text-[9px] font-black text-zinc-600 uppercase tracking-widest mb-2">{item.label}</p>
|
| 46 |
+
<h3 className="text-xl font-black text-white italic tracking-tighter uppercase mb-2">{item.val}</h3>
|
| 47 |
+
</div>
|
| 48 |
+
))}
|
| 49 |
+
</div>
|
| 50 |
+
|
| 51 |
+
<div className="pt-40 max-w-2xl mx-auto space-y-10">
|
| 52 |
+
<div className="h-px w-full bg-gradient-to-r from-transparent via-zinc-800 to-transparent"></div>
|
| 53 |
+
<p className="text-zinc-500 text-lg font-medium italic leading-relaxed">
|
| 54 |
+
"Lumina does not store your history. We facilitate consensus and evaporate. Metadata persistence is an institutional liability that we mathematically eliminate."
|
| 55 |
+
</p>
|
| 56 |
+
<div className="flex justify-center gap-16 grayscale opacity-10 hover:grayscale-0 hover:opacity-100 transition-all duration-1000">
|
| 57 |
+
<Shield size={48} />
|
| 58 |
+
<Scissors size={48} />
|
| 59 |
+
<EyeOff size={48} />
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
</section>
|
| 64 |
+
);
|
| 65 |
+
};
|
| 66 |
+
|
| 67 |
+
export default PrivacyManifesto;
|
views/landing/QuantumCompute.tsx
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useEffect } from 'react';
|
| 2 |
+
import { Cpu, Zap, Activity, Thermometer, ShieldAlert, Layers, Infinity } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const QuantumCompute: React.FC = () => {
|
| 5 |
+
const [qubits, setQubits] = useState(2048);
|
| 6 |
+
const [temp, setTemp] = useState(0.001);
|
| 7 |
+
|
| 8 |
+
useEffect(() => {
|
| 9 |
+
const interval = setInterval(() => {
|
| 10 |
+
setQubits(prev => Math.max(2000, Math.min(2048, prev + (Math.random() > 0.8 ? -1 : 1))));
|
| 11 |
+
setTemp(prev => Math.max(0.001, Math.min(0.005, prev + (Math.random() - 0.5) * 0.001)));
|
| 12 |
+
}, 2000);
|
| 13 |
+
return () => clearInterval(interval);
|
| 14 |
+
}, []);
|
| 15 |
+
|
| 16 |
+
return (
|
| 17 |
+
<section className="py-40 border-b border-zinc-900 bg-zinc-950/40 relative">
|
| 18 |
+
<div className="max-w-7xl mx-auto px-10 text-center">
|
| 19 |
+
<div className="space-y-6 mb-16">
|
| 20 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-cyan-500/10 border border-cyan-500/20 rounded-full mx-auto">
|
| 21 |
+
<div className="w-1.5 h-1.5 rounded-full bg-cyan-500 animate-pulse"></div>
|
| 22 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-cyan-500">Forecast_Node</span>
|
| 23 |
+
</div>
|
| 24 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 25 |
+
Quantum <br /> <span className="text-cyan-500 not-italic">Compute</span>
|
| 26 |
+
</h2>
|
| 27 |
+
</div>
|
| 28 |
+
|
| 29 |
+
<p className="text-zinc-500 text-3xl max-w-5xl mx-auto leading-relaxed font-bold italic mb-32">
|
| 30 |
+
"Harnessing the power of <span className="text-white">qubit stabilization</span> to forecast complex market shocks. Our compute nodes are cooled to absolute zero to maintain the <span className="text-cyan-500">integrity</span> of our neural forecasting."
|
| 31 |
+
</p>
|
| 32 |
+
|
| 33 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
|
| 34 |
+
{[
|
| 35 |
+
{ label: 'Stable Qubits', val: qubits, sub: 'Error Correction High', icon: Cpu },
|
| 36 |
+
{ label: 'Entropy', val: `${temp.toFixed(3)}%`, sub: 'Thermal Shield Active', icon: Thermometer },
|
| 37 |
+
{ label: 'Shocks', val: 'SIMULATED', sub: 'Hyper-Inflation Q3', icon: ShieldAlert },
|
| 38 |
+
{ label: 'Drift', val: 'CORRECTED', sub: 'Sub-Space Alignment', icon: Activity },
|
| 39 |
+
].map((q, i) => (
|
| 40 |
+
<div key={i} className="p-12 border border-zinc-900 rounded-[4rem] bg-black group hover:border-cyan-500/30 transition-all shadow-2xl relative overflow-hidden text-left">
|
| 41 |
+
<div className="absolute top-0 right-0 p-8 opacity-5 group-hover:opacity-10 transition-opacity">
|
| 42 |
+
<q.icon size={120} />
|
| 43 |
+
</div>
|
| 44 |
+
<div className="w-14 h-14 bg-cyan-500/10 text-cyan-500 rounded-3xl flex items-center justify-center mb-10 group-hover:scale-110 transition-transform shadow-2xl">
|
| 45 |
+
<q.icon size={28} />
|
| 46 |
+
</div>
|
| 47 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest mb-2 flex items-center gap-2">
|
| 48 |
+
<span className="w-1 h-1 rounded-full bg-cyan-500"></span>
|
| 49 |
+
{q.label}
|
| 50 |
+
</p>
|
| 51 |
+
<h4 className="text-4xl font-black text-white uppercase italic tracking-tighter mb-2">{q.val}</h4>
|
| 52 |
+
<p className="text-[9px] font-bold text-cyan-500 uppercase tracking-[0.3em]">{q.sub}</p>
|
| 53 |
+
</div>
|
| 54 |
+
))}
|
| 55 |
+
</div>
|
| 56 |
+
|
| 57 |
+
<div className="mt-40 p-16 bg-zinc-950 border border-zinc-900 rounded-[5rem] flex flex-col md:flex-row items-center justify-between gap-16 shadow-inner relative overflow-hidden">
|
| 58 |
+
<div className="absolute inset-0 opacity-[0.03] pointer-events-none bg-[size:20px_20px] bg-[radial-gradient(#3b82f6_1px,transparent_1px)]"></div>
|
| 59 |
+
<div className="flex items-center gap-10 relative z-10 text-left">
|
| 60 |
+
<div className="w-24 h-24 bg-cyan-500/5 rounded-[3rem] border border-cyan-500/10 flex items-center justify-center text-cyan-500">
|
| 61 |
+
<Infinity size={48} />
|
| 62 |
+
</div>
|
| 63 |
+
<div className="space-y-2">
|
| 64 |
+
<h5 className="text-2xl font-black text-white italic uppercase tracking-tighter">Sub-Space Link</h5>
|
| 65 |
+
<p className="text-zinc-500 text-sm font-medium leading-relaxed max-w-lg">Persistent entanglement verified across all 24 sub-space clusters. Forecasting latency: <span className="text-cyan-500 mono">0.0004ns</span>.</p>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
<div className="flex gap-4 relative z-10">
|
| 69 |
+
<div className="h-12 w-48 bg-zinc-900 border border-zinc-800 rounded-2xl flex items-center px-6 gap-4">
|
| 70 |
+
<div className="w-2 h-2 rounded-full bg-emerald-500 animate-pulse"></div>
|
| 71 |
+
<span className="text-[9px] font-black text-zinc-500 uppercase tracking-widest">Coherence: 99%</span>
|
| 72 |
+
</div>
|
| 73 |
+
</div>
|
| 74 |
+
</div>
|
| 75 |
+
</div>
|
| 76 |
+
</section>
|
| 77 |
+
);
|
| 78 |
+
};
|
| 79 |
+
|
| 80 |
+
export default QuantumCompute;
|
views/landing/RegistryVault.tsx
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React from 'react';
|
| 2 |
+
import { Building2, CheckCircle2, ShieldCheck, ArrowRight, RefreshCw, Layers } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const RegistryVault: React.FC = () => {
|
| 5 |
+
return (
|
| 6 |
+
<section className="py-40 border-b border-zinc-900 bg-black relative">
|
| 7 |
+
<div className="max-w-7xl mx-auto px-10">
|
| 8 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 9 |
+
<div className="space-y-12">
|
| 10 |
+
<div className="space-y-6">
|
| 11 |
+
<div className="inline-flex items-center gap-3 px-4 py-1.5 bg-blue-500/10 border border-blue-500/20 rounded-full">
|
| 12 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"></div>
|
| 13 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em] text-blue-500">Vault_Integration</span>
|
| 14 |
+
</div>
|
| 15 |
+
<h2 className="text-7xl lg:text-9xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 16 |
+
Bank <br /> <span className="text-blue-600 not-italic">Registry_Node</span>
|
| 17 |
+
</h2>
|
| 18 |
+
</div>
|
| 19 |
+
<p className="text-zinc-400 text-2xl leading-relaxed font-bold italic">
|
| 20 |
+
"Direct M2M handshakes with <span className="text-white">institutional vaults</span>. We utilize the FDX-standard to provision virtual nodes that route liquidity directly from your treasury into the <span className="text-blue-500">Quantum foundry</span>."
|
| 21 |
+
</p>
|
| 22 |
+
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
| 23 |
+
{[
|
| 24 |
+
{ t: 'FDX Native', s: 'Active' },
|
| 25 |
+
{ t: 'Vault Sync', s: 'Priority' },
|
| 26 |
+
{ t: 'Audit Log', s: 'Signed' },
|
| 27 |
+
{ t: 'Routing', s: 'Layer 2' }
|
| 28 |
+
].map((line, i) => (
|
| 29 |
+
<div key={i} className="flex items-center gap-6 p-6 bg-zinc-900/50 border border-zinc-800 rounded-3xl group hover:border-blue-500/50 transition-all shadow-xl">
|
| 30 |
+
<div className="p-2 bg-blue-600/10 text-blue-500 rounded-xl group-hover:scale-110 transition-transform"><CheckCircle2 size={18} /></div>
|
| 31 |
+
<div className="space-y-0.5">
|
| 32 |
+
<p className="text-[9px] font-black text-zinc-500 uppercase tracking-widest">{line.t}</p>
|
| 33 |
+
<p className="text-[11px] font-black text-white uppercase tracking-widest">{line.s}</p>
|
| 34 |
+
</div>
|
| 35 |
+
</div>
|
| 36 |
+
))}
|
| 37 |
+
</div>
|
| 38 |
+
</div>
|
| 39 |
+
|
| 40 |
+
<div className="relative group">
|
| 41 |
+
<div className="absolute -inset-4 bg-gradient-to-br from-blue-600/20 to-transparent blur-3xl opacity-0 group-hover:opacity-100 transition-opacity duration-1000"></div>
|
| 42 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-16 shadow-[0_50px_100px_rgba(0,0,0,0.5)] group relative z-10">
|
| 43 |
+
<div className="flex items-center justify-between mb-16">
|
| 44 |
+
<div className="flex items-center gap-4">
|
| 45 |
+
<Building2 size={28} className="text-blue-500" />
|
| 46 |
+
<span className="text-[10px] font-black text-zinc-500 uppercase tracking-widest italic">Registry Metadata Node</span>
|
| 47 |
+
</div>
|
| 48 |
+
<div className="flex gap-3">
|
| 49 |
+
<div className="w-2.5 h-2.5 rounded-full bg-zinc-900"></div>
|
| 50 |
+
<div className="w-2.5 h-2.5 rounded-full bg-zinc-900"></div>
|
| 51 |
+
<div className="w-2.5 h-2.5 rounded-full bg-blue-500 animate-pulse shadow-[0_0_10px_#3b82f6]"></div>
|
| 52 |
+
</div>
|
| 53 |
+
</div>
|
| 54 |
+
<div className="space-y-10">
|
| 55 |
+
{[
|
| 56 |
+
{ name: 'Citi Master Node', balance: '$1,245,000.50', status: 'ACTIVE', trend: '+1.2%' },
|
| 57 |
+
{ name: 'Chase Liquidity Node', balance: '$840,200.00', status: 'SYNCING', trend: 'STABLE' },
|
| 58 |
+
{ name: 'DB Treasury Hub', balance: '$2,105,000.12', status: 'ACTIVE', trend: '+0.4%' },
|
| 59 |
+
].map((acc, i) => (
|
| 60 |
+
<div key={i} className="flex justify-between items-end border-b border-zinc-900 pb-10 last:border-0 last:pb-0 hover:border-zinc-700 transition-colors group/item cursor-default">
|
| 61 |
+
<div className="space-y-2">
|
| 62 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest mb-1 group-hover/item:text-blue-500 transition-colors">{acc.name}</p>
|
| 63 |
+
<h4 className="text-4xl font-black text-white mono tracking-tighter italic">{acc.balance}</h4>
|
| 64 |
+
</div>
|
| 65 |
+
<div className="text-right space-y-2">
|
| 66 |
+
<p className="text-[8px] font-black text-emerald-500 mono">{acc.trend}</p>
|
| 67 |
+
<p className={`text-[9px] font-black uppercase tracking-[0.2em] px-3 py-1 rounded-full border ${acc.status === 'ACTIVE' ? 'text-emerald-500 border-emerald-500/20 bg-emerald-500/5' : 'text-blue-400 border-blue-400/20 bg-blue-400/5'}`}>
|
| 68 |
+
{acc.status}
|
| 69 |
+
</p>
|
| 70 |
+
</div>
|
| 71 |
+
</div>
|
| 72 |
+
))}
|
| 73 |
+
</div>
|
| 74 |
+
<div className="mt-16 pt-10 border-t border-zinc-900 flex justify-between items-center">
|
| 75 |
+
<div className="flex items-center gap-3 text-zinc-600 text-[10px] font-black uppercase tracking-widest">
|
| 76 |
+
<RefreshCw size={14} className="animate-spin [animation-duration:5s]" />
|
| 77 |
+
<span>Last Polled: 2m ago</span>
|
| 78 |
+
</div>
|
| 79 |
+
<button className="text-blue-500 hover:text-white transition-colors flex items-center gap-2 group/btn">
|
| 80 |
+
<span className="text-[9px] font-black uppercase tracking-[0.3em]">Full Registry</span>
|
| 81 |
+
<ArrowRight size={14} className="group-hover/btn:translate-x-1 transition-transform" />
|
| 82 |
+
</button>
|
| 83 |
+
</div>
|
| 84 |
+
</div>
|
| 85 |
+
</div>
|
| 86 |
+
</div>
|
| 87 |
+
</div>
|
| 88 |
+
</section>
|
| 89 |
+
);
|
| 90 |
+
};
|
| 91 |
+
|
| 92 |
+
export default RegistryVault;
|
views/landing/SystemFabric.tsx
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useState, useEffect } from 'react';
|
| 2 |
+
import { Infinity, Globe, Database, Network, ShieldCheck, Cpu, Radio, Server, Activity, Shield } from 'lucide-react';
|
| 3 |
+
|
| 4 |
+
const SystemFabric: React.FC = () => {
|
| 5 |
+
const [load, setLoad] = useState(14.2);
|
| 6 |
+
const [activeRegion, setActiveRegion] = useState('US-EAST');
|
| 7 |
+
const [nodeCount, setNodeCount] = useState(1242);
|
| 8 |
+
|
| 9 |
+
useEffect(() => {
|
| 10 |
+
const timer = setInterval(() => {
|
| 11 |
+
setLoad(prev => Math.max(10, Math.min(25, prev + (Math.random() - 0.5))));
|
| 12 |
+
if (Math.random() > 0.8) setNodeCount(prev => prev + (Math.random() > 0.5 ? 1 : -1));
|
| 13 |
+
}, 2000);
|
| 14 |
+
return () => clearInterval(timer);
|
| 15 |
+
}, []);
|
| 16 |
+
|
| 17 |
+
const regions = [
|
| 18 |
+
{ name: 'US-EAST', load: '12%', latency: '0.4ms', status: 'Optimal' },
|
| 19 |
+
{ name: 'EU-WEST', load: '18%', latency: '0.8ms', status: 'Optimal' },
|
| 20 |
+
{ name: 'AP-SOUTH', load: '14%', latency: '1.2ms', status: 'Synced' },
|
| 21 |
+
{ name: 'LATAM', load: '22%', latency: '1.5ms', status: 'Stable' }
|
| 22 |
+
];
|
| 23 |
+
|
| 24 |
+
return (
|
| 25 |
+
<section className="py-60 border-b border-zinc-900 bg-black relative overflow-hidden">
|
| 26 |
+
<div className="absolute inset-0 opacity-[0.05] pointer-events-none bg-[radial-gradient(circle_at_50%_50%,#3b82f6_0%,transparent_70%)]"></div>
|
| 27 |
+
|
| 28 |
+
<div className="max-w-7xl mx-auto px-10 text-center space-y-24">
|
| 29 |
+
<div className="space-y-10">
|
| 30 |
+
<div className="inline-flex items-center gap-4 px-6 py-3 bg-blue-500/10 border border-blue-500/20 rounded-full mx-auto animate-in zoom-in-95 duration-700">
|
| 31 |
+
<Radio size={16} className="text-blue-500 animate-pulse" />
|
| 32 |
+
<span className="text-[11px] font-black uppercase tracking-[0.5em] text-blue-500">System_Fabric_Layer_v6.2</span>
|
| 33 |
+
</div>
|
| 34 |
+
<h2 className="text-[7rem] lg:text-[11rem] font-black italic text-white uppercase tracking-tighter leading-[0.8] mb-4">
|
| 35 |
+
System <br /> <span className="text-blue-600 not-italic">Fabric_v6</span>
|
| 36 |
+
</h2>
|
| 37 |
+
<p className="text-zinc-500 text-3xl max-w-6xl mx-auto leading-relaxed font-bold italic">
|
| 38 |
+
"The <span className="text-white">connective tissue</span> of our global registry. We maintain over <span className="text-blue-500 mono">{nodeCount}</span> active nodes across sub-space mesh fabrics. Our <span className="text-blue-500">consensus</span> mechanism ensures that every ledger entry is cryptographically absolute."
|
| 39 |
+
</p>
|
| 40 |
+
</div>
|
| 41 |
+
|
| 42 |
+
{/* Global Cluster Stats */}
|
| 43 |
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12">
|
| 44 |
+
{[
|
| 45 |
+
{ label: 'Collective Load', val: `${load.toFixed(1)}%`, sub: 'Sub-space Pathing', icon: Network, color: 'blue' },
|
| 46 |
+
{ label: 'Mesh Parity', val: '100%', sub: 'Deterministic State', icon: ShieldCheck, color: 'emerald' },
|
| 47 |
+
{ label: 'Encryption', val: 'AES-256', sub: 'M2M Encapsulation', icon: Database, color: 'purple' },
|
| 48 |
+
{ label: 'Sovereignty', val: 'ABSOLUTE', sub: 'Neural Authority', icon: Cpu, color: 'amber' },
|
| 49 |
+
].map((item, i) => (
|
| 50 |
+
<div key={i} className="p-16 bg-zinc-950 border border-zinc-900 rounded-[5rem] group hover:border-blue-500/40 transition-all hover:scale-105 shadow-[0_50px_100px_rgba(0,0,0,0.5)] relative overflow-hidden text-left">
|
| 51 |
+
<div className="absolute top-0 right-0 p-12 opacity-[0.02] group-hover:opacity-10 transition-opacity">
|
| 52 |
+
<item.icon size={200} />
|
| 53 |
+
</div>
|
| 54 |
+
<div className={`w-20 h-20 bg-${item.color}-500/10 text-${item.color}-500 rounded-[2.5rem] flex items-center justify-center mb-12 border border-white/5 shadow-2xl group-hover:rotate-12 transition-transform duration-700`}>
|
| 55 |
+
<item.icon size={40} />
|
| 56 |
+
</div>
|
| 57 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-[0.4em] mb-4 flex items-center gap-3">
|
| 58 |
+
<span className={`w-1.5 h-1.5 rounded-full bg-${item.color}-500 animate-pulse`}></span>
|
| 59 |
+
{item.label}
|
| 60 |
+
</p>
|
| 61 |
+
<h3 className="text-6xl font-black text-white italic tracking-tighter uppercase mb-3 leading-none">{item.val}</h3>
|
| 62 |
+
<p className="text-[11px] font-bold text-blue-500 uppercase tracking-[0.3em]">{item.sub}</p>
|
| 63 |
+
</div>
|
| 64 |
+
))}
|
| 65 |
+
</div>
|
| 66 |
+
|
| 67 |
+
{/* Regional Monitoring Grid */}
|
| 68 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 mt-40">
|
| 69 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-16 shadow-2xl text-left relative overflow-hidden group">
|
| 70 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_100%_100%,#3b82f6_0%,transparent_40%)] opacity-20"></div>
|
| 71 |
+
<div className="flex items-center justify-between mb-16 relative z-10">
|
| 72 |
+
<div className="flex items-center gap-6">
|
| 73 |
+
<div className="p-5 bg-blue-600/10 text-blue-500 rounded-[2rem] border border-blue-500/20 shadow-2xl">
|
| 74 |
+
<Globe size={32} />
|
| 75 |
+
</div>
|
| 76 |
+
<h4 className="text-2xl font-black text-white italic tracking-tighter uppercase">Regional Mesh Polling</h4>
|
| 77 |
+
</div>
|
| 78 |
+
<Activity size={24} className="text-zinc-800 animate-pulse" />
|
| 79 |
+
</div>
|
| 80 |
+
<div className="space-y-10 relative z-10">
|
| 81 |
+
{regions.map((reg, i) => (
|
| 82 |
+
<button
|
| 83 |
+
key={i}
|
| 84 |
+
onClick={() => setActiveRegion(reg.name)}
|
| 85 |
+
className={`w-full flex items-center justify-between p-8 rounded-[2.5rem] border transition-all ${activeRegion === reg.name ? 'bg-blue-600/10 border-blue-500 shadow-xl' : 'bg-black border-zinc-900 opacity-60 hover:opacity-100 hover:border-zinc-700'}`}
|
| 86 |
+
>
|
| 87 |
+
<div className="flex items-center gap-8">
|
| 88 |
+
<span className="text-lg font-black text-white mono">{reg.name}</span>
|
| 89 |
+
<div className="h-1 w-24 bg-zinc-900 rounded-full overflow-hidden">
|
| 90 |
+
<div className="h-full bg-blue-600" style={{ width: reg.load }}></div>
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
<div className="flex items-center gap-10">
|
| 94 |
+
<div className="text-right">
|
| 95 |
+
<p className="text-[9px] font-black text-zinc-600 uppercase tracking-widest">Latency</p>
|
| 96 |
+
<p className="text-sm font-black text-blue-400 mono">{reg.latency}</p>
|
| 97 |
+
</div>
|
| 98 |
+
<div className="text-right min-w-[80px]">
|
| 99 |
+
<p className="text-[9px] font-black text-zinc-600 uppercase tracking-widest">Status</p>
|
| 100 |
+
<p className="text-sm font-black text-emerald-500 uppercase">{reg.status}</p>
|
| 101 |
+
</div>
|
| 102 |
+
</div>
|
| 103 |
+
</button>
|
| 104 |
+
))}
|
| 105 |
+
</div>
|
| 106 |
+
</div>
|
| 107 |
+
|
| 108 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[5rem] p-16 shadow-2xl text-left flex flex-col justify-between group">
|
| 109 |
+
<div className="space-y-10">
|
| 110 |
+
<div className="p-6 bg-zinc-900 rounded-[2.5rem] border border-zinc-800 shadow-2xl inline-block group-hover:scale-110 transition-transform duration-700">
|
| 111 |
+
<Shield size={48} className="text-blue-500" />
|
| 112 |
+
</div>
|
| 113 |
+
<h4 className="text-4xl font-black text-white italic tracking-tighter uppercase leading-[0.9]">Absolute <br /> <span className="text-blue-500">Node Architecture</span></h4>
|
| 114 |
+
<p className="text-zinc-500 text-lg font-bold leading-relaxed italic">
|
| 115 |
+
"Every node in the Lumina fabric is a self-contained vault, performing real-time zero-knowledge proofs to ensure total network integrity without centralized reliance."
|
| 116 |
+
</p>
|
| 117 |
+
</div>
|
| 118 |
+
<div className="pt-16 border-t border-zinc-900 grid grid-cols-3 gap-8">
|
| 119 |
+
{[
|
| 120 |
+
{ icon: Server, label: 'Bare Metal Cluster' },
|
| 121 |
+
{ icon: ShieldCheck, label: 'Quantum Sealed' },
|
| 122 |
+
{ icon: Infinity, label: 'Zero Persistence' }
|
| 123 |
+
].map((t, i) => (
|
| 124 |
+
<div key={i} className="text-center space-y-3 opacity-40 hover:opacity-100 transition-opacity">
|
| 125 |
+
<t.icon size={24} className="text-zinc-500 mx-auto" />
|
| 126 |
+
<p className="text-[9px] font-black text-zinc-600 uppercase tracking-widest leading-tight">{t.label}</p>
|
| 127 |
+
</div>
|
| 128 |
+
))}
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
|
| 133 |
+
<div className="mt-40 grid grid-cols-2 md:grid-cols-4 gap-20 opacity-10 hover:opacity-100 transition-all duration-1000 grayscale hover:grayscale-0">
|
| 134 |
+
{['Global Hub', 'Encrypted Core', 'Hard Consensus', 'State Elasticity'].map((label, i) => (
|
| 135 |
+
<div key={i} className="flex flex-col items-center gap-6">
|
| 136 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-600 animate-ping"></div>
|
| 137 |
+
<span className="text-[10px] font-black uppercase tracking-[1em] text-zinc-600">{label}</span>
|
| 138 |
+
</div>
|
| 139 |
+
))}
|
| 140 |
+
</div>
|
| 141 |
+
</div>
|
| 142 |
+
</section>
|
| 143 |
+
);
|
| 144 |
+
};
|
| 145 |
+
|
| 146 |
+
export default SystemFabric;
|