// Initialization const socket = io.connect(window.location.href) localStorage = window.localStorage; search_selected = "" main_selected="" toastsWithId = {} function toast(msg, icon=null, dismiss=true, id=null){ if (toastsWithId[id]){ toastObj = toastsWithId[id] toastDOM = $(`div.toastify[toast_id=${id}]`) if (msg){ toastDOM.find(".toast-message").html(msg) } if (icon){ if (icon=='loading') icon = `
` else icon = `${icon}` toastDOM.find(".toast-icon").html(icon) } if (dismiss !== null && dismiss){ setTimeout(function(){ toastObj.hideToast() delete toastsWithId[id] }, 3000); } }else{ if (icon == null) icon = "" else if (icon=='loading') icon = `
` else icon = `${icon}` toastObj = Toastify({ text: `${icon}${msg}`, duration: dismiss ? 3000 : 0, gravity: 'bottom', position: 'left' }).showToast() if (id){ toastsWithId[id] = toastObj $(toastObj.toastElement).attr('toast_id', id) } } } socket.on("toast", (data)=>{ toast(data.msg, data.icon || null, data.dismiss !== undefined ? data.dismiss : true, data.id || null) }) socket.on("updateToast", (data)=>{ toast(data.msg, data.icon || null, data.dismiss !== undefined ? data.dismiss : true, data.id || null) }) function openLoginPrompt(){ socket.emit("loginpage") } function loginButton(){ let arl = document.querySelector("#login_input_arl").value if (arl != "" && arl != localStorage.getItem("arl")){ socket.emit("login", arl, true) } } function copyARLtoClipboard(){ $("#login_input_arl").attr("type", "text"); let copyText = document.querySelector("#login_input_arl") copyText.select(); copyText.setSelectionRange(0, 99999); document.execCommand("copy"); $("#login_input_arl").attr("type", "password"); toast("ARL copied to clipboard", 'assignment') } function logout(){ socket.emit("logout"); } window.addEventListener('pywebviewready', function() { $('#open_login_prompt').prop('disabled', false); }) $(function(){ socket.emit("init"); if (localStorage.getItem("arl")){ socket.emit("login", localStorage.getItem("arl")); $("#login_input_arl").val(data.arl) } }) socket.on("logging_in", function(){ toast("Logging in", "loading", false, "login-toast") }) socket.on("logged_in", function(data){ console.log(data) switch (data.status) { case 1: case 3: toast("Logged in", "done", true, "login-toast") if (data.arl){ localStorage.setItem("arl", data.arl) $("#login_input_arl").val(data.arl) } $('#open_login_prompt').hide() if (data.user){ $("#settings_username").text(data.user.name) $("#settings_picture").attr("src",`https://e-cdns-images.dzcdn.net/images/user/${data.user.picture}/125x125-000000-80-0-0.jpg`) $("#logged_in_info").show() } break; case 2: toast("Already logged in", "done", true, "login-toast") if (data.user){ $("#settings_username").text(data.user.name) $("#settings_picture").attr("src",`https://e-cdns-images.dzcdn.net/images/user/${data.user.picture}/125x125-000000-80-0-0.jpg`) $("#logged_in_info").show() } break; case 0: toast("Couldn't log in", "close", true, "login-toast") localStorage.removeItem("arl") $("#login_input_arl").val("") $('#open_login_prompt').show() $("#logged_in_info").hide() $("#settings_username").text("Not Logged") $("#settings_picture").attr("src",`https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg`) break; } }) socket.on("logged_out", function(){ toast("Logged out", "done", true, "login-toast") localStorage.removeItem("arl") $("#login_input_arl").val("") $('#open_login_prompt').show() $("#logged_in_info").hide() $("#settings_username").text("Not Logged") $("#settings_picture").attr("src",`https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg`) })