Closes #016 - Deploy Native KaTeX Rig & Dual-Handbook System

This commit is contained in:
Antigravity Agent
2026-06-13 15:16:57 +02:00
parent 59e0a04bfa
commit 94ccf63a38
26 changed files with 1074 additions and 137 deletions

View File

@@ -4,6 +4,7 @@ import React, { useState, useEffect } from 'react';
import { LineChart, Line, ResponsiveContainer } from 'recharts';
import 'katex/dist/katex.min.css';
import TechMathModal from './TechMathModal';
import TechBlueprintModal from './TechBlueprintModal';
import {
Cpu, AlertCircle, BookOpen, Activity, Zap, TrendingUp, TrendingDown,
ArrowUpRight, ArrowDownRight, Minus, Server, Wallet
@@ -89,7 +90,9 @@ export default function AiSpecialSilo() {
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const [payload, setPayload] = useState<Payload | null>(null);
const [activeTab, setActiveTab] = useState<'matrix' | 'supply_chain'>('matrix');
const [isMathModalOpen, setIsMathModalOpen] = useState(false);
const [isBlueprintModalOpen, setIsBlueprintModalOpen] = useState(false);
const [isShieldActive, setIsShieldActive] = useState(false);
useEffect(() => {
@@ -230,13 +233,21 @@ export default function AiSpecialSilo() {
<div className="flex items-center gap-3 w-full md:w-auto justify-end">
<button
onClick={() => setIsMathModalOpen(true)}
className="flex items-center gap-1.5 px-4 py-2.5 rounded-xl bg-slate-955/80 hover:bg-slate-900 border border-slate-800 hover:border-slate-700 transition-all font-semibold text-xs tracking-wider text-teal-400 w-full md:w-auto justify-center h-11 cursor-pointer"
className="flex items-center gap-1.5 px-4 py-2.5 rounded-xl bg-slate-950/80 hover:bg-slate-900 border border-slate-800 hover:border-slate-700 transition-all font-semibold text-xs tracking-wider text-teal-400 w-full md:w-auto justify-center h-11 cursor-pointer"
>
<BookOpen className="w-4 h-4" />
<span>📖 Quantitative Handbook</span>
</button>
<button
onClick={() => setIsBlueprintModalOpen(true)}
className="flex items-center gap-1.5 px-4 py-2.5 rounded-xl bg-slate-950/80 hover:bg-slate-900 border border-slate-800 hover:border-slate-700 transition-all font-semibold text-xs tracking-wider text-teal-400 w-full md:w-auto justify-center h-11 cursor-pointer animate-pulse-slow"
>
<Cpu className="w-4 h-4" />
<span> Operational Blueprint</span>
</button>
<div className="bg-slate-955/80 border border-slate-800 rounded-xl px-4 py-2 text-right shrink-0 h-11 flex flex-col justify-center">
<div className="bg-slate-950/80 border border-slate-800 rounded-xl px-4 py-2 text-right shrink-0 h-11 flex flex-col justify-center">
<div className="text-[9px] text-slate-500 uppercase font-mono">Archive State</div>
<div className="font-mono text-xs text-slate-300">
{new Date(payload.timestamp).toLocaleTimeString()}
@@ -418,7 +429,7 @@ export default function AiSpecialSilo() {
: '#f43f5e';
return (
<div key={ticker} className="bg-slate-950/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-955/60 transition-colors">
<div key={ticker} className="bg-slate-950/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-900/60 transition-colors">
<div className="space-y-0.5 w-1/4">
<div className="text-xs font-bold text-slate-200">{ticker}</div>
<div className="text-[9px] text-slate-500 font-mono">
@@ -483,7 +494,7 @@ export default function AiSpecialSilo() {
: '#10b981';
return (
<div key={ticker} className="bg-slate-955/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-955/60 transition-colors">
<div key={ticker} className="bg-slate-950/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-900/60 transition-colors">
<div className="space-y-0.5 w-1/4">
<div className="text-xs font-bold text-slate-200">{ticker}</div>
<div className="text-[9px] text-slate-500 font-mono">
@@ -543,7 +554,7 @@ export default function AiSpecialSilo() {
: '#10b981';
return (
<div key={ticker} className="bg-slate-955/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-955/60 transition-colors">
<div key={ticker} className="bg-slate-950/40 border border-slate-850 rounded-xl p-3 flex justify-between items-center hover:bg-slate-900/60 transition-colors">
<div className="space-y-0.5 w-1/4">
<div className="text-xs font-bold text-slate-200">{ticker}</div>
<div className="text-[9px] text-slate-500 font-mono">
@@ -592,7 +603,7 @@ export default function AiSpecialSilo() {
</p>
</div>
<div className="flex items-center gap-4 text-xs font-mono text-slate-400 bg-slate-955/80 border border-slate-850 px-3 py-1.5 rounded-xl">
<div className="flex items-center gap-4 text-xs font-mono text-slate-400 bg-slate-900/80 border border-slate-850 px-3 py-1.5 rounded-xl">
<div>
NVDA Inventory: <span className="text-slate-200 font-semibold">{supplyChain.data[supplyChain.data.length - 1].aggregateObligations / 1000}B$</span>
</div>
@@ -629,7 +640,7 @@ export default function AiSpecialSilo() {
: 'text-emerald-400';
return (
<tr key={row.quarter} className="hover:bg-slate-955/20 transition-colors">
<tr key={row.quarter} className="hover:bg-slate-900/20 transition-colors">
<td className="py-3 font-semibold text-slate-300">{row.quarter}</td>
<td className="py-3 text-right text-slate-300">{row.nvdaInvTurnover.toFixed(2)}x</td>
<td className="py-3 text-right text-slate-355">{(row.aggregateObligations / 1000).toFixed(1)}B$</td>
@@ -648,6 +659,10 @@ export default function AiSpecialSilo() {
isOpen={isMathModalOpen}
onClose={() => setIsMathModalOpen(false)}
/>
<TechBlueprintModal
isOpen={isBlueprintModalOpen}
onClose={() => setIsBlueprintModalOpen(false)}
/>
</div>
);