summaryrefslogtreecommitdiff
path: root/assets/js/fediform.js
blob: f257d775f0c9183d2db396e0ca201bfc750c51c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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');
        }
    });

    // open toot in fediverse
    const instanceInput = document.getElementById('fediverse-instance')
    const savedInstance = localStorage.getItem("geedeapro.fediInstance")
    if (savedInstance) instanceInput.value = savedInstance

    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)
        }
        window.open(url, '_blank');
    }

    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)
    }
    copyBtn.addEventListener("click", copyTootLink)
})