Skip to content

feat: tutorial dismiss & reset controls in Preferences UI #463

@shaoster

Description

@shaoster

Problem / Motivation

Users who accidentally dismiss a tutorial, or who want to re-run the onboarding flow for a new team member, have no way to reset their tutorial state. The Preferences UI from #318 is the natural home for this control.

Proposed Solution

Extend the Preferences UI (#318) with a "Tutorials" section:

  1. "Show tutorials" toggle — maps to a top-level tutorials_enabled boolean in user settings (feat: add per-tutorial dismissed/seen flags to user settings #453). When toggled off, all tutorials are suppressed regardless of per-slug state.
  2. "Reset all tutorials" button — clears all tutorials_dismissed flags via a PATCH to the user settings API, restoring the first-login tutorial experience.
  3. Per-tutorial status display (read-only): list each tutorial slug with a checkmark if dismissed.

All API calls go through web/src/util/api.ts; async state via useAsync.

Acceptance Criteria

  • "Tutorials" section appears in the Preferences UI.
  • "Show tutorials" toggle reads from and writes to tutorials_enabled in user settings.
  • "Reset all tutorials" clears all tutorials_dismissed flags and shows a confirmation snackbar.
  • Per-tutorial dismissed status is displayed (read-only) for each known tutorial slug.
  • Covered by unit tests (assert toggle call, reset call, status display).

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions