Commit graph

143 Commits

Autor SHA1 Nachricht Datum
Claude Code
8b8072efe7 feat: Slide 3 KI-Recherche-Video v2 + Cache-Bust 2026-04-14 02:59:46 +02:00
Claude Code
c5415f7a6b feat: Slide 2 Faktencheck-Video v3 + Cache-Bust 2026-04-14 02:38:27 +02:00
Claude Code
51d1c0d905 feat: Slide 5 Flexibel-Video v2 + Cache-Bust 2026-04-14 02:31:54 +02:00
Claude Code
2b76e5f3bb feat: Slide 5 (Flexibel einsetzbar) mit Video statt Text 2026-04-14 02:27:10 +02:00
Claude Code
05e5179235 feat: Slide 4 (Globale Abdeckung) mit Video statt Text 2026-04-14 00:58:07 +02:00
Claude Code
442b794421 feat: Slide 3 (KI-Recherche) mit Video statt Text 2026-04-13 23:35:26 +02:00
Claude Code
b613cb47bc feat: Slide 2 Faktencheck-Video v2 + Cache-Bust 2026-04-13 21:04:58 +02:00
Claude Code
87d90f07d1 fix: Problem-Karte 1 - Widerspruch Tausende/Hunderte behoben
Überschrift von "Tausende Quellen" auf "Quellenvielfalt" geändert
und den Beschreibungstext entsprechend angepasst. Behebt den internen
Widerspruch (Überschrift sagte Tausende, Text sagte Hunderte) und
entfernt die Wort-Redundanz von "Quellen".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:59:44 +02:00
Claude Code
c245f03203 feat: Slide 2 (Faktencheck) mit Video statt Text
Video ersetzt Description-Text + leere media-col. Premiere-Export
wurde mit ffmpeg reencodet (CRF 23, preset slower, no audio, faststart),
von 17,2 MB auf 1,6 MB (-91%) bei gleicher Auflösung 1920x1080 @ 25fps
und ohne sichtbaren Qualitätsverlust.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:55:44 +02:00
Claude Code
7dd6cb991d refactor: Hero-Slider auf opacity-Stacking, Video pro Slide
- visibility:hidden aus Slide-States entfernt (brach Video-Playback)
- #hero-video-container + Sonderfall-Logik für Slide 0 entfernt
- Video in Slide 0 inline verschoben, generische Restart-Logik
- Videos starten bei jedem Slide-Wechsel bei 0:00 (bewusste
  Verhaltensänderung gegenüber 9df30bc)
