@@ -0,0 +1,43 @@
|
||||
// The example code tour of the template (in-app guides spec §7.3): defined next to the module it
|
||||
// explains, published to the deployment's environment by the deploy step, and run from memory with
|
||||
// `pnpm dev` (the fake platform). It starts from Help or the setup checklist, so it never interrupts
|
||||
// another task or mistakes a workspace module route for a project. Its steps point at the anchors a `ResourcePage` marks for its resource
|
||||
// (`notes.new`, `notes.list`, from ui/notes-resource.tsx); `kit check` warns when one of them is removed.
|
||||
//
|
||||
// The audience is a trait the app sends (`role`, from the guides module): a viewer cannot add a note,
|
||||
// so the tour is for the members who can. The platform compares only the traits the project's guide
|
||||
// settings allow-list, so allow `role` there (console, Guides, Settings) before the tour shows.
|
||||
|
||||
import { defineGuide } from "@conusai-kit/guides"
|
||||
import { guideText } from "./messages.js"
|
||||
|
||||
const t = guideText.tour
|
||||
|
||||
export const firstNoteTour = defineGuide({
|
||||
key: "notes.first-note",
|
||||
schema_version: 1,
|
||||
kind: "tour",
|
||||
default_locale: "en",
|
||||
audience: { trait: { name: "role", in: ["owner", "admin", "member"] } },
|
||||
trigger: { manual: true },
|
||||
frequency: "once",
|
||||
steps: [
|
||||
{
|
||||
id: "new",
|
||||
type: "tooltip",
|
||||
target: { anchor: "notes.new" },
|
||||
title: t.newTitle,
|
||||
body: t.newBody,
|
||||
advance: { on: "next_button" },
|
||||
},
|
||||
{
|
||||
id: "list",
|
||||
type: "tooltip",
|
||||
target: { anchor: "notes.list" },
|
||||
title: t.listTitle,
|
||||
body: t.listBody,
|
||||
advance: { on: "next_button" },
|
||||
},
|
||||
{ id: "done", type: "modal", title: t.doneTitle, body: t.doneBody },
|
||||
],
|
||||
})
|
||||
Reference in New Issue
Block a user