Design SystemTemplatesAsset Dashboard

Asset Dashboard

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

Production:src/components/AssetPrediction/source/AssetDashboardPage/AssetDashboardPage.tsx

Installation

import { AssetDashboardPage } from "@/components/product/asset-dashboard-page/asset-dashboard-page";

Page

scaled 61%

Implementation Notes

重組自 ../opinion-labs-archive/prototypes/assets-forecasting/btc-dashboard-spike-v1.html。 原型是 standalone HTML 全手刻;這一版凡是 production 有的一律換成真組件。

用了哪些真組件

頁面上的東西組件
Hero / rail 卡殼Card(@olab)
所有時間切換(1M/3M/6M/1Y、1m…1D、結算日、24H/7D/30D、expiry)Button(@olab)—— DurationSwitch 模式,一排 Button 帶 active,不是 Tabs
Bitcoin markets 四張卡MarketCard(本 repo,type=single = binary)
全市場表格刻意不做(2026-07-28 裁決)—— 改為 View all (N) markets 連結,TextLink(@olab)
三張分析卡AnalysisCard + MetricReadout + HowToRead
機率分佈曲線DistributionChart
Volume profile 柱列VolumeProfileChart
右欄事件軌EventTimeline
收藏WatchlistButton
文字 / 版面Typography + Stack / Inline(@olab)

production 有、但這個 repo 拿不到的

  • Header / Footer / HomeTopSift —— 頁面 chrome。
  • chart.tsx(lightweight-charts)/ AdvancedChart / ECharts —— K 線圖本體。
  • TopicCardView → MarketCard 代打。
  • LabelAccordion —— 全市場表格改成常開,不摺疊。
  • ChartSkeleton / ChartLoadingAnimation —— 沒有 loading 態展示。

N8 水平價格軸:已建,但刻意不是組件

put wall / zero gamma / call wall / spot 與 expected move 帶讀在同一條價格軸上。 2026-07-28 user 裁決走頁內一次性 SVG: 它只出現一次、沒有第二個消費者,正是 CLAUDE.md「≥2 個頁面」那條門檻要濾掉的情況, 所以不佔 Allowed List 名額、也不另開 preview 頁。軸下方仍保留 MetricReadout —— 軸講的是相對位置,精確數字還是得寫出來,「大概在那邊」不能拿來交易。

全中性配色:level 是用未平倉量與 IV 曲面推出來的估計,wall 不是好事、floor 也不是壞事, 所以沒有任何一處吃 trend 或 outcome 色。spot 是唯一的白色記號, 因為它是這排估計值裡唯一被量到的事實。 標籤避讓走貪婪逐列打包(估字寬偏保守,寧可太早分開)—— 目前三個 level 因為軸的 domain 就是由它們自己撐出來的,永遠不會撞; 真正會用到的是 zero gamma 貼在 call wall 上那種情況。

仍是佔位的模組(頁面上有標)

  • N10 K 線圖與它的疊層 —— VWAP、settlement 標記。Expected move 未來扇形已於 2026-08-17 從規格移除(user 裁決「此路不通」);EM 要不要出現在這張圖上、以什麼形式出現,是規格裡優先級最高的 未裁決項。production 根本沒有 candlestick(逐檔查 OpinionLabs/frontend@main:candlestick 全 repo 0 筆,TopicChart 建的是 echarts 平滑折線),所以沒有可對齊的對象。2026-07-28 裁決改以規格交付 dev,本 repo 不實作 —— 見 docs/asset-forecasting/n10-candle-chart-spec.md。

⚠ 發現一個 @olab 既有 bug(不是本頁造成)

Select 的預設 trigger 會在 Ark UI 自己的 <button> 裡再渲染一顆 olab Button,形成巢狀 button,React 會報 hydration error。 既有的 /live/select 頁面有一模一樣的問題, 所以是 Select 本體的事(packages/components/src/components/Select/index.tsx:76), 不在這裡用 workaround 蓋掉。