Tutorial: Demo-Lage mit Platzhaltern, detaillierte Erklaerungen, Scroll-to-View

Kompletter Umbau des Tutorial-Systems:
- Tutorial funktioniert jetzt ohne bestehende Lagen
- Injiziert Demo-Lage (Explosion Hamburger Hafen) mit realistischen Platzhaltern
  in Sidebar, Lagebild, Faktencheck, Timeline, Quellen und Karte
- 25 Steps statt 20: Neue Lage vs Recherche erklaert, jede Kachel detailliert
- ScrollIntoView vor jedem Step (wichtig fuer Karte etc.)
- Sub-Element-Highlighting: Markiert spezifische Funktionen innerhalb der Kacheln
  (Quellenverweise, Filter, Buttons, Kartensteuerung)
- Sauberes Aufraumen: Demo-Daten werden nach Tutorial entfernt, Dashboard-Zustand
  wird vollstaendig wiederhergestellt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-16 14:32:56 +01:00
Ursprung e5bcfb3d75
Commit d5022f0d6f
3 geänderte Dateien mit 1227 neuen und 745 gelöschten Zeilen

Datei anzeigen

@@ -5187,3 +5187,19 @@ a.map-popup-article:hover {
.chat-tutorial-hint strong {
color: var(--accent);
}
/* Sub-Element Highlight innerhalb von Tutorial-Steps */
.tutorial-sub-highlight {
outline: 2px solid var(--accent) !important;
outline-offset: 3px;
border-radius: var(--radius);
animation: tutorial-sub-pulse 1.5s ease-in-out infinite;
position: relative;
z-index: 9002;
}
@keyframes tutorial-sub-pulse {
0%, 100% { outline-color: var(--accent); }
50% { outline-color: rgba(150, 121, 26, 0.4); }
}

Datei anzeigen

@@ -17,7 +17,7 @@
<link rel="stylesheet" href="/static/vendor/MarkerCluster.css">
<link rel="stylesheet" href="/static/vendor/MarkerCluster.Default.css">
<link rel="stylesheet" href="/static/css/network.css?v=20260316a">
<link rel="stylesheet" href="/static/css/style.css?v=20260316c">
<link rel="stylesheet" href="/static/css/style.css?v=20260316d">
</head>
<body>
<a href="#main-content" class="skip-link">Zum Hauptinhalt springen</a>
@@ -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=20260316a"></script>
<script src="/static/js/tutorial.js?v=20260316b"></script>
<script src="/static/js/chat.js?v=20260316c"></script>
<script>document.addEventListener("DOMContentLoaded",function(){Chat.init();Tutorial.init()});</script>

Datei-Diff unterdrückt, da er zu groß ist Diff laden