diff --git a/src/app/components/footer/footer.component.html b/src/app/components/footer/footer.component.html index db97650..1ae42c2 100644 --- a/src/app/components/footer/footer.component.html +++ b/src/app/components/footer/footer.component.html @@ -1,12 +1,14 @@ + \ No newline at end of file diff --git a/src/app/components/humeur/humeur.component.html b/src/app/components/humeur/humeur.component.html index 1e0ced0..f9d9820 100644 --- a/src/app/components/humeur/humeur.component.html +++ b/src/app/components/humeur/humeur.component.html @@ -3,6 +3,7 @@

Mon humeur :

+ - +

{{monHumeurTitle}}

Je modifie mon avatar :

- + +
{{humor.title}}
diff --git a/src/app/components/humeur/humeur.component.ts b/src/app/components/humeur/humeur.component.ts index ac109a7..64cc0a6 100644 --- a/src/app/components/humeur/humeur.component.ts +++ b/src/app/components/humeur/humeur.component.ts @@ -13,7 +13,7 @@ monHumeurTitle! : string[] ; isShow: boolean; alert: any; - +// tableau des humeurs, lien vers les images et titre pour meilleure accesibilité tabHumeur= [ { title : "Je vais bien", lien : "assets/images/emoticon-heureux.png"}, { title : "Je pleure", lien : "assets/images/emoticon-pleurer.png"}, @@ -21,27 +21,32 @@ alert: any; { title : "Je suis en colère", lien : "assets/images/emoticon-insulter.png"}, { title : "Je suis en joie", lien : "assets/images/emoticon-feter.png"} ] + constructor(private membreService: MembreService, private tokenService: TokenService) { this.isShow= false; this.alert=""; - } +// récupère l'id du membre connecté (stocké dans token.service), ngOnInit(): void { const userId = this.tokenService.getCurrentMembreId(); this.membreService.getMembreId(userId).subscribe({ next: result => { - //this.monHumeurTitle= [this.tabHumeur[result.smiley].title]; this.monHumeurLien= result.smiley; - // console.log("resultat smiley ", result.smiley); } }) } +// méthode pour récupérer l'indice de l'humeur sur laquelle on a cliqué onChoixHumeur(numero: any){ this.monHumeurTitle= [this.tabHumeur[numero].title]; this.monHumeurLien= [this.tabHumeur[numero].lien]; + + + // Permet de faire la mise à jour des caractéristiques du membre + // Subscribe exécute l'observable, dont le rôle est de suivre le changement d'humeur + // et en deuxième ligne de chaque paramètre, affecte l'alerte du header this.membreService.updateHumeur(this.tabHumeur[numero].lien)?.subscribe( { next: result => { @@ -56,11 +61,13 @@ onChoixHumeur(numero: any){ } ); + console.log("humeur titre est : ", this.monHumeurTitle); console.log("humeur lien est : ", this.monHumeurLien); console.log("index humeur est : ", numero); } +// méthode pur afficher onClickCloseAlert(){ this.isShow=!this.isShow; } diff --git a/src/app/pages/page-not-found/page-not-found.component.html b/src/app/pages/page-not-found/page-not-found.component.html index cdcb221..fcd3086 100644 --- a/src/app/pages/page-not-found/page-not-found.component.html +++ b/src/app/pages/page-not-found/page-not-found.component.html @@ -6,7 +6,11 @@
+ + + + Je retourne à l'accueil

