import { useState, useEffect } from "react"; import Layout from "@/components/Layout"; import SEO from "@/components/SEO"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import LoadingScreen from "@/components/LoadingScreen"; import { SkeletonStats, SkeletonUserPath } from "@/components/Skeleton"; import { Link } from "react-router-dom"; import GamifiedBanner from "@/components/GamifiedBanner"; import { ArrowRight, CheckCircle, Sparkles, Zap, Target, Users, TrendingUp, LayoutDashboard, Microscope, IdCard, } from "lucide-react"; export default function Index() { const [isLoading, setIsLoading] = useState(true); const [activeSection, setActiveSection] = useState(0); useEffect(() => { const timer = setTimeout(() => { setIsLoading(false); }, 1200); return () => clearTimeout(timer); }, []); useEffect(() => { const interval = setInterval(() => { setActiveSection((prev) => (prev + 1) % 4); }, 4000); return () => clearInterval(interval); }, []); type FeatureCard = { title: string; description: string; icon: any; color: string; // tailwind gradient from-to link?: string; tags?: string[]; }; const features: FeatureCard[] = [ { title: "Game Development", description: "Full‑cycle production and tooling", icon: Zap, color: "from-sky-500 to-indigo-600", link: "/game-development", tags: ["Studios", "Tools"], }, { title: "Product Design", description: "UX/UI, prototyping, and branding", icon: Target, color: "from-rose-500 to-fuchsia-600", link: "/consulting", tags: ["UX", "Branding"], }, { title: "Platform Engineering", description: "Web, mobile, and backend foundations", icon: Users, color: "from-emerald-500 to-teal-600", link: "/consulting", tags: ["Web", "Backend"], }, { title: "Community & Growth", description: "Programs, content, and engagement", icon: TrendingUp, color: "from-amber-500 to-orange-600", link: "/community", tags: ["Programs", "Content"], }, ]; const platformFeatures: FeatureCard[] = [ { title: "Dashboard", description: "Your projects, applications, and rewards — in one place", icon: LayoutDashboard, color: "from-rose-500 to-amber-500", link: "/dashboard", tags: ["Overview", "Rewards"], }, { title: "Community Feed", description: "Share progress, discover collaborators, and stay updated", icon: Users, color: "from-indigo-500 to-cyan-500", link: "/feed", tags: ["Posts", "Collab"], }, { title: "Developer Passport", description: "A public profile with verifiable achievements", icon: IdCard, color: "from-fuchsia-500 to-violet-600", link: "/passport/me", tags: ["Profile", "Badges"], }, { title: "Docs & CLI", description: "Guides, API reference, and tooling to ship faster", icon: Microscope, color: "from-lime-500 to-emerald-600", link: "/docs", tags: ["Guides", "API"], }, ]; const achievements = [ { metric: "10K+", label: "Active Creators" }, { metric: "500+", label: "Projects Shipped" }, { metric: "99.99%", label: "Feature Quality" }, { metric: "24/7", label: "Global Community" }, ]; const serviceOfferings = [ { title: "Game Development", description: "Studios and indie support", link: "/game-development", cardClass: "border-blue-500/40 bg-gradient-to-br from-blue-950/60 via-indigo-950/30 to-purple-900/40 text-blue-100 hover:border-blue-400/80 hover:shadow-[0_0_25px_rgba(59,130,246,0.35)]", titleClass: "text-blue-100", descriptionClass: "text-blue-100/70", buttonClass: "bg-gradient-to-r from-blue-500 via-indigo-500 to-purple-500 hover:from-blue-400 hover:via-indigo-400 hover:to-purple-400 text-white shadow-[0_0_18px_rgba(59,130,246,0.25)]", }, { title: "Consulting", description: "Architecture & delivery", link: "/consulting", cardClass: "border-fuchsia-500/40 bg-gradient-to-br from-fuchsia-950/60 via-rose-950/30 to-purple-900/40 text-fuchsia-100 hover:border-fuchsia-400/80 hover:shadow-[0_0_25px_rgba(217,70,239,0.35)]", titleClass: "text-fuchsia-100", descriptionClass: "text-fuchsia-100/70", buttonClass: "bg-gradient-to-r from-fuchsia-500 via-pink-500 to-rose-500 hover:from-fuchsia-400 hover:via-pink-400 hover:to-rose-400 text-white shadow-[0_0_18px_rgba(236,72,153,0.25)]", }, { title: "Mentorship", description: "Programs and guidance", link: "/mentorship", cardClass: "border-emerald-500/40 bg-gradient-to-br from-emerald-950/60 via-teal-950/30 to-blue-900/40 text-emerald-100 hover:border-emerald-400/80 hover:shadow-[0_0_25px_rgba(16,185,129,0.35)]", titleClass: "text-emerald-100", descriptionClass: "text-emerald-100/70", buttonClass: "bg-gradient-to-r from-emerald-500 via-teal-500 to-cyan-500 hover:from-emerald-400 hover:via-teal-400 hover:to-cyan-400 text-black font-semibold shadow-[0_0_18px_rgba(20,184,166,0.25)]", }, ]; const resourceOfferings = [ { title: "Documentation", description: "Guides and tutorials", cardClass: "border-cyan-400/40 bg-gradient-to-br from-cyan-950/50 via-sky-950/25 to-blue-900/30 text-cyan-100 hover:border-cyan-300/70 hover:shadow-[0_0_20px_rgba(34,211,238,0.3)]", titleClass: "text-cyan-100", descriptionClass: "text-cyan-100/70", actions: [ { label: "Docs", href: "/docs", variant: "outline", buttonClass: "border-cyan-400/60 text-cyan-200 hover:bg-cyan-500/10 hover:text-cyan-100", }, { label: "Tutorials", href: "/docs/tutorials", variant: "outline", buttonClass: "border-cyan-400/60 text-cyan-200 hover:bg-cyan-500/10 hover:text-cyan-100", }, ], }, { title: "Community", description: "News and discussions", cardClass: "border-orange-400/40 bg-gradient-to-br from-amber-950/50 via-orange-950/25 to-rose-900/30 text-orange-100 hover:border-orange-300/70 hover:shadow-[0_0_20px_rgba(249,115,22,0.3)]", titleClass: "text-orange-100", descriptionClass: "text-orange-100/70", actions: [ { label: "Community", href: "/community", variant: "outline", buttonClass: "border-orange-400/60 text-orange-200 hover:bg-orange-500/10 hover:text-orange-100", }, { label: "Blog", href: "/blog", variant: "outline", buttonClass: "border-orange-400/60 text-orange-200 hover:bg-orange-500/10 hover:text-orange-100", }, ], }, { title: "Company", description: "About and contact", cardClass: "border-indigo-400/40 bg-gradient-to-br from-indigo-950/50 via-blue-950/25 to-slate-900/30 text-indigo-100 hover:border-indigo-300/70 hover:shadow-[0_0_20px_rgba(99,102,241,0.3)]", titleClass: "text-indigo-100", descriptionClass: "text-indigo-100/70", actions: [ { label: "About", href: "/about", variant: "outline", buttonClass: "border-indigo-400/60 text-indigo-200 hover:bg-indigo-500/10 hover:text-indigo-100", }, { label: "Contact", href: "/contact", variant: "outline", buttonClass: "border-indigo-400/60 text-indigo-200 hover:bg-indigo-500/10 hover:text-indigo-100", }, ], }, ]; const [homeBanner, setHomeBanner] = useState<{ text: string; enabled?: boolean; style?: string; } | null>(null); useEffect(() => { fetch("/api/site-settings?key=home_banner") .then((r) => (r.ok ? r.json() : null)) .then((v) => { if (v && typeof v === "object") setHomeBanner(v as any); }) .catch(() => void 0); }, []); if (isLoading) { return ( ); } return ( <> {/* Top Banner (editable via Admin → Operations) */} {false && ( )} {/* Hero Section - Geometric Design */} {/* Geometric Background Pattern */} {/* Large Logo-inspired Geometric Shape */} {/* Floating Geometric Elements */} {[...Array(20)].map((_, i) => ( ))} {/* Main Content */} {/* Title */} AeThex Crafting Digital Realities Where vision meets execution. We craft experiences through design, development, and community. {/* Interactive Features Grid (Services) */} {features.map((feature, index) => { const Icon = feature.icon; const isActive = activeSection === index; return ( {feature.title} {(feature.tags || []).slice(0, 2).map((tag, i) => ( {tag} ))} {feature.description} {feature.link ? ( Explore ) : null} ); })} {/* Platform Feature Cards */} {platformFeatures.map((feature, index) => { const Icon = feature.icon; const isActive = activeSection === index; return ( {feature.title} {(feature.tags || []).slice(0, 2).map((tag, i) => ( {tag} ))} {feature.description} {feature.link ? ( Explore ) : null} ); })} {/* Action Buttons */} Start Your Journey Explore Platform Visit aethex.net > ); }
Where vision meets execution. We craft experiences through design, development, and community.
{feature.description}