Files
masto-fe-archos/app/javascript/flavours/glitch/utils/log_out.js
2025-10-12 13:42:02 +02:00

36 lines
1.0 KiB
JavaScript

import Rails from "@rails/ujs";
import { signOutLink } from "flavours/glitch/utils/backend_links";
export const logOut = () => {
const form = document.createElement("form");
const methodInput = document.createElement("input");
methodInput.setAttribute("name", "_method");
methodInput.setAttribute("value", "delete");
methodInput.setAttribute("type", "hidden");
form.appendChild(methodInput);
const csrfToken = Rails.csrfToken();
const csrfParam = Rails.csrfParam();
if (csrfParam && csrfToken) {
const csrfInput = document.createElement("input");
csrfInput.setAttribute("name", csrfParam);
csrfInput.setAttribute("value", csrfToken);
csrfInput.setAttribute("type", "hidden");
form.appendChild(csrfInput);
}
const submitButton = document.createElement("input");
submitButton.setAttribute("type", "submit");
form.appendChild(submitButton);
form.method = "get";
form.action = signOutLink;
form.style.display = "none";
document.body.appendChild(form);
submitButton.click();
};