diff --git a/.DS_Store b/.DS_Store index 1ce5d8d..c802497 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/docker-compose/.DS_Store b/docker-compose/.DS_Store index d83c06e..d10292e 100644 Binary files a/docker-compose/.DS_Store and b/docker-compose/.DS_Store differ diff --git a/docker-compose/requirements/.DS_Store b/docker-compose/requirements/.DS_Store index 5af55f6..46a3b90 100644 Binary files a/docker-compose/requirements/.DS_Store and b/docker-compose/requirements/.DS_Store differ diff --git a/docker-compose/requirements/djangoserver/file/server/server/models.py b/docker-compose/requirements/djangoserver/file/server/server/models.py index 7b1205e..49df996 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/models.py +++ b/docker-compose/requirements/djangoserver/file/server/server/models.py @@ -5,7 +5,7 @@ class User(models.Model): username = models.CharField(max_length=20, unique=True) mail = models.EmailField(unique=True) password = models.CharField(max_length=100) - id42 = models.DecimalField(decimal_places=0, unique=True, default=0) + id42 = models.DecimalField(max_digits=15, decimal_places=0, default=0) class Message(models.Model): id = models.AutoField(primary_key=True) diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/homePage.html b/docker-compose/requirements/djangoserver/file/server/server/templates/homePage.html new file mode 100644 index 0000000..d486cf5 --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/templates/homePage.html @@ -0,0 +1,108 @@ +
+
+
+

PTME

+
+

HOME

+

PROJECT

+

NEWS

+
+
+

LOGIN

+
+
+ +
+

CHAT

+
+
+
+

Chat

+
+

X

+
+
+
+
+
+
+ + +
+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia totam cupiditate magni unde expedita molestiae eum aliquam fugit voluptatibus omnis! Dolores, ipsa inventore necessitatibus numquam aspernatur in perferendis id voluptas?

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia totam cupiditate magni unde expedita molestiae eum aliquam fugit voluptatibus omnis! Dolores, ipsa inventore necessitatibus numquam aspernatur in perferendis id voluptas?

+
+
+
+
+
+ Tom +

Tom, tomoron

+

Partie Backend

+
+

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

+
+
+
+ Mathis +

Mathis, madegryc

+

Partie Frontend / Design

+
+

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

+
+
+
+ Eddy +

Eddy, edbernar

+

Partie Midend

+
+

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

+
+
+
+ Hugo +

Hugo, hubourge

+

Partie jeu

+
+

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

+
+
+
+
+ \ No newline at end of file diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/index.html b/docker-compose/requirements/djangoserver/file/server/server/templates/index.html index b8e5728..c59a458 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/templates/index.html +++ b/docker-compose/requirements/djangoserver/file/server/server/templates/index.html @@ -15,113 +15,6 @@ -
-
-
-

PTME

-
-

HOME

-

PROJECT

-

NEWS

-
-
-

LOGIN

-
-
- -
-

CHAT

-
-
-
-

Chat

-
-

X

-
-
-
-
-
-
- - -
-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia totam cupiditate magni unde expedita molestiae eum aliquam fugit voluptatibus omnis! Dolores, ipsa inventore necessitatibus numquam aspernatur in perferendis id voluptas?

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Officia totam cupiditate magni unde expedita molestiae eum aliquam fugit voluptatibus omnis! Dolores, ipsa inventore necessitatibus numquam aspernatur in perferendis id voluptas?

-
-
-
-
-
- Tom -

Tom, tomoron

-

Partie Backend

-
-

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

-
-
-
- Mathis -

Mathis, madegryc

-

Partie Frontend / Design

-
-

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

-
-
-
- Eddy -

Eddy, edbernar

-

Partie Midend

-
-

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

-
-
-
- Hugo -

Hugo, hubourge

-

Partie jeu

-
-

Tom est spécialisé en développement backend et travaille principalement avec Node.js et MongoDB.

