fix(ui): tag counts, j/k nav, stream layout, search alignment

- Tag rail counts now reflect cards-only when in cards view
  (ListTags accepts cardsOnly filter, JS passes it per view)
- j/k navigation scoped to visible (intent/search filtered) list
- scrollSelectedIntoView works in both stream and cards view
- Entity items wrap title/desc/preview in .entity-content flex
  container so tags/pills align right consistently
- Title no longer eaten by description/body (flex-shrink + min-width)
- Search bar centered in header with margin auto
- switchView awaits loadEntities+loadTags to fix stale intent counts
This commit is contained in:
2026-05-16 17:51:04 -04:00
parent ab07f631a7
commit 8bfa9b15ed
5 changed files with 92 additions and 18 deletions
+16
View File
@@ -117,6 +117,7 @@ nav { display: flex; gap: 2px; }
.header-search {
flex: 1;
max-width: 400px;
margin: 0 auto;
}
#search-input {
@@ -363,6 +364,14 @@ main {
.glyph-decision { color: var(--note); }
.glyph-link { color: var(--event); }
.entity-content {
flex: 1;
min-width: 0;
display: flex;
align-items: center;
overflow: hidden;
}
.entity-title {
font-family: var(--sans);
font-size: 12px;
@@ -370,6 +379,8 @@ main {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex-shrink: 1;
min-width: 60px;
}
.entity-desc {
@@ -381,6 +392,8 @@ main {
overflow: hidden;
text-overflow: ellipsis;
margin-left: 8px;
flex-shrink: 1;
min-width: 0;
}
.entity-preview {
@@ -391,10 +404,13 @@ main {
overflow: hidden;
text-overflow: ellipsis;
margin-left: 8px;
flex: 1;
min-width: 0;
}
.entity-body {
flex: 1;
min-width: 0;
font-family: var(--mono);
font-size: 12px;
white-space: nowrap;