Commit f6b936e8 by muhsin

fixed search bar issue, initial userdata issue

parent 0e941d48
......@@ -3,17 +3,14 @@
<ion-menu>
<ion-content>
<div class="side_menu_wrapper">
<<<<<<< HEAD
<ion-menu-toggle>
<div class="top_banner" (click)="goToPage('profile')">
=======
<ion-menu-toggle *ngIf="userData">
<div class="top_banner">
>>>>>>> b35f226916e6e5b4feacc30b355445f087230416
<div class="top_image"></div>
<div class="top_image">
<img [src]="userData.profilePhoto" />
</div>
<div class="top_detail">
<h4>{{userData.name}}</h4>
<p>{{userData.emailId}}</p>
<h4>{{ userData.name }}</h4>
<p>{{ userData.emailId }}</p>
</div>
<div class="clear"></div>
</div>
......@@ -62,7 +59,7 @@
</ion-split-pane>
</ion-app>
<div class="common_tab" [hidden]="fetchCase() === true">
<div class="common_tab" [hidden]="fetchCase() === true" *ngIf="!isSearchOpen">
<ul>
<li (click)="goToPage('home')">
<div
......@@ -100,7 +97,8 @@
class="icon_sec m6_icon"
[class.m6_icon_act]="sec_active6"
(click)="setActive6()"
menuClose></div>
menuClose
></div>
</li>
</ul>
</div>
......@@ -23,6 +23,8 @@ import { SearchmodalPage } from './searchmodal/searchmodal.page';
styleUrls: ['app.component.scss']
})
export class AppComponent {
isSearchOpen = false;
sec_active1 = true;
sec_active2 = false;
sec_active3 = false;
......@@ -56,7 +58,7 @@ export class AppComponent {
this.state = loginData;
});
this.service.get('userData').then(userData => {
this.subjectService.getUserData().subscribe(userData => {
if (userData) {
this.userData = JSON.parse(userData);
console.log(userData);
......@@ -109,7 +111,7 @@ export class AppComponent {
}
setActive1() {
this.sec_active1 = !this.sec_active1;
this.sec_active1 = true;
this.sec_active2 = false;
this.sec_active3 = false;
this.sec_active4 = false;
......@@ -117,7 +119,7 @@ export class AppComponent {
this.sec_active6 = false;
}
setActive2() {
this.sec_active2 = !this.sec_active2;
this.sec_active2 = true;
this.sec_active1 = false;
this.sec_active3 = false;
this.sec_active4 = false;
......@@ -125,7 +127,7 @@ export class AppComponent {
this.sec_active6 = false;
}
setActive3() {
this.sec_active3 = !this.sec_active3;
this.sec_active3 = true;
this.sec_active1 = false;
this.sec_active2 = false;
this.sec_active4 = false;
......@@ -133,7 +135,7 @@ export class AppComponent {
this.sec_active6 = false;
}
setActive4() {
this.sec_active4 = !this.sec_active4;
this.sec_active4 = true;
this.sec_active1 = false;
this.sec_active2 = false;
this.sec_active3 = false;
......@@ -141,7 +143,7 @@ export class AppComponent {
this.sec_active6 = false;
}
setActive5() {
this.sec_active5 = !this.sec_active5;
this.sec_active5 = true;
this.sec_active1 = false;
this.sec_active2 = false;
this.sec_active3 = false;
......@@ -149,7 +151,7 @@ export class AppComponent {
this.sec_active6 = false;
}
setActive6() {
this.sec_active6 = !this.sec_active6;
this.sec_active6 = true;
this.sec_active1 = false;
this.sec_active2 = false;
this.sec_active3 = false;
......@@ -199,10 +201,19 @@ export class AppComponent {
}
async searchModal() {
// Hides Bottom navbar items
this.isSearchOpen = true;
const modal = await this.modalController.create({
component: SearchmodalPage
});
modal.onDidDismiss().then(dataReturned => {});
// modal.onDidDismiss().then(dataReturned => {
//
// });
// Shows bottom navbar items on component unmount
modal.onWillDismiss().then(() => {
this.isSearchOpen = false;
});
return await modal.present();
}
}
......@@ -58,13 +58,13 @@ export class ChangedetailsPage implements OnInit {
form.value.password &&
form.value.password != form.value.confirmPassword
) {
this.register.updatePassword(form.value.password);
// this.register.updatePassword(form.value.password);
} else {
alert('Password should match');
}
// Calls update user data fn
this.register.updateData(form.value, this.userData.uid);
// this.register.updateData(form.value, this.userData.uid);
console.log('valid form values', form.value);
}
}
......
<div class="nav_header">
<ion-menu-toggle>
<button class="nav_btn nav_menu floatLeft">
</button>
</ion-menu-toggle>
<ion-menu-toggle>
<button class="nav_btn nav_menu floatLeft"></button>
</ion-menu-toggle>
<div class="nav_title floatLeft relative">
<!-- <input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="clickSearch()" (input)="searchFun($event.target.value)" #searchText> -->
<div class="nav_title floatLeft relative">
<!-- <input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="clickSearch()" (input)="searchFun($event.target.value)" #searchText> -->
<input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="searchModal()">
</div>
<button class="nav_btn nav_search floatRight" *ngIf="!searchShow">
</button>
<button class="nav_btn nav_close floatRight" *ngIf="searchShow" (click)="searchClose()">
</button>
<div class="clear"></div>
<input
class="search_bar"
placeholder="Search here.. eg:shirts, retailers etc..."
(click)="searchModal()"
/>
</div>
<button
class="nav_btn nav_search floatRight"
*ngIf="!searchShow"
(click)="searchModal()"
></button>
<button
class="nav_btn nav_close floatRight"
*ngIf="searchShow"
(click)="searchClose()"
></button>
<div class="clear"></div>
</div>
<ion-content>
<div class="home_wrapper">
<div class="home_banner">
<div class="home_banner_title">
<ion-row>
<ion-col class="textLeft">
<img src="../assets/Group 11_2.png">
</ion-col>
<ion-col class="textRight">
<p class="floatRight" (click)="istoggle()">{{address}}</p>
</ion-col>
</ion-row>
<div class="home_wrapper">
<div class="home_banner">
<div class="home_banner_title">
<ion-row>
<ion-col class="textLeft">
<img src="../assets/Group 11_2.png" />
</ion-col>
<ion-col class="textRight">
<p class="floatRight" (click)="istoggle()">{{address}}</p>
</ion-col>
</ion-row>
</div>
<ion-slides
pager="true"
*ngIf="centerService.centers && centerService.centers.length > 0"
>
<ion-slide *ngFor="let center of centerService.centers">
<div class="banner_slide" (click)="goToPage('storelist', center)">
<h5>{{center.centerName}}</h5>
<p>{{center.description}}</p>
</div>
<img
[src]="center.centerImg"
onerror="this.src='./../../assets/getmi_malls/mall_banner/mall_4.png'"
/>
</ion-slide>
</ion-slides>
</div>
<div class="home_sub_header">
Featured Stores
</div>
<div class="featured_slider">
<ion-slides
pager="false"
[options]="slideOpts"
*ngIf="shopperService.activeshoppers && shopperService.activeshoppers.length > 0"
>
<ion-slide *ngFor="let shopper of shopperService.activeshoppers">
<div
class="feature_product"
(click)="goToPage('productlist', shopper)"
>
<img
[src]="shopper.featuredImage"
onerror="this.src='./../../assets/getmi_malls/featured/featured1.png'"
/>
<div class="feature_overlay">
<h5>{{shopper.name}}</h5>
<p>{{shopper.caption}}</p>
</div>
<ion-slides pager="true" *ngIf="centerService.centers && centerService.centers.length > 0">
<ion-slide *ngFor="let center of centerService.centers">
<div class="banner_slide" (click)="goToPage('storelist', center)">
<h5>{{center.centerName}}</h5>
<p>{{center.description}}</p>
</div>
<img [src]="center.centerImg" onerror="this.src='./../../assets/getmi_malls/mall_banner/mall_4.png'">
</ion-slide>
</ion-slides>
</div>
<div class="home_sub_header">
Featured Stores
</div>
<div class="featured_slider">
<ion-slides pager="false" [options]="slideOpts" *ngIf="shopperService.activeshoppers && shopperService.activeshoppers.length > 0">
<ion-slide *ngFor="let shopper of shopperService.activeshoppers">
<div class="feature_product" (click)="goToPage('productlist', shopper)">
<img [src]="shopper.featuredImage" onerror="this.src='./../../assets/getmi_malls/featured/featured1.png'">
<div class="feature_overlay">
<h5>{{shopper.name}}</h5>
<p>{{shopper.caption}}</p>
</div>
</div>
</ion-slide>
<!-- <ion-slide>
</div>
</ion-slide>
<!-- <ion-slide>
<div class="feature_product" (click)="goToPage('productlist')">
<img src="../assets/videoblocks-woman-using-phone-purchase-in-cool-sunglasses-and-black-dress-holding-black-shopping-bag-isolated-on-dark-background-in-black-friday-holid@3x.png">
<div class="feature_overlay">
......@@ -63,97 +86,133 @@
</div>
</div>
</ion-slide> -->
</ion-slides>
</div>
<div class="home_sub_header">
<span class="floatLeft">Nearby Shopping Centers</span>
<span class="floatRight">
<div class="nearby_icon" (click)="goToPage('nearby')">
</div>
</span>
<div class="clear"></div>
</div>
<div class="nearby_shop_list">
<ul *ngIf="centerService.nearcenters && centerService.nearcenters.length > 0">
<li *ngFor="let center of centerService.nearcenters" (click)="goToPage('storelist', center)">
<div class="nearby_image">
<img [src]="center.centerImg" onerror="this.src='./../../assets/getmi_malls/mall_298/mall2.png'">
</div>
<div class="nearby_detail">
<h5>
<span class="floatLeft">{{center.centerName}}</span>
<span class="floatRight">0
<img src="../assets/Path61_2.png">
</span>
<div class="clear"></div>
</h5>
<p>{{center.description}}</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
<div class="home_sub_header">
Featured Catagories
</div>
<div class="featured_catagory_list">
<ul *ngIf="categoriesService.activecategories && categoriesService.activecategories.length > 0">
<li *ngFor="let categories of categoriesService.activecategories" (click)="goToPage('catstorelist', categories)">
<img [src]="categories.catImage" onerror="this.src='../assets/handsome-man-outdoors-drinking-coffee-with-sunglasses-guy-with-beard-instagram-effect_1212-818@3x.png'">
<div class="featured_overlay">
<h4>{{categories.catName}}</h4>
</div>
</li>
</ul>
</div>
</ion-slides>
</div>
<div class="home_sub_header">
<span class="floatLeft">Nearby Shopping Centers</span>
<span class="floatRight">
<div class="nearby_icon" (click)="goToPage('nearby')"></div>
</span>
<div class="clear"></div>
</div>
<div class="nearby_shop_list">
<ul
*ngIf="centerService.nearcenters && centerService.nearcenters.length > 0"
>
<li
*ngFor="let center of centerService.nearcenters"
(click)="goToPage('storelist', center)"
>
<div class="nearby_image">
<img
[src]="center.centerImg"
onerror="this.src='./../../assets/getmi_malls/mall_298/mall2.png'"
/>
</div>
<div class="nearby_detail">
<h5>
<span class="floatLeft">{{center.centerName}}</span>
<span class="floatRight"
>0
<img src="../assets/Path61_2.png" />
</span>
<div class="clear"></div>
</h5>
<p>{{center.description}}</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
<div class="home_sub_header">
Featured Catagories
</div>
<div class="featured_catagory_list">
<ul
*ngIf="categoriesService.activecategories && categoriesService.activecategories.length > 0"
>
<li
*ngFor="let categories of categoriesService.activecategories"
(click)="goToPage('catstorelist', categories)"
>
<img
[src]="categories.catImage"
onerror="this.src='../assets/handsome-man-outdoors-drinking-coffee-with-sunglasses-guy-with-beard-instagram-effect_1212-818@3x.png'"
/>
<div class="featured_overlay">
<h4>{{categories.catName}}</h4>
</div>
</li>
</ul>
</div>
</div>
</ion-content>
<div *ngIf="isShow" [@slideInOut]>
<div class="nav_header">
<button class="nav_btn nav_back floatLeft" (click)="istoggle()">
<img src="../assets/Group17_2.png">
</button>
<div class="nav_title floatLeft">
<h4>CHANGE LOCATION</h4>
</div>
<div class="nav_header">
<button class="nav_btn nav_back floatLeft" (click)="istoggle()">
<img src="../assets/Group17_2.png" />
</button>
<div class="nav_title floatLeft">
<h4>CHANGE LOCATION</h4>
</div>
<div class="clear"></div>
</div>
<ion-content class="sort_wrappper">
<agm-map
[zoom]="20"
[latitude]="lat"
[longitude]="lng"
[disableDefaultUI]="false"
[zoomControl]="false"
[backgroundColor]="'rgba(29, 27, 130,0.2)'"
>
<agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>
<div class="add_address_wrapper">
<h5>
<span class="floatLeft">NEW ADDRESS</span>
<span class="floatRight" (click)="istoggle(); goToPage('nearby')"
>ADD NEW</span
>
<div class="clear"></div>
</h5>
<ul
*ngIf="addressService.addressList && addressService.addressList.length > 0"
>
<li *ngFor="let address of addressService.addressList; let i = index">
<div class="floatLeft">
{{address.default}}
<input
class="styled-checkbox"
name="addressId"
id="styled-checkbox-{{i}}"
type="radio"
(click)="setDefault(address.addressId)"
[value]="address.addressId"
#addressType
[checked]="address.defaultVal == 1"
/>
<label for="styled-checkbox-{{i}}"> {{address.addressType}} </label>
</div>
<div class="floatLeft">
<p>
{{address.building}}, {{address.landmark}}, {{address.address}}
</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
<ion-content class="sort_wrappper">
<agm-map [zoom]="20" [latitude]="lat" [longitude]="lng" [disableDefaultUI]="false" [zoomControl]="false" [backgroundColor]="'rgba(29, 27, 130,0.2)'">
<agm-marker [latitude]="lat" [longitude]="lng"></agm-marker>
</agm-map>
<div class="add_address_wrapper">
<h5>
<span class="floatLeft">NEW ADDRESS</span>
<span class="floatRight" (click)="istoggle(); goToPage('nearby')">ADD NEW</span>
<div class="clear"></div>
</h5>
<ul *ngIf="addressService.addressList && addressService.addressList.length > 0">
<li *ngFor="let address of addressService.addressList; let i = index">
<div class="floatLeft">{{address.default}}
<input class="styled-checkbox" name="addressId" id="styled-checkbox-{{i}}" type="radio" (click)="setDefault(address.addressId)" [value]="address.addressId" #addressType [checked]="address.defaultVal == 1">
<label for="styled-checkbox-{{i}}"> {{address.addressType}}
</label>
</div>
<div class="floatLeft">
<p>
{{address.building}}, {{address.landmark}}, {{address.address}}
</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
</ion-content>
</ion-content>
</div>
<div class="search_item_list" *ngIf="searchShow" [@slideInOut]>
<ul *ngIf="searchService.searchList">
<li *ngFor="let search of searchService.searchList" (click)="viewPage(search)">{{search.text}}</li>
</ul>
</div>
\ No newline at end of file
<ul *ngIf="searchService.searchList">
<li
*ngFor="let search of searchService.searchList"
(click)="viewPage(search)"
>
{{search.text}}
</li>
</ul>
</div>
<div class="nav_header">
<button class="nav_btn nav_back floatLeft" (click)="goBack()">
<img src="../assets/Group17_2.png">
</button>
<div class="nav_title floatLeft">
<input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="clickSearch()">
</div>
<button class="nav_btn nav_search floatRight" *ngIf="!searchShow">
</button>
<button class="nav_btn nav_close floatRight" *ngIf="searchShow" (click)="searchClose()">
</button>
<div class="clear"></div>
<button class="nav_btn nav_back floatLeft" (click)="goBack()">
<img src="../assets/Group17_2.png" />
</button>
<div class="nav_title floatLeft">
<input
class="search_bar"
placeholder="Search here.. eg:shirts, retailers etc..."
(click)="clickSearch()"
/>
</div>
<button
class="nav_btn nav_search floatRight"
*ngIf="!searchShow"
(click)="clickSearch()"
></button>
<button
class="nav_btn nav_close floatRight"
*ngIf="searchShow"
(click)="searchClose()"
></button>
<div class="clear"></div>
</div>
<ion-content>
<div class="product_list">
<div class="product_taskbar">
<div class="filter floatLeft" (click)="istoggle()">
</div>
<div class="viewset floatRight">
<div class="grid_view grid_act floatRight" (click)="gridToggle()" [class.line_view]="onGrid">
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<div class="product_title" *ngIf="data">
{{data.shopName}}
</div>
<ul [class.grid_view]="onGrid" *ngIf="prodService.product && prodService.product.length > 0">
<li *ngFor="let product of prodService.product; let i = index">
<div class="product_image">
<img [src]="product.image" onerror="this.src='../assets/[email protected]'" (click)="prodDetails(i)">
<div [ngClass]="checkFavStatus(product.prodId)" (click)="changeFav(product.prodId)">
</div>
<div class="featured_badge" *ngIf="product.featured">Featured</div>
</div>
<h5 class="ellipse" (click)="prodDetails(i)">{{product.prodName}}</h5>
<p (click)="prodDetails(i)">A$ {{product.price}}<span class="offer" *ngIf="product.discount > 0">-{{product.discount}}%</span></p>
</li>
</ul>
<div class="product_list">
<div class="product_taskbar">
<div class="filter floatLeft" (click)="istoggle()"></div>
<div class="viewset floatRight">
<div
class="grid_view grid_act floatRight"
(click)="gridToggle()"
[class.line_view]="onGrid"
></div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<div class="product_title" *ngIf="data">
{{data.shopName}}
</div>
<div class="sort_wrappper" *ngIf="isShow" [@slideInOut]>
<div class="sort_inner">
<h4>Sort By</h4>
<ul>
<!-- <li>
<ul
[class.grid_view]="onGrid"
*ngIf="prodService.product && prodService.product.length > 0"
>
<li *ngFor="let product of prodService.product; let i = index">
<div class="product_image">
<img
[src]="product.image"
onerror="this.src='../assets/[email protected]'"
(click)="prodDetails(i)"
/>
<div
[ngClass]="checkFavStatus(product.prodId)"
(click)="changeFav(product.prodId)"
></div>
<div class="featured_badge" *ngIf="product.featured">Featured</div>
</div>
<h5 class="ellipse" (click)="prodDetails(i)">{{product.prodName}}</h5>
<p (click)="prodDetails(i)">
A$ {{product.price}}<span class="offer" *ngIf="product.discount > 0"
>-{{product.discount}}%</span
>
</p>
</li>
</ul>
</div>
<div class="sort_wrappper" *ngIf="isShow" [@slideInOut]>
<div class="sort_inner">
<h4>Sort By</h4>
<ul>
<!-- <li>
<input class="styled-checkbox" id="styled-checkbox-1" type="radio" value="popular" name="sort" (click)="setValue($event.target.value)">
<label for="styled-checkbox-1">Popularity</label>
</li> -->
<!-- <li>
<!-- <li>
<input class="styled-checkbox" id="styled-checkbox-2" type="radio" value="relevance" name="sort" (click)="setValue($event.target.value)">
<label for="styled-checkbox-2">Relevence</label>
</li> -->
<li>
<input class="styled-checkbox" id="styled-checkbox-3" type="radio" value="low" name="sort" (click)="setValue($event.target.value)">
<label for="styled-checkbox-3">Price Low - High</label>
</li>
<li>
<input class="styled-checkbox" id="styled-checkbox-4" type="radio" value="high" name="sort" (click)="setValue($event.target.value)">
<label for="styled-checkbox-4">Price High - Low</label>
</li>
<!-- <li>
<li>
<input
class="styled-checkbox"
id="styled-checkbox-3"
type="radio"
value="low"
name="sort"
(click)="setValue($event.target.value)"
/>
<label for="styled-checkbox-3">Price Low - High</label>
</li>
<li>
<input
class="styled-checkbox"
id="styled-checkbox-4"
type="radio"
value="high"
name="sort"
(click)="setValue($event.target.value)"
/>
<label for="styled-checkbox-4">Price High - Low</label>
</li>
<!-- <li>
<input class="styled-checkbox" id="styled-checkbox-5" type="radio" value="rate" name="sort" (click)="setValue($event.target.value)">
<label for="styled-checkbox-5">Rating</label>
</li> -->
</ul>
<div class="sort_footer">
<button class="cancel floatLeft" (click)="istoggle()">CANCEL</button>
<button class="submit floatRight" (click)="istoggle(); submit()">SUBMIT</button>
<div class="clear"></div>
</div>
</div>
</ul>
<div class="sort_footer">
<button class="cancel floatLeft" (click)="istoggle()">CANCEL</button>
<button class="submit floatRight" (click)="istoggle(); submit()">
SUBMIT
</button>
<div class="clear"></div>
</div>
</div>
</div>
</ion-content>
<div class="search_item_list" *ngIf="searchShow" [@slideInOut]>
<ul *ngIf="searchService.searchList">
<li *ngFor="let search of searchService.searchList" (click)="viewPage(search)">{{search.text}}</li>
</ul>
</div>
\ No newline at end of file
<ul *ngIf="searchService.searchList">
<li
*ngFor="let search of searchService.searchList"
(click)="viewPage(search)"
>
{{search.text}}
</li>
</ul>
</div>
<div class="nav_header">
<button class="nav_btn nav_back floatLeft" (click)="closeModal()">
</button>
<div class="nav_title floatLeft relative">
<input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="clickSearch()" (input)="searchFun($event.target.value)" #searchText>
</div>
<button class="nav_btn nav_close floatRight" (click)="closeModal()">
</button>
<div class="clear"></div>
<button class="nav_btn nav_back floatLeft" (click)="closeModal()"></button>
<div class="nav_title floatLeft relative">
<input
class="search_bar"
placeholder="Search here.. eg:shirts, retailers etc..."
(click)="clickSearch()"
(input)="searchFun($event.target.value)"
#searchText
/>
</div>
<button class="nav_btn nav_close floatRight" (click)="closeModal()"></button>
<div class="clear"></div>
</div>
<div class="search_item_list">
<ul *ngIf="searchService.searchList">
<li *ngFor="let search of searchService.searchList" (click)="viewPage(search)">{{search.text}} </li>
</ul>
</div>
\ No newline at end of file
<ul *ngIf="searchService.searchList">
<li
*ngFor="let search of searchService.searchList"
(click)="viewPage(search)"
>
{{search.text}}
</li>
</ul>
</div>
<div class="nav_header">
<button class="nav_btn nav_back floatLeft" (click)="goBack()">
</button>
<div class="nav_title floatLeft">
<input class="search_bar" placeholder="Search here.. eg:shirts, retailers etc..." (click)="clickSearch()">
</div>
<button class="nav_btn nav_search floatRight" *ngIf="!searchShow">
</button>
<button class="nav_btn nav_close floatRight" *ngIf="searchShow" (click)="searchClose()">
</button>
<div class="clear"></div>
<button class="nav_btn nav_back floatLeft" (click)="goBack()"></button>
<div class="nav_title floatLeft">
<input
class="search_bar"
placeholder="Search here.. eg:shirts, retailers etc..."
(click)="clickSearch()"
/>
</div>
<button
class="nav_btn nav_search floatRight"
*ngIf="!searchShow"
(click)="clickSearch()"
></button>
<button
class="nav_btn nav_close floatRight"
*ngIf="searchShow"
(click)="searchClose()"
></button>
<div class="clear"></div>
</div>
<ion-content>
<div class="home_wrapper">
<div class="home_sub_header">
Featured Stores
</div>
<div class="featured_slider">
<ion-slides pager="false" [options]="slideOpts" *ngIf="shopperService.activeshoppers && shopperService.activeshoppers.length > 0">
<ion-slide *ngFor="let shopper of shopperService.activeshoppers">
<div class="feature_product" (click)="goToPage('productlist', shopper)">
<img [src]="shopper.featuredImage" onerror="this.src='./../../assets/getmi_malls/featured/featured1.png'">
<div class="feature_overlay">
<h5>{{shopper.name}}</h5>
<p>{{shopper.caption}}</p>
</div>
</div>
</ion-slide>
</ion-slides>
</div>
<div class="home_sub_header" *ngIf="data">
{{data.centerName}}
</div>
<div class="nearby_shop_list">
<ul *ngIf="shopperService.shoppers && shopperService.shoppers.length > 0">
<li *ngFor="let shopper of shopperService.shoppers" (click)="goToPage('productlist', shopper)">
<div class="nearby_image">
<img [src]="shopper.profilePic" onerror="this.src='./../../assets/getmi_malls/store298/stores1.png'">
</div>
<div class="nearby_detail">
<h5>
<span class="floatLeft">{{shopper.name}}</span>
<span class="floatRight">0
<img src="../assets/Path61_2.png">
</span>
<div class="clear"></div>
</h5>
<p>{{shopper.caption}}</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
<div class="home_wrapper">
<div class="home_sub_header">
Featured Stores
</div>
<div class="featured_slider">
<ion-slides
pager="false"
[options]="slideOpts"
*ngIf="shopperService.activeshoppers && shopperService.activeshoppers.length > 0"
>
<ion-slide *ngFor="let shopper of shopperService.activeshoppers">
<div
class="feature_product"
(click)="goToPage('productlist', shopper)"
>
<img
[src]="shopper.featuredImage"
onerror="this.src='./../../assets/getmi_malls/featured/featured1.png'"
/>
<div class="feature_overlay">
<h5>{{shopper.name}}</h5>
<p>{{shopper.caption}}</p>
</div>
</div>
</ion-slide>
</ion-slides>
</div>
<div class="home_sub_header" *ngIf="data">
{{data.centerName}}
</div>
<div class="nearby_shop_list">
<ul *ngIf="shopperService.shoppers && shopperService.shoppers.length > 0">
<li
*ngFor="let shopper of shopperService.shoppers"
(click)="goToPage('productlist', shopper)"
>
<div class="nearby_image">
<img
[src]="shopper.profilePic"
onerror="this.src='./../../assets/getmi_malls/store298/stores1.png'"
/>
</div>
<div class="nearby_detail">
<h5>
<span class="floatLeft">{{shopper.name}}</span>
<span class="floatRight"
>0
<img src="../assets/Path61_2.png" />
</span>
<div class="clear"></div>
</h5>
<p>{{shopper.caption}}</p>
</div>
<div class="clear"></div>
</li>
</ul>
</div>
</div>
</ion-content>
<div class="search_item_list" *ngIf="searchShow" [@slideInOut]>
<ul>
<li>sample</li>
</ul>
</div>
\ No newline at end of file
<ul>
<li>sample</li>
</ul>
</div>
......@@ -150,6 +150,7 @@ export class AuthService {
};
this.loggedUser = userData;
this.service.set('userData', JSON.stringify(this.loggedUser));
this.subjectService.sendUserData(JSON.stringify(this.loggedUser));
console.log(this.loggedUser);
});
}
......
......@@ -6,13 +6,22 @@ import { BehaviorSubject } from 'rxjs/BehaviorSubject';
providedIn: 'root'
})
export class SubjectService {
private loginState = new BehaviorSubject<any>(null);
private loginState = new BehaviorSubject<any>(null);
private DataState = new BehaviorSubject<any>(null);
sendLoginData(state: any) {
this.loginState.next(state);
}
sendLoginData(state: any) {
this.loginState.next(state);
}
getLoginData(): Observable<any> {
return this.loginState.asObservable();
}
getLoginData(): Observable<any> {
return this.loginState.asObservable();
}
sendUserData(state: any) {
this.DataState.next(state);
}
getUserData(): Observable<any> {
return this.DataState.asObservable();
}
}
......@@ -9,25 +9,24 @@
* https://ionicframework.com/docs/layout/global-stylesheets
*/
/* Core CSS required for Ionic components to work properly */
@import "~@ionic/angular/css/core.css";
@import '~@ionic/angular/css/core.css';
/* Basic CSS for apps built with Ionic */
@import "~@ionic/angular/css/normalize.css";
@import "~@ionic/angular/css/structure.css";
@import "~@ionic/angular/css/typography.css";
@import '~@ionic/angular/css/normalize.css';
@import '~@ionic/angular/css/structure.css';
@import '~@ionic/angular/css/typography.css';
@import '~@ionic/angular/css/display.css';
/* Optional CSS utils that can be commented out */
@import "~@ionic/angular/css/padding.css";
@import "~@ionic/angular/css/float-elements.css";
@import "~@ionic/angular/css/text-alignment.css";
@import "~@ionic/angular/css/text-transformation.css";
@import "~@ionic/angular/css/flex-utils.css";
@import '~@ionic/angular/css/padding.css';
@import '~@ionic/angular/css/float-elements.css';
@import '~@ionic/angular/css/text-alignment.css';
@import '~@ionic/angular/css/text-transformation.css';
@import '~@ionic/angular/css/flex-utils.css';
/*
Site Name: GETME
......@@ -54,7 +53,6 @@
*/
/*-------------------------------
01. FONTS-N-SIZES
......@@ -64,108 +62,107 @@
@import url('https://fonts.googleapis.com/css?family=Abel&display=swap');
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);
* {
font-family: 'Abel', sans-serif;
-webkit-font-smoothing: antialiased;
font-family: 'Abel', sans-serif;
-webkit-font-smoothing: antialiased;
}
*::-webkit-scrollbar {
display: none;
display: none;
}
.no-scroll .scroll-content {
overflow: hidden;
overflow: hidden;
}
a {
text-decoration: none !important;
text-decoration: none !important;
}
button {
outline: none;
outline: none;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none !important;
margin: 0;
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
-webkit-appearance: none !important;
margin: 0;
}
html,
body {
font-family: 'Lato', sans-serif !important;
margin: 0px;
font-family: 'Lato', sans-serif !important;
margin: 0px;
}
button {
cursor: pointer;
cursor: pointer;
}
.start_wizard_wrapper {
ion-slides {
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #29285b;
width: 14px;
height: 3px;
border-radius: 0px;
}
}
ion-slides {
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #29285b;
width: 14px;
height: 3px;
border-radius: 0px;
}
}
}
}
.gm-style .gm-style-iw-c {
padding: 0px !important;
padding: 0px !important;
}
.home_banner {
ion-slides {
.swiper-pagination-bullets {
left: auto;
width: auto;
right: 15px;
bottom: 15px;
}
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #fff;
width: 14px;
height: 3px;
border-radius: 0px;
opacity: 1;
margin: 0px;
}
.swiper-pagination-bullet-active {
background-color: rgba(41, 37, 81, 1);
}
}
ion-slides {
.swiper-pagination-bullets {
left: auto;
width: auto;
right: 15px;
bottom: 15px;
}
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #fff;
width: 14px;
height: 3px;
border-radius: 0px;
opacity: 1;
margin: 0px;
}
.swiper-pagination-bullet-active {
background-color: rgba(41, 37, 81, 1);
}
}
}
}
.product_banner {
ion-slides {
.swiper-pagination-bullets {
left: auto;
width: auto;
right: 15px;
bottom: 15px;
}
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #fff;
width: 14px;
height: 3px;
border-radius: 0px;
opacity: 1;
margin: 0px;
}
.swiper-pagination-bullet-active {
background-color: rgba(41, 37, 81, 1);
}
}
ion-slides {
.swiper-pagination-bullets {
left: auto;
width: auto;
right: 15px;
bottom: 15px;
}
.swiper-pagination {
.swiper-pagination-bullet {
background-color: #fff;
width: 14px;
height: 3px;
border-radius: 0px;
opacity: 1;
margin: 0px;
}
.swiper-pagination-bullet-active {
background-color: rgba(41, 37, 81, 1);
}
}
}
}
/*-------------------------------
02. FONTS-SETTINGS
......@@ -173,50 +170,49 @@ button {
--------------------------------*/
.text_color_white {
color: #fff !important;
color: #fff !important;
}
.font_size_xs {
font-size: 12px !important;
font-size: 12px !important;
}
.font_size_sm {
font-size: 14px !important;
font-size: 14px !important;
}
.font_size_md {
font-size: 16px !important;
font-size: 16px !important;
}
.font_size_lg {
font-size: 18px !important;
font-size: 18px !important;
}
.font_size_xl {
font-size: 20px !important;
font-size: 20px !important;
}
.font_size_vl {
font-size: 35px !important;
font-size: 35px !important;
}
.font_weight300 {
font-weight: 300 !important;
font-weight: 300 !important;
}
.font_weight400 {
font-weight: 400 !important;
font-weight: 400 !important;
}
.font_weight500 {
font-weight: 500 !important;
font-weight: 500 !important;
}
.font_weight600 {
font-weight: 600 !important;
font-weight: 600 !important;
}
/*-------------------------------
03. THEMES-N-BACKGROUNDS
......@@ -224,31 +220,30 @@ button {
--------------------------------*/
.theme_background {
background-size: cover !important;
background-position: center !important;
background-size: cover !important;
background-position: center !important;
}
.theme_transparent {
background: transparent !important;
background: transparent !important;
}
.theme_white {
background-color: #f7f8fd !important;
background-color: #f7f8fd !important;
}
.theme_off_white {
background-color: #f4f4f4 !important;
background-color: #f4f4f4 !important;
}
.theme_dark_transparent {
background-color: rgba(0, 0, 0, 0.6) !important;
background-color: rgba(0, 0, 0, 0.6) !important;
}
.theme_white_transparent {
background-color: rgba(243, 243, 243, 0.6) !important;
background-color: rgba(243, 243, 243, 0.6) !important;
}
/*-------------------------------
04. SPACING-N-POSITIONS
......@@ -256,118 +251,117 @@ button {
--------------------------------*/
.width25 {
width: 25% !important;
width: 25% !important;
}
.width50 {
width: 50% !important;
width: 50% !important;
}
.width75 {
width: 75% !important;
width: 75% !important;
}
.widthFull {
width: 100% !important;
width: 100% !important;
}
.widthAuto {
width: auto !important;
width: auto !important;
}
.height25 {
height: 25% !important;
height: 25% !important;
}
.height50 {
height: 50% !important;
height: 50% !important;
}
.height75 {
width: 75% !important;
width: 75% !important;
}
.heightFull {
height: 100% !important;
height: 100% !important;
}
.heightAuto {
height: auto !important;
height: auto !important;
}
.p0 {
padding: 0px !important;
padding: 0px !important;
}
.pl0 {
padding-left: 0px !important;
padding-left: 0px !important;
}
.pr0 {
padding-right: 0px !important;
padding-right: 0px !important;
}
.pt0 {
padding-top: 0px !important;
padding-top: 0px !important;
}
.pb0 {
padding-bottom: 0px !important;
padding-bottom: 0px !important;
}
.p10 {
padding: 10px !important;
padding: 10px !important;
}
.pt10 {
padding-top: 10px !important;
padding-top: 10px !important;
}
.m0 {
margin: 0px !important;
margin: 0px !important;
}
.ml0 {
margin-left: 0px !important;
margin-left: 0px !important;
}
.mr0 {
margin-right: 0px !important;
margin-right: 0px !important;
}
.mt0 {
margin-top: 0px !important;
margin-top: 0px !important;
}
.mb0 {
margin-bottom: 0px !important;
margin-bottom: 0px !important;
}
.mAuto {
margin: 0 auto !important;
margin: 0 auto !important;
}
.clear {
clear: both !important;
clear: both !important;
}
.absolute {
position: absolute !important;
position: absolute !important;
}
.relative {
position: relative !important;
position: relative !important;
}
.fixed {
position: fixed !important;
position: fixed !important;
}
.borderNone {
border: none !important;
border: none !important;
}
/*-------------------------------
05. ALIGMENTS
......@@ -375,282 +369,282 @@ button {
--------------------------------*/
.floatLeft {
float: left !important;
float: left !important;
}
.floatRight {
float: right !important;
float: right !important;
}
.textLeft {
text-align: left !important;
text-align: left !important;
}
.textRight {
text-align: right !important;
text-align: right !important;
}
.textCenter {
text-align: center !important;
text-align: center !important;
}
.ion-page {
padding-top: 50px;
padding-top: 50px;
}
app-landing {
padding: 0px !important;
padding: 0px !important;
}
app-cart {
padding: 0px !important;
padding: 0px !important;
}
app-orderplaced {
padding: 0px !important;
padding: 0px !important;
}
app-ordercancelled {
padding: 0px !important;
padding: 0px !important;
}
app-delivery {
padding: 0px !important;
padding: 0px !important;
}
app-deliverypop {
padding: 0px !important;
padding: 0px !important;
}
.nav_header {
position: fixed;
top: 0px;
left: 0px;
right: 0px;
z-index: 9999;
background-color: #fff;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
position: fixed;
top: 0px;
left: 0px;
right: 0px;
z-index: 9999;
background-color: #fff;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}
.nav_btn {
width: 50px;
height: 50px;
background-color: transparent;
color: #282438;
font-size: 25px;
background-position: center;
background-repeat: no-repeat;
background-size: 25px;
position: relative;
width: 50px;
height: 50px;
background-color: transparent;
color: #282438;
font-size: 25px;
background-position: center;
background-repeat: no-repeat;
background-size: 25px;
position: relative;
}
.not {
background-color: #3b394d;
color: #fff;
width: 17px;
height: 17px;
border-radius: 50%;
position: absolute;
top: 5px;
right: 10px;
font-size: 10px;
padding: 4px;
background-color: #3b394d;
color: #fff;
width: 17px;
height: 17px;
border-radius: 50%;
position: absolute;
top: 5px;
right: 10px;
font-size: 10px;
padding: 4px;
}
.nav_title {
width: calc(100% - 100px);
color: rgba(59, 57, 77, 1);
padding: 12px;
padding-left: 5px;
padding-right: 5px;
font-weight: 400;
width: calc(100% - 100px);
color: rgba(59, 57, 77, 1);
padding: 12px;
padding-left: 5px;
padding-right: 5px;
font-weight: 400;
text-align: center;
img {
height: 30px;
}
h4 {
margin: 0px;
font-weight: 900;
padding: 0px;
font-size: 20px;
text-align: center;
img {
height: 30px;
text-transform: uppercase;
span {
color: #39267f;
}
h4 {
margin: 0px;
font-weight: 900;
padding: 0px;
font-size: 20px;
text-align: center;
text-transform: uppercase;
span {
color: #39267f;
}
}
input {
width: 100%;
border: none;
padding-left: 10px;
padding-right: 10px;
&:focus {
outline: none;
}
input {
width: 100%;
border: none;
padding-left: 10px;
padding-right: 10px;
&:focus {
outline: none;
}
&:hover {
outline: none;
}
&:hover {
outline: none;
}
}
}
.nav_back {
background-color: #fff !important;
background-image: url("./assets/Group17_2.png");
img {
width: 25px;
display: none;
}
background-color: #fff !important;
background-image: url('./assets/Group17_2.png');
img {
width: 25px;
display: none;
}
}
.nav_back_white {
background-color: transparent;
background-image: url("./assets/arrow_white.png");
img {
width: 25px !important;
display: none;
}
background-color: transparent;
background-image: url('./assets/arrow_white.png');
img {
width: 25px !important;
display: none;
}
}
.nav_menu {
background-image: url("./assets/Group22_2.png");
img {
width: 25px;
display: none;
}
background-image: url('./assets/Group22_2.png');
img {
width: 25px;
display: none;
}
}
.nav_search {
background-image: url("./assets/search_2.png");
img {
width: 25px;
display: none;
}
background-image: url('./assets/search_2.png');
img {
width: 25px;
display: none;
}
}
.nav_exit {
background-image: url("./assets/Group17_2.png");
img {
width: 25px;
display: none;
}
background-image: url('./assets/Group17_2.png');
img {
width: 25px;
display: none;
}
}
.nav_close {
background-image: url("./assets/close.png");
img {
width: 25px;
display: none;
}
background-image: url('./assets/close.png');
img {
width: 25px;
display: none;
}
}
.nav_cart {
background-image: url("./assets/cart_icon.png");
img {
width: 25px;
display: none;
}
background-image: url('./assets/cart_icon.png');
img {
width: 25px;
display: none;
}
}
ion-header {
z-index: 9999 !important;
order: 0 !important;
z-index: 9999 !important;
order: 0 !important;
}
.lds-ripple {
display: inline-block;
position: relative;
width: 64px;
height: 64px;
display: inline-block;
position: relative;
width: 64px;
height: 64px;
}
.lds-ripple div {
position: absolute;
border: 5px solid #29285b;
opacity: 1;
border-radius: 50%;
animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
position: absolute;
border: 5px solid #29285b;
opacity: 1;
border-radius: 50%;
animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
animation-delay: -0.5s;
animation-delay: -0.5s;
}
@keyframes lds-ripple {
0% {
top: 30px;
left: 30px;
width: 0;
height: 0;
opacity: 1;
}
100% {
top: -1px;
left: -1px;
width: 60px;
height: 60px;
opacity: 0;
}
0% {
top: 30px;
left: 30px;
width: 0;
height: 0;
opacity: 1;
}
100% {
top: -1px;
left: -1px;
width: 60px;
height: 60px;
opacity: 0;
}
}
.loader {
position: fixed;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
padding-top: 50%;
background-color: rgba(273, 273, 273, 0.9);
text-align: center;
z-index: 99;
position: fixed;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
padding-top: 50%;
background-color: rgba(273, 273, 273, 0.9);
text-align: center;
z-index: 99;
}
.picker-wrapper {
.picker-toolbar {
.picker-toolbar-button {
.picker-button {
color: #29285b;
font-weight: 900;
}
}
.picker-toolbar {
.picker-toolbar-button {
.picker-button {
color: #29285b;
font-weight: 900;
}
}
.picker-columns {
.picker-opt-selected {
color: #29285b;
font-weight: 900;
}
}
.picker-columns {
.picker-opt-selected {
color: #29285b;
font-weight: 900;
}
}
}
.search_item_list {
position: absolute;
background-color: #fff;
left: 0px;
right: 0px;
width: 100%;
position: absolute;
background-color: #fff;
left: 0px;
right: 0px;
width: 100%;
margin: 0px;
top: 50px;
bottom: 0px;
z-index: 99;
ul {
margin: 0px;
top: 50px;
bottom: 0px;
z-index: 99;
ul {
margin: 0px;
padding: 0px;
li {
list-style: none;
color: rgba(59, 57, 77, 1);
text-align: left;
list-style: none;
padding: 10px;
border-bottom: 1px solid #ddd;
&:hover {
background-color: rgba(59, 57, 77, 1);
color: #fff;
}
&:focus {
background-color: rgba(59, 57, 77, 1);
color: #fff;
}
}
padding: 0px;
li {
list-style: none;
color: rgba(59, 57, 77, 1);
text-align: left;
list-style: none;
padding: 10px;
border-bottom: 1px solid #ddd;
&:hover {
background-color: rgba(59, 57, 77, 1);
color: #fff;
}
&:focus {
background-color: rgba(59, 57, 77, 1);
color: #fff;
}
}
}
\ No newline at end of file
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment