Full codebase including API server (32 modules + routes), dashboard frontend, DashCA certificate distribution, installer script, and deployment skills.
41 lines
1.4 KiB
Markdown
41 lines
1.4 KiB
Markdown
# 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.
|