diff options
| author | eltrac <hi@eltr.ac> | 2026-02-10 13:07:45 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-02-10 13:07:45 +0800 |
| commit | 862ba26dace2dff3e204dafad9fe609be8e766f2 (patch) | |
| tree | 475be38381db25d6acf2e4f83a88cbba2460c4e8 /assets | |
| parent | 88a819e5e5e857c03d57cf8f6cae41667026f592 (diff) | |
fix: do not load fediform.js when related element is absent
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/js/fediform.js | 81 |
1 files changed, 51 insertions, 30 deletions
diff --git a/assets/js/fediform.js b/assets/js/fediform.js index f257d775..da5055ac 100644 --- a/assets/js/fediform.js +++ b/assets/js/fediform.js @@ -1,45 +1,66 @@ document.addEventListener("DOMContentLoaded", () => { - // toggle action area - function toggleActionArea() { - const actionArea = document.getElementById('action-area'); - actionArea.classList.toggle('hidden'); - } - document.getElementById("action-area-btn").addEventListener("click", toggleActionArea) - // Close action area when clicking outside - document.addEventListener('click', function(event) { - const actionArea = document.getElementById('action-area'); - const toggleBtn = event.target.closest('#action-area-btn'); - - if (!toggleBtn && !actionArea.contains(event.target)) { - actionArea.classList.add('hidden'); + const actionArea = document.getElementById('action-area'); + if (actionArea) { + // toggle action area + function toggleActionArea() { + actionArea.classList.toggle('hidden'); + } + document.getElementById("action-area-btn").addEventListener("click", toggleActionArea) + // Close action area when clicking outside + document.addEventListener('click', function(event) { + const actionArea = document.getElementById('action-area'); + const toggleBtn = event.target.closest('#action-area-btn'); + + if (!toggleBtn && !actionArea.contains(event.target)) { + actionArea.classList.add('hidden'); + } + }); + // toggle action area + function toggleActionArea() { + actionArea.classList.toggle('hidden'); } - }); + document.getElementById("action-area-btn").addEventListener("click", toggleActionArea) + // Close action area when clicking outside + document.addEventListener('click', function(event) { + const actionArea = document.getElementById('action-area'); + const toggleBtn = event.target.closest('#action-area-btn'); + + if (!toggleBtn && !actionArea.contains(event.target)) { + actionArea.classList.add('hidden'); + } + }); + } // open toot in fediverse const instanceInput = document.getElementById('fediverse-instance') - const savedInstance = localStorage.getItem("geedeapro.fediInstance") - if (savedInstance) instanceInput.value = savedInstance + if (instanceInput) { + const savedInstance = localStorage.getItem("geedeapro.fediInstance") + if (savedInstance) instanceInput.value = savedInstance - function openInFediverse() { - const instance = instanceInput.value.trim(); + function openInFediverse() { + const instance = instanceInput.value.trim(); - let url = tootUrl - if (instance) { - url = 'https://' + instance + '/authorize_interaction?uri=' + encodeURIComponent(tootUrl); - // save instance url to localStorage - localStorage.setItem("geedeapro.fediInstance", instance) + let url = tootUrl + if (instance) { + url = 'https://' + instance + '/authorize_interaction?uri=' + encodeURIComponent(tootUrl); + // save instance url to localStorage + localStorage.setItem("geedeapro.fediInstance", instance) + } + window.open(url, '_blank'); } - window.open(url, '_blank'); + + document.getElementById("fediform-button").addEventListener("click", openInFediverse) } - document.getElementById("fediform-button").addEventListener("click", openInFediverse) // copy toot link: const copyBtn = document.getElementById("fediform-copy-button") - function copyTootLink() { - navigator.clipboard.writeText(tootUrl) - copyBtn.innerText = '✅' - setTimeout(() => copyBtn.innerText = '📋', 3000) + if (copyBtn) { + function copyTootLink() { + navigator.clipboard.writeText(tootUrl) + copyBtn.innerText = '✅' + setTimeout(() => copyBtn.innerText = '📋', 3000) + } + copyBtn.addEventListener("click", copyTootLink) } - copyBtn.addEventListener("click", copyTootLink) }) |
