Navbar v1

thierry
Viiciouss 7 years ago
parent 021284c4b4
commit 85d1d00f6a

@ -1,2 +1 @@
<navigationBar></navigationBar>
<router-outlet></router-outlet>

@ -28,6 +28,8 @@ import { ScannerCarteComponent } from './components/opCommercial/scanner-carte/s
import { EditProfilComponent } from './components/profil/edit-profil/edit-profil.component';
import { DebiterCarteComponent } from './components/opCommercial/debiter-carte/debiter-carte.component';
import { CarteEnvoyerComponent } from './components/carteParrainage/carte-envoyer/carte-envoyer.component';
import { NavCommercantComponent } from './components/navigationBar/nav-commercant/nav-commercant.component';
import { NavParrainComponent } from './components/navigationBar/nav-parrain/nav-parrain.component';
@ -46,7 +48,9 @@ import { CarteEnvoyerComponent } from './components/carteParrainage/carte-envoye
EditProfilComponent,
ScannerCarteComponent,
DebiterCarteComponent,
CarteEnvoyerComponent
CarteEnvoyerComponent,
NavCommercantComponent,
NavParrainComponent
],
imports: [
BrowserModule,

@ -1,6 +1,7 @@
<app-nav-commercant></app-nav-commercant>
<div class="container">
<h4 class="h5 text-center mb-4" style="padding-top: 5%;">Historique des cartes envoyées</h4>
<button class="btn btn-primary btn-rounded waves-light" (click)="goToOpCom()">Retour aux Opérations commerciales</button>
<!--<button class="btn btn-primary btn-rounded waves-light" (click)="goToOpCom()">Retour aux Opérations commerciales</button>-->
<div class="list-group">
<div *ngFor="let op of opCommData | async; let i = index;">
<div class="card mainCard">

@ -1,10 +1,7 @@
<app-nav-parrain></app-nav-parrain>
<div class="container" style="padding-top:5%">
<h4 class="h5 text-center mb-4" style="padding-top: 5%;">Liste de vos cartes de parrainage</h4>
<div class="btn-group">
<button class="btn btn-default btn-rounded waves-light" (click)="goToProfil()">Profil</button>
</div>
<div class="list-group">
<div class="card mainCard" *ngFor="let crt of carteParrData | async">
<div class="row">

@ -1,3 +1,4 @@
<navigationBar></navigationBar>
<!--Main Navigation-->
<header>

@ -0,0 +1,38 @@
<!--Navbar-->
<navbar SideClass="navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar indigo">
<logo>
<a class="logo navbar-brand waves-light" mdbRippleRadius><strong>ParrainApp</strong></a>
</logo>
<links>
<ul class="navbar-nav mr-auto">
<li class="nav-item active waves-light" [class.active]="opCommercialLink.classList.contains('active')"> <a class="nav-link waves-light" #opCommercialLink routerLink="/opCommercial" routerLinkActive="active">Opération Commerciale</a></li>
<li class="nav-item active waves-light" [class.active]="historiqueCarteLink.classList.contains('active')"> <a class="nav-link waves-light" #historiqueCarteLink routerLink="/historiqueCarte" routerLinkActive="active">Historique des cartes de parrainages</a></li>
</ul>
<!-- <li class="nav-item waves-light" mdbRippleRadius *ngIf="afficheLogout === true" >
<a class="nav-link" (click)="logout()">Logout</a>
</li>
-->
<ul class="navbar-nav nav-flex-icons">
<li class="nav-item avatar">
<ul class="navbar-nav mr-auto">
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link dropdown-toggle waves-effect waves-light" id="navbarDropdownMenuLink-5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="{{avatarCommercant}}" class="circle-avatar img-fluid rounded-circle"></a>
</li>
</ul>
</li>
<li class="nav-item dropdown" dropdown>
<a dropdownToggle mdbRippleRadius type="button" class="nav-link dropdown-toggle waves-light" mdbRippleRadius>
{{nameCommercant}}<span class="caret"></span></a>
<div *dropdownMenu class="dropdown-menu dropdown dropdown-primary" role="menu">
<a class="dropdown-item waves-light" [routerLink]="['/profil']">Mon profil</a>
<div class="divider dropdown-divider"></div>
<a class="dropdown-item waves-light" mdbRippleRadius (click)="logout()">Se déconnecter</a>
</div>
</li>
</ul>
</links>
</navbar>

@ -0,0 +1,23 @@
logo a, a:hover {
color: white;
text-decoration: none;
cursor: default;
}
logo a:hover {
color: white;
text-decoration: none;
}
.top-nav-collapse {
background-color: #82b1ff !important;
}
.navbar:not(.top-nav-collapse) {
background: transparent !important;
}
@media (max-width: 768px) {
.navbar:not(.top-nav-collapse) {
background: #82b1ff !important;
}
}

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NavCommercantComponent } from './nav-commercant.component';
describe('NavCommercantComponent', () => {
let component: NavCommercantComponent;
let fixture: ComponentFixture<NavCommercantComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ NavCommercantComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(NavCommercantComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,72 @@
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { AuthService } from '../../../services/auth/auth.service';
import { Observable } from 'rxjs/Observable';
import { Commercant } from '../../../../models/Commercant';
import { Router } from '@angular/router';
@Component({
selector: 'app-nav-commercant',
templateUrl: './nav-commercant.component.html',
styleUrls: ['./nav-commercant.component.scss'],
providers: [AuthService]
})
export class NavCommercantComponent implements OnInit {
user: Observable<firebase.User>;
localUser: any;
commercant: Commercant;
profileData: FirebaseListObservable<any[]>;
imageProfil: string;
role: any;
nameCommercant: string;
avatarCommercant: string;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService) {
this.nameCommercant = '';
this.avatarCommercant = '';
this.user = afAuth.authState;
this.user.subscribe(
(auth) => {
if (auth) {
console.log(auth.displayName);
this.profileData = this.afDb.list('/' + auth.displayName + '/', {
query: {
orderByChild: 'uid',
equalTo: auth.uid.toString()
}
}
);
this.profileData.forEach(utilisateur => {
utilisateur.forEach(element => {
this.commercant = element;
console.log(this.commercant.commercialName);
if (this.commercant !== undefined) {
console.log(this.commercant.image.downloadURL);
this.nameCommercant = this.commercant.commercialName;
this.avatarCommercant = this.commercant.image.downloadURL;
}
});
});
}
}
);
}
logout() {
firebase.auth().signOut();
this.authService.logout();
this.user = null;
this.router.navigate(['/']);
}
ngOnInit() {
}
}

@ -0,0 +1,38 @@
<!--Navbar-->
<navbar SideClass="navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar indigo">
<logo>
<a class="logo navbar-brand waves-light" mdbRippleRadius><strong>ParrainApp</strong></a>
</logo>
<links>
<ul class="navbar-nav mr-auto">
<li class="nav-item active waves-light" [class.active]="carteParrainLink.classList.contains('active')"> <a class="nav-link waves-light" #carteParrainLink routerLink="/carteParrainageComponent" routerLinkActive="active">Liste des cartes de parrainage</a></li>
<!--<li class="nav-item active waves-light" [class.active]="historiqueCarteLink.classList.contains('active')"> <a class="nav-link waves-light" #historiqueCarteLink routerLink="/historiqueCarte" routerLinkActive="active">Historique des cartes de parrainages</a></li>-->
</ul>
<!-- <li class="nav-item waves-light" mdbRippleRadius *ngIf="afficheLogout === true" >
<a class="nav-link" (click)="logout()">Logout</a>
</li>
-->
<ul class="navbar-nav nav-flex-icons">
<li class="nav-item avatar">
<ul class="navbar-nav mr-auto">
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link dropdown-toggle waves-effect waves-light" id="navbarDropdownMenuLink-5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><img src="{{avatarParrain}}" class="img-fluid rounded-circle z-depth-0 hoverZoomLink"></a>
</li>
</ul>
</li>
<li class="nav-item dropdown" dropdown>
<a dropdownToggle mdbRippleRadius type="button" class="nav-link dropdown-toggle waves-light" mdbRippleRadius>
{{nameParrain}}<span class="caret"></span></a>
<div *dropdownMenu class="dropdown-menu dropdown dropdown-primary" role="menu">
<a class="dropdown-item waves-light" [routerLink]="['/profil']">Mon profil</a>
<div class="divider dropdown-divider"></div>
<a class="dropdown-item waves-light" mdbRippleRadius (click)="logout()">Se déconnecter</a>
</div>
</li>
</ul>
</links>
</navbar>

@ -0,0 +1,23 @@
logo a, a:hover {
color: white;
text-decoration: none;
cursor: default;
}
logo a:hover {
color: white;
text-decoration: none;
}
.top-nav-collapse {
background-color: #82b1ff !important;
}
.navbar:not(.top-nav-collapse) {
background: transparent !important;
}
@media (max-width: 768px) {
.navbar:not(.top-nav-collapse) {
background: #82b1ff !important;
}
}

@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NavParrainComponent } from './nav-parrain.component';
describe('NavParrainComponent', () => {
let component: NavParrainComponent;
let fixture: ComponentFixture<NavParrainComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ NavParrainComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(NavParrainComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,71 @@
import { Component, OnInit } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2/database';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';
import { AuthService } from '../../../services/auth/auth.service';
import { Observable } from 'rxjs/Observable';
import { Parrain } from '../../../../models/Parrain';
import { Router } from '@angular/router';
@Component({
selector: 'app-nav-parrain',
templateUrl: './nav-parrain.component.html',
styleUrls: ['./nav-parrain.component.scss'],
providers: [AuthService]
})
export class NavParrainComponent implements OnInit {
user: Observable<firebase.User>;
localUser: any;
parrain: Parrain;
profileData: FirebaseListObservable<any[]>;
imageProfil: string;
role: any;
nameParrain: string;
avatarParrain: string;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
private router: Router, private authService: AuthService) {
this.nameParrain = '';
this.avatarParrain = '';
this.user = afAuth.authState;
this.user.subscribe(
(auth) => {
if (auth) {
console.log(auth.displayName);
this.profileData = this.afDb.list('/' + auth.displayName + '/', {
query: {
orderByChild: 'uid',
equalTo: auth.uid.toString()
}
}
);
this.profileData.forEach(utilisateur => {
utilisateur.forEach(element => {
this.parrain = element;
console.log(this.parrain.firstname);
if (this.parrain !== undefined) {
console.log(this.parrain.image.downloadURL);
this.nameParrain = this.parrain.firstname;
this.avatarParrain = this.parrain.image.downloadURL;
}
});
});
}
}
);
}
logout() {
firebase.auth().signOut();
this.authService.logout();
this.user = null;
this.router.navigate(['/']);
}
ngOnInit() {
}
}

@ -1,23 +1,18 @@
<!--Navbar-->
<navbar SideClass="navbar navbar-expand-lg navbar-dark fixed-top scrolling-navbar indigo">
<logo>
<a class="logo navbar-brand waves-light" mdbRippleRadius href="#"><strong>ParrainApp</strong></a>
<a class="logo navbar-brand waves-light" mdbRippleRadius><strong>ParrainApp</strong></a>
</logo>
<links>
<ul class="navbar-nav mr-auto">
<li class="nav-item active waves-light" mdbRippleRadius>
<a class="nav-link" >Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link" >{{navElement1}}</a>
<a class="nav-link" >A propos</a>
</li>
<li class="nav-item waves-light" mdbRippleRadius>
<a class="nav-link" >{{navElement2}}</a>
</li>
<li class="nav-item waves-light" mdbRippleRadius >
<a class="nav-link" >Logout</a>
<a class="nav-link" >Fonctionnalités</a>
</li>
<!-- <li class="nav-item waves-light" mdbRippleRadius *ngIf="afficheLogout === true" >
<a class="nav-link" (click)="logout()">Logout</a>
</li>

@ -1,3 +1,15 @@
logo a, a:hover {
color: white;
text-decoration: none;
cursor: default;
}
logo a:hover {
color: white;
text-decoration: none;
}
.top-nav-collapse {
background-color: #82b1ff !important;
}

@ -30,8 +30,6 @@ export class NavigationBarComponent implements OnInit, OnDestroy{
navElement1: string;
navElement2: string;
navElement3: string;
element1: string;
element2: string;
afficheLogout: boolean;
@ -67,8 +65,6 @@ export class NavigationBarComponent implements OnInit, OnDestroy{
this.element2 = 'login';
console.log('fct dans home: ' + this.navElement1);
}
this.navElement1 = this.element1;
this.navElement2 = this.element2;
});
}

@ -1,3 +1,4 @@
<app-nav-commercant></app-nav-commercant>
<div class="container" style="padding-top: 10%">
<div class="card" style="padding: 5%;">
<div class="well">

@ -1,6 +1,4 @@
<p>
debiter-carte works!
</p>
<app-nav-commercant></app-nav-commercant>
<!--
<ul>

@ -8,6 +8,7 @@
</li>
</ul>-->
<app-nav-commercant></app-nav-commercant>
<div class="container" style="padding-top:10%">
<div class="card">

@ -617,7 +617,7 @@ export class EnvoyerCarteComponent implements OnInit, OnDestroy {
context.drawImage(img, imgLeft, imgTop);
};
document.body.appendChild(canvas);
Canvas2Image.saveAsPNG(canvas, 50, 1000);
//Canvas2Image.saveAsPNG(canvas, 250, 140);
// window.open(canvas.toDataURL('image/png'));
}
});

