grthtrhthjhtyjytjytkergtrhtrjytjerhrfh/* Filename: script.js */ // ====== VERSION: 2.0 ====== // --- THEME TOGGLE LOGIC --- const htmlEl = document.documentElement; const themeIcon = document.getElementById('theme-icon'); const savedTheme = localStorage.getItem('theme') || 'dark'; htmlEl.setAttribute('data-theme', savedTheme); document.addEventListener('DOMContentLoaded', function() { updateIcon(savedTheme); }); function toggleTheme() { const currentTheme = htmlEl.getAttribute('data-theme'); const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; htmlEl.setAttribute('data-theme', newTheme); localStorage.setItem('theme', newTheme); updateIcon(newTheme); } function updateIcon(theme) { const icon = document.getElementById('theme-icon'); if (!icon) return; if (theme === 'light') { icon.classList.remove('fa-sun'); icon.classList.add('fa-moon'); } else { icon.classList.remove('fa-moon'); icon.classList.add('fa-sun'); } } // --- SIDEBAR TOGGLE --- function toggleSidebar() { const sidebar = document.getElementById('sidebar'); const overlay = document.querySelector('.overlay'); if (sidebar && overlay) { sidebar.classList.toggle('active'); overlay.classList.toggle('active'); } } // Close sidebar with Escape key document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { const sidebar = document.getElementById('sidebar'); const overlay = document.querySelector('.overlay'); if (sidebar && sidebar.classList.contains('active')) { sidebar.classList.remove('active'); overlay.classList.remove('active'); } } }); // --- LOAD BLOG FEED --- const RSS_URL = 'https://blog.6ickzone.site/feed'; const API_ENDPOINT = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(RSS_URL)}`; async function loadBlogFeed() { const container = document.getElementById('blog-feed-container'); if (!container) return; try { const response = await fetch(API_ENDPOINT); const data = await response.json(); if (data.status === 'ok' && data.items && data.items.length > 0) { container.innerHTML = ''; data.items.slice(0, 6).forEach(item => { let cleanDesc = item.description.replace(/<[^>]*>?/gm, ''); let excerpt = cleanDesc.substring(0, 90) + '...'; let pubDate = item.pubDate ? item.pubDate.split(' ')[0] : 'Recent'; const card = `
${pubDate}

${item.title}

${excerpt}

Read Investigation
`; container.innerHTML += card; }); } else { container.innerHTML = '

No intelligence data available.

'; } } catch (error) { console.error('Feed Error:', error); container.innerHTML = `

Connection Failed

Could not retrieve secure feed.

Manual Access
`; } } // --- ROCKET LOADER (External Links) --- document.addEventListener('click', function(e) { const link = e.target.closest('a'); if (link && link.href) { const targetUrl = link.href; if (targetUrl.startsWith('#') || targetUrl.startsWith('javascript:') || targetUrl.startsWith('mailto:')) { return; } const isExternal = targetUrl.startsWith('http') && !targetUrl.includes(window.location.host); if (e.ctrlKey || e.metaKey) return; if (isExternal) { e.preventDefault(); startLaunchSequence(targetUrl); } } }); function startLaunchSequence(url) { const overlay = document.getElementById('loader-overlay'); const countdownEl = document.getElementById('countdown'); const urlDisplay = document.getElementById('dest-url'); const rocketWrapper = document.querySelector('.rocket-wrapper'); try { const parsedUrl = new URL(url); urlDisplay.innerText = parsedUrl.hostname; } catch(err) { urlDisplay.innerText = "External Link"; } overlay.classList.add('active'); rocketWrapper.classList.remove('rocket-launching'); let timeLeft = 3; countdownEl.innerText = timeLeft; const timer = setInterval(() => { timeLeft--; if (timeLeft > 0) { countdownEl.innerText = timeLeft; } else if (timeLeft === 0) { countdownEl.innerText = "LAUNCH!"; rocketWrapper.classList.add('rocket-launching'); } else { clearInterval(timer); window.open(url, '_blank'); setTimeout(() => { overlay.classList.remove('active'); setTimeout(() => { rocketWrapper.classList.remove('rocket-launching'); countdownEl.innerText = "3"; }, 300); }, 1000); } }, 800); } // --- INIT --- document.addEventListener('DOMContentLoaded', function() { loadBlogFeed(); document.querySelector('.overlay')?.addEventListener('click', toggleSidebar); });