feat: upgrade search to live dropdown with paper-level results + debounce

This commit is contained in:
2026-06-09 15:52:47 +00:00
parent 3d869fd1fd
commit 7bbc0f912f
3 changed files with 115 additions and 9 deletions

View File

@@ -174,6 +174,25 @@ body {
.search-input:focus { border-color: var(--blue); }
.search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--text-dim); }
/* Search results dropdown */
.search-results {
display: none; position: absolute; top: 100%; left: 0; right: 0;
margin-top: 4px; background: var(--bg-card); border: 1px solid var(--border);
border-radius: var(--radius); max-height: 480px; overflow-y: auto;
z-index: 50; box-shadow: 0 8px 24px rgba(0,0,0,.4);
}
.search-result-item {
padding: 10px 14px; cursor: pointer; border-bottom: 1px solid var(--border);
transition: background var(--transition);
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { background: rgba(88,166,255,.06); }
.search-result-title { font-size: 0.85em; color: var(--text-bright); margin-bottom: 3px; line-height: 1.4; }
.search-result-title mark { background: rgba(88,166,255,.25); color: var(--blue); padding: 0 2px; border-radius: 2px; }
.search-result-meta { font-size: 0.72em; color: var(--text-dim); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search-result-empty { padding: 20px; text-align: center; color: var(--text-dim); font-size: 0.85em; }
.search-result-footer { padding: 8px 14px; font-size: 0.7em; color: var(--text-dim); text-align: center; border-top: 1px solid var(--border); }
@media (max-width: 640px) { .grid { grid-template-columns: 1fr; } .modal { padding: 20px 16px; } }
/* PDF viewer */