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> |
<ion-content> | <ion-content> | ||
<div class="cart_wrapper" *ngIf="data"> | <div class="cart_wrapper" *ngIf="data"> | ||
<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> | |||
<button class="nav_btn floatRight"> | |||
</button> | |||
<div class="clear"></div> | |||
</div> | |||
<img src="../assets/white_tick.png"> | |||
<h4>ORDER IS PLACED</h4> | |||
<p>{{ data.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</p> | |||
</div> | </div> | ||
<div class="order_status"> | <button class="nav_btn floatRight"></button> | ||
<div class="clear"></div> | |||
<div class="clear"></div> | </div> | ||
<div class="status_div go_green"> | <img src="../assets/white_tick.png" /> | ||
<h4>Order Placed</h4> | <h4>ORDER IS PLACED</h4> | ||
<h6>{{ data.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</h6> | <p>{{ data.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</p> | ||
</div> | </div> | ||
<!-- <div class="status_gap go_green"> | <div class="order_status"> | ||
<div class="clear"></div> | |||
<div class="status_div go_green"> | |||
<h4>Order Placed</h4> | |||
<h6>{{ data.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</h6> | |||
</div> | |||
<!-- <div class="status_gap go_green"> | |||
</div> | </div> | ||
<div class="status_div go_green"> | <div class="status_div go_green"> | ||
<h4>Retailer Accepted</h4> | <h4>Retailer Accepted</h4> | ||
... | @@ -56,41 +54,56 @@ | ... | @@ -56,41 +54,56 @@ |
<div class="status_div"> | <div class="status_div"> | ||
<h4>Your product is delivered</h4> | <h4>Your product is delivered</h4> | ||
</div> --> | </div> --> | ||
</div> | </div> | ||
<div class="nearby_shop_list"> | <div class="nearby_shop_list"> | ||
<ul> | <ul> | ||
<li (click)="goToPage('productlist')"> | <li (click)="goToPage('productlist')"> | ||
<div class="nearby_image"> | <div class="nearby_image"> | ||
<img src="../assets/[email protected]"> | <img | ||
</div> | [src]="data.product[0].image" | ||
<div class="nearby_detail"> | onerror="this.src='../assets/[email protected]'" | ||
<h5> | /> | ||
<span class="floatLeft">{{data.shopperName}}</span> | </div> | ||
<span class="floatRight">0 | <div class="nearby_detail"> | ||
<img src="../assets/Path61_2.png"> | |||
</span> | |||
<div class="clear"></div> | |||
</h5> | |||
<p>Men's & Women's Fashion</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> | |||
<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}} | <span class="floatLeft">{{data.shopperName}}</span> | ||
<span class="floatRight" | |||
>{{data.product[0].qty}} | |||
<img src="../assets/Path61_2.png" /> | |||
</span> | |||
<div class="clear"></div> | |||
</h5> | </h5> | ||
<button class="cancel_btn" (click)="goToPage('ordercancelled')">CANCEL THIS ORDER</button> | <p class="prodName">{{data.product[0].prodName}}</p> | ||
<hr> | </div> | ||
</div> | <div class="clear"></div> | ||
</li> | |||
</ul> | |||
</div> | |||
<div class="product_detail" *ngFor="let product of data.product"> | |||
<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>{{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"> | <!-- <div class="related_product_slider"> | ||
<h5> | <h5> | ||
<span class="floatLeft">Related Products</span><span class="floatRight">MORE</span> | <span class="floatLeft">Related Products</span><span class="floatRight">MORE</span> | ||
<div class="clear"></div> | <div class="clear"></div> | ||
... | @@ -145,5 +158,5 @@ | ... | @@ -145,5 +158,5 @@ |
</ion-slides> | </ion-slides> | ||
</ul> | </ul> | ||
</div> --> | </div> --> | ||
</div> | </div> | ||
</ion-content> | </ion-content> | ||
\ No newline at end of file |
.cart_wrapper { | .cart_wrapper { | ||
width: 100%; | |||
.cart_head { | |||
width: 100%; | width: 100%; | ||
.cart_head { | height: 240px; | ||
width: 100%; | text-align: center; | ||
height: 240px; | background-image: url('../../assets/[email protected]'); | ||
text-align: center; | background-position: center bottom; | ||
background-image: url("../../assets/[email protected]"); | background-repeat: no-repeat; | ||
background-position: center bottom; | background-size: cover; | ||
background-repeat: no-repeat; | .nav_header { | ||
background-size: cover; | position: static; | ||
.nav_header { | background-color: transparent; | ||
position: static; | .nav_title { | ||
background-color: transparent; | |||
.nav_title { | |||
h4 { | |||
color: #FFF; | |||
} | |||
} | |||
} | |||
img { | |||
width: 70px; | |||
} | |||
h4 { | h4 { | ||
color: #fff; | color: #fff; | ||
font-weight: bolder; | |||
margin-bottom: 5px; | |||
text-align: center; | |||
} | |||
p { | |||
color: rgba(215, 213, 228, 1); | |||
margin: 0px; | |||
padding: 0px; | |||
font-size: 14px; | |||
text-align: center; | |||
} | } | ||
} | |||
} | } | ||
.order_status { | img { | ||
width: 100%; | width: 70px; | ||
padding: 20px; | |||
.track_btn { | |||
border-radius: 5px; | |||
height: 40px; | |||
background-color: #29285b; | |||
color: #FFF; | |||
font-size: 18px; | |||
font-weight: lighter; | |||
padding-left: 20px; | |||
padding-right: 20px; | |||
} | |||
.status_div { | |||
margin-bottom: 10px; | |||
margin-top: 10px; | |||
h4 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(215, 213, 228, 1); | |||
} | |||
h6 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(215, 213, 228, 1); | |||
} | |||
} | |||
.go_green { | |||
h4 { | |||
color: rgba(53, 203, 171, 1); | |||
} | |||
} | |||
.go_green.status_gap { | |||
border-left: 2px dashed rgba(53, 203, 171, 1); | |||
} | |||
.status_gap { | |||
border-left: 2px dashed rgba(215, 213, 228, 1); | |||
height: 30px; | |||
} | |||
} | } | ||
.nearby_shop_list { | h4 { | ||
ul { | color: #fff; | ||
margin: 0px; | font-weight: bolder; | ||
padding-left: 10px; | margin-bottom: 5px; | ||
padding-right: 10px; | text-align: center; | ||
li { | |||
list-style: none; | |||
padding-bottom: 10px; | |||
.nearby_image { | |||
width: 120px; | |||
height: 120px; | |||
float: left; | |||
background-color: #a8a8a8; | |||
border-radius: 8px; | |||
img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
object-position: center; | |||
} | |||
} | |||
.nearby_detail { | |||
width: calc(100% - 120px); | |||
float: left; | |||
padding-left: 20px; | |||
padding-top: 40px; | |||
h5 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(59, 57, 77, 1); | |||
font-weight: 900; | |||
padding-bottom: 2px; | |||
img { | |||
width: 16px; | |||
} | |||
} | |||
p { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(176, 174, 199); | |||
} | |||
} | |||
} | |||
} | |||
} | } | ||
.product_detail { | p { | ||
padding: 10px; | color: rgba(215, 213, 228, 1); | ||
hr { | margin: 0px; | ||
border-bottom: 1px solid rgba(176, 174, 199); | padding: 0px; | ||
height: 0px; | font-size: 14px; | ||
border-top: none; | text-align: center; | ||
} | } | ||
h6 { | } | ||
margin: 0px; | .order_status { | ||
padding: 0px; | width: 100%; | ||
color: #29285b; | padding: 20px; | ||
font-size: 18px; | .track_btn { | ||
padding-bottom: 15px; | border-radius: 5px; | ||
height: 40px; | |||
background-color: #29285b; | |||
color: #fff; | |||
font-size: 18px; | |||
font-weight: lighter; | |||
padding-left: 20px; | |||
padding-right: 20px; | |||
} | |||
.status_div { | |||
margin-bottom: 10px; | |||
margin-top: 10px; | |||
h4 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(215, 213, 228, 1); | |||
} | |||
h6 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(215, 213, 228, 1); | |||
} | |||
} | |||
.go_green { | |||
h4 { | |||
color: rgba(53, 203, 171, 1); | |||
} | |||
} | |||
.go_green.status_gap { | |||
border-left: 2px dashed rgba(53, 203, 171, 1); | |||
} | |||
.status_gap { | |||
border-left: 2px dashed rgba(215, 213, 228, 1); | |||
height: 30px; | |||
} | |||
} | |||
.nearby_shop_list { | |||
ul { | |||
margin: 0px; | |||
padding-left: 10px; | |||
padding-right: 10px; | |||
li { | |||
list-style: none; | |||
padding-bottom: 10px; | |||
.nearby_image { | |||
width: 120px; | |||
height: 120px; | |||
float: left; | |||
background-color: #a8a8a8; | |||
border-radius: 8px; | |||
img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
object-position: center; | |||
} | |||
} | } | ||
h5 { | .nearby_detail { | ||
width: calc(100% - 120px); | |||
float: left; | |||
padding-left: 20px; | |||
padding-top: 40px; | |||
h5 { | |||
margin: 0px; | margin: 0px; | ||
padding: 0px; | padding: 0px; | ||
color: rgba(176, 174, 199, 1); | color: rgba(59, 57, 77, 1); | ||
font-size: 18px; | font-weight: 900; | ||
line-height: 25px; | padding-bottom: 2px; | ||
padding-bottom: 15px; | img { | ||
strong { | width: 16px; | ||
color: rgba(41, 40, 91, 1); | |||
} | |||
span { | |||
color: rgba(41, 40, 91, 1); | |||
} | |||
.afterpay { | |||
color: rgba(206, 153, 76, 1); | |||
padding-left: 10px; | |||
} | } | ||
} | } | ||
h4 { | p { | ||
color: rgba(41, 40, 91, 1); | |||
margin: 0px; | margin: 0px; | ||
font-weight: 900; | padding: 0px; | ||
font-size: 18px; | color: rgba(176, 174, 199); | ||
padding-top: 20px; | } | ||
padding-bottom: 10px; | |||
} | } | ||
.cancel_btn { | } | ||
border-radius: 8px; | } | ||
height: 45px; | } | ||
.product_detail { | |||
padding: 10px; | |||
hr { | |||
border-bottom: 1px solid rgba(176, 174, 199); | |||
height: 0px; | |||
border-top: none; | |||
} | |||
h6 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: #29285b; | |||
font-size: 18px; | |||
padding-bottom: 15px; | |||
} | |||
h5 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(176, 174, 199, 1); | |||
font-size: 18px; | |||
line-height: 25px; | |||
padding-bottom: 15px; | |||
strong { | |||
color: rgba(41, 40, 91, 1); | |||
} | |||
span { | |||
color: rgba(41, 40, 91, 1); | |||
} | |||
.afterpay { | |||
color: rgba(206, 153, 76, 1); | |||
padding-left: 10px; | |||
} | |||
} | |||
h4 { | |||
color: rgba(41, 40, 91, 1); | |||
margin: 0px; | |||
font-weight: 900; | |||
font-size: 18px; | |||
padding-top: 20px; | |||
padding-bottom: 10px; | |||
} | |||
.cancel_btn { | |||
border-radius: 8px; | |||
height: 45px; | |||
width: 100%; | |||
background-color: #29285b; | |||
color: #fff; | |||
font-size: 18px; | |||
font-weight: lighter; | |||
padding-left: 20px; | |||
padding-right: 20px; | |||
margin-bottom: 20px; | |||
margin-top: 20px; | |||
} | |||
} | |||
.related_product_slider { | |||
h5 { | |||
color: rgba(41, 40, 91, 1); | |||
margin: 0px; | |||
padding: 10px; | |||
font-weight: 900; | |||
font-size: 18px; | |||
} | |||
p { | |||
color: rgba(59, 57, 77, 1); | |||
padding: 10px; | |||
text-align: justify; | |||
margin: 0px; | |||
font-size: 18px; | |||
} | |||
ul { | |||
padding: 10px; | |||
padding-bottom: 0px; | |||
padding-top: 0px; | |||
margin: 0px; | |||
li { | |||
width: 100%; | |||
display: inline-block; | |||
border-top: none; | |||
border-bottom: none; | |||
margin-bottom: 10px; | |||
.product_image { | |||
height: 235px; | |||
position: relative; | |||
.featured_badge { | |||
position: absolute; | |||
top: 20px; | |||
left: 0px; | |||
color: #fff; | |||
background-color: rgba(41, 40, 91, 1); | |||
padding: 2px; | |||
padding-left: 10px; | |||
padding-right: 10px; | |||
font-size: 13px; | |||
} | |||
.fav_icon { | |||
position: absolute; | |||
top: 10px; | |||
right: 10px; | |||
font-size: 27px; | |||
width: 30px; | |||
height: 30px; | |||
background-image: url('../../assets/Group32_2.png'); | |||
background-position: center; | |||
background-repeat: no-repeat; | |||
background-size: 24px; | |||
} | |||
img { | |||
width: 100%; | width: 100%; | ||
background-color: #29285b; | height: 100%; | ||
color: #FFF; | object-fit: cover; | ||
font-size: 18px; | object-position: center; | ||
font-weight: lighter; | } | ||
padding-left: 20px; | |||
padding-right: 20px; | |||
margin-bottom: 20px; | |||
margin-top: 20px; | |||
} | } | ||
} | |||
.related_product_slider { | |||
h5 { | h5 { | ||
color: rgba(41, 40, 91, 1); | margin: 0px; | ||
margin: 0px; | padding: 0px; | ||
padding: 10px; | color: rgba(59, 57, 77, 1); | ||
font-weight: 900; | padding-top: 5px; | ||
font-size: 18px; | padding-bottom: 5px; | ||
font-weight: 500; | |||
text-align: left; | |||
font-size: 16px; | |||
white-space: nowrap; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
} | } | ||
p { | p { | ||
color: rgba(59, 57, 77, 1); | margin: 0px; | ||
padding: 10px; | padding: 0px; | ||
text-align: justify; | color: rgba(176, 174, 199, 1); | ||
margin: 0px; | font-size: 12px; | ||
font-size: 18px; | text-align: left; | ||
} | span { | ||
ul { | text-decoration: line-through; | ||
padding: 10px; | margin-left: 10px; | ||
padding-bottom: 0px; | color: rgba(215, 213, 228, 1); | ||
padding-top: 0px; | } | ||
margin: 0px; | .offer { | ||
li { | color: #fff; | ||
width: 100%; | background-color: rgba(41, 40, 91, 1); | ||
display: inline-block; | border-radius: 4px; | ||
border-top: none; | text-decoration: none; | ||
border-bottom: none; | padding: 3px; | ||
margin-bottom: 10px; | font-size: 13px; | ||
.product_image { | } | ||
height: 235px; | |||
position: relative; | |||
.featured_badge { | |||
position: absolute; | |||
top: 20px; | |||
left: 0px; | |||
color: #fff; | |||
background-color: rgba(41, 40, 91, 1); | |||
padding: 2px; | |||
padding-left: 10px; | |||
padding-right: 10px; | |||
font-size: 13px; | |||
} | |||
.fav_icon { | |||
position: absolute; | |||
top: 10px; | |||
right: 10px; | |||
font-size: 27px; | |||
width: 30px; | |||
height: 30px; | |||
background-image: url("../../assets/Group32_2.png"); | |||
background-position: center; | |||
background-repeat: no-repeat; | |||
background-size: 24px; | |||
} | |||
img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
object-position: center; | |||
} | |||
} | |||
h5 { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(59, 57, 77, 1); | |||
padding-top: 5px; | |||
padding-bottom: 5px; | |||
font-weight: 500; | |||
text-align: left; | |||
font-size: 16px; | |||
white-space: nowrap; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
} | |||
p { | |||
margin: 0px; | |||
padding: 0px; | |||
color: rgba(176, 174, 199, 1); | |||
font-size: 12px; | |||
text-align: left; | |||
span { | |||
text-decoration: line-through; | |||
margin-left: 10px; | |||
color: rgba(215, 213, 228, 1) | |||
} | |||
.offer { | |||
color: #fff; | |||
background-color: rgba(41, 40, 91, 1); | |||
border-radius: 4px; | |||
text-decoration: none; | |||
padding: 3px; | |||
font-size: 13px; | |||
} | |||
} | |||
} | |||
} | } | ||
} | |||
} | } | ||
} | } | ||
\ No newline at end of file | } | ||
.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, | ||
... | @@ -26,84 +26,115 @@ export class AuthService { | ... | @@ -26,84 +26,115 @@ export class AuthService { |
private subjectService: SubjectService, | private subjectService: SubjectService, | ||
private googlePlus: GooglePlus | private googlePlus: GooglePlus | ||
) { | ) { | ||
this.type = 1; | this.type = 1; | ||
this.afAuth.authState.subscribe(user => { | this.afAuth.authState.subscribe(user => { | ||
if (user) { | if (user) { | ||
this.subjectService.sendLoginData(false); | this.subjectService.sendLoginData(false); | ||
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)); | ||
if (this.type === 1) { | this.SetUserData(user); | ||
this.router.navigateByUrl('home'); | if (this.type === 1) { | ||
} else { | this.router.navigateByUrl('home'); | ||
this.router.navigateByUrl('verification'); | |||
} | |||
} else { | } else { | ||
this.subjectService.sendLoginData(true); | this.router.navigateByUrl('verification'); | ||
this.service.set('user', null); | |||
JSON.parse(localStorage.getItem('user')); | |||
this.router.navigateByUrl('login'); | |||
} | } | ||
}); | } else { | ||
this.subjectService.sendLoginData(true); | |||
this.service.set('user', null); | |||
JSON.parse(localStorage.getItem('user')); | |||
this.router.navigateByUrl('login'); | |||
} | |||
}); | |||
} | } | ||
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 | ||
console.log('success'); | .signInWithEmailAndPassword(email, password) | ||
document.body.scrollTop = document.documentElement.scrollTop = 0; | .then(result => { | ||
this.SetUserData(result.user); | console.log('success'); | ||
}).catch((error) => { | document.body.scrollTop = document.documentElement.scrollTop = 0; | ||
window.alert(error.message); | this.SetUserData(result.user); | ||
}); | }) | ||
.catch(error => { | |||
window.alert(error.message); | |||
}); | |||
} | } | ||
public async verify(otp: string) { | public async verify(otp: string) { | ||
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 | ||
if (value.length > 0) { | .valueChanges() | ||
this.afs.collection('customers').doc(this.userData.uid).update({otp: ''}); | .pipe(take(1)) | ||
this.service.set('type', 1); | .subscribe((value: User[]) => { | ||
this.router.navigateByUrl('nearby'); | if (value.length > 0) { | ||
} else { | this.afs | ||
window.alert('Please input valid OTP'); | .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) { | 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 | ||
console.log('success'); | .signInWithPopup(new auth.GoogleAuthProvider()) | ||
console.log(result); | .then(result => { | ||
this.socialSignUp(result); | console.log('success'); | ||
}); | console.log(result.additionalUserInfo.isNewUser); | ||
if ( | |||
result.additionalUserInfo && | |||
result.additionalUserInfo.isNewUser === true | |||
) { | |||
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 | ||
console.log('success'); | .signInWithPopup(new auth.FacebookAuthProvider()) | ||
console.log(result); | .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) { | 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, | ||
... | @@ -116,8 +147,10 @@ export class AuthService { | ... | @@ -116,8 +147,10 @@ export class AuthService { |
currency: value.currency, | currency: value.currency, | ||
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); | |||
}); | }); | ||
} | } | ||
... | @@ -139,7 +172,7 @@ export class AuthService { | ... | @@ -139,7 +172,7 @@ export class AuthService { |
}; | }; | ||
const otp = Math.floor(1000 + Math.random() * 9000); | const otp = Math.floor(1000 + Math.random() * 9000); | ||
userData = userData.user; | userData = userData.user; | ||
const postData: User = { | const postData: User = { | ||
uid: userData.uid, | uid: userData.uid, | ||
status: true, | status: true, | ||
profilePhoto: userData.photoURL, | profilePhoto: userData.photoURL, | ||
... | @@ -154,91 +187,104 @@ export class AuthService { | ... | @@ -154,91 +187,104 @@ 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 | ||
console.log('successs'); | .collection('customers') | ||
}); | .doc(userData.uid) | ||
.set(postData) | |||
.then(() => { | |||
console.log('successs'); | |||
}); | |||
} | } | ||
signup(userData: Signup) { | signup(userData: Signup) { | ||
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 | ||
console.log(result.user); | .createUserWithEmailAndPassword(userData.emailId, userData.password) | ||
this.afAuth.auth.currentUser.sendEmailVerification(); | .then(result => { | ||
const currencyData = { | console.log(result.user); | ||
currId: '123', | this.afAuth.auth.currentUser.sendEmailVerification(); | ||
currName: 'Australian dollar', | const currencyData = { | ||
symbol: 'A$' | currId: '123', | ||
}; | currName: 'Australian dollar', | ||
const custData = result.user; | symbol: 'A$' | ||
const postData: User = { | }; | ||
uid: custData.uid, | const custData = result.user; | ||
status: true, | const postData: User = { | ||
profilePhoto: '', | uid: custData.uid, | ||
phoneVerified: false, | status: true, | ||
phone: userData.phone, | profilePhoto: '', | ||
name: userData.name, | phoneVerified: false, | ||
emailVerified: false, | phone: userData.phone, | ||
emailId: userData.emailId, | name: userData.name, | ||
currency: currencyData, | emailVerified: false, | ||
otp: otp.toString(), | emailId: userData.emailId, | ||
loginType: 0 | currency: currencyData, | ||
}; | otp: otp.toString(), | ||
this.userPostData = postData; | loginType: 0 | ||
console.log(postData); | }; | ||
this.afs.collection('customers').doc(custData.uid).set(postData).then(() => { | this.userPostData = postData; | ||
console.log('successs'); | console.log(postData); | ||
this.afs | |||
.collection('customers') | |||
.doc(custData.uid) | |||
.set(postData) | |||
.then(() => { | |||
console.log('successs'); | |||
}); | |||
}) | |||
.catch(error => { | |||
window.alert(error.message); | |||
}); | }); | ||
}).catch((error) => { | |||
window.alert(error.message); | |||
}); | |||
} | } | ||
createAddress(addressData: Address) { | createAddress(addressData: Address) { | ||
console.log(addressData); | console.log(addressData); | ||
console.log(this.userData.uid); | console.log(this.userData.uid); | ||
this.afs.collection('address').add({ | this.afs | ||
uid: this.userData.uid | .collection('address') | ||
}).then((docRef) => { | .add({ | ||
console.log(docRef); | uid: this.userData.uid | ||
const addrData = { | }) | ||
uid: this.userData.uid, | .then(docRef => { | ||
addressType: addressData.addressType, | console.log(docRef); | ||
area: addressData.area, | const addrData = { | ||
city: addressData.city, | uid: this.userData.uid, | ||
country: addressData.country, | addressType: addressData.addressType, | ||
district: addressData.district, | area: addressData.area, | ||
firstAddress: addressData.firstAddress, | city: addressData.city, | ||
landmark: addressData.landmark, | country: addressData.country, | ||
zip: addressData.zip, | district: addressData.district, | ||
secondAddress: addressData.secondAddress, | firstAddress: addressData.firstAddress, | ||
state: addressData.state, | landmark: addressData.landmark, | ||
addrId: docRef.id, | zip: addressData.zip, | ||
default: 1 | secondAddress: addressData.secondAddress, | ||
}; | state: addressData.state, | ||
const neworderId = docRef.id; | addrId: docRef.id, | ||
console.log(addrData); | default: 1 | ||
this.afs.collection('address').doc(neworderId).set(addrData).then(() => { | }; | ||
console.log('Address add Successfully'); | const neworderId = docRef.id; | ||
this.service.set('user', JSON.stringify(this.userData)); | console.log(addrData); | ||
this.router.navigateByUrl('home'); | this.afs | ||
document.body.scrollTop = document.documentElement.scrollTop = 0; | .collection('address') | ||
.doc(neworderId) | |||
.set(addrData) | |||
.then(() => { | |||
console.log('Address add Successfully'); | |||
this.service.set('user', JSON.stringify(this.userData)); | |||
this.router.navigateByUrl('home'); | |||
document.body.scrollTop = document.documentElement.scrollTop = 0; | |||
}); | |||
}); | }); | ||
}); | |||
return false; | return false; | ||
} | } | ||
} | } | ||
/*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