From 298711bf505242792e7b73b7a42271903a979d1f Mon Sep 17 00:00:00 2001 From: Kum1ta Date: Tue, 13 Aug 2024 00:21:28 +0200 Subject: [PATCH] Site - Fixed bug on login button - Added menu under login button when user connected - Added button for logout in menu --- site/interface/site/login/createConnectDiv.js | 12 +++-- site/interface/site/login/main.js | 49 ++++++++++++++++++- site/interface/site/style/home.css | 43 +++++++++++++++- site/interface/site/websocket.js | 7 +-- 4 files changed, 97 insertions(+), 14 deletions(-) diff --git a/site/interface/site/login/createConnectDiv.js b/site/interface/site/login/createConnectDiv.js index bcdf462..0c87328 100644 --- a/site/interface/site/login/createConnectDiv.js +++ b/site/interface/site/login/createConnectDiv.js @@ -3,16 +3,17 @@ /* ::: :::::::: */ /* createConnectDiv.js :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: marvin +#+ +:+ +#+ */ +/* By: edbernar { e.preventDefault(); - window.location.replace("https://api.intra.42.fr/oauth/authorize?client_id=u-s4t2ud-d9d6d46bd0be36dc13718981df4bfcf37e574ea364a07fcb5c39658be0f5706c&redirect_uri=http%3A%2F%2F127.0.0.1%3A5500%2Fsite%2F&response_type=code"); + window.location.replace(url42); }); return (divConnect); } @@ -136,6 +138,8 @@ function createButton(inputLogin, inputPass) document.getElementById("loginDiv").remove(); document.getElementById("globalBg").remove(); document.cookie = "token={" + token + "}; path=/; Secure; SameSite=Strict; max-age=3600"; + document.getElementById('loginButton').removeEventListener('click', showLoginDiv); + document.getElementById('loginButton').addEventListener('click', showMenu); }); }).catch((err) => { CN.new("Error", "An error occured while trying to connect", CN.defaultIcon.error); diff --git a/site/interface/site/login/main.js b/site/interface/site/login/main.js index 6fa01cf..fb429ed 100644 --- a/site/interface/site/login/main.js +++ b/site/interface/site/login/main.js @@ -6,7 +6,7 @@ /* By: edbernar { + console.log("profile"); + }); + li2.addEventListener('click', (e) => { + document.cookie = "token=; path=/; Secure; SameSite=Strict; max-age=0"; + window.location.href = "/"; + location.reload(); + }); + ul.appendChild(li1); + ul.appendChild(li2); + divMenu.appendChild(ul); + divMenu.style.position = "absolute"; + divMenu.style.width = loginButton.offsetWidth + "px"; + divMenu.style.top = loginButton.offsetTop + loginButton.offsetHeight + "px"; + divMenu.style.left = loginButton.offsetLeft + "px"; + document.body.appendChild(divMenu); + loginButton.removeEventListener('click', showMenu); + loginButton.addEventListener('click', () => { + if (!already_activated) + { + setTimeout(() => { + document.getElementById("menuDiv").remove(); + loginButton.addEventListener('click', showMenu); + already_activated = true; + }, 199); + document.getElementById("menuDiv").style.animation = "animHideMenuDiv 0.21s"; + } + }); +} + + +export { login, showLoginDiv, showMenu }; \ No newline at end of file diff --git a/site/interface/site/style/home.css b/site/interface/site/style/home.css index bf3ad6c..478d79f 100644 --- a/site/interface/site/style/home.css +++ b/site/interface/site/style/home.css @@ -3,13 +3,31 @@ /* ::: :::::::: */ /* home.css :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: madegryc +#+ +:+ +#+ */ +/* By: edbernar { status = 1; console.log('Connected'); if (token) - { - console.log("token :" + token); sendRequest("login", {type: "byToken", token: token}); - } else - { connectedWith42Func(); - } }; socket.onmessage = (event) => {