Merge branch 'feature/merge-updates' from cbsnexora into feature/ui-reports-product

Conflict resolutions:
- src/main.scss: kept both new dialog backdrops (CIC/PSL/ALM/CIMS/CKYC/Acct)
  and incoming dialog panel styles (.abd-dialog-panel, .arc-dialog-panel)
- client-general-step.component.html/.ts: kept HEAD's agriculture/non-agri
  income fields, education/degree/religion/social-category dropdowns,
  and inject() refactor matching the incoming pattern
- kyc-management.component.html/.scss/.ts: kept HEAD's Home Visit
  terminology, takeAction() method, hv-* and vkyc-* dialog styles;
  accepted incoming .km-warn-d style addition

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aditya
2026-04-29 19:22:00 +05:30
co-authored by Claude Opus 4.7
470 changed files with 46834 additions and 11014 deletions
+27 -7
View File
@@ -11,18 +11,22 @@
<div class="welcome-banner">
<div class="welcome-left">
<div class="welcome-greeting">
<h2>{{ 'labels.text.Welcome' | translate }}, <strong>{{ username }}</strong></h2>
<h2>
{{ 'labels.text.Welcome' | translate }}, <strong>{{ username }}</strong>
</h2>
<p class="welcome-sub">{{ tenant | titlecase }} &middot; CBSNexora Core Banking Platform</p>
</div>
</div>
<div class="welcome-right">
<div #searchActivity class="search-box">
<fa-icon icon="search" class="search-icon"></fa-icon>
<input matInput
<input
matInput
placeholder="{{ 'labels.placeholders.Search Activity' | translate }}"
[matAutocomplete]="activitySearch"
[formControl]="searchText"
class="search-input" />
class="search-input"
/>
<mat-autocomplete #activitySearch="matAutocomplete">
@for (activity of filteredActivities | async; track activity) {
<mat-option [routerLink]="activity.path">
@@ -131,12 +135,20 @@
{{ 'labels.buttons.Close' | translate }}
</button>
@if (prev) {
<button mat-raised-button color="primary" (click)="popover.close(); showPopover(prev.template, prev.target, 'bottom', true)">
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(prev.template, prev.target, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
}
@if (next) {
<button mat-raised-button color="primary" (click)="popover.close(); showPopover(next.template, next.target, 'bottom', true)">
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(next.template, next.target, 'bottom', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
}
@@ -153,7 +165,11 @@
<button mat-raised-button color="primary" (click)="popover.close(); previousStep()">
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); showPopover(templateSearchActivity, searchActivity, 'top', true)">
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateSearchActivity, searchActivity, 'top', true)"
>
{{ 'labels.buttons.Next' | translate }}
</button>
</div>
@@ -166,7 +182,11 @@
<button mat-raised-button color="warn" (click)="popover.close(); configurationWizardService.closeConfigWizard()">
{{ 'labels.buttons.Close' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); showPopover(templateButtonDashboard, buttonDashboard, 'bottom', true)">
<button
mat-raised-button
color="primary"
(click)="popover.close(); showPopover(templateButtonDashboard, buttonDashboard, 'bottom', true)"
>
{{ 'labels.buttons.Back' | translate }}
</button>
<button mat-raised-button color="primary" (click)="popover.close(); nextStep()">
+66 -17
View File
@@ -32,7 +32,13 @@ $accent: #0ea5e9;
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(108deg, transparent 0, transparent 80px, rgb(255 255 255 / 2.5%) 80px, rgb(255 255 255 / 2.5%) 160px);
background: repeating-linear-gradient(
108deg,
transparent 0,
transparent 80px,
rgb(255 255 255 / 2.5%) 80px,
rgb(255 255 255 / 2.5%) 160px
);
pointer-events: none;
}
}
@@ -120,7 +126,9 @@ $accent: #0ea5e9;
border: 1px solid rgb(0 0 0 / 6%);
border-radius: 8px;
text-decoration: none;
transition: box-shadow 0.15s, transform 0.15s;
transition:
box-shadow 0.15s,
transform 0.15s;
cursor: pointer;
&:hover {
@@ -139,12 +147,35 @@ $accent: #0ea5e9;
font-size: 15px;
flex-shrink: 0;
&.blue { background: #e0f2fe; color: #0284c7; }
&.green { background: #d1fae5; color: #059669; }
&.purple { background: #ede9fe; color: #7c3aed; }
&.amber { background: #fef3c7; color: #d97706; }
&.teal { background: #ccfbf1; color: #0d9488; }
&.red { background: #fee2e2; color: #dc2626; }
&.blue {
background: #e0f2fe;
color: #0284c7;
}
&.green {
background: #d1fae5;
color: #059669;
}
&.purple {
background: #ede9fe;
color: #7c3aed;
}
&.amber {
background: #fef3c7;
color: #d97706;
}
&.teal {
background: #ccfbf1;
color: #0d9488;
}
&.red {
background: #fee2e2;
color: #dc2626;
}
}
.qa-info {
@@ -210,7 +241,7 @@ $accent: #0ea5e9;
padding: 8px 16px;
border-bottom: 1px solid rgb(0 0 0 / 3%);
&:nth-last-child(-n+2) {
&:nth-last-child(-n + 2) {
border-bottom: none;
}
}
@@ -246,7 +277,7 @@ $accent: #0ea5e9;
color: $accent;
}
&:nth-last-child(-n+2) {
&:nth-last-child(-n + 2) {
border-bottom: none;
}
}
@@ -254,20 +285,38 @@ $accent: #0ea5e9;
/* ── Dark Theme ── */
:host-context(.dark-theme) {
.qa-card, .info-card {
.qa-card,
.info-card {
background: #1e1e2e;
border-color: rgb(255 255 255 / 6%);
}
.qa-title { color: #e0e0e0; }
.qa-desc { color: #666; }
.info-card-header { background: #252536; }
.info-value { color: #e0e0e0; }
.info-label { color: #666; }
.qa-title {
color: #e0e0e0;
}
.qa-desc {
color: #666;
}
.info-card-header {
background: #252536;
}
.info-value {
color: #e0e0e0;
}
.info-label {
color: #666;
}
.quick-links a {
color: #7dd3fc;
&:hover { background: rgb(255 255 255 / 4%); }
&:hover {
background: rgb(255 255 255 / 4%);
}
}
.search-input {
@@ -42,10 +42,21 @@ $white: #fff;
span {
border-radius: 2px;
&:nth-child(1) { background: #0d3d78; }
&:nth-child(2) { background: #0ea5e9; }
&:nth-child(3) { background: #10b981; }
&:nth-child(4) { background: rgba(#0d3d78, 0.3); }
&:nth-child(1) {
background: #0d3d78;
}
&:nth-child(2) {
background: #0ea5e9;
}
&:nth-child(3) {
background: #10b981;
}
&:nth-child(4) {
background: rgba(#0d3d78, 0.3);
}
}
}