Backup: Stand vor Design-Optimierung (2026-02-16)

Dieser Commit ist enthalten in:
Claude Code
2026-02-16 21:20:16 +00:00
Ursprung afe25fc728
Commit a61fab12e6
37 geänderte Dateien mit 1042 neuen und 3456 gelöschten Zeilen

Datei anzeigen

@@ -1,5 +1,5 @@
/**
* Animation module for IntelSight website
* Animation module for AegisSight website
* Contains all animation logic and visual effects
*/

Datei anzeigen

@@ -1,5 +1,5 @@
/**
* UI Components module for IntelSight website
* UI Components module for AegisSight website
* Contains all interactive UI component logic
*/
@@ -228,7 +228,7 @@ const LoginModal = {
</div>
<button type="submit" class="primary-button">${t('grantAccess')}</button>
</form>
<p class="auth-note">${t('noAccess')} <a href="mailto:info@intelsight.de">${t('contactUs')}</a></p>
<p class="auth-note">${t('noAccess')} <a href="mailto:info@aegis-sight.de">${t('contactUs')}</a></p>
</div>
`;
},

Datei anzeigen

@@ -1,5 +1,5 @@
/**
* Central configuration file for IntelSight website
* Central configuration file for AegisSight website
* Contains all constants, settings and selectors
*/
@@ -34,7 +34,7 @@ const CONFIG = {
I18N: {
DEFAULT_LANGUAGE: 'de',
SUPPORTED_LANGUAGES: ['de', 'en'],
STORAGE_KEY: 'intelsight_language'
STORAGE_KEY: 'aegissight_language'
},
// Intersection Observer Settings

Datei anzeigen

@@ -3,8 +3,20 @@
* Only includes necessary functionality for language switching
*/
// Set current year in footer
function setCurrentYear() {
const currentYear = new Date().getFullYear();
const yearElements = document.querySelectorAll('.current-year');
yearElements.forEach(element => {
element.textContent = currentYear;
});
}
// Simple language toggle for legal pages
document.addEventListener('DOMContentLoaded', function() {
// Set current year immediately
setCurrentYear();
// Get the language toggle button
const langToggle = document.querySelector('.lang-toggle');
@@ -18,7 +30,7 @@ document.addEventListener('DOMContentLoaded', function() {
// Store language preference
if (typeof(Storage) !== 'undefined') {
localStorage.setItem('intelsight-language', newLang);
localStorage.setItem('aegissight_language', newLang);
}
// Get current page name

Datei anzeigen

@@ -1,5 +1,5 @@
/**
* Main application entry point for IntelSight website
* Main application entry point for AegisSight website
* Initializes all modules and coordinates application startup
*/
@@ -63,11 +63,11 @@ const App = {
* Start the application after DOM is ready
*/
start() {
console.log('IntelSight Website Initializing...');
console.log('AegisSight Website Initializing...');
// Initialize modules in correct order
try {
// 1. Initialize translations first (needed by components)
// 1. Initialize translations first (includes year replacement)
initTranslations();
console.log('✓ Translations initialized');
@@ -85,7 +85,7 @@ const App = {
// 5. Setup performance monitoring
this.setupPerformanceMonitoring();
console.log('IntelSight Website Ready!');
console.log('AegisSight Website Ready!');
} catch (error) {
console.error('Failed to initialize application:', error);
@@ -131,6 +131,34 @@ const App = {
});
},
/**
* Set current year in footer and update translations dynamically
*/
setCurrentYear() {
const currentYear = new Date().getFullYear();
// Set current year in main footer span element
const yearElement = document.getElementById('currentYear');
if (yearElement) {
yearElement.textContent = currentYear;
}
// Set current year in legal pages footer spans
const legalYearElements = document.querySelectorAll('.current-year');
legalYearElements.forEach(element => {
element.textContent = currentYear;
});
// Update copyright translation with current year
if (window.translations) {
Object.keys(window.translations).forEach(lang => {
if (window.translations[lang].copyright) {
window.translations[lang].copyright = window.translations[lang].copyright.replace('{year}', currentYear);
}
});
}
},
/**
* Get first paint time if available
* @returns {number|null} First paint time in milliseconds

Datei anzeigen

@@ -5,6 +5,10 @@
(function() {
'use strict';
// TEMPORARILY DISABLED FOR DEVELOPMENT - 2026-01-08
console.log('⚠️ Protection disabled for development');
return;
// Check if user is on a mobile device
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ||

Datei anzeigen

@@ -1,5 +1,5 @@
/**
* Translation system for IntelSight website
* Translation system for AegisSight website
* Supports German (de) and English (en)
*/
@@ -7,13 +7,13 @@
const translations = {
de: {
// Page meta
pageTitle: 'IntelSight - Sicherheit Made in Germany',
pageTitle: 'AegisSight - Sicherheit Made in Germany',
// Navigation
skipNav: 'Zum Hauptinhalt springen',
navHome: 'Startseite',
navAbout: 'Über uns',
navProducts: 'Produkte & Lösungen',
navProducts: 'Lösungen',
navContact: 'Kontakt',
langSwitch: 'DE | EN',
@@ -40,7 +40,7 @@ const translations = {
whoWeAreTitle: 'Unternehmen',
companyCardTitle1: 'Spezialist für Behördensoftware',
companyCardTitle2: 'Unser Ansatz',
whoWeArePara1: 'IntelSight UG ist Ihr <strong>Spezialist für hochsichere, maßgeschneiderte IT-Lösungen</strong> aus Nordrhein-Westfalen. Wir entwickeln innovative Software speziell für staatliche Sicherheits- und Ermittlungsbehörden.',
whoWeArePara1: 'AegisSight UG ist Ihr <strong>Spezialist für hochsichere, maßgeschneiderte IT-Lösungen</strong> aus Nordrhein-Westfalen. Wir entwickeln innovative Software speziell für staatliche Sicherheits- und Ermittlungsbehörden.',
whoWeArePara2: 'Unser Ansatz vereint modernste Technologie mit einem tiefen Verständnis für die besonderen Anforderungen von Behörden. Dabei steht die Balance zwischen Sicherheit, Effizienz und rechtskonformer Umsetzung im Mittelpunkt unserer Arbeit.',
locationBadge: 'Nordrhein-Westfalen, Deutschland',
nrwLabel: 'Nordrhein-Westfalen',
@@ -67,7 +67,7 @@ const translations = {
comp3Desc: 'Kontinuierliche Sicherheitsupdates und zuverlässige Wartung über den gesamten Lebenszyklus',
// Why Us
whyUsTitle: 'Warum IntelSight UG?',
whyUsTitle: 'Warum AegisSight UG?',
why1Title: 'Enge Zusammenarbeit',
why1Desc: 'Wir arbeiten Hand in Hand mit unseren Kunden für maßgeschneiderte Lösungen',
why2Title: 'Made in Germany',
@@ -78,7 +78,7 @@ const translations = {
why4Desc: 'Fokus auf Sicherheit, Professionalität & zukunftssichere Lösungen',
// Products Section
productsTitle: 'PRODUKTE & LÖSUNGEN',
productsTitle: 'LÖSUNGEN',
productsSubtitle: 'Professionelle Werkzeuge für moderne Ermittlungsarbeit',
// Professional Toolbox
@@ -120,23 +120,21 @@ const translations = {
loginForAccess: 'Anmelden für Zugriff',
// Footer
footerCompanyTitle: 'IntelSight UG (haftungsbeschränkt)',
footerCompanyTitle: 'AegisSight UG (haftungsbeschränkt)',
footerCompanyAddress1: 'Gladbacher Strasse 3-5',
footerCompanyAddress2: '40764 Langenfeld',
footerNavTitle: 'Navigation',
footerNavHome: 'Startseite',
footerNavAbout: 'Über uns',
footerNavProducts: 'Produkte',
footerNavContact: 'Kontakt',
footerNavProducts: 'Lösungen',
footerLegalTitle: 'Rechtliches',
footerImprint: 'Impressum',
footerPrivacy: 'Datenschutz',
footerCookies: 'Cookie-Einstellungen',
footerTerms: 'AGB',
footerContactTitle: 'Kontakt',
copyright: 2025 IntelSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.',
copyright: {year} AegisSight UG (haftungsbeschränkt). Alle Rechte vorbehalten.',
// Modal texts
authRequired: 'Authentifizierung erforderlich',
@@ -154,13 +152,13 @@ const translations = {
en: {
// Page meta
pageTitle: 'IntelSight - Sicherheit Made in Germany',
pageTitle: 'AegisSight - Sicherheit Made in Germany',
// Navigation
skipNav: 'Skip to main content',
navHome: 'Home',
navAbout: 'About Us',
navProducts: 'Products & Solutions',
navProducts: 'Solutions',
navContact: 'Contact',
langSwitch: 'EN | DE',
@@ -187,7 +185,7 @@ const translations = {
whoWeAreTitle: 'Company',
companyCardTitle1: 'Government Software Specialist',
companyCardTitle2: 'Our Approach',
whoWeArePara1: 'IntelSight UG is your <strong>specialist for highly secure, customized IT solutions</strong> from North Rhine-Westphalia. We develop innovative software specifically for government security and law enforcement agencies.',
whoWeArePara1: 'AegisSight UG is your <strong>specialist for highly secure, customized IT solutions</strong> from North Rhine-Westphalia. We develop innovative software specifically for government security and law enforcement agencies.',
whoWeArePara2: 'Our approach combines cutting-edge technology with a deep understanding of the special requirements of government agencies. The balance between security, efficiency and legally compliant implementation is at the center of our work.',
locationBadge: 'North Rhine-Westphalia, Germany',
nrwLabel: 'North Rhine-Westphalia',
@@ -214,7 +212,7 @@ const translations = {
comp3Desc: 'Continuous security updates and reliable maintenance throughout the entire lifecycle',
// Why Us
whyUsTitle: 'Why IntelSight UG?',
whyUsTitle: 'Why AegisSight UG?',
why1Title: 'Close Collaboration',
why1Desc: 'We work hand in hand with our customers for customized solutions',
why2Title: 'Made in Germany',
@@ -225,7 +223,7 @@ const translations = {
why4Desc: 'Focus on security, professionalism & future-proof solutions',
// Products Section
productsTitle: 'Products & Solutions',
productsTitle: 'Solutions',
productsSubtitle: 'Professional Tools for Modern Investigation Work',
// Professional Toolbox
@@ -267,23 +265,21 @@ const translations = {
loginForAccess: 'Login for Access',
// Footer
footerCompanyTitle: 'IntelSight UG (haftungsbeschränkt)',
footerCompanyTitle: 'AegisSight UG (haftungsbeschränkt)',
footerCompanyAddress1: 'Gladbacher Strasse 3-5',
footerCompanyAddress2: '40764 Langenfeld',
footerNavTitle: 'Navigation',
footerNavHome: 'Home',
footerNavAbout: 'About Us',
footerNavProducts: 'Products',
footerNavContact: 'Contact',
footerNavProducts: 'Solutions',
footerLegalTitle: 'Legal',
footerImprint: 'Imprint',
footerPrivacy: 'Privacy Policy',
footerCookies: 'Cookie Settings',
footerTerms: 'Terms & Conditions',
footerContactTitle: 'Contact',
copyright: 2025 IntelSight UG (haftungsbeschränkt). All rights reserved.',
copyright: {year} AegisSight UG (haftungsbeschränkt). All rights reserved.',
// Modal texts
authRequired: 'Authentication Required',
@@ -330,6 +326,11 @@ function switchLanguage(language) {
currentLanguage = language;
localStorage.setItem(CONFIG.I18N.STORAGE_KEY, language);
applyTranslations(language);
// Update cookie consent language
if (typeof CookieConsent !== 'undefined' && CookieConsent.setLanguage) {
CookieConsent.setLanguage(language);
}
}
/**
@@ -355,11 +356,19 @@ function applyTranslations(language) {
const key = element.getAttribute(DATA_ATTRS.TRANSLATE);
if (t[key]) {
let content = t[key];
// Replace {year} placeholder with current year
if (content.includes('{year}')) {
const currentYear = new Date().getFullYear();
content = content.replace('{year}', currentYear);
}
// Check if content contains HTML tags
if (t[key].includes('<strong>') || t[key].includes('<em>')) {
element.innerHTML = t[key];
if (content.includes('<strong>') || content.includes('<em>')) {
element.innerHTML = content;
} else {
element.textContent = t[key];
element.textContent = content;
}
}
});