From b6cc275d24c4be0b155b0c4d4a7d95b5bea8b4de Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 15 Feb 2026 20:25:29 +0800 Subject: [PATCH] update --- frontend/paper-trading.html | 412 +++++++++++++++++++++++++++++++++++- 1 file changed, 411 insertions(+), 1 deletion(-) diff --git a/frontend/paper-trading.html b/frontend/paper-trading.html index abc0686..f757abc 100644 --- a/frontend/paper-trading.html +++ b/frontend/paper-trading.html @@ -674,6 +674,263 @@ font-size: 16px; } } + + /* 分享按钮 */ + .action-btn.share { + background: transparent; + border: 1px solid var(--accent); + color: var(--accent); + padding: 4px 8px; + margin-right: 4px; + font-size: 12px; + } + + .action-btn.share:hover { + background: rgba(0, 212, 170, 0.1); + } + + /* 分享模态框 */ + .share-modal-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.8); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + } + + .share-modal { + background: var(--bg-secondary); + border-radius: 12px; + padding: 20px; + max-width: 400px; + width: 90%; + } + + .share-modal-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 16px; + } + + .share-modal-header h3 { + margin: 0; + color: var(--text-primary); + font-weight: 400; + } + + .close-btn { + background: none; + border: none; + color: var(--text-secondary); + font-size: 24px; + cursor: pointer; + } + + .close-btn:hover { + color: var(--text-primary); + } + + /* 分享卡片 */ + .share-card { + background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); + border-radius: 16px; + padding: 24px; + color: #fff; + } + + .share-card-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + } + + .share-logo { + font-size: 18px; + font-weight: 700; + letter-spacing: 2px; + color: var(--accent); + } + + .share-time { + font-size: 12px; + color: rgba(255, 255, 255, 0.6); + } + + .share-card-body { + text-align: center; + } + + .share-symbol { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + margin-bottom: 16px; + } + + .symbol-name { + font-size: 24px; + font-weight: 600; + } + + .side-tag { + padding: 4px 12px; + border-radius: 4px; + font-size: 14px; + font-weight: 500; + } + + .side-tag.long { + background: rgba(0, 200, 150, 0.2); + color: #00c896; + } + + .side-tag.short { + background: rgba(255, 99, 99, 0.2); + color: #ff6363; + } + + .share-pnl { + font-size: 48px; + font-weight: 700; + margin-bottom: 8px; + } + + .share-pnl.positive { + color: #00c896; + } + + .share-pnl.negative { + color: #ff6363; + } + + .share-pnl-amount { + font-size: 20px; + margin-bottom: 24px; + } + + .share-pnl-amount.positive { + color: #00c896; + } + + .share-pnl-amount.negative { + color: #ff6363; + } + + .share-prices { + display: flex; + justify-content: center; + gap: 40px; + margin-bottom: 24px; + padding: 16px; + background: rgba(255, 255, 255, 0.05); + border-radius: 8px; + } + + .share-prices .price-item { + text-align: center; + } + + .share-prices .price-label { + display: block; + font-size: 12px; + color: rgba(255, 255, 255, 0.6); + margin-bottom: 4px; + } + + .share-prices .price-value { + font-size: 18px; + font-weight: 500; + } + + .share-footer { + display: flex; + justify-content: space-between; + align-items: center; + padding-top: 16px; + border-top: 1px solid rgba(255, 255, 255, 0.1); + } + + .share-grade { + display: flex; + align-items: center; + gap: 8px; + } + + .share-grade .grade-badge { + padding: 4px 8px; + border-radius: 4px; + font-size: 12px; + font-weight: 600; + } + + .share-grade .grade-badge.A { + background: linear-gradient(135deg, #ffd700, #ffb300); + color: #1a1a2e; + } + + .share-grade .grade-badge.B { + background: linear-gradient(135deg, #c0c0c0, #a0a0a0); + color: #1a1a2e; + } + + .share-grade .grade-badge.C { + background: linear-gradient(135deg, #cd7f32, #a0522d); + color: #fff; + } + + .share-grade .grade-text { + font-size: 12px; + color: rgba(255, 255, 255, 0.6); + } + + .share-slogan { + font-size: 12px; + color: rgba(255, 255, 255, 0.4); + font-style: italic; + } + + /* 分享按钮 */ + .share-modal-actions { + display: flex; + gap: 12px; + margin-top: 16px; + } + + .share-btn { + flex: 1; + padding: 12px; + border: none; + border-radius: 8px; + font-size: 14px; + cursor: pointer; + transition: all 0.2s; + } + + .share-btn.download { + background: var(--accent); + color: #1a1a2e; + } + + .share-btn.download:hover { + background: #00b894; + } + + .share-btn.copy { + background: rgba(255, 255, 255, 0.1); + color: var(--text-primary); + } + + .share-btn.copy:hover { + background: rgba(255, 255, 255, 0.2); + } @@ -848,6 +1105,9 @@ ${{ order.quantity }} {{ formatTime(order.status === 'open' ? order.opened_at : order.created_at) }} + @@ -960,9 +1220,65 @@ + + +
+
+ + + +
+
+