diff options
| author | BigCoke233 <hi@guhub.cn> | 2026-01-31 12:18:33 +0800 |
|---|---|---|
| committer | BigCoke233 <hi@guhub.cn> | 2026-01-31 12:18:33 +0800 |
| commit | d584f5f772ded3fab1328f7c991b980f18d2654e (patch) | |
| tree | 8ee157d67ab73df3f65bbb51c89d4d10fc925ea1 | |
| parent | 6e9ed3d5c331731fc93d80cebf82becaa2dc4178 (diff) | |
refactor: use event listener to trigger fediform button
| -rw-r--r-- | assets/js/fediform.js | 30 | ||||
| -rw-r--r-- | layouts/_partials/posts/fediverse-form.html | 2 |
2 files changed, 18 insertions, 14 deletions
diff --git a/assets/js/fediform.js b/assets/js/fediform.js index 96339d41..fb66b830 100644 --- a/assets/js/fediform.js +++ b/assets/js/fediform.js @@ -1,16 +1,20 @@ -const instanceInput = document.getElementById('fediverse-instance') -const savedInstance = localStorage.getItem("geedeapro.fediInstance") -if (savedInstance) instanceInput.value = savedInstance +document.addEventListener("DOMContentLoaded", () => { + const instanceInput = document.getElementById('fediverse-instance') + const savedInstance = localStorage.getItem("geedeapro.fediInstance") + if (savedInstance) instanceInput.value = savedInstance -function openInFediverse() { - const instance = instanceInput.value.trim(); - const tootUrl = '{{ .Params.toot }}'; + function openInFediverse() { + const instance = instanceInput.value.trim(); + const tootUrl = '{{ .Params.toot }}'; - 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) +}) diff --git a/layouts/_partials/posts/fediverse-form.html b/layouts/_partials/posts/fediverse-form.html index 1ddc09a0..9d395d22 100644 --- a/layouts/_partials/posts/fediverse-form.html +++ b/layouts/_partials/posts/fediverse-form.html @@ -2,6 +2,6 @@ <div class="flex flex-col gap-2"> <h4 class="text-sm font-semibold m-0">{{ T "actionMenu.fediverse" }}</h4> <input type="text" id="fediverse-instance" placeholder="{{ T "actionMenu.fediversePlaceholder" }}" class="text-sm px-2 py-1 border border-neutral-300 dark:border-neutral-600 rounded bg-transparent"> - <button onclick="openInFediverse()" class="text-xs px-2 py-1 bg-neutral-200 dark:bg-neutral-600 rounded hover:bg-neutral-300 dark:hover:bg-neutral-500 transition-colors">{{ T "actionMenu.openToot" }}</button> + <button id="fediform-button" class="text-xs px-2 py-1 bg-neutral-200 dark:bg-neutral-600 rounded hover:bg-neutral-300 dark:hover:bg-neutral-500 transition-colors">{{ T "actionMenu.openToot" }}</button> </div> {{ end }} |
