export class VoteManager {
    constructor() {
        this.initVoteButtons();
        this.initNotificationDismiss();
    }

    initVoteButtons() {
        document.querySelectorAll(".post-action-btn[data-vote]").forEach((btn) => {
            btn.addEventListener("click", async () => {
                const targetUid = btn.dataset.target;
                const targetType = btn.dataset.type || "post";
                const value = btn.dataset.vote;

                const form = document.createElement("form");
                form.method = "POST";
                form.action = `/votes/${targetType}/${targetUid}`;
                const input = document.createElement("input");
                input.type = "hidden";
                input.name = "value";
                input.value = value;
                form.appendChild(input);
                document.body.appendChild(form);
                form.submit();
            });
        });
    }

    initNotificationDismiss() {
        document.querySelectorAll(".notification-dismiss").forEach((btn) => {
            btn.addEventListener("click", async () => {
                const uid = btn.dataset.uid;
                if (!uid) {
                    return;
                }
                const form = document.createElement("form");
                form.method = "POST";
                form.action = `/notifications/mark-read/${uid}`;
                document.body.appendChild(form);
                form.submit();
            });
        });
    }
}
