벡테스팅 수정
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import React, { useMemo } from 'react';
|
||||
import { getKoreanName } from '../../utils/marketNameCache';
|
||||
import type { StrategyDto } from '../../utils/backendApi';
|
||||
import {
|
||||
resolveVirtualTargetNames,
|
||||
resolveVirtualTargetStrategyDisplayName,
|
||||
} from '../../utils/virtualTargetNames';
|
||||
import type { VirtualIndicatorSnapshot } from '../../hooks/useVirtualIndicatorSnapshots';
|
||||
import { useLiveReceiveFlash } from '../../hooks/useLiveReceiveFlash';
|
||||
import type { ChartRealtimeSource } from '../../hooks/useChartRealtimeData';
|
||||
@@ -47,6 +50,9 @@ interface Props {
|
||||
chartPaneSeparator?: import('../../types/chartPaneSeparator').ChartPaneSeparatorOptions;
|
||||
chartLiveReceiveHighlight?: boolean;
|
||||
ticker?: TickerData;
|
||||
/** 투자대상 저장 한글명·영문 심볼 (없으면 티커·마켓 캐시) */
|
||||
koreanName?: string;
|
||||
englishName?: string;
|
||||
/** 알림 목록 등 — 푸터 전략 셀렉트 읽기 전용 라벨 */
|
||||
readOnlyStrategyLabel?: string;
|
||||
/** 헤더 우측 레이아웃 (알림 목록 신호 슬롯: inline-quote) */
|
||||
@@ -78,12 +84,22 @@ const VirtualTargetCard: React.FC<Props> = ({
|
||||
chartPaneSeparator,
|
||||
chartLiveReceiveHighlight = true,
|
||||
ticker,
|
||||
koreanName,
|
||||
englishName,
|
||||
readOnlyStrategyLabel,
|
||||
headVariant = 'default',
|
||||
}) => {
|
||||
const inlineHeadQuote = headVariant === 'inline-quote';
|
||||
const ko = getKoreanName(market);
|
||||
const sym = market.replace(/^KRW-/, '');
|
||||
const { koreanName: displayKo, englishName: displayEn } = resolveVirtualTargetNames(
|
||||
market,
|
||||
koreanName ?? ticker?.koreanName,
|
||||
englishName,
|
||||
);
|
||||
const strategyDisplayName = resolveVirtualTargetStrategyDisplayName(
|
||||
strategy,
|
||||
strategies,
|
||||
readOnlyStrategyLabel,
|
||||
);
|
||||
const rows = snapshot?.rows ?? [];
|
||||
|
||||
const metrics = useMemo(() => buildConditionMetrics(rows), [rows]);
|
||||
@@ -129,9 +145,18 @@ const VirtualTargetCard: React.FC<Props> = ({
|
||||
>
|
||||
<div className="vtd-card-head">
|
||||
<div className="vtd-card-head-main">
|
||||
<div className="vtd-card-title">
|
||||
<span className="vtd-card-ko">{ko}</span>
|
||||
<span className="vtd-card-sym">{sym}</span>
|
||||
<div className={`vtd-card-title${isChart ? ' vtd-card-title--chart' : ''}`}>
|
||||
{isChart ? (
|
||||
<>
|
||||
<span className="vtd-card-chart-strategy">{strategyDisplayName}</span>
|
||||
<span className="vtd-card-ko">{displayKo}</span>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<span className="vtd-card-ko">{displayKo}</span>
|
||||
<span className="vtd-card-sym">{displayEn}</span>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
{inlineHeadQuote ? (
|
||||
|
||||
Reference in New Issue
Block a user