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
+7 -23
View File
@@ -31,30 +31,14 @@
<!-- Default mode for Shell -->
<!-- Security Bar -->
<div class="security-bar">
<div class="security-bar-left">
<!-- Row 1: Brand + IDRBT -->
<div class="security-bar-row1">
<div class="sec-brand">
<span class="sec-brand-name">CBS<em>Nexora</em></span>
<span class="sec-brand-tagline">Core Banking Solution — Next-Gen Operations & Reporting Architecture</span>
<span class="sec-brand-delimiter">|</span>
<span class="sec-brand-idrbt">In compliance with guidelines issued by Institute for Development and Research in Banking Technology (Established by Reserve Bank of India)</span>
</div>
<div class="sec-item">
<span class="sec-dot"></span>
<span class="sec-label">SSL/TLS</span>
<span class="sec-val">256-bit Encrypted</span>
</div>
<div class="sec-item">
<span class="sec-dot"></span>
<span class="sec-label">ISO 27001</span>
<span class="sec-val">Certified</span>
</div>
<div class="sec-item">
<span class="sec-dot amber"></span>
<span class="sec-label">Session expires in</span>
<span class="session-timer">{{ sessionTimerDisplay }}</span>
</div>
</div>
<div class="security-bar-right">
<span class="sec-version">v{{ versions.mifos }}</span>
<span class="env-tag">PROD</span>
</div>
</div>
@@ -155,12 +139,12 @@
<div class="sc-chip">
<span class="sc-icon">&#9878;&#65039;</span>
<span class="sc-label">Grievance Officer</span>
<span class="sc-val">Aditya Vyas &middot; grievance&#64;lincpay.in</span>
<span class="sc-val">Aditya Vyas &middot; grievance&#64;cbsnexora.in</span>
</div>
<div class="sc-chip">
<span class="sc-icon">&#9993;&#65039;</span>
<span class="sc-label">Email</span>
<span class="sc-val">support&#64;lincpay.in</span>
<span class="sc-val">support&#64;cbsnexora.in</span>
</div>
<a class="sc-chip sc-chat" href="#">
<span class="sc-icon">&#128172;</span>
@@ -172,7 +156,7 @@
<div class="footer-divider"></div>
<div class="footer-bottom">
<span class="fb-copy">&copy; {{ currentYear }} LincPay Solutions Pvt. Ltd. All rights reserved.</span>
<span class="fb-copy">&copy; {{ currentYear }} CBS Nexora. All rights reserved.</span>
<div class="fb-links">
<a href="#">Terms</a>
<a href="#">Privacy</a>
+52 -25
View File
@@ -15,8 +15,10 @@ $accent-2: #10b981;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
gap: 0;
width: 100%;
max-height: 200px;
overflow: hidden;
font-size: 0.75rem;
color: var(--md-sys-color-on-surface-variant, #44474e);
@@ -57,13 +59,23 @@ $accent-2: #10b981;
// ===== Security Bar =====
.security-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 5px 40px;
flex-direction: column;
padding: 3px 40px;
background: #f8f9fa;
border-top: 1px solid rgba(0, 0, 0, 0.06);
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
margin-top: 24px;
margin-top: 0;
}
.security-bar-row1 {
display: flex;
align-items: center;
}
.security-bar-row2 {
display: flex;
justify-content: space-between;
align-items: center;
}
.security-bar-left,
@@ -102,6 +114,21 @@ $accent-2: #10b981;
white-space: nowrap;
}
.sec-brand-delimiter {
font-size: 12px;
color: rgba(0, 0, 0, 0.2);
margin: 0 6px;
font-weight: 300;
}
.sec-brand-idrbt {
font-size: 9px;
color: #0ea5e9;
white-space: nowrap;
font-weight: 600;
letter-spacing: 0.02em;
}
.sec-item {
display: inline-flex;
align-items: center;
@@ -166,7 +193,7 @@ $accent-2: #10b981;
display: flex;
align-items: center;
gap: 12px;
padding: 6px 40px;
padding: 3px 40px;
background: linear-gradient(90deg, #0d3d78 0%, #1a5276 50%, #0d3d78 100%);
}
@@ -247,8 +274,8 @@ $accent-2: #10b981;
.footer-top {
display: flex;
justify-content: space-between;
gap: 40px;
padding: 32px 40px 24px;
gap: 20px;
padding: 8px 40px 6px;
position: relative;
z-index: 1;
}
@@ -262,7 +289,7 @@ $accent-2: #10b981;
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
margin-bottom: 4px;
}
.f-logomark {
@@ -302,9 +329,9 @@ $accent-2: #10b981;
}
.footer-website {
font-size: 12px;
font-size: 11px;
color: #5ec9f8;
margin: 6px 0 0;
margin: 2px 0 0;
font-weight: 500;
letter-spacing: 0.3px;
}
@@ -319,25 +346,25 @@ $accent-2: #10b981;
.footer-col {
display: flex;
flex-direction: column;
gap: 6px;
gap: 2px;
min-width: 130px;
}
.footer-col-title {
font-size: 11px;
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: rgba(255, 255, 255, 0.45);
margin: 0 0 4px;
margin: 0 0 2px;
}
.footer-link {
font-size: 13px;
font-size: 12px;
color: rgba(255, 255, 255, 0.75);
text-decoration: none;
transition: color 0.15s;
line-height: 1.6;
line-height: 1.5;
&:hover {
color: #5ec9f8;
@@ -346,7 +373,7 @@ $accent-2: #10b981;
// ── Regulatory & Legal Section ──
.regulatory-section {
padding: 14px 40px;
padding: 4px 40px;
position: relative;
z-index: 1;
}
@@ -357,13 +384,13 @@ $accent-2: #10b981;
text-transform: uppercase;
letter-spacing: 0.8px;
color: rgba(255, 255, 255, 0.45);
margin: 0 0 8px;
margin: 0 0 2px;
}
.regulatory-grid {
display: flex;
flex-wrap: wrap;
gap: 6px;
gap: 4px;
}
.reg-card {
@@ -440,7 +467,7 @@ $accent-2: #10b981;
// ── Quick Navigation Section ──
.quicknav-section {
padding: 14px 40px;
padding: 4px 40px;
position: relative;
z-index: 1;
}
@@ -451,13 +478,13 @@ $accent-2: #10b981;
text-transform: uppercase;
letter-spacing: 0.8px;
color: rgba(255, 255, 255, 0.45);
margin: 0 0 8px;
margin: 0 0 4px;
}
.quicknav-grid {
display: flex;
flex-wrap: wrap;
gap: 6px;
gap: 4px;
}
.qn-card {
@@ -508,7 +535,7 @@ $accent-2: #10b981;
// ── Support & Contact Section ──
.support-section {
padding: 10px 40px;
padding: 4px 40px;
position: relative;
z-index: 1;
}
@@ -519,7 +546,7 @@ $accent-2: #10b981;
text-transform: uppercase;
letter-spacing: 0.8px;
color: rgba(255, 255, 255, 0.45);
margin: 0 0 8px;
margin: 0 0 4px;
}
.support-row {
@@ -595,7 +622,7 @@ $accent-2: #10b981;
display: flex;
align-items: center;
gap: 16px;
padding: 10px 40px;
padding: 5px 40px;
position: relative;
z-index: 1;
flex-wrap: wrap;