// Folder Toggle Function document.addEventListener('DOMContentLoaded', () => { function toggleFolder(folderId, buttonId) { const folder = document.getElementById(folderId); const button = document.getElementById(buttonId); // Close other folders and deactivate buttons document.querySelectorAll('.links').forEach(link => { if (link.id !== folderId) { link.style.display = 'none'; } }); document.querySelectorAll('.button').forEach(btn => { if (btn.id !== buttonId) { btn.classList.remove('active'); } }); // Toggle the selected folder if (folder.style.display === 'block') { folder.style.display = 'none'; button.classList.remove('active'); } else { folder.style.display = 'block'; button.classList.add('active'); } } // Footer Loader and Event Listeners fetch('/parts/footer.html') .then(response => response.text()) .then(data => { const footer = document.getElementById('footer'); if (!footer) return; footer.innerHTML = data; const onChainButton = document.getElementById('onChainButton'); const lightningButton = document.getElementById('lightningButton'); const qrCodes = document.getElementById('qrCodes'); const onChainQRCode = document.getElementById('onChainQRCode'); const lightningQRCode = document.getElementById('lightningQRCode'); if (qrCodes) qrCodes.style.display = 'none'; if (onChainButton && lightningButton && qrCodes && onChainQRCode && lightningQRCode) { onChainButton.addEventListener('click', function () { const isOnChainVisible = onChainQRCode.style.display === 'block'; qrCodes.style.display = 'block'; onChainQRCode.style.display = isOnChainVisible ? 'none' : 'block'; lightningQRCode.style.display = 'none'; }); lightningButton.addEventListener('click', function () { const isLightningVisible = lightningQRCode.style.display === 'block'; qrCodes.style.display = 'block'; lightningQRCode.style.display = isLightningVisible ? 'none' : 'block'; onChainQRCode.style.display = 'none'; }); } }) .catch(error => console.error('Error loading footer:', error)); // --- 5. Fetch and Display Last Update from Gitea ----------------------- fetch('https://gitea.btcforplebs.com/api/v1/repos/btcforplebs/BTCforPlebs.com/commits/main') .then(response => response.json()) .then(data => { const lastUpdate = new Date(data.commit.author.date); const formattedDate = lastUpdate.toLocaleDateString(); const formattedTime = lastUpdate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); const updateText = document.getElementById('last-updated-text'); if (updateText) { updateText.textContent = `Website last updated: ${formattedDate} ${formattedTime}`; } }) .catch(error => { console.error('Error fetching last update:', error); const updateText = document.getElementById('last-updated-text'); if (updateText) { updateText.textContent = 'Last update: Error fetching data.'; } }); });