Overview
Colours
Typography
Icons
Dark mode
Avatar pickers
Avatars
Badges
Breadcrumbs
Buttons
Cards
Empty states
Hoowla link
Nav items
Stat cards
Steppers
Sticky headers
Switchers
Tables
Tabs
Timelines
Charts
Load more
Rich text
Tooltips
Action menus
Forms
Autocomplete
Modals
Notifications
Side trays
Confetti
Guided tour
Period filters
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.