Update routing and URL handling for opportunities and dev-link
Consolidate dev-link routes to redirect to opportunities with an ecosystem filter, and update URL parameter handling in OpportunitiesHub.tsx to preserve existing query parameters. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 05574cd0-d046-4714-966b-aa44b58b4ce8 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/aPpJgbb Replit-Helium-Checkpoint-Created: true
This commit is contained in:
parent
ee1e052094
commit
0c45a4130c
3 changed files with 27 additions and 9 deletions
|
|
@ -503,7 +503,7 @@ const App = () => (
|
|||
{/* Dev-Link routes - now redirect to Nexus Opportunities with ecosystem filter */}
|
||||
<Route path="/dev-link" element={<Navigate to="/opportunities?ecosystem=roblox" replace />} />
|
||||
<Route
|
||||
path="/dev-link/waitlist"
|
||||
path="/dev-link/*"
|
||||
element={<Navigate to="/opportunities?ecosystem=roblox" replace />}
|
||||
/>
|
||||
|
||||
|
|
|
|||
|
|
@ -48,13 +48,30 @@ export default function OpportunitiesHub() {
|
|||
setOpportunities(result.data);
|
||||
setTotalPages(result.pagination.pages);
|
||||
|
||||
// Update URL params
|
||||
const params = new URLSearchParams();
|
||||
if (selectedArm) params.set("arm", selectedArm);
|
||||
if (selectedEcosystem && selectedEcosystem !== "all") params.set("ecosystem", selectedEcosystem);
|
||||
if (search) params.set("search", search);
|
||||
if (page > 1) params.set("page", String(page));
|
||||
setSearchParams(params);
|
||||
// Update URL params (preserve other params like UTM tracking)
|
||||
const params = new URLSearchParams(searchParams);
|
||||
// Update known filter params
|
||||
if (selectedArm) {
|
||||
params.set("arm", selectedArm);
|
||||
} else {
|
||||
params.delete("arm");
|
||||
}
|
||||
if (selectedEcosystem && selectedEcosystem !== "all") {
|
||||
params.set("ecosystem", selectedEcosystem);
|
||||
} else {
|
||||
params.delete("ecosystem");
|
||||
}
|
||||
if (search) {
|
||||
params.set("search", search);
|
||||
} else {
|
||||
params.delete("search");
|
||||
}
|
||||
if (page > 1) {
|
||||
params.set("page", String(page));
|
||||
} else {
|
||||
params.delete("page");
|
||||
}
|
||||
setSearchParams(params, { replace: true });
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch opportunities:", error);
|
||||
setOpportunities([]);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Do not make changes to the file `server/index.ts`.
|
|||
## System Architecture
|
||||
AeThex is built as a full-stack web application utilizing React 18 with TypeScript for the frontend, Vite 6 as the build tool, and Express.js for the backend. Supabase (PostgreSQL) serves as the primary database. Styling is handled with Tailwind CSS, and UI components leverage Radix UI. TanStack Query is used for state management, and React Router DOM for routing.
|
||||
|
||||
The application features a multi-realm system including Nexus, GameForge, Foundation, Labs, Corp, Staff, and Dev-Link (7 total), each with specific functionalities. Key capabilities include community features (feed, posts, comments), a Creator Network with profile passports and achievements, and a Nexus Marketplace for opportunities and contracts.
|
||||
The application features a multi-realm system including Nexus, GameForge, Foundation, Labs, Corp, and Staff (6 realms), each with specific functionalities. Dev-Link has been merged into Nexus as an ecosystem filter. Key capabilities include community features (feed, posts, comments), a Creator Network with profile passports and achievements, and a Nexus Marketplace for opportunities and contracts.
|
||||
|
||||
### Discord Integration Architecture
|
||||
Discord functionality is split between two deployments:
|
||||
|
|
@ -70,6 +70,7 @@ This ensures the Foundation's user-facing URLs display `aethex.foundation` in th
|
|||
- **Landing Page Styling Alignment**: Updated hero CTAs and featured realm button to use shared Button component with asChild prop for consistent styling and ripple effects. Fixed Button component to support ripple animation for both native buttons and asChild elements. Removed unused backgroundGradient variable. Custom landing page cards (featured-card, stats-strip, hero-intro) intentionally use advanced CSS effects while still leveraging design tokens (--aethex-*, --foreground, --background, --muted, etc.).
|
||||
- **Get Started Page Enhancement**: Comprehensive onboarding page (`/get-started`) with: Stats/Social Proof section (animated counters: 12k+ builders, 500+ projects, 7 realms, 10 AI agents), Video Demo placeholder, 3-step guided signup flow, Platform Features section (6 cards: XP & Leveling, AI Agents, Creator Passports, Community, Badges, Security), Realms Overview (all 7 realms with descriptions and feature tags), Testimonials section (4 community quotes), and FAQ section (6 expandable questions). AnimatedCounter uses proper useRef cleanup for requestAnimationFrame.
|
||||
- **Axiom Model Code Cleanup**: Removed orphaned page files in `foundation/`, `gameforge/`, and `labs/` folders (20+ files) that were dead code since all routes redirect to external domains. Cleaned up unused imports from App.tsx. Routes continue to redirect: `/foundation/*` → aethex.foundation, `/gameforge/*` → aethex.foundation/gameforge, `/labs/*` → aethex.studio.
|
||||
- **Dev-Link Merged into Nexus**: Dev-Link realm eliminated as standalone. Roblox and other platform communities now accessible via ecosystem filter tabs in Nexus Opportunities Hub. Filter tabs: [All] [Roblox] [Unity] [Web] [Audio] [Design]. Routes `/dev-link/*` redirect to `/opportunities?ecosystem=roblox`. Deleted 8 Dev-Link page files and updated App.tsx routes.
|
||||
|
||||
## External Dependencies
|
||||
- **Supabase**: Used for database (PostgreSQL), authentication, and real-time features.
|
||||
|
|
|
|||
Loading…
Reference in a new issue