diff --git a/css/style.css b/css/style.css
index fbf2c3d..c2debbd 100644
--- a/css/style.css
+++ b/css/style.css
@@ -1986,6 +1986,7 @@ input[type="range"]::-webkit-slider-thumb {
.so-cmds-row { display: flex; align-items: center; gap: 8px; padding: 4px 8px; border: 1px solid var(--border); border-radius: 6px; }
.so-cmds-cmd { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.so-cmds-empty { font-size: 12px; color: var(--text-dim); }
+#qsBack { flex-shrink: 0; }
.qs-cmd { font-family: ui-monospace, Consolas, monospace; font-size: 13px; }
/* ---- + New dropdown ---------------------------------- */
diff --git a/index.html b/index.html
index 05bcb70..1afbd8c 100644
--- a/index.html
+++ b/index.html
@@ -1233,7 +1233,9 @@
-
+
+
+
diff --git a/js/app.js b/js/app.js
index 05374e0..3084146 100644
--- a/js/app.js
+++ b/js/app.js
@@ -8932,6 +8932,9 @@ async function init() {
e.stopPropagation();
if (qsCommands) { qsLeaveCommands(); return; } // liste -> entrees
closeQuickSearchModal();
+ } else if (e.key === 'Backspace' && qsCommands && !qsInput.value) {
+ e.preventDefault();
+ qsLeaveCommands(); // retour, comme Esc
} else if (e.key === 'ArrowDown') {
e.preventDefault();
if (rows.length) { quickSearchSelected++; quickSearchRender(); }
diff --git a/js/app.overlays.js b/js/app.overlays.js
index 1473972..cc7c4df 100644
--- a/js/app.overlays.js
+++ b/js/app.overlays.js
@@ -54,7 +54,7 @@ function qsLeaveCommands() {
qsCommands = null;
const input = document.getElementById('quickSearchInput');
input.value = '';
- input.placeholder = 'Search and press Enter to copy password…';
+ input.placeholder = 'Search…';
quickSearchSelected = 0;
qsApplyMode();
quickSearchRender();
@@ -125,6 +125,10 @@ function qsApplyMode() {
box.querySelectorAll('[data-qsmode]').forEach(b =>
b.classList.toggle('is-on', (b.dataset.qsmode === 'fill') === qsFills()));
}
+ const back = document.getElementById('qsBack');
+ if (back) back.hidden = !qsCommands;
+ const ico = document.getElementById('qsSearchIcon');
+ if (ico) ico.style.display = qsCommands ? 'none' : '';
const hintEl = document.querySelector('#quickSearchModal .quick-search-hint');
if (hintEl && qsCommands) {
hintEl.textContent = qsFills()
@@ -138,6 +142,12 @@ function qsApplyMode() {
}
document.addEventListener('click', ev => {
+ if (ev.target.closest && ev.target.closest('#qsBack')) {
+ ev.stopPropagation();
+ qsLeaveCommands();
+ document.getElementById('quickSearchInput').focus();
+ return;
+ }
const b = ev.target.closest && ev.target.closest('[data-qsmode]');
if (!b) return;
quickSearchPreferCopy = b.dataset.qsmode === 'copy';