- Autoplay-Intervall auf 15s vereinheitlicht (kein Video/Text-Sonderfall)
- Hover-Pause des Sliders entfernt (stoppte Autoplay unerwartet)
- Neue Videos in weiteren Slides erfordern jetzt nur HTML-Block + src

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 19:34:52 +02:00
Claude Code
80ce22b692 fix: Video-Wiedergabe bei Rückkehr zu Slide 0 sicherstellen
Browser pausiert Videos bei opacity:0, autoplay greift nicht erneut.
Explizit play() bei Slide 0, pause() bei anderen Slides.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:12:55 +02:00
Claude Code
d6191584d3 fix: min-height:280px vom hero-slider entfernt
Slide 0 hat weniger Inhalt seit Video ausgelagert wurde,
die fixe min-height erzeugte unnötigen Leerraum vor den Dots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:09:44 +02:00
Claude Code
9df30bcd96 fix: Video läuft durchgehend, kein Neustart bei Slide-Wechsel
Video aus dem Slide-Div herausgelöst und als eigenständiges Element
zwischen hero-brand und hero-slider platziert. Dadurch wird es nie
via visibility:hidden versteckt und der Browser resettet es nicht.
Ein-/Ausblenden per opacity + max-height Transition.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:07:49 +02:00
Claude Code
964b8d47f2 update: Hero-Video Slide 1 neu gerendert
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:04:00 +02:00
Claude Code
0fc0d30191 refactor: Hero Slide 0 mit Inline-Video statt Fullscreen-Hintergrund
Video wird jetzt als Inline-Element unter der Tagline angezeigt
(volle Breite, object-fit contain, nichts abgeschnitten).
Label und Headline entfernt (redundant mit Tagline).
Beispiel-Text und CTA-Button unterhalb des Videos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:57:41 +02:00
Claude Code
fbadb45914 fix: z-index Reihenfolge für Hero-Video korrigiert
Overlay z-index 1, Video z-index 2, Content z-index 3.
Video war vorher hinter dem fast undurchsichtigen Overlay versteckt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:53:25 +02:00
Claude Code
fb7e52a3bc fix: Slider-Intervall 15s für Video-Slide, 8s für andere
Slide 0 bleibt jetzt so lange sichtbar wie das Video dauert (15s).
Alle anderen Slides wechseln weiterhin nach 8s. Umstellung von
setInterval auf verkettete setTimeout für dynamisches Timing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:50:09 +02:00
Claude Code
f039357a7f fix: Hero-Video als Vollbild über gesamte Hero-Section
Video füllt jetzt die komplette Hero-Section (88vh) statt nur den
700px-breiten Slide-Container. Ein-/Ausblenden per CSS-Transition
(0.8s) gekoppelt an den aktiven Slide (nur bei Slide 0 sichtbar).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:49:02 +02:00
Claude Code
8d01c49707 feat: Video-Hintergrund für Hero Slide 1 (Echtzeit-Monitoring)
- Komprimiertes Video (2.1 MB, 1920x1080, 15s loop) als Hintergrund
- Beschreibungstext entfernt (wird durch Video repräsentiert)
- Label, Headline, Beispiel-Zitat und CTA bleiben sichtbar
- Text-Shadows für Lesbarkeit über Video

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:46:53 +02:00
Claude Code
5f6cd77a47 fix: duplizierten Hero-Slider CSS-Block in Vorschau entfernt
Identischer CSS-Block war doppelt vorhanden (Zeilen 77-105 und 108-136),
was bei späteren Änderungen zu Wartungsproblemen geführt hätte.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:41:29 +02:00
Claude Code
932ff9c049 Lagen-Seiten: Englische Übersetzung + Sprachwechsel-Logik
- LANG-Objekt mit de/en Strings für ~40 UI-Elemente
- t() Hilfsfunktion + getLocale() + getHeadline()
- switchContent(): Lädt current_en.json bei Sprachwechsel
- Fallback auf deutsche Version wenn EN nicht verfügbar
- Datumsformatierung sprachabhängig (de-DE / en-GB)
- Artikel-Headlines: Original bei EN, Übersetzung bei DE
- Snapshot-Hinweis bei EN (Historical data in German only)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 04:12:47 +02:00
Claude Code
3872d32d8f fix: Unicode-Escapes in Navbar/Footer durch echte Umlaute ersetzt
Cyberangriffe- und Deepfakes-Seiten zeigten \u00dc statt Ü in der Navigation. Ursache: JSON-Encoding wurde auf HTML angewendet. Zusätzlich data-translate-Attribute und Language-Toggle ergänzt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:18:38 +02:00
Claude Code
0a6ec07374 Karte: MarkerCluster mit Popups, Hero-CTAs scrollen zu Demos
Lagebild-Karte auf geclusterte Marker umgebaut (primary/secondary als Pulse, rest als CircleMarker). Popups zeigen jetzt Top-Artikel mit Links. Vorschau Hero-Buttons scrollen zum Demo-Karussell statt direkt zu den Lagen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:18:31 +02:00
Claude Code
3cd5623fa6 Vorschau: Stats-Bar dynamisch pro Lage, Hero-Kontakt-Buttons entfernt, Deepfakes-Excerpt gekürzt
- Stats-Bar (Titel, Artikel, Quellen, Faktenchecks) wechselt beim Carousel-Wechsel
- countUp-Animation in äußeren Scope verschoben für Wiederverwendung
- lageTitles-Mapping für Anzeigenamen der Lagen
- Kontakt-Buttons aus allen Hero-Slides entfernt
- Deepfakes-Excerpt auf Stichpunkte beschränkt (Fließtext gefiltert)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 23:36:29 +02:00
Claude Code
0f3cc972a5 Cyberangriffe-Lagebild + Vorschau: Slide und Carousel aktualisiert
Neue Seite /lagen/cyberangriffe/ mit 93 Artikeln, 41 Quellen, 28 Locations.
Hero-Slide "Flexibel einsetzbar" verlinkt jetzt auf Cyberangriffe.
Carousel: Platzhalter 2 ersetzt durch Live-Card mit Zusammenfassung.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 22:34:20 +02:00
Claude Code
b4236872a7 Vorschau: Grosslage -> Großlage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:41:14 +02:00
Claude Code
3250636208 Vorschau: Recherche-CTA verlinkt direkt auf /lagen/deepfakes/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:56:58 +02:00
Claude Code
4e0cc78190 Vorschau: Recherche-CTA wechselt Carousel zur Deepfakes-Karte
Klick auf Recherche-Beispiel ansehen scrollt zum Carousel und
setzt es automatisch auf die Deepfakes-Recherche (Index 2).
positionCards() als globale Funktion exponiert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:55:37 +02:00
Claude Code
20a004d273 Vorschau: Live-Demo Button aus Faktencheck-Slide entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:37:16 +02:00
Claude Code
d462d6d37e Deepfakes-Recherche als Lagebild-Seite + Vorschau-Updates
Neue Seite /lagen/deepfakes/ mit vollstaendiger Recherche zur
rechtlichen Lage von Deepfakes in Deutschland (121 Artikel, 90 Quellen).
Nutzt bestehendes lagebild.css/js aus iran-konflikt.

