feat(election,family): family member KYC display, collapsible cards, linked/manual badges, create-as-client flow

- nomination-apply: show full KYC for linked family members via nested forkJoin, accordion expand/collapse cards, owner chips on KYC headers, 'Create as Client' button for manual entries
- family-members-tab: show Linked Client / Manual Entry badges, entry type in detail grid, 'Create as Client' button navigating with prefill state
- create-client + client-general-step: accept prefillData @Input from navigation state, patch form fields from family member data
- Add MPL-2.0 headers to all election module files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jaanu423
2026-06-19 17:30:29 +05:30
co-authored by Claude Sonnet 4.6
parent 822fa4c68d
commit 10b301c30c
38 changed files with 7846 additions and 131 deletions
@@ -182,6 +182,41 @@ $orange-light: #fff3e0;
background: $orange-light;
color: $orange;
}
&--linked {
display: inline-flex;
align-items: center;
gap: 3px;
background: $green-light;
color: $green;
border: 1px solid color.adjust($green-light, $lightness: -8%);
mat-icon {
font-size: 12px;
height: 12px;
width: 12px;
}
}
&--manual {
display: inline-flex;
align-items: center;
gap: 3px;
background: $gray-100;
color: $gray-700;
border: 1px solid $gray-200;
mat-icon {
font-size: 12px;
height: 12px;
width: 12px;
}
}
}
&__mat-icon--linked {
background: $green-light;
color: $green;
}
&__desc {
@@ -213,6 +248,29 @@ $orange-light: #fff3e0;
font-weight: 600 !important;
height: 32px !important;
}
&__create-client {
display: inline-flex !important;
align-items: center !important;
gap: 5px !important;
border-radius: 6px !important;
font-size: 12px !important;
font-weight: 700 !important;
height: 32px !important;
background: $green !important;
color: $white !important;
margin-left: auto;
mat-icon {
font-size: 15px;
height: 15px;
width: 15px;
}
&:hover {
background: color.adjust($green, $lightness: -8%) !important;
}
}
}
// Details grid
@@ -269,3 +327,32 @@ $orange-light: #fff3e0;
}
}
}
// Entry-type pill inside expanded grid
.nom-type-badge {
display: inline-flex;
align-items: center;
gap: 4px;
border-radius: 20px;
font-size: 11px;
font-weight: 700;
padding: 3px 10px;
mat-icon {
font-size: 13px;
height: 13px;
width: 13px;
}
&--linked {
background: $green-light;
color: $green;
border: 1px solid color.adjust($green-light, $lightness: -8%);
}
&--manual {
background: $gray-100;
color: $gray-700;
border: 1px solid $gray-200;
}
}