Orderly Network: SDK Page Components
Pre-built, full-featured page components for building a complete DEX. These components handle responsive design (desktop/mobile), state management, and UI out of the box.
When to Use
- Building a complete DEX quickly Using pre-built, production-ready pages Implementing standard DEX pages (trading, portfolio, markets) Need responsive layouts out of the box
Prerequisites
- Orderly SDK packages installed (@orderly.network/trading, @orderly.network/portfolio, @orderly.network/markets) Providers configured (see orderly-sdk-dex-architecture) Router set up (React Router)
Overview
Component Package Description INLINECODE4 INLINECODE5 Full trading interface with chart, orderbook, positions INLINECODE6
@orderly.network/portfolio | Portfolio dashboard with assets, performance |
|
PositionsModule.PositionsPage |
@orderly.network/portfolio | Positions list with history, liquidations |
|
OrdersModule.OrdersPage |
@orderly.network/portfolio | Orders list (open, pending, filled) |
|
AssetsModule.AssetsPage |
@orderly.network/portfolio | Asset balances, deposit/withdraw |
|
HistoryModule.HistoryPage |
@orderly.network/portfolio | Trade history, funding, settlements |
|
MarketsHomePage |
@orderly.network/markets | Markets listing with stats |
|
LeaderboardPage |
@orderly.network/trading-leaderboard | Trading competition leaderboard |
|
TradingRewardsPage |
@orderly.network/trading-rewards | Rewards program page |
|
Dashboard |
@orderly.network/affiliate | Affiliate/referral dashboard |
1. TradingPage
The main trading interface with TradingView chart, orderbook, order entry, positions, and orders.
Import
CODEBLOCK0
Props
CODEBLOCK1
Usage Example
CODEBLOCK2
TradingView Setup
1. Download TradingView charting library from TradingView Place in INLINECODE24 Configure paths in INLINECODE25
2. Portfolio Pages
Portfolio is organized into modules, each containing a complete page component.
Import
CODEBLOCK3
OverviewModule.OverviewPage
Portfolio overview with assets summary, performance chart, and recent activity.
CODEBLOCK4
Sections included:
- Asset summary widget Asset allocation chart Performance metrics Funding history Distribution history
PositionsModule.PositionsPage
Current and historical positions with liquidation history.
CODEBLOCK5
Tabs included:
- Positions (current open positions) Position History Liquidation History
OrdersModule.OrdersPage
Order management with open, pending, and filled orders.
CODEBLOCK6
Features:
- Open orders with cancel functionality Pending orders (TP/SL) Order history with download
AssetsModule.AssetsPage
Asset management with deposit/withdraw functionality.
CODEBLOCK7
Features:
- USDC balance display Deposit/withdraw buttons Cross-chain transfers Transaction history
HistoryModule.HistoryPage
Complete trade and transaction history.
CODEBLOCK8
Tabs included:
- Trade history Funding payments Settlements
Complete Portfolio Layout
CODEBLOCK9
3. MarketsHomePage
Markets overview with all trading pairs, stats, and funding rates.
Import
CODEBLOCK10
Props
CODEBLOCK11
Usage
CODEBLOCK12
Tabs included:
- Markets (all trading pairs with 24h stats) Funding (funding rate comparison across exchanges)
4. LeaderboardPage
Trading competition leaderboard with campaigns and rankings.
Import
CODEBLOCK13
Usage
CODEBLOCK14
Sections included:
- Active campaigns banner Rewards summary General leaderboard rankings Campaign-specific leaderboards Trading rules
5. Router Setup
Complete Router Example
CODEBLOCK15
6. Customizing Pages
Disable Features
CODEBLOCK16
Override Sections
CODEBLOCK17
Custom Styling
All components accept className prop and use Tailwind classes with oui- prefix:
CODEBLOCK18
CODEBLOCK19
7. Responsive Design
All page components automatically handle desktop and mobile layouts:
- Desktop : Full multi-panel layouts Mobile : Stacked layouts with bottom navigation, sheets for detail views
CODEBLOCK20
Installation
CODEBLOCK21
Best Practices
1. Lazy load pages for better initial bundle size Persist symbol in localStorage for user convenienceHandle symbol changes with URL updates for bookmarkable pagesConfigure TradingView with custom colors matching your themeProvide share backgrounds for PnL sharing featureUse Suspense boundaries for smooth loading states
Related Skills
- orderly-sdk-dex-architecture - Project structure and providers orderly-sdk-install-dependency - Installing packagesorderly-sdk-trading-workflows - Trading functionalityorderly-sdk-theming - Customizing appearance
Orderly Network:SDK 页面组件
预构建的全功能页面组件,用于构建完整的去中心化交易所。这些组件开箱即用地处理响应式设计(桌面端/移动端)、状态管理和用户界面。
使用场景
- 快速构建完整的去中心化交易所 使用预构建、生产就绪的页面 实现标准去中心化交易所页面(交易、投资组合、市场) 需要开箱即用的响应式布局
前置条件
- 已安装 Orderly SDK 包(@orderly.network/trading、@orderly.network/portfolio、@orderly.network/markets) 已配置提供者(参见 orderly-sdk-dex-architecture) 已设置路由(React Router)
概览
组件 包 描述 TradingPage @orderly.network/trading 完整的交易界面,包含图表、订单簿、持仓 OverviewModule.OverviewPage
@orderly.network/portfolio | 投资组合仪表盘,包含资产、业绩 |
| PositionsModule.PositionsPage | @orderly.network/portfolio | 持仓列表,包含历史记录、强平记录 |
| OrdersModule.OrdersPage | @orderly.network/portfolio | 订单列表(未成交、待处理、已成交) |
| AssetsModule.AssetsPage | @orderly.network/portfolio | 资产余额、充值/提现 |
| HistoryModule.HistoryPage | @orderly.network/portfolio | 交易历史、资金费用、结算 |
| MarketsHomePage | @orderly.network/markets | 市场列表,包含统计数据 |
| LeaderboardPage | @orderly.network/trading-leaderboard | 交易竞赛排行榜 |
| TradingRewardsPage | @orderly.network/trading-rewards | 奖励计划页面 |
| Dashboard | @orderly.network/affiliate | 联盟/推荐仪表盘 |
1. TradingPage
主要的交易界面,包含 TradingView 图表、订单簿、订单录入、持仓和订单。
导入
tsx
import { TradingPage } from @orderly.network/trading;
属性
tsx
interface TradingPageProps {
// 必需:交易对(例如 PERPETH USDC)
symbol: string;
// 用户更改交易对时的回调
onSymbolChange?: (symbol: API.Symbol) => void;
// TradingView 图表配置
tradingViewConfig: {
scriptSRC?: string; // TradingView 库路径
librarypath: string; // charting library 文件夹路径
customCssUrl?: string; // 图表的自定义 CSS
colorConfig?: {
chartBG?: string;
upColor?: string;
downColor?: string;
pnlUpColor?: string;
pnlDownColor?: string;
};
};
// 盈亏分享配置
sharePnLConfig?: {
backgroundImages?: string[]; // 分享卡的背景图片
color?: string;
profitColor?: string;
lossColor?: string;
brandColor?: string;
};
// 禁用特定功能
disableFeatures?: TradingFeatures[];
// 使用自定义组件覆盖特定区域
overrideFeatures?: Record;
}
enum TradingFeatures {
Sider = sider,
TopNavBar = topNavBar,
Footer = footer,
Header = header,
Kline = kline,
OrderBook = orderBook,
TradeHistory = tradeHistory,
Positions = positions,
Orders = orders,
}
使用示例
tsx
import { useCallback, useState } from react;
import { useNavigate, useParams } from react-router-dom;
import { TradingPage } from @orderly.network/trading;
import { API } from @orderly.network/types;
export default function TradingRoute() {
const { symbol: paramSymbol } = useParams();
const [symbol, setSymbol] = useState(paramSymbol || PERPETH USDC);
const navigate = useNavigate();
const onSymbolChange = useCallback(
(data: API.Symbol) => {
setSymbol(data.symbol);
navigate(/perp/${data.symbol});
},
[navigate]
);
return (
symbol={symbol}
onSymbolChange={onSymbolChange}
tradingViewConfig={{
scriptSRC: /tradingview/chartinglibrary/charting library.js,
librarypath: /tradingview/charting library/,
}}
sharePnLConfig={{
backgroundImages: [/pnl-bg-1.png, /pnl-bg-2.png],
}}
/>
);
}
TradingView 设置
1. 从 TradingView 下载 charting library 放置在 public/tradingview/charting_library/ 目录下 在 tradingViewConfig 中配置路径
2. 投资组合页面
投资组合按模块组织,每个模块包含一个完整的页面组件。
导入
tsx
import {
OverviewModule,
PositionsModule,
OrdersModule,
AssetsModule,
HistoryModule,
} from @orderly.network/portfolio;
OverviewModule.OverviewPage
投资组合概览,包含资产摘要、业绩图表和近期活动。
tsx
interface OverviewPageProps {
hideAffiliateCard?: boolean; // 隐藏联盟推广卡片
hideTraderCard?: boolean; // 隐藏交易者统计卡片
}
// 使用
import { OverviewModule } from @orderly.network/portfolio;
function PortfolioOverview() {
return ;
}
包含的区域:
- 资产摘要小部件 资产配置图表 业绩指标 资金费用历史 分红历史
PositionsModule.PositionsPage
当前和历史持仓,包含强平历史。
tsx
import { PositionsModule } from @orderly.network/portfolio;
function PositionsRoute() {
return ;
}
包含的标签页:
OrdersModule.OrdersPage
订单管理,包含未成交、待处理和已成交订单。
tsx
interface OrdersPageProps {
sharePnLConfig?: SharePnLConfig; // 用于分享已平仓盈亏
}
import { OrdersModule } from @orderly.network/portfolio;
function OrdersRoute() {
return (
sharePnLConfig={{
backgroundImages: [/pnl-bg-1.png],
}}
/>
);
}
功能:
- 未成交订单,支持取消 待处理订单(止盈/止损) 订单历史,支持下载
AssetsModule.AssetsPage
资产管理,包含充值/提现功能。
tsx
import { AssetsModule } from @orderly.network/portfolio;
function AssetsRoute() {
return ;
}
功能:
- USDC 余额显示 充值/提现按钮 跨链转账 交易历史
HistoryModule.HistoryPage
完整的交易和转账历史。
tsx
import { HistoryModule } from @orderly.network/portfolio;
function HistoryRoute() {
return ;
}
包含的标签页:
完整的投资组合布局
tsx
import { Outlet, NavLink } from react-router-dom;
import {
OverviewModule,
PositionsModule,
OrdersModule,
AssetsModule,
HistoryModule,
} from @orderly.network/portfolio;
// 带导航的投资组合布局
function PortfolioLayout() {
return (
概览
持仓
订单
资产
历史
);
}
// 路由配置
const portfolioRoutes = [
{
path: portfolio,
element: ,
children