Skip to content

First-run guided tour of the web GUI - #11

Merged
kurenn merged 1 commit into
mainfrom
feat/app-tour
Jun 5, 2026
Merged

kurenn merged 1 commit into
mainfrom
feat/app-tour

Conversation

@kurenn

@kurenn kurenn commented Jun 5, 2026

Copy link
Copy Markdown
Owner

So new visitors aren't overwhelmed, adds a short guided tour of the app.

  • A self-contained spotlight tour (no library) — dims the page, highlights one element at a time, and shows a captioned popover with Back / Next, step dots, and Esc / arrow-key support.
  • Walks the flow: drop → printer → colors → size → preview (2D/3D) → generate (7 steps).
  • Auto-opens once per browser (localStorage-gated) and replays anytime from a new "?" button in the topbar.
  • Targets are matched by data-tour attributes (stable across app states); the popover clamps into the viewport (handles tall targets like the preview column).

Verified in a headless browser: auto-open on first visit, spotlight stepping, in-viewport popover on every step, ? replay, Esc close, completion sets the seen flag — no console errors. Auto-deploys to colorplate.spoolr.io on merge.

🤖 Generated with Claude Code

A small, self-contained spotlight tour (no dependencies) walks new visitors
through the flow: drop a logo → pick printer → map colors → size → preview in
2D/3D → generate. It dims the page, highlights one element at a time (matched by
data-tour attributes), and shows a captioned popover with Back/Next, step dots,
and Esc/arrow-key support. Auto-opens once per browser (localStorage-gated) and
can be replayed anytime from a new "?" button in the topbar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kurenn
kurenn merged commit b44ed4b into main Jun 5, 2026
2 checks passed
@kurenn
kurenn deleted the feat/app-tour branch June 5, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant