feat(ext/vault): wire vault-status into sidebar footer (Plan C Phase 6)

Renders the status indicator into #vault-status-slot on sidebar mount and on
a manual ↻ button. No timer polling — get_vault_status returns cached state
and sync is user-initiated. Closes the relicario status CLI/extension parity
gap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-05-31 21:33:21 -04:00
parent 5efc3a5491
commit c662db2875
4 changed files with 108 additions and 5 deletions

View File

@@ -2114,8 +2114,18 @@ textarea {
.history-index-row__title { color: var(--text); }
.history-index-row__meta { font-size: 11px; }
/* Sidebar-footer vault status indicator (Plan C Phase 6, vault-status.ts).
The footer slot + refresh button are wired by vault-sidebar.ts in Task 6.3. */
/* Sidebar-footer vault status indicator (Plan C Phase 6, vault-status.ts +
vault-sidebar.ts). Indicator renders into #vault-status-slot; the ↻ button
triggers a manual refresh (no timer polling). */
.vault-sidebar__footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 8px 12px;
border-top: 1px solid var(--border-subtle);
}
#vault-status-slot { flex: 1; min-width: 0; }
.vault-status {
display: flex;
flex-direction: column;
@@ -2125,3 +2135,17 @@ textarea {
}
.vault-status__state { color: var(--text-dim); }
.vault-status__ts { color: var(--text-muted); }
.vault-status-refresh {
flex: none;
background: none;
border: none;
color: var(--text-dim);
cursor: pointer;
font-family: inherit;
font-size: 13px;
line-height: 1;
padding: 2px 6px;
border-radius: 4px;
}
.vault-status-refresh:hover { color: var(--text); background: var(--bg-input); }
.vault-status-refresh:focus-visible { outline: none; box-shadow: var(--focus-ring); }