Tutorial: Fehlende _enableNavAfterDemo Methode wiederherstellen

Die Methode wurde bei einem frueheren Cleanup versehentlich entfernt.
Sie wird von allen 12 Demo-Methoden und _runDemo aufgerufen um nach
Demo-Ende das Pulsieren zu stoppen und Zurueck/Weiter-Buttons einzublenden.
Ohne diese Methode blieb "Demo laeuft..." fuer immer stehen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-16 17:34:40 +01:00
Ursprung 2e1dc9a60e
Commit e183f23350
2 geänderte Dateien mit 30 neuen und 1 gelöschten Zeilen

Datei anzeigen

@@ -764,7 +764,7 @@
<script src="/static/js/api_network.js?v=20260316a"></script>
<script src="/static/js/network-graph.js?v=20260316a"></script>
<script src="/static/js/app_network.js?v=20260316a"></script>
<script src="/static/js/tutorial.js?v=20260316t"></script>
<script src="/static/js/tutorial.js?v=20260316u"></script>
<script src="/static/js/chat.js?v=20260316f"></script>
<script>document.addEventListener("DOMContentLoaded",function(){Chat.init();Tutorial.init()});</script>

Datei anzeigen

@@ -2198,6 +2198,35 @@ const Tutorial = {
this._enableNavAfterDemo();
},
// -----------------------------------------------------------------------
// Navigation nach Demo-Ende freigeben
// -----------------------------------------------------------------------
_enableNavAfterDemo() {
var bubble = this._els.bubble;
if (!bubble) return;
// Pulsieren stoppen
bubble.classList.remove('tutorial-bubble-pulsing');
var nav = bubble.querySelector('.tutorial-bubble-nav');
if (!nav) return;
var index = this._currentStep;
var total = this._steps.length;
var navHtml = '';
if (index > 0) {
navHtml += '<button class="tutorial-btn tutorial-btn-back" onclick="Tutorial.prev()">Zurück</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>';
}
nav.innerHTML = navHtml;
},
// -----------------------------------------------------------------------
// Keyboard
// -----------------------------------------------------------------------