Commit 0a04a02d by Nabil Sadki

v1.0.8.0

parent 4a541ab9
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff);
}
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff) !important;
}
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff) !important;
}
--bullet-background-active: var(--ion-color-light, #ffffff) !important;
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff) !important;
}
--bullet-background-active: var(--ion-color-gold, #ffffff) !important;
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff) !important;
}
--bullet-background-active: var(--ion-color-secondary, #ffffff) !important;
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff) !important;
}
--bullet-background-active: var(--ion-color-light, #ffffff) !important;
}
ion-slides {
background: var(--ion-color-primary, #f93129);
height: 100vh;
ion-slide {
h1 {
font-family: "Open Sans" !important;
}
p {
font-family: "Open Sans Light" !important;
text-align: justify;
}
}
--bullet-background-active: var(--ion-color-light, #ffffff) !important;
}
import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
import { HTTP } from '@ionic-native/http/ngx';
import { Injectable } from '@angular/core';
import { Platform } from '@ionic/angular';
import { Storage } from '@ionic/storage';
import { AlloService } from './allo-service';
@Injectable({ providedIn: 'root' })
export class TripService {
public products: Array<any> = [];
public brands: Array<any> = [];
public cats: Array<any> = [];
public request: any;
constructor(
private platform: Platform,
private http: HttpClient,
private httpAdv: HTTP,
private storage: Storage,
private _ALLO: AlloService
) {
this.fetchData();
}
fetchData(force?: boolean) {
this.storage.get('REST_services').then((REST_services) => {
if (REST_services && !force) {
this.setData(REST_services);
}
else if (this.platform.is('cordova')) {
this.httpAdv.get('https://www.allo-testeurs.com/services.json?' + Math.random(), {}, {})
.then((response) => {
const json = JSON.parse(response.data);
this.storage.set('REST_services', json);
this.setData(json);
});
} else {
console.log('hhh');
this.http.get('https://www.allo-testeurs.com/services.json?' + Math.random())
.subscribe((data) => {
this.storage.set('REST_services', data);
this.setData(data);
});
}
});
}
setData(data) {
if (null !== data && 'object' === typeof data && data.hasOwnProperty('products')) {
var products = this._ALLO.jsonToArray(data.products);
this.products = this._ALLO.shuffleArray(products);
this.products.forEach((element) => { element.hidden = true; });
// console.log(this.products);
}
if (null !== data && 'object' === typeof data && data.hasOwnProperty('cats')) {
var cats = this._ALLO.jsonToArray(data.cats);
this.cats = this._ALLO.shuffleArray(cats);
}
if (null !== data && 'object' === typeof data && data.hasOwnProperty('brands')) {
var brands = this._ALLO.jsonToArray(data.brands);
this.brands = brands;
}
}
getRequest() {
if (this.platform.is('cordova')) {
return this.httpAdv.get('http://www.allo-testeurs.com/services.json?' + Math.random(), {}, {});
} else {
return this.http.get('http://www.allo-testeurs.com/services.json?' + Math.random());
}
}
getItem(id) {
for (var i = 0; i < this.products.length; i++) {
// console.log(this.products[i].id);
// console.log(id);
if (this.products[i].id === parseInt(id)) {
return this.products[i];
}
}
return null;
}
getItemById(element, id) {
let elm = 'this.' + element;
let runnable: any = eval(elm);
for (var i = 0; i < runnable.length; i++) {
if (parseInt(runnable[i].id) === id) {
return runnable[i];
}
}
return null;
}
remove(item) {
this.products.splice(this.products.indexOf(item), 1);
}
}
import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
import { HTTP } from '@ionic-native/http/ngx';
import { Injectable } from '@angular/core';
import { Platform } from '@ionic/angular';
import { Storage } from '@ionic/storage';
import { AlloService } from './allo-service';
@Injectable({ providedIn: 'root' })
export class TripService {
public products: Array<any> = [];
public brands: Array<any> = [];
public cats: Array<any> = [];
public request: any;
constructor(
private platform: Platform,
private http: HttpClient,
private httpAdv: HTTP,
private storage: Storage,
private _ALLO: AlloService
) {
this.fetchData();
}
fetchData(force?: boolean) {
this.storage.get('REST_services').then((REST_services) => {
if (REST_services && !force) {
this.setData(REST_services);
}
else if (this.platform.is('cordova')) {
this.httpAdv.get('https://www.allo-testeurs.com/services.json?' + Math.random(), {}, {})
.then((response) => {
const json = JSON.parse(response.data);
this.storage.set('REST_services', json);
this.setData(json);
});
} else {
this.http.get('https://www.allo-testeurs.com/services.json?' + Math.random())
.subscribe((data) => {
this.storage.set('REST_services', data);
this.setData(data);
});
}
});
}
setData(data) {
if (null !== data && 'object' === typeof data && data.hasOwnProperty('products')) {
var products = this._ALLO.jsonToArray(data.products);
this.products = this._ALLO.shuffleArray(products);
this.products.forEach((element) => { element.hidden = true; });
// console.log(this.products);
}
if (null !== data && 'object' === typeof data && data.hasOwnProperty('cats')) {
var cats = this._ALLO.jsonToArray(data.cats);
this.cats = this._ALLO.shuffleArray(cats);
}
if (null !== data && 'object' === typeof data && data.hasOwnProperty('brands')) {
var brands = this._ALLO.jsonToArray(data.brands);
this.brands = brands;
}
}
getRequest() {
if (this.platform.is('cordova')) {
return this.httpAdv.get('http://www.allo-testeurs.com/services.json?' + Math.random(), {}, {});
} else {
return this.http.get('http://www.allo-testeurs.com/services.json?' + Math.random());
}
}
getItem(id) {
for (var i = 0; i < this.products.length; i++) {
// console.log(this.products[i].id);
// console.log(id);
if (this.products[i].id === parseInt(id)) {
return this.products[i];
}
}
return null;
}
getItemById(element, id) {
let elm = 'this.' + element;
let runnable: any = eval(elm);
for (var i = 0; i < runnable.length; i++) {
if (parseInt(runnable[i].id) === id) {
return runnable[i];
}
}
return null;
}
remove(item) {
this.products.splice(this.products.indexOf(item), 1);
}
}
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<preference name="DisallowOverscroll" value="true" /> <preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="19" /> <preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" /> <preference name="BackupWebStorage" value="none" />
<preference name="SplashScreenDelay" value="6000" /> <preference name="SplashScreenDelay" value="10000" />
<preference name="FadeSplashScreen" value="true" /> <preference name="FadeSplashScreen" value="true" />
<preference name="ShowSplashScreen" value="true" /> <preference name="ShowSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" /> <preference name="ShowSplashScreenSpinner" value="false" />
......
...@@ -6,17 +6,6 @@ const routes: Routes = [ ...@@ -6,17 +6,6 @@ const routes: Routes = [
{ path: 'start', loadChildren: './pages/start/start.module#StartPageModule' }, { path: 'start', loadChildren: './pages/start/start.module#StartPageModule' },
{ path: 'mainslider', loadChildren: './pages/mainslider/mainslider.module#MainsliderPageModule' }, { path: 'mainslider', loadChildren: './pages/mainslider/mainslider.module#MainsliderPageModule' },
{ path: 'app', loadChildren: './pages/menu/menu.module#MenuPageModule' }, { path: 'app', loadChildren: './pages/menu/menu.module#MenuPageModule' },
// { path: 'etablissement', loadChildren: './pages/etablissement/etablissement.module#EtablissementPageModule' },
// { path: 'login', loadChildren: './pages/login/login.module#LoginPageModule' },
// { path: 'dashboard', loadChildren: './pages/dashboard/dashboard.module#DashboardPageModule' },
// { path: 'contact', loadChildren: './pages/contact/contact.module#ContactPageModule' },
// { path: 'a-propos', loadChildren: './pages/a-propos/a-propos.module#AProposPageModule' },
// { path: 'params', loadChildren: './pages/params/params.module#ParamsPageModule' },
// { path: 'gagner-points', loadChildren: './pages/gagner-points/gagner-points.module#GagnerPointsPageModule' },
// { path: 'lots-a-gagner', loadChildren: './pages/lots-a-gagner/lots-a-gagner.module#LotsAGagnerPageModule' },
// { path: 'partenaires', loadChildren: './pages/partenaires/partenaires.module#PartenairesPageModule' },
// { path: 'partenaires-list', loadChildren: './pages/partenaires-list/partenaires-list.module#PartenairesListPageModule' },
// { path: 'partenaires-map', loadChildren: './pages/partenaires-map/partenaires-map.module#PartenairesMapPageModule' },
]; ];
@NgModule({ @NgModule({
......
<ion-header *ngIf="_ALLO.showPage"> <ion-header>
<ion-toolbar color="primary"> <ion-toolbar color="primary">
<ion-buttons slot="start"> <ion-buttons slot="start">
<!-- <ion-button menuToggle> <!-- <ion-button menuToggle>
......
...@@ -32,7 +32,7 @@ export class DashboardPage implements OnInit { ...@@ -32,7 +32,7 @@ export class DashboardPage implements OnInit {
ngOnInit() { ngOnInit() {
console.log('ngOnInit Dashboard'); console.log('ngOnInit Dashboard');
this._ALLO.presentLoading(); // this._ALLO.presentLoading();
} }
setImgVisible(trip) { setImgVisible(trip) {
......
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { EtablissementPage } from './etablissement.page';
const routes: Routes = [
{
path: '',
component: EtablissementPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [EtablissementPage]
})
export class EtablissementPageModule {}
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button>
<!-- <ion-icon name="menu" size="large"></ion-icon> -->
</ion-menu-button>
</ion-buttons>
<ion-title>Etablissement</ion-title>
</ion-toolbar>
</ion-header>
<ion-content color="light" padding>
<ion-card tappable no-margin margin-bottom>
<ion-item>
<ion-avatar slot="start">
<img src="https://allo-testeurs.com/wp-content/uploads/2019/04/The-green-place-150x150.png" />
</ion-avatar>
<ion-label>
<h2> The green place </h2>
<p>Adresse du local </p>
</ion-label>
</ion-item>
<img src="../../../assets/img/DSC09608.JPG" />
<!-- <ion-card-content>
<ion-buttons>
<ion-button>
<ion-icon slot="icon-only" name="contact"></ion-icon>
</ion-button>
<ion-button>
<ion-icon slot="icon-only" name="search"></ion-icon>
</ion-button>
</ion-buttons>
</ion-card-content> -->
</ion-card>
<ion-item-divider text-center>Menu</ion-item-divider>
<ion-item color="light">
<ion-label>
<h2>Salades</h2>
</ion-label>
</ion-item>
<ion-slides pager="false" scrollbar="true">
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/04.jpg">
<ion-card-content no-padding>
<ion-badge>40 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/03.jpg">
<ion-card-content no-padding>
<ion-badge>35 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/02.jpg">
<ion-card-content no-padding>
<ion-badge>55 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/01.jpg">
<ion-card-content no-padding>
<ion-badge>65 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/04.jpg">
<ion-card-content no-padding>
<ion-badge>60 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/03.jpg">
<ion-card-content no-padding>
<ion-badge>73 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
</ion-slides>
<ion-item color="light">
<ion-label>
<h2>Plâts</h2>
</ion-label>
</ion-item>
<ion-slides pager="false" scrollbar="true">
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/02.jpg">
<ion-card-content no-padding>
<ion-badge>55 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/01.jpg">
<ion-card-content no-padding>
<ion-badge>45 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/04.jpg">
<ion-card-content no-padding>
<ion-badge>66 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/03.jpg">
<ion-card-content no-padding>
<ion-badge>49 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
<ion-slide no-padding>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/02.jpg">
<ion-card-content no-padding>
<ion-badge>65 DH</ion-badge>
</ion-card-content>
</ion-card>
<ion-card class="menu-card">
<img src="../../../assets/img/demo/dishes/01.jpg">
<ion-card-content no-padding>
<ion-badge>55 DH</ion-badge>
</ion-card-content>
</ion-card>
</ion-slide>
</ion-slides>
</ion-content>
\ No newline at end of file
.menu-card {
position: relative;
ion-badge {
position: absolute;
bottom: 0;
right: 0;
}
}
\ No newline at end of file
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { EtablissementPage } from './etablissement.page';
describe('EtablissementPage', () => {
let component: EtablissementPage;
let fixture: ComponentFixture<EtablissementPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ EtablissementPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(EtablissementPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-etablissement',
templateUrl: './etablissement.page.html',
styleUrls: ['./etablissement.page.scss'],
})
export class EtablissementPage implements OnInit {
slidesOpts = {
on: {
beforeInit() {
const swiper = this;
swiper.classNames.push(`${swiper.params.containerModifierClass}fade`);
const overwriteParams = {
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: true,
};
swiper.params = Object.assign(swiper.params, overwriteParams);
swiper.params = Object.assign(swiper.originalParams, overwriteParams);
},
setTranslate() {
const swiper = this;
const { slides } = swiper;
for (let i = 0; i < slides.length; i += 1) {
const $slideEl = swiper.slides.eq(i);
const offset$$1 = $slideEl[0].swiperSlideOffset;
let tx = -offset$$1;
if (!swiper.params.virtualTranslate) tx -= swiper.translate;
let ty = 0;
if (!swiper.isHorizontal()) {
ty = tx;
tx = 0;
}
const slideOpacity = swiper.params.fadeEffect.crossFade
? Math.max(1 - Math.abs($slideEl[0].progress), 0)
: 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
$slideEl
.css({
opacity: slideOpacity,
})
.transform(`translate3d(${tx}px, ${ty}px, 0px)`);
}
},
setTransition(duration) {
const swiper = this;
const { slides, $wrapperEl } = swiper;
slides.transition(duration);
if (swiper.params.virtualTranslate && duration !== 0) {
let eventTriggered = false;
slides.transitionEnd(() => {
if (eventTriggered) return;
if (!swiper || swiper.destroyed) return;
eventTriggered = true;
swiper.animating = false;
const triggerEvents = ['webkitTransitionEnd', 'transitionend'];
for (let i = 0; i < triggerEvents.length; i += 1) {
$wrapperEl.trigger(triggerEvents[i]);
}
});
}
},
}
}
constructor() { }
ngOnInit() {
}
}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { GagnerPointsPage } from './gagner-points.page';
const routes: Routes = [
{
path: '',
component: GagnerPointsPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [GagnerPointsPage]
})
export class GagnerPointsPageModule {}
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button>
<!-- <ion-icon name="menu" size="large"></ion-icon> -->
</ion-menu-button>
</ion-buttons>
<ion-title>Gagner des points</ion-title>
<ion-button slot="end" color="secondary" size="small">2600 points</ion-button>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-list-header>
Les offres gagnantes
</ion-list-header>
<ion-item>
<ion-badge slot="start" color="primary">+500</ion-badge>
<ion-label>
<ion-text color="primary">Invitez cinq amis</ion-text>
<h3>Sur l'application</h3>
<p class="ion-text-wrap">Invitez cinq amis à installer l'application</p>
</ion-label>
<ion-icon name="arrow-dropright-circle" slot="end" color="success" size="large"></ion-icon>
</ion-item>
<ion-item>
<ion-badge slot="start" color="primary">+600</ion-badge>
<ion-label>
<ion-text color="primary">Acheter une batterie</ion-text>
<h3>Batterie Bosch Kenitra</h3>
<p class="ion-text-wrap">Achetez n'importe quelle batterie de chez notre partenaire.</p>
</ion-label>
<ion-button slot="end" fill="outline">Voir l'offre</ion-button>
</ion-item>
<ion-item>
<ion-badge slot="start" color="success">+100</ion-badge>
<ion-label>
<ion-text>Acheter 3 petits-déjeuner</ion-text>
<h3>The green place</h3>
<p class="ion-text-wrap">Offrez-vous trois petits-déjeuner au prix de deux!</p>
</ion-label>
<ion-button slot="end" fill="outline">Voir l'offre</ion-button>
</ion-item>
<ion-item>
<ion-badge slot="start" color="warning">+150</ion-badge>
<ion-label>
<ion-text color="primary">Acheter un menu testeur</ion-text>
<h3>Hollywood café restaurant</h3>
<p class="ion-text-wrap">Offrez-vous trois petits-déjeuner au prix de deux!</p>
</ion-label>
<ion-button slot="end" fill="outline">Voir l'offre</ion-button>
</ion-item>
</ion-list>
</ion-content>
\ No newline at end of file
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { GagnerPointsPage } from './gagner-points.page';
describe('GagnerPointsPage', () => {
let component: GagnerPointsPage;
let fixture: ComponentFixture<GagnerPointsPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ GagnerPointsPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(GagnerPointsPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-gagner-points',
templateUrl: './gagner-points.page.html',
styleUrls: ['./gagner-points.page.scss'],
})
export class GagnerPointsPage implements OnInit {
constructor() { }
ngOnInit() {
}
}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { LoginPage } from './login.page';
const routes: Routes = [
{
path: '',
component: LoginPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [LoginPage]
})
export class LoginPageModule {}
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button>
<!-- <ion-icon name="menu" size="large"></ion-icon> -->
</ion-menu-button>
</ion-buttons>
<ion-title>Login</ion-title>
</ion-toolbar>
</ion-header>
<ion-content text-center color="primary" padding>
<!-- <img src="../../../assets/logo-full-white.png" /> -->
<ion-icon name="unlock" class="key-logo"></ion-icon>
<!-- <ion-card>
<form #form="ngForm" (ngSubmit)="login(form)">
<ion-grid>
<ion-row justify-content-center>
<ion-col align-self-center size-md="6" size-lg="5" size-xs="12">
<div text-center>
<h3>Login</h3>
</div>
<div padding>
<ion-item>
<ion-input name="email" type="email" placeholder="your@email.com" ngModel required></ion-input>
</ion-item>
<ion-item>
<ion-input name="password" type="password" placeholder="Password" ngModel required></ion-input>
</ion-item>
</div>
<div padding>
<ion-button size="large" type="submit" [disabled]="form.invalid" expand="block">Login</ion-button>
</div>
</ion-col>
</ion-row>
</ion-grid>
</form>
</ion-card> -->
<form #form="ngForm" (ngSubmit)="login(form)">
<ion-card color="light" no-padding no-margin>
<ion-card-content no-padding>
<ion-item>
<!-- <ion-label position="floating">Email :</ion-label> -->
<ion-input name="email" type="email" placeholder="adresse@email.com" ngModel required></ion-input>
</ion-item>
<ion-item lines="none">
<!-- <ion-label position="floating">Mot de passe :</ion-label> -->
<ion-input name="password" type="password" placeholder="Mot de passe" ngModel required></ion-input>
</ion-item>
</ion-card-content>
</ion-card>
<a href="javascript:;">
<ion-text color="light">
Mot de passe oublié?
</ion-text>
</a>
<ion-item-divider color="primary"> </ion-item-divider>
<ion-button color="dark" expand="block" type="submit" [disabled]="form.invalid" no-margin>Connexion
</ion-button>
</form>
<ion-item-divider color="primary" lines="none"> </ion-item-divider>
<ion-item-divider color="primary" justify-content-center>
Se connecter avec Facebook ou Google
</ion-item-divider>
<ion-grid>
<ion-row>
<ion-col>
<ion-button expand="block" class="btn-fb" no-margin>
<ion-icon name="logo-facebook"></ion-icon>
</ion-button>
</ion-col>
<ion-col>
<ion-button color="light" expand="block" class="btn-g" no-margin>
<ion-icon name="logo-google"></ion-icon>
</ion-button>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
\ No newline at end of file
ion-icon.key-logo {
border: 1px solid #fff;
font-size: 128px;
padding: 30px;
margin-bottom: 30px;
border-radius: 100px;
}
.btn-fb {
--background: #3c5a99;
ion-icon {
color: #ffffff;
}
}
.btn-g {
ion-icon {
color: var(--ion-color-g, #cc3333);
}
}
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { LoginPage } from './login.page';
describe('LoginPage', () => {
let component: LoginPage;
let fixture: ComponentFixture<LoginPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ LoginPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(LoginPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-login',
templateUrl: './login.page.html',
styleUrls: ['./login.page.scss'],
})
export class LoginPage implements OnInit {
login: any;
constructor() { }
ngOnInit() {
}
}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { LotsAGagnerPage } from './lots-a-gagner.page';
const routes: Routes = [
{
path: '',
component: LotsAGagnerPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
declarations: [LotsAGagnerPage]
})
export class LotsAGagnerPageModule {}
<ion-header>
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-menu-button>
<!-- <ion-icon name="menu" size="large"></ion-icon> -->
</ion-menu-button>
</ion-buttons>
<ion-title>Lots à gagner</ion-title>
<ion-button slot="end" color="secondary" size="small">2600 points</ion-button>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item>
<ion-icon name="pin" size="large"></ion-icon>
<ion-label>
<h2>eTicket Allo Testeurs (50 DH)</h2>
<h3>
<ion-badge>5000 points</ion-badge>
</h3>
<p>Un bon d'achat d'une valeur de 50 DH, valable chez tous nos partenaires, et magasin qui acceptent le paiement par eTicket Allo Testeurs</p>
</ion-label>
</ion-item>
</ion-list>
</ion-content>
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { LotsAGagnerPage } from './lots-a-gagner.page';
describe('LotsAGagnerPage', () => {
let component: LotsAGagnerPage;
let fixture: ComponentFixture<LotsAGagnerPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ LotsAGagnerPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(LotsAGagnerPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-lots-a-gagner',
templateUrl: './lots-a-gagner.page.html',
styleUrls: ['./lots-a-gagner.page.scss'],
})
export class LotsAGagnerPage implements OnInit {
constructor() { }
ngOnInit() {
}
}
...@@ -10,7 +10,6 @@ ion-slides { ...@@ -10,7 +10,6 @@ ion-slides {
text-align: justify; text-align: justify;
} }
} }
.swiper-pagination-bullet-active {
background-color: var(--ion-color-light, #ffffff); --bullet-background-active: var(--ion-color-light, #ffffff) !important;
}
} }
...@@ -5,8 +5,6 @@ import { Routes, RouterModule } from '@angular/router'; ...@@ -5,8 +5,6 @@ import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular'; import { IonicModule } from '@ionic/angular';
// import { NoBorderDirective } from '../../directives/no-border.directive';
import { MenuPage } from './menu.page'; import { MenuPage } from './menu.page';
const routes: Routes = [ const routes: Routes = [
...@@ -24,10 +22,6 @@ const routes: Routes = [ ...@@ -24,10 +22,6 @@ const routes: Routes = [
loadChildren: '../dashboard/dashboard.module#DashboardPageModule' loadChildren: '../dashboard/dashboard.module#DashboardPageModule'
}, },
{ {
path: 'etablissement',
loadChildren: '../etablissement/etablissement.module#EtablissementPageModule'
},
{
path: 'partenaires', path: 'partenaires',
loadChildren: '../partenaires/partenaires.module#PartenairesPageModule' loadChildren: '../partenaires/partenaires.module#PartenairesPageModule'
}, },
...@@ -42,18 +36,6 @@ const routes: Routes = [ ...@@ -42,18 +36,6 @@ const routes: Routes = [
{ {
path: 'a-propos', path: 'a-propos',
loadChildren: '../a-propos/a-propos.module#AProposPageModule' loadChildren: '../a-propos/a-propos.module#AProposPageModule'
},
{
path: 'gagner-points',
loadChildren: '../gagner-points/gagner-points.module#GagnerPointsPageModule'
},
{
path: 'lots-a-gagner',
loadChildren: '../lots-a-gagner/lots-a-gagner.module#LotsAGagnerPageModule'
},
{
path: 'login',
loadChildren: '../login/login.module#LoginPageModule'
} }
] ]
} }
......
<ion-menu contentId="content"> <ion-menu contentId="content">
<ion-content>
<ion-header>
<ion-toolbar color="primary">
<!-- <ion-title>Menu</ion-title> -->
<ion-avatar size="large" slot="start" class="ion-margin-start">
<img src="../../../assets/img/avatar.jpeg">
</ion-avatar>
<ion-item color="primary" lines="none">
<ion-label>
<h2>Nabil Sadki</h2>
<h3>Premium</h3>
<p>
<ion-badge color="light">1000 points</ion-badge>
</p>
</ion-label>
<ion-button fill="outline" slot="end" color="light">Modifier</ion-button>
</ion-item>
</ion-toolbar>
</ion-header>
<ion-content>
<div *ngFor="let p of pages"> <div *ngFor="let p of pages">
......
...@@ -32,31 +32,6 @@ export class MenuPage implements OnInit { ...@@ -32,31 +32,6 @@ export class MenuPage implements OnInit {
title: 'A propos', title: 'A propos',
url: '/app/a-propos', url: '/app/a-propos',
icon: 'alert' icon: 'alert'
},
{
title: 'Experimental',
children: [
{
title: 'Etablissement',
url: '/app/etablissement',
icon: 'business'
},
{
title: 'Gagner des points',
url: '/app/gagner-points',
icon: 'gift'
},
{
title: 'Lots à gagner',
url: '/app/lots-a-gagner',
icon: 'gift'
},
{
title: 'Login',
url: '/app/login',
icon: 'key'
},
]
} }
]; ];
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { LoadingController } from '@ionic/angular'; import { LoadingController } from '@ionic/angular';
// import { ActivatedRoute } from '@angular/router';
import { TripService } from '../../services/trip-service'; import { TripService } from '../../services/trip-service';
import { AlloService } from '../../services/allo-service'; import { AlloService } from '../../services/allo-service';
...@@ -14,8 +15,10 @@ export class PartenairesListPage implements OnInit { ...@@ -14,8 +15,10 @@ export class PartenairesListPage implements OnInit {
public partenairesList: Array<any> = []; public partenairesList: Array<any> = [];
public offresList: Array<any> = []; public offresList: Array<any> = [];
private loading: any; private loading: any;
// private partnerId: any = null;
constructor( constructor(
// private activatedRoute: ActivatedRoute,
public loadingController: LoadingController, public loadingController: LoadingController,
public _ALLO: AlloService, public _ALLO: AlloService,
public _TRIP: TripService public _TRIP: TripService
...@@ -56,7 +59,8 @@ export class PartenairesListPage implements OnInit { ...@@ -56,7 +59,8 @@ export class PartenairesListPage implements OnInit {
ngOnInit() { ngOnInit() {
console.log('ngOnInit'); console.log('ngOnInit');
this._ALLO.presentLoading(); // this.partnerId = this.activatedRoute.snapshot.paramMap.get('partnerid');
// this._ALLO.presentLoading();
} }
ionViewDidEnter() { ionViewDidEnter() {
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { TripService } from '../../services/trip-service';
@Component({ @Component({
selector: 'app-start', selector: 'app-start',
...@@ -7,10 +8,14 @@ import { Component, OnInit } from '@angular/core'; ...@@ -7,10 +8,14 @@ import { Component, OnInit } from '@angular/core';
}) })
export class StartPage implements OnInit { export class StartPage implements OnInit {
constructor() { } constructor(
public _TRIP: TripService
) {
this._TRIP.fetchData(true);
}
ngOnInit() { ngOnInit() {
console.log('ngOnInit Start page'); // console.log('ngOnInit Start page');
} }
} }
...@@ -213,11 +213,11 @@ export class LocationService { ...@@ -213,11 +213,11 @@ export class LocationService {
text: 'Vous êtes tout prêt de ce partenaire!', text: 'Vous êtes tout prêt de ce partenaire!',
led: 'FFFFFF', led: 'FFFFFF',
attachments: [partner.thumb], attachments: [partner.thumb],
vibrate: true, vibrate: true
actions: [ // actions: [
{ id: 'offres', partner: partner.id, title: 'Toutes les offres' }, // { id: 'offres', partner: partner.id, title: 'Toutes les offres' },
{ id: 'fiche', partner: partner.id, title: 'Fiche du partenaire' } // { id: 'fiche', partner: partner.id, title: 'Fiche du partenaire' }
] // ]
}); });
this.notificationsToSave.push({ this.notificationsToSave.push({
id: partner.id, id: partner.id,
......
...@@ -35,7 +35,6 @@ export class TripService { ...@@ -35,7 +35,6 @@ export class TripService {
this.setData(json); this.setData(json);
}); });
} else { } else {
console.log('hhh');
this.http.get('https://www.allo-testeurs.com/services.json?' + Math.random()) this.http.get('https://www.allo-testeurs.com/services.json?' + Math.random())
.subscribe((data) => { .subscribe((data) => {
this.storage.set('REST_services', data); this.storage.set('REST_services', data);
......
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