-
-
-
-
- + diff --git a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py index 39f78e0..c46c7b0 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py +++ b/docker-compose/requirements/djangoserver/file/server/server/typeRequests/login.py @@ -6,7 +6,7 @@ # By: edbernar { + if (response.status != 200) + throw Error("Page '" + name + "' can't be loaded") + return (response); + }) + .then(data => { + data.text().then(text => { + document.body.innerHTML = text; + this.availablePages[i].class.create(); + document.title = this.availablePages[i].title; + this.actualPage = this.availablePages[i].name; + history.pushState({}, this.availablePages[i].title, this.availablePages[i].url); + }); + }) + .catch(error => { + throw Error(error); + }); + + return ; + } + } + throw Error("Page '" + page + "' not exist"); } + #showUnknownPage() + { + document.body.innerHTML = "404 - Page not found"; + } }; export { Page } \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js b/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js index 2cea888..e0b9fc3 100644 --- a/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js +++ b/docker-compose/requirements/nginx/static/javascript/home3D/home3D.js @@ -6,7 +6,7 @@ /* By: edbernar { + + const fadeOut = setInterval(() => { if (screen == null) { - clearInterval(intervalFade); - return ; + clearInterval(fadeOut); + return; } light.point -= 0.2; screen.screen.material.opacity -= 0.05; if (screen.screen.material.opacity <= 0) { - clearInterval(intervalFade); - setTimeout(() => { - if (screen == null) - { - clearInterval(intervalFade); - return ; - } - interval = setInterval(() => { - light.point += 0.2; - screen.screen.material.opacity += 0.05; - if (screen.screen.material.opacity >= 1) - { - if (screen == null) - { - clearInterval(intervalFade); - return ; - } - clearInterval(intervalFade); - intervalFade = setInterval(() => { - light.point += 0.2; - if (light.point >= 1) - clearInterval(intervalFade); - }, 10); - isInFade = false; - } - }, 20); - }, 500); + clearInterval(fadeOut); + setTimeout(fadeIn, 500); } }, 20); + + function fadeIn() + { + const fadeInInterval = setInterval(() => { + if (screen == null) + { + clearInterval(fadeInInterval); + return; + } + light.point += 0.2; + screen.screen.material.opacity += 0.05; + + if (screen.screen.material.opacity >= 1) + { + clearInterval(fadeInInterval); + completeFade(); + } + }, 20); + } + + function completeFade() { + intervalFade = setInterval(() => { + light.point += 0.2; + if (light.point >= 1) + { + clearInterval(intervalFade); + isInFade = false; + } + }, 10); + } } - renderer.setAnimationLoop(loop) } diff --git a/docker-compose/requirements/nginx/static/javascript/homePage/main.js b/docker-compose/requirements/nginx/static/javascript/homePage/main.js index 19b4dd7..0b2efda 100644 --- a/docker-compose/requirements/nginx/static/javascript/homePage/main.js +++ b/docker-compose/requirements/nginx/static/javascript/homePage/main.js @@ -6,23 +6,27 @@ /* By: edbernar { - // nodeText = document.createTextNode(userMeInfo.username); - // if (userMeInfo.id !== -1) - // { - // loginButton.replaceChild(nodeText, pLoginButton); - // loginButton.addEventListener('click', showMenu); - // } - // else - loginButton.addEventListener('click', showLoginDiv); - // }); + waitForLogin().then(() => { + if (userMeInfo.id !== -1) + { + nodeText = document.createTextNode(userMeInfo.username); + loginButton.replaceChild(nodeText, pLoginButton); + // loginButton.addEventListener('click', showMenu); + } + else + { + loginButton.addEventListener('click', showLoginDiv); + } + }); + form.addEventListener('submit', connect); + } + + static dispose() + { + const loginButton = document.getElementById('loginButton'); + const form = document.getElementById('loginForm'); + + loginButton.removeEventListener('click', showLoginDiv); + form.removeEventListener('submit', connect); + + } } function showLoginDiv() @@ -41,47 +58,28 @@ function showLoginDiv() popout.style.display = 'flex'; } -function showMenu() +function connect(e) { - const loginButton = document.getElementById('loginButton'); - const divMenu = document.createElement("div"); - const ul = document.createElement("ul"); - const li1 = document.createElement("li"); - const li2 = document.createElement("li"); - let already_activated = false; - - divMenu.setAttribute("id", "menuDiv"); - li1.innerHTML = "Profile"; - li2.innerHTML = "Logout"; - li1.addEventListener('click', (e) => { - 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) + const loginButton = document.getElementById('loginButton'); + const pLoginButton = loginButton.getElementsByTagName('p')[0]; + const popout = document.getElementById('loginPopup'); + const mail = document.getElementById('email').value; + let usernameNode = null; + + e.preventDefault(); + sendRequest("login", {type: "byPass", mail: mail, password: e.target.password.value}); + waitForLogin().then((isConnected) => { + if (isConnected) { - setTimeout(() => { - document.getElementById("menuDiv").remove(); - loginButton.addEventListener('click', showMenu); - already_activated = true; - }, 199); - document.getElementById("menuDiv").style.animation = "animHideMenuDiv 0.21s"; + usernameNode = document.createTextNode(userMeInfo.username); + loginButton.replaceChild(usernameNode, pLoginButton); + CN.new("Connected successfully", "Welcome " + userMeInfo.username, CN.defaultIcon.success); + popout.style.display = 'none'; } + }).catch((err) => { + console.error(err); + CN.new("Error", "An error occured while trying to connect", CN.defaultIcon.error); }); } - -export { login, showLoginDiv, showMenu }; \ No newline at end of file +export { Login }; \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/main.js b/docker-compose/requirements/nginx/static/javascript/main.js index 2988c6f..be18327 100644 --- a/docker-compose/requirements/nginx/static/javascript/main.js +++ b/docker-compose/requirements/nginx/static/javascript/main.js @@ -6,19 +6,15 @@ /* By: edbernar { - liveChat(); - login(); - HomePage.create(); - setTimeout(() => { - HomePage.dispose(); - }, 3000); + pageRenderer = new Page(); }); diff --git a/docker-compose/requirements/nginx/static/javascript/typeErrorResponse/typeErrorInvalidPassword.js b/docker-compose/requirements/nginx/static/javascript/typeErrorResponse/typeErrorInvalidPassword.js index 1d3affd..e405b60 100644 --- a/docker-compose/requirements/nginx/static/javascript/typeErrorResponse/typeErrorInvalidPassword.js +++ b/docker-compose/requirements/nginx/static/javascript/typeErrorResponse/typeErrorInvalidPassword.js @@ -6,15 +6,18 @@ /* By: edbernar { status = 1; console.log('Connected'); - if (token) - sendRequest("login", {type: "byToken", token: token}); - else - typeLogin(null); }; socket.onmessage = (event) => { @@ -78,6 +67,7 @@ socket.onmessage = (event) => { } else { + console.log(response); try { functionResponse[typeResponse.indexOf(response.type)](response.content); } catch { diff --git a/docker-compose/requirements/nginx/static/style/homePage/home.css b/docker-compose/requirements/nginx/static/style/homePage/home.css index 5c9506f..19cea26 100644 --- a/docker-compose/requirements/nginx/static/style/homePage/home.css +++ b/docker-compose/requirements/nginx/static/style/homePage/home.css @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* home.css :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: marvin +#+ +:+ +#+ */ +/* By: edbernar