@ -10,11 +10,12 @@
<button (click)="goToCreaOpCom()">Nouvelle opération Commercial</button>
<button (click)="goToProfil()">Back</button>
-->
<app-nav-commercant></app-nav-commercant>
<h4 class="h5 text-center mb-4" style="padding-top: 5%;">Liste de vos operations commercials</h4>
<div class="row" style="padding-top: 5%;">
<button class="btn btn-primary btn-rounded waves-light" (click)="goToCreaOpCom()">Nouvelle opération Commerciale</button>
<button class="btn btn-primary btn-rounded waves-light" (click)="goToCarteEnvoyer()">Historique carte envoyer</button>
<button class="btn btn-default btn-rounded waves-light" (click)="goToProfil()">Profil</button>
<!--<button class="btn btn-primary btn-rounded waves-light" (click)="goToCreaOpCom()">Nouvelle opération Commerciale</button>-->
<!--<button class="btn btn-primary btn-rounded waves-light" (click)="goToCarteEnvoyer()">Historique carte envoyer</button>-->
<!--<button class="btn btn-default btn-rounded waves-light" (click)="goToProfil()">Profil</button>-->
</div>
<div class="list-group">
<div class="card mainCard" *ngFor="let op of opCommData | async">

@ -6,7 +6,7 @@
</li>
</ul>-->
<app-nav-commercant></app-nav-commercant>
<div class="container" style="padding-top:10%">
<div class="card">
<div class="well">

