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