diff --git a/src/app/pages/page-not-found/page-not-found.component.scss b/src/app/pages/page-not-found/page-not-found.component.scss index 3e84bf3..59316c5 100644 --- a/src/app/pages/page-not-found/page-not-found.component.scss +++ b/src/app/pages/page-not-found/page-not-found.component.scss @@ -11,8 +11,6 @@ p{ .min-vh-100 { font-weight: bold; - //background-image: linear-gradient(to left top, #051937, #004d7a, #008793, #e2ebe7, #f8faf5); - //max-width: max-content; } img {justify-content: center; diff --git a/src/app/pages/page-signup/page-signup.component.html b/src/app/pages/page-signup/page-signup.component.html index dd44f6b..b981f26 100644 --- a/src/app/pages/page-signup/page-signup.component.html +++ b/src/app/pages/page-signup/page-signup.component.html @@ -83,7 +83,7 @@ !signupForm.controls['dateNaissanceFc'].valid }" /> - +
- - -
--> +
+ + +
+
-

Demande support

-
+ + +

Nous contacter

+ +
- +
- +
- -
- -
+ + +
- - - + +
+
+ \ No newline at end of file diff --git a/src/app/pages/page-support/page-support.component.scss b/src/app/pages/page-support/page-support.component.scss index d8428e7..d3a4905 100644 --- a/src/app/pages/page-support/page-support.component.scss +++ b/src/app/pages/page-support/page-support.component.scss @@ -1,9 +1,12 @@ + + + form { background-color: rgb(184, 202, 235); width: 600px; - border: 3px solid blue; + border: 1px solid blue; margin: 0 auto; - border-radius: 1em; + border-radius: 2em; padding:3em; } diff --git a/src/app/pages/page-support/page-support.component.ts b/src/app/pages/page-support/page-support.component.ts index f9cc830..929fabe 100644 --- a/src/app/pages/page-support/page-support.component.ts +++ b/src/app/pages/page-support/page-support.component.ts @@ -1,19 +1,83 @@ +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { MembreService } from 'src/app/services/membre.service'; +import { TokenService } from 'src/app/services/token.service'; +import { MailService } from 'src/app/services/mail.service'; import { Component, OnInit } from '@angular/core'; +import { Mail } from 'src/app/models/mail'; -//DRIVEN FORM @Component({ selector: 'app-page-support', templateUrl: './page-support.component.html', styleUrls: ['./page-support.component.scss'] }) export class PageSupportComponent implements OnInit { + public contactForm: FormGroup; + memberName: any; + alert: any; + isShow: boolean; +expName: any; +expMail: any; - constructor() { } + + constructor(private membreService: MembreService, + private tokenService: TokenService, + private fb: FormBuilder, + private mailService: MailService, + ) { + this.contactForm = new FormGroup({}); + this.alert = ""; + this.isShow = false; + } ngOnInit(): void { + this.contactForm = this.fb.group( + { + lastNameFc: new FormControl('', [Validators.required]), + emailFc: new FormControl('', [Validators.required]), + messageFc: new FormControl('', [Validators.required]), + } + ); + this.membreService.getMembreId(this.tokenService.getCurrentMembreId()).subscribe((result) => { + this.memberName = result; + this.expName = this.memberName.nom; + this.expMail = this.memberName.email; + }) + } + + public onSubmit(): void { + const nomValue = this.contactForm.value['lastNameFc']; + const emailValue = this.contactForm.value['emailFc']; + const messageValue = this.contactForm.value['messageFc']; + console.log(this.contactForm); + + + const mail: Mail = { + recipient: "organizee.contact@gmail.com", + subject: "Demande de support", + message: ` + Bonjour!\n + Nouveau message d'un utilisateur du site\n + Nom : ${nomValue} \n + Email : ${emailValue} \n + Message : ${messageValue} \n ` + }; + this.mailService.envoiMailText(mail)?.subscribe((respMail) => { + console.log("Mail envoyé"); + this.alert = { "type": "success", "content": "Votre message a été envoyé" }; + this.isShow = true; + }) + } + + onDeleteMail() { + console.log("Formulaire effacé"); + location.reload(); + this.alert = { "type": "danger", "content": "Réinitialisation en cours" }; + this.isShow = true; + } + + onClickCloseAlert() { + this.isShow = !this.isShow; } -} - - +} \ No newline at end of file diff --git a/src/app/services/membre.service.ts b/src/app/services/membre.service.ts index a69bb6b..0ec32c8 100644 --- a/src/app/services/membre.service.ts +++ b/src/app/services/membre.service.ts @@ -58,6 +58,8 @@ export class MembreService { } } +//récupère l'identifiant du membre, ainsi que le lien de son humeur +//"numero" est l'indice de l'humeur dans le tableau des humeurs updateHumeur(numero : any) : Observable | void { const userId = this.tokenService.getCurrentMembreId(); if (userId){ @@ -67,6 +69,10 @@ updateHumeur(numero : any) : Observable | void { } } + + + + }