Wording: Neue Lage -> Neuer Fall, Analyse -> Recherche

Dashboard:
- Button: + Neuer Fall (statt + Neue Lage)
- Modal-Titel: Neuen Fall anlegen
- Dropdown: Recherche - Thema analysieren (statt Analyse - Thema recherchieren)
- Empty-State: neuen Fall statt neue Lage

Tutorial:
- Alle Referenzen auf Neue Lage -> Neuer Fall
- Analyse/Recherche -> Recherche
- Fake-Dropdown: vollstaendige Optionsbeschreibungen
Dieser Commit ist enthalten in:
Claude Dev
2026-03-23 22:42:56 +01:00
Ursprung b712dd5572
Commit e9d1f2ddb3
2 geänderte Dateien mit 21 neuen und 15 gelöschten Zeilen

Datei anzeigen

@@ -17,6 +17,7 @@
<link rel="stylesheet" href="/static/vendor/MarkerCluster.css"> <link rel="stylesheet" href="/static/vendor/MarkerCluster.css">
<link rel="stylesheet" href="/static/vendor/MarkerCluster.Default.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/network.css?v=20260316a">
<link rel="stylesheet" href="/static/css/network-cluster.css?v=20260322b">
<link rel="stylesheet" href="/static/css/style.css?v=20260316k"> <link rel="stylesheet" href="/static/css/style.css?v=20260316k">
</head> </head>
<body> <body>
@@ -71,7 +72,7 @@
<!-- Sidebar --> <!-- Sidebar -->
<nav class="sidebar" aria-label="Seitenleiste"> <nav class="sidebar" aria-label="Seitenleiste">
<div class="sidebar-section"> <div class="sidebar-section">
<button class="btn btn-primary btn-full btn-small" id="new-incident-btn" style="margin-bottom:6px;">+ Neue Lage</button> <button class="btn btn-primary btn-full btn-small" id="new-incident-btn" style="margin-bottom:6px;">+ Neuer Fall</button>
<!-- <button class="btn btn-primary btn-full btn-small" id="new-network-btn" onclick="App.openNetworkModal()">+ Neue Netzwerkanalyse</button> --> <!-- <button class="btn btn-primary btn-full btn-small" id="new-network-btn" onclick="App.openNetworkModal()">+ Neue Netzwerkanalyse</button> -->
</div> </div>
@@ -131,7 +132,7 @@
<div class="empty-state" id="empty-state"> <div class="empty-state" id="empty-state">
<div class="empty-state-icon">&#9737;</div> <div class="empty-state-icon">&#9737;</div>
<div class="empty-state-title">Kein Vorfall ausgewählt</div> <div class="empty-state-title">Kein Vorfall ausgewählt</div>
<div class="empty-state-text">Erstelle eine neue Lage oder wähle einen bestehenden Vorfall aus der Seitenleiste.</div> <div class="empty-state-text">Erstelle einen neuen Fall oder wähle einen bestehenden aus der Seitenleiste.</div>
</div> </div>
@@ -191,6 +192,9 @@
<div class="network-progress-label" id="network-progress-label">Wird verarbeitet...</div> <div class="network-progress-label" id="network-progress-label">Wird verarbeitet...</div>
</div> </div>
<!-- Cluster Breadcrumb -->
<div class="cluster-breadcrumb" id="cluster-breadcrumb" style="display:none;"></div>
<!-- Graph + Sidebar --> <!-- Graph + Sidebar -->
<div class="network-content"> <div class="network-content">
<div class="network-graph-area" id="network-graph-area"> <div class="network-graph-area" id="network-graph-area">
@@ -426,7 +430,7 @@
<div class="modal-overlay" id="modal-new" role="dialog" aria-modal="true" aria-labelledby="modal-new-title"> <div class="modal-overlay" id="modal-new" role="dialog" aria-modal="true" aria-labelledby="modal-new-title">
<div class="modal"> <div class="modal">
<div class="modal-header"> <div class="modal-header">
<div class="modal-title" id="modal-new-title">Neue Lage anlegen</div> <div class="modal-title" id="modal-new-title">Neuen Fall anlegen</div>
<button class="modal-close" onclick="closeModal('modal-new')" aria-label="Schließen">&times;</button> <button class="modal-close" onclick="closeModal('modal-new')" aria-label="Schließen">&times;</button>
</div> </div>
<form id="new-incident-form"> <form id="new-incident-form">
@@ -443,7 +447,7 @@
<label for="inc-type">Art der Lage</label> <label for="inc-type">Art der Lage</label>
<select id="inc-type" onchange="toggleTypeDefaults()"> <select id="inc-type" onchange="toggleTypeDefaults()">
<option value="adhoc">Live-Monitoring — Ereignis beobachten</option> <option value="adhoc">Live-Monitoring — Ereignis beobachten</option>
<option value="research">Analyse — Thema recherchieren</option> <option value="research">Recherche — Thema analysieren</option>
</select> </select>
<div class="form-hint" id="type-hint"> <div class="form-hint" id="type-hint">
Durchsucht laufend hunderte Nachrichtenquellen nach neuen Meldungen. Empfohlen: Automatische Aktualisierung. Durchsucht laufend hunderte Nachrichtenquellen nach neuen Meldungen. Empfohlen: Automatische Aktualisierung.
@@ -775,8 +779,10 @@
<script src="/static/js/layout.js?v=20260316b"></script> <script src="/static/js/layout.js?v=20260316b"></script>
<script src="/static/js/app.js?v=20260316b"></script> <script src="/static/js/app.js?v=20260316b"></script>
<script src="/static/js/api_network.js?v=20260316a"></script> <script src="/static/js/api_network.js?v=20260316a"></script>
<script src="/static/js/network-graph.js?v=20260316a"></script> <script src="/static/js/network-graph.js?v=20260318b"></script>
<script src="/static/js/app_network.js?v=20260316a"></script> <script src="/static/js/cluster-data.js?v=20260322f"></script>
<script src="/static/js/network-cluster.js?v=20260322f"></script>
<script src="/static/js/app_network.js?v=20260322d"></script>
<script src="/static/js/tutorial.js?v=20260316z"></script> <script src="/static/js/tutorial.js?v=20260316z"></script>
<script src="/static/js/chat.js?v=20260316i"></script> <script src="/static/js/chat.js?v=20260316i"></script>
<script>document.addEventListener("DOMContentLoaded",function(){Chat.init();Tutorial.init()});</script> <script>document.addEventListener("DOMContentLoaded",function(){Chat.init();Tutorial.init()});</script>

