Design SystemPatternsAssetAssetRow

AssetRow

Adopted在本 repo 設計、production 已採用。站上是設計端的版本,production 實作可能已再調整。

Production:src/components/AssetPrediction/source/AssetPredictionPage/AssetTable.tsx

Installation

import { AssetRow, AssetRowHeader } from "@/components/product/asset-row/asset-row";

Overview

一個資產讀成一列:身份、spot、90 天走勢、市場現在的說法、幾個市場在跑。 Trending 卡是「我們在推的兩個資產」,這一列是「其餘的往下讀」。

整列可點,進該資產的 dashboard。可點的列才有 hover 底色(bg-white-2,跟 market-cds-row / order-book 同一個 mode-aware overlay)——沒有 dashboard 的列不給 hover,affordance 與 hover 必須一致。

收藏星是列裡唯一的獨立控制項。導航用的是覆蓋整列的絕對定位 anchor, 不是把整列包進連結裡:連結裡包按鈕是無效 HTML 也會 hydration 出錯。 星星靠 relative 浮在 anchor 之上,保有自己的點擊。

Interactive Demo

Asset

Spot

90D

What markets imply

Markets

BTC

Bitcoin

Crypto

$65,223.95

−0.54%

47% probability in $66K–$68K

34 active

$4.2M 24H

ETH

Ethereum

Crypto

$1,873.57

−2.35%

38% probability in $1.82K–$1.86K

18 active

$1.1M 24H

SPY

S&P 500 ETF

Stocks & Indices

$632.18

+0.22%

Implied center $634.00

21 active

$1.8M 24H

XAU

Gold

Commodities

$3,352.60

+0.35%

52% probability in $3,400–$3,450

11 active

$960K 24H

SOL

Solana

Crypto

$75.56

−2.49%

Implied center $77.98 · +3.2% vs spot

9 active

$312K 24H

移過去看 hover 底色(只有 Bitcoin 有 dashboard),點星星切換收藏, 點列的其他地方進 dashboard。

Static State Matrix

Default · 有 dashboard

BTC

Bitcoin

Crypto

$65,223.95

−0.54%

47% probability in $66K–$68K

34 active

$4.2M 24H

Hover · 有 dashboard(底色模擬)

BTC

Bitcoin

Crypto

$65,223.95

−0.54%

47% probability in $66K–$68K

34 active

$4.2M 24H

Favorited

BTC

Bitcoin

Crypto

$65,223.95

−0.54%

47% probability in $66K–$68K

34 active

$4.2M 24H

尚無定價市場

DOGE

Dogecoin

Crypto

$0.1284

−1.12%

No priced markets yet

9 active

$88K 24H

Implementation Notes

原本這一列住在 AssetPredictionPage 的 @olab Table columns 陣列裡。 Table 不畫 row hover,而且 cell 內容是 render prop, 列的長相被拆散在設定物件裡、也沒有地方可以 preview—— 所以抽成組件。

欄寬是共用常數(ASSET_ROW_GRID_CLASSES), header 與列共用同一組 grid,標題才會落在自己的欄上。常數內含兩個 fold: md(960)以上是完整七欄;以下換 mobile 緊湊版——gap 減半、ticker 方塊與「What markets imply」欄整個拿掉(該句由 dashboard 承載)、 數值欄縮到 mobile 內容寬。低於各 fold 自己的 min-width 就水平捲動, 不壓縮欄位——市場預期區間被折成兩行會被誤讀成兩個數字。

缺口

  • 每列都可點進 dashboard,但本 repo 只有 Bitcoin 那頁真的存在, 所以每列目前都連到同一頁。
  • 排序不由列負責(沒有可點的欄頭)——排序在頁面的 Select 上。