Add saved searches with CRUD API and UI sidebar

Add extension field to search results and display it
Add active filter badges and save button to search header
This commit is contained in:
2026-05-27 08:39:52 -04:00
parent aa2c05b05f
commit e3c25b5b09
6 changed files with 318 additions and 2 deletions
+92
View File
@@ -1858,7 +1858,99 @@ select {
.search-result-item:hover {
background: var(--bg-hover);
border-color: var(--accent);
position: relative;
}
.search-result-ext {
position: absolute;
top: 8px;
right: 10px;
font-size: 0.6rem;
font-weight: 600;
text-transform: uppercase;
color: var(--text-muted);
background: var(--bg-hover);
padding: 1px 6px;
border-radius: 3px;
letter-spacing: 0.5px;
}
.search-filters-row {
display: flex;
gap: 4px;
flex-wrap: wrap;
margin-top: 4px;
}
.search-filter-badge {
font-size: 0.65rem;
font-family: "JetBrains Mono", monospace;
padding: 1px 6px;
border-radius: 3px;
background: rgba(99, 102, 241, 0.1);
color: var(--accent);
font-weight: 600;
}
.search-filter-badge.path {
background: rgba(5, 150, 105, 0.1);
color: #059669;
}
/* Save search button */
.search-save-btn {
padding: 4px 10px;
font-size: 0.75rem;
border: 1px solid var(--border);
border-radius: 4px;
background: var(--bg-secondary);
color: var(--text-primary);
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
}
.search-save-btn:hover { background: var(--bg-hover); }
/* Saved searches sidebar */
.saved-search-item {
display: flex;
align-items: center;
gap: 6px;
padding: 8px 10px;
cursor: pointer;
border-radius: 4px;
transition: background 0.15s;
position: relative;
}
.saved-search-item:hover { background: var(--bg-hover); }
.saved-search-query {
flex: 1;
font-size: 0.8rem;
font-family: "JetBrains Mono", monospace;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.saved-search-meta {
display: flex;
gap: 3px;
align-items: center;
flex-shrink: 0;
}
.saved-search-vault {
font-size: 0.65rem;
color: var(--text-muted);
margin-left: 4px;
}
.saved-search-delete {
background: none;
border: none;
color: var(--text-muted);
cursor: pointer;
font-size: 0.8rem;
padding: 2px 4px;
opacity: 0;
transition: opacity 0.15s;
}
.saved-search-item:hover .saved-search-delete { opacity: 1; }
.saved-search-delete:hover { color: var(--text-error); }
.search-result-title {
font-family: "JetBrains Mono", monospace;
font-size: 0.92rem;