Skip to content

FE-756: petrinaut product walkthrough#8789

Merged
vilkinsons merged 19 commits into
mainfrom
FE-756-petrinaut-walkthrough
May 31, 2026
Merged

FE-756: petrinaut product walkthrough#8789
vilkinsons merged 19 commits into
mainfrom
FE-756-petrinaut-walkthrough

Conversation

@alex-e-leon
Copy link
Copy Markdown
Contributor

🌟 What is the purpose of this PR?

Adds a product walkthrough to the petrinaut website. The logic for the new walkthrough lives inside the petrinaut library so that it can be kept in sync with any changes to the petrinaut ui and/or interact with other modals - however the content (copy + any video animations + their urls) is passed in by the consuming application by including the WalkthroughProvider - not including a walkthrough provider means that no preview will be rendered.

We track whether the user has seen the walkthrough in its own localstorage variable rather than the userSettings variable in order to keep the data better co-located with the context + provider and avoid situations where a provider is added in the wrong order.

The animations in this PR are not final yet, and still need polish @kube has graciously offered to record the experiments animation over the weekend. Will update the PR once they are done.

Pre-Merge Checklist 🚀

🚢 Has this modified a publishable library?

This PR:

  • does not modify any publishable blocks or libraries, or modifications do not need publishing

📜 Does this require a change to the docs?

The changes in this PR:

  • are internal and do not require a docs change

@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hash Ready Ready Preview, Comment May 31, 2026 2:12pm
hashdotdesign-tokens Ready Ready Preview, Comment May 31, 2026 2:12pm
petrinaut Ready Ready Preview, Comment May 31, 2026 2:12pm

@cursor
Copy link
Copy Markdown

cursor Bot commented May 29, 2026

PR Summary

Low Risk
Onboarding UI and user-settings flag only; no auth, simulation core, or data-path changes beyond persisted UI preference.

Overview
Adds an optional, embedder-driven product walkthrough to @hashintel/petrinaut: consumers pass step content (copy + video URLs) via WalkthroughProvider; without a provider or with empty steps, no tour UI appears. The library ships a multi-step WalkthroughDialog (video, navigation, skip/docs) wired into the editor, exports walkthrough APIs from @hashintel/petrinaut/ui, and tracks open/closed state with new isWalkthroughOpen in persisted user settings (defaults open on first visit). While the tour is visible, the empty-canvas AI promo is suppressed so modals do not stack.

The petrinaut website enables the tour with three app-specific steps and demo videos, and updates favicon/PWA assets (site.webmanifest, icon links).

Reviewed by Cursor Bugbot for commit d1ced95. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions github-actions Bot added area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team area/apps area/apps > hash.design Affects the `hash.design` design site (app) labels May 29, 2026
@alex-e-leon alex-e-leon changed the title Fe 756 petrinaut walkthrough FE-756: petrinaut product walkthrough May 29, 2026
@github-actions github-actions Bot added the area/infra Relates to version control, CI, CD or IaC (area) label May 29, 2026
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 29, 2026

🤖 Augment PR Summary

Summary: This PR adds a first-visit product walkthrough (“tour”) to the Petrinaut website/editor.

Changes:

  • Wraps the Petrinaut website’s <Petrinaut /> instance with a new <WalkthroughProvider /> and supplies host-owned walkthrough step content.
  • Adds walkthrough step definitions (copy + video metadata) plus bundled MP4 demo videos to the petrinaut-website app.
  • Introduces a new walkthrough module in @hashintel/petrinaut/ui: context types, provider (localStorage-backed “has seen” state), and an Ark UI-based dialog.
  • Adds a Storybook story to exercise the walkthrough dialog in isolation.
  • Exports walkthrough APIs from the UI package index and mounts <WalkthroughDialog /> in EditorView so it can render when a provider is present.

Technical Notes: The walkthrough auto-opens on first visit (tracked via a dedicated localStorage key) and is designed so embedders provide content via steps rather than baking copy/media into the library.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

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

Review completed. 3 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread libs/@hashintel/petrinaut/src/ui/components/walkthrough/walkthrough-dialog.tsx Outdated
Comment thread libs/@hashintel/petrinaut/src/ui/components/walkthrough/walkthrough-provider.tsx Outdated
Comment thread libs/@hashintel/petrinaut/src/ui/index.ts
Comment thread libs/@hashintel/petrinaut/src/ui/components/walkthrough/walkthrough-dialog.tsx Outdated
Copy link
Copy Markdown
Collaborator

@kube kube left a comment

Choose a reason for hiding this comment

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

Beautiful, just a comment on the LocalStorage usage.

Comment thread libs/@hashintel/petrinaut/src/ui/components/walkthrough/walkthrough-provider.tsx Outdated
kube
kube previously approved these changes May 29, 2026
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6358594. Configure here.

Comment thread libs/@hashintel/petrinaut/src/ui/views/Editor/editor-view.tsx Outdated
@vilkinsons vilkinsons enabled auto-merge May 31, 2026 13:52
@vilkinsons vilkinsons added this pull request to the merge queue May 31, 2026
Merged via the queue into main with commit 1fff5b0 May 31, 2026
57 checks passed
@vilkinsons vilkinsons deleted the FE-756-petrinaut-walkthrough branch May 31, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/apps > hash.design Affects the `hash.design` design site (app) area/apps area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

4 participants