V0.7.0 shell contract (#54)
All checks were successful
CI/CD / detect-changes (push) Successful in 3s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-sqlite (push) Successful in 2m54s
CI/CD / test-go-pg (push) Successful in 2m55s
CI/CD / build-and-deploy (push) Successful in 1m5s

This commit was merged in pull request #54.
This commit is contained in:
2026-04-01 20:19:45 +00:00
parent 1236220302
commit e916ed41ea
151 changed files with 3250 additions and 684 deletions

View File

@@ -156,6 +156,89 @@
gap: var(--sp-2);
}
/* ── Shell Topbar — kernel-injected two-slot model ── */
.sw-topbar--shell {
gap: var(--sp-2);
}
.sw-topbar__home {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
color: var(--text-3);
text-decoration: none;
border-radius: var(--radius);
transition: color var(--transition), background var(--transition);
flex-shrink: 0;
}
.sw-topbar__home:hover {
color: var(--text);
background: var(--bg-hover);
}
.sw-topbar__left {
display: flex;
align-items: center;
gap: var(--sp-2);
flex-shrink: 0;
}
.sw-topbar__center {
flex: 1;
display: flex;
align-items: center;
min-width: 0;
overflow-x: auto;
}
/* ── Topbar Tabs — consistent tab styling in center slot ── */
.sw-topbar__tabs {
display: flex;
align-items: center;
gap: var(--sp-1);
height: 100%;
}
.sw-topbar__tab {
display: flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-2) var(--sp-3);
font-size: 13px;
font-weight: 500;
color: var(--text-2);
text-decoration: none;
border-radius: var(--radius-sm);
transition: color var(--transition), background var(--transition);
white-space: nowrap;
cursor: pointer;
}
.sw-topbar__tab:hover {
color: var(--text);
background: var(--bg-hover);
}
.sw-topbar__tab.active {
color: var(--text);
background: var(--bg-2);
}
@media (max-width: 768px) {
.sw-topbar__tabs {
gap: 0;
}
.sw-topbar__tab {
padding: var(--sp-2);
font-size: 12px;
}
}
/* ── User menu trigger ───────────────────── */
.sw-user-menu__trigger {