Commit f3891add by Nabil Sadki

Edit profil

parent 36dcfd0c
...@@ -23,6 +23,7 @@ import { environment } from 'src/environments/environment'; ...@@ -23,6 +23,7 @@ import { environment } from 'src/environments/environment';
import { AuthService } from './services/auth.service'; import { AuthService } from './services/auth.service';
import { AuthGuardService } from './services/auth-guard.service'; import { AuthGuardService } from './services/auth-guard.service';
import { LoginHelpPageModule } from './modals/login-help/login-help.module'; import { LoginHelpPageModule } from './modals/login-help/login-help.module';
import { PipesModule } from './pipes/pipes.module';
// import { AngularFireAuthModule } from '@angular/fire/auth'; // import { AngularFireAuthModule } from '@angular/fire/auth';
// import * as firebase from 'firebase'; // import * as firebase from 'firebase';
...@@ -41,7 +42,8 @@ import { LoginHelpPageModule } from './modals/login-help/login-help.module'; ...@@ -41,7 +42,8 @@ import { LoginHelpPageModule } from './modals/login-help/login-help.module';
driverOrder: ['websql', 'sqlite', 'indexeddb'] driverOrder: ['websql', 'sqlite', 'indexeddb']
}), }),
HttpClientModule, HttpClientModule,
LoginHelpPageModule LoginHelpPageModule,
PipesModule
], ],
providers: [ providers: [
StatusBar, StatusBar,
......
...@@ -6,6 +6,7 @@ import { Routes, RouterModule } from '@angular/router'; ...@@ -6,6 +6,7 @@ import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular'; import { IonicModule } from '@ionic/angular';
import { ProfilPage } from './profil.page'; import { ProfilPage } from './profil.page';
import { PipesModule } from '../../../pipes/pipes.module';
const routes: Routes = [ const routes: Routes = [
{ {
...@@ -19,8 +20,9 @@ const routes: Routes = [ ...@@ -19,8 +20,9 @@ const routes: Routes = [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
RouterModule.forChild(routes) RouterModule.forChild(routes),
PipesModule
], ],
declarations: [ProfilPage] declarations: [ProfilPage]
}) })
export class ProfilPageModule {} export class ProfilPageModule { }
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
<ion-row padding> <ion-row padding>
<ion-col size="4"> <ion-col size="4">
<ion-avatar> <ion-avatar>
<ion-img src="../assets/img/avatar.jpeg"></ion-img> <ion-img [src]="_AUTH.infoAvatar"></ion-img>
</ion-avatar> </ion-avatar>
</ion-col> </ion-col>
<ion-col size="8"> <ion-col size="8">
<ion-text> <ion-text>
<h2>Nabil Sadki</h2> <h2>{{ _AUTH.infoFullname }}</h2>
<ion-chip color="primary" outline="true"> <ion-chip color="primary" outline="true">
<ion-icon name="star"></ion-icon> <ion-icon name="star"></ion-icon>
<ion-label>Testeur</ion-label> <ion-label>Testeur</ion-label>
...@@ -42,23 +42,23 @@ ...@@ -42,23 +42,23 @@
Ma carte testeur : Ma carte testeur :
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-icon name="card" slot="start"></ion-icon> 2019 0108 0000 0001 <ion-icon name="card" slot="start"></ion-icon> {{ _AUTH.userInfos.card_number | cardNumber }}
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-icon name="stopwatch" slot="start"></ion-icon> 08/2020 <ion-icon name="stopwatch" slot="start"></ion-icon> {{ _AUTH.userInfos.expire_at | expireAt }}
</ion-item> </ion-item>
<ion-item lines="none"> <ion-item lines="none">
<ion-icon name="person" slot="start"></ion-icon> G101010 <ion-icon name="person" slot="start"></ion-icon> {{ _AUTH.userInfos.cni }}
</ion-item> </ion-item>
</ion-card> </ion-card>
<ion-card> <ion-card>
<ion-item color="primary"> <ion-item color="primary">
Infos : Infos :
<ion-button slot="end" color="light" fill="outline" routerLink="/app/profil-edit" <ion-button slot="end" color="light" fill="outline" routerLink="/app/profil-edit" routerDirection="root"
routerDirection="root" routerLinkActive="active">Modifier</ion-button> routerLinkActive="active">Modifier</ion-button>
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-icon name="mail" slot="start"></ion-icon> monemail@allo-testeurs.com <ion-icon name="mail" slot="start"></ion-icon> {{ _AUTH.userInfos.user_email }}
</ion-item> </ion-item>
<ion-item> <ion-item>
<ion-icon name="pin" slot="start"></ion-icon> Lorem ipsum sit dolor amet <ion-icon name="pin" slot="start"></ion-icon> Lorem ipsum sit dolor amet
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { AuthService } from '../../../services/auth.service';
// import { CardNumberPipe } from '../../../pipes/card-number.pipe';
@Component({ @Component({
selector: 'app-profil', selector: 'app-profil',
...@@ -7,7 +9,9 @@ import { Component, OnInit } from '@angular/core'; ...@@ -7,7 +9,9 @@ import { Component, OnInit } from '@angular/core';
}) })
export class ProfilPage implements OnInit { export class ProfilPage implements OnInit {
constructor() { } constructor(
public _AUTH: AuthService
) { }
ngOnInit() { ngOnInit() {
} }
......
...@@ -20,14 +20,14 @@ ...@@ -20,14 +20,14 @@
<ion-row> <ion-row>
<ion-col size="4"> <ion-col size="4">
<ion-avatar> <ion-avatar>
<img src="../assets/img/avatar.jpeg"> <ion-img [src]="_AUTH.infoAvatar"></ion-img>
</ion-avatar> </ion-avatar>
</ion-col> </ion-col>
<ion-col size="8"> <ion-col size="8">
<ion-text> <ion-text>
<h4>{{ _AUTH.infoFullname }}</h4> <h4>{{ _AUTH.infoFullname }}</h4>
</ion-text> </ion-text>
<ion-chip color="light" outline="true"> <ion-chip color="light">
<ion-icon name="star"></ion-icon> <ion-icon name="star"></ion-icon>
<ion-label>Testeur</ion-label> <ion-label>Testeur</ion-label>
</ion-chip> </ion-chip>
......
...@@ -4,7 +4,7 @@ import { FormsModule } from '@angular/forms'; ...@@ -4,7 +4,7 @@ import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router'; import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular'; import { IonicModule } from '@ionic/angular';
import { SearchPipe } from '../../../pipes/search/search.pipe'; // import { SearchPipe } from '../../../pipes/search/search.pipe';
import { OffresCartePage } from './offres-carte.page'; import { OffresCartePage } from './offres-carte.page';
...@@ -22,6 +22,6 @@ const routes: Routes = [ ...@@ -22,6 +22,6 @@ const routes: Routes = [
IonicModule, IonicModule,
RouterModule.forChild(routes) RouterModule.forChild(routes)
], ],
declarations: [OffresCartePage, SearchPipe] declarations: [OffresCartePage]
}) })
export class OffresCartePageModule {} export class OffresCartePageModule {}
import { CardNumberPipe } from './card-number.pipe';
describe('CardNumberPipe', () => {
it('create an instance', () => {
const pipe = new CardNumberPipe();
expect(pipe).toBeTruthy();
});
});
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'cardNumber'
})
export class CardNumberPipe implements PipeTransform {
transform(value: any, args?: any): any {
return value.replace(/\s/g, '').replace(/(.{4})/g, '$1 ');
}
}
import { ExpireAtPipe } from './expire-at.pipe';
describe('ExpireAtPipe', () => {
it('create an instance', () => {
const pipe = new ExpireAtPipe();
expect(pipe).toBeTruthy();
});
});
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'expireAt'
})
export class ExpireAtPipe implements PipeTransform {
transform(value: any, args?: any): any {
return value.substr(4, 2) + '/' + value.substr(0, 4);
}
}
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { SearchPipe } from './search/search.pipe'; import { SearchPipe } from './search/search.pipe';
import { CardNumberPipe } from './card-number.pipe';
import { ExpireAtPipe } from './expire-at.pipe';
@NgModule({ @NgModule({
declarations: [ declarations: [
SearchPipe SearchPipe,
CardNumberPipe,
ExpireAtPipe
], ],
imports: [], imports: [],
exports: [ exports: [
SearchPipe SearchPipe,
CardNumberPipe,
ExpireAtPipe
] ]
}) })
export class PipesModule {} export class PipesModule {}
...@@ -20,6 +20,8 @@ export class AuthService { ...@@ -20,6 +20,8 @@ export class AuthService {
public infoNicename; public infoNicename;
public infoFullname; public infoFullname;
public infoEmail; public infoEmail;
public infoAvatar;
public userInfos: any;
authState = new BehaviorSubject(false); authState = new BehaviorSubject(false);
public isAnonymous = false; public isAnonymous = false;
...@@ -33,11 +35,13 @@ export class AuthService { ...@@ -33,11 +35,13 @@ export class AuthService {
private _ALLO: AlloService private _ALLO: AlloService
) { ) {
this.platform.ready().then(() => { this.platform.ready().then(() => {
this.storage.get('wpUser').then(wpUser => { this.storage.get('wpUserInfos').then(wpUserInfos => {
if (wpUser) { if (wpUserInfos) {
this.infoNicename = wpUser.user_nicename; this.infoNicename = wpUserInfos.user_nicename;
this.infoFullname = wpUser.user_display_name; this.infoFullname = wpUserInfos.display_name;
this.infoEmail = wpUser.user_email; this.infoEmail = wpUserInfos.user_email;
this.infoAvatar = wpUserInfos.avatar;
this.userInfos = wpUserInfos;
} }
}); });
this.isLoggedIn(); this.isLoggedIn();
...@@ -86,7 +90,8 @@ export class AuthService { ...@@ -86,7 +90,8 @@ export class AuthService {
logOut() { logOut() {
this.authState.next(false); this.authState.next(false);
return this.storage.remove('wpUser'); this.storage.remove('wpUser');
this.storage.remove('wpUserInfos');
} }
doLogin(values) { doLogin(values) {
...@@ -132,21 +137,23 @@ export class AuthService { ...@@ -132,21 +137,23 @@ export class AuthService {
{}, {},
{ headers: header } { headers: header }
).then( ).then(
res => { userInfos => {
console.log(res); console.log(userInfos);
resolve(res); this.storage.set('wpUserInfos', userInfos);
resolve(userInfos);
}, },
err => reject(err) err => reject(err)
); );
} else { } else {
this.http.get( this.http.get(
// Config.WORDPRESS_URL + 'wp-json/wp/v2/users/me', // Config.WORDPRESS_URL + 'wp-json/wp/v2/users/me',
Config.WORDPRESS_URL + 'wp-json/atapi/loggedinuser', Config.WORDPRESS_URL + 'wp-json/atapi/userinfos',
{ headers: { Authorization: 'Bearer ' + token } } { headers: { Authorization: 'Bearer ' + token } }
).subscribe( ).subscribe(
res => { userInfos => {
console.log(res); console.log(userInfos);
resolve(res); this.storage.set('wpUserInfos', userInfos);
resolve(userInfos);
}, },
err => reject(err) err => reject(err)
); );
......
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