@ -1,34 +1,37 @@
<div class="container" style="padding-top: 10%">
<!--<p>
Profil
</p>
<!--<app-nav-parrain *ngIf="role==='Parrain'"></app-nav-parrain>-->
<!--<app-nav-commercant *ngIf="role==='Commercant'"><app-nav-commercant>-->
<div *ngIf="(user | async)?.displayName === 'Parrain'" >
<app-nav-parrain></app-nav-parrain>
<div class="container" style="padding-top: 10%">
<!--<p>
Profil
</p>
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Statut: {{ (user | async)?.displayName }} </div> -->
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Statut: {{ (user | async)?.displayName }} </div> -->
<!--Grid row-->
<!--Grid row-->
<!--Grid column-->
<div class="col-md-12" style="padding-right: 2%; padding-left: 2%;">
<!--Grid column-->
<div class="col-md-12" style="padding-right: 2%; padding-left: 2%;">
<!--Card-->
<div class="card testimonial-card">
<!--Card-->
<div class="card testimonial-card">
<!--Bacground color-->
<div class="card-up aqua-gradient">
</div>
<!--Bacground color-->
<div class="card-up aqua-gradient">
</div>
<!--Avatar-->
<div class="avatar"><img src="{{imageProfil}}" class="rounded-circle img-responsive">
</div>
<!--Avatar-->
<div class="avatar"><img src="{{imageProfil}}" class="rounded-circle img-responsive">
</div>
<div class="card-body">
<!--Name-->
<div class="card-body">
<!--Name-->
<div *ngIf="(user | async)?.displayName === 'Parrain'" >
<div>
<h4 class="card-title"><p>Salut {{localUser.firstname}} {{localUser.familyname}} {{localUser.uid}} </p></h4>
<hr>
<ul>
@ -43,18 +46,83 @@
<p class="text-left"><label class="text-uppercase"> idCard </label>: {{localUser.idCard}}</p>
<p class="text-left"><label class="text-uppase">secretCode </label> : {{localUser.secretCode}}</p>
</ul>
<!--<div *ngFor="let user of opCommData | async">
User is {{user.firstname}}
</div>-->
<button class="btn btn-primary btn-rounded waves-light" (click)="goToCarte()">Cartes</button>
<div *ngIf="(user | async)?.displayName === 'Commercant'" >
<div>
<h4 class="card-title"><p>Salut {{localUser.commercialName}} {{localUser.uid}} </p></h4>
<hr>
<ul>
<p class="text-left"><label class="text-uppercase"> raisonSociale</label> : {{localUser.raisonSociale}}</p>
<p class="text-left"><label class="text-uppercase"> siret </label>: {{localUser.siret}}</p>
<p class="text-left"><label class="text-uppercase">email </label> : {{localUser.email}}</p>
<p class="text-left"><label class="text-uppercase"> emailVerified </label> : {{localUser.emailVerified}}</p>
<p class="text-left"><label class="text-uppercase">dateInscription </label>: {{localUser.dateInscription}}</p>
<p class="text-left"><label class="text-uppercase">status </label>: {{localUser.status}}</p>
</ul>
</div>
<!--<div *ngFor="let user of profileData | async">
User is {{user.commercialName}}
</div>-->
<!--Quotation-->
<!--<p><i class="fa fa-quote-left"></i> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos, adipisci</p>-->
</div>
<button class="btn btn-orange btn-rounded waves-light" (click)="goToEditProfile()">Editer profile</button>
<button class="btn btn-default btn-rounded waves-light" (click)="logout()"> <!--*ngIf="(user | async)?.uid"-->Logout</button>
</div>
</div>
<!--/.Card-->
</div>
<!--Grid column-->
<!--Grid row-->
</div>
</div>
<div *ngIf="(user | async)?.displayName === 'Commercant'" >
<app-nav-commercant></app-nav-commercant>
<div class="container" style="padding-top: 10%">
<!--<p>
Profil
</p>
<div> ID: {{ (user | async)?.uid }} </div>
<div> Email: {{ (user | async)?.email }} </div>
<div> Statut: {{ (user | async)?.displayName }} </div> -->
<!--<div *ngFor="let user of opCommData | async">
User is {{user.firstname}}
</div>-->
<button class="btn btn-primary btn-rounded waves-light" (click)="goToCarte()">Cartes</button>
<!--Grid row-->
<!--Grid column-->
<div class="col-md-12" style="padding-right: 2%; padding-left: 2%;">
<!--Card-->
<div class="card testimonial-card">
<!--Bacground color-->
<div class="card-up aqua-gradient">
</div>
<div *ngIf="(user | async)?.displayName === 'Commercant'" >
<!--Avatar-->
<div class="avatar"><img src="{{imageProfil}}" class="rounded-circle img-responsive">
</div>
<div>
<div class="card-body">
<!--Name-->
<h4 class="card-title"><p>Salut {{localUser.commercialName}} {{localUser.uid}} </p></h4>
<hr>
<ul>
@ -65,27 +133,36 @@
<p class="text-left"><label class="text-uppercase">dateInscription </label>: {{localUser.dateInscription}}</p>
<p class="text-left"><label class="text-uppercase">status </label>: {{localUser.status}}</p>
</ul>
</div>
<!--<div *ngFor="let user of profileData | async">
User is {{user.commercialName}}
</div>-->
<!--Quotation-->
<!--<p><i class="fa fa-quote-left"></i> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos, adipisci</p>-->
<button class="btn btn-primary btn-rounded waves-light" (click)="goToOpCom()">Opération Commerciales</button>
<!--<div *ngFor="let user of profileData | async">
User is {{user.commercialName}}
</div>-->
<!--Quotation-->
<!--<p><i class="fa fa-quote-left"></i> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos, adipisci</p>-->
<button class="btn btn-orange btn-rounded waves-light" (click)="goToEditProfile()">Editer profile</button>
<button class="btn btn-default btn-rounded waves-light" (click)="logout()"> <!--*ngIf="(user | async)?.uid"-->Logout</button>
</div>
<button class="btn btn-orange btn-rounded waves-light" (click)="goToEditProfile()">Editer profile</button>
<button class="btn btn-default btn-rounded waves-light" (click)="logout()"> <!--*ngIf="(user | async)?.uid"-->Logout</button>
</div>
<!--/.Card-->
</div>
<!--/.Card-->
<!--Grid column-->
<!--Grid row-->
</div>
<!--Grid column-->
</div>
<!--Grid row-->
</div>

@ -31,6 +31,7 @@ export class ProfilComponent implements OnInit, OnDestroy {
commercant: Commercant;
profileData: FirebaseListObservable<any[]>;
imageProfil: string;
role: any;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase,
@ -59,11 +60,13 @@ export class ProfilComponent implements OnInit, OnDestroy {
this.localUser = element;
this.parrain = element;
this.imageProfil = this.parrain.image.downloadURL;
this.role = 'Parrain';
} else if (auth.displayName === 'Commercant') {
this.localUser = new Commercant();
this.localUser = element;
this.commercant = element;
this.imageProfil = this.commercant.image.downloadURL;
this.role = 'Commercant';
}
});
});

Loading…
Cancel
Save