diff --git a/achievements.js b/achievements.js index 9e793e9..7cdacf8 100644 --- a/achievements.js +++ b/achievements.js @@ -115,36 +115,6 @@ function initializeAchievements() { // Check if achievements were enabled before achievementsEnabled = JSON.parse(localStorage.getItem('achievementsEnabled') || 'false'); - // Initialize particle effects - const particleContainer = document.getElementById('particleContainer'); - let particles = []; - - function createParticle() { - const particle = document.createElement('div'); - particle.className = 'particle'; - - // Random position - particle.style.left = Math.random() * 100 + 'vw'; - particle.style.top = Math.random() * 100 + 'vh'; - - // Random size - const size = Math.random() * 2 + 2; - particle.style.width = size + 'px'; - particle.style.height = size + 'px'; - - // Random color - const colors = ['#4a6cf7', '#6355f7', '#3a56d4', '#2839b0']; - particle.style.background = colors[Math.floor(Math.random() * colors.length)]; - - particleContainer.appendChild(particle); - particles.push(particle); - } - - // Create initial particles - for (let i = 0; i < 50; i++) { - createParticle(); - } - // Add cheat code input listener document.addEventListener('keydown', (e) => { // Reset timer if no key was pressed in 2 seconds @@ -178,11 +148,6 @@ function initializeAchievements() { const audio = new Audio('https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3'); audio.play(); - // Create burst of particles - for (let i = 0; i < 20; i++) { - createParticle(); - } - // Enable achievements toggleAchievements(); @@ -200,32 +165,6 @@ function initializeAchievements() { } }); - // Update progress bars - async function updateProgressBars() { - try { - const response = await fetch('/api/visitor-stats'); - const stats = await response.json(); - - // Calculate progress for each achievement - const achievements = Object.values(ACHIEVEMENTS); - - achievements.forEach((achievement, index) => { - if (achievement.period === "monthly") { - const progress = Math.min((stats.monthly_visits / achievement.threshold) * 100, 100); - const progressBar = document.getElementById(`achievement${index + 1}Progress`); - if (progressBar) { - progressBar.style.width = `${progress}%`; - } - } - }); - } catch (error) { - console.error('Error updating progress bars:', error); - } - } - - // Update progress bars every 5 seconds - setInterval(updateProgressBars, 5000); - // Check achievements when enabled if (achievementsEnabled) { checkAchievements(); diff --git a/index.html b/index.html index 6d61f90..134c108 100644 --- a/index.html +++ b/index.html @@ -17,31 +17,22 @@ /* Achievements styles */ #achievementsDisplay { - width: 100%; - max-width: 1200px; - margin: 0 auto; - background: rgba(255, 255, 255, 0.95); - padding: 2rem; - border-radius: 20px; - box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); - backdrop-filter: blur(10px); - border: 1px solid rgba(255, 255, 255, 0.1); + position: fixed; + top: 10px; + right: 10px; + background: white; + padding: 1rem; + border-radius: 0.5rem; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); display: none; - margin-bottom: 2rem; + z-index: 1000; } .achievement-item { display: flex; align-items: center; - padding: 1.5rem; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - transition: all 0.3s ease; - cursor: pointer; - } - - .achievement-item:hover { - background: rgba(255, 255, 255, 0.1); - transform: translateX(10px); + padding: 0.5rem; + border-bottom: 1px solid #eee; } .achievement-item:last-child { @@ -49,85 +40,8 @@ } .achievement-icon { - font-size: 2rem; - margin-right: 1.5rem; - animation: float 3s ease-in-out infinite; - } - - .achievement-content { - flex: 1; - } - - .achievement-title { font-size: 1.5rem; - font-weight: bold; - margin-bottom: 0.5rem; - } - - .achievement-description { - color: #666; - font-size: 0.9rem; - } - - .achievement-progress { - width: 100%; - height: 4px; - background: #eee; - border-radius: 2px; - margin-top: 1rem; - overflow: hidden; - } - - .achievement-progress-bar { - height: 100%; - background: linear-gradient(90deg, #4a6cf7, #6355f7); - width: 0; - transition: width 0.5s ease; - } - - @keyframes float { - 0% { - transform: translateY(0px); - } - 50% { - transform: translateY(-10px); - } - 100% { - transform: translateY(0px); - } - } - - /* Particle effects */ - .particle-container { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; - } - - .particle { - position: absolute; - width: 4px; - height: 4px; - background: rgba(255, 255, 255, 0.8); - border-radius: 50%; - animation: particle 2s infinite; - } - - @keyframes particle { - 0% { - transform: translateY(0) translateX(0) scale(1); - opacity: 0; - } - 50% { - opacity: 1; - } - 100% { - transform: translateY(100vh) translateX(100vw) scale(0); - opacity: 0; - } + margin-right: 0.75rem; } - -
-
-
-

Nováček

-

První návštěva na portálu

-
-
-
+
+

Nováček

+

První návštěva na portálu

-
-

Pravidelný návštěvník

-

10 návštěv za měsíc

-
-
-
+
+

Pravidelný návštěvník

+

10 návštěv za měsíc

-
-

Power User

-

50 návštěv za měsíc

-
-
-
+
+

Power User

+

50 návštěv za měsíc

-
-

Super Fan

-

100 návštěv za měsíc

-
-
-
+
+

Super Fan

+

100 návštěv za měsíc