end user mobile-forgot mail
This commit is contained in:
parent
08a9fe2bce
commit
d93f5e5d90
@ -42,7 +42,13 @@ export class AssignServiceComponent implements OnInit {
|
||||
|
||||
submit(){
|
||||
console.log(this.form.value)
|
||||
let user_id = localStorage.getItem('user_id')
|
||||
// let user_role = localStorage.getItem('user_role');
|
||||
// let user_id
|
||||
// if(user_role == 'FRONTDESK'){
|
||||
// user_id =
|
||||
// }else{
|
||||
let user_id = localStorage.getItem('user_id')
|
||||
// }
|
||||
let details:any = {
|
||||
durationNew: this.form.value.duration,
|
||||
fees:this.form.value.fees,
|
||||
|
||||
@ -142,6 +142,7 @@ backRoute(param){
|
||||
|
||||
redirectToSetting(practitiionerDetails){
|
||||
console.log(practitiionerDetails)
|
||||
localStorage.setItem('user_id',practitiionerDetails.id)
|
||||
this.frontDeskPractdetails = practitiionerDetails
|
||||
this.frontDeskHidden = 0
|
||||
this.getUsersList()
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</mat-toolbar>
|
||||
|
||||
<div fxLayout="row wrap" fxLayoutAlign="center center" *ngIf="summary==false">
|
||||
<div class="column" fxFlex.xs="60" fxFlex.sm="60" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" >
|
||||
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" >
|
||||
<mat-card class="p-2 radius1 ">
|
||||
<div id="success-frame" class="col-12 border my-auto frame-container" *ngIf="summary==false" >
|
||||
<div style=" text-align: center;">
|
||||
@ -51,10 +51,11 @@
|
||||
</div>
|
||||
|
||||
<div *ngIf="summary==true">
|
||||
<ng-scrollbar class="scrollHV">
|
||||
<div fxLayout="row wrap" fxLayoutAlign="center center">
|
||||
<div class="column" fxFlex.xs="60" fxFlex.sm="60" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" fxLayoutAlign="center center">
|
||||
<div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" fxLayoutAlign="center center">
|
||||
|
||||
<mat-card class="p-2 radius">
|
||||
|
||||
<div id="table">
|
||||
<div style="text-align: center;"><img class="imgLogo" [src]="image_view(logo)" /></div>
|
||||
<h6 style="margin-top: 3px;text-align: center;">{{busName}}</h6>
|
||||
@ -137,8 +138,9 @@
|
||||
<button mat-raised-button (click)="addCalendarEvent()">Add To Google Calander</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</mat-card>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ng-scrollbar>
|
||||
</div>
|
||||
@ -50,4 +50,8 @@ mat-toolbar{
|
||||
}
|
||||
.mat-toolbar-single-row {
|
||||
display: block !important;
|
||||
}
|
||||
}
|
||||
|
||||
.scrollHV {
|
||||
height: calc(100vh - 110px);
|
||||
}
|
||||
@ -22,14 +22,14 @@
|
||||
|
||||
|
||||
<div fxLayout="row wrap">
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%">
|
||||
<input matInput placeholder="Name" type="text" name="cusName" formControlName="cusName" required>
|
||||
<mat-error *ngIf="myError('cusName', 'required')">Name is required</mat-error>
|
||||
<mat-error *ngIf="myError('cusName', 'maxlength')">Limit exceed</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%">
|
||||
<input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required>
|
||||
<mat-error *ngIf="!form.get('email')?.errors?.required && (form.get('email')?.errors?.pattern)">
|
||||
@ -41,10 +41,10 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
|
||||
<div [ngSwitch]="otpData">
|
||||
<div fxLayout="row">
|
||||
<div fxFlex.xs="70" fxFlex.sm="70" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 70%">
|
||||
<input matInput type="text" appMobileNumberPattern maxlength="10" minlength="10" placeholder="Phone No" name="phone" formControlName="phoneNo" [readonly]="noChangeNo == '1'" required>
|
||||
<mat-error *ngIf="myError('phoneNo', 'required')">Contact No is required</mat-error>
|
||||
@ -53,7 +53,7 @@
|
||||
<mat-error *ngIf="myError('phoneNo', 'maxlength')">Limit exceed</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="30" fxFlex.sm="30" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" fxLayoutAlign="center center">
|
||||
<div *ngIf="verifyOTP != '1'">
|
||||
<button mat-raised-button type="button" (click)="getOTP(1)" [disabled]="myError('phoneNo', 'minlength') || myError('phoneNo', 'required')" color="primary" class="mr-1 mb-1">Get OTP</button>
|
||||
</div>
|
||||
@ -80,28 +80,28 @@
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%">
|
||||
<input matInput placeholder="Address" type="text" name="address" formControlName="address_1">
|
||||
<mat-error *ngIf="myError('address_1', 'required')">Address is required</mat-error>
|
||||
<mat-error *ngIf="myError('address_1', 'maxlength')">Limit exceed</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%" class="mb-1">
|
||||
<input matInput placeholder="State" type="text" name="state" formControlName="state">
|
||||
<mat-error *ngIf="myError('state', 'required')">State is required</mat-error>
|
||||
<mat-error *ngIf="myError('state', 'maxlength')">Limit exceed</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%" class="mb-1">
|
||||
<input matInput placeholder="City" type="text" name="city" formControlName="city">
|
||||
<mat-error *ngIf="myError('city', 'required')">City is required</mat-error>
|
||||
<mat-error *ngIf="myError('city', 'maxlength')">Limit exceed</mat-error>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
|
||||
<mat-form-field style="width: 80%" class="mb-1">
|
||||
<input matInput placeholder="Pincode" type="text" name="pincode" formControlName="pincode">
|
||||
<mat-error *ngIf="myError('pincode', 'required')">City is required</mat-error>
|
||||
@ -111,7 +111,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="border: 1px solid #ccc;" fxFlex.md="1"></div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
|
||||
<div class="card-mat">
|
||||
<!-- <p class="param"><img src="assets/images/Location.svg" alt="Avatar" class="img">Business </p>
|
||||
<span class="span-text">{{busName}}</span> -->
|
||||
|
||||
@ -106,7 +106,7 @@ mat-toolbar{
|
||||
font-size: 16px;
|
||||
}
|
||||
.mt-1 {
|
||||
margin-top: 4rem !important;
|
||||
margin-top: 2rem !important;
|
||||
}
|
||||
.base-border:after {
|
||||
content: '';
|
||||
@ -141,4 +141,7 @@ mat-toolbar{
|
||||
font-weight: 500;
|
||||
margin-left: 2.8rem;
|
||||
color: #7a7a7a;
|
||||
}
|
||||
.scrollHV {
|
||||
height: calc(100vh - 110px);
|
||||
}
|
||||
@ -143,7 +143,7 @@ export class CustomerInfoComponent implements OnInit {
|
||||
|
||||
openOtp(event) {
|
||||
const dialogRef = this.dialog.open(OptVerifyComponent, {
|
||||
width: '30%',
|
||||
width: '40%',
|
||||
// height: '100%',
|
||||
// maxWidth: '38vw',
|
||||
// position: { right: '0' },
|
||||
|
||||
@ -29,8 +29,10 @@ export class DoctorProfileComponent implements OnInit {
|
||||
console.log(URL_AS_LIST);
|
||||
this.backRouting = URL_AS_LIST[4]
|
||||
console.log(this.backRouting)
|
||||
|
||||
this.getpractitionerList()
|
||||
console.log(URL_AS_LIST[2])
|
||||
if(URL_AS_LIST[2] != 'business'){
|
||||
this.getpractitionerList()
|
||||
}
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
@ -60,10 +60,10 @@
|
||||
<div class="container mt-1">
|
||||
<div fxLayout="row wrap" dir="ltr" fxLayoutAlign="center center">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="m-gap p-gap flx">
|
||||
|
||||
<ng-scrollbar class="scrollHV2">
|
||||
<mat-card class="card-mat">
|
||||
<div fxLayout="row wrap mt-2">
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
|
||||
<h4>Pick Appointment Time For <span style="color: #cc7424;border-bottom-color: #cc7424;">{{check(days) | date:'longDate'}} </span></h4>
|
||||
|
||||
</div>
|
||||
@ -87,8 +87,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ng-scrollbar class="scrollHV" >
|
||||
|
||||
<ng-scrollbar class="scrollHV" >
|
||||
<button *ngFor="let slot of slots;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)" ><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button>
|
||||
</ng-scrollbar>
|
||||
|
||||
@ -193,7 +192,7 @@
|
||||
</div> -->
|
||||
</div>
|
||||
<div style="border: 1px solid #ccc;" fxFlex.md="1"></div>
|
||||
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
|
||||
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
|
||||
<!-- <div class="inline">
|
||||
<p class="text-color">Teero would like to schedule an interview with you! Pick a time & date.</p>
|
||||
</div> -->
|
||||
@ -224,6 +223,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</mat-card>
|
||||
</ng-scrollbar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -293,9 +293,8 @@ footer {
|
||||
float:left;
|
||||
}
|
||||
|
||||
// .scrollHV {
|
||||
// //height: calc(100vh - 150px);
|
||||
// // zoom: 90%;
|
||||
// }
|
||||
.scrollHV2 {
|
||||
height: calc(100vh - 140px);
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,8 @@ import { catchError } from 'rxjs/operators';
|
||||
export class SessionService {
|
||||
private apiUrl = environment.apiEndpoint;
|
||||
private nameSource = new BehaviorSubject<string>('');
|
||||
public forgotEmail:BehaviorSubject<any> = new BehaviorSubject<any>([]);
|
||||
public forgotEmail_observable$ = this.forgotEmail.asObservable();
|
||||
name = this.nameSource.asObservable()
|
||||
|
||||
constructor(private _http: HttpClient) { }
|
||||
|
||||
@ -15,13 +15,20 @@ export class ForgotPasswordComponent {
|
||||
password: string;
|
||||
form: FormGroup;
|
||||
forgotTokenEmail: any;
|
||||
forgotMailDara: any;
|
||||
|
||||
constructor(private router: Router,public _ser:SessionService) { }
|
||||
constructor(private router: Router,public _ser:SessionService) {
|
||||
this._ser.forgotEmail_observable$.subscribe((res) => {
|
||||
console.log('email', res);
|
||||
this.forgotMailDara = res
|
||||
})
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.form = new FormGroup({
|
||||
email: new FormControl('',[Validators.required,Validators.email,Validators.pattern('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,63}$')]),
|
||||
});
|
||||
this.form.controls['email'].setValue(this.forgotMailDara)
|
||||
}
|
||||
|
||||
submit(){
|
||||
|
||||
@ -113,6 +113,10 @@ export class LoginComponent {
|
||||
}
|
||||
|
||||
openForgot() {
|
||||
console.log(this.loginForm.value.email)
|
||||
let forgotMail = this.loginForm.value.email
|
||||
console.log(this.loginForm.value.email)
|
||||
this._ser.forgotEmail.next(forgotMail)
|
||||
this.router.navigate(['authentication/forgot-password'])
|
||||
// this.router.navigate(['/home'])
|
||||
}
|
||||
|
||||
@ -11,14 +11,24 @@
|
||||
<form [formGroup]="form" (ngSubmit)="submit()">
|
||||
<div fxLayout="column" fxLayoutAlign="start stretch">
|
||||
<mat-form-field style="width: 100%" class="mb-1">
|
||||
<input matInput placeholder="New Password" type="password" formControlName="password" required>
|
||||
<mat-error *ngIf="myError('password', 'required')">Name is required</mat-error>
|
||||
<mat-error *ngIf="myError('password', 'maxlength')">Limit exceed</mat-error>
|
||||
<input matInput placeholder="New Password" type="password" formControlName="password" [type]="hide ? 'password' : 'text'" required>
|
||||
<mat-icon class="passwordIcon" matSuffix (click)="hide = !hide">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>
|
||||
<mat-error *ngIf="!form.get('password')?.errors?.required">
|
||||
Password length must be greater than or equal to 8 and password must contain one or more uppercase , lowercase , numeric and special characters
|
||||
</mat-error>
|
||||
<mat-error *ngIf="form.get('password')?.invalid && (form.get('password')?.dirty || form.get('password')?.touched) && form.get('password')?.errors?.required">
|
||||
Password is required
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field style="width: 100%" class="mb-1">
|
||||
<input matInput placeholder="Confirm Password" type="password" formControlName="password2" required>
|
||||
<mat-error *ngIf="myError('password2', 'required')">Name is required</mat-error>
|
||||
<mat-error *ngIf="myError('password2', 'maxlength')">Limit exceed</mat-error>
|
||||
<input matInput placeholder="Confirm Password" type="password" formControlName="password2" [type]="hide2 ? 'password' : 'text'" required>
|
||||
<mat-icon class="passwordIcon" matSuffix (click)="hide2 = !hide2">{{hide2 ? 'visibility_off' : 'visibility'}}</mat-icon>
|
||||
<mat-error *ngIf="!form.get('password2')?.errors?.required">
|
||||
Password length must be greater than or equal to 8 and password must contain one or more uppercase , lowercase , numeric and special characters
|
||||
</mat-error>
|
||||
<mat-error *ngIf="form.get('password2')?.invalid && (form.get('password2')?.dirty || form.get('password2')?.touched) && form.get('password2')?.errors?.required">
|
||||
Password is required
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<button class="mat-blue" type="submit" mat-raised-button>Submit</button>
|
||||
<p class="mat-text-warn mb-0"><a href="#">Forgot password?</a></p>
|
||||
|
||||
@ -12,18 +12,25 @@ import { SessionService } from 'app/session-services/session.service';
|
||||
export class ResetPasswordComponent implements OnInit {
|
||||
form: FormGroup;
|
||||
forgotApiDetails: string;
|
||||
|
||||
hide: boolean;
|
||||
hide2:boolean;
|
||||
constructor(private router: Router,public _ser:SessionService) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.hide = true;
|
||||
this.hide2 =true
|
||||
this._ser.name.subscribe(data=>{
|
||||
this.forgotApiDetails = data;
|
||||
console.log(this.forgotApiDetails)
|
||||
});
|
||||
|
||||
this.form = new FormGroup({
|
||||
password: new FormControl('',[Validators.required,Validators.maxLength(10)]),
|
||||
password2: new FormControl('',[Validators.required,Validators.maxLength(10)]),
|
||||
this.form = new FormGroup({
|
||||
password: new FormControl('', [Validators.required,Validators.pattern(
|
||||
'^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_=+-]).{8,12}$'
|
||||
)]),
|
||||
password2: new FormControl('', [Validators.required,Validators.pattern(
|
||||
'^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_=+-]).{8,12}$'
|
||||
)]),
|
||||
});
|
||||
}
|
||||
public myError = (controlName: string, errorName: string) =>{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user