Datei anzeigen

@@ -549,12 +549,12 @@ const Tutorial = {
+ 'Klicken Sie auf eine Lage, um sie im Hauptbereich zu öffnen.', + 'Klicken Sie auf eine Lage, um sie im Hauptbereich zu öffnen.',
position: 'right', position: 'right',
}, },
// 2 - Neue Lage Button // 2 - Neuer Fall Button
{ {
id: 'new-incident-btn', id: 'new-incident-btn',
target: '#new-incident-btn', target: '#new-incident-btn',
title: 'Neue Lage anlegen', title: 'Neuen Fall anlegen',
text: 'Mit diesem Button \u00f6ffnen Sie das Formular zur Erstellung einer neuen Lage. ' text: 'Mit diesem Button \u00f6ffnen Sie das Formular zur Erstellung eines neuen Falls. '
+ 'Klicken Sie auf <strong>Weiter</strong>, um das Formular zu \u00f6ffnen und alle Felder durchzugehen.', + 'Klicken Sie auf <strong>Weiter</strong>, um das Formular zu \u00f6ffnen und alle Felder durchzugehen.',
position: 'right', position: 'right',
onExit: function() { onExit: function() {
@@ -599,7 +599,7 @@ const Tutorial = {
title: 'Art der Lage', title: 'Art der Lage',
text: '<strong>Live-Monitoring</strong> beobachtet ein Ereignis in Echtzeit. Hunderte Quellen werden ' text: '<strong>Live-Monitoring</strong> beobachtet ein Ereignis in Echtzeit. Hunderte Quellen werden '
+ 'laufend durchsucht. Ideal für aktuelle Krisen und sich entwickelnde Lagen.<br><br>' + 'laufend durchsucht. Ideal für aktuelle Krisen und sich entwickelnde Lagen.<br><br>'
+ '<strong>Analyse/Recherche</strong> untersucht ein Thema tiefergehend ohne automatische Updates. ' + '<strong>Recherche</strong> analysiert ein Thema tiefergehend ohne automatische Updates. '
+ 'Ideal für Hintergrundanalysen und Lageberichte.', + 'Ideal für Hintergrundanalysen und Lageberichte.',
position: 'left', position: 'left',
disableNav: true, disableNav: true,
@@ -1161,7 +1161,7 @@ const Tutorial = {
text: 'Der Chat-Assistent steht Ihnen jederzeit zur Verf\u00fcgung. ' text: 'Der Chat-Assistent steht Ihnen jederzeit zur Verf\u00fcgung. '
+ 'Stellen Sie Fragen zur Bedienung des Monitors und erhalten Sie sofort eine Antwort.<br><br>' + 'Stellen Sie Fragen zur Bedienung des Monitors und erhalten Sie sofort eine Antwort.<br><br>'
+ 'Beispiele:<br>' + 'Beispiele:<br>'
+ '"Wie erstelle ich eine neue Lage?"<br>' + '"Wie erstelle ich einen neuen Fall?"<br>'
+ '"Was bedeuten die Faktencheck-Status?"<br>' + '"Was bedeuten die Faktencheck-Status?"<br>'
+ '"Wie exportiere ich einen Lagebericht?"', + '"Wie exportiere ich einen Lagebericht?"',
position: 'top', position: 'top',
@@ -1173,7 +1173,7 @@ const Tutorial = {
title: 'Rundgang abgeschlossen', title: 'Rundgang abgeschlossen',
text: 'Sie kennen jetzt alle wichtigen Funktionen des AegisSight Monitors.<br><br>' text: 'Sie kennen jetzt alle wichtigen Funktionen des AegisSight Monitors.<br><br>'
+ 'Die Demo-Daten werden nach dem Schlie\u00dfen entfernt. ' + 'Die Demo-Daten werden nach dem Schlie\u00dfen entfernt. '
+ 'Erstellen Sie Ihre erste eigene Lage \u00fcber den Button "+ Neue Lage" in der Seitenleiste.<br><br>' + 'Erstellen Sie Ihre erste eigene Lage \u00fcber den Button "+ Neuer Fall" in der Seitenleiste.<br><br>'
+ 'Bei weiteren Fragen steht Ihnen der Chat-Assistent ' + 'Bei weiteren Fragen steht Ihnen der Chat-Assistent '
+ 'oder unser Support unter support@aegis-sight.de zur Verf\u00fcgung.', + 'oder unser Support unter support@aegis-sight.de zur Verf\u00fcgung.',
position: 'center', position: 'center',
@@ -1984,12 +1984,12 @@ const Tutorial = {
+ 'opacity:0;transform:translateY(-4px);transition:opacity 0.2s,transform 0.2s;'; + 'opacity:0;transform:translateY(-4px);transition:opacity 0.2s,transform 0.2s;';
var opt1 = document.createElement('div'); var opt1 = document.createElement('div');
opt1.textContent = 'Live-Monitoring'; opt1.textContent = 'Live-Monitoring \u2014 Ereignis beobachten';
opt1.style.cssText = 'padding:10px 14px;font-size:14px;color:var(--text-primary,#e0e0e0);' opt1.style.cssText = 'padding:10px 14px;font-size:14px;color:var(--text-primary,#e0e0e0);'
+ 'background:var(--accent-alpha,rgba(212,175,55,0.15));transition:background 0.15s;'; + 'background:var(--accent-alpha,rgba(212,175,55,0.15));transition:background 0.15s;';
var opt2 = document.createElement('div'); var opt2 = document.createElement('div');
opt2.textContent = 'Analyse / Recherche'; opt2.textContent = 'Recherche \u2014 Thema analysieren';
opt2.style.cssText = 'padding:10px 14px;font-size:14px;color:var(--text-primary,#e0e0e0);' opt2.style.cssText = 'padding:10px 14px;font-size:14px;color:var(--text-primary,#e0e0e0);'
+ 'transition:background 0.15s;'; + 'transition:background 0.15s;';
@@ -2008,7 +2008,7 @@ const Tutorial = {
opt1Rect.left + opt1Rect.width / 2, opt1Rect.top + opt1Rect.height / 2, 400); opt1Rect.left + opt1Rect.width / 2, opt1Rect.top + opt1Rect.height / 2, 400);
await this._wait(1200); await this._wait(1200);
// Cursor zu Analyse/Recherche // Cursor zu Recherche
var opt2Rect = opt2.getBoundingClientRect(); var opt2Rect = opt2.getBoundingClientRect();
await this._animateCursor( await this._animateCursor(
opt1Rect.left + opt1Rect.width / 2, opt1Rect.top + opt1Rect.height / 2, opt1Rect.left + opt1Rect.width / 2, opt1Rect.top + opt1Rect.height / 2,