diff --git a/src/app/components/modal/modal.component.html b/src/app/components/modal/modal.component.html
new file mode 100644
index 0000000..ee932a3
--- /dev/null
+++ b/src/app/components/modal/modal.component.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/app/components/modal/modal.component.scss b/src/app/components/modal/modal.component.scss
new file mode 100644
index 0000000..aa798b2
--- /dev/null
+++ b/src/app/components/modal/modal.component.scss
@@ -0,0 +1,8 @@
+@keyframes slide-in {
+ from { transform: translateX(100%); }
+ to { transform: translateX(0); }
+}
+
+.animate-slide-in {
+ animation: slide-in 0.3s ease-out;
+}
\ No newline at end of file
diff --git a/src/app/components/modal/modal.component.ts b/src/app/components/modal/modal.component.ts
new file mode 100644
index 0000000..976dd2f
--- /dev/null
+++ b/src/app/components/modal/modal.component.ts
@@ -0,0 +1,14 @@
+import { Component } from '@angular/core';
+import {IonicModule} from "@ionic/angular";
+
+@Component({
+ selector: 'app-modal',
+ templateUrl: './modal.component.html',
+ styleUrls: ['./modal.component.scss'],
+ imports: [
+ IonicModule
+ ]
+})
+export class ModalComponent {
+
+}
diff --git a/src/app/components/settings-options/settings-options.component.html b/src/app/components/settings-options/settings-options.component.html
index 186700d..e597db2 100644
--- a/src/app/components/settings-options/settings-options.component.html
+++ b/src/app/components/settings-options/settings-options.component.html
@@ -10,28 +10,29 @@
} @else {
@switch (n) {
@case (1) {
-
+
Ma galerie
}
@case (2) {
+ (click)="navigate.emit('profile')">
Modifier mes informations
}
@case (3) {
+ (click)="navigate.emit('password')">
Modifier mon mot de passe
}
@case (4) {
+ (click)="navigate.emit('designation')">
Changer de désignation
diff --git a/src/app/components/settings-options/settings-options.component.ts b/src/app/components/settings-options/settings-options.component.ts
index e8f203c..95f990a 100644
--- a/src/app/components/settings-options/settings-options.component.ts
+++ b/src/app/components/settings-options/settings-options.component.ts
@@ -1,8 +1,9 @@
-import {Component, inject, signal} from '@angular/core';
+import {Component, inject, output} from '@angular/core';
import {IonicModule, LoadingController, NavController} from "@ionic/angular";
import {logOutOutline, chevronForwardOutline, chevronBack} from "ionicons/icons";
import {addIcons} from "ionicons";
import {AuthManageService} from "../../services/auth-manage";
+import {ModalComponent} from "../modal/modal.component";
addIcons({
'logout': logOutOutline,
@@ -15,7 +16,7 @@ addIcons({
templateUrl: './settings-options.component.html',
styleUrls: ['./settings-options.component.scss'],
imports: [
- IonicModule
+ IonicModule,
]
})
export class SettingsOptionsComponent {
@@ -25,23 +26,9 @@ export class SettingsOptionsComponent {
options = [1, 2, 3, 4, 5];
- profileState = signal(false);
- passwordState = signal(false);
- designationState = signal(false);
+ navigate = output<'profile' | 'password' | 'designation' | 'gallery'>();
- updateProfileState(state: boolean) {
- this.profileState.set(state);
- }
-
- updatePasswordState(state: boolean) {
- this.passwordState.set(state);
- }
-
- updateDesignationState(state: boolean) {
- this.designationState.set(state);
- }
-
- async logOut(){
+ async logOut() {
const loading = await this.loadCtrl.create({
message: 'Déconnexion en cours...',
spinner: 'lines-sharp-small'
@@ -53,4 +40,4 @@ export class SettingsOptionsComponent {
await loading.dismiss();
}
-}
+}
\ No newline at end of file
diff --git a/src/app/pages/home/home.component.html b/src/app/pages/home/home.component.html
index 63ed2e7..a4f6601 100644
--- a/src/app/pages/home/home.component.html
+++ b/src/app/pages/home/home.component.html
@@ -38,28 +38,82 @@
-
-
+
+
+
+
- Profil
+
+ @switch (view) {
+ @case ('profile') {
+ Modifier mon profil
+ }
+ @case ('password') {
+ Mot de passe
+ }
+ @case ('designation') {
+ Changer mon titre
+ }
+ @case ('gallery') {
+ Ma Galerie
+ }
+ @default {
+ Profil
+ }
+ }
+
-
-
-
-
+
+ @switch (view) {
+ @case ('menu') {
+
+
-
+
+
+
+ }
+ @case ('profile') {
+
+
+
+ }
+ @case ('password') {
+
+
+
+ }
+ @case ('designation') {
+
+
+
Formulaire designation
+
+
+ }
+ @case ('gallery') {
+
+
+
+ }
+ }
diff --git a/src/app/pages/home/home.component.ts b/src/app/pages/home/home.component.ts
index 66f346e..22430b7 100644
--- a/src/app/pages/home/home.component.ts
+++ b/src/app/pages/home/home.component.ts
@@ -20,6 +20,7 @@ import {
ChallengesAccomplishedComponent
} from "../../components/challenges-accomplished/challenges-accomplished.component";
import {UserAchievementsComponent} from "../../components/user-achievements/user-achievements.component";
+import {ModalComponent} from "../../components/modal/modal.component";
addIcons({
'profile': personOutline,
@@ -27,6 +28,8 @@ addIcons({
'settings': settingsOutline,
});
+type View = 'menu' | 'profile' | 'password' | 'designation' | 'gallery';
+
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
@@ -38,7 +41,8 @@ addIcons({
SettingsOptionsComponent,
GenericUserInfoComponent,
ChallengesAccomplishedComponent,
- UserAchievementsComponent
+ UserAchievementsComponent,
+ ModalComponent
]
})
export class HomeComponent implements OnInit {
@@ -54,6 +58,15 @@ export class HomeComponent implements OnInit {
userAchievement = signal([])
isModalOpen = false;
+ view: View = 'menu';
+
+ setView(choice: View) {
+ this.view = choice;
+ }
+
+ backToMenu() {
+ this.view = 'menu';
+ }
async ngOnInit() {
try {