업비트 스타일 매수/매도 탭 주문 패널 적용

- TradeTabOrderPanel 신규 생성: 매수|매도|간편주문|거래내역 탭
  - 매수 탭: 빨간 하단 인디케이터, 매도 탭: 파란 하단 인디케이터
  - 간편주문: 시장가 즉시체결 (KRW 금액 입력 + % 버튼)
  - 거래내역: historySlot prop으로 외부 콘텐츠 주입
- VirtualTradingPage: 외부 '거래' 탭 제거 → 거래내역 내부 탭으로 이동
- PaperTradingPage: 미체결/체결/원장 거래내역 내부 탭으로 이동
- TradeNotificationListPage·RightSidePanel: TradeTabOrderPanel 적용
- tradeRightPanel.css: ttop-* · qop-* 스타일 추가

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Macbook
2026-06-11 12:25:36 +09:00
parent 1752ec555a
commit c601293ed7
7 changed files with 653 additions and 54 deletions
@@ -23,7 +23,7 @@ import BacktestAnalysisReportModal from './backtest/BacktestAnalysisReportModal'
import type { BacktestAnalysisReportModel } from './backtest/BacktestAnalysisReportModal';
import { coerceFiniteNumber } from '../utils/safeFormat';
import {
TradeSplitOrderPanel,
TradeTabOrderPanel,
TradeOrderbookPanelContent,
TradeRightPanelTabs,
TradeRightPanelBody,
@@ -753,7 +753,7 @@ export const TradeNotificationListPage: React.FC<Props> = ({
bodyClassName="tnl-right-body"
>
{rightTab === 'trade' ? (
<TradeSplitOrderPanel
<TradeTabOrderPanel
market={selectedMarket}
tradePrice={tradePrice}
availableKrw={coerceFiniteNumber(summary?.cashBalance) ?? 0}
@@ -764,6 +764,7 @@ export const TradeNotificationListPage: React.FC<Props> = ({
paperTradingEnabled={paperTradingEnabled}
paperAutoTradeEnabled={paperAutoTradeEnabled}
onPaperOrderFilled={() => void refreshPaperData()}
hideHistory
/>
) : (
<TradeOrderbookPanelContent