Skip to content

Conversation

@LianaHarris360
Copy link
Member

Summary

This pull request extends the storage of onboarding tour progress for each user for all pages within onboardingSteps. Now when users complete the tour, it should not be displayed again, unless the localStorage has been cleared. The useTour composable API was also refactored and simplified to improve robustness and clarity.

useTour

  • Refactored useTour to import useUser internally so components no longer need to pass userId when calling composable functions.
  • Updated saveTourProgress() to persist per-user tour progress across all onboarding pages.
  • Updated startTour() to allow starting/resuming the tour, checking if it has already been completed by the current user, and removed the resumeTour() function.
  • Moved the core tour logic functions inside the useTour export to keep user-scoped state and behavior consolidated within the composable.
  • Use Lockr to facilitate localStorage interaction.

TooltipTour

  • Removed useUser import because saveTourProgress() has been updated to get the userId from within the useTour composable.

LibraryPage

  • Removed resumeTour in favor of startTour and correct useUser userId import.

ToggleHeaderTabs

  • Ensure ToggleHeaderTabs starts the tour after mount using $nextTick for correct page load timing.
UpdatedonboardingTour.mov

References

Closes #13713

Reviewer guidance

  1. Setup Kolibri with the On My Own setup and complete the onboarding popups on the LibraryPage and the SideNavigation.
  2. Close the Kolibri interface or log out and log back in.
  3. The completed steps of the tour should not be displayed again.
  4. Resume the tour by clicking into a library under 'Other libraries' on the library page.
  5. If the window is in full screen, the next step of the tour should be displayed.

… across all onboarding pages and update TooltipTour & LibraryPage to depend on useTour for user-scoped progress; replace resumeTour with startTour
@LianaHarris360 LianaHarris360 added this to the Kolibri 0.20 milestone Dec 1, 2025
@LianaHarris360 LianaHarris360 added the APP: Learn Re: Learn App (content, quizzes, lessons, etc.) label Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

APP: Learn Re: Learn App (content, quizzes, lessons, etc.) DEV: frontend SIZE: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Kolibri-Onboarding: Extend onboarding tour persistence with localStorage beyond LibraryPage

2 participants