dify/web/app/components/step-by-step-tour
Jingyi cb64446fa3
feat(web): add step-by-step tour shell (#38785)
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-07-20 09:23:25 +00:00
..
__tests__ feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
analytics.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
coachmark.tsx feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
dropdown-menu.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
floating-widget.tsx feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
mount.tsx feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
README.md feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
state.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
storage.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
target-registry.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
tasks.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
types.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
use-coachmark-position.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
use-target-rect.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00
use-tour-target.ts feat(web): add step-by-step tour shell (#38785) 2026-07-20 09:23:25 +00:00

Step-by-step Tour

This directory owns the cross-route Step-by-step Tour capability.

  • state.ts owns the server query graph, the in-memory tour session, and domain commands.
  • storage.ts owns only the persisted shell preference.
  • mount.tsx composes the checklist, coachmarks, navigation, and analytics.
  • Route consumers resolve only the guide branch and targets that depend on their page data.

Server state remains canonical in the TanStack Query cache. Components consume narrow derived atoms and write-only commands instead of a combined account-state facade.