summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-02-10 13:07:45 +0800
committereltrac <hi@eltr.ac>2026-02-10 13:07:45 +0800
commit862ba26dace2dff3e204dafad9fe609be8e766f2 (patch)
tree475be38381db25d6acf2e4f83a88cbba2460c4e8
parent88a819e5e5e857c03d57cf8f6cae41667026f592 (diff)
fix: do not load fediform.js when related element is absent
-rw-r--r--assets/js/fediform.js81
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)
})