68 lines
2.0 KiB
TypeScript
68 lines
2.0 KiB
TypeScript
/**
|
|
* 가상투자 — 종목×전략 차트 팝업 (레거시·외부 호출용)
|
|
*/
|
|
import React from 'react';
|
|
import AppPopup from '../AppPopup';
|
|
import type { StrategyDto } from '../../utils/backendApi';
|
|
import type { Theme } from '../../types';
|
|
import { getKoreanName } from '../../utils/marketNameCache';
|
|
import type { ChartRealtimeSource } from '../../hooks/useChartRealtimeData';
|
|
import VirtualTargetCardChart from './VirtualTargetCardChart';
|
|
import { useAppSettings, resolveAppDefaults } from '../../hooks/useAppSettings';
|
|
|
|
interface Props {
|
|
market: string;
|
|
strategy: StrategyDto | undefined;
|
|
theme?: Theme;
|
|
running?: boolean;
|
|
chartRealtimeSource?: ChartRealtimeSource;
|
|
onClose: () => void;
|
|
}
|
|
|
|
const VirtualStrategyChartPopup: React.FC<Props> = ({
|
|
market,
|
|
strategy,
|
|
theme = 'dark',
|
|
running = false,
|
|
chartRealtimeSource = 'BACKEND_STOMP',
|
|
onClose,
|
|
}) => {
|
|
const { settings: appSettings } = useAppSettings();
|
|
const chartDefaults = resolveAppDefaults(appSettings);
|
|
const chartCandleAreaPriceLabels = chartDefaults.chartCandleAreaPriceLabels;
|
|
const chartSeriesPriceLabels = chartDefaults.chartSeriesPriceLabels;
|
|
|
|
const ko = getKoreanName(market);
|
|
const stratName = strategy?.name ?? '전략 미지정';
|
|
|
|
return (
|
|
<AppPopup
|
|
onClose={onClose}
|
|
title={ko}
|
|
titleKo={stratName}
|
|
badge="CHART"
|
|
width={920}
|
|
maxWidth="96vw"
|
|
centered
|
|
backdrop
|
|
closeOnBackdrop
|
|
bodyClassName="app-popup-body vtd-chart-popup-body"
|
|
>
|
|
<div className="vtd-chart-popup-meta">
|
|
<span className="vtd-chart-popup-strat">{stratName}</span>
|
|
</div>
|
|
<VirtualTargetCardChart
|
|
market={market}
|
|
strategy={strategy}
|
|
theme={theme}
|
|
running={running}
|
|
chartRealtimeSource={chartRealtimeSource}
|
|
chartCandleAreaPriceLabels={chartCandleAreaPriceLabels}
|
|
chartSeriesPriceLabels={chartSeriesPriceLabels}
|
|
/>
|
|
</AppPopup>
|
|
);
|
|
};
|
|
|
|
export default VirtualStrategyChartPopup;
|