From e4029d0bef5c1d2239507ece6fbabcb8c192c14f Mon Sep 17 00:00:00 2001 From: MrPiglr Date: Sat, 10 Jan 2026 20:46:50 +0000 Subject: [PATCH] feat: implement conversion-optimized landing pages - Remove auto-redirect countdown from GameForge, Labs, Foundation - Add TL;DR collapsible sections in hero for quick info - Add exit intent modals (triggered on mouse leave) - Update sticky banners to be persistent (no countdown) - Maintain multiple CTAs throughout pages - Support 4 user personas: Impatient, Scanner, Researcher, Undecided --- client/pages/Foundation.tsx | 92 +++++++++++++++++++++++++++++++------ client/pages/GameForge.tsx | 92 +++++++++++++++++++++++++++++++------ client/pages/Labs.tsx | 92 +++++++++++++++++++++++++++++++------ 3 files changed, 234 insertions(+), 42 deletions(-) diff --git a/client/pages/Foundation.tsx b/client/pages/Foundation.tsx index dac96f15..c72b8899 100644 --- a/client/pages/Foundation.tsx +++ b/client/pages/Foundation.tsx @@ -27,7 +27,8 @@ export default function Foundation() { const { theme } = useArmTheme(); const armToast = useArmToast(); const [isLoading, setIsLoading] = useState(true); - const [countdown, setCountdown] = useState(5); + const [showTldr, setShowTldr] = useState(false); + const [showExitModal, setShowExitModal] = useState(false); const toastShownRef = useRef(false); useEffect(() => { @@ -42,17 +43,17 @@ export default function Foundation() { return () => clearTimeout(timer); }, [armToast]); - // Auto-redirect countdown + // Exit intent detection useEffect(() => { - if (isLoading) return; + const handleMouseLeave = (e: MouseEvent) => { + if (e.clientY <= 0 && !showExitModal) { + setShowExitModal(true); + } + }; - if (countdown > 0) { - const timer = setTimeout(() => setCountdown(countdown - 1), 1000); - return () => clearTimeout(timer); - } else { - window.location.href = 'https://aethex.foundation'; - } - }, [countdown, isLoading]); + document.addEventListener('mouseleave', handleMouseLeave); + return () => document.removeEventListener('mouseleave', handleMouseLeave); + }, [showExitModal]); if (isLoading) { return ( @@ -69,14 +70,14 @@ export default function Foundation() { return (
- {/* Informational Banner with Countdown */} + {/* Persistent Info Banner */}
- +

- Redirecting in {countdown}s... Foundation is hosted at{" "} + Foundation is hosted at{" "} aethex.foundation @@ -88,7 +89,7 @@ export default function Foundation() { onClick={() => window.location.href = 'https://aethex.foundation'} > - Go Now + Visit Foundation

@@ -118,6 +119,30 @@ export default function Foundation() {

Building community, empowering developers, and advancing game development through open-source innovation and mentorship.

+ + {/* TL;DR Section */} +
+ + {showTldr && ( +
+

TL;DR

+
    +
  • 501(c)(3) non-profit focused on game development
  • +
  • GameForge flagship program (30-day sprints)
  • +
  • Open-source Axiom Protocol for game dev
  • +
  • Master-apprentice mentorship model
  • +
  • Community hub at aethex.foundation
  • +
+
+ )} +
@@ -463,6 +488,45 @@ export default function Foundation() {
+ + {/* Exit Intent Modal */} + {showExitModal && ( +
+
+
+
+
+ +
+
+
+

Join Our Community

+

+ Be part of the AeThex Foundation 501(c)(3) - where developers learn, grow, and ship together. +

+
+
+ + +
+
+
+
+ )} ); } diff --git a/client/pages/GameForge.tsx b/client/pages/GameForge.tsx index eec8efcf..84e7b20a 100644 --- a/client/pages/GameForge.tsx +++ b/client/pages/GameForge.tsx @@ -27,7 +27,8 @@ export default function GameForge() { const { theme } = useArmTheme(); const armToast = useArmToast(); const [isLoading, setIsLoading] = useState(true); - const [countdown, setCountdown] = useState(5); + const [showTldr, setShowTldr] = useState(false); + const [showExitModal, setShowExitModal] = useState(false); const toastShownRef = useRef(false); useEffect(() => { @@ -42,17 +43,17 @@ export default function GameForge() { return () => clearTimeout(timer); }, [armToast]); - // Auto-redirect countdown + // Exit intent detection useEffect(() => { - if (isLoading) return; + const handleMouseLeave = (e: MouseEvent) => { + if (e.clientY <= 0 && !showExitModal) { + setShowExitModal(true); + } + }; - if (countdown > 0) { - const timer = setTimeout(() => setCountdown(countdown - 1), 1000); - return () => clearTimeout(timer); - } else { - window.location.href = 'https://aethex.foundation/gameforge'; - } - }, [countdown, isLoading]); + document.addEventListener('mouseleave', handleMouseLeave); + return () => document.removeEventListener('mouseleave', handleMouseLeave); + }, [showExitModal]); if (isLoading) { return ( @@ -103,14 +104,14 @@ export default function GameForge() { return (
- {/* Informational Banner with Countdown */} + {/* Persistent Info Banner */}
- +

- Redirecting in {countdown}s... GameForge is hosted at{" "} + GameForge is hosted at{" "} aethex.foundation/gameforge @@ -122,7 +123,7 @@ export default function GameForge() { onClick={() => window.location.href = 'https://aethex.foundation/gameforge'} > - Go Now + Visit Platform

@@ -160,6 +161,30 @@ export default function GameForge() {

AeThex GameForge is a master-apprentice mentorship program where teams of 5 developers ship real games in 30-day sprints.

+ + {/* TL;DR Section */} +
+ + {showTldr && ( +
+

TL;DR

+
    +
  • 30-day game development sprints
  • +
  • 5-person teams (1 mentor + 4 developers)
  • +
  • Ship real games to aethex.fun
  • +
  • Build your portfolio on aethex.me passport
  • +
  • Part of AeThex Foundation (501c3 non-profit)
  • +
+
+ )} +
@@ -414,6 +439,45 @@ export default function GameForge() {
+ + {/* Exit Intent Modal */} + {showExitModal && ( +
+
+
+
+
+ +
+
+
+

Ready to Ship Games?

+

+ Join GameForge and start building your portfolio with real, shipped games in 30-day sprints. +

+
+
+ + +
+
+
+
+ )} ); } diff --git a/client/pages/Labs.tsx b/client/pages/Labs.tsx index 53603257..a4bd11e3 100644 --- a/client/pages/Labs.tsx +++ b/client/pages/Labs.tsx @@ -23,7 +23,8 @@ export default function Labs() { const { theme } = useArmTheme(); const armToast = useArmToast(); const [isLoading, setIsLoading] = useState(true); - const [countdown, setCountdown] = useState(5); + const [showTldr, setShowTldr] = useState(false); + const [showExitModal, setShowExitModal] = useState(false); const toastShownRef = useRef(false); useEffect(() => { @@ -38,17 +39,17 @@ export default function Labs() { return () => clearTimeout(timer); }, [armToast]); - // Auto-redirect countdown + // Exit intent detection useEffect(() => { - if (isLoading) return; + const handleMouseLeave = (e: MouseEvent) => { + if (e.clientY <= 0 && !showExitModal) { + setShowExitModal(true); + } + }; - if (countdown > 0) { - const timer = setTimeout(() => setCountdown(countdown - 1), 1000); - return () => clearTimeout(timer); - } else { - window.location.href = 'https://aethex.studio'; - } - }, [countdown, isLoading]); + document.addEventListener('mouseleave', handleMouseLeave); + return () => document.removeEventListener('mouseleave', handleMouseLeave); + }, [showExitModal]); if (isLoading) { return ( @@ -125,14 +126,14 @@ export default function Labs() { return (
- {/* Informational Banner with Countdown */} + {/* Persistent Info Banner */}
- +

- Redirecting in {countdown}s... Labs is hosted at{" "} + Labs is hosted at{" "} aethex.studio @@ -144,7 +145,7 @@ export default function Labs() { onClick={() => window.location.href = 'https://aethex.studio'} > - Go Now + Visit Studio

@@ -183,6 +184,30 @@ export default function Labs() {

Breakthrough R&D pushing the boundaries of what's possible in software, AI, games, and digital experiences.

+ + {/* TL;DR Section */} +
+ + {showTldr && ( +
+

TL;DR

+
    +
  • Cutting-edge R&D across AI, games, and web tech
  • +
  • PhD-level researchers and innovative engineers
  • +
  • Published research and open-source contributions
  • +
  • Technology powering GameForge and platform tools
  • +
  • Visit aethex.studio for research papers & demos
  • +
+
+ )} +
@@ -423,6 +448,45 @@ export default function Labs() {
+ + {/* Exit Intent Modal */} + {showExitModal && ( +
+
+
+
+
+ +
+
+
+

Explore Labs Research

+

+ Dive into cutting-edge research, technical papers, and innovation demos at AeThex Labs Studio. +

+
+
+ + +
+
+
+
+ )} ); }