From 615f509f7dec2b496e51fde210d2f6e93a1e9afa Mon Sep 17 00:00:00 2001 From: Macbook Date: Thu, 18 Jun 2026 09:38:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=84=EB=9E=B5=ED=8F=89=EA=B0=80=20?= =?UTF-8?q?=EC=B0=A8=ED=8A=B8=EC=84=A4=EC=A0=95=ED=83=AD=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/IndicatorSettingsForm.tsx | 9 +- .../components/IndicatorSettingsListRow.tsx | 43 ++-- .../src/components/StrategyEvaluationPage.tsx | 54 ++++- .../ChartPriceAxisLabelSettings.tsx | 73 ++++++ .../StrategyEvaluationChart.tsx | 15 +- .../StrategyEvaluationChartSettingsTab.tsx | 213 ++++++++++++++++++ frontend/src/styles/strategyEvaluation.css | 200 ++++++++++++++++ frontend/src/utils/indicatorSettingsEditor.ts | 28 +++ 8 files changed, 607 insertions(+), 28 deletions(-) create mode 100644 frontend/src/components/strategyEvaluation/ChartPriceAxisLabelSettings.tsx create mode 100644 frontend/src/components/strategyEvaluation/StrategyEvaluationChartSettingsTab.tsx diff --git a/frontend/src/components/IndicatorSettingsForm.tsx b/frontend/src/components/IndicatorSettingsForm.tsx index a49304e..cf9e732 100644 --- a/frontend/src/components/IndicatorSettingsForm.tsx +++ b/frontend/src/components/IndicatorSettingsForm.tsx @@ -50,6 +50,8 @@ export interface IndicatorSettingsFormProps { chartMarket?: string; /** embedded: 일괄 설정 카드 안 */ variant?: 'modal' | 'embedded'; + /** embedded 차트설정 등 — 출력·표시(가격축 라벨·타임프레임) 숨김 */ + hideOutputFooter?: boolean; /** * modal: 편집 중 부모 setState 없이 ref만 갱신 (포커스 유지). * embedded: 변경 즉시 onChange 호출. @@ -85,6 +87,7 @@ const IndicatorSettingsForm: React.FC = ({ variant = 'modal', deferParentSync = variant === 'modal', inputsOnly = false, + hideOutputFooter = false, chartHidden = false, onChartHiddenChange, onChange, @@ -289,7 +292,7 @@ const IndicatorSettingsForm: React.FC = ({ ); })} - {!inputsOnly && } + {!inputsOnly && !hideOutputFooter && } )} @@ -323,7 +326,7 @@ const IndicatorSettingsForm: React.FC = ({ /> )} inputsOnly={inputsOnly} - showOutputFooter={!inputsOnly} + showOutputFooter={!inputsOnly && !hideOutputFooter} /> )} @@ -351,7 +354,7 @@ const IndicatorSettingsForm: React.FC = ({ chartHidden={chartHidden} onChartHidden={onChartHiddenChange} inputsOnly={inputsOnly} - showOutputFooter={!inputsOnly && !isBollinger} + showOutputFooter={!inputsOnly && !hideOutputFooter && !isBollinger} symbolSection={isBollinger ? ( void; onDragLeave?: () => void; onDrop?: (e: React.DragEvent) => void; + /** 차트 on/off 토글 숨김 (전략 평가 차트설정 등) */ + hideChartToggle?: boolean; + /** 출력·표시(가격축 라벨·타임프레임) 숨김 */ + hideOutputFooter?: boolean; } const IndicatorSettingsListRow: React.FC = ({ @@ -41,6 +45,8 @@ const IndicatorSettingsListRow: React.FC = ({ onDragOver, onDragLeave, onDrop, + hideChartToggle = false, + hideOutputFooter = false, }) => { const labels = getIndicatorListLabels(type); const def = getIndicatorDef(type); @@ -88,24 +94,28 @@ const IndicatorSettingsListRow: React.FC = ({
{def?.overlay && 오버레이} {def?.returnsMarkers && 마커} - {enabled ? ( - 차트 적용 - ) : ( - 미적용 + {!hideChartToggle && ( + enabled ? ( + 차트 적용 + ) : ( + 미적용 + ) )}
- + {!hideChartToggle && ( + + )} {variant === 'settings' && onRowDefaults && ( +