Skip to content

feat(onboarding): guided management and board tours#5756

Open
ajnart wants to merge 19 commits into
renovate/major-mantine-monorepofrom
feat/app-tour
Open

feat(onboarding): guided management and board tours#5756
ajnart wants to merge 19 commits into
renovate/major-mantine-monorepofrom
feat/app-tour

Conversation

@ajnart
Copy link
Copy Markdown
Member

@ajnart ajnart commented May 20, 2026

Requires #5411

Notes

Most of this PR is kind of prof of concept. I am aware it's not perfect and the code probably not up to standard, it's kind of a proof of concept on what we could do to help new users quickly get their hands on with the app.

Summary

  • Add persisted onboarding tour completion per user (completedManageTour, completedBoardTour) with tRPC APIs to complete, reset, and query status.
  • Introduce a shared TourShell with step counter, Enter key for Next/Done (↵ indicator), route-aware navigation, and TourTarget wrappers for the Mantine onboarding tour library.
  • Management tour walks through /manage, boards, apps, integrations, and users (admin) with two steps per page (list + create).
  • Board tour runs on board content pages only, highlights search/edit/settings/switcher/user menu, and removes the loading overlay that blocked the tour.

demo

CleanShot.2026-05-20.at.09.56.33.mp4

Demo creds

demo : feu5wbx*YGD1ayf_tvu

Test plan

  • Reset onboarding tours in user settings and visit /manage — management tour starts on home, navigates each sub-page, Enter advances steps, Done completes without restarting.
  • Visit a board as a user who has not completed the board tour — tour highlights header targets and Done persists after refresh.
  • Empty apps list still shows the apps list tour step.
  • Users page tour popover stays on screen (title + create button targets).
  • Mobile: management tour is skipped below sm breakpoint.

homarr-renovate Bot and others added 15 commits May 18, 2026 20:31
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Persist completedManageTour and completedBoardTour on the user table
with renamed migrations across sqlite, mysql, and postgresql.
Expose getTourStatus, completeTour, and resetTours for persisting
per-user management and board tour completion.
Register onboarding tour stylesheet and align lockfile with Mantine v9.
Introduce TourShell with step counter, Enter key support, route-aware
advancement, and TourTarget wrappers. Remove unused fork and hold-skip steps.
Guide admins through boards, apps, integrations, and users with per-page
steps, TourTarget highlights, optimistic completion, and reset in settings.
Scope the board tour to content pages, target header actions, remove the
loading overlay, and persist completion with optimistic cache updates.
Add per-page management tour strings and update board tour descriptions.
@ajnart ajnart requested a review from a team as a code owner May 20, 2026 07:43
@ajnart ajnart added the needs-demo This PR needs a demo deployment label May 20, 2026
@dokploy-homarr-labs
Copy link
Copy Markdown

dokploy-homarr-labs Bot commented May 20, 2026

Dokploy Preview Deployment

Name Status Preview Updated (UTC)
homarr ✅ Done Preview URL 2026-05-20T12:11:14.665Z

homarr-renovate Bot and others added 2 commits May 20, 2026 07:50
)

Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
Use OnboardingTourController and guard optional step index.
Type users step focus reveal props for FloatingPosition compatibility.
homarr-renovate Bot and others added 2 commits May 20, 2026 10:57
Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com>
@ajnart ajnart changed the base branch from dev to renovate/major-mantine-monorepo May 20, 2026 12:12
return (
<Box h="100%" pos="relative">
<BoardBackgroundVideo />
<LoadingOverlay
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Was this accidental?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

No, this was another overlay that blocked the tour from appearing, so since I made the other PR that also removes it (it's not needed) then I figured I'll remove it in this one too


import type { ReactNode } from "react";
import { usePathname } from "next/navigation";
import { OnboardingTour } from "@gfazioli/mantine-onboarding-tour";
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nice lib!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-demo This PR needs a demo deployment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants