remove: eliminate floating status panel above editor menu
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled

Removed redundant floating status panel that appeared above the editor menu:

## 🗑️ Floating Status Panel Removal
- **Issue**: Floating status panel in top-right corner duplicated information already in menu
- **Solution**: Disabled `updateStatusDisplay()` method and removed `createStatusPanel()`
- **Result**: Cleaner UI with status information only shown in integrated menu

## 🎯 Changes Made
- **updateStatusDisplay()**: Now returns early without creating floating panel
- **createStatusPanel()**: Method removed since no longer needed
- **Status Integration**: Status information remains available in control panel menu
- **UI Cleanup**: Eliminates visual clutter and redundant information display

## 🚀 User Experience Improvements
- **Cleaner Interface**: No floating overlay competing with menu
- **Single Source**: Status information consolidated in menu only
- **Reduced Clutter**: Simpler, more focused editing experience
- **Better Performance**: No unnecessary DOM element creation/updates

## 🔧 Technical Benefits
- **Code Simplification**: Removed ~40 lines of floating panel code
- **Performance**: No periodic floating panel updates (every 2 seconds)
- **Memory Efficiency**: No floating DOM elements consuming resources
- **Maintainability**: Single status display location to maintain

##  Backward Compatibility
- **Control Panel**: Status information still available in menu
- **Status Tracking**: Real-time tracking continues to work
- **Menu Integration**: All status features remain functional
- **No Functionality Loss**: Only redundant display removed

Added comprehensive test suite with 5 tests verifying floating panel removal.
Interface is now cleaner with status information properly integrated into menu.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-02 21:19:16 +01:00
parent 4f41b22335
commit ea307a7e00
2 changed files with 185 additions and 81 deletions

View File

@@ -2978,93 +2978,17 @@ class DOMRenderer {
* Create status panel for real-time status display
* @returns {HTMLElement} Status panel element
*/
createStatusPanel() {
const panel = document.createElement('div');
panel.className = 'ui-edit-status-panel';
panel.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: white;
border: 1px solid #ddd;
border-radius: 8px;
padding: 12px 16px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-size: 14px;
z-index: 1000;
min-width: 180px;
`;
const statusText = document.createElement('div');
statusText.className = 'ui-edit-status-text';
statusText.textContent = 'Ready';
const detailsText = document.createElement('div');
detailsText.className = 'ui-edit-status-details';
detailsText.style.cssText = `
font-size: 12px;
color: #666;
margin-top: 4px;
`;
panel.appendChild(statusText);
panel.appendChild(detailsText);
return panel;
}
// createStatusPanel method removed - floating status panel no longer needed
// Status information is displayed in the control panel menu instead
/**
* Update status display with current status information
* @param {Object} status - Status object from SectionManager
*/
updateStatusDisplay(status) {
let statusPanel = document.querySelector('.ui-edit-status-panel');
if (!statusPanel) {
statusPanel = this.createStatusPanel();
document.body.appendChild(statusPanel);
}
const statusText = statusPanel.querySelector('.ui-edit-status-text');
const detailsText = statusPanel.querySelector('.ui-edit-status-details');
// Update status text and color based on state
switch (status.state) {
case 'ready':
statusText.textContent = '✓ Ready';
statusText.style.color = '#28a745';
break;
case 'editing':
statusText.textContent = '✏️ Editing';
statusText.style.color = '#007bff';
break;
case 'modified':
statusText.textContent = '⚠️ Modified';
statusText.style.color = '#ffc107';
break;
default:
statusText.textContent = 'Unknown';
statusText.style.color = '#6c757d';
}
// Update details
const details = [];
details.push(`${status.totalSections} sections`);
if (status.editingSections.length > 0) {
details.push(`${status.editingSections.length} editing`);
}
if (status.modifiedSections > 0) {
details.push(`${status.modifiedSections} modified`);
}
detailsText.textContent = details.join(' • ');
// Update timestamp
const now = new Date().toLocaleTimeString();
statusPanel.setAttribute('title', `Last update: ${now}`);
// Status information is now only displayed in the control panel menu
// No floating status panel needed since status is integrated into the menu
return;
}
}