From 81a51045cfcdc878b445eee5cb4b7c45f36b6a18 Mon Sep 17 00:00:00 2001 From: sirpiglr <49359077-sirpiglr@users.noreply.replit.com> Date: Sun, 21 Dec 2025 03:52:08 +0000 Subject: [PATCH] Add system upgrade alert and improve boot sequence Introduce a system upgrade alert panel and enhance the OS boot sequence with new detection steps and a login prompt. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 279f1558-c0e3-40e4-8217-be7e9f4c6eca Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 62aa9e00-7e50-457e-933e-69d1d1490827 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/b984cb14-1d19-4944-922b-bc79e821ed35/279f1558-c0e3-40e4-8217-be7e9f4c6eca/G7VmUb2 Replit-Helium-Checkpoint-Created: true --- client/src/pages/os.tsx | 419 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 400 insertions(+), 19 deletions(-) diff --git a/client/src/pages/os.tsx b/client/src/pages/os.tsx index 26552fd..fab6f5c 100644 --- a/client/src/pages/os.tsx +++ b/client/src/pages/os.tsx @@ -13,7 +13,7 @@ import { Network, Activity, Code2, Radio, Newspaper, Gamepad2, Users, Trophy, Calculator, StickyNote, Cpu, Camera, Eye, Shield, Zap, Skull, Lock, Unlock, Server, Database, - TrendingUp, ArrowUp, ArrowDown, Hash, Key + TrendingUp, ArrowUp, ArrowDown, Hash, Key, HardDrive, FolderSearch, AlertTriangle } from "lucide-react"; interface WindowState { @@ -194,7 +194,7 @@ export default function AeThexOS() { const spotlightRef = useRef(null); const { user, isAuthenticated, logout } = useAuth(); const [, setLocation] = useLocation(); - const [activeTrayPanel, setActiveTrayPanel] = useState<'wifi' | 'volume' | 'battery' | 'notifications' | null>(null); + const [activeTrayPanel, setActiveTrayPanel] = useState<'wifi' | 'volume' | 'battery' | 'notifications' | 'upgrade' | null>(null); const [volume, setVolume] = useState(75); const [isMuted, setIsMuted] = useState(false); const [batteryInfo, setBatteryInfo] = useState<{ level: number; charging: boolean } | null>(null); @@ -249,30 +249,31 @@ export default function AeThexOS() { return () => window.removeEventListener('mousemove', handleMouseMove); }, []); + const [showLoginPrompt, setShowLoginPrompt] = useState(false); + useEffect(() => { const bootSequence = async () => { const steps = [ + { text: 'BIOS CHECK... OK', progress: 5 }, { text: 'Initializing AeThex OS...', progress: 10 }, - { text: 'Loading kernel modules...', progress: 25 }, - { text: 'Mounting file systems...', progress: 40 }, - { text: 'Starting Aegis security layer...', progress: 55 }, - { text: 'Connecting to Nexus network...', progress: 70 }, - { text: 'Loading user profile...', progress: 85 }, - { text: 'Welcome, Architect.', progress: 100 }, + { text: 'Loading kernel modules...', progress: 20 }, + { text: 'Mounting file systems...', progress: 30 }, + { text: 'INITIATING AETHEX PASSPORT...', progress: 40 }, + { text: 'DETECTING CROSS-PLATFORM IDENTITY...', progress: 55 }, + { text: 'Starting Aegis security layer...', progress: 65 }, + { text: 'STATUS: NEUTRAL LAYER ACTIVE.', progress: 75 }, + { text: 'Connecting to Nexus network...', progress: 85 }, + { text: 'IDENTITY SYSTEM READY.', progress: 100 }, ]; for (const step of steps) { setBootStep(step.text); setBootProgress(step.progress); - await new Promise(r => setTimeout(r, 400)); + await new Promise(r => setTimeout(r, 350)); } - await new Promise(r => setTimeout(r, 500)); - setIsBooting(false); - - const randomTip = DAILY_TIPS[Math.floor(Math.random() * DAILY_TIPS.length)]; - setDailyTip(randomTip); - setTimeout(() => setShowDailyTip(true), 1000); + await new Promise(r => setTimeout(r, 400)); + setShowLoginPrompt(true); }; bootSequence(); @@ -378,6 +379,8 @@ export default function AeThexOS() { { id: "networkneighborhood", title: "Network Neighborhood", icon: , component: "networkneighborhood", defaultWidth: 500, defaultHeight: 450 }, { id: "mission", title: "README.TXT", icon: , component: "mission", defaultWidth: 500, defaultHeight: 500 }, { id: "foundry", title: "FOUNDRY.EXE", icon: , component: "foundry", defaultWidth: 450, defaultHeight: 500 }, + { id: "intel", title: "INTEL", icon: , component: "intel", defaultWidth: 550, defaultHeight: 450 }, + { id: "drives", title: "My Computer", icon: , component: "drives", defaultWidth: 450, defaultHeight: 400 }, { id: "chat", title: "AeThex AI", icon: , component: "chat", defaultWidth: 400, defaultHeight: 500 }, { id: "terminal", title: "Terminal", icon: , component: "terminal", defaultWidth: 750, defaultHeight: 500 }, { id: "metrics", title: "System Status", icon: , component: "metrics", defaultWidth: 750, defaultHeight: 550 }, @@ -394,6 +397,8 @@ export default function AeThexOS() { { id: "networkneighborhood", title: "Network Neighborhood", icon: , component: "networkneighborhood", defaultWidth: 500, defaultHeight: 450 }, { id: "mission", title: "README.TXT", icon: , component: "mission", defaultWidth: 500, defaultHeight: 500 }, { id: "foundry", title: "FOUNDRY.EXE", icon: , component: "foundry", defaultWidth: 450, defaultHeight: 500 }, + { id: "intel", title: "INTEL", icon: , component: "intel", defaultWidth: 550, defaultHeight: 450 }, + { id: "drives", title: "My Computer", icon: , component: "drives", defaultWidth: 450, defaultHeight: 400 }, { id: "devtools", title: "Dev Tools", icon: , component: "devtools", defaultWidth: 450, defaultHeight: 400 }, { id: "metrics", title: "System Status", icon: , component: "metrics", defaultWidth: 750, defaultHeight: 550 }, { id: "passport", title: "LOGIN", icon: , component: "passport", defaultWidth: 500, defaultHeight: 600 }, @@ -606,6 +611,8 @@ export default function AeThexOS() { case 'foundry': return ; case 'devtools': return ; case 'mission': return ; + case 'intel': return ; + case 'drives': return ; case 'settings': return { + setShowLoginPrompt(false); + setIsBooting(false); + const randomTip = DAILY_TIPS[Math.floor(Math.random() * DAILY_TIPS.length)]; + setDailyTip(randomTip); + setTimeout(() => setShowDailyTip(true), 1000); + }; + + const handleLoginFromBoot = () => { + setShowLoginPrompt(false); + setIsBooting(false); + const randomTip = DAILY_TIPS[Math.floor(Math.random() * DAILY_TIPS.length)]; + setDailyTip(randomTip); + setTimeout(() => { + setShowDailyTip(true); + const passportApp = apps.find(a => a.id === 'passport'); + if (passportApp) openApp(passportApp); + }, 500); + }; + if (isBooting) { return (
@@ -687,6 +714,37 @@ export default function AeThexOS() {
AeThex OS v1.0.0
+ + + {showLoginPrompt && ( + +
+ ✓ CROSS-PLATFORM IDENTITY READY +
+
+ + +
+
+ )} +
); @@ -1279,8 +1337,8 @@ interface TaskbarProps { onDesktopChange: (d: number) => void; clearanceTheme: ClearanceTheme; onSwitchClearance: () => void; - activeTrayPanel: 'wifi' | 'volume' | 'battery' | 'notifications' | null; - onTrayPanelToggle: (panel: 'wifi' | 'volume' | 'battery' | 'notifications') => void; + activeTrayPanel: 'wifi' | 'volume' | 'battery' | 'notifications' | 'upgrade' | null; + onTrayPanelToggle: (panel: 'wifi' | 'volume' | 'battery' | 'notifications' | 'upgrade') => void; volume: number; onVolumeChange: (v: number) => void; isMuted: boolean; @@ -1739,6 +1797,19 @@ function Taskbar({ windows, activeWindowId, apps, time, showStartMenu, user, isA
+
)} + + {activeTrayPanel === 'upgrade' && ( + e.stopPropagation()} + > +
+
+ + System Alert +
+
+
+
+
+ +
+
Architect Access Available
+
+ Upgrade your permissions to access the Source Code. +
+
+
+
+ Full system access +
+
+ Network directory slot +
+
+ .aethex namespace +
+
+ + Upgrade Now — $500 + +
+ Hint: Check the terminal for promo codes +
+
+
+ )} @@ -3701,8 +3823,8 @@ function NetworkNeighborhoodApp() { const reservedSlots = Array.from({ length: Math.max(0, 7 - founders.length) }, (_, i) => ({ id: `reserved-${i}`, - name: "[RESERVED FOR FOUNDRY]", - role: "available", + name: "[LOCKED - REQUIRES ARCHITECT ACCESS]", + role: "locked", isReserved: true, })); @@ -3938,6 +4060,265 @@ function DevToolsApp() { ); } +function IntelApp() { + const [selectedFile, setSelectedFile] = useState(null); + + const files = [ + { + name: "CROSS_PLATFORM_REPORT.TXT", + icon: , + content: `// INTERCEPTED REPORT // +SOURCE: NAAVIK RESEARCH +SUBJECT: THE FUTURE OF CROSS-PLATFORM + +======================================== +KEY FINDINGS +======================================== + +1. The "Walled Gardens" (Sony/MSFT) are failing. + + Platform holders are losing grip on exclusive + ecosystems. Users demand portability. + +2. Users demand a "Neutral Identity Layer." + + Cross-platform identity is the #1 requested + feature among gaming audiences globally. + +3. Developers need "Direct-to-Consumer" infrastructure. + + 30% platform cuts are unsustainable. The next + generation of creators will build direct. + +======================================== +AETHEX ANALYSIS +======================================== + +This validates the AEGIS Protocol. + +The industry is currently seeking the exact +solution we have already built: + + - Neutral identity layer ✓ DEPLOYED + - Cross-platform passport ✓ DEPLOYED + - Direct-to-consumer infra ✓ IN PROGRESS + +======================================== +STATUS +======================================== + +- Passport: DEPLOYED +- CloudOS: DEPLOYED +- Foundry: OPEN FOR ENROLLMENT + +// END TRANSMISSION //` + }, + { + name: "MARKET_THESIS.TXT", + icon: , + content: `// MARKET THESIS // +CLASSIFICATION: INTERNAL + +======================================== +THE OPPORTUNITY +======================================== + +Total Addressable Market (TAM): +$200B+ Metaverse Economy by 2030 + +Our Position: +Identity & Infrastructure Layer + +======================================== +COMPETITIVE MOAT +======================================== + +1. First-mover on neutral identity +2. Architect certification network +3. .aethex TLD namespace ownership +4. Aegis security protocol + +======================================== +REVENUE MODEL +======================================== + +- Foundry Certifications: $500/architect +- Enterprise Licensing: TBD +- Namespace Reservations: TBD + +// END DOCUMENT //` + } + ]; + + return ( +
+
+ + INTEL + CLASSIFIED +
+ + {!selectedFile ? ( +
+
+ 📁 /intel/market_data/ +
+ {files.map((file, idx) => ( + setSelectedFile(file.name)} + className="w-full flex items-center gap-3 py-2 px-3 border-l-2 border-amber-500/40 bg-amber-500/5 hover:bg-amber-500/15 transition-colors text-left" + > + {file.icon} + {file.name} + OPEN + + ))} +
+ ) : ( +
+
+ + {selectedFile} +
+
+
+              {files.find(f => f.name === selectedFile)?.content}
+            
+
+
+ )} +
+ ); +} + +function DrivesApp() { + const [selectedDrive, setSelectedDrive] = useState(null); + + const drives = [ + { id: 'C', name: 'Local System', size: '128 GB', used: '64 GB', status: 'online', icon: }, + { id: 'D', name: '.aethex TLD', size: '∞', used: '0 GB', status: 'not_mounted', icon: }, + ]; + + return ( +
+
+ + My Computer +
+ +
+
Storage Devices
+
+ {drives.map((drive) => ( + setSelectedDrive(drive.id)} + > +
+
+ {drive.icon} +
+
+
+ ({drive.id}:) + {drive.name} +
+
+ {drive.status === 'online' ? ( + {drive.used} / {drive.size} used + ) : ( + + Not Mounted + + )} +
+
+
+
+ + ))} +
+ + + {selectedDrive === 'D' && ( + +
+ +
+
ERROR: Drive Not Mounted
+
+ No .aethex domain detected for this identity. +
+
+ Join The Foundry to reserve your namespace in the AeThex ecosystem. +
+ + Join The Foundry + +
+
+
+ )} + {selectedDrive === 'C' && ( + +
Local System Storage
+
+
+ /system32 GB +
+
+ /apps16 GB +
+
+ /user12 GB +
+
+ /cache4 GB +
+
+
+ )} +
+
+
+ ); +} + function MissionApp() { return (