Vorschau: Dritte Carousel-Card mit Deepfakes-Recherche befuellt,
Hero-Slide Label von KI-Recherche zu KI-gestuetzte Recherche geaendert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:27:18 +02:00
Claude Code
a9c1c73c2a Vorschau: Faktencheck-Slide ueberarbeitet - beschreibend, kein Iran-Bezug
Slide rein beschreibend umformuliert mit Verifikationsstatus-Erklaerung.
Beispiel-Hinweis entfernt, Bild-Platzhalter fuer Screenshot vorbereitet.
Media-Col nur noch sichtbar wenn tatsaechlich ein img-Element vorhanden.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 17:21:03 +02:00
Claude Code
26b74d35ef Vorschau: Hero-Section von Stockvideos auf Feature-Slides umgebaut
Ersetzt die 3 rotierenden Stockvideos durch 5 inhaltsgetriebene Slides,
die die Kernfeatures des Monitors bewerben (Echtzeit-Monitoring,
Faktencheck, KI-Recherche, Globale Abdeckung, Flexibilitaet).
Jeder Slide mit Feature-Text, konkretem Beispiel-Beleg und CTAs.
Grafik-Spalte pro Slide vorbereitet fuer spaetere Screenshots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:06:33 +02:00
Claude Code
33f4afc7ae fix: Mobile-Layout komplett ueberarbeitet
- Feature-Cards: flex-direction:column, volle Breite auf Mobile
- Karussell: nur aktive Card sichtbar, volle Breite, keine Side-Cards
- Stats-Bar: kleinere Zahlen, weniger Padding
- Carousel-Pfeile auf Mobile ausgeblendet
- Dot-Navigation bleibt fuer Card-Wechsel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:25:40 +02:00
Claude Code
9e6f0b5270 fix: Zielgruppe in Problem-Section, Mobile Feature-Cards
- Untertitel in Problem-Section: Zielgruppe definiert
  (Sicherheitsbehoerden, Redaktionen, Unternehmen)
