import "./global.css";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { BrowserRouter, Routes, Route } from "react-router-dom";
import { useDiscordActivity } from "./contexts/DiscordActivityContext";
import { AuthProvider } from "./contexts/AuthContext";
import { Web3Provider } from "./contexts/Web3Context";
import { DocsThemeProvider } from "./contexts/DocsThemeContext";
import { ArmThemeProvider } from "./contexts/ArmThemeContext";
import { MaintenanceProvider } from "./contexts/MaintenanceContext";
import MaintenanceGuard from "./components/MaintenanceGuard";
import PageTransition from "./components/PageTransition";
import SkipAgentController from "./components/SkipAgentController";
import Onboarding from "./pages/Onboarding";
import Dashboard from "./pages/Dashboard";
import Login from "./pages/Login";
import Link from "./pages/Link";
import GameDevelopment from "./pages/GameDevelopment";
import MentorshipPrograms from "./pages/MentorshipPrograms";
import ResearchLabs from "./pages/ResearchLabs";
import Labs from "./pages/Labs";
import GameForge from "./pages/GameForge";
import Foundation from "./pages/Foundation";
import Nexus from "./pages/Nexus";
import Arms from "./pages/Arms";
import ExternalRedirect from "./components/ExternalRedirect";
import RequireAccess from "@/components/RequireAccess";
import Engage from "./pages/Pricing";
import DocsLayout from "@/components/docs/DocsLayout";
import DocsOverview from "./pages/docs/DocsOverview";
import DocsTutorials from "./pages/docs/DocsTutorials";
import DocsGettingStarted from "./pages/docs/DocsGettingStarted";
import DocsPlatform from "./pages/docs/DocsPlatform";
import DocsApiReference from "./pages/docs/DocsApiReference";
import DocsCli from "./pages/docs/DocsCli";
import DocsExamples from "./pages/docs/DocsExamples";
import DocsIntegrations from "./pages/docs/DocsIntegrations";
import VRChatIntegration from "./pages/docs/integrations/VRChat";
import RecRoomIntegration from "./pages/docs/integrations/RecRoom";
import SpatialIntegration from "./pages/docs/integrations/Spatial";
import DecentralandIntegration from "./pages/docs/integrations/Decentraland";
import TheSandboxIntegration from "./pages/docs/integrations/TheSandbox";
import GodotIntegration from "./pages/docs/integrations/Godot";
import GameMakerIntegration from "./pages/docs/integrations/GameMaker";
import GameJoltIntegration from "./pages/docs/integrations/GameJolt";
import ItchIoIntegration from "./pages/docs/integrations/ItchIo";
import DocsCurriculum from "./pages/docs/DocsCurriculum";
import DocsCurriculumEthos from "./pages/docs/DocsCurriculumEthos";
import TrackLibrary from "./pages/ethos/TrackLibrary";
import ArtistProfile from "./pages/ethos/ArtistProfile";
import ArtistSettings from "./pages/ethos/ArtistSettings";
import LicensingDashboard from "./pages/ethos/LicensingDashboard";
import Tutorials from "./pages/Tutorials";
import Blog from "./pages/Blog";
import BlogPost from "./pages/BlogPost";
import Community from "./pages/Community";
import Support from "./pages/Support";
import Status from "./pages/Status";
import Changelog from "./pages/Changelog";
import DevelopersDirectory from "./pages/DevelopersDirectory";
import ProfilePassport from "./pages/ProfilePassport";
import SubdomainPassport from "./pages/SubdomainPassport";
import Profile from "./pages/Profile";
import { SubdomainPassportProvider } from "./contexts/SubdomainPassportContext";
import About from "./pages/About";
import Contact from "./pages/Contact";
import GetStarted from "./pages/GetStarted";
import Careers from "./pages/Careers";
import Privacy from "./pages/Privacy";
import Terms from "./pages/Terms";
import Admin from "./pages/Admin";
import AdminModeration from "./pages/admin/AdminModeration";
import AdminAnalytics from "./pages/admin/AdminAnalytics";
import AdminFeed from "./pages/AdminFeed";
import ProjectsNew from "./pages/ProjectsNew";
import Explore from "./pages/Explore";
import ResetPassword from "./pages/ResetPassword";
import Teams from "./pages/Teams";
import Squads from "./pages/Squads";
import MenteeHub from "./pages/MenteeHub";
import ProjectBoard from "./pages/ProjectBoard";
import ProjectDetail from "./pages/ProjectDetail";
import { Navigate } from "react-router-dom";
import FourOhFourPage from "./pages/404";
import SignupRedirect from "./pages/SignupRedirect";
import Realms from "./pages/Realms";
import Investors from "./pages/Investors";
import NexusDashboard from "./pages/dashboards/NexusDashboard";
import GameForgeDashboard from "./pages/dashboards/GameForgeDashboard";
import Roadmap from "./pages/Roadmap";
import Trust from "./pages/Trust";
import PressKit from "./pages/PressKit";
import Downloads from "./pages/Downloads";
import Projects from "./pages/Projects";
import ProjectsAdmin from "./pages/ProjectsAdmin";
import Directory from "./pages/Directory";
import Wix from "./pages/Wix";
import WixCaseStudies from "./pages/WixCaseStudies";
import WixFaq from "./pages/WixFaq";
import DocsSync from "./pages/DocsSync";
import { DiscordProvider } from "./contexts/DiscordContext";
import { DiscordActivityProvider } from "./contexts/DiscordActivityContext";
import Activity from "./pages/Activity";
import DiscordActivity from "./pages/DiscordActivity";
import DiscordOAuthCallback from "./pages/DiscordOAuthCallback";
import RobloxCallback from "./pages/RobloxCallback";
import Web3Callback from "./pages/Web3Callback";
import DiscordVerify from "./pages/DiscordVerify";
import { Analytics } from "@vercel/analytics/react";
import CreatorDirectory from "./pages/creators/CreatorDirectory";
import CreatorProfile from "./pages/creators/CreatorProfile";
import BotPanel from "./pages/BotPanel";
import OpportunitiesHub from "./pages/opportunities/OpportunitiesHub";
import OpportunityDetail from "./pages/opportunities/OpportunityDetail";
import OpportunityPostForm from "./pages/opportunities/OpportunityPostForm";
import MyApplications from "./pages/profile/MyApplications";
// Hub pages moved to aethex.co (aethex-corp app)
import Space1Welcome from "./pages/internal-docs/Space1Welcome";
import Space1AxiomModel from "./pages/internal-docs/Space1AxiomModel";
import Space1FindYourRole from "./pages/internal-docs/Space1FindYourRole";
import Space1OwnershipFlows from "./pages/internal-docs/Space1OwnershipFlows";
import Space2CodeOfConduct from "./pages/internal-docs/Space2CodeOfConduct";
import Space2Communication from "./pages/internal-docs/Space2Communication";
import Space2MeetingCadence from "./pages/internal-docs/Space2MeetingCadence";
import Space2BrandVoice from "./pages/internal-docs/Space2BrandVoice";
import Space2TechStack from "./pages/internal-docs/Space2TechStack";
import Space3FoundationGovernance from "./pages/internal-docs/Space3FoundationGovernance";
import Space3OpenSourceProtocol from "./pages/internal-docs/Space3OpenSourceProtocol";
import Space3CommunityPrograms from "./pages/internal-docs/Space3CommunityPrograms";
import Space4ProductOps from "./pages/internal-docs/Space4ProductOps";
import Space4CorpBlueprints from "./pages/internal-docs/Space4CorpBlueprints";
import Space4ClientOps from "./pages/internal-docs/Space4ClientOps";
import Space4PlatformStrategy from "./pages/internal-docs/Space4PlatformStrategy";
import Space5Onboarding from "./pages/internal-docs/Space5Onboarding";
import Space5Finance from "./pages/internal-docs/Space5Finance";
// Staff/Candidate pages moved to staff.aethex.tech (aethex-staff app)
import DeveloperDashboard from "./pages/dev-platform/DeveloperDashboard";
import ApiReference from "./pages/dev-platform/ApiReference";
import QuickStart from "./pages/dev-platform/QuickStart";
import Templates from "./pages/dev-platform/Templates";
import TemplateDetail from "./pages/dev-platform/TemplateDetail";
import Marketplace from "./pages/dev-platform/Marketplace";
import MarketplaceItemDetail from "./pages/dev-platform/MarketplaceItemDetail";
import CodeExamples from "./pages/dev-platform/CodeExamples";
import ExampleDetail from "./pages/dev-platform/ExampleDetail";
import DeveloperPlatform from "./pages/dev-platform/DeveloperPlatform";
const queryClient = new QueryClient();
const DiscordActivityWrapper = ({ children }: { children: React.ReactNode }) => {
const { isActivity } = useDiscordActivity();
if (isActivity) {
return ;
}
return <>{children}>;
};
const App = () => (
{/* Subdomain Passport (aethex.me and aethex.space) handles its own redirect if not a subdomain */}
} />
} />
} />
}
/>
{/* Labs Dashboard redirects to aethex.studio */}
}
/>
{/* GameForge Dashboard stays local on aethex.dev (Management Hub per Axiom Model) */}
}
/>
{/* Dev-Link dashboard redirects to Nexus dashboard */}
}
/>
{/* Hub routes → aethex.co */}
} />
} />
} />
} />
} />
} />
} />
} />
}
/>
} />
} />
} />
} />
}
/>
}
/>
} />
} />
} />
} />
} />
} />
}
/>
}
/>
} />
} />
}
/>
}
/>
}
/>
}
/>
}
/>
} />
} />
} />
}
/>
}
/>
}
/>
}
/>
}
/>
} />
} />
}
/>
{/* Creator Network routes */}
}
/>
}
/>
}
/>
}
/>
}
/>
{/* Service routes */}
}
/>
{/* Legacy redirects - consolidated into /corp */}
}
/>
}
/>
}
/>
} />
}
/>
} />
{/* Labs page with auto-redirect to aethex.studio (Skunkworks R&D) */}
} />
{/* GameForge Management routes stay local on aethex.dev (Axiom Model - Write/Control) */}
}
/>
}
/>
{/* GameForge public route with auto-redirect to aethex.foundation/gameforge (Axiom Model - Read-Only Showcase) */}
} />
{/* Foundation page with auto-redirect to aethex.foundation (Non-Profit Guardian - Axiom Model) */}
} />
{/* Corp routes → aethex.co */}
} />
} />
{/* Staff + Candidate routes → staff.aethex.tech */}
} />
} />
} />
} />
{/* Dev-Link routes - now redirect to Nexus Opportunities with ecosystem filter */}
} />
}
/>
{/* Client Hub routes → aethex.co */}
} />
{/* Nexus routes */}
} />
{/* Resource routes */}
}
>
} />
} />
}
/>
}
/>
}
/>
} />
} />
} />
} />
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
} />
} />
} />
} />
} />
{/* Ethos Guild Routes */}
}
/>
}
/>
}
/>
}
/>
} />
} />
} />
{/* Informational routes */}
} />
}
/>
} />
} />
} />
} />
} />
{/* Legacy /services redirect to /corp */}
}
/>
} />
{/* Legal routes */}
} />
} />
{/* Discord Activity route */}
} />
{/* Internal Docs Hub Routes */}
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
}
/>
{/* Developer Platform Routes */}
} />
}
/>
} />
} />
} />
} />
} />
} />
} />
} />
{/* Explicit 404 route for static hosting fallbacks */}
} />
{/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
} />
);
export default App;