From e8419a6b768a19d40283e016fb27eb43bc438236 Mon Sep 17 00:00:00 2001
From: Guilhem CARRON <gcarron@grandlyon.com>
Date: Mon, 7 Nov 2022 09:41:55 +0000
Subject: [PATCH] feat(orientation): Add modal for foreigners demarch

---
 .../login-modal/login-modal.component.ts                 | 6 ++----
 .../online-demarch/online-demarch.component.html         | 9 +++++++++
 .../online-demarch/online-demarch.component.scss         | 1 -
 .../online-demarch/online-demarch.component.ts           | 8 +++++++-
 .../modal-confirmation/modal-confirmation.component.html | 2 ++
 .../modal-confirmation/modal-confirmation.component.ts   | 1 +
 6 files changed, 21 insertions(+), 6 deletions(-)
 delete mode 100644 src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.scss

diff --git a/src/app/form/orientation-form-view/global-components/login-modal/login-modal.component.ts b/src/app/form/orientation-form-view/global-components/login-modal/login-modal.component.ts
index 2f986de59..d5e24e30b 100644
--- a/src/app/form/orientation-form-view/global-components/login-modal/login-modal.component.ts
+++ b/src/app/form/orientation-form-view/global-components/login-modal/login-modal.component.ts
@@ -1,4 +1,4 @@
-import { Component, Input, OnInit } from '@angular/core';
+import { Component, Input } from '@angular/core';
 import { Router } from '@angular/router';
 import { ButtonType } from '../../../../shared/components/button/buttonType.enum';
 
@@ -7,13 +7,11 @@ import { ButtonType } from '../../../../shared/components/button/buttonType.enum
   templateUrl: './login-modal.component.html',
   styleUrls: ['./login-modal.component.scss'],
 })
-export class LoginModalComponent implements OnInit {
+export class LoginModalComponent {
   @Input() openned: boolean;
   public buttonTypeEnum = ButtonType;
   constructor(private router: Router) {}
 
-  ngOnInit(): void {}
-
   public handleClose(): void {
     this.openned = false;
   }
diff --git a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.html b/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.html
index 94ed0cb52..2f68bfcb8 100644
--- a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.html
+++ b/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.html
@@ -12,3 +12,12 @@
     </span>
   </div>
 </div>
+<app-modal-confirmation
+  [openned]="showStrangersModal"
+  [content]="
+    'Les premières demandes de titres de séjour doivent être redirigées vers les associations spécialisées sur les droits des étrangers.'
+  "
+  [customConfirmationText]="'Ok'"
+  [singleButton]="true"
+  (closed)="handleClose()"
+></app-modal-confirmation>
diff --git a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.scss b/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.scss
deleted file mode 100644
index 335870e68..000000000
--- a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import '../../../../../assets/scss/buttons';
diff --git a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.ts b/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.ts
index 2cd531357..00af38f55 100644
--- a/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.ts
+++ b/src/app/form/orientation-form-view/online-demarch/online-demarch/online-demarch.component.ts
@@ -9,7 +9,6 @@ import { SearchService } from '../../../../structure-list/services/search.servic
 @Component({
   selector: 'app-online-demarch',
   templateUrl: './online-demarch.component.html',
-  styleUrls: ['./online-demarch.component.scss'],
 })
 export class OnlineDemarchComponent implements OnInit {
   @Input() form: UntypedFormGroup;
@@ -18,6 +17,7 @@ export class OnlineDemarchComponent implements OnInit {
   public accompanimentType: Module[];
   public buttonTypeEnum = ButtonType;
   public selectedModules: Module[] = [];
+  public showStrangersModal: boolean = false;
 
   ngOnInit(): void {
     this.selectedModules = this.form.get('onlineDemarchType').value;
@@ -28,6 +28,9 @@ export class OnlineDemarchComponent implements OnInit {
   }
 
   public handleClick(module: Module): void {
+    if (module.id === 'foreigners' && !this.isSelectedModule(module.id)) {
+      this.showStrangersModal = true;
+    }
     if (this.isSelectedModule(module.id)) {
       const index = this.selectedModules.findIndex((_module) => _module.id === module.id);
       this.selectedModules.splice(index, 1);
@@ -42,4 +45,7 @@ export class OnlineDemarchComponent implements OnInit {
     if (this.selectedModules && this.selectedModules.map((module) => module.id).includes(moduleId)) return true;
     return false;
   }
+  public handleClose(): void {
+    this.showStrangersModal = false;
+  }
 }
diff --git a/src/app/shared/components/modal-confirmation/modal-confirmation.component.html b/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
index d5c3dc99c..6f6b7b991 100644
--- a/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
+++ b/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
@@ -11,6 +11,7 @@
       <p>{{ content }}</p>
       <div class="footerModal" fxLayout="row" fxLayoutAlign="space-around center" fxLayoutGap="8px">
         <app-button
+        *ngIf="!singleButton"
           (action)="closeModal(false)"
           [text]="'Annuler'"
           [style]="buttonTypeEnum.modalSecondary"
@@ -19,6 +20,7 @@
           (action)="closeModal(true)"
           [text]="customConfirmationText ? customConfirmationText : 'Confirmer'"
           [style]="buttonTypeEnum.modalPrimary"
+          [extraClass]="singleButton && 'fullWidth'"
         ></app-button>
       </div>
     </div>
diff --git a/src/app/shared/components/modal-confirmation/modal-confirmation.component.ts b/src/app/shared/components/modal-confirmation/modal-confirmation.component.ts
index 34024d004..7118b105e 100644
--- a/src/app/shared/components/modal-confirmation/modal-confirmation.component.ts
+++ b/src/app/shared/components/modal-confirmation/modal-confirmation.component.ts
@@ -10,6 +10,7 @@ export class ModalConfirmationComponent {
   @Input() public openned: boolean;
   @Input() public content: string;
   @Input() public customConfirmationText?: string;
+  @Input() public singleButton?: boolean;
   @Output() closed = new EventEmitter<boolean>();
   public buttonTypeEnum = ButtonType;
 
-- 
GitLab