Clean up dead code and unused assets
- Remove trust-indicators JavaScript animations from animations-enhanced.js - Clean up translation keys for removed indicator elements - Remove selector references from config.js - Fix missing video reference (hero-tech-pattern.mp4) - Remove massive unused CSS sections: timeline, digital-beat, neural network viz - Reduce animations.css from 2669 to 272 lines (90% size reduction) This removes code that was referencing non-existent HTML elements and large unused visual effects from previous design iterations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Dieser Commit ist enthalten in:
2444
css/animations.css
2444
css/animations.css
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
@ -12,7 +12,6 @@ const EnhancedAnimations = {
|
|||||||
this.initCardTilt();
|
this.initCardTilt();
|
||||||
this.initSmoothScroll();
|
this.initSmoothScroll();
|
||||||
this.initCursorEffects();
|
this.initCursorEffects();
|
||||||
this.initNumberCounters();
|
|
||||||
this.initRevealOnScroll();
|
this.initRevealOnScroll();
|
||||||
this.initNavbarEffects();
|
this.initNavbarEffects();
|
||||||
},
|
},
|
||||||
@ -157,55 +156,6 @@ const EnhancedAnimations = {
|
|||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Animated number counters
|
|
||||||
initNumberCounters() {
|
|
||||||
const counters = document.querySelectorAll('.indicator-value');
|
|
||||||
const animationDuration = 2000;
|
|
||||||
let hasAnimated = false;
|
|
||||||
|
|
||||||
const animateCounters = () => {
|
|
||||||
if (hasAnimated) return;
|
|
||||||
|
|
||||||
counters.forEach(counter => {
|
|
||||||
const target = parseFloat(counter.dataset.target);
|
|
||||||
const start = 0;
|
|
||||||
const increment = target / (animationDuration / 16);
|
|
||||||
let current = start;
|
|
||||||
|
|
||||||
const updateCounter = () => {
|
|
||||||
current += increment;
|
|
||||||
if (current < target) {
|
|
||||||
counter.textContent = Math.floor(current);
|
|
||||||
requestAnimationFrame(updateCounter);
|
|
||||||
} else {
|
|
||||||
counter.textContent = target % 1 === 0 ? target : target.toFixed(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
updateCounter();
|
|
||||||
});
|
|
||||||
|
|
||||||
hasAnimated = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Trigger on scroll into view
|
|
||||||
const observerOptions = {
|
|
||||||
threshold: 0.5
|
|
||||||
};
|
|
||||||
|
|
||||||
const observer = new IntersectionObserver((entries) => {
|
|
||||||
entries.forEach(entry => {
|
|
||||||
if (entry.isIntersecting) {
|
|
||||||
animateCounters();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, observerOptions);
|
|
||||||
|
|
||||||
const indicatorsSection = document.querySelector('.trust-indicators');
|
|
||||||
if (indicatorsSection) {
|
|
||||||
observer.observe(indicatorsSection);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Reveal elements on scroll
|
// Reveal elements on scroll
|
||||||
initRevealOnScroll() {
|
initRevealOnScroll() {
|
||||||
|
|||||||
@ -24,7 +24,6 @@ const CONFIG = {
|
|||||||
ROTATION_INTERVAL: 12000, // 12 seconds per video (slower like Palantir)
|
ROTATION_INTERVAL: 12000, // 12 seconds per video (slower like Palantir)
|
||||||
FADE_DURATION: 3000, // 3 second fade transition (much slower)
|
FADE_DURATION: 3000, // 3 second fade transition (much slower)
|
||||||
VIDEO_SOURCES: [
|
VIDEO_SOURCES: [
|
||||||
'assets/videos/hero-tech-pattern.mp4',
|
|
||||||
'assets/videos/hero-data-flow.mp4',
|
'assets/videos/hero-data-flow.mp4',
|
||||||
'assets/videos/hero-network-viz.mp4',
|
'assets/videos/hero-network-viz.mp4',
|
||||||
'assets/videos/hero-code-abstract.mp4'
|
'assets/videos/hero-code-abstract.mp4'
|
||||||
@ -74,9 +73,6 @@ const SELECTORS = {
|
|||||||
PARTICLE_CANVAS: '#particleCanvas',
|
PARTICLE_CANVAS: '#particleCanvas',
|
||||||
SCROLL_INDICATOR: '.scroll-indicator',
|
SCROLL_INDICATOR: '.scroll-indicator',
|
||||||
|
|
||||||
// Trust Indicators
|
|
||||||
TRUST_INDICATORS: '.trust-indicators',
|
|
||||||
INDICATOR_VALUE: '.indicator-value',
|
|
||||||
|
|
||||||
// About Section
|
// About Section
|
||||||
ABOUT_TABS: '.about-tab',
|
ABOUT_TABS: '.about-tab',
|
||||||
|
|||||||
@ -22,9 +22,6 @@ const translations = {
|
|||||||
heroSubtitle: 'Spezialist für hochsichere, maßgeschneiderte IT-Lösungen für Behörden',
|
heroSubtitle: 'Spezialist für hochsichere, maßgeschneiderte IT-Lösungen für Behörden',
|
||||||
|
|
||||||
// Trust Indicators
|
// Trust Indicators
|
||||||
indicatorAvailability: 'Verfügbarkeit',
|
|
||||||
indicatorTrust: 'Behörden vertrauen uns',
|
|
||||||
indicatorSupport: 'Support',
|
|
||||||
|
|
||||||
// Scroll Indicator
|
// Scroll Indicator
|
||||||
scrollToExplore: 'Nach unten scrollen',
|
scrollToExplore: 'Nach unten scrollen',
|
||||||
@ -171,9 +168,6 @@ const translations = {
|
|||||||
heroSubtitle: 'Specialist for highly secure, customized IT solutions for government agencies',
|
heroSubtitle: 'Specialist for highly secure, customized IT solutions for government agencies',
|
||||||
|
|
||||||
// Trust Indicators
|
// Trust Indicators
|
||||||
indicatorAvailability: 'Availability',
|
|
||||||
indicatorTrust: 'Government agencies trust us',
|
|
||||||
indicatorSupport: 'Support',
|
|
||||||
|
|
||||||
// Scroll Indicator
|
// Scroll Indicator
|
||||||
scrollToExplore: 'Scroll to Explore',
|
scrollToExplore: 'Scroll to Explore',
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren