Pages & Routes
Each page in the Rugdrome frontend is a Next.js 13 App Router route. Routes are organized under frontend/src/app/.
Route Structure
Every route typically contains:
layout.tsx— Route-level metadata and shared layout.page.tsx— The main page component.
Page Descriptions
| Route | Page | Description |
|---|---|---|
/ | page.tsx | Landing page with protocol overview and JSON-LD structured data. |
/swap | page.tsx | Token swap interface with quote and slippage controls. |
/liquidity | page.tsx | Add, remove, and zap liquidity into Rugdrome pairs. |
/vote | page.tsx | Gauge voting and bribe claiming. |
/vest | page.tsx | RUGD locking and veNFT management. |
/rewards | page.tsx | Gauge rewards and bribe collection. |
/bribe | page.tsx | Add external rewards to gauges. |
/whitelist | page.tsx | Manage token whitelist entries. |
/faucet | page.tsx | Testnet token faucet. |
/legal | page.tsx | Risk and legal disclosures. |
Metadata
Each layout.tsx exports a Metadata object with:
title— Page title shown in the browser tab.description— Short description for search engines and social cards.openGraph— Open Graph image, title, and description.twitter— Twitter card metadata.alternates.canonical— Canonical URL pointing tohttps://rugdrome.com/<route>.
Root Layout
frontend/src/app/layout.tsx provides the global layout, including:
- Font loading (Inter, Druk, Monument Extended)
- wagmi/RainbowKit provider
- Theme and metadata configuration
- JSON-LD WebSite and Organization structured data
Navigation
The main navigation is defined in frontend/src/components/layout/Header.tsx and links to the core routes: Swap, Liquidity, Vote, Vest, Rewards, Bribe, and Whitelist.