diff --git a/public/css/style.css b/public/css/style.css index bc2e287..aaef42f 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -109,6 +109,30 @@ div#middle_section { display: none; } +/* Settings */ +#open_login_prompt{ + margin: 8px 0px; +} +#login_input_arl{ + width: 100%; + border: 0px solid black; + line-height: 36px; + padding: 0px 8px; + border-radius: 4px; + background-color: var(--secondary-background); + color: var(--primary-text); +} +#settings_btn_copyArl{ + min-width: 24px; + width: 48px; + margin: 0px 0px 0px 8px; + padding: 0px 4px; +} +#logged_in_info{ + display: none; + margin-bottom: 12px; +} + /* Main Search Tab */ .search_tablinks{ @@ -309,6 +333,10 @@ span.tag { box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(0, 0, 0, 0.3); background: #333333; } +.inline-flex{ + display: flex; + align-items:center; +} button{ font-family : inherit; font-weight: 600; @@ -323,3 +351,8 @@ button{ text-transform: uppercase; color: var(--accent-text); } +button[disabled]{ + background-color: var(--secondary-background); + color: var(--main-text); + opacity: 0.75; +} diff --git a/public/index.html b/public/index.html index 620274b..1dd1546 100644 --- a/public/index.html +++ b/public/index.html @@ -155,7 +155,18 @@

Home

Link Analyzer

Settings

- +
+ Profile Picture +

You are logged in as

+ +
+ +
+ + +
+

How do I get my own ARL?

+

About

diff --git a/public/js/init.js b/public/js/init.js index c8d2cd2..c35a82e 100644 --- a/public/js/init.js +++ b/public/js/init.js @@ -20,7 +20,10 @@ function toast(msg, icon=null, dismiss=true, id=null){ toastDOM.find(".toast-icon").html(icon) } if (dismiss !== null && dismiss){ - setTimeout(function(){ toastObj.hideToast() }, 3000); + setTimeout(function(){ + toastObj.hideToast() + delete toastsWithId[id] + }, 3000); } }else{ if (icon == null) @@ -54,21 +57,86 @@ function openLoginPrompt(){ socket.emit("loginpage") } -socket.emit("init"); -if (localStorage.getItem("arl")){ - socket.emit("login", localStorage.getItem("arl")); +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){ - if (data.status != 0){ - console.log(data) - toast("Logged in", "done", true, "login-toast") - if (data.arl && data.status == 1) localStorage.setItem("arl", data.arl) - }else{ - toast("Couldn't log in", "close", true, "login-toast") + 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`) +}) diff --git a/public/test_components.html b/public/test_components.html deleted file mode 100644 index a62f91b..0000000 --- a/public/test_components.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -