feat: Enhance WebDAV file management and UI
- Add functionality to create new collections via API - Implement copy and move operations between collections - Improve image rendering in markdown preview with relative path resolution - Add support for previewing binary files (images, PDFs) - Refactor modal styling to use flat buttons and improve accessibility
This commit is contained in:
@@ -49,11 +49,11 @@ class ModalManager {
|
||||
|
||||
// Update button styling based on danger level
|
||||
if (isDangerous) {
|
||||
this.confirmButton.className = 'btn btn-danger';
|
||||
this.confirmButton.textContent = 'Delete';
|
||||
this.confirmButton.className = 'btn-flat btn-flat-danger';
|
||||
this.confirmButton.innerHTML = '<i class="bi bi-trash"></i> Delete';
|
||||
} else {
|
||||
this.confirmButton.className = 'btn btn-primary';
|
||||
this.confirmButton.textContent = 'OK';
|
||||
this.confirmButton.className = 'btn-flat btn-flat-primary';
|
||||
this.confirmButton.innerHTML = '<i class="bi bi-check-circle"></i> OK';
|
||||
}
|
||||
|
||||
// Set up event handlers
|
||||
@@ -74,6 +74,8 @@ class ModalManager {
|
||||
|
||||
// Focus confirm button after modal is shown
|
||||
this.modalElement.addEventListener('shown.bs.modal', () => {
|
||||
// Ensure aria-hidden is removed (Bootstrap should do this, but be explicit)
|
||||
this.modalElement.removeAttribute('aria-hidden');
|
||||
this.confirmButton.focus();
|
||||
}, { once: true });
|
||||
});
|
||||
@@ -103,8 +105,8 @@ class ModalManager {
|
||||
this.inputElement.value = defaultValue;
|
||||
|
||||
// Reset button to primary style for prompts
|
||||
this.confirmButton.className = 'btn btn-primary';
|
||||
this.confirmButton.textContent = 'OK';
|
||||
this.confirmButton.className = 'btn-flat btn-flat-primary';
|
||||
this.confirmButton.innerHTML = '<i class="bi bi-check-circle"></i> OK';
|
||||
|
||||
// Set up event handlers
|
||||
this.confirmButton.onclick = (e) => {
|
||||
@@ -132,6 +134,8 @@ class ModalManager {
|
||||
|
||||
// Focus and select input after modal is shown
|
||||
this.modalElement.addEventListener('shown.bs.modal', () => {
|
||||
// Ensure aria-hidden is removed (Bootstrap should do this, but be explicit)
|
||||
this.modalElement.removeAttribute('aria-hidden');
|
||||
this.inputElement.focus();
|
||||
this.inputElement.select();
|
||||
}, { once: true });
|
||||
@@ -161,6 +165,11 @@ class ModalManager {
|
||||
this.currentResolver = null;
|
||||
this.isShowing = false;
|
||||
this.modal.hide();
|
||||
|
||||
// Restore aria-hidden after modal is hidden
|
||||
this.modalElement.addEventListener('hidden.bs.modal', () => {
|
||||
this.modalElement.setAttribute('aria-hidden', 'true');
|
||||
}, { once: true });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user