Skip to content

feat: Add guided tours via Reactour and help center page - #719

Merged
timbastin merged 13 commits into
mainfrom
feat/reactour
May 19, 2026
Merged

feat: Add guided tours via Reactour and help center page#719
timbastin merged 13 commits into
mainfrom
feat/reactour

Conversation

@juliankepka

@juliankepka juliankepka commented May 12, 2026

Copy link
Copy Markdown
Collaborator

This PR introduces guided product tours (Reactour) and a new in-app Help Center entry point, plus “inline docs” drawers that render documentation content inside the app.

@juliankepka
juliankepka marked this pull request as ready for review May 13, 2026 11:27
Copilot AI review requested due to automatic review settings May 13, 2026 11:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces guided product tours (Reactour) and a new in-app Help Center entry point, plus “inline docs” drawers that render documentation content inside the app.

Changes:

  • Add a TourContext + hooks to register/open page-specific tour steps and show a first-time Welcome modal.
  • Add a Help Center page that links into specific tours and support/documentation resources.
  • Replace some external “how it works” links with a documentation drawer that loads and renders remote MDX/markdown.

Reviewed changes

Copilot reviewed 29 out of 30 changed files in this pull request and generated 22 comments.

Show a summary per file
File Description
src/hooks/useWelcomeTour.ts Tracks “welcome tour seen” state via localStorage and controls Welcome modal visibility.
src/hooks/usePageTour.ts Hook to register tour steps and expose a start function for pages.
src/context/TourContext.tsx Reactour provider wrapper and context API for steps registration and opening tours.
src/components/ui/drawer.tsx Adds a Vaul-based drawer UI primitive used for inline docs.
src/components/Quickfix.tsx Swaps external link for DocDrawer to show Quick Fix documentation inline.
src/components/OrganizationDropDown.tsx Adds data-tour marker for tour targeting.
src/components/DependencyGraph.tsx Adds onReady callback to allow tours to wait for graph initialization.
src/components/common/tours/WelcomeModal.tsx New welcome modal prompting users to start/skip tours.
src/components/common/tours/usePageTour.ts Adds a second usePageTour implementation (currently inconsistent with context API).
src/components/common/tours/TourCard.tsx Custom Reactour popover UI for tour steps.
src/components/common/tours/repo-home-tour.ts Tour steps for repository home page.
src/components/common/tours/org-settings-tour.ts Tour steps for organization settings page.
src/components/common/tours/org-home-tour.ts Tour steps for organization dashboard page.
src/components/common/tours/group-home-tour.ts Tour steps for group page.
src/components/common/tours/dependency-risk-tour.ts Tour steps for vulnerability management page.
src/components/common/OrgHeader.tsx Enables showing Help Center in header via showHelpCenter.
src/components/common/Markdown.tsx Enhances markdown rendering (GFM/MDX + link rewriting).
src/components/common/DynamicHeader.tsx Adds Help Center link + data-tour markers to header navigation.
src/components/common/DocDrawer.tsx New drawer that fetches & renders remote MDX/markdown docs.
src/components/AffectedComponent.tsx Swaps external link for DocDrawer to show matching docs inline.
src/app/layout.tsx Wraps app in TourContextProvider.
src/app/(loading-group)/[organizationSlug]/settings/page.tsx Adds “Guided Tour” button + data-tour markers.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/page.tsx Adds “Guided Tour” button + data-tour markers + optional query-param auto-start.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/page.tsx Adds “Guided Tour” button + data-tour markers + optional query-param auto-start.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/dependency-risks/[vulnId]/page.tsx Adds “Guided Tour” button, data-tour markers, and graph-ready integration for tours.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/page.tsx Preserves startTour query param across redirect into first ref.
src/app/(loading-group)/[organizationSlug]/page.tsx Adds Welcome modal, guided tour button, and tour markers to org dashboard.
src/app/(loading-group)/[organizationSlug]/help-center/page.tsx New Help Center page with tour entry points + support/documentation links.
package.json Adds Reactour, Vaul, MDX-related packages, and pins some deps.
package-lock.json Locks dependency changes for newly added packages.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/components/common/Markdown.tsx Outdated
Comment thread src/components/common/Markdown.tsx Outdated
Comment thread src/components/common/tours/usePageTour.ts Outdated
Comment thread src/hooks/usePageTour.ts Outdated
Comment thread src/context/TourContext.tsx Outdated
Comment thread src/components/common/tours/TourCard.tsx
Comment thread package.json Outdated
Comment thread package.json Outdated
Comment thread src/context/TourContext.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 45 out of 46 changed files in this pull request and generated 15 comments.

Comment thread src/components/common/Markdown.tsx Outdated
Comment thread src/components/common/DocDrawer.tsx Outdated
Comment thread src/components/common/DocDrawer.tsx
Comment thread src/components/common/DocDrawer.tsx Outdated
Comment thread src/components/common/tours/TourCard.tsx
@timbastin

Copy link
Copy Markdown
Member
image

Can we merge the help center into the top bar next to the wrench icon? And maybe just keep the icon

@timbastin

Copy link
Copy Markdown
Member

Besides that, the tour needs to be different if i am currently inside an organization like opencode. Not every user has the right to see the settings. If you are not an org admin you wont see them

@timbastin

Copy link
Copy Markdown
Member
Bildschirmaufnahme.2026-05-15.um.19.20.10.mov

Another nitpicking bug: We should disable scrolling when a tour is active

@timbastin

Copy link
Copy Markdown
Member

I think we should either add a border to the header (License Compliance) or remove it

image

@timbastin

Copy link
Copy Markdown
Member

Besides that, the Drawer creates a backdrop with a blur. That looks different compared to the one created by react tour

Bildschirmfoto 2026-05-15 um 19 32 42 Bildschirmfoto 2026-05-15 um 19 32 58

@timbastin

Copy link
Copy Markdown
Member

The links (which are buttons now) have a yellow color in white mode

image

@timbastin
timbastin merged commit b664ffd into main May 19, 2026
14 of 17 checks passed
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.

Cursor pointer is missing on those buttons

3 participants