전략편집기 팝업 기능 적용
This commit is contained in:
@@ -12,6 +12,21 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.se-page--modal {
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.se-btn--modal-close {
|
||||
font-size: 1.35rem;
|
||||
line-height: 1;
|
||||
color: var(--se-text-muted);
|
||||
}
|
||||
|
||||
.se-btn--modal-close:hover {
|
||||
color: var(--se-text);
|
||||
}
|
||||
|
||||
.se-save-toast {
|
||||
position: absolute;
|
||||
top: 56px;
|
||||
|
||||
@@ -80,6 +80,69 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.seval-left-tabs-row {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: 6px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.seval-left-tabs-row .btd-exec-tabs {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.seval-strategy-add-btn {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
margin-bottom: 6px;
|
||||
padding: 0;
|
||||
border: 1px solid color-mix(in srgb, var(--btd-gold, var(--se-gold)) 40%, var(--se-border));
|
||||
border-radius: 7px;
|
||||
background: color-mix(in srgb, var(--btd-gold, var(--se-gold)) 12%, var(--se-input-bg));
|
||||
color: var(--btd-gold, var(--se-gold));
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.seval-strategy-add-btn:hover {
|
||||
background: color-mix(in srgb, var(--btd-gold, var(--se-gold)) 22%, var(--se-input-bg));
|
||||
}
|
||||
|
||||
.seval-editor-modal-overlay {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 12000;
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
justify-content: center;
|
||||
background: rgba(0, 0, 0, 0.72);
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
|
||||
.seval-editor-modal-shell {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
margin: 8px;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
border: 1px solid color-mix(in srgb, var(--se-gold) 35%, transparent);
|
||||
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
|
||||
}
|
||||
|
||||
.seval-editor-modal-loading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
color: var(--se-text-muted);
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
.seval-main-content {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
@@ -969,6 +1032,14 @@
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.seval-settings-top {
|
||||
flex: 1 1 52%;
|
||||
min-height: 120px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.seval-settings-head {
|
||||
flex-shrink: 0;
|
||||
padding: 4px 2px 8px;
|
||||
@@ -1108,6 +1179,184 @@
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* ── 전략설정 탭 하단 — 조건식 · 상세 설명 ─────────────────────────────── */
|
||||
.seval-detail {
|
||||
flex: 1 1 48%;
|
||||
min-height: 160px;
|
||||
max-height: 52%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid var(--btd-divider, var(--se-border));
|
||||
background: color-mix(in srgb, var(--btd-surface, var(--se-palette-card-bg)) 88%, transparent);
|
||||
}
|
||||
|
||||
.seval-detail-head {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
justify-content: space-between;
|
||||
gap: 8px;
|
||||
padding: 8px 2px 6px;
|
||||
border-bottom: 1px solid var(--btd-divider, var(--se-border));
|
||||
}
|
||||
|
||||
.seval-detail-title {
|
||||
margin: 0;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 700;
|
||||
color: var(--btd-gold, var(--se-gold));
|
||||
letter-spacing: 0.02em;
|
||||
}
|
||||
|
||||
.seval-detail-strategy {
|
||||
font-size: 0.62rem;
|
||||
color: var(--se-text-muted);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.seval-detail-scroll {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow-y: auto;
|
||||
overscroll-behavior: contain;
|
||||
padding: 8px 2px 10px;
|
||||
}
|
||||
|
||||
.seval-detail-section + .seval-detail-section {
|
||||
margin-top: 12px;
|
||||
padding-top: 10px;
|
||||
border-top: 1px dashed color-mix(in srgb, var(--btd-divider, var(--se-border)) 70%, transparent);
|
||||
}
|
||||
|
||||
.seval-detail-section-title {
|
||||
margin: 0 0 8px;
|
||||
font-size: 0.68rem;
|
||||
font-weight: 700;
|
||||
color: var(--se-text);
|
||||
}
|
||||
|
||||
.seval-detail-empty {
|
||||
margin: 0;
|
||||
font-size: 0.66rem;
|
||||
color: var(--se-text-muted);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.seval-detail-formulas {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.seval-detail-formula {
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--btd-divider, var(--se-border));
|
||||
background: var(--btd-surface, var(--se-input-bg));
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.seval-detail-formula--buy {
|
||||
border-color: color-mix(in srgb, #4caf50 28%, var(--se-border));
|
||||
}
|
||||
|
||||
.seval-detail-formula--sell {
|
||||
border-color: color-mix(in srgb, #ef5350 28%, var(--se-border));
|
||||
}
|
||||
|
||||
.seval-detail-formula-head {
|
||||
padding: 6px 8px;
|
||||
border-bottom: 1px solid var(--btd-divider, var(--se-border));
|
||||
}
|
||||
|
||||
.seval-detail-formula-badge {
|
||||
font-size: 0.64rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.seval-detail-formula-badge--buy {
|
||||
color: #66bb6a;
|
||||
}
|
||||
|
||||
.seval-detail-formula-badge--sell {
|
||||
color: #ef5350;
|
||||
}
|
||||
|
||||
.seval-detail-formula-expr {
|
||||
margin: 0;
|
||||
padding: 8px;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
||||
font-size: 0.62rem;
|
||||
line-height: 1.45;
|
||||
color: var(--se-text);
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
background: rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.seval-detail-formula-text {
|
||||
margin: 0;
|
||||
padding: 6px 8px 8px;
|
||||
font-size: 0.64rem;
|
||||
line-height: 1.45;
|
||||
color: var(--se-text-muted);
|
||||
}
|
||||
|
||||
.seval-detail-narrative {
|
||||
font-size: 0.64rem;
|
||||
line-height: 1.5;
|
||||
color: var(--se-text);
|
||||
}
|
||||
|
||||
.seval-detail-intro {
|
||||
margin: 0 0 8px;
|
||||
color: var(--se-text-muted);
|
||||
}
|
||||
|
||||
.seval-detail-block + .seval-detail-block {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.seval-detail-block-title {
|
||||
margin: 0 0 6px;
|
||||
font-size: 0.66rem;
|
||||
font-weight: 700;
|
||||
color: var(--se-text);
|
||||
}
|
||||
|
||||
.seval-detail-para {
|
||||
margin: 0 0 6px;
|
||||
}
|
||||
|
||||
.seval-detail-list {
|
||||
margin: 4px 0 0;
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.seval-detail-list-item {
|
||||
margin: 0 0 4px;
|
||||
padding-left: 0;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
color: var(--se-text-muted);
|
||||
}
|
||||
|
||||
.seval-detail-footnotes {
|
||||
margin-top: 10px;
|
||||
padding-top: 8px;
|
||||
border-top: 1px solid var(--btd-divider, var(--se-border));
|
||||
}
|
||||
|
||||
.seval-detail-footnote {
|
||||
margin: 0 0 4px;
|
||||
font-size: 0.6rem;
|
||||
color: var(--se-text-muted);
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
/* ── 조건 분석보기 버튼 · 팝업 ─────────────────────────────────────────── */
|
||||
.seval-analyze-btn {
|
||||
flex-shrink: 0;
|
||||
|
||||
Reference in New Issue
Block a user