feat(hibp): show a progress pill while the breach scan runs

Bottom-left, out of the way of the toasts, with a live count. Deliberately not the busy overlay: the scan is network-bound and can take a while, and there is no reason to lock the vault while it runs.
This commit is contained in:
r-zakarya
2026-08-01 19:58:16 +01:00
parent e80703d2c4
commit c9068a6732
2 changed files with 46 additions and 0 deletions
+23
View File
@@ -2343,6 +2343,29 @@ body[data-editor-position="center"]:has(#settingsPanel.is-open)::before {
animation: busy-spin 0.7s linear infinite;
}
@keyframes busy-spin { to { transform: rotate(360deg); } }
/* Breach-scan progress. Bottom-left so it never sits under the toasts, which
stack bottom-right. Non-blocking: no backdrop, no pointer capture. */
.hibp-progress {
position: fixed;
left: 16px; bottom: 16px;
z-index: 150;
display: flex; align-items: center; gap: 8px;
padding: 8px 12px;
border-radius: 8px;
background: var(--bg-elev);
border: 1px solid var(--border);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
font-size: 12px; color: var(--text-dim);
pointer-events: none;
}
.hibp-progress-spinner {
width: 14px; height: 14px;
border: 2px solid var(--border);
border-top-color: var(--accent);
border-radius: 50%;
animation: busy-spin 0.7s linear infinite;
flex-shrink: 0;
}
.busy-text { font-size: 13px; color: var(--text-dim); text-align: center; }
.slideover-field-label { font-size: 11px; font-weight: 500; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.slideover-field-value {