@agg-building/ ui (英语)
预建的 React 组件库 恶作剧 预测市场 聚会. 基于 Tailwind 的风格,主题 CSS 符号, 以及组合成原始的组件, 事件表面、交易流量、完整页和模式.
看到每个组件都生活在 AGG 故事书。 。 。 .
这是什么
@agg-build/ui 船UI 你必须自己建造: 事件卡、市场细节页、订单
原始图、订货入帐表、押金/提取/登船模式和有意见的页
排布图。 组件建在 @agg-build/hooks
并期望一个 <AggProvider> 在树上 Styling 是 Tailwind v4 + CSS 定制
属性,这样您就可以从自己的样式表中标出所有主题.
此套件有意包含 没有钱包代码和自动适配器 模块
连接/ 签名用户界面 居住于 @agg-build/auth继续
@agg-build/ui 免费 wagmi, (中文(简体) ), @solana/*,和相关同行.
何时使用此软件包
- 你想要生产准备的AGG 交易UI 没有线从头到尾的每一个视图.
- 你计划把AGG全程带回家 / 活动 / 市场 / 外观 在你的应用程序里.
- 您想要符合主题原始( 按钮、 卡片、 Modal、 Chart、 Tooltip等) 其余的AGG表面.
如果您只需要基本逻辑, 请安装 @agg-build/sdk
财务报告和审定财务报表 @agg-build/hooks 建立自己的UI.
安装
npm install @agg-build/sdk @agg-build/hooks @agg-build/ui liveline
liveline 是用来绘制图表的引擎 Chart 编号 : LineChart 并被宣布为对等者
依赖性.
快开始
import "@agg-build/ui/styles.css";
import { QueryClient, QueryClientProvider } from "@agg-build/hooks";
import { createAggClient } from "@agg-build/sdk";
import { AggProvider } from "@agg-build/ui";
import { HomePage } from "@agg-build/ui/pages";
const client = createAggClient({
baseUrl: "https://api.agg.market",
appId: "your-app-id",
wsUrl: "wss://ws.agg.market",
});
const queryClient = new QueryClient();
export default function App() {
return (
<QueryClientProvider client={queryClient}>
<AggProvider
client={client}
config={{
general: { locale: "en-US", theme: "dark" },
features: { enableAnimations: true, enableLiveUpdates: true, showFeesBreakdown: true },
}}
>
<HomePage withHeader />
</AggProvider>
</QueryClientProvider>
);
}
设定 config.features.enableEventDiscoveryUrlPersistence 改为 true 坚持初级
HomePage 章节 category,重复 subcategory, (中文(简体) ), venue,以及 sort 浏览器中的过滤器
历史 它默认被禁用, 并保存不相关的查询参数, 如 search。 。 。 .
样式
在您的应用程序入口处导入默认主题 :
import "@agg-build/ui/styles.css";
UI级 AggProvider 将AGG的土司表面加入到钩子供应商中. 还需要..
不变 client 螺旋桨和 QueryClientProvider 上所显祖相. 用 CSS 覆盖主题符号
变量 .agg-root 容器(自动应用) AggProvider:
.agg-root {
--agg-color-primary: #ed8200;
--agg-color-foreground: #1a1a1a;
--agg-radius-md: 8px;
--agg-font-family-sans: "Your Font", ui-sans-serif, system-ui, sans-serif;
}
您也可以设置 --agg-font-family-sans 打开 :root; 一个值 .agg-root 赢是因为是
距离AGG UI树更近.
与下个.js next/font,然后将其映射到
打开 AGG 令牌 .agg-root数字 :
import { Inter } from "next/font/google";
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
});
export default function App() {
return (
<div className={inter.variable}>
<QueryClientProvider client={queryClient}>
<AggProvider client={client}>
<AggApp />
</AggProvider>
</QueryClientProvider>
</div>
);
}
.agg-root {
--agg-font-family-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif;
}
如果您已经在您的应用程序中使用了 Tailwind v4 并且希望 AGG 预设与您的配置合并,
导入 @agg-build/ui/tailwind.css 而不是(或同时) styles.css。 。 。 .
树摇
从分组子路径导入以保持捆绑的窄度 :
// Preferred
import { Button, Card } from "@agg-build/ui/primitives";
import { HomePage, EventMarketPage } from "@agg-build/ui/pages";
import { DepositModal, OnboardingModal } from "@agg-build/ui/modals";
import { PlaceOrder } from "@agg-build/ui/trading";
// Wider than necessary
import { Button } from "@agg-build/ui";
使用完整页面
这个 HomePage 财务报告和审定财务报表 EventMarketPage 组件采用合作伙伴拥有的导航回调。 在那个
演示应用软件,我们把他们传送到Next.js router.push数字 :
"use client";
import { HomePage } from "@agg-build/ui/pages";
import { useRouter } from "next/navigation";
export function Home() {
const router = useRouter();
const getMarketHref = (event, market, outcome) =>
`/events/${event.id}?marketId=${market.id}&outcomeId=${outcome.id}`;
const getEventHref = (event) => `/events/${event.id}`;
return (
<HomePage
withHeader={false}
onEventClick={(event) => router.push(getEventHref(event))}
onMarketClick={(event, market, outcome) => router.push(getMarketHref(event, market, outcome))}
getEventHref={getEventHref}
getMarketHref={getMarketHref}
stickyOrderPanel={{ enabled: true, top: 80 }}
/>
);
}
构成部分
基础 - @agg-build/ui/primitives
| 构成部分 | 说明 |
|---|---|
AggErrorBoundary | 边界包装出错 |
AggLogo | AGG 单词标记 |
AutocompleteSelect | 带有同步结果的组合 |
Badge | 状态徽章 |
Button | 基础按钮原始 |
Card | 内容卡 |
Chart | 价格图(基于活线) |
CurrencyInput | 地方意识资金投入 |
Footer | 站点页脚 |
Header | 有搜索的站点头 |
Icon | AGG 图标集 |
InlineAlert | 错误/ 警告内置提醒 |
LoadingIcon | 旋转器 |
Modal | 对话框/模式 |
NumberValue | 格式化动画数字 |
RemoteImage | 带有加载/误入图像 |
Search | 搜索输入 |
Select | 下拉选择 |
Skeleton | 正在装入占位符 |
StateMessage | 空/ 错误状态显示 |
SwitchButton | 二进制切换切换 |
Tabs | 标签导航 |
Tooltip | Hover/ 焦点工具提示 |
Typography | 文本缩放原始 |
VenueLogo | 地点图标/ 标志 |
事件—— @agg-build/ui/events
| 构成部分 | 说明 |
|---|---|
EventList | 网格/预测市场事件清单 |
EventListItem | 单项事件行/牌 |
ItemDetails | 每个市场的细节块 |
MarketDetails | 完整市场细节视图 |
Orderbook | 顺序书深度视图 |
贸易 - @agg-build/ui/trading
| 构成部分 | 说明 |
|---|---|
PlaceOrder | 订单输入表(管理下执行) |
Settlement | 结算状况卡 |
SettlementDetails | 扩大定居点细节 |
TradingContext | 事件/市场/结果选择背景 |
页- @agg-build/ui/pages
| 构成部分 | 说明 |
|---|---|
HomePage | 带有标签、搜索、网格的完整主页 |
EventMarketPage | 全事件/市场细节页 |
UserProfilePage | 有标签的用户配置页面 |
LeaderboardPage | 按 P&L 或音量排列的贸易商领导板 |
潮汐计数器.. @agg-build/ui/modals
| 构成部分 | 说明 |
|---|---|
DepositModal | 存款流量(管理钱包+链) |
WithdrawModal | 撤销流量 |
OnboardingModal | 用户登入流量 |
ProfileModal | 配置文件编辑 + 链接账户 |
GeoBlockModal | 地理限制模式 |
GeoBlockBanner | 持续的地块旗帜 |
classNames 覆盖
大多数组件接受a classNames 复合道具使合作伙伴能够瞄准子元素:
<Modal.Header
title="Place order"
classNames={{
root: "custom-header",
title: "custom-title",
close: "custom-close-btn",
}}
/>
主要组件道具
HomePage
| Prop | 类型 | 说明 |
|---|---|---|
tabs | HomePageTab[] | 自定义标签 |
eventSectionItems | HomePageEventSectionItem[] | 自定义事件段配置 |
categoriesLimit | number | 要显示的分类标签的最大数量 |
allCategoryTabLabel | string | “ 全部” 分类标签标签 |
actions | ReactNode | 标题动作槽( 例如 ), <ConnectButton />(中文(简体) ) |
withHeader | boolean (默认) true(中文(简体) ) | 内置 Header 带有搜索+标识 |
onEventClick | (event) => void | 点击事件卡时调用 |
onMarketClick | (event, market, outcome) => void | 点击结果价格时调用 |
getEventHref | (event) => string | 提供 href 方便安全部门改革的链接 |
getMarketHref | (event, market, outcome) => string | 提供 href 市场联系 |
stickyOrderPanel | { enabled: boolean; top?: number } | 滚动时按下命令面板 |
classNames | HomePageClassNames | 样式覆盖 |
EventMarketPage
将整个事件页面显示为交易内容。 要求数 <AggProvider> 和用途
EventTradingContext 内部。 访问选择状态 useEventTradingContext() 从
@agg-build/hooks。 。 。 .
PlaceOrder
订入表. 内部渲染 EventMarketPage 或独立——需要活动
EventTradingContext 具有特定市场和结果。 与管理下的执行相结合
钩从 @agg-build/hooks。 。 。 .
入境点
| 条目 | 目的 |
|---|---|
@agg-build/ui | 根导出( 再导出每个子路径) |
@agg-build/ui/primitives | 按钮, Modal, Chart, Tooltip等. |
@agg-build/ui/events | EventList, (中文(简体) ), EventListItem, (中文(简体) ), MarketDetails, (中文(简体) ), Orderbook |
@agg-build/ui/trading | PlaceOrder, (中文(简体) ), Settlement,交易环境公用事业 |
@agg-build/ui/pages | HomePage, (中文(简体) ), EventMarketPage, (中文(简体) ), UserProfilePage |
@agg-build/ui/modals | 交存/退出/登上/备案/GeoBlock模式 |
@agg-build/ui/styles.css | 默认主题样式表( 在应用程序条目中导入一次) |
@agg-build/ui/tailwind.css | 如果你自己运行 Tailwind v4 , 尾风会预设 |
同伴依赖关系
@agg-build/sdk@agg-build/hooksreact^18.0.0或^19.0react-dom^18.0.0或^19.0liveline^0.0.7 — 绘图引擎Chart编号 :LineChart
不需要钱包包 。 钱包支持的 Auth 住在
@agg-build/auth。 。 。 .
链接
- 文 件 - 存档副本 https://docs.agg.market/ 互联网档案馆的存檔,存档日期2013-12-02
- 童话书—— https://storybook.agg.market/ 页面存档备份,存于互联网档案馆
- Demo app - 软件 https://demo.agg.market/ 页面存档备份,存于互联网档案馆
- 香草SDK - - 。
@agg-build/sdk - 反应钩-
@agg-build/hooks - 连接/ 登录 UX ——
@agg-build/auth
许可证
麻省理工学院