Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
34 lines
975 B
JavaScript
34 lines
975 B
JavaScript
import Rails from "@rails/ujs";
|
|
|
|
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 = "post";
|
|
form.action = "/auth/sign_out";
|
|
form.style.display = "none";
|
|
|
|
document.body.appendChild(form);
|
|
submitButton.click();
|
|
};
|