mirror of
https://github.com/sigoden/dufs.git
synced 2026-04-09 00:59:02 +03:00
refactor: make logout works on safari (#442)
This commit is contained in:
@@ -91,6 +91,10 @@ let $emptyFolder;
|
||||
* @type Element
|
||||
*/
|
||||
let $editor;
|
||||
/**
|
||||
* @type Element
|
||||
*/
|
||||
let $loginBtn;
|
||||
/**
|
||||
* @type Element
|
||||
*/
|
||||
@@ -121,6 +125,7 @@ async function ready() {
|
||||
$uploadersTable = document.querySelector(".uploaders-table");
|
||||
$emptyFolder = document.querySelector(".empty-folder");
|
||||
$editor = document.querySelector(".editor");
|
||||
$loginBtn = document.querySelector(".login-btn");
|
||||
$logoutBtn = document.querySelector(".logout-btn");
|
||||
$userName = document.querySelector(".user-name");
|
||||
|
||||
@@ -517,13 +522,12 @@ async function setupAuth() {
|
||||
$logoutBtn.addEventListener("click", logout);
|
||||
$userName.textContent = DATA.user;
|
||||
} else {
|
||||
const $loginBtn = document.querySelector(".login-btn");
|
||||
$loginBtn.classList.remove("hidden");
|
||||
$loginBtn.addEventListener("click", async () => {
|
||||
try {
|
||||
await checkAuth();
|
||||
location.reload();
|
||||
} catch {}
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -745,19 +749,19 @@ async function saveChange() {
|
||||
async function checkAuth() {
|
||||
if (!DATA.auth) return;
|
||||
const res = await fetch(baseUrl(), {
|
||||
method: "AUTH",
|
||||
method: "CHECKAUTH",
|
||||
});
|
||||
await assertResOK(res);
|
||||
document.querySelector(".login-btn").classList.add("hidden");
|
||||
$loginBtn.classList.add("hidden");
|
||||
$logoutBtn.classList.remove("hidden");
|
||||
$userName.textContent = "";
|
||||
$userName.textContent = await res.text();
|
||||
}
|
||||
|
||||
function logout() {
|
||||
if (!DATA.auth) return;
|
||||
const url = baseUrl();
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open("AUTH", url, true, ":");
|
||||
xhr.open("LOGOUT", url, true, DATA.user);
|
||||
xhr.onload = () => {
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user