🎉 Refactor & Update Backend Code, Add Utils 🖥️📊

This commit is contained in:
2025-05-31 23:54:57 +02:00
parent d4f899d280
commit 193164964e
14 changed files with 5346 additions and 241 deletions

View File

@@ -53,7 +53,7 @@
}
.animate-pulse-scale {
animation: pulse-scale 2s infinite ease-in-out;
animation: pulse-scale 3s infinite ease-in-out;
}
/* ===== FLOATING ANIMATIONS ===== */
@@ -82,12 +82,12 @@
}
.animate-float {
animation: float 3s infinite ease-in-out;
animation: float 4s infinite ease-in-out;
}
.animate-float-delay {
animation: float-delay 3s infinite ease-in-out;
animation-delay: 1s;
animation: float-delay 4s infinite ease-in-out;
animation-delay: 1.5s;
}
/* ===== SLIDE-UP ANIMATIONS ===== */
@@ -161,7 +161,7 @@
}
.animate-glow {
animation: glow 2s infinite ease-in-out;
animation: glow 3s infinite ease-in-out;
}
/* ===== KONFETTI ANIMATION ===== */
@@ -190,7 +190,7 @@
opacity: 1;
}
100% {
transform: translateY(100vh) rotate(720deg);
transform: translateY(120vh) rotate(720deg);
opacity: 0;
}
}

View File

@@ -366,14 +366,14 @@ class OptimizationManager {
// Sound-Effekt (optional)
this.playSuccessSound();
// Auto-Close nach 10 Sekunden
// Auto-Close nach 20 Sekunden (verlängert für bessere Animation-Wirkung)
setTimeout(() => {
if (modal && modal.parentNode) {
modal.style.opacity = '0';
modal.style.transform = 'scale(0.95)';
setTimeout(() => modal.remove(), 300);
}
}, 10000);
}, 20000);
}
/**
@@ -383,10 +383,10 @@ class OptimizationManager {
const colors = ['#FFD700', '#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7'];
let confetti = '';
for (let i = 0; i < 30; i++) {
for (let i = 0; i < 50; i++) {
const color = colors[Math.floor(Math.random() * colors.length)];
const delay = Math.random() * 3;
const duration = 3 + Math.random() * 2;
const delay = Math.random() * 5;
const duration = 4 + Math.random() * 3;
const left = Math.random() * 100;
confetti += `