diff --git a/src/app/clients/client-stepper/client-family-members-step/client-family-members-step.component.ts b/src/app/clients/client-stepper/client-family-members-step/client-family-members-step.component.ts index d324ac254..cf7209829 100644 --- a/src/app/clients/client-stepper/client-family-members-step/client-family-members-step.component.ts +++ b/src/app/clients/client-stepper/client-family-members-step/client-family-members-step.component.ts @@ -12,6 +12,7 @@ import { TranslateService } from '@ngx-translate/core'; import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; import { ClientFamilyMemberDialogComponent } from './client-family-member-dialog/client-family-member-dialog.component'; import { ImageZoomDialogComponent } from './client-family-member-dialog/client-family-member-dialog.component'; +import { FamilyMemberAddedDialogComponent } from './family-member-added-dialog.component'; import { ClientsService } from '../../clients.service'; import { FaIconComponent } from '@fortawesome/angular-fontawesome'; import { MatIcon } from '@angular/material/icon'; @@ -152,6 +153,22 @@ export class ClientFamilyMembersStepComponent implements OnInit { ref.afterClosed().subscribe((response: any) => { if (response?.member) { this.clientFamilyMembers.push(response.member); + this.showFamilyMemberAddedConfirmation(response.member); + } + }); + } + + /** Confirms what was just recorded — in particular the linked client's own CBS Client ID, + * since the "Add Member" dialog closes silently otherwise and gives no acknowledgement. */ + private showFamilyMemberAddedConfirmation(member: any): void { + this.dialog.open(FamilyMemberAddedDialogComponent, { + width: '360px', + data: { + clientId: member._linkedClient?.id ?? member.linkedClientId ?? null, + name: member._linkedClient?.displayName || member.firstName, + relationship: this.getRelName(member.relationshipId), + dateOfBirth: member.dateOfBirth, + isDependent: member.isDependent } }); } diff --git a/src/app/clients/client-stepper/client-family-members-step/family-member-added-dialog.component.ts b/src/app/clients/client-stepper/client-family-members-step/family-member-added-dialog.component.ts new file mode 100644 index 000000000..5a7679e80 --- /dev/null +++ b/src/app/clients/client-stepper/client-family-members-step/family-member-added-dialog.component.ts @@ -0,0 +1,145 @@ +/** + * Copyright since 2025 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +import { Component, inject } from '@angular/core'; +import { MatDialogRef, MAT_DIALOG_DATA, MatDialogTitle, MatDialogActions } from '@angular/material/dialog'; +import { MatIcon } from '@angular/material/icon'; +import { MatButton } from '@angular/material/button'; + +/** + * Confirmation popup shown right after a family member is added — surfaces the linked + * client's own CBS Client ID (when the member was linked to an existing client rather than + * entered manually) alongside name/relationship, since the "Add Member" dialog itself just + * closed silently before this with no acknowledgement of what got recorded. + */ +@Component({ + selector: 'mifosx-family-member-added-dialog', + imports: [ + MatDialogTitle, + MatDialogActions, + MatIcon, + MatButton + ], + template: ` +