feat(plugin): sidebar nav buttons for Adwright + BTE (v0.5.0)
plugin-tests / test (push) Failing after 5s
plugin-tests / test (push) Failing after 5s
JP feedback: floating BTE launcher + always-visible Adwright panel were
"very fucked up" UX. Replaced with proper hermes-webui sidebar integration.
New static/svrnty_nav.js:
- Injects 2 nav-tab buttons into .sidebar-nav matching the existing
data-panel + nav-tab + has-tooltip pattern
- Adwright: bullseye icon (marketing intelligence)
- BTE: sparkle/palette icon (creative studio)
- Wraps window.switchPanel to add main.svrnty-showing-{adwright,bte}
classes so our panels participate in the existing main-view show/hide
system without editing upstream panels.js
- Dispatches "svrnty:panel-switch" CustomEvent so panel modules can
lazy-init / open / close based on which panel is active
Adwright panel:
- adwright.css: hidden by default; shows only when main has
.svrnty-showing-adwright. When showing, occupies full main width
and hides all other main children (chat etc).
- adwright.js: no change to mount logic (already mounted inside <main>).
BTE panel:
- bte.js: removed _installLauncher (no more floating bottom-right button).
Init now listens for svrnty:panel-switch events to open/close the
overlay. Defensively removes any stale .svrnty-bte-launcher DOM nodes
from prior plugin versions.
- bte.css: launcher styles replaced with display:none !important.
manifest.yaml: bumped 0.4.0 → 0.5.0, svrnty_nav.js added to assets in
the correct load order (after app.js, before adwright.js + bte.js).
CONNECTION-MAP regenerated.
Karpathy 4 rules: no upstream edit, smallest possible wrap of switchPanel
to keep our panels coexisting with native panels (chat, tasks, kanban,
etc), CSS-only visibility (no DOM thrashing).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+2
-22
@@ -14,28 +14,8 @@
|
||||
--svrnty-bte-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
/* ── Floating launcher button (lives at bottom-right, always-on) ──────────── */
|
||||
.svrnty-bte-launcher {
|
||||
position: fixed;
|
||||
right: 16px;
|
||||
bottom: 16px;
|
||||
z-index: 9990;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px 14px;
|
||||
background: var(--accent);
|
||||
color: var(--svrnty-bte-on-accent);
|
||||
border: none;
|
||||
border-radius: var(--radius-pill, 9999px);
|
||||
font-family: var(--font-ui, sans-serif);
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
box-shadow: var(--svrnty-bte-shadow);
|
||||
}
|
||||
.svrnty-bte-launcher:hover { background: var(--accent-hover); }
|
||||
.svrnty-bte-launcher[hidden] { display: none; }
|
||||
/* ── Launcher removed — sidebar nav (svrnty_nav.js) opens BTE now ──────── */
|
||||
.svrnty-bte-launcher { display: none !important; }
|
||||
|
||||
/* ── Full-screen overlay panel ────────────────────────────────────────────── */
|
||||
.svrnty-bte-overlay {
|
||||
|
||||
Reference in New Issue
Block a user