file
Showing
| ... | ... | @@ -3,12 +3,12 @@ |
| <ion-menu> | ||
| <ion-content> | ||
| <div class="side_menu_wrapper"> | ||
| <ion-menu-toggle> | ||
| <ion-menu-toggle *ngIf="userData"> | ||
| <div class="top_banner"> | ||
| <div class="top_image"></div> | ||
| <div class="top_detail"> | ||
| <h4>John Doe</h4> | ||
| <p>[email protected]</p> | ||
| <h4>{{userData.name}}</h4> | ||
| <p>{{userData.emailId}}</p> | ||
| </div> | ||
| <div class="clear"></div> | ||
| </div> | ||
| ... | ... | @@ -95,7 +95,7 @@ |
| class="icon_sec m6_icon" | ||
| [class.m6_icon_act]="sec_active6" | ||
| (click)="setActive6()" | ||
| ></div> | ||
| menuClose></div> | ||
| </li> | ||
| </ul> | ||
| </div> |
| ... | ... | @@ -3,21 +3,19 @@ |
| <div class="cart_head"> | ||
| <div class="nav_header"> | ||
| <button class="nav_btn nav_back_white floatLeft" (click)="goBack()"> | ||
| <img src="../assets/arrow_white.png"> | ||
| <img src="../assets/arrow_white.png" /> | ||
| </button> | ||
| <div class="nav_title floatLeft"> | ||
| <h4></h4> | ||
| </div> | ||
| <button class="nav_btn floatRight"> | ||
| </button> | ||
| <button class="nav_btn floatRight"></button> | ||
| <div class="clear"></div> | ||
| </div> | ||
| <img src="../assets/white_tick.png"> | ||
| <img src="../assets/white_tick.png" /> | ||
| <h4>ORDER IS PLACED</h4> | ||
| <p>{{ data.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</p> | ||
| </div> | ||
| <div class="order_status"> | ||
| <div class="clear"></div> | ||
| <div class="status_div go_green"> | ||
| <h4>Order Placed</h4> | ||
| ... | ... | @@ -61,33 +59,48 @@ |
| <ul> | ||
| <li (click)="goToPage('productlist')"> | ||
| <div class="nearby_image"> | ||
| <img src="../assets/[email protected]"> | ||
| <img | ||
| [src]="data.product[0].image" | ||
| onerror="this.src='../assets/[email protected]'" | ||
| /> | ||
| </div> | ||
| <div class="nearby_detail"> | ||
| <h5> | ||
| <span class="floatLeft">{{data.shopperName}}</span> | ||
| <span class="floatRight">0 | ||
| <img src="../assets/Path61_2.png"> | ||
| <span class="floatRight" | ||
| >{{data.product[0].qty}} | ||
| <img src="../assets/Path61_2.png" /> | ||
| </span> | ||
| <div class="clear"></div> | ||
| </h5> | ||
| <p>Men's & Women's Fashion</p> | ||
| <p class="prodName">{{data.product[0].prodName}}</p> | ||
| </div> | ||
| <div class="clear"></div> | ||
| </li> | ||
| </ul> | ||
| </div> | ||
| <div class="product_detail" *ngFor="let product of data.product"> | ||
| <h6>{{product.color}}, {{product.size}}</h6> | ||
| <h6> | ||
| <span *ngIf="product.color !== 'No-Color'">{{product.color}}, </span> | ||
| <span *ngIf="product.size !== 'Any-Size'">{{product.size}}</span> | ||
| </h6> | ||
| <h5>Quantity : <span>{{product.qty}}</span></h5> | ||
| <h5>Amount : <strong>A$ {{product.price}}</strong><span class="afterpay">COD</span></h5> | ||
| <h5>Delivery time : <span>Delivery in 1 hour</span></h5> | ||
| <h4>DELIVERY</h4> | ||
| <h5> | ||
| {{deliveryAddress}} | ||
| Amount : <strong>A$ {{product.price}}</strong | ||
| ><span class="afterpay">COD</span> | ||
| </h5> | ||
| <button class="cancel_btn" (click)="goToPage('ordercancelled')">CANCEL THIS ORDER</button> | ||
| <hr> | ||
| <h5>Delivery time : <span>{{deliveryTime}}</span></h5> | ||
| <h4>DELIVERY</h4> | ||
| <h5 *ngIf="data.deliveryAddress"> | ||
| {{data.deliveryAddress.addressType}},<br />{{data.deliveryAddress.address}}, | ||
| <br /> | ||
| {{data.deliveryAddress.building}}, <br /> | ||
| {{data.deliveryAddress.landmark}} | ||
| </h5> | ||
| <button class="cancel_btn" (click)="goToPage('ordercancelled')"> | ||
| CANCEL THIS ORDER | ||
| </button> | ||
| <hr /> | ||
| </div> | ||
| <!-- <div class="related_product_slider"> | ||
| ... | ... |
| ... | ... | @@ -4,7 +4,7 @@ |
| width: 100%; | ||
| height: 240px; | ||
| text-align: center; | ||
| background-image: url("../../assets/[email protected]"); | ||
| background-image: url('../../assets/[email protected]'); | ||
| background-position: center bottom; | ||
| background-repeat: no-repeat; | ||
| background-size: cover; | ||
| ... | ... | @@ -13,7 +13,7 @@ |
| background-color: transparent; | ||
| .nav_title { | ||
| h4 { | ||
| color: #FFF; | ||
| color: #fff; | ||
| } | ||
| } | ||
| } | ||
| ... | ... | @@ -41,7 +41,7 @@ |
| border-radius: 5px; | ||
| height: 40px; | ||
| background-color: #29285b; | ||
| color: #FFF; | ||
| color: #fff; | ||
| font-size: 18px; | ||
| font-weight: lighter; | ||
| padding-left: 20px; | ||
| ... | ... | @@ -164,7 +164,7 @@ |
| height: 45px; | ||
| width: 100%; | ||
| background-color: #29285b; | ||
| color: #FFF; | ||
| color: #fff; | ||
| font-size: 18px; | ||
| font-weight: lighter; | ||
| padding-left: 20px; | ||
| ... | ... | @@ -220,7 +220,7 @@ |
| font-size: 27px; | ||
| width: 30px; | ||
| height: 30px; | ||
| background-image: url("../../assets/Group32_2.png"); | ||
| background-image: url('../../assets/Group32_2.png'); | ||
| background-position: center; | ||
| background-repeat: no-repeat; | ||
| background-size: 24px; | ||
| ... | ... | @@ -254,7 +254,7 @@ |
| span { | ||
| text-decoration: line-through; | ||
| margin-left: 10px; | ||
| color: rgba(215, 213, 228, 1) | ||
| color: rgba(215, 213, 228, 1); | ||
| } | ||
| .offer { | ||
| color: #fff; | ||
| ... | ... | @@ -269,3 +269,10 @@ |
| } | ||
| } | ||
| } | ||
| .prodName { | ||
| white-space: nowrap; | ||
| width: 200px; | ||
| overflow: hidden; | ||
| text-overflow: ellipsis; | ||
| } |
| ... | ... | @@ -3,7 +3,11 @@ import { User, Signup, Address } from './services/user'; |
| import { auth } from 'firebase/app'; | ||
| import { Router, ActivatedRoute } from '@angular/router'; | ||
| import { AngularFireAuth } from '@angular/fire/auth'; | ||
| import { AngularFirestore, AngularFirestoreDocument, AngularFirestoreCollection } from '@angular/fire/firestore'; | ||
| import { | ||
| AngularFirestore, | ||
| AngularFirestoreDocument, | ||
| AngularFirestoreCollection | ||
| } from '@angular/fire/firestore'; | ||
| import { ServiceService } from './../config/service.service'; | ||
| import { SubjectService } from './../config/subject.service'; | ||
| import { GooglePlus } from '@ionic-native/google-plus/ngx'; | ||
| ... | ... | @@ -14,10 +18,6 @@ import { from } from 'rxjs'; |
| providedIn: 'root' | ||
| }) | ||
| export class AuthService { | ||
| userData: any; | ||
| type: number; | ||
| userPostData: any; | ||
| constructor( | ||
| public afs: AngularFirestore, | ||
| public afAuth: AngularFireAuth, | ||
| ... | ... | @@ -33,6 +33,7 @@ export class AuthService { |
| this.userData = user; | ||
| console.log(this.userData); | ||
| this.service.set('user', JSON.stringify(this.userData)); | ||
| this.SetUserData(user); | ||
| if (this.type === 1) { | ||
| this.router.navigateByUrl('home'); | ||
| } else { | ||
| ... | ... | @@ -47,12 +48,25 @@ export class AuthService { |
| }); | ||
| } | ||
| get isLoggedIn(): boolean { | ||
| const user = JSON.parse(localStorage.getItem('user')); | ||
| return user !== null && user.emailVerified !== false ? true : false; | ||
| } | ||
| userData: any; | ||
| type: number; | ||
| userPostData: any; | ||
| loggedUser: any; | ||
| public asyc; | ||
| public async SignIn(email: string, password: string) { | ||
| return this.afAuth.auth.signInWithEmailAndPassword(email, password).then((result) => { | ||
| return this.afAuth.auth | ||
| .signInWithEmailAndPassword(email, password) | ||
| .then(result => { | ||
| console.log('success'); | ||
| document.body.scrollTop = document.documentElement.scrollTop = 0; | ||
| this.SetUserData(result.user); | ||
| }).catch((error) => { | ||
| }) | ||
| .catch(error => { | ||
| window.alert(error.message); | ||
| }); | ||
| } | ||
| ... | ... | @@ -61,49 +75,66 @@ export class AuthService { |
| console.log(this.userData.uid, otp); | ||
| // tslint:disable-next-line:radix | ||
| // const otpnew = parseInt(otp); | ||
| const custRef: AngularFirestoreCollection<any> = this.afs.collection('customers', ref => ref.where('otp', '==', otp) | ||
| .where('uid', '==', this.userData.uid) | ||
| const custRef: AngularFirestoreCollection<any> = this.afs.collection( | ||
| 'customers', | ||
| ref => ref.where('otp', '==', otp).where('uid', '==', this.userData.uid) | ||
| ); | ||
| custRef.valueChanges().pipe(take(1)).subscribe((value: User[]) => { | ||
| custRef | ||
| .valueChanges() | ||
| .pipe(take(1)) | ||
| .subscribe((value: User[]) => { | ||
| if (value.length > 0) { | ||
| this.afs.collection('customers').doc(this.userData.uid).update({otp: ''}); | ||
| this.afs | ||
| .collection('customers') | ||
| .doc(this.userData.uid) | ||
| .update({ otp: '', phoneVerified: true }); | ||
| this.service.set('type', 1); | ||
| this.router.navigateByUrl('nearby'); | ||
| } else { | ||
| window.alert('Please input valid OTP'); | ||
| } | ||
| }); | ||
| } | ||
| profilePic(pic) { | ||
| this.afs | ||
| .collection('customers') | ||
| .doc(this.userData.uid) | ||
| .update({ profilePhoto: pic }); | ||
| } | ||
| public async google(type: number) { | ||
| this.type = type; | ||
| // this.googlePlus.login({}).then(res => console.log(res)).catch(err => console.error(err)); | ||
| this.afAuth.auth.signInWithPopup(new auth.GoogleAuthProvider()).then((result) => { | ||
| this.afAuth.auth | ||
| .signInWithPopup(new auth.GoogleAuthProvider()) | ||
| .then(result => { | ||
| console.log('success'); | ||
| console.log(result); | ||
| console.log(result.additionalUserInfo.isNewUser); | ||
| if ( | ||
| result.additionalUserInfo && | ||
| result.additionalUserInfo.isNewUser === true | ||
| ) { | ||
| this.socialSignUp(result); | ||
| } | ||
| }); | ||
| } | ||
| public async facebook(type: number) { | ||
| this.type = type; | ||
| this.afAuth.auth.signInWithPopup(new auth.FacebookAuthProvider()).then((result) => { | ||
| this.afAuth.auth | ||
| .signInWithPopup(new auth.FacebookAuthProvider()) | ||
| .then(result => { | ||
| console.log('success'); | ||
| console.log(result); | ||
| }); | ||
| } | ||
| get isLoggedIn(): boolean { | ||
| const user = JSON.parse(localStorage.getItem('user')); | ||
| return(user !== null && user.emailVerified !== false) ? true : false; | ||
| } | ||
| SetUserData(user: any) { | ||
| const userRef: AngularFirestoreDocument<any> = this.afs.doc(`customers/${user.uid}`); | ||
| userRef.valueChanges().subscribe((value) => { | ||
| const userRef: AngularFirestoreDocument<any> = this.afs.doc( | ||
| `customers/${user.uid}` | ||
| ); | ||
| userRef.valueChanges().subscribe(value => { | ||
| const userData: User = { | ||
| uid: value.uid, | ||
| emailId: value.emailId, | ||
| ... | ... | @@ -117,7 +148,9 @@ export class AuthService { |
| otp: value.otp, | ||
| loginType: value.loginType | ||
| }; | ||
| console.log(userData); | ||
| this.loggedUser = userData; | ||
| this.service.set('userData', JSON.stringify(this.loggedUser)); | ||
| console.log(this.loggedUser); | ||
| }); | ||
| } | ||
| ... | ... | @@ -154,7 +187,11 @@ export class AuthService { |
| }; | ||
| this.userPostData = postData; | ||
| console.log(postData); | ||
| this.afs.collection('customers').doc(userData.uid).set(postData).then(() => { | ||
| this.afs | ||
| .collection('customers') | ||
| .doc(userData.uid) | ||
| .set(postData) | ||
| .then(() => { | ||
| console.log('successs'); | ||
| }); | ||
| } | ||
| ... | ... | @@ -163,7 +200,9 @@ export class AuthService { |
| this.type = 2; | ||
| console.log(userData); | ||
| const otp = Math.floor(1000 + Math.random() * 9000); | ||
| this.afAuth.auth.createUserWithEmailAndPassword(userData.emailId, userData.password).then((result) => { | ||
| this.afAuth.auth | ||
| .createUserWithEmailAndPassword(userData.emailId, userData.password) | ||
| .then(result => { | ||
| console.log(result.user); | ||
| this.afAuth.auth.currentUser.sendEmailVerification(); | ||
| const currencyData = { | ||
| ... | ... | @@ -187,10 +226,15 @@ export class AuthService { |
| }; | ||
| this.userPostData = postData; | ||
| console.log(postData); | ||
| this.afs.collection('customers').doc(custData.uid).set(postData).then(() => { | ||
| this.afs | ||
| .collection('customers') | ||
| .doc(custData.uid) | ||
| .set(postData) | ||
| .then(() => { | ||
| console.log('successs'); | ||
| }); | ||
| }).catch((error) => { | ||
| }) | ||
| .catch(error => { | ||
| window.alert(error.message); | ||
| }); | ||
| } | ||
| ... | ... | @@ -199,9 +243,12 @@ export class AuthService { |
| console.log(addressData); | ||
| console.log(this.userData.uid); | ||
| this.afs.collection('address').add({ | ||
| this.afs | ||
| .collection('address') | ||
| .add({ | ||
| uid: this.userData.uid | ||
| }).then((docRef) => { | ||
| }) | ||
| .then(docRef => { | ||
| console.log(docRef); | ||
| const addrData = { | ||
| uid: this.userData.uid, | ||
| ... | ... | @@ -220,7 +267,11 @@ export class AuthService { |
| }; | ||
| const neworderId = docRef.id; | ||
| console.log(addrData); | ||
| this.afs.collection('address').doc(neworderId).set(addrData).then(() => { | ||
| this.afs | ||
| .collection('address') | ||
| .doc(neworderId) | ||
| .set(addrData) | ||
| .then(() => { | ||
| console.log('Address add Successfully'); | ||
| this.service.set('user', JSON.stringify(this.userData)); | ||
| this.router.navigateByUrl('home'); | ||
| ... | ... | @@ -231,14 +282,9 @@ export class AuthService { |
| } | ||
| } | ||
| /*displayName: "Adarsh Techware" | ||
| email: "[email protected]" | ||
| emailVerified: true | ||
| : "https://lh4.googleusercontent.com/-h0rs2pE-Azw/AAAAAAAAAAI/AAAAAAAAAAA/ACHi3rcjNtapRhKoG09NKifQsv_lQPC_2A/photo.jpg" | ||
| : "vT498Fz6X0Z6l5l5iNn5hxfwz692" | ||
| providerData: [Gl]*/ | ||
Please
register
or
sign in
to comment