From f25b82ddb5ef320b8cff780147e041ded8d47f8a Mon Sep 17 00:00:00 2001 From: ruv Date: Mon, 27 Apr 2026 11:40:37 -0400 Subject: [PATCH] =?UTF-8?q?feat(dashboard):=20always-visible=20Tour=20butt?= =?UTF-8?q?on=20=E2=80=94=20replay=20welcome=20modal=20any=20time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 10-step welcome tour was first-run-only (persisted in IndexedDB). After dismissing, users had no clear path back to it. Fix: - Topbar gets a '★ Tour' ghost button next to '?' that fires CustomEvent('nv-show-tour') any time. - Help-center Quickstart adds a primary 'Take the interactive 10-step tour' button that closes help and launches the tour. - nv-help listens for 'nv-show-help-close' to support the help→tour hand-off cleanly. Settings drawer already has 'Replay welcome tour' (added earlier); this just makes the same action one-click from the always-visible topbar. Co-Authored-By: claude-flow --- dashboard/src/components/nv-help.ts | 8 ++++++++ dashboard/src/components/nv-topbar.ts | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/dashboard/src/components/nv-help.ts b/dashboard/src/components/nv-help.ts index 400198e3..2d066cf8 100644 --- a/dashboard/src/components/nv-help.ts +++ b/dashboard/src/components/nv-help.ts @@ -290,13 +290,16 @@ export class NvHelp extends LitElement { override connectedCallback(): void { super.connectedCallback(); window.addEventListener('nv-show-help', this.show as EventListener); + window.addEventListener('nv-show-help-close', this.closeListener); window.addEventListener('keydown', this.onKey); } override disconnectedCallback(): void { super.disconnectedCallback(); window.removeEventListener('nv-show-help', this.show as EventListener); + window.removeEventListener('nv-show-help-close', this.closeListener); window.removeEventListener('keydown', this.onKey); } + private closeListener = (): void => this.close(); private show = (e: Event): void => { const detail = (e as CustomEvent).detail as { section?: Section } | undefined; @@ -331,6 +334,11 @@ export class NvHelp extends LitElement { return html`

Quickstart

Seven taps to get from "I just opened the dashboard" to "I'm running my own scene with verified determinism."

+ ${QUICKSTART.map((s) => html`
${s.step}
diff --git a/dashboard/src/components/nv-topbar.ts b/dashboard/src/components/nv-topbar.ts index 4da00674..a56ee3bc 100644 --- a/dashboard/src/components/nv-topbar.ts +++ b/dashboard/src/components/nv-topbar.ts @@ -117,6 +117,11 @@ export class NvTopbar extends LitElement { @click=${this.openSeedModal}> seed: 0x${seedHex} +