Pembuat Halaman "Link di Bio"

Buat halaman link Anda sendiri dalam hitungan menit.

Editor

Preview Halaman

Mempersiapkan File...

${name} `; } function updatePreview() { const htmlContent = generatePageHTML(); previewFrame.srcdoc = htmlContent; } function downloadHTML() { const htmlContent = generatePageHTML(); const blob = new Blob([htmlContent], { type: 'text/html' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'index.html'; link.click(); URL.revokeObjectURL(link.href); } function showAdModal(actionCallback) { adModal.classList.remove('opacity-0', 'pointer-events-none'); adModalContent.classList.remove('scale-95'); let secondsLeft = 5; const updateCountdownText = () => { modalCountdownText.innerHTML = translations[currentLanguage].modal_countdown_text.replace('{seconds}', secondsLeft); }; updateCountdownText(); modalCountdownInterval = setInterval(() => { secondsLeft--; updateCountdownText(); if (secondsLeft <= 0) { clearInterval(modalCountdownInterval); adModal.classList.add('opacity-0', 'pointer-events-none'); adModalContent.classList.add('scale-95'); actionCallback(); } }, 1000); } function setLanguage(lang) { currentLanguage = lang; const langData = translations[lang]; document.documentElement.lang = lang; if (lang === 'id') { langIdBtn.classList.add('bg-teal-500', 'text-white'); langEnBtn.classList.remove('bg-teal-500', 'text-white'); } else { langEnBtn.classList.add('bg-teal-500', 'text-white'); langIdBtn.classList.remove('bg-teal-500', 'text-white'); } document.querySelectorAll('[data-translate-key]').forEach(el => { const key = el.getAttribute('data-translate-key'); if (langData[key]) { if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') el.placeholder = langData[key]; else el.innerText = langData[key]; } }); document.getElementById('meta-title').innerText = langData.meta_title; document.getElementById('meta-description').setAttribute('content', langData.meta_description); document.getElementById('meta-keywords').setAttribute('content', langData.meta_keywords); } // --- Event Listeners --- [nameInput, descInput].forEach(el => el.addEventListener('input', updatePreview)); addLinkBtn.addEventListener('click', addLinkEditor); downloadBtn.addEventListener('click', () => showAdModal(downloadHTML)); langIdBtn.addEventListener('click', () => setLanguage('id')); langEnBtn.addEventListener('click', () => setLanguage('en')); // --- Initial Setup --- setLanguage('en'); addLinkEditor(); updatePreview(); });