Tutorial: Pulsierender Rand bei Demos, Weiter-Button erst nach Abschluss

Waehrend automatischer Demos (disableNav-Steps):
- Bubble-Rand pulsiert gold (animation: tutorial-bubble-pulse)
- Statt Vor/Zurueck-Buttons wird "Demo laeuft..." angezeigt
- Nach Abschluss der Demo: Pulsieren stoppt, Zurueck/Weiter erscheinen

Bei normalen Steps (keine Demo):
- Zurueck/Weiter-Buttons sind sofort sichtbar, kein Pulsieren

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-16 17:03:16 +01:00
Ursprung 47b0ec306f
Commit c2d08f460d
3 geänderte Dateien mit 39 neuen und 12 gelöschten Zeilen

Datei anzeigen

@@ -1313,17 +1313,20 @@ const Tutorial = {
// Navigation
var navHtml = '<div class="tutorial-bubble-nav">';
if (index > 0 && !step.disableNav) {
navHtml += '<button class="tutorial-btn tutorial-btn-back" onclick="Tutorial.prev()">Zurück</button>';
if (step.disableNav) {
// Automatische Demo läuft - keine Buttons, wird pulsieren
navHtml += '<span class="tutorial-demo-hint">Demo läuft...</span>';
} else {
navHtml += '<span></span>';
}
if (index < total - 1 && !step.disableNav) {
navHtml += '<button class="tutorial-btn tutorial-btn-next" onclick="Tutorial.next()">Weiter</button>';
} else if (index === total - 1) {
navHtml += '<button class="tutorial-btn tutorial-btn-next" onclick="Tutorial.stop()">Fertig</button>';
} else {
navHtml += '<span></span>';
if (index > 0) {
navHtml += '<button class="tutorial-btn tutorial-btn-back" onclick="Tutorial.prev()">Zur\u00fcck</button>';
} else {
navHtml += '<span></span>';
}
if (index < total - 1) {
navHtml += '<button class="tutorial-btn tutorial-btn-next" onclick="Tutorial.next()">Weiter</button>';
} else {
navHtml += '<button class="tutorial-btn tutorial-btn-next" onclick="Tutorial.stop()">Fertig</button>';
}
}
navHtml += '</div>';
@@ -1335,6 +1338,13 @@ const Tutorial = {
// Positionierung
this._positionBubble(step);
// Pulsieren bei automatischen Demos
if (step.disableNav) {
bubble.classList.add('tutorial-bubble-pulsing');
} else {
bubble.classList.remove('tutorial-bubble-pulsing');
}
// Sichtbar machen
bubble.classList.add('visible');