From 05b7c5b0b95d334cc4acf0be45d01d968737782b Mon Sep 17 00:00:00 2001 From: Kum1ta Date: Sat, 28 Sep 2024 20:31:43 +0200 Subject: [PATCH] Site - add real stats and history game in profil page - search will send now request in lower case in profile page - add key enter in search bar in profile page --- .../server/server/templates/profilPage.html | 13 +------ .../nginx/static/javascript/Page.js | 4 +- .../nginx/static/javascript/lobbyPage/main.js | 4 +- .../static/javascript/profilPage/main.js | 38 +++++++++++++++++-- .../javascript/typeResponse/typeInvitation.js | 6 +-- .../javascript/typeResponse/typeSearchUser.js | 30 ++++++++++++++- .../static/javascript/waitingGame/main.js | 4 +- .../nginx/static/style/profilPage/profil.css | 9 +++++ 8 files changed, 82 insertions(+), 26 deletions(-) diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/profilPage.html b/docker-compose/requirements/djangoserver/file/server/server/templates/profilPage.html index 8ecb152..c2c8493 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/templates/profilPage.html +++ b/docker-compose/requirements/djangoserver/file/server/server/templates/profilPage.html @@ -27,19 +27,8 @@ -
+

History

-
-
-
-

User1

-
-

0 - 0

-
-
-

User2

-
-
diff --git a/docker-compose/requirements/nginx/static/javascript/Page.js b/docker-compose/requirements/nginx/static/javascript/Page.js index bbc0371..1ef3702 100644 --- a/docker-compose/requirements/nginx/static/javascript/Page.js +++ b/docker-compose/requirements/nginx/static/javascript/Page.js @@ -6,7 +6,7 @@ /* By: edbernar { diff --git a/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js b/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js index 818a603..2d0d914 100644 --- a/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js +++ b/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js @@ -6,7 +6,7 @@ /* By: edbernar { - sendRequest("search_user", {username: event.target.value}); + sendRequest("search_user", {username: event.target.value.toLowerCase()}); }, 10); } } diff --git a/docker-compose/requirements/nginx/static/javascript/profilPage/main.js b/docker-compose/requirements/nginx/static/javascript/profilPage/main.js index 19b2771..be81f1f 100644 --- a/docker-compose/requirements/nginx/static/javascript/profilPage/main.js +++ b/docker-compose/requirements/nginx/static/javascript/profilPage/main.js @@ -6,7 +6,7 @@ /* By: edbernar { + console.log(userInfo); if (userInfo == null) { pageRenderer.changePage('homePage'); @@ -74,8 +75,8 @@ class ProfilPage banner.style.backgroundSize = "cover"; banner.style.backgroundRepeat = "no-repeat"; externButtons(userInfo); - createGraph(ctx, {win: 10, lose: 1}); - console.warn("Graph values are settled in code, please change it with data request") + createGraph(ctx, {win: userInfo.nbWin, lose: userInfo.nbLoss}); + showHistory(userInfo); if (userInfo.id == userMeInfo.id) { inviteButton.remove(); @@ -203,5 +204,36 @@ function createGraph(ctx, data) }); } +function showHistory(userInfo) +{ + const divHistory = document.getElementById('history'); + const history = userInfo.history; + + history.forEach(element => { + const div = document.createElement('div'); + + div.setAttribute('class', 'history-card'); + if (element.won) + div.style.backgroundColor = '#11ad11'; + div.innerHTML = ` +
+
+ +
+

${userInfo.username}

+
+

${element.p1.score} - ${element.p2.score}

+
+
+ +
+

${element.p2.username}

+
` + divHistory.appendChild(div); + }); +} + + + export { ProfilPage }; diff --git a/docker-compose/requirements/nginx/static/javascript/typeResponse/typeInvitation.js b/docker-compose/requirements/nginx/static/javascript/typeResponse/typeInvitation.js index 5af05ed..ca9119d 100644 --- a/docker-compose/requirements/nginx/static/javascript/typeResponse/typeInvitation.js +++ b/docker-compose/requirements/nginx/static/javascript/typeResponse/typeInvitation.js @@ -6,7 +6,7 @@ /* By: edbernar { - pageRenderer.changePage('waitingGamePage', false, {username: "AAA", id: content.invitor}); + CN.new("New invitation", content.username + " invit you to play !", null, () => { + pageRenderer.changePage('waitingGamePage', false, {username: content.username, id: content.invitor}); }, 'Join', 30000); } diff --git a/docker-compose/requirements/nginx/static/javascript/typeResponse/typeSearchUser.js b/docker-compose/requirements/nginx/static/javascript/typeResponse/typeSearchUser.js index 7016d64..ccd9d2e 100644 --- a/docker-compose/requirements/nginx/static/javascript/typeResponse/typeSearchUser.js +++ b/docker-compose/requirements/nginx/static/javascript/typeResponse/typeSearchUser.js @@ -6,13 +6,15 @@ /* By: edbernar { pageRenderer.changePage('profilPage', false, user[1]); + if (enterActivated) + { + document.body.removeEventListener('keypress', enterPressed); + enterActivated = false; + } }) }); + if (!enterActivated) + { + document.body.addEventListener('keypress', enterPressed); + enterActivated = true; + } +} + +function enterPressed(e) +{ + const searchResult = document.getElementById('searchResult'); + + if (e.key == 'Enter' && searchResult.children && searchResult.children[0]) + searchResult.children[0].click(); } function removeAlluser() @@ -45,6 +66,11 @@ function removeAlluser() const searchResult = document.getElementById('searchResult'); document.body.removeEventListener('click', removeAlluser); + if (enterActivated) + { + document.body.removeEventListener('keypress', enterPressed); + enterActivated = false; + } searchResult.innerHTML = ''; searchInputUser.value = ''; } diff --git a/docker-compose/requirements/nginx/static/javascript/waitingGame/main.js b/docker-compose/requirements/nginx/static/javascript/waitingGame/main.js index 608d33d..8b5def1 100644 --- a/docker-compose/requirements/nginx/static/javascript/waitingGame/main.js +++ b/docker-compose/requirements/nginx/static/javascript/waitingGame/main.js @@ -6,7 +6,7 @@ /* By: edbernar { document.body.style.animation = 'anim3 0.5s'; document.body.style.opacity = 0; - pageRenderer.changePage("multiOnlineGamePage", false, {player: lastSelected.id, opponent: content.skin}); + pageRenderer.changePage("multiOnlineGamePage", false, {player: lastSelected ? lastSelected.id : 0, opponent: content.skin}); }, 1000); }, 500); document.body.removeChild(returnButton); diff --git a/docker-compose/requirements/nginx/static/style/profilPage/profil.css b/docker-compose/requirements/nginx/static/style/profilPage/profil.css index 26ce2d1..be2e959 100644 --- a/docker-compose/requirements/nginx/static/style/profilPage/profil.css +++ b/docker-compose/requirements/nginx/static/style/profilPage/profil.css @@ -153,6 +153,15 @@ margin-bottom: 5px; } +#profil .profile-img-history img { + width: 55px; + height: 55px; + border-radius: 50%; + object-fit: cover; + object-position: 50% 50%; + margin-top: 2.5px; +} + #profil .profile-img-history-enemy { width: 50px; height: 50px;