MCPcopy Create free account
hub / github.com/danja/dogalog / TutorialOverlay

Class TutorialOverlay

src/tutorial/tutorialOverlay.js:7–233  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5import { tutorialSteps } from './steps.js';
6
7export class TutorialOverlay {
8 constructor(tutorialManager, applyCode) {
9 this.manager = tutorialManager;
10 this.applyCode = applyCode;
11 this.element = null;
12 this.visible = false;
13
14 this.createOverlay();
15 this.setupEventListeners();
16 }
17
18 /**
19 * Create overlay DOM structure
20 */
21 createOverlay() {
22 // Overlay container
23 this.element = document.createElement('div');
24 this.element.className = 'tutorial-overlay';
25 this.element.style.display = 'none';
26
27 // Content card
28 const card = document.createElement('div');
29 card.className = 'tutorial-card';
30
31 // Header
32 const header = document.createElement('div');
33 header.className = 'tutorial-header';
34
35 this.titleElement = document.createElement('h3');
36 this.titleElement.className = 'tutorial-title';
37 header.appendChild(this.titleElement);
38
39 this.progressElement = document.createElement('div');
40 this.progressElement.className = 'tutorial-progress';
41 header.appendChild(this.progressElement);
42
43 const closeBtn = document.createElement('button');
44 closeBtn.className = 'tutorial-close btn';
45 closeBtn.textContent = '×';
46 closeBtn.setAttribute('aria-label', 'Close tutorial');
47 closeBtn.onclick = () => this.hide();
48 header.appendChild(closeBtn);
49
50 card.appendChild(header);
51
52 // Content
53 this.contentElement = document.createElement('div');
54 this.contentElement.className = 'tutorial-content';
55 card.appendChild(this.contentElement);
56
57 // Action prompt
58 this.actionElement = document.createElement('div');
59 this.actionElement.className = 'tutorial-action';
60 card.appendChild(this.actionElement);
61
62 // Navigation
63 const nav = document.createElement('div');
64 nav.className = 'tutorial-nav';

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected