diff --git a/src/app/components/contacts/contact-delete/contact-delete.component.html b/src/app/components/contacts/contact-delete/contact-delete.component.html
index b2af2c4..8cb8d6e 100644
--- a/src/app/components/contacts/contact-delete/contact-delete.component.html
+++ b/src/app/components/contacts/contact-delete/contact-delete.component.html
@@ -8,7 +8,7 @@
-
+
{{ "contact-delete-dialog.btn-delete" | translate }}
diff --git a/src/app/components/contacts/contact-delete/contact-delete.component.scss b/src/app/components/contacts/contact-delete/contact-delete.component.scss
index 1619b6e..f07724a 100644
--- a/src/app/components/contacts/contact-delete/contact-delete.component.scss
+++ b/src/app/components/contacts/contact-delete/contact-delete.component.scss
@@ -62,7 +62,7 @@ section {
}
}
-.btn-delete {
+.btn-delete-contact {
padding: 12px;
margin: 12px 12px;
border-radius: 10px;
diff --git a/src/app/components/contacts/contact-delete/contact-delete.component.ts b/src/app/components/contacts/contact-delete/contact-delete.component.ts
index 70dfdb5..aff771d 100644
--- a/src/app/components/contacts/contact-delete/contact-delete.component.ts
+++ b/src/app/components/contacts/contact-delete/contact-delete.component.ts
@@ -1,6 +1,8 @@
import { Component, Input } from '@angular/core';
import { SharedService } from '../../../services/shared.service';
import { TranslateModule } from '@ngx-translate/core';
+import { UserService } from '../../../services/user.service';
+import { Router } from '@angular/router';
@Component({
selector: 'app-contact-delete',
@@ -12,10 +14,15 @@ import { TranslateModule } from '@ngx-translate/core';
export class ContactDeleteComponent {
@Input() currentUserId!: string;
- constructor(private sharedService: SharedService) {}
+ constructor(
+ private sharedService: SharedService,
+ private userService: UserService,
+ private router: Router
+ ) {}
deleteContact() {
- console.log('Contact deleted');
+ this.userService.deleteUser(this.currentUserId);
+ this.router.navigate(['contacts']);
this.sharedService.isDeleteContactDialogOpen = false;
this.sharedService.isAnyDialogOpen = false;
}
diff --git a/src/app/components/contacts/contact-form/contact-form.component.ts b/src/app/components/contacts/contact-form/contact-form.component.ts
index 0892281..33e88ef 100644
--- a/src/app/components/contacts/contact-form/contact-form.component.ts
+++ b/src/app/components/contacts/contact-form/contact-form.component.ts
@@ -57,8 +57,9 @@ export class ContactFormComponent implements OnChanges {
}
deleteContact() {
- this.sharedService.isDeleteContactDialogOpen = true;
- this.sharedService.isAnyDialogOpen = true;
+ this.userService.deleteUser(this.currentUserId);
+ this.sharedService.isDeleteContactDialogOpen = false;
+ this.sharedService.isAnyDialogOpen = false;
}
closeEditDialog() {
diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts
index 972f729..f3c4218 100644
--- a/src/app/services/user.service.ts
+++ b/src/app/services/user.service.ts
@@ -2,6 +2,7 @@ import { Injectable, OnDestroy, inject } from '@angular/core';
import {
Firestore,
collection,
+ deleteDoc,
doc,
onSnapshot,
updateDoc,
@@ -50,9 +51,17 @@ export class UserService implements OnDestroy {
.map((user) => user[query]);
}
- async updateUserData(userId: string, data: any) {
+ async deleteUser(docId: string) {
+ await deleteDoc(doc(collection(this.firestore, 'users'), docId)).catch(
+ (err) => {
+ console.error(err);
+ }
+ );
+ }
+
+ async updateUserData(docId: string, data: any) {
await updateDoc(
- doc(collection(this.firestore, 'users'), userId),
+ doc(collection(this.firestore, 'users'), docId),
data
).catch((err) => {
console.error(err);