Skip to content

chore: reworked the onboarding card and tour starts on first sight#763

Open
juliankepka wants to merge 20 commits into
mainfrom
chore/rework-onboard-tour
Open

chore: reworked the onboarding card and tour starts on first sight#763
juliankepka wants to merge 20 commits into
mainfrom
chore/rework-onboard-tour

Conversation

@juliankepka

Copy link
Copy Markdown
Collaborator

I've added tour starts on first access of different pages and reworked the onborading page of devguard repo.

l3montree-dev/devguard#2025

l3montree-dev/devguard#2018

l3montree-dev/devguard#2031

Bildschirmfoto 2026-05-27 um 16 28 02

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 updates DevGuard’s onboarding experience by introducing per-page “tour seen” tracking and auto-starting page tours on first visit, plus reworking the asset onboarding card UI to guide users into risk scanning setup flows.

Changes:

  • Introduce a reusable useTourSeen(tourKey) hook to persist “tour seen” state in localStorage.
  • Auto-start tours on first visit across several org/project/repo pages using the new hook.
  • Rework the asset onboarding UI into selectable setup cards and allow deep-linking RiskScannerDialog to a specific carousel slide.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/hooks/useWelcomeTour.ts Switch welcome-tour persistence to the new per-tour tracking hook.
src/hooks/useTourSeen.ts Add a new hook for per-tour “seen” persistence via localStorage.
src/components/RiskScannerDialog.tsx Add initialSlide support to start the carousel on a chosen slide.
src/app/(loading-group)/[organizationSlug]/settings/page.tsx Auto-start org settings tour on first visit.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/page.tsx Auto-start group home tour (and keep URL-param start support).
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/settings/page.tsx Auto-start repo settings tour on first visit.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/page.tsx Auto-start repo home tour (and keep URL-param start support).
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/dependency-risks/[vulnId]/page.tsx Auto-start dependency risk tour on first visit (including graph-ready logic).
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/dependencies/page.tsx Auto-start dependency insights tour on first visit.
src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/page.tsx Rework onboarding UI into selectable setup cards and pass selected slide into RiskScannerDialog.
src/app/(loading-group)/[organizationSlug]/overview/page.tsx Auto-start org overview tour on first visit.

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

Comment thread src/components/RiskScannerDialog.tsx
Comment thread src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/page.tsx Outdated
Comment thread src/hooks/useTourSeen.ts
@juliankepka

Copy link
Copy Markdown
Collaborator Author

@juliankepka juliankepka linked an issue Jun 5, 2026 that may be closed by this pull request

@seb-kw seb-kw left a comment

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.

For a GitLab Typed Project:

  • Ensure that for a new GitLab typed project the auto setup is only shown when really usable (GitLab Integration ready) or to guide the user if not to set up GitLab integration (currently in a clean state it is shown but fails as no GitLab integration is present)
  • Ensure to add back the option for “advanced” setup options as file upload etc. currently this stream is not reachable any more.
  • Would suggest offering ci/cd integration, cli and upload as quick reachable options.

@juliankepka

juliankepka commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator Author

GitLab Auto Setup – new logic:

No repository connected (externalEntityId and repositoryId missing):

No GitLab integration → "Connect Repository" button → opens dialog at slide 2 (set up GitLab integration)
Integration exists → "Connect Repository" button → opens dialog at slide 3 (select repository)
Repository connected, but no GitLab integration:
→ "Set up GitLab Integration" button → opens dialog at slide 2

Repository connected + integration exists:
→ Autosetup component is shown (fully functional)

NOTE: Screenshot is before the fix of the option for “advanced” setup

Bildschirmfoto 2026-06-10 um 10 30 51 Bildschirmfoto 2026-06-10 um 10 31 13

@juliankepka juliankepka requested a review from seb-kw June 10, 2026 08:37
Signed-off-by: Sebastian Kawelke <sebastian.kawelke@l3montree.com>

@seb-kw seb-kw left a comment

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.

Great - can you please cross check the design of the new cards. The font sizes inside the cards seems too small compared to similar components. The badge seems to be different (missing background) from the badge component.

@juliankepka

Copy link
Copy Markdown
Collaborator Author

Great - can you please cross check the design of the new cards. The font sizes inside the cards seems too small compared to similar components. The badge seems to be different (missing background) from the badge component.

I've adjusted the font sizes to similar components and changed the badge component from variant outline to default. Now it should look similar to other Badges.

Bildschirmfoto 2026-06-17 um 09 49 27

Comment thread src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/page.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

4 participants