From 4e3f11298731a96c80939632bf25d588a8f6116e Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 14 Nov 2025 22:51:25 +0100 Subject: [PATCH] feat: comprehensive control panel UI improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix version information display with actual Markitect version - Implement auto-resize functionality with double-click on resize dot - Add viewport repositioning to keep panels visible during auto-resize - Reduce title bar height by 25% for more compact appearance - Remove duplicate content titles below titlebars across all panels - Optimize scrollbar positioning to right border with proper spacing - Reposition resize dot to optimal corner location (bottom: 0px, right: -4px) - Set default panel height to 1/3 of window height - Fix Debug panel title formatting consistency - Remove duplicate initialization warnings - Clean up panel layout with proper margin management (10px bottom margin) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../js/controls/contents-control.js | 14 +-- .../js/controls/control-base.js | 119 +++++++++++++++--- .../js/controls/debug-control.js | 7 +- markitect/clean_document_manager.py | 9 +- testdrive-jsui/static/css/controls.css | 8 +- .../static/js/controls/contents-control.js | 14 +-- .../static/js/controls/control-base.js | 119 +++++++++++++++--- .../static/js/controls/debug-control.js | 7 +- testdrive-jsui/templates/index.html | 16 +-- 9 files changed, 236 insertions(+), 77 deletions(-) diff --git a/capabilities/testdrive-jsui/js/controls/contents-control.js b/capabilities/testdrive-jsui/js/controls/contents-control.js index db5afe89..c5bdcdca 100644 --- a/capabilities/testdrive-jsui/js/controls/contents-control.js +++ b/capabilities/testdrive-jsui/js/controls/contents-control.js @@ -118,10 +118,10 @@ class ContentsControl extends ControlBase { if (displayHeadings.length === 0) { return ` -
+

No headings found in document

@@ -129,10 +129,10 @@ class ContentsControl extends ControlBase { } const searchHTML = ` -
+
`; @@ -157,15 +157,15 @@ class ContentsControl extends ControlBase { }).join(''); return ` -
+
${searchHTML} -
+
Found ${displayHeadings.length} heading${displayHeadings.length !== 1 ? 's' : ''}
${contentsHTML}
-
+
@@ -129,10 +129,10 @@ class ContentsControl extends ControlBase { } const searchHTML = ` -
+
`; @@ -157,15 +157,15 @@ class ContentsControl extends ControlBase { }).join(''); return ` -
+
${searchHTML} -
+
Found ${displayHeadings.length} heading${displayHeadings.length !== 1 ? 's' : ''}
${contentsHTML}
-
+