diff --git a/src/frontend/index.html b/src/frontend/index.html index c0c029e..dbee9df 100644 --- a/src/frontend/index.html +++ b/src/frontend/index.html @@ -12,6 +12,7 @@
XCTerminal
+
@@ -22,10 +23,199 @@ +
-
-
-
@@ -34,15 +224,15 @@ diff --git a/src/frontend/styles.css b/src/frontend/styles.css index e670495..66f3221 100644 --- a/src/frontend/styles.css +++ b/src/frontend/styles.css @@ -206,4 +206,93 @@ html, body { border: 2px solid #333; cursor: pointer; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); +} + +#layout-toggle { + width: 28px; + height: 28px; + border: none; + border-radius: 6px; + background: transparent; + color: var(--text-secondary); + cursor: pointer; + font-size: 16px; + transition: color 0.2s, background 0.2s; + -webkit-app-region: no-drag; +} + +#layout-toggle:hover { + color: var(--text-primary); + background: var(--bg-tertiary); +} + +.layout-popup { + position: absolute; + top: 44px; + right: 16px; + background: var(--bg-secondary); + border: 1px solid var(--border); + border-radius: 8px; + padding: 12px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + z-index: 1000; +} + +.layout-popup.hidden { + display: none; +} + +.layout-grid { + display: flex; + flex-direction: column; + gap: 12px; +} + +.layout-row { + display: flex; + gap: 12px; +} + +.layout-option { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + cursor: pointer; + padding: 6px; + border-radius: 6px; + transition: background 0.2s; +} + +.layout-option:hover { + background: var(--bg-tertiary); +} + +.layout-option.selected { + background: var(--accent); +} + +.layout-preview { + display: grid; + gap: 2px; + width: 48px; + height: 48px; + background: var(--border); + border-radius: 4px; + padding: 2px; +} + +.layout-cell { + background: var(--text-secondary); + border-radius: 2px; + opacity: 0.6; +} + +.layout-option.selected .layout-cell { + background: var(--bg-secondary); +} + +.layout-label { + font-size: 10px; + color: var(--text-secondary); } \ No newline at end of file