diff --git a/template.html b/template.html index cebcfe1..93f30e5 100644 --- a/template.html +++ b/template.html @@ -562,6 +562,232 @@ color: var(--text-color); } + /* ======================================== + PLOT COMPARISON OVERLAY + ======================================== */ + .comparison-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.9); + z-index: 2000; + display: none; + backdrop-filter: blur(4px); + } + + .comparison-overlay.open { + display: flex; + align-items: center; + justify-content: center; + } + + .comparison-container { + width: 95%; + height: 90%; + background: var(--bg-color); + border-radius: 12px; + padding: 1.5rem; + display: flex; + flex-direction: column; + position: relative; + box-shadow: 0 10px 30px rgba(0,0,0,0.5); + } + + .comparison-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--border-color); + } + + .comparison-title { + font-size: 1.5rem; + font-weight: 600; + color: var(--text-color); + margin: 0; + } + + .comparison-close { + background: var(--button-bg); + color: white; + border: none; + border-radius: 50%; + width: 40px; + height: 40px; + font-size: 1.2rem; + cursor: pointer; + transition: all 0.2s ease; + } + + .comparison-close:hover { + background: var(--button-hover); + transform: scale(1.1); + } + + .comparison-content { + flex: 1; + display: flex; + gap: 1rem; + overflow: hidden; + } + + .comparison-panel { + flex: 1; + display: flex; + flex-direction: column; + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 8px; + overflow: hidden; + } + + .comparison-panel-header { + background: var(--tree-bg); + padding: 0.8rem 1rem; + border-bottom: 1px solid var(--border-color); + display: flex; + justify-content: space-between; + align-items: center; + } + + .comparison-panel-title { + font-weight: 600; + color: var(--text-color); + font-size: 1rem; + } + + .comparison-replace-btn { + background: var(--success-color); + color: white; + border: none; + padding: 0.4rem 0.8rem; + border-radius: 4px; + font-size: 0.85rem; + cursor: pointer; + transition: all 0.2s ease; + } + + .comparison-replace-btn:hover { + background: var(--success-hover); + } + + .comparison-panel-content { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + padding: 1rem; + overflow: auto; + } + + .comparison-plot-container { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + position: relative; + } + + .comparison-plot { + max-width: 100%; + max-height: 100%; + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: pointer; + transition: transform 0.2s ease; + } + + .comparison-plot:hover { + transform: scale(1.02); + } + + .comparison-placeholder { + width: 100%; + height: 300px; + border: 2px dashed var(--border-color); + border-radius: 8px; + display: flex; + align-items: center; + justify-content: center; + color: var(--breadcrumb-color); + font-size: 1.1rem; + cursor: pointer; + transition: all 0.2s ease; + } + + .comparison-placeholder:hover { + border-color: var(--button-bg); + color: var(--button-bg); + } + + .comparison-plot-info { + position: absolute; + bottom: 0.5rem; + left: 0.5rem; + right: 0.5rem; + background: rgba(0, 0, 0, 0.8); + color: white; + padding: 0.5rem; + border-radius: 4px; + font-size: 0.9rem; + opacity: 0; + transition: opacity 0.2s ease; + } + + .comparison-plot-container:hover .comparison-plot-info { + opacity: 1; + } + + /* Plot selection mode */ + .selecting-plots .grid-item { + cursor: pointer !important; + transition: all 0.2s ease; + position: relative; + } + + .selecting-plots .grid-item:hover { + transform: translateY(-4px); + box-shadow: 0 6px 20px rgba(0, 120, 212, 0.3); + border-color: var(--button-bg); + } + + .selecting-plots .grid-item::before { + content: '📊 Click to compare'; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: rgba(0, 120, 212, 0.95); + color: white; + padding: 0.5rem 1rem; + border-radius: 4px; + font-size: 0.9rem; + font-weight: 600; + opacity: 0; + transition: opacity 0.2s ease; + pointer-events: none; + z-index: 10; + white-space: nowrap; + } + + .selecting-plots .grid-item:hover::before { + opacity: 1; + } + + /* Ensure grid items are clickable in selection mode */ + .selecting-plots .grid-item * { + pointer-events: none; + } + + .selecting-plots .grid-item { + pointer-events: auto; + } + /* ======================================== SUBDIRECTORIES LIST ======================================== */ @@ -690,6 +916,9 @@ + @@ -709,6 +938,10 @@ Recent plots Ctrl+R +
+ Compare plots + Ctrl+C +
Refresh F5 @@ -743,6 +976,44 @@
+ +
+
+
+

Plot Comparison

+ +
+
+
+
+ Plot A + +
+
+
+
+ 📊 Click to select first plot +
+
+
+
+
+
+ Plot B + +
+
+
+
+ 📊 Click to select second plot +
+
+
+
+
+
+
+