# DashCaddy Onboarding System This directory contains the JavaScript modules for the user onboarding tooltip system. ## Files - **onboarding.js** - Main entry point, initializes the onboarding system - **tour-manager.js** - Orchestrates the onboarding flow and manages tour state - **progress-tracker.js** - Manages persistent storage of user progress - **tooltip-definitions.js** - Defines all tooltip content and positioning - **dns-template-selector.js** - Presents DNS server template options - **theme-adapter.js** - Ensures tooltips match the current dashboard theme ## Load Order The scripts are loaded in the following order (as defined in status/index.html): 1. progress-tracker.js 2. theme-adapter.js 3. tooltip-definitions.js 4. dns-template-selector.js 5. tour-manager.js 6. onboarding.js (main initialization) ## Dependencies - **Driver.js** - Loaded from CDN (https://cdn.jsdelivr.net/npm/driver.js@1.3.1/) - Dashboard CSS variables (for theming) - Browser localStorage API (for progress tracking) ## Integration The onboarding system integrates with: - Dashboard theme system (via CSS variables) - App template selector (for DNS server deployment) - Local storage (for progress persistence) ## Development Each module is wrapped in an IIFE (Immediately Invoked Function Expression) to avoid global namespace pollution. Modules communicate through well-defined interfaces and the window object where necessary.