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
@@ -306,30 +306,5 @@
</div>
</div>
<!-- ═══════ SECTION: Analytics Charts ═══════ -->
<div class="section-header analytics">
<fa-icon icon="chart-bar" class="section-icon"></fa-icon>
<span>Analytics</span>
</div>
<div class="charts-section">
<div class="top-card">
<div class="trends-bar">
<mifosx-client-trends-bar></mifosx-client-trends-bar>
</div>
</div>
<div class="bottom-card">
<div class="amount-disbursed">
<mifosx-amount-disbursed-pie></mifosx-amount-disbursed-pie>
</div>
<div class="amount-collected">
<mifosx-amount-collected-pie></mifosx-amount-collected-pie>
</div>
</div>
</div>
<!-- Footer -->
<div class="cbs-footer">CBS Monitoring Dashboard &bull; Internal Use Only</div>
</div>
</div>
@@ -94,10 +94,6 @@ $purple: #7c3aed;
background: #fff3e0;
color: #e65100;
}
&.analytics {
background: #e0f2f1;
color: #004d40;
}
}
/* ─── Card Grid Layouts ─── */
@@ -714,39 +710,6 @@ $purple: #7c3aed;
}
}
/* ─── Charts ─── */
.charts-section {
display: flex;
flex-direction: column;
gap: 20px;
.top-card {
.trends-bar {
width: 100%;
}
}
.bottom-card {
display: flex;
flex-flow: row wrap;
gap: 15px;
.amount-collected,
.amount-disbursed {
flex: 1 0 calc(50% - 15px);
min-width: 300px;
}
}
}
.cbs-footer {
margin-top: 30px;
text-align: center;
font-size: 12px;
color: #94a3b8;
padding: 15px 0;
}
/* ─── Responsive ─── */
@media screen and (width <= 1200px) {
.four-col {
@@ -780,12 +743,4 @@ $purple: #7c3aed;
text-align: center;
}
.charts-section .bottom-card {
flex-direction: column;
.amount-collected,
.amount-disbursed {
flex: 1 0 100%;
width: 100%;
}
}
}
@@ -17,9 +17,6 @@ import { MatAutocompleteTrigger, MatAutocomplete, MatOption } from '@angular/mat
import { MatDialog } from '@angular/material/dialog';
import { MatTooltipModule } from '@angular/material/tooltip';
import { AsyncPipe, DatePipe } from '@angular/common';
import { ClientTrendsBarComponent } from './client-trends-bar/client-trends-bar.component';
import { AmountDisbursedPieComponent } from './amount-disbursed-pie/amount-disbursed-pie.component';
import { AmountCollectedPieComponent } from './amount-collected-pie/amount-collected-pie.component';
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
/**
@@ -35,9 +32,6 @@ import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
MatAutocompleteTrigger,
MatAutocomplete,
MatTooltipModule,
ClientTrendsBarComponent,
AmountDisbursedPieComponent,
AmountCollectedPieComponent,
AsyncPipe,
DatePipe,
FaIconComponent