From d01ad9532ba9d50ae1ebf26443f242ce8636dbd0 Mon Sep 17 00:00:00 2001
From: Antonin Coquet <ext.sopra.acoquet@grandlyon.com>
Date: Tue, 27 Apr 2021 11:37:53 +0200
Subject: [PATCH] feat: add count on newsletter and change button

---
 .../newsletter-users/newsletter-users.component.html       | 1 +
 .../newsletter-users/newsletter-users.component.ts         | 7 +++++++
 src/app/admin/components/panel/panel.component.html        | 3 +--
 src/app/admin/services/admin.service.ts                    | 4 ++++
 4 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/app/admin/components/newsletter-users/newsletter-users.component.html b/src/app/admin/components/newsletter-users/newsletter-users.component.html
index 8a82446d7..d89d280e1 100644
--- a/src/app/admin/components/newsletter-users/newsletter-users.component.html
+++ b/src/app/admin/components/newsletter-users/newsletter-users.component.html
@@ -3,6 +3,7 @@
   <div fxLayout="row">
     <button (click)="copySubscription()">Copier les adresses dans le presse papier</button>
   </div>
+  <div fxLayout="row">Il y a actuellement {{ subscriptionsCount }} abonnés à la newsletter.</div>
   <div fxLayout="row">
     <input #searchstring (keyup)="(0)" />
     <button (click)="searchSubscribedEmail(searchstring.value)">Rechercher</button>
diff --git a/src/app/admin/components/newsletter-users/newsletter-users.component.ts b/src/app/admin/components/newsletter-users/newsletter-users.component.ts
index 66290faae..6eab37d75 100644
--- a/src/app/admin/components/newsletter-users/newsletter-users.component.ts
+++ b/src/app/admin/components/newsletter-users/newsletter-users.component.ts
@@ -10,9 +10,16 @@ export class NewsletterUsersComponent {
   public subscriptions: NewsletterSubscription[];
   public deleteModalOpenned = false;
   public emailToUnsubscribe: string = null;
+  public subscriptionsCount: number = 0;
 
   constructor(private adminService: AdminService) {}
 
+  ngOnInit(): void {
+    this.adminService.countNewsletterSubscriptions().subscribe((count) => {
+      this.subscriptionsCount = count;
+    });
+  }
+
   public toggleUnsubscribeModal(emailToUnsubscribe: string): void {
     this.emailToUnsubscribe = emailToUnsubscribe;
     this.deleteModalOpenned = !this.deleteModalOpenned;
diff --git a/src/app/admin/components/panel/panel.component.html b/src/app/admin/components/panel/panel.component.html
index 1ee88741e..c92281381 100644
--- a/src/app/admin/components/panel/panel.component.html
+++ b/src/app/admin/components/panel/panel.component.html
@@ -3,7 +3,7 @@
   <div fxLayout="row" fxLayoutGap="20px" fxLayoutAlign="center center">
     <button (click)="changeActiveFeature(features.pendingStructures)">Gestion structure</button>
     <button (click)="changeActiveFeature(features.deleteUsers)">Suppression d'utilisateurs</button>
-    <button (click)="changeActiveFeature(features.newsletterUsers)">Désabonnement newsletter</button>
+    <button (click)="changeActiveFeature(features.newsletterUsers)">Newsletter</button>
     <a target="_blank" class="custom-link" rel="noopener noreferrer" [href]="ghostLink">Ghost</a>
   </div>
   <div *ngIf="selectedFeature === features.deleteUsers">
@@ -15,5 +15,4 @@
   <div *ngIf="selectedFeature === features.newsletterUsers">
     <app-admin-newsletter-users></app-admin-newsletter-users>
   </div>
-  
 </div>
diff --git a/src/app/admin/services/admin.service.ts b/src/app/admin/services/admin.service.ts
index d71c89ef9..7e50a6509 100644
--- a/src/app/admin/services/admin.service.ts
+++ b/src/app/admin/services/admin.service.ts
@@ -33,6 +33,10 @@ export class AdminService {
     return this.http.post<NewsletterSubscription[]>(`api/admin/searchNewsletterSubscriptions`, { searchString });
   }
 
+  public countNewsletterSubscriptions(): Observable<number> {
+    return this.http.get<number>(`api/admin/countNewsletterSubscriptions`);
+  }
+
   public unsubscribeEmail(email: string): Observable<string> {
     return this.http.delete<string>(`api/admin/newsletterSubscription/` + email);
   }
-- 
GitLab