Spaces:
Sleeping
Sleeping
Upload 27 files
Browse files- views/Documentation.tsx +135 -86
- views/Landing.tsx +158 -192
- views/PrivacyPolicy.tsx +118 -62
- views/TechnicalDeepDive.tsx +167 -0
- views/routes.ts +14 -28
views/Documentation.tsx
CHANGED
|
@@ -1,110 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
<div className="flex items-center gap-
|
| 8 |
-
<div className="p-
|
| 9 |
-
<Icon size={
|
| 10 |
</div>
|
| 11 |
<div>
|
| 12 |
-
<h3 className="text-
|
| 13 |
-
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest">Protocol Segment v6.
|
| 14 |
</div>
|
| 15 |
</div>
|
| 16 |
-
<p className="text-zinc-400 text-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
<div className="
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
{
|
| 24 |
-
|
| 25 |
-
|
|
|
|
|
|
|
|
|
|
| 26 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
</div>
|
| 28 |
</div>
|
| 29 |
);
|
| 30 |
|
| 31 |
const Documentation: React.FC = () => {
|
|
|
|
| 32 |
return (
|
| 33 |
-
<div className="
|
| 34 |
-
<div className="
|
| 35 |
-
<div>
|
| 36 |
-
<div className="
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
</div>
|
| 40 |
-
<h1 className="text-6xl font-black italic text-white uppercase tracking-tighter leading-none">
|
| 41 |
-
Documentation <br /> <span className="text-blue-500 not-italic">Core</span>
|
| 42 |
-
</h1>
|
| 43 |
</div>
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
<
|
| 47 |
-
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
/>
|
| 50 |
</div>
|
| 51 |
-
</div>
|
| 52 |
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
description="Encrypted long-term storage for audit compliance. Every document is cryptographically signed and stored with sha256 checksum integrity."
|
| 76 |
-
details={["Institutional Archive Export", "Cryptographic Metadata Storage", "Compliance Audit Trails", "Multi-format Ledger Support"]}
|
| 77 |
-
/>
|
| 78 |
-
<DocSection
|
| 79 |
-
icon={Bitcoin}
|
| 80 |
-
title="Asset Terminal"
|
| 81 |
-
description="Decentralized finance gateway for corporate treasuries. High-frequency trading (HFT) interface with neural-enhanced depth analysis."
|
| 82 |
-
details={["Real-time Global Market Data", "AI Sentiment Monitoring", "High-Frequency Tick Visualization", "Subspace Signal Parity"]}
|
| 83 |
-
/>
|
| 84 |
-
<DocSection
|
| 85 |
-
icon={Zap}
|
| 86 |
-
title="Onboarding Flows"
|
| 87 |
-
description="Low-friction institutional integration layer. Dynamically generate secure handshakes for account collection and payment authorization."
|
| 88 |
-
details={["AI SDK Code Architect", "RTP Payment Triggering", "Dynamic Client Registration", "Secure Token Issuance"]}
|
| 89 |
-
/>
|
| 90 |
-
</div>
|
| 91 |
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
</div>
|
| 101 |
</div>
|
| 102 |
-
<button onClick={() => window.history.back()} className="px-10 py-5 bg-white text-blue-600 rounded-2xl font-black text-xs uppercase tracking-widest hover:scale-105 transition-all shadow-xl">
|
| 103 |
-
Open AI Advisor
|
| 104 |
-
</button>
|
| 105 |
</div>
|
| 106 |
</div>
|
| 107 |
);
|
| 108 |
};
|
| 109 |
|
| 110 |
-
export default Documentation;
|
|
|
|
| 1 |
+
import React, { useState } from 'react';
|
| 2 |
+
import {
|
| 3 |
+
BookOpen, Search, Code, LayoutDashboard, Building2, Cpu, ShieldCheck, Zap,
|
| 4 |
+
Bitcoin, Terminal, ArrowRight, ChevronRight, Activity, Globe, Database,
|
| 5 |
+
Layers, Lock, Server, FileText, Smartphone, ArrowLeft, Shield
|
| 6 |
+
} from 'lucide-react';
|
| 7 |
+
import { useNavigate } from 'react-router-dom';
|
| 8 |
|
| 9 |
+
const DocSection: React.FC<{ icon: any, title: string, description: string, details: string[], code?: string }> = ({ icon: Icon, title, description, details, code }) => (
|
| 10 |
+
<div className="group bg-zinc-950 border border-zinc-900 p-12 rounded-[4rem] hover:border-blue-500/30 transition-all shadow-2xl relative overflow-hidden">
|
| 11 |
+
<div className="absolute top-0 right-0 p-10 opacity-[0.02] group-hover:opacity-10 transition-opacity">
|
| 12 |
+
<Icon size={180} />
|
| 13 |
+
</div>
|
| 14 |
+
<div className="flex items-center gap-8 mb-10 relative z-10">
|
| 15 |
+
<div className="p-5 bg-zinc-900 rounded-3xl text-blue-500 group-hover:scale-110 transition-transform duration-500 border border-zinc-800 shadow-xl">
|
| 16 |
+
<Icon size={32} />
|
| 17 |
</div>
|
| 18 |
<div>
|
| 19 |
+
<h3 className="text-3xl font-black text-white italic tracking-tighter uppercase leading-none">{title}</h3>
|
| 20 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest mt-2">Protocol Segment v6.5 • Synchronized</p>
|
| 21 |
</div>
|
| 22 |
</div>
|
| 23 |
+
<p className="text-zinc-400 text-lg leading-relaxed mb-12 font-medium italic relative z-10">"{description}"</p>
|
| 24 |
+
|
| 25 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 relative z-10">
|
| 26 |
+
<div className="space-y-6">
|
| 27 |
+
<h4 className="text-[10px] font-black text-blue-500 uppercase tracking-widest mb-6">Core Functions</h4>
|
| 28 |
+
<div className="space-y-4">
|
| 29 |
+
{details.map((d, i) => (
|
| 30 |
+
<div key={i} className="flex items-start gap-4 text-sm font-bold text-zinc-300">
|
| 31 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 mt-1.5 shrink-0 shadow-[0_0_8px_#3b82f6]"></div>
|
| 32 |
+
<span>{d}</span>
|
| 33 |
+
</div>
|
| 34 |
+
))}
|
| 35 |
+
</div>
|
| 36 |
</div>
|
| 37 |
+
{code && (
|
| 38 |
+
<div className="bg-black border border-zinc-900 rounded-3xl p-8 font-mono text-[10px] text-emerald-500/80 shadow-inner group-hover:border-zinc-700 transition-colors h-48 overflow-y-auto custom-scrollbar">
|
| 39 |
+
<p className="text-zinc-700 italic mb-4">// Protocol Implementation</p>
|
| 40 |
+
<pre className="whitespace-pre-wrap">{code}</pre>
|
| 41 |
+
</div>
|
| 42 |
+
)}
|
| 43 |
</div>
|
| 44 |
</div>
|
| 45 |
);
|
| 46 |
|
| 47 |
const Documentation: React.FC = () => {
|
| 48 |
+
const navigate = useNavigate();
|
| 49 |
return (
|
| 50 |
+
<div className="min-h-screen bg-black text-white py-20 px-10 animate-in slide-in-from-bottom-6 duration-1000">
|
| 51 |
+
<div className="max-w-7xl mx-auto space-y-24">
|
| 52 |
+
<div className="flex flex-col md:flex-row justify-between items-end gap-12 border-b border-zinc-900 pb-20">
|
| 53 |
+
<div className="space-y-10">
|
| 54 |
+
<button onClick={() => navigate(-1)} className="group flex items-center gap-4 text-zinc-600 hover:text-white transition-colors">
|
| 55 |
+
<ArrowLeft size={20} className="group-hover:-translate-x-2 transition-transform" />
|
| 56 |
+
<span className="text-[11px] font-black uppercase tracking-[0.4em]">Return to Nexus</span>
|
| 57 |
+
</button>
|
| 58 |
+
<div className="inline-flex items-center space-x-3 px-6 py-2.5 bg-blue-500/10 border border-blue-500/20 rounded-full text-[11px] font-black text-blue-500 uppercase tracking-widest">
|
| 59 |
+
<BookOpen size={16} />
|
| 60 |
+
<span>Lumina System Manual v6.5.0</span>
|
| 61 |
+
</div>
|
| 62 |
+
<h1 className="text-[8rem] font-black italic text-white uppercase tracking-tighter leading-none">
|
| 63 |
+
Manual <br /> <span className="text-blue-500 not-italic">Registry</span>
|
| 64 |
+
</h1>
|
| 65 |
+
</div>
|
| 66 |
+
<div className="relative w-full md:w-[480px]">
|
| 67 |
+
<Search className="absolute left-8 top-1/2 -translate-y-1/2 text-zinc-600" size={24} />
|
| 68 |
+
<input
|
| 69 |
+
placeholder="Search Protocol Map..."
|
| 70 |
+
className="w-full bg-zinc-950 border-2 border-zinc-900 focus:border-blue-500/50 rounded-[3rem] py-8 pl-20 pr-10 text-xl text-white font-bold outline-none transition-all shadow-2xl"
|
| 71 |
+
/>
|
| 72 |
</div>
|
|
|
|
|
|
|
|
|
|
| 73 |
</div>
|
| 74 |
+
|
| 75 |
+
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12">
|
| 76 |
+
<DocSection
|
| 77 |
+
icon={LayoutDashboard}
|
| 78 |
+
title="Command Interface"
|
| 79 |
+
description="The central nervous system of the Lumina Quantum Ledger. Aggregates live data from multiple institutional nodes into a singular dashboard."
|
| 80 |
+
details={["Real-time Cash Curve Monitoring", "AI-Driven Liquidity Alerts", "Carbon Deficit Tracking", "Node Health Verification"]}
|
| 81 |
+
code={`const dashboard = await Lumina.Core.initialize({
|
| 82 |
+
nodeParity: 'STRICT',
|
| 83 |
+
refreshInterval: 'REALTIME',
|
| 84 |
+
metrics: ['liquidity', 'alpha', 'esg']
|
| 85 |
+
});`}
|
| 86 |
+
/>
|
| 87 |
+
<DocSection
|
| 88 |
+
icon={Building2}
|
| 89 |
+
title="Bank Registry"
|
| 90 |
+
description="Managed corporate treasury nodes connecting directly to tier-1 banks via the FDX v6 protocol. Secure, read-write access to institutional vaults."
|
| 91 |
+
details={["FDX Native Handshakes", "Multi-Institution Syncing", "Available Balance Polling", "Real-time Node Status"]}
|
| 92 |
+
code={`await Registry.Handshake('CITI-USA-1', {
|
| 93 |
+
protocol: 'FDX_V6_NATIVE',
|
| 94 |
+
scope: ['READ_WRITE'],
|
| 95 |
+
auth: { type: 'RSA-OAEP-4096' }
|
| 96 |
+
});`}
|
| 97 |
+
/>
|
| 98 |
+
<DocSection
|
| 99 |
+
icon={Cpu}
|
| 100 |
+
title="Quantum Oracle"
|
| 101 |
+
description="Neural financial forecasting engine. Runs complex 'What-If' simulations using high-fidelity economic models and predictive drift analysis."
|
| 102 |
+
details={["Inflation Spike Modeling", "Compute Cost Forecasting", "Market Volatility Stress Testing", "Resilience AA- Ratings"]}
|
| 103 |
+
code={`const forecast = await Oracle.Simulate({
|
| 104 |
+
scenario: 'HYPER_INFLATION_Q3',
|
| 105 |
+
assetClass: 'REAL_ESTATE',
|
| 106 |
+
confidence: 0.98
|
| 107 |
+
});`}
|
| 108 |
+
/>
|
| 109 |
+
<DocSection
|
| 110 |
+
icon={ShieldCheck}
|
| 111 |
+
title="Record Vault"
|
| 112 |
+
description="Encrypted long-term storage for audit compliance. Every document is cryptographically signed and stored with sha256 checksum integrity."
|
| 113 |
+
details={["Institutional Archive Export", "Cryptographic Metadata Storage", "Compliance Audit Trails", "Multi-format Ledger Support"]}
|
| 114 |
+
code={`const record = await Vault.Seal(payload, {
|
| 115 |
+
encryption: 'AES-256-GCM',
|
| 116 |
+
sign: 'RSA-PSS-4096',
|
| 117 |
+
auditTrail: true
|
| 118 |
+
});`}
|
| 119 |
/>
|
| 120 |
</div>
|
|
|
|
| 121 |
|
| 122 |
+
<div className="p-20 bg-zinc-950 border border-zinc-900 rounded-[5rem] shadow-[0_100px_200px_rgba(0,0,0,0.8)] relative overflow-hidden group">
|
| 123 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_0%_0%,_#1e1b4b_0%,_transparent_50%)] opacity-30"></div>
|
| 124 |
+
<div className="relative z-10 flex flex-col md:flex-row justify-between items-center gap-16">
|
| 125 |
+
<div className="space-y-8 flex-1">
|
| 126 |
+
<div className="p-6 bg-blue-600/10 text-blue-500 rounded-[2.5rem] border border-blue-500/20 shadow-2xl inline-block group-hover:scale-110 transition-transform duration-700">
|
| 127 |
+
<Terminal size={48} />
|
| 128 |
+
</div>
|
| 129 |
+
<h2 className="text-5xl font-black italic text-white uppercase tracking-tighter leading-none">Need Direct <br /> <span className="text-blue-500">Handshake?</span></h2>
|
| 130 |
+
<p className="text-zinc-500 text-xl font-bold italic leading-relaxed max-w-2xl">
|
| 131 |
+
"Our AI Terminal architects are online 24/7 to help you deploy custom node integrations and quantum-resistant treasury flows."
|
| 132 |
+
</p>
|
| 133 |
+
</div>
|
| 134 |
+
<div className="w-full md:w-auto flex flex-col gap-6">
|
| 135 |
+
<button onClick={() => navigate('/advisor')} className="px-16 py-8 bg-white text-black rounded-[2.5rem] font-black text-sm uppercase tracking-[0.5em] hover:scale-105 transition-all shadow-[0_30px_60px_rgba(255,255,255,0.1)] flex items-center justify-center gap-6">
|
| 136 |
+
Open Advisor <ChevronRight size={24} />
|
| 137 |
+
</button>
|
| 138 |
+
<button className="px-16 py-8 bg-zinc-900 text-white border border-zinc-800 rounded-[2.5rem] font-black text-sm uppercase tracking-[0.5em] hover:bg-zinc-800 transition-all flex items-center justify-center gap-6">
|
| 139 |
+
API Reference <Globe size={24} />
|
| 140 |
+
</button>
|
| 141 |
+
</div>
|
| 142 |
+
</div>
|
| 143 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
|
| 145 |
+
<div className="pt-20 border-t border-zinc-900 grid grid-cols-2 md:grid-cols-4 gap-20 opacity-20 grayscale hover:opacity-100 hover:grayscale-0 transition-all duration-1000">
|
| 146 |
+
{/* Fix: Use Shield which is now imported */}
|
| 147 |
+
{['AES-256', 'RSA-4096', 'SHA-256', 'RSA-PSS'].map((label, i) => (
|
| 148 |
+
<div key={i} className="text-center space-y-4">
|
| 149 |
+
<Shield size={32} className="mx-auto text-zinc-500" />
|
| 150 |
+
<span className="text-[12px] font-black uppercase tracking-[1em] text-zinc-600">{label}</span>
|
| 151 |
+
</div>
|
| 152 |
+
))}
|
|
|
|
| 153 |
</div>
|
|
|
|
|
|
|
|
|
|
| 154 |
</div>
|
| 155 |
</div>
|
| 156 |
);
|
| 157 |
};
|
| 158 |
|
| 159 |
+
export default Documentation;
|
views/Landing.tsx
CHANGED
|
@@ -1,30 +1,38 @@
|
|
| 1 |
-
import React, { useState, useEffect
|
| 2 |
-
import { useNavigate } from 'react-router-dom';
|
| 3 |
import {
|
| 4 |
-
Cpu, Sparkles, ArrowRight, Loader2,
|
| 5 |
ShieldCheck, Globe, Activity, Layers, Database, Lock, Eye, Building2, BarChart3, Radio, RefreshCw,
|
| 6 |
-
BrainCircuit, Network, Server, Fingerprint, Key, Wallet,
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
ShieldAlert, Repeat, ChevronLeft, GitPullRequest, Box, Code, ChevronRight
|
| 10 |
} from 'lucide-react';
|
| 11 |
import { apiClient } from '../services/api';
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
const FEATURE_CARDS = [
|
| 14 |
{ id: 1, title: "Neural Parity", desc: "Real-time ledger consensus across 1,200 nodes with zero-drift synchronization.", icon: Fingerprint, color: "blue", img: "https://images.unsplash.com/photo-1639762681485-074b7f938ba0?q=80&w=2832&auto=format&fit=crop" },
|
| 15 |
{ id: 2, title: "Quantum Oracle", desc: "Predictive treasury drift detection using qubit-stabilized neural forecasting models.", icon: Cpu, color: "purple", img: "https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=2872&auto=format&fit=crop" },
|
| 16 |
-
{ id: 3, title: "Liquidity Mesh", desc: "High-velocity disbursement fabrics optimized for sub-millisecond M2M settlement.", icon:
|
| 17 |
{ id: 4, title: "Sovereign ID", desc: "Encapsulated identity vault utilizing RSA-OAEP-4096 and rotating high-entropy seeds.", icon: Lock, color: "rose", img: "https://images.unsplash.com/photo-1558494949-ef010cbdcc51?q=80&w=2546&auto=format&fit=crop" },
|
| 18 |
-
{ id: 5, title: "
|
| 19 |
-
{ id: 2, title: "Edge Routing", desc: "Global distribution node Map with proximity-optimized gateway handshakes.", icon: Globe, color: "cyan", img: "https://images.unsplash.com/photo-1484417894907-623942c8ee29?q=80&w=2832&auto=format&fit=crop" }
|
| 20 |
];
|
| 21 |
|
| 22 |
const Landing: React.FC = () => {
|
| 23 |
const navigate = useNavigate();
|
| 24 |
const [isDemoLoading, setIsDemoLoading] = useState(false);
|
| 25 |
const [scrollY, setScrollY] = useState(0);
|
| 26 |
-
|
| 27 |
-
// Feature Shuffle State
|
| 28 |
const [activeFeatureIndex, setActiveFeatureIndex] = useState(0);
|
| 29 |
|
| 30 |
useEffect(() => {
|
|
@@ -61,49 +69,53 @@ const Landing: React.FC = () => {
|
|
| 61 |
</div>
|
| 62 |
|
| 63 |
{/* FORTUNE 1200 MEGA HEADER */}
|
| 64 |
-
<nav className={`fixed top-0 left-0 w-full z-[100] px-10 py-
|
| 65 |
<div className="flex items-center gap-12">
|
| 66 |
-
<
|
| 67 |
-
<div className="w-
|
| 68 |
-
<Cpu size={
|
| 69 |
</div>
|
| 70 |
<div>
|
| 71 |
-
<h1 className="text-
|
| 72 |
-
<p className="text-[
|
| 73 |
</div>
|
| 74 |
-
</
|
| 75 |
|
| 76 |
-
<div className="hidden xl:flex items-center gap-
|
| 77 |
-
<
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
</div>
|
| 95 |
</div>
|
| 96 |
|
| 97 |
-
<div className="flex items-center gap-
|
| 98 |
-
<button onClick={() => navigate('/
|
| 99 |
-
<button onClick={handleDemoAccess} className="px-
|
| 100 |
-
{isDemoLoading ? <Loader2 size={
|
| 101 |
-
|
| 102 |
</button>
|
| 103 |
</div>
|
| 104 |
</nav>
|
| 105 |
|
| 106 |
-
{/* HERO
|
| 107 |
<section className="relative z-10 min-h-screen flex flex-col justify-center items-center px-10 pt-40 pb-20 text-center overflow-hidden">
|
| 108 |
<div className="absolute inset-0 z-0 opacity-30">
|
| 109 |
<img src="https://images.unsplash.com/photo-1639322537228-f710d846310a?q=80&w=2832&auto=format&fit=crop" className="w-full h-full object-cover blur-[140px] scale-110" alt="Liquid Space" />
|
|
@@ -113,41 +125,41 @@ const Landing: React.FC = () => {
|
|
| 113 |
<div className="inline-flex items-center gap-4 px-10 py-4 bg-blue-600/10 border border-blue-600/20 rounded-full animate-in zoom-in-95 duration-1000 relative overflow-hidden group">
|
| 114 |
<div className="absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent animate-[shimmer_2s_infinite]"></div>
|
| 115 |
<Activity size={18} className="text-blue-500" />
|
| 116 |
-
<span className="text-[12px] font-black uppercase tracking-[0.8em] text-blue-500">
|
| 117 |
</div>
|
| 118 |
|
| 119 |
-
<h1 className="text-[10rem] lg:text-[
|
| 120 |
-
|
| 121 |
</h1>
|
| 122 |
|
| 123 |
<p className="text-zinc-500 text-3xl lg:text-4xl font-bold italic max-w-6xl mx-auto mb-16 leading-relaxed">
|
| 124 |
-
"The definitive interface for <span className="text-white">high-velocity institutional
|
| 125 |
</p>
|
| 126 |
|
| 127 |
-
<div className="flex flex-wrap justify-center gap-
|
| 128 |
<button
|
| 129 |
onClick={handleDemoAccess}
|
| 130 |
-
className="px-
|
| 131 |
>
|
| 132 |
-
{isDemoLoading ? <Loader2 size={
|
| 133 |
-
<ArrowRight size={
|
| 134 |
</button>
|
| 135 |
-
<button className="px-
|
| 136 |
-
<
|
| 137 |
-
|
| 138 |
</button>
|
| 139 |
</div>
|
| 140 |
</div>
|
| 141 |
<div className="mt-40 animate-bounce opacity-20"><ChevronDown size={64} /></div>
|
| 142 |
</section>
|
| 143 |
|
| 144 |
-
{/*
|
| 145 |
<section className="relative z-10 py-60 px-10 bg-zinc-950/20">
|
| 146 |
<div className="max-w-[1400px] mx-auto grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 147 |
<div className="space-y-16">
|
| 148 |
<div className="space-y-6">
|
| 149 |
-
<h3 className="text-blue-500 font-black text-xs uppercase tracking-[0.8em]">
|
| 150 |
-
<h2 className="text-8xl lg:text-[10rem] font-black italic text-white tracking-tighter uppercase leading-[0.85]">
|
| 151 |
</div>
|
| 152 |
<p className="text-zinc-500 text-2xl font-bold leading-relaxed italic max-w-2xl">
|
| 153 |
"Our architectural layers are infinite. Swipe through the core protocols that define the future of sovereign digital wealth management."
|
|
@@ -163,42 +175,27 @@ const Landing: React.FC = () => {
|
|
| 163 |
const isActive = activeFeatureIndex === i;
|
| 164 |
const isPrev = (activeFeatureIndex - 1 + FEATURE_CARDS.length) % FEATURE_CARDS.length === i;
|
| 165 |
const isNext = (activeFeatureIndex + 1) % FEATURE_CARDS.length === i;
|
| 166 |
-
|
| 167 |
-
let
|
| 168 |
-
let
|
| 169 |
-
let scale = 0.8;
|
| 170 |
-
let rotate = 0;
|
| 171 |
-
let zIndex = 0;
|
| 172 |
-
|
| 173 |
-
if (isActive) { offset = 0; opacity = 1; scale = 1; rotate = 0; zIndex = 50; }
|
| 174 |
-
else if (isNext) { offset = 60; opacity = 0.4; scale = 0.9; rotate = 5; zIndex = 40; }
|
| 175 |
-
else if (isPrev) { offset = -60; opacity = 0; scale = 0.9; rotate = -5; zIndex = 30; }
|
| 176 |
-
else { opacity = 0; offset = 100; scale = 0.7; zIndex = 0; }
|
| 177 |
|
| 178 |
return (
|
| 179 |
<div
|
| 180 |
key={card.id}
|
| 181 |
className="absolute inset-0 transition-all duration-1000 ease-[cubic-bezier(0.23,1,0.32,1)]"
|
| 182 |
-
style={{
|
| 183 |
-
transform: `translateX(${offset}px) scale(${scale}) rotate(${rotate}deg)`,
|
| 184 |
-
opacity,
|
| 185 |
-
zIndex
|
| 186 |
-
}}
|
| 187 |
>
|
| 188 |
<div className="w-full h-full bg-zinc-950 border border-zinc-900 rounded-[5rem] overflow-hidden shadow-[0_100px_200px_rgba(0,0,0,0.8)] relative group">
|
| 189 |
-
<img src={card.img} className="absolute inset-0 w-full h-full object-cover opacity-40 group-hover:opacity-60
|
| 190 |
<div className="absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent"></div>
|
| 191 |
<div className="absolute bottom-16 left-16 right-16 space-y-8">
|
| 192 |
-
<div className={`
|
| 193 |
<card.icon size={40} />
|
| 194 |
</div>
|
| 195 |
<div className="space-y-4">
|
| 196 |
<h4 className="text-6xl font-black italic uppercase tracking-tighter text-white leading-none">{card.title}</h4>
|
| 197 |
<p className="text-zinc-400 text-xl font-bold leading-relaxed italic pr-10">"{card.desc}"</p>
|
| 198 |
</div>
|
| 199 |
-
<button className="flex items-center gap-4 text-[11px] font-black uppercase tracking-[0.5em] text-blue-500 hover:text-white transition-colors group/link">
|
| 200 |
-
Deploy Protocol <ArrowRight size={16} className="group-hover/link:translate-x-3 transition-transform" />
|
| 201 |
-
</button>
|
| 202 |
</div>
|
| 203 |
</div>
|
| 204 |
</div>
|
|
@@ -208,79 +205,19 @@ const Landing: React.FC = () => {
|
|
| 208 |
</div>
|
| 209 |
</section>
|
| 210 |
|
| 211 |
-
{/*
|
| 212 |
-
<
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
<div className="grid grid-cols-2 gap-10">
|
| 223 |
-
<div className="space-y-3">
|
| 224 |
-
<p className="text-[10px] font-black text-emerald-500 uppercase tracking-widest">Rate Limit</p>
|
| 225 |
-
<p className="text-xl font-black italic uppercase text-white">100 Req / Sec</p>
|
| 226 |
-
</div>
|
| 227 |
-
<div className="space-y-3">
|
| 228 |
-
<p className="text-[10px] font-black text-emerald-500 uppercase tracking-widest">Latency Hub</p>
|
| 229 |
-
<p className="text-xl font-black italic uppercase text-white">Global Nodes</p>
|
| 230 |
-
</div>
|
| 231 |
-
</div>
|
| 232 |
-
</div>
|
| 233 |
|
| 234 |
-
|
| 235 |
-
<div className="absolute top-0 right-0 p-10 opacity-5">
|
| 236 |
-
<Code size={120} className="text-emerald-500" />
|
| 237 |
-
</div>
|
| 238 |
-
<div className="flex items-center gap-6 mb-12">
|
| 239 |
-
<div className="w-4 h-4 bg-emerald-500 rounded-full animate-pulse shadow-[0_0_12px_#10b981]"></div>
|
| 240 |
-
<span className="text-[11px] font-black uppercase text-zinc-500 tracking-[0.5em]">Terminal Instance Active</span>
|
| 241 |
-
</div>
|
| 242 |
-
<div className="bg-black/80 rounded-[2.5rem] border border-zinc-900 p-10 font-mono text-sm space-y-6">
|
| 243 |
-
<p className="text-zinc-600 italic">// Initialize Lumina Regular Mesh</p>
|
| 244 |
-
<p className="text-emerald-500">npm install @aibanking/core</p>
|
| 245 |
-
<div className="text-zinc-400 space-y-2">
|
| 246 |
-
<p><span className="text-blue-500">import</span> { <span className="text-amber-500">LuminaNode</span> } <span className="text-blue-500">from</span> <span className="text-emerald-400">'@aibanking/core'</span>;</p>
|
| 247 |
-
<p><span className="text-zinc-500 italic">// Establish regular node handshake</span></p>
|
| 248 |
-
<p><span className="text-blue-500">const</span> node = <span className="text-blue-500">await</span> <span className="text-amber-500">LuminaNode</span>.<span className="text-white">initialize</span>({</p>
|
| 249 |
-
<p className="pl-6">tier: <span className="text-emerald-400">'regular'</span>,</p>
|
| 250 |
-
<p className="pl-6">region: <span className="text-emerald-400">'US-EAST'</span></p>
|
| 251 |
-
<p>});</p>
|
| 252 |
-
</div>
|
| 253 |
-
<button className="flex items-center gap-3 text-zinc-500 hover:text-white transition-colors group/copy">
|
| 254 |
-
<Smartphone size={16} />
|
| 255 |
-
<span className="text-[10px] font-black uppercase tracking-widest">Copy Connection String</span>
|
| 256 |
-
</button>
|
| 257 |
-
</div>
|
| 258 |
-
</div>
|
| 259 |
-
</div>
|
| 260 |
-
</section>
|
| 261 |
-
|
| 262 |
-
{/* MASSIVE CONTENT SLAM SECTIONS */}
|
| 263 |
-
<section className="relative z-10 py-60 px-10 border-t border-white/5">
|
| 264 |
-
<div className="max-w-7xl mx-auto space-y-40">
|
| 265 |
-
<div className="grid grid-cols-1 lg:grid-cols-2 gap-40 items-center">
|
| 266 |
-
<div className="relative aspect-square rounded-[6rem] overflow-hidden shadow-2xl border border-zinc-900 group">
|
| 267 |
-
<img src="https://images.unsplash.com/photo-1639762681485-074b7f938ba0?q=80&w=2832&auto=format&fit=crop" className="w-full h-full object-cover opacity-50 group-hover:opacity-100 group-hover:scale-110 transition-all duration-[3s]" alt="Neural Fabric" />
|
| 268 |
-
</div>
|
| 269 |
-
<div className="space-y-10">
|
| 270 |
-
<h2 className="text-8xl font-black italic text-white uppercase tracking-tighter leading-[0.9]">The Neural <br /> <span className="text-blue-500">Subspace</span></h2>
|
| 271 |
-
<p className="text-zinc-500 text-2xl font-bold italic leading-relaxed">
|
| 272 |
-
"Interconnecting 80+ financial protocols through a singular, high-entropy neural gateway. We don't just route; we synthesize consensus."
|
| 273 |
-
</p>
|
| 274 |
-
<div className="grid grid-cols-2 gap-8">
|
| 275 |
-
<HeritageCard icon={GitPullRequest} title="Requests" val="1.4M / sec" />
|
| 276 |
-
<HeritageCard icon={Box} title="Parity Blocks" val="Synced" />
|
| 277 |
-
</div>
|
| 278 |
-
</div>
|
| 279 |
-
</div>
|
| 280 |
-
</div>
|
| 281 |
-
</section>
|
| 282 |
-
|
| 283 |
-
{/* JAM-PACKED FAT FOOTER */}
|
| 284 |
<footer className="relative z-10 bg-black pt-80 pb-40 px-10 border-t border-zinc-900">
|
| 285 |
<div className="max-w-[1600px] mx-auto">
|
| 286 |
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-20 mb-60">
|
|
@@ -292,29 +229,64 @@ const Landing: React.FC = () => {
|
|
| 292 |
<h2 className="text-4xl font-black italic tracking-tighter uppercase leading-none">AIBanking<span className="text-blue-500 not-italic">.dev</span></h2>
|
| 293 |
</div>
|
| 294 |
<p className="text-zinc-500 text-xl font-bold italic leading-relaxed max-w-md">
|
| 295 |
-
"The undisputed leader in neural treasury automation and institutional mesh fabrics.
|
| 296 |
</p>
|
| 297 |
<div className="flex gap-8">
|
| 298 |
<SocialIcon icon={Globe} /><SocialIcon icon={Shield} /><SocialIcon icon={Zap} /><SocialIcon icon={MessageSquare} />
|
| 299 |
</div>
|
| 300 |
</div>
|
| 301 |
|
| 302 |
-
<FooterColumn title="Protocols" links={[
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 306 |
</div>
|
| 307 |
|
| 308 |
<div className="pt-20 border-t border-zinc-900 flex flex-col md:flex-row justify-between items-center gap-12">
|
| 309 |
-
<div className="flex flex-wrap justify-center md:justify-start gap-12">
|
| 310 |
-
<
|
| 311 |
-
<
|
| 312 |
-
<
|
| 313 |
-
<
|
| 314 |
-
<
|
| 315 |
-
<FooterPolicyLink to="/documentation" label="SLA Standard" />
|
| 316 |
</div>
|
| 317 |
-
<p className="text-[
|
| 318 |
</div>
|
| 319 |
</div>
|
| 320 |
</footer>
|
|
@@ -322,33 +294,34 @@ const Landing: React.FC = () => {
|
|
| 322 |
);
|
| 323 |
};
|
| 324 |
|
| 325 |
-
const
|
| 326 |
-
<div className="group
|
| 327 |
-
|
| 328 |
-
|
| 329 |
-
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
<
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
|
|
|
| 342 |
</div>
|
| 343 |
);
|
| 344 |
|
| 345 |
-
const FooterColumn = ({ title, links }:
|
| 346 |
<div className="space-y-12">
|
| 347 |
<h4 className="text-[12px] font-black uppercase tracking-[0.6em] text-white italic">{title}</h4>
|
| 348 |
<ul className="space-y-6">
|
| 349 |
-
{links.map((link
|
| 350 |
<li key={i}>
|
| 351 |
-
<
|
| 352 |
</li>
|
| 353 |
))}
|
| 354 |
</ul>
|
|
@@ -356,16 +329,9 @@ const FooterColumn = ({ title, links }: any) => (
|
|
| 356 |
);
|
| 357 |
|
| 358 |
const SocialIcon = ({ icon: Icon }: any) => (
|
| 359 |
-
<div className="p-
|
| 360 |
-
<Icon size={
|
| 361 |
</div>
|
| 362 |
);
|
| 363 |
|
| 364 |
-
const FooterPolicyLink = ({ to, label }: any) => {
|
| 365 |
-
const navigate = useNavigate();
|
| 366 |
-
return (
|
| 367 |
-
<button onClick={() => navigate(to)} className="text-[10px] font-black uppercase tracking-[0.4em] text-zinc-600 hover:text-white transition-colors">{label}</button>
|
| 368 |
-
);
|
| 369 |
-
};
|
| 370 |
-
|
| 371 |
export default Landing;
|
|
|
|
| 1 |
+
import React, { useState, useEffect } from 'react';
|
| 2 |
+
import { useNavigate, Link } from 'react-router-dom';
|
| 3 |
import {
|
| 4 |
+
Cpu, Sparkles, ArrowRight, Loader2, ChevronDown,
|
| 5 |
ShieldCheck, Globe, Activity, Layers, Database, Lock, Eye, Building2, BarChart3, Radio, RefreshCw,
|
| 6 |
+
BrainCircuit, Network, Server, Fingerprint, Key, Wallet, FileText, Zap,
|
| 7 |
+
ChevronLeft, GitPullRequest, Box, Code, ChevronRight, Shield, MessageSquare, Plus, Info,
|
| 8 |
+
ArrowUpRight, FileCode, Terminal, ArrowRightLeft, Bitcoin
|
|
|
|
| 9 |
} from 'lucide-react';
|
| 10 |
import { apiClient } from '../services/api';
|
| 11 |
|
| 12 |
+
// Landing Page Components
|
| 13 |
+
import NexusNode from './landing/NexusNode';
|
| 14 |
+
import IntelligenceAlpha from './landing/IntelligenceAlpha';
|
| 15 |
+
import SystemFabric from './landing/SystemFabric';
|
| 16 |
+
import RegistryVault from './landing/RegistryVault';
|
| 17 |
+
import PrivacyManifesto from './landing/PrivacyManifesto';
|
| 18 |
+
import AssetFoundry from './landing/AssetFoundry';
|
| 19 |
+
import QuantumCompute from './landing/QuantumCompute';
|
| 20 |
+
import LiquidityMesh from './landing/LiquidityMesh';
|
| 21 |
+
import EncryptionProtocol from './landing/EncryptionProtocol';
|
| 22 |
+
import OracleAuthority from './landing/OracleAuthority';
|
| 23 |
+
|
| 24 |
const FEATURE_CARDS = [
|
| 25 |
{ id: 1, title: "Neural Parity", desc: "Real-time ledger consensus across 1,200 nodes with zero-drift synchronization.", icon: Fingerprint, color: "blue", img: "https://images.unsplash.com/photo-1639762681485-074b7f938ba0?q=80&w=2832&auto=format&fit=crop" },
|
| 26 |
{ id: 2, title: "Quantum Oracle", desc: "Predictive treasury drift detection using qubit-stabilized neural forecasting models.", icon: Cpu, color: "purple", img: "https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=2872&auto=format&fit=crop" },
|
| 27 |
+
{ id: 3, title: "Liquidity Mesh", desc: "High-velocity disbursement fabrics optimized for sub-millisecond M2M settlement.", icon: Network, color: "emerald", img: "https://images.unsplash.com/photo-1614850523296-d8c1af93d400?q=80&w=2570&auto=format&fit=crop" },
|
| 28 |
{ id: 4, title: "Sovereign ID", desc: "Encapsulated identity vault utilizing RSA-OAEP-4096 and rotating high-entropy seeds.", icon: Lock, color: "rose", img: "https://images.unsplash.com/photo-1558494949-ef010cbdcc51?q=80&w=2546&auto=format&fit=crop" },
|
| 29 |
+
{ id: 5, title: "Foundry Sync", desc: "Global distribution node Map with proximity-optimized gateway handshakes.", icon: Globe, color: "cyan", img: "https://images.unsplash.com/photo-1484417894907-623942c8ee29?q=80&w=2832&auto=format&fit=crop" }
|
|
|
|
| 30 |
];
|
| 31 |
|
| 32 |
const Landing: React.FC = () => {
|
| 33 |
const navigate = useNavigate();
|
| 34 |
const [isDemoLoading, setIsDemoLoading] = useState(false);
|
| 35 |
const [scrollY, setScrollY] = useState(0);
|
|
|
|
|
|
|
| 36 |
const [activeFeatureIndex, setActiveFeatureIndex] = useState(0);
|
| 37 |
|
| 38 |
useEffect(() => {
|
|
|
|
| 69 |
</div>
|
| 70 |
|
| 71 |
{/* FORTUNE 1200 MEGA HEADER */}
|
| 72 |
+
<nav className={`fixed top-0 left-0 w-full z-[100] px-10 py-6 flex justify-between items-center transition-all duration-700 ${scrollY > 50 ? 'backdrop-blur-3xl bg-black/80 border-b border-white/5 py-4' : 'bg-transparent'}`}>
|
| 73 |
<div className="flex items-center gap-12">
|
| 74 |
+
<Link to="/" className="flex items-center gap-6 group">
|
| 75 |
+
<div className="w-12 h-12 bg-white rounded-2xl flex items-center justify-center group-hover:rotate-12 transition-transform duration-700 shadow-2xl border border-zinc-900">
|
| 76 |
+
<Cpu size={24} className="text-black" />
|
| 77 |
</div>
|
| 78 |
<div>
|
| 79 |
+
<h1 className="text-xl font-black italic tracking-tighter text-white uppercase leading-none">AIBanking<span className="text-blue-500 not-italic">.dev</span></h1>
|
| 80 |
+
<p className="text-[8px] uppercase tracking-[0.6em] font-black text-zinc-600 mt-1">Institutional Consensus</p>
|
| 81 |
</div>
|
| 82 |
+
</Link>
|
| 83 |
|
| 84 |
+
<div className="hidden xl:flex items-center gap-8">
|
| 85 |
+
<MegaNavItem label="Commercial" items={[
|
| 86 |
+
{ icon: Zap, title: "Treasury Nodes", desc: "Automated liquidity mesh.", to: "/protocol/treasury" },
|
| 87 |
+
/* Fix: Use ArrowRightLeft which is now imported */
|
| 88 |
+
{ icon: ArrowRightLeft, title: "Disbursements", desc: "Real-time global routing.", to: "/payments" },
|
| 89 |
+
{ icon: Database, title: "Collections", desc: "Consolidated node intake.", to: "/protocol/collections" }
|
| 90 |
+
]} />
|
| 91 |
+
<MegaNavItem label="Institutional" items={[
|
| 92 |
+
{ icon: Building2, title: "Prime Brokerage", desc: "HFT neural execution.", to: "/protocol/prime" },
|
| 93 |
+
{ icon: ShieldCheck, title: "Custody Layer", desc: "RSA-OAEP vaulting.", to: "/protocol/custody" },
|
| 94 |
+
{ icon: FileText, title: "Trust Services", desc: "Deterministic ledger audit.", to: "/protocol/trust" }
|
| 95 |
+
]} />
|
| 96 |
+
<MegaNavItem label="Global Markets" items={[
|
| 97 |
+
/* Fix: Use Bitcoin which is now imported */
|
| 98 |
+
{ icon: Bitcoin, title: "Asset Foundry", desc: "Relic synthesis node.", to: "/crypt" },
|
| 99 |
+
{ icon: Globe, title: "Forex Mesh", desc: "Sub-ms currency parity.", to: "/protocol/forex" }
|
| 100 |
+
]} />
|
| 101 |
+
<MegaNavItem label="Tech Stack" items={[
|
| 102 |
+
{ icon: Code, title: "API Registry", desc: "FDX v6.5 native sync.", to: "/dcr" },
|
| 103 |
+
{ icon: Server, title: "Node Map", desc: "Global cluster health.", to: "/connectivity" },
|
| 104 |
+
{ icon: Terminal, title: "SDK Blueprint", desc: "M2M automation core.", to: "/documentation" }
|
| 105 |
+
]} />
|
| 106 |
</div>
|
| 107 |
</div>
|
| 108 |
|
| 109 |
+
<div className="flex items-center gap-8">
|
| 110 |
+
<button onClick={() => navigate('/login')} className="hidden md:block text-[10px] font-black uppercase tracking-[0.4em] text-zinc-500 hover:text-white transition-colors">Client Terminal</button>
|
| 111 |
+
<button onClick={handleDemoAccess} className="px-8 py-4 bg-blue-600 text-white rounded-full font-black text-[10px] uppercase tracking-[0.4em] hover:bg-blue-500 transition-all flex items-center gap-4 shadow-[0_0_30px_rgba(37,99,235,0.3)] group active:scale-95">
|
| 112 |
+
{isDemoLoading ? <Loader2 size={14} className="animate-spin" /> : <Sparkles size={14} className="group-hover:scale-125 transition-transform" />}
|
| 113 |
+
Connect Node
|
| 114 |
</button>
|
| 115 |
</div>
|
| 116 |
</nav>
|
| 117 |
|
| 118 |
+
{/* HERO SECTION */}
|
| 119 |
<section className="relative z-10 min-h-screen flex flex-col justify-center items-center px-10 pt-40 pb-20 text-center overflow-hidden">
|
| 120 |
<div className="absolute inset-0 z-0 opacity-30">
|
| 121 |
<img src="https://images.unsplash.com/photo-1639322537228-f710d846310a?q=80&w=2832&auto=format&fit=crop" className="w-full h-full object-cover blur-[140px] scale-110" alt="Liquid Space" />
|
|
|
|
| 125 |
<div className="inline-flex items-center gap-4 px-10 py-4 bg-blue-600/10 border border-blue-600/20 rounded-full animate-in zoom-in-95 duration-1000 relative overflow-hidden group">
|
| 126 |
<div className="absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent animate-[shimmer_2s_infinite]"></div>
|
| 127 |
<Activity size={18} className="text-blue-500" />
|
| 128 |
+
<span className="text-[12px] font-black uppercase tracking-[0.8em] text-blue-500">Subspace_Mesh_Stabilized</span>
|
| 129 |
</div>
|
| 130 |
|
| 131 |
+
<h1 className="text-[10rem] lg:text-[14rem] font-black italic tracking-tighter uppercase leading-[0.7] mb-12 drop-shadow-2xl">
|
| 132 |
+
Sovereign <br /><span className="text-blue-600 not-italic decoration-blue-900/40 underline-offset-[30px] underline decoration-[20px]">Assets</span>
|
| 133 |
</h1>
|
| 134 |
|
| 135 |
<p className="text-zinc-500 text-3xl lg:text-4xl font-bold italic max-w-6xl mx-auto mb-16 leading-relaxed">
|
| 136 |
+
"The definitive interface for <span className="text-white">high-velocity institutional liquidity</span>. Route neural signals through the mesh with absolute cryptographic parity."
|
| 137 |
</p>
|
| 138 |
|
| 139 |
+
<div className="flex flex-wrap justify-center gap-10 pt-10">
|
| 140 |
<button
|
| 141 |
onClick={handleDemoAccess}
|
| 142 |
+
className="px-16 py-8 bg-white text-black rounded-[2.5rem] font-black text-sm uppercase tracking-[0.6em] flex items-center gap-8 hover:bg-blue-600 hover:text-white transition-all shadow-[0_40px_80px_rgba(255,255,255,0.1)] group active:scale-95"
|
| 143 |
>
|
| 144 |
+
{isDemoLoading ? <Loader2 size={24} className="animate-spin" /> : <span>Initialize Registry</span>}
|
| 145 |
+
<ArrowRight size={24} className="group-hover:translate-x-4 transition-transform duration-700" />
|
| 146 |
</button>
|
| 147 |
+
<button onClick={() => navigate('/documentation')} className="px-16 py-8 bg-zinc-950 border border-zinc-900 text-white rounded-[2.5rem] font-black text-sm uppercase tracking-[0.6em] flex items-center gap-8 hover:border-blue-600 transition-all shadow-2xl group active:scale-95">
|
| 148 |
+
<FileCode size={24} className="text-blue-500" />
|
| 149 |
+
Manual_v6.5
|
| 150 |
</button>
|
| 151 |
</div>
|
| 152 |
</div>
|
| 153 |
<div className="mt-40 animate-bounce opacity-20"><ChevronDown size={64} /></div>
|
| 154 |
</section>
|
| 155 |
|
| 156 |
+
{/* FEATURE SHUFFLE */}
|
| 157 |
<section className="relative z-10 py-60 px-10 bg-zinc-950/20">
|
| 158 |
<div className="max-w-[1400px] mx-auto grid grid-cols-1 lg:grid-cols-2 gap-32 items-center">
|
| 159 |
<div className="space-y-16">
|
| 160 |
<div className="space-y-6">
|
| 161 |
+
<h3 className="text-blue-500 font-black text-xs uppercase tracking-[0.8em]">Endless Feature Stack</h3>
|
| 162 |
+
<h2 className="text-8xl lg:text-[10rem] font-black italic text-white tracking-tighter uppercase leading-[0.85]">Infinite <br /> <span className="text-blue-600 not-italic">Optimization</span></h2>
|
| 163 |
</div>
|
| 164 |
<p className="text-zinc-500 text-2xl font-bold leading-relaxed italic max-w-2xl">
|
| 165 |
"Our architectural layers are infinite. Swipe through the core protocols that define the future of sovereign digital wealth management."
|
|
|
|
| 175 |
const isActive = activeFeatureIndex === i;
|
| 176 |
const isPrev = (activeFeatureIndex - 1 + FEATURE_CARDS.length) % FEATURE_CARDS.length === i;
|
| 177 |
const isNext = (activeFeatureIndex + 1) % FEATURE_CARDS.length === i;
|
| 178 |
+
let offset = isActive ? 0 : isNext ? 80 : isPrev ? -80 : 160; let opacity = isActive ? 1 : isNext || isPrev ? 0.4 : 0;
|
| 179 |
+
let scale = isActive ? 1 : 0.8;
|
| 180 |
+
let zIndex = isActive ? 50 : 30;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 181 |
|
| 182 |
return (
|
| 183 |
<div
|
| 184 |
key={card.id}
|
| 185 |
className="absolute inset-0 transition-all duration-1000 ease-[cubic-bezier(0.23,1,0.32,1)]"
|
| 186 |
+
style={{ transform: `translateX(${offset}px) scale(${scale})`, opacity, zIndex }}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 187 |
>
|
| 188 |
<div className="w-full h-full bg-zinc-950 border border-zinc-900 rounded-[5rem] overflow-hidden shadow-[0_100px_200px_rgba(0,0,0,0.8)] relative group">
|
| 189 |
+
<img src={card.img} className="absolute inset-0 w-full h-full object-cover opacity-40 group-hover:opacity-60 transition-opacity duration-[3s]" alt={card.title} />
|
| 190 |
<div className="absolute inset-0 bg-gradient-to-t from-black via-black/20 to-transparent"></div>
|
| 191 |
<div className="absolute bottom-16 left-16 right-16 space-y-8">
|
| 192 |
+
<div className={`p-8 bg-white/10 text-white rounded-[2rem] flex items-center justify-center border border-white/20 shadow-2xl backdrop-blur-xl inline-block w-20 h-20`}>
|
| 193 |
<card.icon size={40} />
|
| 194 |
</div>
|
| 195 |
<div className="space-y-4">
|
| 196 |
<h4 className="text-6xl font-black italic uppercase tracking-tighter text-white leading-none">{card.title}</h4>
|
| 197 |
<p className="text-zinc-400 text-xl font-bold leading-relaxed italic pr-10">"{card.desc}"</p>
|
| 198 |
</div>
|
|
|
|
|
|
|
|
|
|
| 199 |
</div>
|
| 200 |
</div>
|
| 201 |
</div>
|
|
|
|
| 205 |
</div>
|
| 206 |
</section>
|
| 207 |
|
| 208 |
+
{/* FULL SUB-SECTIONS INTEGRATED */}
|
| 209 |
+
<NexusNode />
|
| 210 |
+
<IntelligenceAlpha />
|
| 211 |
+
<SystemFabric />
|
| 212 |
+
<RegistryVault />
|
| 213 |
+
<PrivacyManifesto />
|
| 214 |
+
<AssetFoundry />
|
| 215 |
+
<QuantumCompute />
|
| 216 |
+
<LiquidityMesh />
|
| 217 |
+
<EncryptionProtocol />
|
| 218 |
+
<OracleAuthority />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
|
| 220 |
+
{/* FAT INSTITUTIONAL FOOTER (THE 50+ LINKS) */}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 221 |
<footer className="relative z-10 bg-black pt-80 pb-40 px-10 border-t border-zinc-900">
|
| 222 |
<div className="max-w-[1600px] mx-auto">
|
| 223 |
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-20 mb-60">
|
|
|
|
| 229 |
<h2 className="text-4xl font-black italic tracking-tighter uppercase leading-none">AIBanking<span className="text-blue-500 not-italic">.dev</span></h2>
|
| 230 |
</div>
|
| 231 |
<p className="text-zinc-500 text-xl font-bold italic leading-relaxed max-w-md">
|
| 232 |
+
"The undisputed leader in neural treasury automation and institutional mesh fabrics. Verified 2025."
|
| 233 |
</p>
|
| 234 |
<div className="flex gap-8">
|
| 235 |
<SocialIcon icon={Globe} /><SocialIcon icon={Shield} /><SocialIcon icon={Zap} /><SocialIcon icon={MessageSquare} />
|
| 236 |
</div>
|
| 237 |
</div>
|
| 238 |
|
| 239 |
+
<FooterColumn title="Protocols" links={[
|
| 240 |
+
{ l: 'FDX v6.5 Registry', to: '/protocol/fdx-registry' },
|
| 241 |
+
{ l: 'RSA-OAEP-4096', to: '/protocol/rsa-oaep' },
|
| 242 |
+
{ l: 'Subspace Handshake', to: '/protocol/subspace' },
|
| 243 |
+
{ l: 'M2M Consensus', to: '/protocol/m2m' },
|
| 244 |
+
{ l: 'Zero-Knowledge Vaults', to: '/protocol/zk-vaults' },
|
| 245 |
+
{ l: 'Layer 2 Settlement', to: '/protocol/l2-settlement' },
|
| 246 |
+
{ l: 'Cross-Node Parity', to: '/protocol/node-parity' },
|
| 247 |
+
{ l: 'Entropy Rotation', to: '/protocol/entropy' }
|
| 248 |
+
]} />
|
| 249 |
+
<FooterColumn title="Intelligence" links={[
|
| 250 |
+
{ l: 'Lumina Oracle', to: '/intelligence/oracle' },
|
| 251 |
+
{ l: 'Predictive Alpha', to: '/intelligence/alpha' },
|
| 252 |
+
{ l: 'Drift Detection', to: '/intelligence/drift' },
|
| 253 |
+
{ l: 'Machine Sentiment', to: '/intelligence/sentiment' },
|
| 254 |
+
{ l: 'HFT Neural Pathing', to: '/intelligence/hft' },
|
| 255 |
+
{ l: 'Simulation Core', to: '/oracle' },
|
| 256 |
+
{ l: 'Risk Analysis v4', to: '/intelligence/risk' },
|
| 257 |
+
{ l: 'Treasury Logic', to: '/intelligence/treasury-logic' }
|
| 258 |
+
]} />
|
| 259 |
+
<FooterColumn title="Network" links={[
|
| 260 |
+
{ l: 'Global Node Map', to: '/connectivity' },
|
| 261 |
+
{ l: 'US-EAST Cluster', to: '/network/us-east' },
|
| 262 |
+
{ l: 'EU-WEST Parity', to: '/network/eu-west' },
|
| 263 |
+
{ l: 'APAC Dispersal', to: '/network/apac' },
|
| 264 |
+
{ l: 'Latency Hubs', to: '/network/latency' },
|
| 265 |
+
{ l: 'Bare Metal Clusters', to: '/network/bare-metal' },
|
| 266 |
+
{ l: 'Edge Distribution', to: '/network/edge' },
|
| 267 |
+
{ l: 'Node Health Polling', to: '/network/health' }
|
| 268 |
+
]} />
|
| 269 |
+
<FooterColumn title="Institutional" links={[
|
| 270 |
+
{ l: 'Vault Registry', to: '/vault' },
|
| 271 |
+
{ l: 'Disbursements', to: '/payments' },
|
| 272 |
+
{ l: 'Collections', to: '/institutional/collections' },
|
| 273 |
+
{ l: 'Registry Settlement', to: '/institutional/settlement' },
|
| 274 |
+
{ l: 'Partner CRM', to: '/partners' },
|
| 275 |
+
{ l: 'KYC Handshake', to: '/institutional/kyc' },
|
| 276 |
+
{ l: 'Compliance Node', to: '/institutional/compliance' },
|
| 277 |
+
{ l: 'Asset Custody', to: '/institutional/custody' }
|
| 278 |
+
]} />
|
| 279 |
</div>
|
| 280 |
|
| 281 |
<div className="pt-20 border-t border-zinc-900 flex flex-col md:flex-row justify-between items-center gap-12">
|
| 282 |
+
<div className="flex flex-wrap justify-center md:justify-start gap-12 text-[10px] font-black uppercase tracking-[0.4em] text-zinc-600">
|
| 283 |
+
<button onClick={() => navigate('/manifesto')} className="hover:text-white transition-colors">Manifesto</button>
|
| 284 |
+
<button onClick={() => navigate('/documentation')} className="hover:text-white transition-colors">System Manual</button>
|
| 285 |
+
<button onClick={() => navigate('/documentation')} className="hover:text-white transition-colors">API Registry</button>
|
| 286 |
+
<button onClick={() => navigate('/airdrop')} className="hover:text-white transition-colors">Genesis Airdrop</button>
|
| 287 |
+
<button onClick={() => navigate('/documentation')} className="hover:text-white transition-colors">SLA Standard</button>
|
|
|
|
| 288 |
</div>
|
| 289 |
+
<p className="text-[10px] font-black uppercase tracking-[1em] text-zinc-800">Citibank Demo Business Inc • aibanking.dev Protocol</p>
|
| 290 |
</div>
|
| 291 |
</div>
|
| 292 |
</footer>
|
|
|
|
| 294 |
);
|
| 295 |
};
|
| 296 |
|
| 297 |
+
const MegaNavItem = ({ label, items }: { label: string, items: any[] }) => (
|
| 298 |
+
<div className="group relative py-4">
|
| 299 |
+
<button className="text-[10px] font-black uppercase tracking-[0.4em] text-zinc-400 group-hover:text-white transition-colors flex items-center gap-2">
|
| 300 |
+
{label} <ChevronDown size={10} />
|
| 301 |
+
</button>
|
| 302 |
+
<div className="absolute top-full left-0 w-[480px] bg-zinc-950 border border-zinc-900 rounded-[2.5rem] p-10 opacity-0 pointer-events-none group-hover:opacity-100 group-hover:translate-y-2 transition-all shadow-2xl space-y-6 z-[110]">
|
| 303 |
+
{items.map((item, i) => (
|
| 304 |
+
<Link key={i} to={item.to} className="flex gap-6 items-start hover:translate-x-2 transition-transform group/link">
|
| 305 |
+
<div className="p-3 bg-zinc-900 rounded-xl text-zinc-600 group-hover/link:text-blue-500 group-hover/link:bg-blue-500/10 transition-all">
|
| 306 |
+
<item.icon size={20} />
|
| 307 |
+
</div>
|
| 308 |
+
<div>
|
| 309 |
+
<h4 className="text-sm font-black text-white uppercase italic tracking-widest">{item.title}</h4>
|
| 310 |
+
<p className="text-[9px] text-zinc-500 font-bold leading-relaxed">{item.desc}</p>
|
| 311 |
+
</div>
|
| 312 |
+
</Link>
|
| 313 |
+
))}
|
| 314 |
+
</div>
|
| 315 |
</div>
|
| 316 |
);
|
| 317 |
|
| 318 |
+
const FooterColumn = ({ title, links }: { title: string, links: {l: string, to: string}[] }) => (
|
| 319 |
<div className="space-y-12">
|
| 320 |
<h4 className="text-[12px] font-black uppercase tracking-[0.6em] text-white italic">{title}</h4>
|
| 321 |
<ul className="space-y-6">
|
| 322 |
+
{links.map((link, i) => (
|
| 323 |
<li key={i}>
|
| 324 |
+
<Link to={link.to} className="text-[10px] font-bold text-zinc-600 hover:text-blue-400 transition-colors uppercase tracking-widest">{link.l}</Link>
|
| 325 |
</li>
|
| 326 |
))}
|
| 327 |
</ul>
|
|
|
|
| 329 |
);
|
| 330 |
|
| 331 |
const SocialIcon = ({ icon: Icon }: any) => (
|
| 332 |
+
<div className="p-4 bg-zinc-900 border border-zinc-800 rounded-2xl text-zinc-500 hover:text-white hover:border-blue-500 transition-all cursor-pointer shadow-xl">
|
| 333 |
+
<Icon size={24} />
|
| 334 |
</div>
|
| 335 |
);
|
| 336 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 337 |
export default Landing;
|
views/PrivacyPolicy.tsx
CHANGED
|
@@ -1,79 +1,135 @@
|
|
| 1 |
-
|
| 2 |
import React from 'react';
|
| 3 |
-
import { ShieldAlert, Lock, EyeOff, Scale, Gavel, Globe, FileText, ChevronRight, ArrowLeft } from 'lucide-react';
|
| 4 |
-
/* Fix: react-router-dom exports may be flaky in this environment, using standard v6 imports */
|
| 5 |
import { useNavigate } from 'react-router-dom';
|
| 6 |
|
| 7 |
-
const
|
| 8 |
const navigate = useNavigate();
|
| 9 |
|
| 10 |
return (
|
| 11 |
-
<div className="
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
<h1 className="text-8xl font-black italic text-black uppercase tracking-tighter leading-none mb-6">
|
| 17 |
-
Honest <span className="text-yellow-500 underline decoration-black decoration-8">Manifesto</span>
|
| 18 |
-
</h1>
|
| 19 |
-
<p className="text-[14px] font-black text-zinc-500 uppercase tracking-[0.8em]">Transparency First • 527 Org Protocol</p>
|
| 20 |
</div>
|
| 21 |
|
| 22 |
-
<div className="
|
| 23 |
-
<
|
| 24 |
-
<div className="flex items-center
|
| 25 |
-
<
|
| 26 |
-
<Lock size={28} />
|
| 27 |
-
</div>
|
| 28 |
-
<h2 className="text-4xl font-black italic text-black uppercase tracking-tight">Our Honest Position</h2>
|
| 29 |
</div>
|
| 30 |
-
<
|
| 31 |
-
|
| 32 |
-
</
|
| 33 |
-
<
|
| 34 |
-
|
| 35 |
-
<h4 className="text-[12px] font-black text-zinc-400 uppercase tracking-widest">Data Disposal</h4>
|
| 36 |
-
<p className="text-black font-black text-lg uppercase tracking-tight">Every packet is shredded immediately after ledger verification. Zero persistence is our technical reality.</p>
|
| 37 |
-
</div>
|
| 38 |
-
<div className="p-10 bg-yellow-500 border-4 border-black rounded-[3rem] space-y-4">
|
| 39 |
-
<h4 className="text-[12px] font-black text-black uppercase tracking-widest">No Tracking</h4>
|
| 40 |
-
<p className="text-black font-black text-lg uppercase tracking-tight">We do not use cookies, pixels, or behavioral trackers. We are here to prove intelligence, not sell attention.</p>
|
| 41 |
-
</div>
|
| 42 |
-
</div>
|
| 43 |
-
</section>
|
| 44 |
|
| 45 |
-
<
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
</div>
|
| 52 |
-
<p className="text-black text-xl leading-relaxed font-bold italic">
|
| 53 |
-
By interacting with this registry, you acknowledge that you are viewing educational artifacts. These simulations are designed to demonstrate the convergence of AI and treasury protocols. This platform is provided "as is" to prove that we are the undisputed experts in the liminal world of neural finance.
|
| 54 |
-
</p>
|
| 55 |
-
<ul className="space-y-4">
|
| 56 |
-
{["Identity remains sovereign", "Logic is distributed", "Consensus is hard-coded", "Expertise is verified"].map((term, i) => (
|
| 57 |
-
<li key={i} className="flex items-center gap-4 text-black font-black text-sm uppercase tracking-[0.4em] bg-zinc-100 p-6 rounded-2xl border-4 border-black">
|
| 58 |
-
<div className="w-4 h-4 bg-yellow-500 rounded-full border-2 border-black" />
|
| 59 |
-
{term}
|
| 60 |
-
</li>
|
| 61 |
-
))}
|
| 62 |
-
</ul>
|
| 63 |
-
</section>
|
| 64 |
|
| 65 |
-
|
| 66 |
-
<
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
</div>
|
| 75 |
</div>
|
| 76 |
);
|
| 77 |
};
|
| 78 |
|
| 79 |
-
export default
|
|
|
|
|
|
|
| 1 |
import React from 'react';
|
| 2 |
+
import { ShieldAlert, Lock, EyeOff, Scale, Gavel, Globe, FileText, ChevronRight, ArrowLeft, Terminal, ShieldCheck, Activity, Database, Lock as LockIcon, Fingerprint } from 'lucide-react';
|
|
|
|
| 3 |
import { useNavigate } from 'react-router-dom';
|
| 4 |
|
| 5 |
+
const SecurityManifesto: React.FC = () => {
|
| 6 |
const navigate = useNavigate();
|
| 7 |
|
| 8 |
return (
|
| 9 |
+
<div className="min-h-screen bg-black text-white selection:bg-rose-600/30 selection:text-white pb-40">
|
| 10 |
+
{/* Background Ambience */}
|
| 11 |
+
<div className="fixed inset-0 z-0 pointer-events-none">
|
| 12 |
+
<div className="absolute inset-0 bg-[radial-gradient(circle_at_50%_0%,_#1e1b4b_0%,_transparent_60%)] opacity-40"></div>
|
| 13 |
+
<div className="absolute inset-0 bg-[linear-gradient(to_right,#80808005_1px,transparent_1px),linear-gradient(to_bottom,#80808005_1px,transparent_1px)] bg-[size:100px_100px]"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
</div>
|
| 15 |
|
| 16 |
+
<div className="max-w-7xl mx-auto py-40 px-10 relative z-10">
|
| 17 |
+
<div className="flex flex-col items-center text-center mb-40">
|
| 18 |
+
<div className="w-24 h-24 bg-rose-600/10 border border-rose-500/20 rounded-[2.5rem] flex items-center justify-center mb-10 shadow-2xl group hover:rotate-12 transition-transform duration-700">
|
| 19 |
+
<ShieldAlert size={48} className="text-rose-500 animate-pulse" />
|
|
|
|
|
|
|
|
|
|
| 20 |
</div>
|
| 21 |
+
<h1 className="text-[8rem] font-black italic text-white uppercase tracking-tighter leading-none mb-10">
|
| 22 |
+
Security <br /> <span className="text-rose-600 underline decoration-rose-900/50 decoration-8 underline-offset-[20px]">Manifesto</span>
|
| 23 |
+
</h1>
|
| 24 |
+
<p className="text-[14px] font-black text-zinc-600 uppercase tracking-[1em]">Zero-Persistence Protocol v1.2 • FDX Compliant</p>
|
| 25 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
+
<div className="grid grid-cols-1 lg:grid-cols-12 gap-20 items-start">
|
| 28 |
+
{/* Left: Terminal Log */}
|
| 29 |
+
<div className="lg:col-span-4 space-y-10 sticky top-40">
|
| 30 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[3rem] p-10 shadow-2xl relative overflow-hidden group">
|
| 31 |
+
<div className="flex items-center justify-between mb-10">
|
| 32 |
+
<div className="flex items-center gap-4">
|
| 33 |
+
<Terminal size={18} className="text-rose-500" />
|
| 34 |
+
<span className="text-[11px] font-black uppercase text-zinc-500 tracking-[0.3em]">Compliance Trace</span>
|
| 35 |
+
</div>
|
| 36 |
+
<div className="flex gap-2">
|
| 37 |
+
<div className="w-2 h-2 rounded-full bg-rose-500 animate-pulse"></div>
|
| 38 |
+
</div>
|
| 39 |
+
</div>
|
| 40 |
+
<div className="space-y-4 font-mono text-[10px] text-zinc-700">
|
| 41 |
+
<p>[09:12:01] Initializing Shredder_Core...</p>
|
| 42 |
+
<p>[09:12:02] RSA-OAEP Key Rotation: OK</p>
|
| 43 |
+
<p>[09:12:05] Memory Flush executed: 0x8821...FF01</p>
|
| 44 |
+
<p className="text-rose-500/60 font-bold">[CRITICAL] Zero-Persistence SEALED.</p>
|
| 45 |
+
<p>[09:12:10] Syncing Identity nodes...</p>
|
| 46 |
+
<p>[09:12:15] Packet shredding active.</p>
|
| 47 |
+
</div>
|
| 48 |
+
</div>
|
| 49 |
+
<div className="p-10 bg-zinc-900/40 border border-zinc-800 rounded-[3rem] backdrop-blur-xl">
|
| 50 |
+
<h4 className="text-white font-black text-xs uppercase tracking-widest mb-4 italic">Protocol Status</h4>
|
| 51 |
+
<div className="space-y-4">
|
| 52 |
+
{[
|
| 53 |
+
{ l: 'Data Encryption', v: 'AES-256-GCM', c: 'text-rose-500' },
|
| 54 |
+
{ l: 'Auth Method', v: 'RSA-4096', c: 'text-white' },
|
| 55 |
+
{ l: 'Persistence', v: '0.0%', c: 'text-rose-500' },
|
| 56 |
+
{ l: 'Audit State', v: 'VERIFIED', c: 'text-emerald-500' },
|
| 57 |
+
].map((item, i) => (
|
| 58 |
+
<div key={i} className="flex justify-between items-center border-b border-zinc-800 pb-4 last:border-0">
|
| 59 |
+
<span className="text-[9px] font-black text-zinc-600 uppercase tracking-widest">{item.l}</span>
|
| 60 |
+
<span className={`text-[10px] font-black mono ${item.c}`}>{item.v}</span>
|
| 61 |
+
</div>
|
| 62 |
+
))}
|
| 63 |
+
</div>
|
| 64 |
+
</div>
|
| 65 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
+
{/* Right: Narrative Content */}
|
| 68 |
+
<div className="lg:col-span-8 space-y-32">
|
| 69 |
+
<section className="space-y-10">
|
| 70 |
+
<div className="flex items-center gap-6">
|
| 71 |
+
<div className="w-16 h-16 bg-white text-black rounded-3xl flex items-center justify-center shadow-2xl group-hover:scale-110 transition-transform duration-700">
|
| 72 |
+
<LockIcon size={32} />
|
| 73 |
+
</div>
|
| 74 |
+
<h2 className="text-5xl font-black italic text-white uppercase tracking-tighter">Zero Persistence</h2>
|
| 75 |
+
</div>
|
| 76 |
+
<p className="text-zinc-400 text-3xl leading-relaxed font-bold italic">
|
| 77 |
+
"Lumina is designed as a <span className="text-white">liminal processor</span>. We do not store your institutional metadata. Every packet that enters the mesh is shredded immediately after ledger parity is achieved. Persistence is a vulnerability we mathematically eliminate."
|
| 78 |
+
</p>
|
| 79 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-8 pt-10">
|
| 80 |
+
<div className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-rose-500/40 transition-all shadow-2xl relative overflow-hidden">
|
| 81 |
+
<div className="absolute top-0 right-0 p-8 opacity-5 group-hover:opacity-10 transition-opacity"><Database size={100} /></div>
|
| 82 |
+
<h5 className="text-[11px] font-black text-rose-500 uppercase tracking-widest mb-6">Ephemeral Vaults</h5>
|
| 83 |
+
<p className="text-zinc-500 font-medium italic leading-relaxed text-sm">Session-level vaults are initialized for transient handshakes and purged with 7-pass random overwrite logic on termination.</p>
|
| 84 |
+
</div>
|
| 85 |
+
<div className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-rose-500/40 transition-all shadow-2xl relative overflow-hidden">
|
| 86 |
+
<div className="absolute top-0 right-0 p-8 opacity-5 group-hover:opacity-10 transition-opacity"><Activity size={100} /></div>
|
| 87 |
+
<h5 className="text-[11px] font-black text-rose-500 uppercase tracking-widest mb-6">Packet Shredding</h5>
|
| 88 |
+
<p className="text-zinc-500 font-medium italic leading-relaxed text-sm">Encrypted payloads are shredded post-verification to ensure zero historical trace within the global registry nodes.</p>
|
| 89 |
+
</div>
|
| 90 |
+
</div>
|
| 91 |
+
</section>
|
| 92 |
+
|
| 93 |
+
<section className="space-y-10">
|
| 94 |
+
<div className="flex items-center gap-6">
|
| 95 |
+
<div className="w-16 h-16 bg-rose-600 text-white rounded-3xl flex items-center justify-center shadow-2xl shadow-rose-900/40">
|
| 96 |
+
<ShieldCheck size={32} />
|
| 97 |
+
</div>
|
| 98 |
+
<h2 className="text-5xl font-black italic text-white uppercase tracking-tighter">Institutional Terms</h2>
|
| 99 |
+
</div>
|
| 100 |
+
<p className="text-zinc-500 text-xl font-bold italic leading-relaxed">
|
| 101 |
+
By interacting with this registry, you acknowledge that you are entering an <span className="text-white">educational simulation</span> built for mathematical proof of AI expertise. This platform facilitates transient node interactions via FDX v6 protocols. Citibank Demo Business Inc is a 527 political organization and does not provide regulated banking services.
|
| 102 |
+
</p>
|
| 103 |
+
<ul className="space-y-4">
|
| 104 |
+
{[
|
| 105 |
+
"Identity remains encapsulated within the mesh",
|
| 106 |
+
"Logical consensus is hard-coded into the fabric",
|
| 107 |
+
"Metadata is mathematically destroyed post-parity",
|
| 108 |
+
"Handshakes are secured via RSA-OAEP-4096"
|
| 109 |
+
].map((item, i) => (
|
| 110 |
+
<li key={i} className="flex items-center gap-6 p-8 bg-zinc-950 border border-zinc-900 rounded-[2.5rem] group hover:border-rose-500/20 transition-all cursor-default">
|
| 111 |
+
<div className="w-4 h-4 bg-rose-500 rounded-full shadow-[0_0_12px_#f43f5e]" />
|
| 112 |
+
<span className="text-[12px] font-black text-white uppercase tracking-[0.4em] italic">{item}</span>
|
| 113 |
+
</li>
|
| 114 |
+
))}
|
| 115 |
+
</ul>
|
| 116 |
+
</section>
|
| 117 |
+
|
| 118 |
+
<footer className="pt-40 border-t border-zinc-900 flex flex-col items-center gap-12">
|
| 119 |
+
<div className="flex gap-20 grayscale opacity-20">
|
| 120 |
+
{/* Fix: Use Fingerprint which is now imported */}
|
| 121 |
+
<Globe size={48} /><Database size={48} /><Fingerprint size={48} />
|
| 122 |
+
</div>
|
| 123 |
+
<p className="text-[12px] font-black text-zinc-800 uppercase tracking-[1em]">Verified 2025 • Citibank Demo Business Inc • aibanking.dev</p>
|
| 124 |
+
<button onClick={() => navigate(-1)} className="px-16 py-8 bg-white text-black rounded-full font-black text-sm uppercase tracking-[0.6em] hover:scale-105 transition-all shadow-[0_20px_50px_rgba(255,255,255,0.1)] flex items-center gap-6">
|
| 125 |
+
<ArrowLeft size={24} /> Acknowledge Protocol
|
| 126 |
+
</button>
|
| 127 |
+
</footer>
|
| 128 |
+
</div>
|
| 129 |
+
</div>
|
| 130 |
</div>
|
| 131 |
</div>
|
| 132 |
);
|
| 133 |
};
|
| 134 |
|
| 135 |
+
export default SecurityManifesto;
|
views/TechnicalDeepDive.tsx
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { useMemo } from 'react';
|
| 2 |
+
import { useParams, useNavigate } from 'react-router-dom';
|
| 3 |
+
import {
|
| 4 |
+
ArrowLeft, Terminal, ShieldCheck, Cpu, Globe, Database,
|
| 5 |
+
Code, Activity, Lock, Layers, Zap, Network, Radio, Server,
|
| 6 |
+
ChevronRight, ArrowUpRight, Copy, Share2
|
| 7 |
+
} from 'lucide-react';
|
| 8 |
+
|
| 9 |
+
const TechnicalDeepDive: React.FC = () => {
|
| 10 |
+
const { slug } = useParams<{ slug: string }>();
|
| 11 |
+
const navigate = useNavigate();
|
| 12 |
+
|
| 13 |
+
const content = useMemo(() => {
|
| 14 |
+
const title = slug?.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ') || 'Protocol Node';
|
| 15 |
+
return {
|
| 16 |
+
title,
|
| 17 |
+
identifier: `LQI-${slug?.toUpperCase()}-NODE`,
|
| 18 |
+
version: 'v6.5.0-STABLE',
|
| 19 |
+
parity: '100%',
|
| 20 |
+
latency: '0.0004ms',
|
| 21 |
+
code: `// Lumina Quantum Registry Implementation
|
| 22 |
+
// Protocol: ${title}
|
| 23 |
+
// Security: RSA-OAEP-4096-PSS
|
| 24 |
+
|
| 25 |
+
import { LuminaMesh } from '@aibanking/core';
|
| 26 |
+
|
| 27 |
+
const node = await LuminaMesh.initialize({
|
| 28 |
+
tier: 'ENTERPRISE_NODE',
|
| 29 |
+
encryption: 'AES-256-GCM',
|
| 30 |
+
shredding: 'IMMEDIATE_POST_PARITY',
|
| 31 |
+
consensus: 'HARD_STATE'
|
| 32 |
+
});
|
| 33 |
+
|
| 34 |
+
await node.handshake({
|
| 35 |
+
endpoint: 'https://nexus.aibanking.dev/v1',
|
| 36 |
+
credentials: process.env.LQI_MASTER_SECRET
|
| 37 |
+
});`
|
| 38 |
+
};
|
| 39 |
+
}, [slug]);
|
| 40 |
+
|
| 41 |
+
return (
|
| 42 |
+
<div className="min-h-screen bg-black text-white pb-40 selection:bg-blue-600/30">
|
| 43 |
+
<div className="fixed inset-0 z-0 opacity-10">
|
| 44 |
+
<div className="absolute top-0 left-0 w-full h-full bg-[radial-gradient(circle_at_50%_0%,_#1e1b4b_0%,_transparent_70%)]"></div>
|
| 45 |
+
<div className="absolute inset-0 bg-[linear-gradient(to_right,#80808005_1px,transparent_1px),linear-gradient(to_bottom,#80808005_1px,transparent_1px)] bg-[size:80px_80px]"></div>
|
| 46 |
+
</div>
|
| 47 |
+
|
| 48 |
+
<div className="max-w-7xl mx-auto py-32 px-10 relative z-10">
|
| 49 |
+
<button
|
| 50 |
+
onClick={() => navigate(-1)}
|
| 51 |
+
className="group flex items-center gap-4 text-zinc-600 hover:text-white transition-all mb-20"
|
| 52 |
+
>
|
| 53 |
+
<ArrowLeft size={20} className="group-hover:-translate-x-2 transition-transform" />
|
| 54 |
+
<span className="text-[11px] font-black uppercase tracking-[0.4em]">Return to Nexus Hub</span>
|
| 55 |
+
</button>
|
| 56 |
+
|
| 57 |
+
<div className="grid grid-cols-1 lg:grid-cols-12 gap-20">
|
| 58 |
+
<div className="lg:col-span-8 space-y-24">
|
| 59 |
+
<div className="space-y-12">
|
| 60 |
+
<div className="flex items-center gap-4">
|
| 61 |
+
<div className="w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse shadow-[0_0_10px_#3b82f6]"></div>
|
| 62 |
+
<span className="text-[11px] font-black text-blue-500 uppercase tracking-[0.5em]">{content.identifier}</span>
|
| 63 |
+
</div>
|
| 64 |
+
<h1 className="text-[8rem] lg:text-[10rem] font-black italic text-white uppercase tracking-tighter leading-none">
|
| 65 |
+
{content.title} <br /> <span className="text-blue-600 not-italic">Specification</span>
|
| 66 |
+
</h1>
|
| 67 |
+
<p className="text-zinc-500 text-3xl font-bold leading-relaxed italic max-w-4xl">
|
| 68 |
+
"This document defines the <span className="text-white">Machine-to-Machine (M2M)</span> handshake parameters for the {content.title} protocol within the Lumina Quantum Mesh. Implementation requires valid enterprise parity."
|
| 69 |
+
</p>
|
| 70 |
+
</div>
|
| 71 |
+
|
| 72 |
+
<div className="space-y-10">
|
| 73 |
+
<h3 className="text-white font-black text-xl uppercase tracking-widest italic flex items-center gap-4">
|
| 74 |
+
<Terminal size={24} className="text-blue-500" />
|
| 75 |
+
Integration Blueprint
|
| 76 |
+
</h3>
|
| 77 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[3rem] overflow-hidden shadow-2xl relative group">
|
| 78 |
+
<div className="absolute top-4 right-8 flex gap-4 opacity-30 group-hover:opacity-100 transition-opacity">
|
| 79 |
+
<button className="p-3 bg-zinc-900 rounded-xl hover:text-blue-500"><Copy size={16} /></button>
|
| 80 |
+
<button className="p-3 bg-zinc-900 rounded-xl hover:text-blue-500"><Share2 size={16} /></button>
|
| 81 |
+
</div>
|
| 82 |
+
<div className="bg-zinc-900/50 px-8 py-4 border-b border-zinc-800 flex items-center gap-3">
|
| 83 |
+
<div className="w-2.5 h-2.5 rounded-full bg-rose-500/20"></div>
|
| 84 |
+
<div className="w-2.5 h-2.5 rounded-full bg-amber-500/20"></div>
|
| 85 |
+
<div className="w-2.5 h-2.5 rounded-full bg-emerald-500/20"></div>
|
| 86 |
+
<span className="text-[10px] font-mono text-zinc-600 ml-4">protocol_impl.ts</span>
|
| 87 |
+
</div>
|
| 88 |
+
<div className="p-12 font-mono text-sm text-emerald-500/80 leading-relaxed overflow-x-auto custom-scrollbar">
|
| 89 |
+
<pre>{content.code}</pre>
|
| 90 |
+
</div>
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
|
| 94 |
+
<div className="grid grid-cols-1 md:grid-cols-2 gap-10">
|
| 95 |
+
<div className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-blue-500/30 transition-all shadow-2xl">
|
| 96 |
+
<h4 className="text-white font-black text-sm uppercase tracking-widest mb-6">Compliance Check</h4>
|
| 97 |
+
<p className="text-zinc-500 text-lg leading-relaxed font-medium italic mb-10">"Verified against FDX v6.5 and SWIFT gpi standards for high-value transactional settlement."</p>
|
| 98 |
+
<div className="flex items-center gap-3">
|
| 99 |
+
<ShieldCheck size={20} className="text-emerald-500" />
|
| 100 |
+
<span className="text-[10px] font-black text-emerald-500 uppercase tracking-widest">Verification Status: OK</span>
|
| 101 |
+
</div>
|
| 102 |
+
</div>
|
| 103 |
+
<div className="p-12 bg-zinc-950 border border-zinc-900 rounded-[4rem] group hover:border-blue-500/30 transition-all shadow-2xl">
|
| 104 |
+
<h4 className="text-white font-black text-sm uppercase tracking-widest mb-6">Security Layer</h4>
|
| 105 |
+
<p className="text-zinc-500 text-lg leading-relaxed font-medium italic mb-10">"Session metadata is shredded using 7-pass random overwrite logic immediately post-consensus."</p>
|
| 106 |
+
<div className="flex items-center gap-3">
|
| 107 |
+
<Lock size={20} className="text-blue-500" />
|
| 108 |
+
<span className="text-[10px] font-black text-blue-500 uppercase tracking-widest">Encapsulation: RSA-OAEP</span>
|
| 109 |
+
</div>
|
| 110 |
+
</div>
|
| 111 |
+
</div>
|
| 112 |
+
</div>
|
| 113 |
+
|
| 114 |
+
<div className="lg:col-span-4 space-y-10">
|
| 115 |
+
<div className="bg-zinc-950 border border-zinc-900 rounded-[3rem] p-10 shadow-2xl sticky top-10">
|
| 116 |
+
<div className="flex items-center gap-4 mb-10 pb-10 border-b border-zinc-900">
|
| 117 |
+
<div className="p-4 bg-blue-600/10 text-blue-500 rounded-2xl">
|
| 118 |
+
<Activity size={24} className="animate-pulse" />
|
| 119 |
+
</div>
|
| 120 |
+
<div>
|
| 121 |
+
<h4 className="text-white font-black uppercase tracking-widest italic leading-none">Node Telemetry</h4>
|
| 122 |
+
<p className="text-[9px] text-zinc-600 font-black uppercase mt-1">Real-time Parity Polling</p>
|
| 123 |
+
</div>
|
| 124 |
+
</div>
|
| 125 |
+
|
| 126 |
+
<div className="space-y-8">
|
| 127 |
+
{[
|
| 128 |
+
{ label: 'Network Parity', val: content.parity, icon: Globe },
|
| 129 |
+
{ label: 'Sync Latency', val: content.latency, icon: Radio },
|
| 130 |
+
{ label: 'Cluster Load', val: '14.2%', icon: Server },
|
| 131 |
+
{ label: 'Fabric Grade', val: 'ELITE', icon: Layers },
|
| 132 |
+
].map((stat, i) => (
|
| 133 |
+
<div key={i} className="flex justify-between items-center group/stat">
|
| 134 |
+
<div className="flex items-center gap-4">
|
| 135 |
+
<stat.icon size={16} className="text-zinc-700 group-hover/stat:text-blue-500 transition-colors" />
|
| 136 |
+
<span className="text-[10px] font-black text-zinc-600 uppercase tracking-widest">{stat.label}</span>
|
| 137 |
+
</div>
|
| 138 |
+
<span className="text-sm font-black text-white mono">{stat.val}</span>
|
| 139 |
+
</div>
|
| 140 |
+
))}
|
| 141 |
+
</div>
|
| 142 |
+
|
| 143 |
+
<div className="mt-12 space-y-6">
|
| 144 |
+
<button className="w-full py-5 bg-blue-600 hover:bg-blue-500 text-white rounded-[1.8rem] font-black text-[10px] uppercase tracking-[0.4em] transition-all shadow-xl shadow-blue-900/30 flex items-center justify-center gap-4">
|
| 145 |
+
Initialize Node <ArrowUpRight size={16} />
|
| 146 |
+
</button>
|
| 147 |
+
<button className="w-full py-5 bg-zinc-900 hover:bg-zinc-800 text-zinc-500 hover:text-white rounded-[1.8rem] font-black text-[10px] uppercase tracking-[0.4em] transition-all border border-zinc-800 flex items-center justify-center gap-4">
|
| 148 |
+
Download SDK <Code size={16} />
|
| 149 |
+
</button>
|
| 150 |
+
</div>
|
| 151 |
+
|
| 152 |
+
<div className="mt-10 pt-10 border-t border-zinc-900">
|
| 153 |
+
<div className="p-6 bg-black rounded-2xl border border-zinc-900 text-center">
|
| 154 |
+
<p className="text-[10px] font-black text-zinc-600 uppercase tracking-widest leading-relaxed">
|
| 155 |
+
Authorized Identity: alex@aibanking.dev <br /> Access Level: Root_Admin
|
| 156 |
+
</p>
|
| 157 |
+
</div>
|
| 158 |
+
</div>
|
| 159 |
+
</div>
|
| 160 |
+
</div>
|
| 161 |
+
</div>
|
| 162 |
+
</div>
|
| 163 |
+
</div>
|
| 164 |
+
);
|
| 165 |
+
};
|
| 166 |
+
|
| 167 |
+
export default TechnicalDeepDive;
|
views/routes.ts
CHANGED
|
@@ -1,31 +1,9 @@
|
|
| 1 |
import React from 'react';
|
| 2 |
import {
|
| 3 |
-
LayoutDashboard,
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
ShieldCheck,
|
| 8 |
-
Cpu,
|
| 9 |
-
Key,
|
| 10 |
-
ArrowLeftRight,
|
| 11 |
-
CreditCard,
|
| 12 |
-
FileText,
|
| 13 |
-
Leaf,
|
| 14 |
-
MessageSquare,
|
| 15 |
-
Settings as SettingsIcon,
|
| 16 |
-
ListTree,
|
| 17 |
-
Network,
|
| 18 |
-
Zap,
|
| 19 |
-
ShieldAlert,
|
| 20 |
-
Bitcoin,
|
| 21 |
-
Hammer,
|
| 22 |
-
FileLock2,
|
| 23 |
-
BookOpen,
|
| 24 |
-
Map,
|
| 25 |
-
Activity,
|
| 26 |
-
Infinity,
|
| 27 |
-
Gift,
|
| 28 |
-
Radio
|
| 29 |
} from 'lucide-react';
|
| 30 |
|
| 31 |
import Overview from './Overview';
|
|
@@ -41,7 +19,6 @@ import AnalyticsReport from './AnalyticsReport';
|
|
| 41 |
import Sustainability from './Sustainability';
|
| 42 |
import Advisor from './Advisor';
|
| 43 |
import Settings from './Settings';
|
| 44 |
-
import LineItems from './LineItems';
|
| 45 |
import VirtualAccounts from './VirtualAccounts';
|
| 46 |
import Flows from './Flows';
|
| 47 |
import Validations from './Validations';
|
|
@@ -51,6 +28,7 @@ import PrivacyPolicy from './PrivacyPolicy';
|
|
| 51 |
import Documentation from './Documentation';
|
| 52 |
import Airdrop from './Airdrop';
|
| 53 |
import Broadcast from './Broadcast';
|
|
|
|
| 54 |
|
| 55 |
export interface RouteConfig {
|
| 56 |
path: string;
|
|
@@ -58,10 +36,11 @@ export interface RouteConfig {
|
|
| 58 |
label: string;
|
| 59 |
icon: any;
|
| 60 |
showInSidebar: boolean;
|
| 61 |
-
category: 'core' | 'registry' | 'system' | 'intelligence' | 'finance' | 'admin';
|
| 62 |
}
|
| 63 |
|
| 64 |
export const routes: RouteConfig[] = [
|
|
|
|
| 65 |
{ path: '/overview', component: Overview, label: 'Overview', icon: LayoutDashboard, showInSidebar: true, category: 'core' },
|
| 66 |
{ path: '/broadcast', component: Broadcast, label: 'Global Node', icon: Radio, showInSidebar: true, category: 'core' },
|
| 67 |
{ path: '/registry', component: InternalAccounts, label: 'Bank Registry', icon: Building2, showInSidebar: true, category: 'registry' },
|
|
@@ -84,4 +63,11 @@ export const routes: RouteConfig[] = [
|
|
| 84 |
{ path: '/manifesto', component: PrivacyPolicy, label: 'Privacy Manifesto', icon: FileLock2, showInSidebar: true, category: 'admin' },
|
| 85 |
{ path: '/documentation', component: Documentation, label: 'Documentation Core', icon: BookOpen, showInSidebar: true, category: 'admin' },
|
| 86 |
{ path: '/settings', component: Settings, label: 'System Config', icon: SettingsIcon, showInSidebar: false, category: 'admin' },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 87 |
];
|
|
|
|
| 1 |
import React from 'react';
|
| 2 |
import {
|
| 3 |
+
LayoutDashboard, Building2, Users, Database, ShieldCheck, Cpu, Key,
|
| 4 |
+
ArrowLeftRight, CreditCard, FileText, Leaf, MessageSquare,
|
| 5 |
+
Settings as SettingsIcon, Network, Zap, ShieldAlert, Bitcoin,
|
| 6 |
+
Hammer, FileLock2, BookOpen, Radio, Gift, Code, BrainCircuit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
} from 'lucide-react';
|
| 8 |
|
| 9 |
import Overview from './Overview';
|
|
|
|
| 19 |
import Sustainability from './Sustainability';
|
| 20 |
import Advisor from './Advisor';
|
| 21 |
import Settings from './Settings';
|
|
|
|
| 22 |
import VirtualAccounts from './VirtualAccounts';
|
| 23 |
import Flows from './Flows';
|
| 24 |
import Validations from './Validations';
|
|
|
|
| 28 |
import Documentation from './Documentation';
|
| 29 |
import Airdrop from './Airdrop';
|
| 30 |
import Broadcast from './Broadcast';
|
| 31 |
+
import TechnicalDeepDive from './TechnicalDeepDive';
|
| 32 |
|
| 33 |
export interface RouteConfig {
|
| 34 |
path: string;
|
|
|
|
| 36 |
label: string;
|
| 37 |
icon: any;
|
| 38 |
showInSidebar: boolean;
|
| 39 |
+
category: 'core' | 'registry' | 'system' | 'intelligence' | 'finance' | 'admin' | 'technical';
|
| 40 |
}
|
| 41 |
|
| 42 |
export const routes: RouteConfig[] = [
|
| 43 |
+
// Core App
|
| 44 |
{ path: '/overview', component: Overview, label: 'Overview', icon: LayoutDashboard, showInSidebar: true, category: 'core' },
|
| 45 |
{ path: '/broadcast', component: Broadcast, label: 'Global Node', icon: Radio, showInSidebar: true, category: 'core' },
|
| 46 |
{ path: '/registry', component: InternalAccounts, label: 'Bank Registry', icon: Building2, showInSidebar: true, category: 'registry' },
|
|
|
|
| 63 |
{ path: '/manifesto', component: PrivacyPolicy, label: 'Privacy Manifesto', icon: FileLock2, showInSidebar: true, category: 'admin' },
|
| 64 |
{ path: '/documentation', component: Documentation, label: 'Documentation Core', icon: BookOpen, showInSidebar: true, category: 'admin' },
|
| 65 |
{ path: '/settings', component: Settings, label: 'System Config', icon: SettingsIcon, showInSidebar: false, category: 'admin' },
|
| 66 |
+
|
| 67 |
+
// Dynamic Technical Deep Dives (The "50 Views")
|
| 68 |
+
/* Add missing Code and BrainCircuit icons to routes */
|
| 69 |
+
{ path: '/protocol/:slug', component: TechnicalDeepDive, label: 'Protocol Detail', icon: Code, showInSidebar: false, category: 'technical' },
|
| 70 |
+
{ path: '/institutional/:slug', component: TechnicalDeepDive, label: 'Institutional Spec', icon: Building2, showInSidebar: false, category: 'technical' },
|
| 71 |
+
{ path: '/intelligence/:slug', component: TechnicalDeepDive, label: 'Intelligence Log', icon: BrainCircuit, showInSidebar: false, category: 'technical' },
|
| 72 |
+
{ path: '/network/:slug', component: TechnicalDeepDive, label: 'Network Node', icon: Network, showInSidebar: false, category: 'technical' }
|
| 73 |
];
|