- Feature-Cards auf Mobile volle Breite (Flex-Override)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:22:26 +02:00
Claude Code
85f4091e33 docs: CLAUDE.md aktualisiert (Sektionsreihenfolge, Contact-Handler, Icons)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:17:19 +02:00
Claude Code
6f0e6028c5 feat: Kontaktformular sendet serverseitig per SMTP statt mailto
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:14:05 +02:00
Claude Code
2053f215e5 fix: JS Syntax-Fehler im Kontaktformular behoben
Mehrzeilige String-Literale durch korrekte \n Escape-Sequenzen ersetzt.
Fehler verhinderte komplette JS-Ausfuehrung (Modal + Lagebild-Daten).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:51:42 +02:00
Claude Code
fa36d7267d feat: Kontaktformular als Popup, Grid zentriert, Straße gefixt
- Kontaktformular als Modal-Popup (Name, Organisation, E-Mail, Nachricht)
- Oeffnet per Button-Klick, schliessbar per X/Overlay/Escape
- Submit erstellt mailto-Link mit vorausgefuellten Feldern
- Feature-Grid: letzte 2 Cards zentriert statt linksbuendig
- Gladbacher Strasse -> Gladbacher Straße

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:48:40 +02:00
Claude Code
6ec058b874 fix: Alte Chevron-Reste und 'n'-Artefakt entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:41:21 +02:00
Claude Code
d61dcf49d3 fix: Hero-Chevron als clip-path statt separatem Element
clip-path auf der Hero-Section selbst schneidet sauber spitz ab,
kein separates SVG-Element mehr. Video, Overlay und Content
werden alle gleichmässig abgeschnitten.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:39:47 +02:00
Claude Code
4e2d78ee1e fix: Chevron groesser (100px), deckt Hero-Video-Rand sauber ab
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:38:38 +02:00
Claude Code
7bcb699ba6 fix: Chevron-Spitze zwischen Hero und Problem wiederhergestellt
Navy-Dreieck ragt von unten in den Hero hinein (negative margin),
erzeugt sauberen spitzen Uebergang zwischen Video-Hero und
dunkler Problem-Section.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:37:24 +02:00
Claude Code
efc3ca5075 feat: Icons getauscht, Faktenprüfung als Statement statt Card
- Echtzeit-Monitoring: shield.svg -> monitor.svg (Lucide)
- Mehrsprachige Auswertung: document.svg -> languages.svg (Lucide)
- Strukturierte Lagebilder: clock.svg -> document.svg
- Faktenprüfung: Card mit Border/Icon -> Statement-Section
  (große Typografie, kein Icon, kein Rahmen)
- 2 neue SVG-Icons: monitor.svg, languages.svg

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:34:31 +02:00
Claude Code
f578529d94 fix: Chevron zwischen Hero und Problem entfernt (beide Navy, nahtlos)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:27:25 +02:00
Claude Code
13432c43c2 refactor: Seitenstruktur, visuelle Differenzierung, Feedback-Fixes
- Problem-Section vor Workflow verschoben (Hero -> Problem -> Workflow)
- Problem-Section dunkel (Navy) fuer visuellen Kontrast
- Faktenprüfung als eigene Highlight-Card hervorgehoben (Gold-Border)
- Tippfehler Grosslage -> Großlage
- Nachhaltigkeit Icon von clock.svg zu shield-check.svg
- Hero Spacing verbessert (mehr Abstand Claim/Subtext)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:25:07 +02:00
Claude Code
bd878de0c3 fix: Unser Versprechen heller als Footer (navy-light vs navy)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:16:46 +02:00
Claude Code
3435141547 fix: E-Mail-Adresse unter CTA-Button entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:15:39 +02:00
Claude Code
054e310ce1 fix: Gradient-Uebergang nach Unser Versprechen entfernt
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:15:18 +02:00
Claude Code
08e21bf3e8 fix: CTA vor Unser Versprechen verschoben
Reihenfolge: Features -> CTA -> Unser Versprechen -> Footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:14:07 +02:00
Claude Code
450a86f071 fix: Unser Versprechen ans Ende verschoben (vor CTA)
Reihenfolge: Hero -> Workflow -> Stats/Karussell/Karte -> Problem ->
Features -> Unser Versprechen -> CTA -> Footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:12:50 +02:00