end user mobile-forgot mail

This commit is contained in:
Surendiran 2023-05-15 14:52:51 +05:30
parent 08a9fe2bce
commit d93f5e5d90
15 changed files with 87 additions and 40 deletions

View File

@ -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,

View File

@ -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()

View File

@ -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>

View File

@ -50,4 +50,8 @@ mat-toolbar{
}
.mat-toolbar-single-row {
display: block !important;
}
}
.scrollHV {
height: calc(100vh - 110px);
}

View File

@ -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> -->

View File

@ -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);
}

View File

@ -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' },

View File

@ -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 {

View File

@ -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>

View File

@ -293,9 +293,8 @@ footer {
float:left;
}
// .scrollHV {
// //height: calc(100vh - 150px);
// // zoom: 90%;
// }
.scrollHV2 {
height: calc(100vh - 140px);
}

View File

@ -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) { }

View File

@ -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(){

View File

@ -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'])
}

View File

@ -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>

View File

@ -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) =>{