sign up at login

This commit is contained in:
CHIEFSOFT\ameye
2023-11-13 13:01:03 -05:00
parent 76ff702470
commit 11de07f186
5 changed files with 234 additions and 86 deletions
+139 -78
View File
@@ -3,98 +3,159 @@
<div class="page_logo">
<img alt="WrenchBoard" src="/assets/images/wrenchboard-line.png" />
</div>
<div class="ion-padding space">
<div>
<div *ngIf="loginType==='normal';" >
<div class="ion-padding space">
<div>
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
<div class="boxed_contents">
<ion-grid>
<ion-row>
<ion-col size="6">
<ion-button fill="outline" size="large" class="scan_login_button" (click)="moveToStartScan()">
<ion-icon slot="start" name="scan"></ion-icon>
Scan Login</ion-button>
</ion-col>
<ion-col size="6">
<ion-button class="login-type22" (click)="familyLogin()">
<ion-icon name="people-circle-outline"></ion-icon>
Family Login</ion-button>
</ion-col>
</ion-row>
</ion-grid>
<div class="boxed_contents">
<ion-grid>
<ion-row>
<ion-col size="6">
<ion-button fill="outline" size="large" class="scan_login_button" (click)="moveToStartScan()">
<ion-icon slot="start" name="scan"></ion-icon>
Scan Login</ion-button>
</ion-col>
<ion-col size="6">
<ion-button class="login-type22" (click)="familyLogin()">
<ion-icon name="people-circle-outline"></ion-icon>
Family Login</ion-button>
</ion-col>
</ion-row>
</ion-grid>
<!-- <ion-grid>-->
<!-- <ion-row>-->
<!-- <ion-col>-->
<!-- <ion-button fill="outline" size="large" (click)="moveToStartScan()">-->
<!-- <ion-icon slot="start" name="scan"></ion-icon>-->
<!-- Scan Login</ion-button>-->
<!-- </ion-col>-->
<!-- <ion-col class="family_box">-->
<!-- <ion-button expand="block" class="login-type" (click)="familyLogin()">-->
<!-- <ion-icon name="people-circle-outline"></ion-icon>-->
<!-- Go to Family Login</ion-button>-->
<!-- </ion-col>-->
<!-- <ion-grid>-->
<!-- <ion-row>-->
<!-- <ion-col>-->
<!-- <ion-button fill="outline" size="large" (click)="moveToStartScan()">-->
<!-- <ion-icon slot="start" name="scan"></ion-icon>-->
<!-- Scan Login</ion-button>-->
<!-- </ion-col>-->
<!-- <ion-col class="family_box">-->
<!-- <ion-button expand="block" class="login-type" (click)="familyLogin()">-->
<!-- <ion-icon name="people-circle-outline"></ion-icon>-->
<!-- Go to Family Login</ion-button>-->
<!-- </ion-col>-->
<!-- </ion-row>-->
<!-- </ion-grid>-->
<!-- </ion-row>-->
<!-- </ion-grid>-->
<ion-label class="simp_lbl_tx">Login to continue</ion-label>
<ion-item lines="none">
<ion-icon slot="start" name="mail-outline"></ion-icon>
<ion-input (ionChange)="refreshBut()" type="email" placeholder="Email" [(ngModel)]='username'></ion-input>
</ion-item>
<ion-label class="simp_lbl_tx">Login to continue</ion-label>
<ion-item lines="none">
<ion-icon slot="start" name="mail-outline"></ion-icon>
<ion-input (ionChange)="refreshBut()" type="email" placeholder="Email" maxlength="25" [(ngModel)]='username'></ion-input>
</ion-item>
<ion-item lines="none">
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
<ion-input (ionChange)="refreshBut()" type="password" placeholder="Password" [(ngModel)]='password'></ion-input>
</ion-item>
<ion-item lines="none">
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
<ion-input (ionChange)="refreshBut()" type="password" placeholder="Password" maxlength="15" [(ngModel)]='password'></ion-input>
</ion-item>
<div class="check">
<ion-checkbox mode="md" checked></ion-checkbox>
<ion-label>Remember me</ion-label>
</div>
<ion-button shape="round" expand="block"
(click)="startLogin()"
[disabled]="isDisabled"
>
Login
</ion-button>
<!-- <ion-button shape="round">Round</ion-button>-->
<ion-label class="forgot_lbl" (click)="onForgot()">Forgot your password ?</ion-label>
<div *ngIf="showSocial == true ">
<ion-label class="or">Or Continue With</ion-label>
<div class="button">
<ion-buttons>
<ion-button (click) ="onLoginFacebook()">
<ion-icon name="logo-facebook"></ion-icon>
</ion-button>
</ion-buttons>
<ion-buttons>
<ion-button (click) ="onLoginGoogle()" >
<ion-icon name="logo-google"></ion-icon>
</ion-button>
</ion-buttons>
<ion-buttons *ngIf="ios">
<ion-button (click) ="onLoginApple()" >
<ion-icon name="logo-apple"></ion-icon>
</ion-button>
</ion-buttons>
<div class="check">
<ion-checkbox mode="md" checked></ion-checkbox>
<ion-label>Remember me</ion-label>
</div>
<ion-button shape="round" expand="block"
(click)="startLogin()"
[disabled]="isDisabled"
>
Login
</ion-button>
<!-- <ion-button shape="round">Round</ion-button>-->
<ion-label class="forgot_lbl" (click)="onForgot()">Forgot your password ?</ion-label>
<div *ngIf="showSocial == true ">
<ion-label class="or">Or Continue With</ion-label>
<div class="button">
<ion-buttons>
<ion-button (click) ="onLoginFacebook()">
<ion-icon name="logo-facebook"></ion-icon>
</ion-button>
</ion-buttons>
<ion-buttons>
<ion-button (click) ="onLoginGoogle()" >
<ion-icon name="logo-google"></ion-icon>
</ion-button>
</ion-buttons>
<ion-buttons *ngIf="ios">
<ion-button (click) ="onLoginApple()" >
<ion-icon name="logo-apple"></ion-icon>
</ion-button>
</ion-buttons>
</div>
</div>
</div>
<div class="bottom">
<ion-label class="last_lbl">Don't have an account? <span (click)="onRegister()">Register</span></ion-label>
</div>
</div>
<div class="bottom">
<ion-label class="last_lbl">Don't have an account? <span (click)="onRegister()">Register</span></ion-label>
</div>
</div>
</div>
<div *ngIf="loginType==='pending';" >
<div class="ion-padding space">
<div>
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
<div class="boxed_contents">
<ion-label class="simp_lbl_tx">Complete your signup</ion-label>
<ion-grid>
<ion-row>
<ion-col size-md="3">Country</ion-col>
<ion-col size-md="9">{{signup_country}}</ion-col>
</ion-row>
<ion-row>
<ion-col size-md="3">Username</ion-col>
<ion-col size-md="9">{{signup_username}}</ion-col>
</ion-row>
</ion-grid>
<ion-label class="or">Enter Confirmation Received In Email</ion-label>
<ion-item lines="none">
<ion-icon slot="start" name="pin-outline"></ion-icon>
<ion-input type="text" (ionChange)="signupVerify()" placeholder="Random text" maxlength="8" [(ngModel)]='random_text'></ion-input>
</ion-item>
<ion-item lines="none">
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
<ion-input type="password" (ionChange)="signupVerify()" placeholder="Password" maxlength="15" [(ngModel)]='signup_password'></ion-input>
</ion-item>
<!-- <ion-item lines="none">-->
<!-- <ion-icon slot="start" name="mail-outline"></ion-icon>-->
<!-- <ion-input (ionChange)="refreshBut()" type="email" placeholder="Email" [(ngModel)]='username'></ion-input>-->
<!-- </ion-item>-->
<!-- <ion-item lines="none">-->
<!-- <ion-icon slot="start" name="lock-closed-outline"></ion-icon>-->
<!-- <ion-input (ionChange)="refreshBut()" type="password" placeholder="Password" [(ngModel)]='password'></ion-input>-->
<!-- </ion-item>-->
<ion-button shape="round" expand="block" color="danger"
(click)="onCompleteProfile()"
[disabled]="isPendingDisabled"
>
Complete Signup
</ion-button>
</div>
<div class="bottom pending-buttom">
<ion-label class="last_lbl">Have an account? <span (click)="onReturnToLogin()">Login</span></ion-label>
</div>
</div>
</div>
</div>
</div>
</ion-content>
+3
View File
@@ -3,6 +3,9 @@ ion-content {
margin-bottom: 20px;
}
.pending-buttom{
padding-top: 25px;
}
.simp_lbl {
margin-top: 20px;
font-size: 30px;
+89 -2
View File
@@ -27,6 +27,11 @@ import { GoogleAuth, User } from '@codetrix-studio/capacitor-google-auth';
export class LoginPage implements OnInit {
@ViewChild('username') username;
@ViewChild('password') password;
// @ViewChild('signup_username') signup_username;
@ViewChild('random_text') random_text;
@ViewChild('signup_password') signup_password;
loginResult: any;
blogResult:any;
showSocial:boolean = true;
@@ -36,6 +41,11 @@ export class LoginPage implements OnInit {
ios: boolean;
android: boolean;
isDisabled:boolean=true;
isPendingDisabled:boolean=true;
loginType:string='normal';
pending_uid:string='';
signup_country:string='';
signup_username:string='';
constructor(
private router: Router,
@@ -125,7 +135,17 @@ getBlogData(){
this.router.navigate(['tabs/tab1']);
}
else{
this.showAlert("Error","Invalid username/password");
//debugger;
if (loginResult != null && loginResult.pending_uid != undefined){
this.loginType='pending';
this.pending_uid = loginResult.pending_uid;
this.signup_username = loginResult.username;
this.signup_country = loginResult.country;
}
else{
this.showAlert("Error","Invalid username/password");
}
// this.showAlert("Error","Invalid username/password");
}
}
);
@@ -143,6 +163,66 @@ getBlogData(){
this.router.navigate(['startscan']);
}
//*************************************************
// Start Pending Account set up
//*************************************************
completeSignupData: {
action:11010,
username: string,
random_text: string,
password: string,
pending_uid:string,
mobile: string,
sessionid: string
};
signUpResult:any;
onCompleteProfile(){
this.completeSignupData = {
action:11010,
username: this.signup_username,
random_text: this.random_text,
password: this.signup_password,
pending_uid: this.pending_uid,
mobile: "MOBILE",
sessionid: "ABOUT-TO_START"
};
console.log("COMPLETE SIGNUP ",this.completeSignupData);
this.wrenchService.completeMobileSignup(this.completeSignupData).subscribe(
signUpResult => {
this.signUpResult = signUpResult;
if (signUpResult != null && signUpResult.internal_return == 100 && this.sessionDataProviderService.ConstructGlobalSessionData(this.signUpResult) == true) {
// this.getBlogData();
this.router.navigate(['tabs/tab1']);
}
else{
this.showAlert("Sign up error","Unable to complete the sign up, please try again");
}
}
);
}
//*************************************************
// End Pending Account set up
//*************************************************
onReturnToLogin(){
this.loginType='normal';
}
signupVerify(){
this.isPendingDisabled = true;
if (
this.signup_username != undefined
&& this.signup_password !=undefined
&& this.random_text != undefined
&& String(this.signup_password).length > 7
&& String(this.signup_password).length < 15
&& String(this.random_text).length > 3
&& String(this.random_text).length < 10
){
this.isPendingDisabled = false;
}
}
onLoginGoogle() {
GoogleAuth.signIn().then((user: User) => {
//const credential = auth.GoogleAuthProvider.credential(user.authentication.idToken);
@@ -177,7 +257,14 @@ getBlogData(){
this.router.navigate(['tabs/tab1']);
}
else{
this.showAlert("Error","Invalid username/password");
this.showAlert("Error","Invalid username/password");
// debugger;
// if (loginResult != null && loginResult.pending_uid != undefined){
// this.loginType='pending';
// }
// else{
// this.showAlert("Error","Invalid username/password");
// }
}
}
);
+2 -2
View File
@@ -97,12 +97,12 @@
<ion-label class="or">Enter Confirmation Received In Email</ion-label>
<ion-item lines="none">
<ion-icon slot="start" name="mail-outline"></ion-icon>
<ion-input type="username" placeholder="Random text" [(ngModel)]='random_text'></ion-input>
<ion-input type="username" placeholder="Random text" maxlength="8" [(ngModel)]='random_text'></ion-input>
</ion-item>
<ion-item lines="none">
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
<ion-input type="password" placeholder="Password" [(ngModel)]='password'></ion-input>
<ion-input type="password" placeholder="Password" maxlength="15" [(ngModel)]='password'></ion-input>
</ion-item>
<ion-button expand="block" (click)="onCompleteProfile()">
Complete signup
+1 -4
View File
@@ -176,14 +176,11 @@ export class RegisterPage implements OnInit {
this.router.navigate(['tabs/tab1']);
}
else{
alert("SOME FAILURE");
this.showAlert("Sign up error","Unable to complete the sign up, please try again");
}
}
);
//
// alert(100);
}
showAlert(mtitle: string, amessage: string) {
/* let alert = this.alertCtrl.create({