Lagebild: Tab-Navigation zu Scroll-Narrative mit Sticky Section-Nav umgebaut

- Alle Sektionen (Lagebild, Karte, Faktenchecks, Artikel) auf einer scrollbaren Seite
- Sticky Section-Nav mit Scroll-Spy (IntersectionObserver) ersetzt Tab-Buttons
- Karte rendert sofort (nicht mehr erst bei Tab-Klick), full-width Layout
- Artikel auf Top 20 limitiert mit Alle anzeigen Button
- Quellen-Tab zu Artikel umbenannt, zitierte Quellen entfernt
- Control-Bar sticky mit Shadow-Effekt beim Scrollen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Code
2026-03-07 15:53:44 +01:00
Ursprung 5e5cb0a3b2
Commit dc0792c073
3 geänderte Dateien mit 2107 neuen und 2128 gelöschten Zeilen

Datei anzeigen

@@ -1,189 +1,183 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lagebild Irankonflikt - AegisSight</title> <title>Lagebild Irankonflikt - AegisSight</title>
<meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex"> <meta name="robots" content="noindex, nofollow, noarchive, nosnippet, noimageindex">
<link rel="icon" type="image/svg+xml" href="../favicon.svg"> <link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="stylesheet" href="../css/main.css"> <link rel="stylesheet" href="../css/main.css">
<link rel="stylesheet" href="../css/fonts.css"> <link rel="stylesheet" href="../css/fonts.css">
<link rel="stylesheet" href="../css/mobile.css"> <link rel="stylesheet" href="../css/mobile.css">
<link rel="stylesheet" href="lagebild.css"> <link rel="stylesheet" href="lagebild.css">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" /> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
</head> </head>
<body class="lagebild-page"> <body class="lagebild-page">
<!-- Navigation --> <!-- Navigation -->
<nav class="navbar" role="navigation"> <nav class="navbar" role="navigation">
<div class="nav-container"> <div class="nav-container">
<div class="logo"> <div class="logo">
<a href="/"><img src="../assets/images/logos/Logo+Schrift_Rechts.png" alt="AegisSight" class="logo-img"></a> <a href="/"><img src="../assets/images/logos/Logo+Schrift_Rechts.png" alt="AegisSight" class="logo-img"></a>
</div> </div>
<ul class="nav-menu"> <ul class="nav-menu">
<li><a href="/" data-translate="navHome">Startseite</a></li> <li><a href="/" data-translate="navHome">Startseite</a></li>
<li><a href="/#about" data-translate="navAbout">Über uns</a></li> <li><a href="/#about" data-translate="navAbout">Über uns</a></li>
<li><a href="/#products" data-translate="navProducts">Lösungen</a></li> <li><a href="/#products" data-translate="navProducts">Lösungen</a></li>
<li><a href="/lagebild" class="nav-active" data-translate="navLagebild">Lagebild</a></li> <li><a href="/lagebild" class="nav-active" data-translate="navLagebild">Lagebild</a></li>
<li><a href="mailto:info@aegis-sight.de" data-translate="navContact">Kontakt</a></li> <li><a href="mailto:info@aegis-sight.de" data-translate="navContact">Kontakt</a></li>
</ul> </ul>
<div class="nav-extras"> <div class="nav-extras">
<button class="lang-toggle" data-lang="de" aria-label="Sprache wechseln" data-translate="langSwitch">DE | EN</button> <button class="lang-toggle" data-lang="de" aria-label="Sprache wechseln" data-translate="langSwitch">DE | EN</button>
<button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false"> <button class="mobile-menu-toggle" aria-label="Menü öffnen" aria-expanded="false">
<span class="hamburger"><span></span><span></span><span></span></span> <span class="hamburger"><span></span><span></span><span></span></span>
</button> </button>
</div> </div>
</div> </div>
</nav> </nav>
<!-- Mobile Navigation --> <!-- Mobile Navigation -->
<div class="nav-menu-mobile" aria-hidden="true"> <div class="nav-menu-mobile" aria-hidden="true">
<button class="mobile-menu-close" aria-label="Menü schließen"> <button class="mobile-menu-close" aria-label="Menü schließen">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12" stroke="currentColor"/></svg>
</button> </button>
<ul> <ul>
<li><a href="/" data-translate="navHome">Startseite</a></li> <li><a href="/" data-translate="navHome">Startseite</a></li>
<li><a href="/#about" data-translate="navAbout">Über uns</a></li> <li><a href="/#about" data-translate="navAbout">Über uns</a></li>
<li><a href="/#products" data-translate="navProducts">Lösungen</a></li> <li><a href="/#products" data-translate="navProducts">Lösungen</a></li>
<li><a href="/lagebild" class="nav-active" data-translate="navLagebild">Lagebild</a></li> <li><a href="/lagebild" class="nav-active" data-translate="navLagebild">Lagebild</a></li>
<li><a href="mailto:info@aegis-sight.de" data-translate="navContact">Kontakt</a></li> <li><a href="mailto:info@aegis-sight.de" data-translate="navContact">Kontakt</a></li>
</ul> </ul>
</div> </div>
<div class="mobile-menu-overlay"></div> <div class="mobile-menu-overlay"></div>
<!-- Hero Section --> <!-- Hero Section -->
<section class="lagebild-hero"> <section class="lagebild-hero">
<div class="hero-bg-pattern"></div> <div class="hero-bg-pattern"></div>
<div class="container"> <div class="container">
<div class="hero-badge"> <div class="hero-badge">
<span class="badge-dot"></span> <span class="badge-dot"></span>
<span>LIVE-LAGEBILD</span> <span>LIVE-LAGEBILD</span>
</div> </div>
<h1 id="hero-title">LAGEBILD</h1> <h1 id="hero-title">LAGEBILD</h1>
<p class="hero-incident-title" id="incident-title"></p> <p class="hero-incident-title" id="incident-title"></p>
<!-- Stat Cards --> <!-- Stat Cards -->
<div class="hero-stats" id="hero-stats"></div> <div class="hero-stats" id="hero-stats"></div>
</div> </div>
</section> </section>
<!-- Control Bar: Timeline + Tabs --> <!-- Control Bar: Timeline + Section Nav -->
<div class="control-bar"> <div class="control-bar" id="control-bar">
<div class="container"> <div class="container">
<div class="timeline-wrapper"> <div class="timeline-wrapper">
<div class="timeline-strip" id="timeline-strip"></div> <div class="timeline-strip" id="timeline-strip"></div>
<div class="timeline-dropdown" id="timeline-dropdown"></div> <div class="timeline-dropdown" id="timeline-dropdown"></div>
</div> </div>
<div class="tab-nav" id="tab-nav"> <nav class="section-nav" id="section-nav">
<button class="tab-btn active" data-tab="lagebild">Lagebild</button> <a class="section-nav-link active" href="#section-lagebild" data-section="lagebild">Lagebild</a>
<button class="tab-btn" data-tab="quellen">Quellen <span class="tab-badge" id="tab-badge-quellen"></span></button> <a class="section-nav-link" href="#section-karte" data-section="karte">Karte</a>
<button class="tab-btn" data-tab="karte">Karte</button> <a class="section-nav-link" href="#section-faktenchecks" data-section="faktenchecks">Faktenchecks <span class="section-badge" id="badge-faktenchecks"></span></a>
<button class="tab-btn" data-tab="faktenchecks">Faktenchecks <span class="tab-badge" id="tab-badge-faktenchecks"></span></button> <a class="section-nav-link" href="#section-artikel" data-section="artikel">Artikel <span class="section-badge" id="badge-artikel"></span></a>
</div> </nav>
</div> </div>
</div> </div>
<!-- Main Content --> <!-- Main Content: All sections visible (Scroll-Narrative) -->
<main class="lagebild-main"> <main class="lagebild-main">
<div class="container"> <!-- Section: Lagebild -->
<!-- Tab: Lagebild --> <div class="container">
<div class="tab-panel active" id="panel-lagebild"> <section id="section-lagebild" class="content-section">
<section class="content-card"> <div class="content-card">
<div class="card-header"> <div class="card-header">
<h2 id="lagebild-date-title">Lagebild</h2> <h2 id="lagebild-date-title">Lagebild</h2>
<span class="card-timestamp" id="lagebild-timestamp"></span> <span class="card-timestamp" id="lagebild-timestamp"></span>
</div> </div>
<div class="card-body" id="summary-content"> <div class="card-body" id="summary-content">
<div class="loading-skeleton"> <div class="loading-skeleton">
<div class="skeleton-line"></div> <div class="skeleton-line"></div>
<div class="skeleton-line"></div> <div class="skeleton-line"></div>
<div class="skeleton-line short"></div> <div class="skeleton-line short"></div>
</div> </div>
</div> </div>
<div class="card-footer" id="inline-sources"></div> <div class="card-footer" id="inline-sources"></div>
</section> </div>
</div> </section>
</div>
<!-- Tab: Quellen -->
<div class="tab-panel" id="panel-quellen"> <!-- Section: Karte (full-width) -->
<section class="content-card"> <section id="section-karte" class="content-section section-karte">
<div class="card-header"> <div class="container">
<h2>Quellen &amp; Quellenberichte</h2> <div class="section-heading">
<p class="card-description">Alle vom AegisSight Monitor aggregierten Quellen und Artikel</p> <h2>Karte</h2>
</div> <p class="section-description">Geografische Einordnung der Meldungen</p>
<div class="card-body"> </div>
<div id="sources-cited" class="sources-section"></div> </div>
<h3 class="section-subtitle" id="articles-heading">Alle Artikel</h3> <div id="map-container"></div>
<div id="articles-content"></div> </section>
</div>
</section> <!-- Section: Faktenchecks -->
</div> <div class="container">
<section id="section-faktenchecks" class="content-section">
<!-- Tab: Karte --> <div class="content-card">
<div class="tab-panel" id="panel-karte"> <div class="card-header">
<section class="content-card"> <h2>Faktenchecks</h2>
<div class="card-header"> <p class="card-description">KI-gestützte Verifizierung aller zentralen Aussagen gegen unabhängige Quellen</p>
<h2>Karte</h2> </div>
<p class="card-description">Geografische Einordnung der Meldungen</p> <div class="card-body" id="factchecks-content"></div>
</div> </div>
<div class="card-body"> </section>
<div id="map-container" style="height:500px;border-radius:4px;overflow:hidden;"></div>
</div> <!-- Section: Artikel -->
</section> <section id="section-artikel" class="content-section">
</div> <div class="content-card">
<div class="card-header">
<!-- Tab: Faktenchecks --> <h2 id="articles-heading">Artikel</h2>
<div class="tab-panel" id="panel-faktenchecks"> <p class="card-description">Alle vom AegisSight Monitor aggregierten Artikel</p>
<section class="content-card"> </div>
<div class="card-header"> <div class="card-body" id="articles-content"></div>
<h2>Faktenchecks</h2> </div>
<p class="card-description">KI-gestützte Verifizierung aller zentralen Aussagen gegen unabhängige Quellen</p> </section>
</div> </div>
<div class="card-body" id="factchecks-content"></div> </main>
</section>
</div> <!-- Footer -->
<footer class="footer">
<!-- CTA --> <div class="container">
</div> <div class="footer-content">
</main> <div class="footer-section">
<h4 data-translate="footerCompanyTitle">AegisSight UG (haftungsbeschränkt)</h4>
<!-- Footer --> <p data-translate="footerCompanyAddress1">Gladbacher Strasse 3-5</p>
<footer class="footer"> <p data-translate="footerCompanyAddress2">40764 Langenfeld</p>
<div class="container"> </div>
<div class="footer-content"> <div class="footer-section">
<div class="footer-section"> <h4 data-translate="footerNavTitle">Navigation</h4>
<h4 data-translate="footerCompanyTitle">AegisSight UG (haftungsbeschränkt)</h4> <ul>
<p data-translate="footerCompanyAddress1">Gladbacher Strasse 3-5</p> <li><a href="/" data-translate="footerNavHome">Startseite</a></li>
<p data-translate="footerCompanyAddress2">40764 Langenfeld</p> <li><a href="/#about" data-translate="footerNavAbout">Über uns</a></li>
</div> <li><a href="/#products" data-translate="footerNavProducts">Lösungen</a></li>
<div class="footer-section"> </ul>
<h4 data-translate="footerNavTitle">Navigation</h4> </div>
<ul> <div class="footer-section">
<li><a href="/" data-translate="footerNavHome">Startseite</a></li> <h4 data-translate="footerLegalTitle">Rechtliches</h4>
<li><a href="/#about" data-translate="footerNavAbout">Über uns</a></li> <ul>
<li><a href="/#products" data-translate="footerNavProducts">Lösungen</a></li> <li><a href="/impressum.html" data-translate="footerImprint">Impressum</a></li>
</ul> <li><a href="/datenschutz.html" data-translate="footerPrivacy">Datenschutz</a></li>
</div> </ul>
<div class="footer-section"> </div>
<h4 data-translate="footerLegalTitle">Rechtliches</h4> <div class="footer-section">
<ul> <h4 data-translate="footerContactTitle">Kontakt</h4>
<li><a href="/impressum.html" data-translate="footerImprint">Impressum</a></li> <p>info@aegis-sight.de</p>
<li><a href="/datenschutz.html" data-translate="footerPrivacy">Datenschutz</a></li> </div>
</ul> </div>
</div> <p class="copyright">&copy; 2026 AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p>
<div class="footer-section"> </div>
<h4 data-translate="footerContactTitle">Kontakt</h4> </footer>
<p>info@aegis-sight.de</p>
</div> <!-- Scripts -->
</div> <script src="../js/config.js"></script>
<p class="copyright">&copy; 2026 AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.</p> <script src="../js/translations.js"></script>
</div> <script src="../js/mobile-nav.js"></script>
</footer> <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<script src="lagebild.js"></script>
<!-- Scripts --> </body>
<script src="../js/config.js"></script> </html>
<script src="../js/translations.js"></script>
<script src="../js/mobile-nav.js"></script>
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<script src="lagebild.js"></script>
</body>
</html>

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

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