mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-17 22:27:19 +00:00
Update application names and icons for a more intuitive user experience
Update various application names and icons in the OS interface, including adding a 'Key' icon for the 'LOGIN' application. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 279f1558-c0e3-40e4-8217-be7e9f4c6eca Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 3935485c-2de6-4e82-b4bc-2acfd6eff399 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/b984cb14-1d19-4944-922b-bc79e821ed35/279f1558-c0e3-40e4-8217-be7e9f4c6eca/fg2WOSL Replit-Helium-Checkpoint-Created: true
This commit is contained in:
parent
f41cc27843
commit
39833cebd7
2 changed files with 218 additions and 31 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 6 KiB |
|
|
@ -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
|
||||
TrendingUp, ArrowUp, ArrowDown, Hash, Key
|
||||
} from "lucide-react";
|
||||
|
||||
interface WindowState {
|
||||
|
|
@ -357,11 +357,11 @@ export default function AeThexOS() {
|
|||
|
||||
const foundationApps: DesktopApp[] = [
|
||||
{ id: "networkneighborhood", title: "Network Neighborhood", icon: <Network className="w-8 h-8" />, component: "networkneighborhood", defaultWidth: 500, defaultHeight: 450 },
|
||||
{ id: "mission", title: "Mission.txt", icon: <FileText className="w-8 h-8" />, component: "mission", defaultWidth: 500, defaultHeight: 500 },
|
||||
{ id: "foundry", title: "The Foundry", icon: <Award className="w-8 h-8" />, component: "foundry", defaultWidth: 450, defaultHeight: 500 },
|
||||
{ id: "mission", title: "README.TXT", icon: <FileText className="w-8 h-8" />, component: "mission", defaultWidth: 500, defaultHeight: 500 },
|
||||
{ id: "foundry", title: "FOUNDRY.EXE", icon: <Award className="w-8 h-8" />, component: "foundry", defaultWidth: 450, defaultHeight: 500 },
|
||||
{ id: "devtools", title: "Dev Tools", icon: <Code2 className="w-8 h-8" />, component: "devtools", defaultWidth: 450, defaultHeight: 400 },
|
||||
{ id: "metrics", title: "System Status", icon: <Activity className="w-8 h-8" />, component: "metrics", defaultWidth: 750, defaultHeight: 550 },
|
||||
{ id: "passport", title: "My Computer", icon: <Monitor className="w-8 h-8" />, component: "passport", defaultWidth: 500, defaultHeight: 600 },
|
||||
{ id: "passport", title: "LOGIN", icon: <Key className="w-8 h-8" />, component: "passport", defaultWidth: 500, defaultHeight: 600 },
|
||||
{ id: "terminal", title: "Terminal", icon: <Terminal className="w-8 h-8" />, component: "terminal", defaultWidth: 750, defaultHeight: 500 },
|
||||
{ id: "codeeditor", title: "The Lab", icon: <Code2 className="w-8 h-8" />, component: "codeeditor", defaultWidth: 700, defaultHeight: 500 },
|
||||
{ id: "music", title: "Radio AeThex", icon: <Radio className="w-8 h-8" />, component: "music", defaultWidth: 400, defaultHeight: 350 },
|
||||
|
|
@ -373,11 +373,11 @@ export default function AeThexOS() {
|
|||
|
||||
const corpApps: DesktopApp[] = [
|
||||
{ id: "networkneighborhood", title: "Network Neighborhood", icon: <Network className="w-8 h-8" />, component: "networkneighborhood", defaultWidth: 500, defaultHeight: 450 },
|
||||
{ id: "mission", title: "Mission.txt", icon: <FileText className="w-8 h-8" />, component: "mission", defaultWidth: 500, defaultHeight: 500 },
|
||||
{ id: "foundry", title: "The Foundry", icon: <Award className="w-8 h-8" />, component: "foundry", defaultWidth: 450, defaultHeight: 500 },
|
||||
{ id: "mission", title: "README.TXT", icon: <FileText className="w-8 h-8" />, component: "mission", defaultWidth: 500, defaultHeight: 500 },
|
||||
{ id: "foundry", title: "FOUNDRY.EXE", icon: <Award className="w-8 h-8" />, component: "foundry", defaultWidth: 450, defaultHeight: 500 },
|
||||
{ id: "devtools", title: "Dev Tools", icon: <Code2 className="w-8 h-8" />, component: "devtools", defaultWidth: 450, defaultHeight: 400 },
|
||||
{ id: "metrics", title: "System Status", icon: <Activity className="w-8 h-8" />, component: "metrics", defaultWidth: 750, defaultHeight: 550 },
|
||||
{ id: "passport", title: "My Computer", icon: <Monitor className="w-8 h-8" />, component: "passport", defaultWidth: 500, defaultHeight: 600 },
|
||||
{ id: "passport", title: "LOGIN", icon: <Key className="w-8 h-8" />, component: "passport", defaultWidth: 500, defaultHeight: 600 },
|
||||
{ id: "network", title: "Global Ops", icon: <Globe className="w-8 h-8" />, component: "network", defaultWidth: 700, defaultHeight: 550 },
|
||||
{ id: "files", title: "Asset Library", icon: <Database className="w-8 h-8" />, component: "files", defaultWidth: 700, defaultHeight: 500 },
|
||||
{ id: "pitch", title: "Contracts", icon: <FileText className="w-8 h-8" />, component: "pitch", defaultWidth: 500, defaultHeight: 400 },
|
||||
|
|
@ -1777,6 +1777,8 @@ function TerminalApp() {
|
|||
"║ projects - List active projects ║",
|
||||
"║ scan - Scan network for nodes ║",
|
||||
"║ analyze - Run security analysis ║",
|
||||
"║ ping - Check network status ║",
|
||||
"║ whois - Look up architect profile ║",
|
||||
"║ decrypt - Decrypt secure message ║",
|
||||
"║ hack - ??? (try it) ║",
|
||||
"║ fortune - Random architect wisdom ║",
|
||||
|
|
@ -2166,6 +2168,99 @@ function TerminalApp() {
|
|||
], setHistory);
|
||||
break;
|
||||
|
||||
case 'ping':
|
||||
await typeEffect(["", "Pinging AeThex Network..."], setHistory);
|
||||
await delay(500);
|
||||
await typeEffect([
|
||||
"PING aethex.network (42.42.42.42): 56 data bytes",
|
||||
"64 bytes from 42.42.42.42: icmp_seq=0 ttl=64 time=0.042 ms",
|
||||
"64 bytes from 42.42.42.42: icmp_seq=1 ttl=64 time=0.037 ms",
|
||||
"64 bytes from 42.42.42.42: icmp_seq=2 ttl=64 time=0.041 ms",
|
||||
"",
|
||||
"--- aethex.network ping statistics ---",
|
||||
"3 packets transmitted, 3 packets received, 0.0% packet loss",
|
||||
"",
|
||||
"✓ AeThex Network: ONLINE",
|
||||
""
|
||||
], setHistory);
|
||||
break;
|
||||
|
||||
case 'whois':
|
||||
const target = args[1]?.toLowerCase();
|
||||
if (target === 'mrpiglr') {
|
||||
await typeEffect([
|
||||
"",
|
||||
"╔══════════════════════════════════════════════════╗",
|
||||
"║ ARCHITECT PROFILE ║",
|
||||
"╠══════════════════════════════════════════════════╣",
|
||||
"║ CODENAME: mrpiglr ║",
|
||||
"║ REAL NAME: [CLASSIFIED] ║",
|
||||
"║ ROLE: Founder & Chief Architect ║",
|
||||
"║ CLEARANCE: OVERSEE (Highest) ║",
|
||||
"║ STATUS: ACTIVE ║",
|
||||
"╠══════════════════════════════════════════════════╣",
|
||||
"║ SKILLS: Metaverse Architecture, Web3, ║",
|
||||
"║ Game Development, System Design ║",
|
||||
"╠══════════════════════════════════════════════════╣",
|
||||
"║ 'Building the operating system for ║",
|
||||
"║ the Metaverse, one line at a time.' ║",
|
||||
"╚══════════════════════════════════════════════════╝",
|
||||
""
|
||||
], setHistory);
|
||||
} else if (target === 'trevorjoey' || target === 'dylan' || target === 'fadedlatte') {
|
||||
await typeEffect([
|
||||
"",
|
||||
`╔══════════════════════════════════════════════════╗`,
|
||||
`║ ARCHITECT PROFILE ║`,
|
||||
`╠══════════════════════════════════════════════════╣`,
|
||||
`║ CODENAME: ${(target || '').padEnd(35)}║`,
|
||||
`║ ROLE: Founding Architect ║`,
|
||||
`║ CLEARANCE: ADMIN ║`,
|
||||
`║ STATUS: ACTIVE ║`,
|
||||
`╚══════════════════════════════════════════════════╝`,
|
||||
""
|
||||
], setHistory);
|
||||
} else {
|
||||
setHistory(prev => [...prev, "Usage: whois <username>", "Try: whois mrpiglr", ""]);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'foundry':
|
||||
await typeEffect([
|
||||
"",
|
||||
"╔══════════════════════════════════════════════════╗",
|
||||
"║ 🔥 THE FOUNDRY - ARCHITECT BOOTCAMP ║",
|
||||
"╠══════════════════════════════════════════════════╣",
|
||||
"║ ║",
|
||||
"║ Transform yourself into a certified ║",
|
||||
"║ Metaverse Architect in 8 weeks. ║",
|
||||
"║ ║",
|
||||
"║ Learn: Game Dev, Web3, System Design ║",
|
||||
"║ ║",
|
||||
"║ Price: $500 (Limited Cohort) ║",
|
||||
"║ ║",
|
||||
"║ Use code TERMINAL10 for 10% off! ║",
|
||||
"║ ║",
|
||||
"╠══════════════════════════════════════════════════╣",
|
||||
"║ Visit: aethex.studio ║",
|
||||
"╚══════════════════════════════════════════════════╝",
|
||||
""
|
||||
], setHistory);
|
||||
break;
|
||||
|
||||
case 'discount':
|
||||
await typeEffect([
|
||||
"",
|
||||
"🎉 SECRET FOUND!",
|
||||
"",
|
||||
"Use code: TERMINAL10",
|
||||
"For 10% off The Foundry bootcamp!",
|
||||
"",
|
||||
"Visit aethex.studio to enroll.",
|
||||
""
|
||||
], setHistory);
|
||||
break;
|
||||
|
||||
default:
|
||||
setHistory(prev => [...prev, `Command not found: ${cmd}`, "Type 'help' for available commands.", ""]);
|
||||
}
|
||||
|
|
@ -2191,7 +2286,7 @@ function TerminalApp() {
|
|||
}
|
||||
} else if (e.key === 'Tab') {
|
||||
e.preventDefault();
|
||||
const cmds = ['help', 'status', 'architects', 'projects', 'scan', 'analyze', 'decrypt', 'hack', 'fortune', 'whoami', 'neofetch', 'matrix', 'clear', 'tour', 'dice', 'cowsay', 'joke', 'weather', 'uptime', 'banner', 'coffee', 'sudo', 'secret'];
|
||||
const cmds = ['help', 'status', 'architects', 'projects', 'scan', 'analyze', 'decrypt', 'hack', 'fortune', 'whoami', 'neofetch', 'matrix', 'clear', 'tour', 'dice', 'cowsay', 'joke', 'weather', 'uptime', 'banner', 'coffee', 'sudo', 'secret', 'ping', 'whois', 'foundry', 'discount'];
|
||||
const match = cmds.find(c => c.startsWith(input.toLowerCase()));
|
||||
if (match) setInput(match);
|
||||
}
|
||||
|
|
@ -3417,34 +3512,126 @@ function NetworkNeighborhoodApp() {
|
|||
}
|
||||
|
||||
function FoundryApp() {
|
||||
const [viewMode, setViewMode] = useState<'info' | 'enroll'>('info');
|
||||
const [promoCode, setPromoCode] = useState('');
|
||||
const [promoApplied, setPromoApplied] = useState(false);
|
||||
|
||||
const basePrice = 500;
|
||||
const discount = promoApplied && promoCode.toUpperCase() === 'TERMINAL10' ? 0.10 : 0;
|
||||
const finalPrice = basePrice * (1 - discount);
|
||||
|
||||
return (
|
||||
<div className="h-full bg-gradient-to-br from-yellow-950 to-black flex flex-col font-mono">
|
||||
<div className="flex items-center gap-2 p-3 border-b border-yellow-500/30 bg-yellow-500/5">
|
||||
<Award className="w-4 h-4 text-yellow-400" />
|
||||
<span className="text-yellow-400 text-sm uppercase tracking-wider">The Foundry</span>
|
||||
</div>
|
||||
<div className="flex-1 flex flex-col items-center justify-center p-6 text-center">
|
||||
<div className="w-20 h-20 rounded-full bg-yellow-500/20 border-2 border-yellow-500/50 flex items-center justify-center mb-6">
|
||||
<Award className="w-10 h-10 text-yellow-400" />
|
||||
<div className="flex items-center justify-between p-3 border-b border-yellow-500/30 bg-yellow-500/5">
|
||||
<div className="flex items-center gap-2">
|
||||
<Award className="w-4 h-4 text-yellow-400" />
|
||||
<span className="text-yellow-400 text-sm uppercase tracking-wider">FOUNDRY.EXE</span>
|
||||
</div>
|
||||
<h2 className="text-2xl font-bold text-yellow-400 mb-2">The Foundry</h2>
|
||||
<p className="text-white/70 text-sm mb-6 max-w-xs">
|
||||
Train to become a certified Metaverse Architect. Learn the protocols. Join the network.
|
||||
</p>
|
||||
<div className="space-y-2 text-left text-sm text-white/60 mb-6">
|
||||
<div className="flex items-center gap-2"><Zap className="w-4 h-4 text-yellow-400" /> 8-week intensive curriculum</div>
|
||||
<div className="flex items-center gap-2"><Shield className="w-4 h-4 text-yellow-400" /> AeThex Passport certification</div>
|
||||
<div className="flex items-center gap-2"><Users className="w-4 h-4 text-yellow-400" /> Join the architect network</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
onClick={() => setViewMode('info')}
|
||||
className={`px-2 py-1 text-xs uppercase ${viewMode === 'info' ? 'bg-yellow-500 text-black' : 'text-yellow-400 hover:bg-yellow-500/20'} transition-colors`}
|
||||
>
|
||||
Info
|
||||
</button>
|
||||
<button
|
||||
onClick={() => setViewMode('enroll')}
|
||||
className={`px-2 py-1 text-xs uppercase ${viewMode === 'enroll' ? 'bg-yellow-500 text-black' : 'text-yellow-400 hover:bg-yellow-500/20'} transition-colors`}
|
||||
>
|
||||
Enroll
|
||||
</button>
|
||||
</div>
|
||||
<a
|
||||
href="https://aethex.studio"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="px-6 py-3 bg-yellow-500 hover:bg-yellow-400 text-black font-bold uppercase tracking-wider transition-colors flex items-center gap-2"
|
||||
>
|
||||
Apply Now <ExternalLink className="w-4 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{viewMode === 'info' ? (
|
||||
<div className="flex-1 flex flex-col items-center justify-center p-6 text-center">
|
||||
<div className="w-20 h-20 rounded-full bg-yellow-500/20 border-2 border-yellow-500/50 flex items-center justify-center mb-6">
|
||||
<Award className="w-10 h-10 text-yellow-400" />
|
||||
</div>
|
||||
<h2 className="text-2xl font-bold text-yellow-400 mb-2">The Foundry</h2>
|
||||
<p className="text-white/70 text-sm mb-6 max-w-xs">
|
||||
Train to become a certified Metaverse Architect. Learn the protocols. Join the network.
|
||||
</p>
|
||||
<div className="space-y-2 text-left text-sm text-white/60 mb-6">
|
||||
<div className="flex items-center gap-2"><Zap className="w-4 h-4 text-yellow-400" /> 8-week intensive curriculum</div>
|
||||
<div className="flex items-center gap-2"><Shield className="w-4 h-4 text-yellow-400" /> AeThex Passport certification</div>
|
||||
<div className="flex items-center gap-2"><Users className="w-4 h-4 text-yellow-400" /> Join the architect network</div>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => setViewMode('enroll')}
|
||||
className="px-6 py-3 bg-yellow-500 hover:bg-yellow-400 text-black font-bold uppercase tracking-wider transition-colors flex items-center gap-2"
|
||||
>
|
||||
Enroll Now <ChevronRight className="w-4 h-4" />
|
||||
</button>
|
||||
<div className="mt-4 text-xs text-yellow-500/50">
|
||||
Hint: Check the terminal for secret codes
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div className="flex-1 flex flex-col p-6 overflow-auto">
|
||||
<div className="max-w-sm mx-auto w-full space-y-6">
|
||||
<div className="text-center">
|
||||
<h3 className="text-xl font-bold text-yellow-400 mb-1">Architect Bootcamp</h3>
|
||||
<p className="text-white/50 text-sm">Cohort Starting Soon</p>
|
||||
</div>
|
||||
|
||||
<div className="border border-yellow-500/30 bg-yellow-500/5 p-4 space-y-3">
|
||||
<div className="flex justify-between text-sm">
|
||||
<span className="text-white/70">Bootcamp Access</span>
|
||||
<span className="text-white">${basePrice}</span>
|
||||
</div>
|
||||
{promoApplied && discount > 0 && (
|
||||
<div className="flex justify-between text-sm text-green-400">
|
||||
<span>Discount (TERMINAL10)</span>
|
||||
<span>-${(basePrice * discount).toFixed(0)}</span>
|
||||
</div>
|
||||
)}
|
||||
<div className="border-t border-yellow-500/20 pt-2 flex justify-between font-bold">
|
||||
<span className="text-white">Total</span>
|
||||
<span className="text-yellow-400">${finalPrice.toFixed(0)}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<label className="text-white/70 text-xs uppercase tracking-wider">Promo Code</label>
|
||||
<div className="flex gap-2">
|
||||
<input
|
||||
type="text"
|
||||
value={promoCode}
|
||||
onChange={(e) => setPromoCode(e.target.value)}
|
||||
placeholder="Enter code"
|
||||
className="flex-1 bg-black/50 border border-yellow-500/30 px-3 py-2 text-white text-sm focus:outline-none focus:border-yellow-500"
|
||||
/>
|
||||
<button
|
||||
onClick={() => setPromoApplied(true)}
|
||||
className="px-4 py-2 bg-yellow-500/20 text-yellow-400 text-sm hover:bg-yellow-500/30 transition-colors"
|
||||
>
|
||||
Apply
|
||||
</button>
|
||||
</div>
|
||||
{promoApplied && promoCode.toUpperCase() === 'TERMINAL10' && (
|
||||
<p className="text-green-400 text-xs">Code applied! 10% discount.</p>
|
||||
)}
|
||||
{promoApplied && promoCode && promoCode.toUpperCase() !== 'TERMINAL10' && (
|
||||
<p className="text-red-400 text-xs">Invalid code. Try the terminal.</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<a
|
||||
href="https://aethex.studio"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="block w-full px-6 py-3 bg-yellow-500 hover:bg-yellow-400 text-black text-center font-bold uppercase tracking-wider transition-colors"
|
||||
>
|
||||
Complete Enrollment
|
||||
</a>
|
||||
|
||||
<p className="text-center text-white/40 text-xs">
|
||||
Redirects to aethex.studio for payment
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue