Guided tour
An interactive onboarding tour using Driver.js that walks new users through the Portal's key features.
Overview
How the guided tour works end to end.
- When a user first logs in and has not completed the tour, a welcome modal appears with Skip and Start tour buttons.
- Clicking "Start tour" launches a step-by-step popover sequence highlighting key UI elements (sidebar nav, search, area switcher, user menu, etc.).
- The tour is responsive: on desktop, steps target the sidebar navigation items directly. On mobile (below
lgbreakpoint), the first step targets the hamburger menu button instead. - Completion is tracked in the database. Once a user completes or skips the tour, it does not appear again.
Welcome modal
The initial dialog shown before the tour begins. This uses a standard Driver.js popover without a highlighted element.
👋
Welcome to Koala
Take a quick tour to learn where everything is.
driver.highlight({
popover: {
title: 'Welcome to Koala 👋',
description: 'Take a quick tour to learn where everything is.',
showButtons: ['next', 'close'],
nextBtnText: 'Start tour',
closeBtnText: 'Skip',
onCloseClick: function() { completeTour(); driver.destroy(); },
onNextClick: function() { driver.moveNext(); }
}
});
Implementation notes
Technical details for developers working with the guided tour.
- Uses Driver.js 1.3.1 loaded via CDN in the shared layout.
- Tour steps are built dynamically based on viewport width and the current area (partner vs conveyancing), so only relevant UI elements are highlighted.
- On desktop, the sidebar is auto-expanded during the tour to ensure navigation items are visible as step targets.
- Completion posts to
/api/guided-tour/completewhich setsGuidedTourCompletedAton the user entity. - Both "Skip" and completing all steps trigger the completion endpoint, so the tour is only shown once per user.
- The Driver.js CSS is included in the layout:
driver.js@1.3.1/dist/driver.css.