feat: non-individual entity UI improvements — hide individual-only sections, fix legal form display, send extended fields to API

- Hide Family Members tab/section for non-individual entities in client view, create flow, and preview
- Hide Financial & Classification section for non-individual entities in personal data and preview
- Fix legal form column in clients list — fetch legalForm from client API for correct display
- Add person/business icon before client name in list rows
- Remove unsupportedNpd filter — send authorizedSignatory, additionalInfo, dateOfRegistration to API
- Add registration number format hint (mat-hint) based on constitution type
- Add spacing between verification row and constitution type dropdowns
- Reduce table cell padding and prevent action buttons from being clipped
- Add missing MPL-2.0 license headers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aditya
2026-04-04 15:10:51 +05:30
co-authored by Claude Opus 4.6
parent ab01111424
commit b890d24bb7
522 changed files with 51991 additions and 21885 deletions
@@ -52,6 +52,7 @@ export class KycTabComponent implements OnInit, OnDestroy {
kycId: string | null = null;
kycData: any = null;
clientDateOfBirth: string | null = null;
isNonIndividual = false;
loading = true;
saving = false;
isEditMode = false;
@@ -150,7 +151,7 @@ export class KycTabComponent implements OnInit, OnDestroy {
});
}
/** Load client's date of birth from parent route resolved data */
/** Load client's date of birth and legal form from parent route resolved data */
loadClientDateOfBirth(): void {
this.route.parent.data.subscribe((data: any) => {
if (data?.clientViewData?.dateOfBirth) {
@@ -161,6 +162,9 @@ export class KycTabComponent implements OnInit, OnDestroy {
this.clientDateOfBirth = dob;
}
}
if (data?.clientViewData?.legalForm?.id === 2) {
this.isNonIndividual = true;
}
});
}
@@ -431,6 +435,15 @@ export class KycTabComponent implements OnInit, OnDestroy {
return part.toLowerCase();
}
getPanAadhaarStatusLabel(status: string): string {
switch (status) {
case 'Y': return 'Linked (Seeded)';
case 'N': return 'Not Linked';
case 'E': return 'Exempt';
default: return 'Pending Verification';
}
}
ngOnDestroy(): void {
this.destroy$.next();
this.destroy$.complete();