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
@@ -39,7 +39,7 @@
</span>
</mat-panel-title>
<mat-panel-description class="addr-panel__desc">
{{ address.city || address.townVillage || '' }}{{ address.city || address.townVillage ? ', ' : '' }}{{ getSelectedValue('stateProvinceIdOptions', address.stateProvinceId)?.name || '' }}
{{ address.city || '' }}{{ address.city && (address.countyDistrict || address.addressLine3) ? ', ' : '' }}{{ address.countyDistrict || address.addressLine3 || '' }}{{ address.postalCode ? ' - ' + address.postalCode : '' }}
</mat-panel-description>
</mat-expansion-panel-header>
@@ -56,60 +56,58 @@
<!-- Address Details Grid -->
<div class="addr-grid">
@if (isFieldEnabled('street') && address.street) {
@if (address.addressLine1) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Street' | translate }}</div>
<div class="addr-field__value">{{ address.street }}</div>
</div>
}
@if (isFieldEnabled('addressLine1') && address.addressLine1) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Address Line' | translate }} 1</div>
<div class="addr-field__label">Address Line 1</div>
<div class="addr-field__value">{{ address.addressLine1 }}</div>
</div>
}
@if (isFieldEnabled('addressLine2') && address.addressLine2) {
@if (address.addressLine2) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Address Line' | translate }} 2</div>
<div class="addr-field__label">Address Line 2</div>
<div class="addr-field__value">{{ address.addressLine2 }}</div>
</div>
}
@if (isFieldEnabled('addressLine3') && address.addressLine3) {
@if (address.street) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Address Line' | translate }} 3</div>
<div class="addr-field__value">{{ address.addressLine3 }}</div>
<div class="addr-field__label">Landmark</div>
<div class="addr-field__value">{{ address.street }}</div>
</div>
}
@if (isFieldEnabled('townVillage') && address.townVillage) {
@if (address.postalCode) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Town / Village' | translate }}</div>
<div class="addr-field__value">{{ address.townVillage }}</div>
</div>
}
@if (isFieldEnabled('city') && address.city) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.City' | translate }}</div>
<div class="addr-field__value">{{ address.city }}</div>
</div>
}
@if (isFieldEnabled('stateProvinceId')) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.State / Province' | translate }}</div>
<div class="addr-field__value">{{ getSelectedValue('stateProvinceIdOptions', address.stateProvinceId)?.name || '-' }}</div>
</div>
}
@if (isFieldEnabled('countryId')) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Country' | translate }}</div>
<div class="addr-field__value">{{ getSelectedValue('countryIdOptions', address.countryId)?.name || '-' }}</div>
</div>
}
@if (isFieldEnabled('postalCode') && address.postalCode) {
<div class="addr-field">
<div class="addr-field__label">{{ 'labels.inputs.Postal Code' | translate }}</div>
<div class="addr-field__label">PIN Code</div>
<div class="addr-field__value addr-field__value--mono">{{ address.postalCode }}</div>
</div>
}
@if (address.addressLine3) {
<div class="addr-field">
<div class="addr-field__label">Locality / State</div>
<div class="addr-field__value">{{ address.addressLine3 }}</div>
</div>
}
@if (address.city) {
<div class="addr-field">
<div class="addr-field__label">City</div>
<div class="addr-field__value">{{ address.city }}</div>
</div>
}
@if (address.countyDistrict) {
<div class="addr-field">
<div class="addr-field__label">District</div>
<div class="addr-field__value">{{ address.countyDistrict }}</div>
</div>
}
@if (address.stateProvinceId) {
<div class="addr-field">
<div class="addr-field__label">State</div>
<div class="addr-field__value">{{ getSelectedValue('stateProvinceIdOptions', address.stateProvinceId)?.name || '-' }}</div>
</div>
}
<div class="addr-field">
<div class="addr-field__label">Country</div>
<div class="addr-field__value">{{ getSelectedValue('countryIdOptions', address.countryId)?.name || 'India' }}</div>
</div>
</div>
</mat-expansion-panel>
}