서버 가상매매 목록 지표없음 문제 개선

This commit is contained in:
Macbook
2026-06-07 19:14:13 +09:00
parent b294c2be5d
commit 2f3133d413
10 changed files with 299 additions and 62 deletions
@@ -4,6 +4,7 @@ import {
resolveVirtualTargetNames,
resolveVirtualTargetStrategyDisplayName,
} from '../../utils/virtualTargetNames';
import { resolveVirtualTargetStrategyId } from '../../utils/virtualTargetStrategy';
import type { VirtualIndicatorSnapshot } from '../../hooks/useVirtualIndicatorSnapshots';
import { useLiveReceiveFlash } from '../../hooks/useLiveReceiveFlash';
import type { ChartRealtimeSource } from '../../hooks/useChartRealtimeData';
@@ -57,6 +58,8 @@ interface Props {
readOnlyStrategyLabel?: string;
/** 헤더 우측 레이아웃 (알림 목록 신호 슬롯: inline-quote) */
headVariant?: VirtualCardHeadVariant;
/** gc_app_settings.liveStrategyId — ui 미동기화 시 지표 평가용 */
appLiveStrategyId?: number | null;
}
const VirtualTargetCard: React.FC<Props> = ({
@@ -88,6 +91,7 @@ const VirtualTargetCard: React.FC<Props> = ({
englishName,
readOnlyStrategyLabel,
headVariant = 'default',
appLiveStrategyId = null,
}) => {
const inlineHeadQuote = headVariant === 'inline-quote';
const { koreanName: displayKo, englishName: displayEn } = resolveVirtualTargetNames(
@@ -101,6 +105,11 @@ const VirtualTargetCard: React.FC<Props> = ({
readOnlyStrategyLabel,
);
const rows = snapshot?.rows ?? [];
const effectiveStrategyId = resolveVirtualTargetStrategyId(
{ strategyId },
globalStrategyId,
appLiveStrategyId,
);
const metrics = useMemo(() => buildConditionMetrics(rows), [rows]);
const metCount = metrics.filter(m => m.status === 'match').length;
@@ -232,6 +241,7 @@ const VirtualTargetCard: React.FC<Props> = ({
viewMode={viewMode}
receiving={highlightReceiving}
loading={signalLoading}
hasStrategy={effectiveStrategyId != null}
/>
)}