diff --git a/design/pencil-new.pen b/design/pencil-new.pen new file mode 100644 index 0000000..e3d3fcf --- /dev/null +++ b/design/pencil-new.pen @@ -0,0 +1,6493 @@ +{ + "version": "2.9", + "children": [ + { + "type": "frame", + "id": "UNTdC", + "x": 0, + "y": 0, + "name": "Profile Screen", + "clip": true, + "width": 402, + "height": 648, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "BOBWU", + "name": "Profile Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 14, + "padding": 20, + "children": [ + { + "type": "frame", + "id": "3TVwU", + "name": "topRow", + "width": "fill_container", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "rVyXV", + "name": "avatar", + "width": 56, + "height": 56, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "x8Bxm", + "name": "avatarText", + "fill": "$--text-inverse", + "content": "S", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "osI2G", + "name": "infoCol", + "width": "fill_container", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "O3OlM", + "name": "nameText", + "fill": "$--text-primary", + "content": "Sven", + "fontFamily": "Inter", + "fontSize": 20, + "fontWeight": "700" + }, + { + "type": "text", + "id": "0AEm2", + "name": "accText", + "fill": "$--text-secondary", + "content": "UID 7832 1290", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "text", + "id": "VLEgU", + "name": "tagText", + "fill": "$--primary", + "content": "VIP Trader", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "d2YFK", + "name": "editBtn", + "height": 34, + "fill": "$--bg-page", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "U02rS", + "name": "editBtnText", + "fill": "$--text-primary", + "content": "编辑", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "ZssmT", + "name": "Wallet Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "RCHGN", + "name": "walletHead", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "wTY51", + "name": "walletTitle", + "fill": "$--text-primary", + "content": "钱包总览", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "text", + "id": "md1nn", + "name": "walletLink", + "fill": "$--primary", + "content": "钱包详情 >", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "text", + "id": "W0860", + "name": "walletBal", + "fill": "$--text-primary", + "content": "$8,436.20", + "fontFamily": "Inter", + "fontSize": 28, + "fontWeight": "700" + }, + { + "type": "text", + "id": "R282K", + "name": "walletSub", + "fill": "$--text-secondary", + "content": "可用余额 $6,920.00 冻结 $1,516.20", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "SVp5s", + "name": "walletActions", + "width": "fill_container", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "ToKUM", + "name": "wa1", + "width": "fill_container", + "height": 40, + "fill": "$--primary", + "cornerRadius": "$--radius-md", + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "KFK6T", + "name": "wa1t", + "fill": "$--text-inverse", + "content": "充币", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "jvcpC", + "name": "wa2", + "width": "fill_container", + "height": 40, + "fill": "$--bg-page", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "WruXv", + "name": "wa2t", + "fill": "$--text-primary", + "content": "提币", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "kcrHW", + "name": "Menu Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 8, + "padding": 16, + "children": [ + { + "type": "text", + "id": "BesoK", + "name": "menuTitle", + "fill": "$--text-primary", + "content": "账户与设置", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "92YtT", + "name": "item2", + "width": "fill_container", + "height": 44, + "padding": [ + 0, + 4 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "dunLA", + "name": "item2Text", + "fill": "$--text-primary", + "content": "钱包管理", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "text", + "id": "SaRwd", + "name": "item2Arrow", + "fill": "$--text-tertiary", + "content": ">", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "Ojnh5", + "name": "apiKeyItem", + "width": "fill_container", + "height": 44, + "padding": [ + 0, + 4 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "SyxpJ", + "name": "apiText", + "fill": "$--text-primary", + "content": "API KEY 管理", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "text", + "id": "VbMfg", + "name": "apiArrow", + "fill": "$--text-tertiary", + "content": ">", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "Yu2ks", + "name": "item3", + "width": "fill_container", + "height": 44, + "padding": [ + 0, + 4 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "3m7vk", + "name": "item3Text", + "fill": "$--text-primary", + "content": "语言", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "text", + "id": "neiQj", + "name": "item3Arrow", + "fill": "$--text-tertiary", + "content": ">", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "nhibh", + "name": "logoutBtn", + "width": "fill_container", + "height": 48, + "fill": "$--bg-error", + "cornerRadius": "$--radius-md", + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "KQcVG", + "name": "logoutText", + "fill": "$--error", + "content": "退出登录", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "tuLlv", + "x": 460, + "y": 0, + "name": "Wallet - Positions", + "clip": true, + "width": 402, + "height": 980, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "BlU7o", + "name": "Header", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "F47Lw", + "name": "htitle", + "fill": "$--text-primary", + "content": "钱包", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "WDWNK", + "x": 294, + "y": 0.5, + "name": "hright", + "enabled": false, + "gap": 8, + "children": [ + { + "type": "frame", + "id": "2kARU", + "name": "scanBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "eOGiY", + "name": "scanTxt", + "fill": "$--text-primary", + "content": "扫", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "DK7Vi", + "name": "notiBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "4XuT7", + "name": "notiTxt", + "fill": "$--text-primary", + "content": "铃", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "ZNP17", + "name": "Asset Summary", + "width": "fill_container", + "fill": "$--primary", + "cornerRadius": "$--radius-lg", + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "text", + "id": "UzAoY", + "name": "assetLabel", + "fill": "$--text-inverse", + "content": "Portfolio", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "text", + "id": "cX6kh", + "name": "assetValue", + "fill": "$--text-inverse", + "content": "128,450.36", + "fontFamily": "Inter", + "fontSize": 32, + "fontWeight": "700" + }, + { + "type": "text", + "id": "DmmK2", + "x": 16, + "y": 94, + "name": "assetPnl", + "enabled": false, + "fill": "$--text-inverse", + "content": "今日 +2,140.52 (+1.69%)", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "ynhRL", + "x": 16, + "y": 274, + "name": "Profit Loss Card", + "enabled": false, + "width": "fill_container(370)", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "2NOvT", + "name": "plHead", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "xrmdH", + "name": "plTitle", + "fill": "$--text-primary", + "content": "Profit/Loss", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "sxxkp", + "name": "plTabs", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "jR6C9", + "name": "chip1", + "height": 24, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "OF3gO", + "name": "chip1t", + "fill": "$--text-inverse", + "content": "1D", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "itI0r", + "name": "chip2", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "md4rk", + "name": "chip2t", + "fill": "$--text-secondary", + "content": "1W", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "6iVyF", + "name": "chip3", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "q80rz", + "name": "chip3t", + "fill": "$--text-secondary", + "content": "ALL", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "yRUPS", + "name": "plValue", + "fill": "$--text-primary", + "content": "$2,840.20", + "fontFamily": "Inter", + "fontSize": 28, + "fontWeight": "700" + }, + { + "type": "text", + "id": "AmvJp", + "name": "plTime", + "fill": "$--text-secondary", + "content": "All Time", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "mvYeH", + "name": "plChart", + "width": "fill_container", + "height": 54, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm" + } + ] + }, + { + "type": "frame", + "id": "IzF4u", + "name": "Quick Wallet Actions", + "width": "fill_container", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "ZlLCi", + "name": "act1", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "HcqDU", + "name": "act1t", + "fill": "$--text-primary", + "content": "充币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "Yrov8", + "name": "act2", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "hHqLv", + "name": "act2t", + "fill": "$--text-primary", + "content": "提币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "riVTI", + "x": 253.33333333333334, + "y": 0, + "name": "act3", + "enabled": false, + "width": "fill_container(116.66666666666667)", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "zHUFH", + "name": "act3t", + "fill": "$--text-primary", + "content": "授权", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "K2VHj", + "name": "Settlement Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 12, + 14 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "2vvCn", + "name": "settleText", + "fill": "$--text-primary", + "content": "You won $325.00 +2", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "dNHLr", + "name": "claimBtn", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "As3kb", + "name": "claimTxt", + "fill": "$--text-inverse", + "content": "Claim", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "58R0q", + "name": "Wallet Section", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "e78jx", + "name": "tabs", + "width": "fill_container", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "KWiAJ", + "name": "tab1", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "BJCJW", + "name": "tab1t", + "fill": "$--text-inverse", + "content": "Positions", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "Ga0FC", + "name": "tab2", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "L0oMi", + "name": "tab2t", + "fill": "$--text-secondary", + "content": "Orders", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "bYZU5", + "name": "tab3", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "jFdTc", + "name": "tab3t", + "fill": "$--text-secondary", + "content": "History", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "s5j1B", + "name": "tab4", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "J0YfM", + "name": "tab4t", + "fill": "$--text-secondary", + "content": "Withdrawals", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "pqCUX", + "name": "positionsList", + "width": "fill_container", + "cornerRadius": 12, + "layout": "vertical", + "gap": 12, + "children": [ + { + "type": "frame", + "id": "m7ydq", + "name": "posCard1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "nMXqK", + "name": "card1Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "rUhtx", + "name": "card1Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "7sLeJ", + "name": "card1Icon", + "width": 44, + "height": 44, + "fill": "$--primary", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "Bfcuf", + "name": "card1IconT", + "fill": "$--text-inverse", + "content": "F", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "XW3gc", + "name": "card1TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "3KGNF", + "name": "card1Title", + "fill": "$--text-primary", + "content": "Fed Rate Cut in Sep?", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "KF3tk", + "name": "card1Outcome", + "height": 20, + "fill": "#DCFCE7", + "cornerRadius": 999, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "TGr19", + "name": "card1OutcomeT", + "fill": "#16A34A", + "content": "YES", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "700" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "l7hNs", + "name": "card1Right", + "layout": "vertical", + "gap": 2, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "qKohx", + "name": "card1Value", + "fill": "$--text-primary", + "content": "$1,240", + "fontFamily": "Inter", + "fontSize": 20, + "fontWeight": "700" + }, + { + "type": "text", + "id": "wSZJg", + "name": "card1Pnl", + "fill": "$--primary", + "content": "▲ +2.3%", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "51dd7", + "name": "card1Stats", + "width": "fill_container", + "padding": [ + 8, + 0, + 0, + 0 + ], + "children": [ + { + "type": "frame", + "id": "q2FuH", + "name": "card1Stat1", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "u13zk", + "name": "card1Stat1L", + "fill": "$--text-tertiary", + "content": "单量", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "UXQQC", + "name": "card1Stat1V", + "fill": "$--text-primary", + "content": "420", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "yZ6p5", + "name": "card1Stat2", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "aFmQn", + "name": "card1Stat2L", + "fill": "$--text-tertiary", + "content": "买入均价", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "DO2Bx", + "name": "card1Stat2V", + "fill": "$--text-primary", + "content": "0.61", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "C9fk0", + "name": "card1Stat3", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "LVeIK", + "name": "card1Stat3L", + "fill": "$--text-tertiary", + "content": "当前价格", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "EwagB", + "name": "card1Stat3V", + "fill": "$--primary", + "content": "0.68", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "RCqvR", + "name": "posCard2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "jNI52", + "name": "card2Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "5TsN3", + "name": "card2Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "saAkF", + "name": "card2Icon", + "width": 44, + "height": 44, + "fill": "$--bg-dark", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "UQPuU", + "name": "card2IconT", + "fill": "$--text-inverse", + "content": "B", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "1NAKc", + "name": "card2TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "MAVR8", + "name": "card2Title", + "fill": "$--text-primary", + "content": "BTC > $80k this year", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "JCu9P", + "name": "card2Outcome", + "height": 20, + "fill": "#FEE2E2", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--border-color" + }, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "PjNp9", + "name": "card2OutcomeT", + "fill": "#DC2626", + "content": "NO", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "700" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "SrWTu", + "name": "card2Right", + "layout": "vertical", + "gap": 2, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "LmtUt", + "name": "card2Value", + "fill": "$--text-primary", + "content": "$860", + "fontFamily": "Inter", + "fontSize": 20, + "fontWeight": "700" + }, + { + "type": "text", + "id": "aLPGT", + "name": "card2Pnl", + "fill": "$--text-secondary", + "content": "▼ -1.1%", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "1v0YR", + "name": "card2Stats", + "width": "fill_container", + "padding": [ + 8, + 0, + 0, + 0 + ], + "children": [ + { + "type": "frame", + "id": "jSxeG", + "name": "card2Stat1", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "yIGid", + "name": "card2Stat1L", + "fill": "$--text-tertiary", + "content": "单量", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "c0pBt", + "name": "card2Stat1V", + "fill": "$--text-primary", + "content": "950", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "teAyZ", + "name": "card2Stat2", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "2KPMI", + "name": "card2Stat2L", + "fill": "$--text-tertiary", + "content": "买入均价", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "sgRDb", + "name": "card2Stat2V", + "fill": "$--text-primary", + "content": "0.44", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "d2nyF", + "name": "card2Stat3", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "JrNpY", + "name": "card2Stat3L", + "fill": "$--text-tertiary", + "content": "当前价格", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "h69wf", + "name": "card2Stat3V", + "fill": "$--text-secondary", + "content": "0.41", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "KRKZv", + "x": 942, + "y": 0, + "name": "Wallet - Orders", + "clip": true, + "width": 402, + "height": 980, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "KQfrc", + "name": "Header", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "gn2fv", + "name": "htitle", + "fill": "$--text-primary", + "content": "钱包", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "9a02a", + "x": 294, + "y": 0.5, + "name": "hright", + "enabled": false, + "gap": 8, + "children": [ + { + "type": "frame", + "id": "Q3moa", + "name": "scanBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "e63RB", + "name": "scanTxt", + "fill": "$--text-primary", + "content": "扫", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "JxwRt", + "name": "notiBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "fwsZY", + "name": "notiTxt", + "fill": "$--text-primary", + "content": "铃", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "W8TYW", + "name": "Asset Summary", + "width": "fill_container", + "fill": "$--primary", + "cornerRadius": "$--radius-lg", + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "text", + "id": "GSUXk", + "name": "assetLabel", + "fill": "$--text-inverse", + "content": "Portfolio", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "text", + "id": "iLTr6", + "name": "assetValue", + "fill": "$--text-inverse", + "content": "128,450.36", + "fontFamily": "Inter", + "fontSize": 32, + "fontWeight": "700" + }, + { + "type": "text", + "id": "POend", + "x": 16, + "y": 94, + "name": "assetPnl", + "enabled": false, + "fill": "$--text-inverse", + "content": "今日 +2,140.52 (+1.69%)", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "WuS50", + "x": 16, + "y": 274, + "name": "Profit Loss Card", + "enabled": false, + "width": "fill_container(370)", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "5HjUY", + "name": "plHead", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "jlIse", + "name": "plTitle", + "fill": "$--text-primary", + "content": "Profit/Loss", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "cPL1I", + "name": "plTabs", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "0iXhk", + "name": "chip1", + "height": 24, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "WVuFB", + "name": "chip1t", + "fill": "$--text-inverse", + "content": "1D", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "CNOVM", + "name": "chip2", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ltw1y", + "name": "chip2t", + "fill": "$--text-secondary", + "content": "1W", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "POk0p", + "name": "chip3", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "zqDWb", + "name": "chip3t", + "fill": "$--text-secondary", + "content": "ALL", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "wlqgF", + "name": "plValue", + "fill": "$--text-primary", + "content": "$2,840.20", + "fontFamily": "Inter", + "fontSize": 28, + "fontWeight": "700" + }, + { + "type": "text", + "id": "fA15B", + "name": "plTime", + "fill": "$--text-secondary", + "content": "All Time", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "q3Myc", + "name": "plChart", + "width": "fill_container", + "height": 54, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm" + } + ] + }, + { + "type": "frame", + "id": "4kL4y", + "name": "Quick Wallet Actions", + "width": "fill_container", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "rIIYQ", + "name": "act1", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "mQEbi", + "name": "act1t", + "fill": "$--text-primary", + "content": "充币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "uLr1B", + "name": "act2", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "IOQ97", + "name": "act2t", + "fill": "$--text-primary", + "content": "提币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "SBjgu", + "x": 253.33333333333334, + "y": 0, + "name": "act3", + "enabled": false, + "width": "fill_container(116.66666666666667)", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "N3fvS", + "name": "act3t", + "fill": "$--text-primary", + "content": "授权", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "Qpabz", + "name": "Settlement Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 12, + 14 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "BDdVO", + "name": "settleText", + "fill": "$--text-primary", + "content": "You won $325.00 +2", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "UdY8V", + "name": "claimBtn", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "NORDP", + "name": "claimTxt", + "fill": "$--text-inverse", + "content": "Claim", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "RNeQa", + "name": "Wallet Section", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "8i1Ui", + "name": "tabs", + "width": "fill_container", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "FoMTa", + "name": "tab1", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "KQp9o", + "name": "tab1t", + "fill": "$--text-secondary", + "content": "Positions", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "xaJkw", + "name": "tab2", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--primary" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "yjLAX", + "name": "tab2t", + "fill": "$--text-inverse", + "content": "Orders", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "CAy7z", + "name": "tab3", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "UAy1U", + "name": "tab3t", + "fill": "$--text-secondary", + "content": "History", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "uNVRV", + "name": "tab4", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "FsjWR", + "name": "tab4t", + "fill": "$--text-secondary", + "content": "Withdrawals", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "qYGya", + "name": "ordersList", + "width": "fill_container", + "cornerRadius": "$--radius-md", + "layout": "vertical", + "gap": 12, + "children": [ + { + "type": "frame", + "id": "MPUAP", + "name": "orderCard1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "S95vU", + "name": "o1Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "nxpKd", + "name": "o1Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "klp7U", + "name": "o1Icon", + "width": 44, + "height": 44, + "fill": "$--primary", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "qXlQI", + "name": "o1IconT", + "fill": "$--text-inverse", + "content": "U", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "BTzTH", + "name": "o1TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "qIdRp", + "name": "o1Title", + "fill": "$--text-primary", + "content": "US Election Winner", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "T1D9M", + "name": "o1Tags", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "lwPpm", + "name": "o1BuyTag", + "height": 22, + "fill": { + "type": "color", + "color": "#DBEAFE", + "enabled": false + }, + "cornerRadius": 6, + "stroke": { + "align": "inside", + "thickness": 1.5, + "fill": "#2563EB" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "pmyHl", + "name": "o1BuyTagT", + "fill": "#2563EB", + "content": "BUY", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "DahYs", + "name": "o1YesTag", + "height": 20, + "fill": "#DCFCE7", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--border-color" + }, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "2RmnY", + "name": "o1YesTagT", + "fill": "#16A34A", + "content": "YES", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "rZFfo", + "name": "o1Cancel", + "width": 32, + "height": 32, + "fill": "$--bg-page", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "9HDMN", + "name": "cancelIcon1", + "width": 20, + "height": 20, + "iconFontName": "x", + "iconFontFamily": "lucide", + "fill": "$--text-secondary" + } + ] + } + ] + }, + { + "type": "frame", + "id": "cHMBI", + "name": "o1Stats", + "width": "fill_container", + "padding": [ + 4, + 0 + ], + "children": [ + { + "type": "frame", + "id": "H07k4", + "name": "o1Stat1", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "tA0UF", + "name": "o1Stat1L", + "fill": "$--text-tertiary", + "content": "挂单价格", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "1141o", + "name": "o1Stat1V", + "fill": "$--text-primary", + "content": "0.62", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "ujzni", + "name": "o1Stat2", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "x3Frk", + "name": "o1Stat2L", + "fill": "$--text-tertiary", + "content": "成单/挂单", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "mbzAL", + "name": "o1Stat2V", + "fill": "$--text-primary", + "content": "180/400", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "tqx1t", + "name": "o1Stat3", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "3lDGE", + "name": "o1Stat3L", + "fill": "$--text-tertiary", + "content": "订单价值", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "oIBHZ", + "name": "o1Stat3V", + "fill": "$--primary", + "content": "$248", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "s0796", + "name": "orderCard2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "jV1wg", + "name": "o2Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "H4GDg", + "name": "o2Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "xUgax", + "name": "o2Icon", + "width": 44, + "height": 44, + "fill": "$--bg-dark", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ACo83", + "name": "o2IconT", + "fill": "$--text-inverse", + "content": "B", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "JfIXD", + "name": "o2TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "PmIrX", + "name": "o2Title", + "fill": "$--text-primary", + "content": "BTC > $85k", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "lNAGd", + "name": "o2Tags", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "YTGN9", + "name": "o2BuyTag", + "height": 22, + "fill": { + "type": "color", + "color": "$--bg-page", + "enabled": false + }, + "cornerRadius": 6, + "stroke": { + "align": "inside", + "thickness": 1.5, + "fill": "#DC2626" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "DjAv6", + "name": "o2BuyTagT", + "fill": "#DC2626", + "content": "SELL", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "FxbbH", + "name": "o2NoTag", + "height": 20, + "fill": "#FEE2E2", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--border-color" + }, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "WALMt", + "name": "o2NoTagT", + "fill": "#DC2626", + "content": "NO", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "m3hGr", + "name": "o2Cancel", + "width": 32, + "height": 32, + "fill": "$--bg-page", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "icon_font", + "id": "fhQS9", + "name": "cancelIcon2", + "width": 20, + "height": 20, + "iconFontName": "x", + "iconFontFamily": "lucide", + "fill": "$--text-secondary" + } + ] + } + ] + }, + { + "type": "frame", + "id": "WJJQg", + "name": "o2Stats", + "width": "fill_container", + "padding": [ + 4, + 0 + ], + "children": [ + { + "type": "frame", + "id": "khej1", + "name": "o2Stat1", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "YnI96", + "name": "o2Stat1L", + "fill": "$--text-tertiary", + "content": "挂单价格", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "5EeWB", + "name": "o2Stat1V", + "fill": "$--text-primary", + "content": "0.41", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "hqiTv", + "name": "o2Stat2", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "MxjWI", + "name": "o2Stat2L", + "fill": "$--text-tertiary", + "content": "成单/挂单", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "VUNis", + "name": "o2Stat2V", + "fill": "$--text-primary", + "content": "0/950", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "EVuLp", + "name": "o2Stat3", + "width": "fill_container", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "qLZ5e", + "name": "o2Stat3L", + "fill": "$--text-tertiary", + "content": "订单价值", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "Y6KMI", + "name": "o2Stat3V", + "fill": "$--text-secondary", + "content": "$390", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "aRC6m", + "x": 1424, + "y": 0, + "name": "Wallet - History", + "clip": true, + "width": 402, + "height": 1157, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "bbg7u", + "name": "Header", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "A2cO6", + "name": "htitle", + "fill": "$--text-primary", + "content": "钱包", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "RAczj", + "x": 294, + "y": 0.5, + "name": "hright", + "enabled": false, + "gap": 8, + "children": [ + { + "type": "frame", + "id": "F0rDC", + "name": "scanBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "FR4rL", + "name": "scanTxt", + "fill": "$--text-primary", + "content": "扫", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "WN9Rz", + "name": "notiBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "nHj1A", + "name": "notiTxt", + "fill": "$--text-primary", + "content": "铃", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "moW4U", + "name": "Asset Summary", + "width": "fill_container", + "fill": "$--primary", + "cornerRadius": "$--radius-lg", + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "text", + "id": "Bjo3f", + "name": "assetLabel", + "fill": "$--text-inverse", + "content": "Portfolio", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "text", + "id": "tWQTg", + "name": "assetValue", + "fill": "$--text-inverse", + "content": "128,450.36", + "fontFamily": "Inter", + "fontSize": 32, + "fontWeight": "700" + }, + { + "type": "text", + "id": "3xtAb", + "x": 16, + "y": 94, + "name": "assetPnl", + "enabled": false, + "fill": "$--text-inverse", + "content": "今日 +2,140.52 (+1.69%)", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "lPZpo", + "x": 16, + "y": 274, + "name": "Profit Loss Card", + "enabled": false, + "width": "fill_container(370)", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "btCny", + "name": "plHead", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "1B0Mr", + "name": "plTitle", + "fill": "$--text-primary", + "content": "Profit/Loss", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "uktgh", + "name": "plTabs", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "pKPxN", + "name": "chip1", + "height": 24, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "Tgeut", + "name": "chip1t", + "fill": "$--text-inverse", + "content": "1D", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "B2LGQ", + "name": "chip2", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "yB3gT", + "name": "chip2t", + "fill": "$--text-secondary", + "content": "1W", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "YBywh", + "name": "chip3", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "odKoq", + "name": "chip3t", + "fill": "$--text-secondary", + "content": "ALL", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "JN9EJ", + "name": "plValue", + "fill": "$--text-primary", + "content": "$2,840.20", + "fontFamily": "Inter", + "fontSize": 28, + "fontWeight": "700" + }, + { + "type": "text", + "id": "bwDXd", + "name": "plTime", + "fill": "$--text-secondary", + "content": "All Time", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "KqlRR", + "name": "plChart", + "width": "fill_container", + "height": 54, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm" + } + ] + }, + { + "type": "frame", + "id": "lBneU", + "name": "Quick Wallet Actions", + "width": "fill_container", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "CKU2S", + "name": "act1", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "NYZ8W", + "name": "act1t", + "fill": "$--text-primary", + "content": "充币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "HqPod", + "name": "act2", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "lmKSI", + "name": "act2t", + "fill": "$--text-primary", + "content": "提币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "2hqxH", + "x": 253.33333333333334, + "y": 0, + "name": "act3", + "enabled": false, + "width": "fill_container(116.66666666666667)", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "0VOiF", + "name": "act3t", + "fill": "$--text-primary", + "content": "授权", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "dPDcp", + "name": "Settlement Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 12, + 14 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "Xn73w", + "name": "settleText", + "fill": "$--text-primary", + "content": "You won $325.00 +2", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "Rjgyn", + "name": "claimBtn", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "omi17", + "name": "claimTxt", + "fill": "$--text-inverse", + "content": "Claim", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "ny6M5", + "name": "Wallet Section", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "5gA0v", + "name": "tabs", + "width": "fill_container", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "N76g8", + "name": "tab1", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "kEB4p", + "name": "tab1t", + "fill": "$--text-secondary", + "content": "Positions", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "TH0Uy", + "name": "tab2", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "tM22W", + "name": "tab2t", + "fill": "$--text-secondary", + "content": "Orders", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "1mBwS", + "name": "tab3", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--primary" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "IgNVA", + "name": "tab3t", + "fill": "$--text-inverse", + "content": "History", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "SxLXx", + "name": "tab4", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "dZQGy", + "name": "tab4t", + "fill": "$--text-secondary", + "content": "Withdrawals", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "uj365", + "name": "historyList", + "width": "fill_container", + "cornerRadius": "$--radius-md", + "layout": "vertical", + "gap": 12, + "children": [ + { + "type": "frame", + "id": "wHxvo", + "name": "tradeCard1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "1PIjR", + "name": "tc1Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "KpyJ7", + "name": "tc1Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "WDdwB", + "name": "tc1Icon", + "width": 44, + "height": 44, + "fill": "#DBEAFE", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "5qQsC", + "name": "tc1IconT", + "fill": "#2563EB", + "content": "F", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "BhjCp", + "name": "tc1TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "fLqIS", + "name": "tc1Title", + "fill": "$--text-primary", + "content": "Fed Rate Cut in Sep?", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "text", + "id": "U8IZA", + "name": "tc1Date", + "fill": "$--text-tertiary", + "content": "2024-01-15 14:30", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "text", + "id": "CJFIb", + "name": "tc1Amount", + "fill": "#16A34A", + "content": "+$124.00", + "fontFamily": "Inter", + "fontSize": 18, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "92v4A", + "name": "tc1Bottom", + "width": "fill_container", + "padding": [ + 8, + 0, + 0, + 0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "9xklQ", + "name": "tc1Tag", + "height": 22, + "cornerRadius": 6, + "stroke": { + "align": "inside", + "thickness": 1.5, + "fill": "#2563EB" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "0uQFs", + "name": "tc1TagT", + "fill": "#2563EB", + "content": "SELL", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + }, + { + "type": "text", + "id": "LQDtS", + "name": "tc1Meta", + "fill": "$--text-secondary", + "content": "价格: 0.68 单量: 180", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "jfWRv", + "name": "tradeCard2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "frame", + "id": "5Acwa", + "name": "tc2Top", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "L7wYb", + "name": "tc2Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "Sj208", + "name": "tc2Icon", + "width": 44, + "height": 44, + "fill": "#FEE2E2", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "VMFp5", + "name": "tc2IconT", + "fill": "#DC2626", + "content": "E", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "iqoY1", + "name": "tc2TitleCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "QKviv", + "name": "tc2Title", + "fill": "$--text-primary", + "content": "ETH above $4k by Q4", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "text", + "id": "b7FeA", + "name": "tc2Date", + "fill": "$--text-tertiary", + "content": "2024-01-14 09:15", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "text", + "id": "KnjVv", + "name": "tc2Amount", + "fill": "$--text-secondary", + "content": "-$58.20", + "fontFamily": "Inter", + "fontSize": 18, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "Bts6a", + "name": "tc2Bottom", + "width": "fill_container", + "padding": [ + 8, + 0, + 0, + 0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "NyM27", + "name": "tc2Tag", + "height": 22, + "cornerRadius": 6, + "stroke": { + "align": "inside", + "thickness": 1.5, + "fill": "#DC2626" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "qQOyG", + "name": "tc2TagT", + "fill": "#DC2626", + "content": "BUY", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "700" + } + ] + }, + { + "type": "text", + "id": "UsMX7", + "name": "tc2Meta", + "fill": "$--text-secondary", + "content": "价格: 0.41 单量: 95", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "zCjZa", + "name": "depositCard", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": 14, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "gowg8", + "name": "dcLeft", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "EaF2v", + "name": "dcIcon", + "width": 44, + "height": 44, + "fill": "#DCFCE7", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "Kix7t", + "name": "dcIconT", + "fill": "#16A34A", + "content": "充", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "IYCIH", + "name": "dcCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "7Vglb", + "name": "dcTitle", + "fill": "$--text-primary", + "content": "USDT 充值", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "text", + "id": "GFuCu", + "name": "dcDate", + "fill": "$--text-tertiary", + "content": "2024-01-13 16:45", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "text", + "id": "woRVW", + "name": "dcAmount", + "fill": "#16A34A", + "content": "+$2,000.00", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "Vn9TX", + "name": "withdrawCard", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": 14, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "7STJJ", + "name": "wcLeft", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "o57C7", + "name": "wcIcon", + "width": 44, + "height": 44, + "fill": "#FEE2E2", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "cmR9m", + "name": "wcIconT", + "fill": "#DC2626", + "content": "提", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "zfhzw", + "name": "wcCol", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "ovcZa", + "name": "wcTitle", + "fill": "$--text-primary", + "content": "BTC 提现", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "text", + "id": "tXzdW", + "name": "wcDate", + "fill": "$--text-tertiary", + "content": "2024-01-12 11:20", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "text", + "id": "uGlNW", + "name": "wcAmount", + "fill": "$--text-secondary", + "content": "-$1,500.00", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "tZDYO", + "x": 1906, + "y": 0, + "name": "Wallet - Withdrawals", + "clip": true, + "width": 402, + "height": 1402, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "dVQB1", + "name": "Header", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "H5RPG", + "name": "htitle", + "fill": "$--text-primary", + "content": "钱包", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "e291J", + "x": 294, + "y": 0.5, + "name": "hright", + "enabled": false, + "gap": 8, + "children": [ + { + "type": "frame", + "id": "Najxk", + "name": "scanBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "AX5aA", + "name": "scanTxt", + "fill": "$--text-primary", + "content": "扫", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "e8CKc", + "name": "notiBtn", + "width": 34, + "height": 34, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "0q3Si", + "name": "notiTxt", + "fill": "$--text-primary", + "content": "铃", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "qXdWW", + "name": "Asset Summary", + "width": "fill_container", + "fill": "$--primary", + "cornerRadius": "$--radius-lg", + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "text", + "id": "ekIhC", + "name": "assetLabel", + "fill": "$--text-inverse", + "content": "Portfolio", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "text", + "id": "7QOU5", + "name": "assetValue", + "fill": "$--text-inverse", + "content": "128,450.36", + "fontFamily": "Inter", + "fontSize": 32, + "fontWeight": "700" + }, + { + "type": "text", + "id": "dDsW5", + "x": 16, + "y": 94, + "name": "assetPnl", + "enabled": false, + "fill": "$--text-inverse", + "content": "今日 +2,140.52 (+1.69%)", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "EB9FR", + "x": 16, + "y": 274, + "name": "Profit Loss Card", + "enabled": false, + "width": "fill_container(370)", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "A4ul9", + "name": "plHead", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "cU2zt", + "name": "plTitle", + "fill": "$--text-primary", + "content": "Profit/Loss", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "pnzgQ", + "name": "plTabs", + "gap": 6, + "children": [ + { + "type": "frame", + "id": "hhOdt", + "name": "chip1", + "height": 24, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "EtnZW", + "name": "chip1t", + "fill": "$--text-inverse", + "content": "1D", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "mVzfH", + "name": "chip2", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "8Mi6k", + "name": "chip2t", + "fill": "$--text-secondary", + "content": "1W", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "auYX4", + "name": "chip3", + "height": 24, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "8JOaX", + "name": "chip3t", + "fill": "$--text-secondary", + "content": "ALL", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "text", + "id": "ZXLQh", + "name": "plValue", + "fill": "$--text-primary", + "content": "$2,840.20", + "fontFamily": "Inter", + "fontSize": 28, + "fontWeight": "700" + }, + { + "type": "text", + "id": "2ObmE", + "name": "plTime", + "fill": "$--text-secondary", + "content": "All Time", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "mgYLY", + "name": "plChart", + "width": "fill_container", + "height": 54, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm" + } + ] + }, + { + "type": "frame", + "id": "4ax07", + "name": "Quick Wallet Actions", + "width": "fill_container", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "vtt7T", + "name": "act1", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "IJKL3", + "name": "act1t", + "fill": "$--text-primary", + "content": "充币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "l4zGB", + "name": "act2", + "width": "fill_container", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "wG4ry", + "name": "act2t", + "fill": "$--text-primary", + "content": "提币", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "K29vU", + "x": 253.33333333333334, + "y": 0, + "name": "act3", + "enabled": false, + "width": "fill_container(116.66666666666667)", + "height": 72, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 6, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "dlay2", + "name": "act3t", + "fill": "$--text-primary", + "content": "授权", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "9r3iv", + "name": "Settlement Card", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 12, + 14 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "Ydggc", + "name": "settleText", + "fill": "$--text-primary", + "content": "You won $325.00 +2", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "96S93", + "name": "claimBtn", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "YUzYl", + "name": "claimTxt", + "fill": "$--text-inverse", + "content": "Claim", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "UjOKn", + "name": "Wallet Section", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 12, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "l9l7f", + "name": "tabs", + "width": "fill_container", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "delaV", + "name": "tab1", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ATpaP", + "name": "tab1t", + "fill": "$--text-secondary", + "content": "Positions", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "fGD8K", + "name": "tab2", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "w1AxB", + "name": "tab2t", + "fill": "$--text-secondary", + "content": "Orders", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "KhJ34", + "name": "tab3", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "41K0m", + "name": "tab3t", + "fill": "$--text-secondary", + "content": "History", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "hvfFP", + "name": "tab4", + "height": 30, + "fill": "$--primary", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 0, + "fill": "$--primary" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "2Uzfg", + "name": "tab4t", + "fill": "$--text-inverse", + "content": "Withdrawals", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "mEt03", + "name": "withdrawList", + "width": "fill_container", + "cornerRadius": "$--radius-md", + "layout": "vertical", + "gap": 12, + "children": [ + { + "type": "frame", + "id": "oiVjF", + "name": "wCard1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 8, + "padding": 12, + "children": [ + { + "type": "frame", + "id": "Lo82C", + "name": "w1Top", + "width": "fill_container", + "justifyContent": "space_between", + "children": [ + { + "type": "frame", + "id": "tn95J", + "name": "w1Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "ti0DQ", + "name": "w1Col", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "1o0Dc", + "name": "w1Title", + "fill": "$--text-secondary", + "content": "2024-01-15 14:30:25", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "bmnPr", + "name": "w1Chain", + "height": 20, + "fill": "#DBEAFE", + "cornerRadius": 999, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "LO16g", + "name": "w1ChainT", + "fill": "#2563EB", + "content": "TRC20", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "TlhW7", + "name": "w1Status", + "height": 26, + "fill": "#FEF3C7", + "cornerRadius": 999, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "118KU", + "name": "w1StatusT", + "fill": "#B45309", + "content": "Pending", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "VZvT2", + "name": "w1Mid", + "width": "fill_container", + "padding": [ + 6, + 0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "yE8xT", + "name": "w1AmountCol", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "2l7G9", + "name": "w1AmountLabel", + "fill": "$--text-tertiary", + "content": "提现金额", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "EWa9x", + "name": "w1Amount", + "fill": "$--text-primary", + "content": "2,500.00 USDT", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "53fav", + "name": "w1FeeCol", + "layout": "vertical", + "gap": 2, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "85cVQ", + "name": "w1FeeLabel", + "fill": "$--text-tertiary", + "content": "手续费", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "vaMVb", + "name": "w1Fee", + "fill": "$--text-secondary", + "content": "1.00 USDT", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "A8YeG", + "name": "w1Bottom", + "layout": "vertical", + "gap": 4, + "padding": [ + 6, + 0, + 0, + 0 + ], + "children": [ + { + "type": "text", + "id": "xyNkj", + "name": "w1AddrLabel", + "fill": "$--text-tertiary", + "content": "提现地址", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "G1pLM", + "name": "w1Addr", + "fill": "$--text-primary", + "content": "0x8f3a...29ab", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "QpMpB", + "name": "wCard2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 8, + "padding": 12, + "children": [ + { + "type": "frame", + "id": "nmkiF", + "name": "w2Top", + "width": "fill_container", + "justifyContent": "space_between", + "children": [ + { + "type": "frame", + "id": "uxCDM", + "name": "w2Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "DDFz0", + "name": "w2Col", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "O310P", + "name": "w2Title", + "fill": "$--text-secondary", + "content": "2024-01-14 09:15:33", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "e40zy", + "name": "w2Chain", + "height": 20, + "fill": "$--bg-page", + "cornerRadius": 999, + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "253N1", + "name": "w2ChainT", + "fill": "$--text-secondary", + "content": "Bitcoin", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "p9RWo", + "name": "w2Status", + "height": 26, + "fill": "#DCFCE7", + "cornerRadius": 999, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "J4njr", + "name": "w2StatusT", + "fill": "#16A34A", + "content": "Success", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "3d2CJ", + "name": "w2Mid", + "width": "fill_container", + "padding": [ + 6, + 0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "eKM6L", + "name": "w2AmountCol", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "u5TZu", + "name": "w2AmountLabel", + "fill": "$--text-tertiary", + "content": "提现金额", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "utE3E", + "name": "w2Amount", + "fill": "$--text-primary", + "content": "0.8500 BTC", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "0buIH", + "name": "w2FeeCol", + "layout": "vertical", + "gap": 2, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "rJb7g", + "name": "w2FeeLabel", + "fill": "$--text-tertiary", + "content": "手续费", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "wnihX", + "name": "w2Fee", + "fill": "$--text-secondary", + "content": "0.0005 BTC", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "kdZM8", + "name": "w2Bottom", + "layout": "vertical", + "gap": 4, + "padding": [ + 6, + 0, + 0, + 0 + ], + "children": [ + { + "type": "text", + "id": "ibJzx", + "name": "w2AddrLabel", + "fill": "$--text-tertiary", + "content": "提现地址", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "doKvs", + "name": "w2Addr", + "fill": "$--text-primary", + "content": "bc1q...8k2m", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "XVvKC", + "name": "wCard3", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 8, + "padding": 12, + "children": [ + { + "type": "frame", + "id": "zZFC2", + "name": "w3Top", + "width": "fill_container", + "justifyContent": "space_between", + "children": [ + { + "type": "frame", + "id": "fQplV", + "name": "w3Left", + "gap": 12, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "I4ueC", + "name": "w3Col", + "layout": "vertical", + "gap": 4, + "children": [ + { + "type": "text", + "id": "p8Z1f", + "name": "w3Title", + "fill": "$--text-secondary", + "content": "2024-01-13 11:45:12", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "lAldQ", + "name": "w3Chain", + "height": 20, + "fill": "#FEE2E2", + "cornerRadius": 999, + "padding": [ + 0, + 8 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "eRvIx", + "name": "w3ChainT", + "fill": "#DC2626", + "content": "ERC20", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "0SsjM", + "name": "w3Status", + "height": 26, + "fill": "#FEE2E2", + "cornerRadius": 999, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ljr2h", + "name": "w3StatusT", + "fill": "#DC2626", + "content": "Rejected", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "cQALr", + "name": "w3Mid", + "width": "fill_container", + "padding": [ + 6, + 0 + ], + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "iv9i3", + "name": "w3AmountCol", + "layout": "vertical", + "gap": 2, + "children": [ + { + "type": "text", + "id": "mEPGe", + "name": "w3AmountLabel", + "fill": "$--text-tertiary", + "content": "提现金额", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "4WCJQ", + "name": "w3Amount", + "fill": "$--text-primary", + "content": "5.20 ETH", + "fontFamily": "Inter", + "fontSize": 16, + "fontWeight": "700" + } + ] + }, + { + "type": "frame", + "id": "VIbtG", + "name": "w3FeeCol", + "layout": "vertical", + "gap": 2, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "wzHM7", + "name": "w3FeeLabel", + "fill": "$--text-tertiary", + "content": "手续费", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "Y3RKv", + "name": "w3Fee", + "fill": "$--text-secondary", + "content": "0.005 ETH", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "XCkd9", + "name": "w3Bottom", + "layout": "vertical", + "gap": 4, + "padding": [ + 6, + 0, + 0, + 0 + ], + "children": [ + { + "type": "text", + "id": "rM3ss", + "name": "w3AddrLabel", + "fill": "$--text-tertiary", + "content": "提现地址", + "fontFamily": "Inter", + "fontSize": 10, + "fontWeight": "500" + }, + { + "type": "text", + "id": "H14TW", + "name": "w3Addr", + "fill": "$--text-primary", + "content": "0x1a2...ff09", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "WFa0K", + "x": 2388, + "y": 0, + "name": "API Key 管理", + "clip": true, + "width": 402, + "height": 980, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "frame", + "id": "0AeNS", + "name": "header", + "width": "fill_container", + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ddnsS", + "name": "title", + "fill": "$--text-primary", + "content": "API Key 管理", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "TaJXn", + "name": "createBtn", + "height": 34, + "fill": "$--primary", + "cornerRadius": "$--radius-md", + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "xO1vW", + "name": "createTxt", + "fill": "$--text-inverse", + "content": "创建 Key", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + }, + { + "type": "frame", + "id": "EMP1a", + "name": "apiKeyList", + "width": "fill_container", + "layout": "vertical", + "gap": 12, + "children": [ + { + "type": "frame", + "id": "jgNqs", + "name": "item1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "text", + "id": "FaQQH", + "name": "item1Name", + "fill": "$--text-secondary", + "content": "Key #1", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + }, + { + "type": "text", + "id": "WKMDl", + "name": "item1Key", + "fill": "$--text-primary", + "textGrowth": "fixed-width", + "width": "fill_container", + "content": "pk_live_8f2a9d1c5e7b44a8b1c2d3e4f5a6b7c8", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "cT8ya", + "name": "item1Actions", + "width": "fill_container", + "gap": 8, + "justifyContent": "end", + "children": [ + { + "type": "frame", + "id": "JUvMh", + "name": "item1Copy", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ov358", + "name": "item1CopyTxt", + "fill": "$--text-primary", + "content": "复制", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "d8xw6", + "name": "item1Delete", + "height": 30, + "fill": "$--bg-error", + "cornerRadius": "$--radius-sm", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "en2qk", + "name": "item1DeleteTxt", + "fill": "$--error", + "content": "删除", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "GW3BH", + "name": "item2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "text", + "id": "oOYEt", + "name": "item2Name", + "fill": "$--text-secondary", + "content": "Key #2", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + }, + { + "type": "text", + "id": "C1oUw", + "name": "item2Key", + "fill": "$--text-primary", + "textGrowth": "fixed-width", + "width": "fill_container", + "content": "pk_test_4d6f8a0c2e4g66h0j2k4m6n8p0r2t4v6", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "4yQTo", + "name": "item2Actions", + "width": "fill_container", + "gap": 8, + "justifyContent": "end", + "children": [ + { + "type": "frame", + "id": "JdZET", + "name": "item2Copy", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "5HlNa", + "name": "item2CopyTxt", + "fill": "$--text-primary", + "content": "复制", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "LYFAJ", + "name": "item2Delete", + "height": 30, + "fill": "$--bg-error", + "cornerRadius": "$--radius-sm", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "QGhG3", + "name": "item2DeleteTxt", + "fill": "$--error", + "content": "删除", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "bJhap", + "name": "item3", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "text", + "id": "PO312", + "name": "item3Name", + "fill": "$--text-secondary", + "content": "Key #3", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + }, + { + "type": "text", + "id": "1LnNj", + "name": "item3Key", + "fill": "$--text-primary", + "textGrowth": "fixed-width", + "width": "fill_container", + "content": "pk_live_1a3c5e7g9i1k3m5o7q9s1u3w5y7z9b1d", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "frame", + "id": "nMMEK", + "name": "item3Actions", + "width": "fill_container", + "gap": 8, + "justifyContent": "end", + "children": [ + { + "type": "frame", + "id": "FJCrh", + "name": "item3Copy", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-sm", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "WmRWR", + "name": "item3CopyTxt", + "fill": "$--text-primary", + "content": "复制", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "w5oHp", + "name": "item3Delete", + "height": 30, + "fill": "$--bg-error", + "cornerRadius": "$--radius-sm", + "padding": [ + 0, + 10 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "qxTvp", + "name": "item3DeleteTxt", + "fill": "$--error", + "content": "删除", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "600" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "p4Kcp", + "x": 2870, + "y": 0, + "name": "Search 页面", + "clip": true, + "width": 402, + "height": 980, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "text", + "id": "3Vnaa", + "name": "header", + "fill": "$--text-primary", + "content": "搜索", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "21vaH", + "name": "searchBox", + "width": "fill_container", + "height": 42, + "fill": "$--bg-card", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "gap": 8, + "padding": [ + 0, + 12 + ], + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "6tL5Y", + "name": "searchPlaceholder", + "fill": "$--text-tertiary", + "content": "搜索市场、话题、地址", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "6Vu3S", + "name": "recordsCard", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "text", + "id": "pnWsz", + "name": "recordsTitle", + "fill": "$--text-primary", + "content": "搜索记录", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "CfnlN", + "name": "record1", + "width": "fill_container", + "height": 34, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "m2WOb", + "name": "record1Text", + "fill": "$--text-secondary", + "content": "BTC ETF approval odds", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "icon_font", + "id": "hnXps", + "name": "record1X", + "width": 16, + "height": 16, + "iconFontName": "x", + "iconFontFamily": "lucide", + "fill": "$--text-tertiary" + } + ] + }, + { + "type": "frame", + "id": "nuDa6", + "name": "record2", + "width": "fill_container", + "height": 34, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "u6Qmw", + "name": "record2Text", + "fill": "$--text-secondary", + "content": "US election winner", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "icon_font", + "id": "rp438", + "name": "record2X", + "width": 16, + "height": 16, + "iconFontName": "x", + "iconFontFamily": "lucide", + "fill": "$--text-tertiary" + } + ] + }, + { + "type": "frame", + "id": "FH9Ix", + "name": "record3", + "width": "fill_container", + "height": 34, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "aLxay", + "name": "record3Text", + "fill": "$--text-secondary", + "content": "ETH above $4k", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + }, + { + "type": "icon_font", + "id": "iJhuf", + "name": "record3X", + "width": 16, + "height": 16, + "iconFontName": "x", + "iconFontFamily": "lucide", + "fill": "$--text-tertiary" + } + ] + } + ] + }, + { + "type": "frame", + "id": "lBOXU", + "name": "recoCard", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "layout": "vertical", + "gap": 10, + "padding": 14, + "children": [ + { + "type": "text", + "id": "9SZ8c", + "name": "recoTitle", + "fill": "$--text-primary", + "content": "推荐标签", + "fontFamily": "Inter", + "fontSize": 15, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "dzsgx", + "name": "tagRow", + "width": "fill_container", + "gap": 8, + "children": [ + { + "type": "frame", + "id": "UiTNh", + "name": "tag4", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "nqccZ", + "name": "tag4Txt", + "fill": "$--text-secondary", + "content": "ETH", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "lL6RH", + "name": "tag5", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "U5UKP", + "name": "tag5Txt", + "fill": "$--text-secondary", + "content": "科技股", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "o4qAL", + "name": "tag2", + "height": 30, + "fill": "$--bg-page", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": [ + 0, + 12 + ], + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "DdSbm", + "name": "tag2Txt", + "fill": "$--text-secondary", + "content": "总统大选", + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "600" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "mN9t2", + "x": 3352, + "y": 0, + "name": "Search 结果页面", + "clip": true, + "width": 402, + "height": 980, + "fill": "$--bg-page", + "layout": "vertical", + "gap": 16, + "padding": 16, + "children": [ + { + "type": "text", + "id": "Tk2xJ", + "name": "header", + "fill": "$--text-primary", + "content": "搜索", + "fontFamily": "Inter", + "fontSize": 24, + "fontWeight": "700" + }, + { + "type": "frame", + "id": "cIi7V", + "name": "rSearchBox", + "width": "fill_container", + "height": 42, + "fill": "$--bg-card", + "cornerRadius": "$--radius-pill", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "gap": 8, + "padding": [ + 0, + 12 + ], + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "x2otH", + "name": "rSearchText", + "fill": "$--text-primary", + "content": "btc", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "500" + } + ] + }, + { + "type": "frame", + "id": "fh0Kf", + "name": "resultList", + "width": "fill_container", + "layout": "vertical", + "gap": 10, + "children": [ + { + "type": "frame", + "id": "NxUvs", + "name": "item1", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": 12, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "aIODJ", + "name": "i1Left", + "gap": 10, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "hViWn", + "name": "i1Icon", + "width": 38, + "height": 38, + "fill": "$--bg-dark", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "fFplC", + "name": "i1IconTxt", + "fill": "$--text-inverse", + "content": "B", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + } + ] + }, + { + "type": "text", + "id": "zk2yt", + "name": "i1Title", + "fill": "$--text-primary", + "content": "BTC > $85k this year", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "WHSmU", + "name": "i1Right", + "layout": "vertical", + "gap": 3, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "ejTQc", + "name": "i1Pct", + "fill": "$--primary", + "content": "72%", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + }, + { + "type": "text", + "id": "qxOnj", + "name": "i1Time", + "fill": "$--text-tertiary", + "content": "2h ago", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "U3tmH", + "name": "item2", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": 12, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "gbLhM", + "name": "i2Left", + "gap": 10, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "AixL9", + "name": "i2Icon", + "width": 38, + "height": 38, + "fill": "#FEE2E2", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "ERORZ", + "name": "i2IconTxt", + "fill": "#DC2626", + "content": "E", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + } + ] + }, + { + "type": "text", + "id": "zRJ36", + "name": "i2Title", + "fill": "$--text-primary", + "content": "ETH above $4k by Q4", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "p5JSi", + "name": "i2Right", + "layout": "vertical", + "gap": 3, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "4gd6S", + "name": "i2Pct", + "fill": "$--text-primary", + "content": "61%", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + }, + { + "type": "text", + "id": "VWNsT", + "name": "i2Time", + "fill": "$--text-tertiary", + "content": "5h ago", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + }, + { + "type": "frame", + "id": "WeiVf", + "name": "item3", + "width": "fill_container", + "fill": "$--bg-card", + "cornerRadius": "$--radius-lg", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "padding": 12, + "justifyContent": "space_between", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "bGwrs", + "name": "i3Left", + "gap": 10, + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "AfaGJ", + "name": "i3Icon", + "width": 38, + "height": 38, + "fill": "$--primary-light", + "cornerRadius": 10, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "dj4r2", + "name": "i3IconTxt", + "fill": "$--primary", + "content": "U", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + } + ] + }, + { + "type": "text", + "id": "xIMWu", + "name": "i3Title", + "fill": "$--text-primary", + "content": "US Election Winner", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "njdXO", + "name": "i3Right", + "layout": "vertical", + "gap": 3, + "alignItems": "end", + "children": [ + { + "type": "text", + "id": "2Wmch", + "name": "i3Pct", + "fill": "$--text-primary", + "content": "54%", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "700" + }, + { + "type": "text", + "id": "Ofbf3", + "name": "i3Time", + "fill": "$--text-tertiary", + "content": "1d ago", + "fontFamily": "Inter", + "fontSize": 11, + "fontWeight": "500" + } + ] + } + ] + } + ] + } + ] + }, + { + "type": "frame", + "id": "a0ov6", + "x": 0, + "y": 1426, + "name": "Username Edit Dialog", + "clip": true, + "width": 420, + "height": 280, + "fill": "$--bg-card", + "cornerRadius": "$--radius-md", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-light" + }, + "effect": { + "type": "shadow", + "shadowType": "outer", + "color": "#0000001A", + "offset": { + "x": 0, + "y": 8 + }, + "blur": 24, + "spread": -8 + }, + "layout": "vertical", + "gap": 16, + "padding": 24, + "children": [ + { + "type": "text", + "id": "0MEPR", + "name": "dialogTitle", + "fill": "$--text-primary", + "content": "修改用户名", + "fontFamily": "Inter", + "fontSize": 20, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "4otyb", + "name": "inputBlock", + "width": "fill_container", + "layout": "vertical", + "gap": 8, + "children": [ + { + "type": "text", + "id": "OZgjg", + "name": "inputLabel", + "fill": "$--text-secondary", + "content": "新用户名", + "fontFamily": "Inter", + "fontSize": 13, + "fontWeight": "600" + }, + { + "type": "frame", + "id": "kAiv5", + "name": "inputBox", + "width": "fill_container", + "height": 44, + "fill": "#FFFFFF", + "cornerRadius": "$--radius-sm", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-light" + }, + "gap": 8, + "padding": [ + 16, + 10 + ], + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "440KR", + "name": "inputValueText", + "fill": "$--text-primary", + "content": "sven_01", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "500" + } + ] + }, + { + "type": "text", + "id": "CYB6W", + "name": "helperText", + "fill": "$--text-tertiary", + "textGrowth": "fixed-width", + "width": "fill_container", + "content": "只能包含字母、数字与下划线(a-z / 0-9 / _)", + "lineHeight": 1.4, + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "normal" + }, + { + "type": "text", + "id": "kD5v9", + "name": "newErrorText", + "opacity": 0, + "fill": "$--error", + "content": "用户名长度至少 2 位", + "lineHeight": 1.4, + "fontFamily": "Inter", + "fontSize": 12, + "fontWeight": "normal" + } + ] + }, + { + "type": "frame", + "id": "sjwkr", + "name": "buttonsRow", + "width": "fill_container", + "gap": 12, + "justifyContent": "end", + "alignItems": "center", + "children": [ + { + "type": "frame", + "id": "JemU8", + "name": "cancelBtn", + "width": 100, + "height": 40, + "fill": "#FFFFFF", + "cornerRadius": "$--radius-sm", + "stroke": { + "align": "inside", + "thickness": 1, + "fill": "$--border-color" + }, + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "fJUZQ", + "name": "cancelText", + "fill": "$--text-primary", + "content": "取消", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + }, + { + "type": "frame", + "id": "xYDV2", + "name": "saveBtn", + "width": 120, + "height": 40, + "fill": "$--primary", + "cornerRadius": "$--radius-sm", + "justifyContent": "center", + "alignItems": "center", + "children": [ + { + "type": "text", + "id": "6dcAr", + "name": "saveText", + "fill": "$--text-inverse", + "content": "保存", + "fontFamily": "Inter", + "fontSize": 14, + "fontWeight": "600" + } + ] + } + ] + } + ] + } + ], + "variables": { + "--bg-card": { + "type": "color", + "value": "#FFFFFF" + }, + "--bg-dark": { + "type": "color", + "value": "#111827" + }, + "--bg-error": { + "type": "color", + "value": "#FEE2E2" + }, + "--bg-page": { + "type": "color", + "value": "#FCFCFC" + }, + "--bg-success": { + "type": "color", + "value": [ + { + "value": "#D1FAE5" + }, + { + "value": "#E0E7FF" + } + ] + }, + "--bg-warning": { + "type": "color", + "value": "#FEF3C7" + }, + "--border-color": { + "type": "color", + "value": "#E5E7EB" + }, + "--border-light": { + "type": "color", + "value": "#F3F4F6" + }, + "--error": { + "type": "color", + "value": "#DC2626" + }, + "--primary": { + "type": "color", + "value": [ + { + "value": "#059669" + }, + { + "value": "#5B5BD6" + } + ] + }, + "--primary-light": { + "type": "color", + "value": [ + { + "value": "#10B981" + }, + { + "value": "#7C7CFF" + } + ] + }, + "--radius-lg": { + "type": "number", + "value": 16 + }, + "--radius-md": { + "type": "number", + "value": 12 + }, + "--radius-pill": { + "type": "number", + "value": 999 + }, + "--radius-sm": { + "type": "number", + "value": 8 + }, + "--shadow-card": { + "type": "string", + "value": "0 1px 3px rgba(0,0,0,0.04)" + }, + "--success": { + "type": "color", + "value": [ + { + "value": "#166534" + }, + { + "value": "#4338CA" + } + ] + }, + "--text-inverse": { + "type": "color", + "value": "#FFFFFF" + }, + "--text-primary": { + "type": "color", + "value": "#111827" + }, + "--text-secondary": { + "type": "color", + "value": "#6B7280" + }, + "--text-tertiary": { + "type": "color", + "value": "#9CA3AF" + }, + "--warning": { + "type": "color", + "value": "#B45309" + } + } +} \ No newline at end of file diff --git a/docs/api/request.md b/docs/api/request.md index 65d4b5f..03e812a 100644 --- a/docs/api/request.md +++ b/docs/api/request.md @@ -4,7 +4,7 @@ ## 功能用途 -HTTP 请求基础封装,提供 `get`、`post`、`buildQuery` 方法,以及 WebSocket URL 生成。所有 API 模块均通过此文件发起请求。 +HTTP 请求基础封装,提供 `get`、`post`、`put`、`buildQuery` 方法,以及 WebSocket URL 生成。所有 API 模块均通过此文件发起请求。 ## 核心能力 @@ -14,13 +14,14 @@ HTTP 请求基础封装,提供 `get`、`post`、`buildQuery` 方法,以及 W - User WebSocket URL:`getUserWsUrl()` 返回 `ws(s)://host/clob/ws/user`(订单/持仓/余额推送) - GET 请求:支持 query 参数,自动序列化 - POST 请求:支持 JSON body +- PUT 请求:支持 JSON body - 自定义 headers:通过 `RequestConfig.headers` 传入 -- **Accept-Language**:所有 GET/POST 请求自动附带当前 vue-i18n 的 `locale` +- **Accept-Language**:所有 GET/POST/PUT 请求自动附带当前 vue-i18n 的 `locale` ## 使用方式 ```typescript -import { get, post, buildQuery, getClobWsUrl, getUserWsUrl } from '@/api/request' +import { get, post, put, buildQuery, getClobWsUrl, getUserWsUrl } from '@/api/request' // 构建 query(自动过滤空值) const query = buildQuery({ page: 1, pageSize: 10, keyword, tagIds }) @@ -39,11 +40,16 @@ const data = await get('/path', undefined, { const res = await post('/path', { key: 'value' }, { headers: { 'x-token': token }, }) + +// PUT 请求 +const putRes = await put('/path', { key: 'value' }, { + headers: { 'x-token': token }, +}) ``` ## 扩展方式 -1. **添加 PUT/DELETE**:仿照 `get`/`post` 实现 `put`、`del` 函数 +1. **添加 DELETE**:仿照 `get`/`post`/`put` 实现 `del` 函数 2. **统一错误处理**:在 `get`/`post` 内对 `!res.ok` 做统一 toast 或错误上报 3. **请求/响应拦截**:在 fetch 前后加入拦截逻辑(如 loading、日志) 4. **超时控制**:使用 `AbortController` 实现超时取消 diff --git a/docs/api/user.md b/docs/api/user.md index 6a651ac..358cc0c 100644 --- a/docs/api/user.md +++ b/docs/api/user.md @@ -4,12 +4,13 @@ ## 功能用途 -用户相关接口:获取用户信息、USDC 余额。对接 `/user/getUserInfo`、`/user/getUsdcBalance`,均需鉴权。 +用户相关接口:获取用户信息、USDC 余额、修改自身用户名。对接 `/user/getUserInfo`、`/user/getUsdcBalance`、`/user/setSelfUsername`,均需鉴权。 ## 核心能力 - `getUserInfo`:获取当前用户信息(头像、昵称等) - `getUsdcBalance`:查询 USDC 余额(amount、available、locked 需除以 1_000_000) +- `setSelfUsername`:修改自身用户名(PUT `/user/setSelfUsername`) - `formatUsdcBalance`:将原始数值转为显示用字符串(如 "0.00") ## 类型说明 @@ -22,7 +23,7 @@ ## 使用方式 ```typescript -import { getUserInfo, getUsdcBalance, formatUsdcBalance } from '@/api/user' +import { getUserInfo, getUsdcBalance, setSelfUsername, formatUsdcBalance } from '@/api/user' const headers = { 'x-token': token, 'x-user-id': userId } @@ -32,6 +33,12 @@ const balanceRes = await getUsdcBalance(headers) if (balanceRes.data) { const display = formatUsdcBalance(balanceRes.data.available) } + +// 修改自身用户名 +const setRes = await setSelfUsername(headers, { username: 'new_username' }) +if (setRes.code === 0 || setRes.code === 200) { + // 建议:成功后调用 fetchUserInfo() 刷新页面展示 +} ``` ## 扩展方式 diff --git a/docs/components/OrderBook.md b/docs/components/OrderBook.md index 2e05b0f..16fe524 100644 --- a/docs/components/OrderBook.md +++ b/docs/components/OrderBook.md @@ -12,6 +12,7 @@ - Asks、Bids 列表,带 `HorizontalProgressBar` 深度条(买卖两边共用同一最大值 `maxOrderBookTotal`,取两边累计总量中的最大值,便于对比深度) - Last price、Spread 展示 - Live / 连接中 状态展示(均通过 i18n 国际化) +- Header 右侧已移除折叠箭头图标(`mdi-chevron-up`),仅保留状态文案与成交量文案 ## Props diff --git a/docs/core/App.md b/docs/core/App.md index 76e31a9..cf12145 100644 --- a/docs/core/App.md +++ b/docs/core/App.md @@ -4,20 +4,27 @@ ## 功能用途 -根组件,包含全局 AppBar、主内容区(router-view)。AppBar 含返回按钮、标题、登录/余额/头像菜单,主内容区使用 keep-alive 缓存 Home。 +根组件,包含全局 AppBar、主内容区(router-view)。AppBar 含返回按钮、标题、登录/余额/头像入口,主内容区使用 keep-alive 缓存 Home。 ## 核心能力 -- 顶部导航栏:返回、TestMarket 标题、Login 或余额+用户名+头像菜单 -- 多语言入口:右侧地球图标(`mdi-earth`)+ 当前语言文案,点击打开语言选择菜单 -- 移动端底部导航:Home / Search / Mine(三个 tab 等分屏宽,与路由联动;Mine 未登录跳转 Login;选中态仅加粗、无底色;未选中项图标与文字偏灰;底部导航上方有淡投影) +- 顶部导航栏:返回、TestMarket 标题、Login 或余额+头像入口 +- 头像入口:登录态点击头像直接跳转 `/profile` +- 移动端底部导航:Home / Search / Mine(三个 tab 等分屏宽,与路由联动;Mine 点击跳转 `/profile`;选中态仅加粗、无底色;未选中项图标与文字偏灰;底部导航上方有淡投影);仅在 `/`、`/search`、`/profile` 三个主页面显示,其他页面隐藏 +- 全局滚动稳定:通过 `scrollbar-gutter: stable` 保留滚动条占位,避免页面从搜索态切到结果态时出现顶部/底部导航轻微横向抖动 - 登录态:`userStore.isLoggedIn` 控制展示 - 用户名:`nickName` 或 `userName` 显示在头像左侧(有值时) - 挂载时与 `isLoggedIn` 变为 true 时:拉取用户信息与余额(`router.isReady()` + `nextTick` 后执行),确保钱包登录、刷新页面后头像和用户名正确显示 - keep-alive:`include="['Home']"` 缓存首页 +## 使用方式 + +- 启动应用后由 `App.vue` 承载顶栏、主内容与底部导航 +- 路由切换时由 `bottomNavValue` 自动同步 Home / Search / Mine 高亮状态 +- 页面内容通过 `` 渲染,Home 页面使用 keep-alive 缓存 + ## 扩展方式 1. **多级导航**:根据路由深度调整返回逻辑 2. **主题切换**:增加亮/暗模式切换 -3. **多语言**:接入 i18n 插件 +3. **个人入口扩展**:可在个人中心页继续扩展设置项与账户操作 diff --git a/docs/core/router.md b/docs/core/router.md index 361612e..8c301d4 100644 --- a/docs/core/router.md +++ b/docs/core/router.md @@ -17,6 +17,8 @@ Vue Router 配置,定义路由表与滚动行为。 | /trade-detail/:id | trade-detail | TradeDetail | | /event/:id/markets | event-markets | EventMarkets | | /wallet | wallet | Wallet | +| /profile | profile | Profile | +| /api-key | api-key | ApiKey | ## 滚动行为 diff --git a/docs/views/ApiKey.md b/docs/views/ApiKey.md new file mode 100644 index 0000000..76c49f9 --- /dev/null +++ b/docs/views/ApiKey.md @@ -0,0 +1,22 @@ +# ApiKey.vue + +**路径**:`src/views/ApiKey.vue` +**路由**:`/api-key`,name: `api-key` + +## 功能用途 + +API Key 管理页面,按 Pencil 设计稿 `WFa0K` 节点 1:1 还原。页面包含标题区(`API Key 管理` + `创建 Key` 按钮)和 API Key 卡片列表(Key 名称、Key 值、复制/删除按钮)。 + +## 使用方式 + +- 访问路由 `/api-key` +- 页面展示 3 条示例 Key 数据,卡片结构如下: + - 顶部:`Key #n` + - 中部:完整 Key 字符串 + - 底部:右对齐操作按钮 `复制`、`删除` + +## 扩展方式 + +1. **接入真实列表**:将本地 `apiKeys` 常量替换为后端 API 数据。 +2. **接入操作事件**:为 `创建 Key`、`复制`、`删除` 按钮绑定真实业务逻辑。 +3. **安全策略**:可增加 Key 脱敏展示与二次确认删除弹窗。 diff --git a/docs/views/Profile.md b/docs/views/Profile.md new file mode 100644 index 0000000..cb7eee8 --- /dev/null +++ b/docs/views/Profile.md @@ -0,0 +1,42 @@ +# Profile.vue + +**路径**:`src/views/Profile.vue` +**路由**:`/profile`,name: `profile` + +## 功能用途 + +个人中心页面,按照 Pencil 设计稿(`design/pencil-new.pen` 的 `UNTdC` 节点)还原移动端 Profile Screen,并接入用户态与国际化: + +- 从 `useUserStore` 读取昵称、UID、头像、余额、钱包地址等数据 +- 页面加载后自动触发 `fetchUserInfo()` 与 `fetchUsdcBalance()`,刷新展示数据 +- 支持语言切换、复制钱包地址、登出等交互逻辑 +- 全量文案改为 `vue-i18n`(`profile.*` 与 `common.logout` 等) + +## 使用方式 + +- 访问路由 `/profile` +- 页面会读取 `userStore.user` 作为展示数据源(昵称、UID、头像、VIP 标签、钱包地址) +- 点击设置项中的 `钱包管理` 会弹出钱包地址框,显示当前钱包地址(无地址时显示 i18n 兜底文案) +- 点击设置项中的 `API KEY 管理` 会跳转到 `/api-key` +- 点击设置项中的 `语言` 会弹出语言选择框,点选后即时切换并关闭弹窗,右侧显示当前语言名称 +- 点击钱包卡片的 `钱包详情` 会跳转到 `/wallet` +- 页面展示的用户名与编辑初始值统一取 `userName`(调用 `PUT /user/setSelfUsername` 后刷新);输入会提示允许格式与校验错误(至少 2 位,且仅允许 `a-z / 0-9 / _`) +- 点击 `复制地址` 会写入剪贴板,并通过 toast 提示成功/失败 +- 点击底部 `退出登录` 会执行异步登出(带 loading 防重复)并跳转到 `/login` + +主要结构: + +- Profile 卡片:头像、昵称、UID、VIP 标签、编辑按钮 +- Wallet 卡片:总览标题、余额、明细文案、充币/提币按钮 +- 设置卡片:钱包管理、API KEY 管理、语言 +- 退出按钮:底部高亮按钮 + +## 扩展方式 + +1. **更新用户名错误分层**:当前错误优先展示输入校验与接口返回的 `msg`;后续可按错误码映射到更细粒度的 i18n 文案与字段提示。 +2. **余额细分字段接入**:目前可用/冻结余额已支持多字段兜底,后续可统一对接后端标准字段。 +3. **头像兜底增强**:当前无头像时展示昵称首字母,可扩展为默认头像资源或主题色方案。 +4. **多语言持续补齐**:新增字段时同步更新 `src/locales/*.json` 下 `profile` 命名空间。 +5. **长昵称适配**:`.name-text` 已启用 `ellipsis` 截断,避免与右侧 `编辑` 按钮发生重叠。 +6. **底部留白优化**:通过调整 `.profile-page` 的 flex 对齐方式,避免容器被拉伸导致底部空白过多。 +7. **高度收缩优化**:移除了 `.profile-screen` 过高的 `min-height`(由固定值改为可收缩),减少页面因内容过少而产生滚动。 diff --git a/docs/views/Search.md b/docs/views/Search.md new file mode 100644 index 0000000..ba7409a --- /dev/null +++ b/docs/views/Search.md @@ -0,0 +1,33 @@ +# Search.vue + +**路径**:`src/views/Search.vue` +**路由**:`/search`,name: `search` + +## 功能用途 + +搜索页独立实现,按 Pencil 设计稿同文件实现双态页面: +- `p4Kcp`:搜索页(搜索框、搜索记录、推荐标签) +- `mN9t2`:搜索结果页(顶部搜索框 + 结果卡片列表) +- 页面容器改为移动端自适应宽度(`width: 100%`),不再固定 `402px` + +## 使用方式 + +- 访问路由 `/search` +- 在搜索输入框中输入关键词后,手机键盘回车键会显示为“搜索”(`enterkeyhint="search"`) +- 点击键盘“搜索”会请求 `GET /PmEvent/getPmEventPublic`(`keyword` 参数),并将关键词写入搜索记录顶部 +- 搜索前展示 `p4Kcp` 结构: + - 顶部标题:`搜索` + - 搜索框:真实输入框,占位文案 `搜索市场、话题、地址` + - 搜索记录卡:3 条示例记录,每行右侧带关闭图标 + - 推荐标签卡:`ETH`、`科技股`、`总统大选` +- 搜索后切换到 `mN9t2` 结构: + - 顶部同样保留标题与搜索框 + - 下方展示结果卡片列表(图标、标题、百分比、时间) + - 切换结果态时不会因滚动条变化导致顶部/底部导航轻微位移 + +## 扩展方式 + +1. **接入真实搜索记录**:将 `searchRecords` 替换为用户历史接口数据。 +2. **接入搜索行为**:将搜索框改为可输入组件并绑定查询 API。 +3. **标签联动搜索**:点击标签触发关键词搜索并跳转到结果页。 +4. **响应式优化**:可按断点进一步细分字号与间距,但保持 1:1 视觉层级。 diff --git a/docs/views/TradeDetail.md b/docs/views/TradeDetail.md index 204b286..a6542a4 100644 --- a/docs/views/TradeDetail.md +++ b/docs/views/TradeDetail.md @@ -11,6 +11,7 @@ - 分时图:TradingView Lightweight Charts 渲染,支持 Past、时间粒度切换(1H/6H/1D/1W/1M/ALL);**Yes/No 模式**数据来自 **GET /pmPriceHistory/getPmPriceHistoryPublic**(market 传 clobTokenIds[0]),接口返回 `time`(Unix 秒)、`price`(0–1)转成 `[timestamp_ms, value_0_100][]` 后缓存在 `rawChartData`,**分时**为前端按当前选中范围过滤:1H=最近 1 小时、6H=6 小时、1D=1 天、1W=7 天、1M=30 天、ALL=全部,切换时间范围不重复请求;**加密货币事件**可切换 YES/NO 分时图与加密货币价格走势图(CoinGecko 实时数据),**加密货币模式默认显示 30S 分时走势图** - 订单簿:`OrderBook` 组件,通过 **ClobSdk** 对接 CLOB WebSocket 实时数据(全量快照、增量更新、成交推送);份额接口按 6 位小数传(1_000_000 = 1 share),`priceSizeToRows` 与 `mergeDelta` 会将 raw 值除以 `ORDER_BOOK_SIZE_SCALE` 转为展示值 +- 订单簿外层容器(`order-book-card`)已去除重复外边框,仅保留 `OrderBook` 组件单层描边,避免视觉上出现双层边线 - 交易:`TradeComponent`,传入 `market`、`initialOption`、`positions`(持仓数据) - 持仓列表:通过 `getPositionList` 获取当前市场持仓,传递给 `TradeComponent` 用于计算可合并份额 - 限价订单:通过 `getOrderList` 获取当前市场未成交限价单,支持撤单 diff --git a/docs/views/Wallet.md b/docs/views/Wallet.md index 5eb7d87..7df5e42 100644 --- a/docs/views/Wallet.md +++ b/docs/views/Wallet.md @@ -5,15 +5,37 @@ ## 功能用途 -钱包页,展示 Portfolio、Profit/Loss、Positions、Open orders、History。支持 Deposit/Withdraw 弹窗、搜索、筛选(如 Close Losses)。 +钱包页,展示 Portfolio、Profit/Loss 与四类交易数据(Positions / Open orders / History / Withdrawals)。当前已按 `design/pencil-new.pen` 的 `tuLlv`、`KRKZv`、`aRC6m`、`tZDYO` 节点同步为卡片化移动端布局:不展示搜索栏和筛选工具栏,tab 选中后直接显示列表内容。 + +其中 `tuLlv`(Wallet - Positions)已按设计稿做 1:1 样式对齐: +- 页面容器使用移动端自适应宽度(`width: 100%`),统一 `16px` 间距与内边距 +- 顶部为「钱包」标题 +- Portfolio 卡片使用主色背景(`$--primary`)与白色文本 +- 快捷操作区为两个等宽按钮(`t('wallet.deposit')` / `t('wallet.withdraw')`) +- Settlement 卡片为紧凑样式,右侧胶囊 Claim 按钮 +- Wallet Section 为圆角描边卡片 + 胶囊 tabs + Positions 卡片列表 +- Positions 标题区采用“右侧价格优先”的自适应布局:价格变长时标题区域自动收缩,标题单行并使用跑马灯展示超出内容,避免与价格重叠 ## 核心能力 - Portfolio 卡片:余额、Deposit/Withdraw 按钮 - Profit/Loss 卡片:时间范围切换(1D/1W/1M/ALL)、Lightweight Charts 资产变化面积图;数据格式为 `[timestamp_ms, pnl][]`,**暂无接口时全部显示为 0**(真实时间轴 + 数值 0),有接口后在此处对接 - Tab:Positions、Open orders、**History**(历史记录来自 **GET /hr/getHistoryRecordListClient**,`src/api/historyRecord.ts`,需鉴权、按当前用户分页)、Withdrawals(提现记录) +- Positions:卡片展示市场图标、标题、YES/NO outcome、价值、盈亏、`t('wallet.sharesLabel')`、`t('wallet.avgPriceLabel')`、`t('wallet.currentPriceLabel')` +- Open orders:卡片展示图标、标题、BUY/SELL 标签、YES/NO 标签、`t('wallet.openOrderPriceLabel')`、`t('wallet.filledTotalLabel')`、`t('wallet.orderValueLabel')`、取消按钮 +- Open orders 标题区与 Positions 一致采用单行跑马灯;标题容器可自适应收缩,优先保证右侧取消按钮与数值不重叠 +- Open orders 样式参数已按设计值收敛:图标 `44x44`、取消按钮 `32x32` 圆形描边、BUY/SELL 为描边矩形标签(`22px` 高、`6px` 圆角)、YES/NO 为胶囊标签(`20px` 高、`999px` 圆角) +- Open orders 顶部结构按设计对齐:左侧图标置于左上,图标右侧为垂直两行(标题 + BUY/YES/NO 同行标签),右侧关闭按钮与图标处于同一顶行;下半部分独立展示价格相关三列信息 +- 当接口返回的 `order.market` 为空时,标题会自动回退为 `Market · `,避免顶部标题为空导致布局塌陷 +- Open orders 卡片主容器使用纵向布局(上半结构 + 下半价格区),避免价格区被挤到右侧并出现竖排换行 +- History:支持两种卡片形态(交易卡 + 充值/提现卡) +- History(`ny6M5`)已按设计做 1:1 对齐:交易卡为“图标+标题日期+右侧金额”上行、下行“BUY/SELL 标签 + `t('wallet.priceLabel')`/`t('wallet.sharesLabel')`”;资金卡为“左侧图标与标题日期 + 右侧金额”的单行结构 +- History 标题采用与 Positions/Open orders 一致的单行跑马灯方案,超出宽度时自动循环滚动展示 +- Withdrawals:紧凑提现卡(日期、链路标签、状态标签、金额/手续费、地址) +- Withdrawals(`UjOKn`)按 1:1 结构实现:顶部日期 + 链路/状态标签、中部金额与手续费双列、底部地址;并在无真实记录时提供 3 条预览数据用于视觉验收 +- Withdrawals 头部布局已调整为“日期在上、chain 在日期下方、状态标签在右侧”,并收紧卡片内边距与列表间距以贴合设计稿密度 - **可结算/领取**:未结算项(unsettledItems)由持仓中有 `marketID`、`tokenID` 且 **所属 market.closed=true** 的项组成,用于「领取结算」按钮;不再使用 needClaim 判断 -- Withdrawals:分页列表,状态筛选(全部/审核中/提现成功/审核不通过/提现失败),对接 GET /pmset/getPmSettlementRequestsListClient +- Withdrawals:对接 GET /pmset/getPmSettlementRequestsListClient,保留状态映射展示 - DepositDialog、WithdrawDialog 组件 - **401 权限错误**:取消订单等接口失败时,通过 `useAuthError().formatAuthError` 统一提示「请先登录」或「权限不足」 @@ -24,6 +46,6 @@ ## 扩展方式 -1. **真实数据**:Positions、Orders、History 对接接口 -2. **导出**:History 支持导出 CSV -3. **筛选**:按市场、时间、盈亏等筛选 +1. **真实字段补全**:若后端补充订单价值、手续费等字段,可替换当前前端组合文案(如 `price × total`)。 +2. **卡片交互增强**:可在不改变结构前提下添加点击展开、跳转详情、快捷撤单等行为。 +3. **视觉主题扩展**:保持当前卡片信息架构,按主题变量调整色彩与密度以适配暗色模式。