diff --git a/docker-compose/requirements/nginx/static/javascript/Page.js b/docker-compose/requirements/nginx/static/javascript/Page.js index 26913e7..e4bb0b0 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 0) + if (dofPass.materialBokeh.uniforms.aperture.value > 0 && interval) dofPass.materialBokeh.uniforms.aperture.value -= 0.0001; - if (camera.position.x < 3) + if (camera.position.x < 3 && interval) { clearInterval(interval); camera.position.set(-2, 4, -6); @@ -158,9 +158,9 @@ function home3D() camera.lookAt(screen.tv.position); camera.position.x += (0.01 * globalSpeed); camera.position.y -= (0.005 * globalSpeed); - if (camera.position.x > 1.7) + if (camera.position.x > 1.7 && interval) fadeInOut(); - if (camera.position.x > 2) + if (camera.position.x > 2 && interval) { camera.position.set(0, 1.2, 0); clearInterval(interval); @@ -173,9 +173,9 @@ function home3D() camera.lookAt(screen.tv.position); camera.position.y += (0.005 * globalSpeed); camera.position.z -= (0.01 * globalSpeed); - if (camera.position.x < -2.3) + if (camera.position.x < -2.3 && interval) fadeInOut(); - if (camera.position.z < -2) + if (camera.position.z < -2 && interval) { globalSpeed -= 0.001; if (globalSpeed < 0) @@ -188,11 +188,6 @@ function home3D() }, 10); }, 500); - setTimeout(() => { - screen.changeVideo(video.pong); - actualVideo = 0; - }, 100); - let clickDetect = false; function loop() @@ -326,7 +321,7 @@ function home3D() renderer.setAnimationLoop(loop) } -function windowUpdater() +function windowUpdater(e) { renderer.setSize(window.innerWidth, window.innerHeight); camera.aspect = window.innerWidth / window.innerHeight; @@ -342,7 +337,41 @@ function mouseTracker (event) function redirection() { - pageRenderer.changePage('lobbyPage'); + const topBar = document.getElementById('topBar'); + + topBar.style.animation = 'animHideMenuDiv 0.5s'; + topBar.style.opacity = 0; + moveCamera(); + setTimeout(() => { + if (interval) + { + clearInterval(interval); + interval = null; + } + setTimeout(() => { + pageRenderer.changePage('lobbyPage'); + }, 700); + }, 1000); +} + +function moveCamera() +{ + const targetPosition = screen.tv.position; + const initialPosition = camera.position.clone(); + const startTime = Date.now(); + + function updateCameraPosition() + { + const elapsedTime = Date.now() - startTime; + const t = Math.min(elapsedTime / 1000, 1); + const position = initialPosition.clone().lerp(targetPosition, t * t); + + camera.position.copy(position); + if (t < 1) + requestAnimationFrame(updateCameraPosition); + } + + updateCameraPosition(); } export { Home3D }; \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js b/docker-compose/requirements/nginx/static/javascript/lobbyPage/main.js index 430ff56..facdf66 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 { - if (userMeInfo.id !== -1) - { - nodeText = document.createTextNode(userMeInfo.username); - loginButton.replaceChild(nodeText, pLoginButton); - loginButton.addEventListener('click', showMenu); - window.addEventListener('resize', movePopMenuLoginButton); - movePopMenuLoginButton(); - initButtonPopMenuLogin(); - } - else - { - loginButton.addEventListener('click', showLoginDiv); - } - }); - form.addEventListener('submit', connect); - registerForm.addEventListener('submit', createAccount); + if (userMeInfo.id !== -1) + { + usernameNode = document.createTextNode(userMeInfo.username); + loginButton.replaceChild(usernameNode, pLoginButton); + loginButton.addEventListener('click', showMenu); + window.addEventListener('resize', movePopMenuLoginButton); + movePopMenuLoginButton(); + initButtonPopMenuLogin(); + } + else + { + waitForLogin().then(() => { + if (userMeInfo.id !== -1) + { + nodeText = document.createTextNode(userMeInfo.username); + loginButton.replaceChild(nodeText, pLoginButton); + loginButton.addEventListener('click', showMenu); + window.addEventListener('resize', movePopMenuLoginButton); + movePopMenuLoginButton(); + initButtonPopMenuLogin(); + } + else + { + loginButton.addEventListener('click', showLoginDiv); + } + }); + form.addEventListener('submit', connect); + registerForm.addEventListener('submit', createAccount); + } } static dispose() @@ -176,18 +189,18 @@ function connect(e) e.preventDefault(); sendRequest("login", {type: "byPass", mail: mail, password: e.target.password.value}); - // waitForLogin().then((isConnected) => { - // if (isConnected) - // { - // 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); - // }); + waitForLogin().then((isConnected) => { + if (isConnected) + { + 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, changeWindowLoginBack }; \ No newline at end of file diff --git a/docker-compose/requirements/nginx/static/style/homePage/home.css b/docker-compose/requirements/nginx/static/style/homePage/home.css index 7867b46..5751755 100644 --- a/docker-compose/requirements/nginx/static/style/homePage/home.css +++ b/docker-compose/requirements/nginx/static/style/homePage/home.css @@ -6,7 +6,7 @@ /* By: edbernar