Finish login and reset password
This commit is contained in:
parent
d5dc807b09
commit
53b96d61fe
8 changed files with 256 additions and 31 deletions
2
front/dist/resources/html/gameLogin.html
vendored
2
front/dist/resources/html/gameLogin.html
vendored
|
@ -10,7 +10,7 @@
|
|||
background: #eceeee;
|
||||
border: 1px solid #42464b;
|
||||
border-radius: 6px;
|
||||
height: 257px;
|
||||
height: 270px;
|
||||
margin: 20px auto 0;
|
||||
width: 298px;
|
||||
}
|
||||
|
|
1
front/dist/resources/html/gameMenuIcon.html
vendored
1
front/dist/resources/html/gameMenuIcon.html
vendored
|
@ -16,6 +16,7 @@
|
|||
#menuIcon button img{
|
||||
width: 14px;
|
||||
padding-top: 4px;
|
||||
cursor: url('/resources/logos/cursor_pointer.png'), pointer;
|
||||
}
|
||||
#menuIcon section {
|
||||
margin: 10px;
|
||||
|
|
2
front/dist/resources/html/gameRegister.html
vendored
2
front/dist/resources/html/gameRegister.html
vendored
|
@ -112,6 +112,6 @@
|
|||
</section>
|
||||
<section class="action">
|
||||
<button type="submit" id="gameRegisterFormSubmit">Sign In</button>
|
||||
<button type="submit" id="gameRegisterFormCancel">Login</button>
|
||||
<a href="#" id="gameRegisterFormCancel">Login</a>
|
||||
</section>
|
||||
</form>
|
||||
|
|
|
@ -19,7 +19,7 @@ class ConnectionManager {
|
|||
private connectedUser?: ConnectedUser|null;
|
||||
|
||||
constructor() {
|
||||
this.verifyLoggedUser();
|
||||
//this.userLogin();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -119,17 +119,16 @@ class ConnectionManager {
|
|||
return this.connexionType;
|
||||
}
|
||||
|
||||
public verifyLoggedUser(){
|
||||
/**
|
||||
*
|
||||
* @param email
|
||||
* @param password
|
||||
*/
|
||||
public userLogin(email: string, password: string){
|
||||
//Verify spark session
|
||||
Axios.get('http://admin.workadventure.localhost/user/connected').then((res) => {
|
||||
console.log('res', res);
|
||||
Axios.get('http://admin.workadventure.localhost/notifications/recent').then((res) => {
|
||||
this.connectedUser = res.data;
|
||||
}).catch((err) => {
|
||||
console.error(err);
|
||||
this.connectedUser = null;
|
||||
throw new ErrorConnectedError('Error to get user element');
|
||||
});
|
||||
//TODO change url addresse
|
||||
return Axios.post('http://pusher.workadventure.localhost/user/login',{email, password}).then((res) => {
|
||||
return res.data;
|
||||
}).catch((err) => {
|
||||
if(err instanceof ErrorConnectedError) {
|
||||
throw err;
|
||||
|
@ -146,10 +145,33 @@ class ConnectionManager {
|
|||
* @param name
|
||||
* @param email
|
||||
* @param password
|
||||
* @param confirmPassword
|
||||
*/
|
||||
public registerUser(name: string, email: string, password: string, confirmPassword: string){
|
||||
Axios.get('http://admin.workadventure.localhost/member/register')
|
||||
public registerUser(name: string, email: string, password: string){
|
||||
//TODO change url addresse
|
||||
Axios.post('http://pusher.workadventure.localhost/member/register', {
|
||||
name,
|
||||
email,
|
||||
password
|
||||
})
|
||||
.then((res) => {
|
||||
this.connectedUser = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
this.connectedUser = null;
|
||||
console.log(err);
|
||||
throw err;
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param email
|
||||
*/
|
||||
public passwordReset(email: string) {
|
||||
//TODO change url addresse
|
||||
return Axios.post('http://pusher.workadventure.localhost/user/password/reset', {
|
||||
email,
|
||||
})
|
||||
.then((res) => {
|
||||
this.connectedUser = res.data;
|
||||
})
|
||||
|
|
|
@ -4,6 +4,7 @@ import {gameManager} from "../Game/GameManager";
|
|||
import {localUserStore} from "../../Connexion/LocalUserStore";
|
||||
import {mediaManager} from "../../WebRtc/MediaManager";
|
||||
import {coWebsiteManager} from "../../WebRtc/CoWebsiteManager";
|
||||
import {connectionManager} from "../../Connexion/ConnectionManager";
|
||||
|
||||
export const MenuSceneName = 'MenuScene';
|
||||
const gameMenuKey = 'gameMenu';
|
||||
|
@ -144,6 +145,7 @@ export class MenuScene extends Phaser.Scene {
|
|||
|
||||
openSideMenu() {
|
||||
if (this.sideMenuOpened) return;
|
||||
this.closeAll();
|
||||
this.sideMenuOpened = true;
|
||||
this.menuButton.getChildByID('openMenuButton').innerHTML = 'X';
|
||||
if (gameManager.getCurrentGameScene(this).connection && gameManager.getCurrentGameScene(this).connection.isAdmin()) {
|
||||
|
@ -161,12 +163,7 @@ export class MenuScene extends Phaser.Scene {
|
|||
private closeSideMenu(): void {
|
||||
if (!this.sideMenuOpened) return;
|
||||
this.sideMenuOpened = false;
|
||||
this.closeGameQualityMenu();
|
||||
this.closeGameForgotPassword();
|
||||
this.closeGameLogin();
|
||||
this.closeGameRegister();
|
||||
this.closeGameShare();
|
||||
this.menuButton.getChildByID('openMenuButton').innerHTML = `<img src="/static/images/menu.svg">`;
|
||||
this.closeAll();
|
||||
gameManager.getCurrentGameScene(this).ConsoleGlobalMessageManager.disabledMessageConsole();
|
||||
this.tweens.add({
|
||||
targets: this.menuElement,
|
||||
|
@ -176,13 +173,13 @@ export class MenuScene extends Phaser.Scene {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
private openGameSettingsMenu(): void {
|
||||
if (this.settingsMenuOpened) {
|
||||
this.closeGameQualityMenu();
|
||||
return;
|
||||
}
|
||||
//close all
|
||||
this.closeAll();
|
||||
|
||||
this.settingsMenuOpened = true;
|
||||
|
||||
const gameQualitySelect = this.gameQualityMenuElement.getChildByID('select-game-quality') as HTMLInputElement;
|
||||
|
@ -233,12 +230,11 @@ export class MenuScene extends Phaser.Scene {
|
|||
}
|
||||
|
||||
private openGameLogin(): void{
|
||||
this.closeGameRegister();
|
||||
this.closeGameForgotPassword();
|
||||
if (this.gameLoginMenuOpened) {
|
||||
this.closeGameLogin();
|
||||
return;
|
||||
}
|
||||
this.closeAll();
|
||||
this.gameLoginMenuOpened = true;
|
||||
|
||||
let middleY = (window.innerHeight / 3) - (257);
|
||||
|
@ -273,6 +269,8 @@ export class MenuScene extends Phaser.Scene {
|
|||
this.closeGameShare();
|
||||
return;
|
||||
}
|
||||
//close all
|
||||
this.closeAll();
|
||||
|
||||
const gameShareLink = this.gameShareElement.getChildByID('gameShareLink') as HTMLInputElement;
|
||||
gameShareLink.value = location.toString();
|
||||
|
@ -313,7 +311,7 @@ export class MenuScene extends Phaser.Scene {
|
|||
let errorForm = false;
|
||||
const gameLoginEmail = this.gameLoginElement.getChildByID('gameLoginEmail') as HTMLInputElement;
|
||||
const gameLoginPassword = this.gameLoginElement.getChildByID('gameLoginPassword') as HTMLInputElement;
|
||||
const gameLoginError = this.gameLoginElement.getChildByID('gameLoginError') as HTMLInputElement;
|
||||
const gameLoginError = this.gameLoginElement.getChildByID('gameLoginError') as HTMLParagraphElement;
|
||||
|
||||
gameLoginError.innerText = '';
|
||||
gameLoginError.style.display = 'none';
|
||||
|
@ -337,8 +335,16 @@ export class MenuScene extends Phaser.Scene {
|
|||
gameLoginError.innerText = 'Login or password incorrect';
|
||||
gameLoginError.style.display = 'block';
|
||||
//TODO login user in back
|
||||
|
||||
connectionManager.userLogin(gameLoginEmail.value, gameLoginPassword.value).then(() => {
|
||||
this.closeGameLogin();
|
||||
}).catch((err) => {
|
||||
gameLoginError.innerText = err.message;
|
||||
gameLoginError.style.display = 'block';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private sendEmail(){
|
||||
const gameForgotPasswordInfo = this.gameForgotPasswordElement.getChildByID('gameForgotPasswordInfo') as HTMLParagraphElement;
|
||||
gameForgotPasswordInfo.style.display = 'none';
|
||||
|
@ -357,8 +363,16 @@ export class MenuScene extends Phaser.Scene {
|
|||
return;
|
||||
}
|
||||
//TODO send email
|
||||
gameForgotPasswordInfo.style.display = 'block';
|
||||
gameForgotPasswordInfo.innerText = 'We have emailed your password reset link!';
|
||||
connectionManager.passwordReset(gameLoginForgotPasswordEmail.value).then(() => {
|
||||
gameForgotPasswordInfo.style.display = 'block';
|
||||
gameForgotPasswordInfo.innerText = 'We have emailed your password reset link!';
|
||||
gameLoginForgotPasswordEmail.value = '';
|
||||
this.closeGameLogin();
|
||||
}).catch((err) => {
|
||||
gameForgotPasswordError.innerText = err.message;
|
||||
gameForgotPasswordError.style.display = 'block';
|
||||
gameLoginForgotPasswordEmail.value = '';
|
||||
});
|
||||
}
|
||||
|
||||
private register(){
|
||||
|
@ -405,6 +419,9 @@ export class MenuScene extends Phaser.Scene {
|
|||
}
|
||||
|
||||
private openGameForgotPassword(): void{
|
||||
//close all
|
||||
this.closeAll();
|
||||
|
||||
let middleY = (window.innerHeight / 3) - (257);
|
||||
if(middleY < 0){
|
||||
middleY = 0;
|
||||
|
@ -432,6 +449,9 @@ export class MenuScene extends Phaser.Scene {
|
|||
}
|
||||
|
||||
private openGameRegister(): void{
|
||||
//close all
|
||||
this.closeAll();
|
||||
|
||||
let middleY = (window.innerHeight / 3) - (257);
|
||||
if(middleY < 0){
|
||||
middleY = 0;
|
||||
|
@ -516,4 +536,13 @@ export class MenuScene extends Phaser.Scene {
|
|||
const sparkHost = 'https://'+window.location.host.replace('play.', '')+'/choose-map.html';
|
||||
window.open(sparkHost, '_blank');
|
||||
}
|
||||
|
||||
private closeAll(){
|
||||
this.closeGameQualityMenu();
|
||||
this.closeGameForgotPassword();
|
||||
this.closeGameLogin();
|
||||
this.closeGameRegister();
|
||||
this.closeGameShare();
|
||||
this.menuButton.getChildByID('openMenuButton').innerHTML = `<img src="/static/images/menu.svg">`;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue