merging code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Nitesh Yadav
2026-04-20 14:26:25 +05:30
co-authored by Claude Sonnet 4.6
322 changed files with 28779 additions and 4976 deletions
@@ -32,7 +32,9 @@ $text-muted: #64748b;
max-width: 320px;
::ng-deep {
.mat-mdc-form-field-flex { height: 36px; }
.mat-mdc-form-field-flex {
height: 36px;
}
.mat-mdc-form-field-infix {
padding: 6px 0;
@@ -45,8 +47,13 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
.mat-mdc-form-field-icon-prefix {
@@ -55,7 +62,9 @@ $text-muted: #64748b;
font-size: 16px;
}
input { font-size: 13px; }
input {
font-size: 13px;
}
}
}
@@ -68,7 +77,9 @@ $text-muted: #64748b;
color: $text-muted;
background: #fff;
::ng-deep .mat-mdc-button-persistent-ripple { border-radius: 8px; }
::ng-deep .mat-mdc-button-persistent-ripple {
border-radius: 8px;
}
}
.cv-action-buttons {
@@ -84,7 +95,7 @@ $text-muted: #64748b;
border-radius: 8px !important;
height: 36px;
padding: 0 16px;
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
fa-icon {
margin-right: 4px;
@@ -153,12 +164,19 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
input,
.mat-mdc-select-trigger { font-size: 13px; }
.mat-mdc-select-trigger {
font-size: 13px;
}
}
}
@@ -169,7 +187,7 @@ $text-muted: #64748b;
}
// Responsive
@media (max-width: 768px) {
@media (width <= 768px) {
.cv-action-bar {
flex-direction: column;
align-items: stretch;
@@ -183,7 +201,9 @@ $text-muted: #64748b;
margin-left: 0;
justify-content: stretch;
.cv-btn { flex: 1; }
.cv-btn {
flex: 1;
}
}
.cv-advanced-search {
@@ -62,18 +62,34 @@
</ng-container>
<ng-container matColumnDef="accountNumber">
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Account Number' | translate }}</th>
<td mat-cell *matCellDef="let element" class="cell-mono" [routerLink]="['../../clients', element.id]" style="cursor: pointer;">
<td
mat-cell
*matCellDef="let element"
class="cell-mono"
[routerLink]="['../../clients', element.id]"
style="cursor: pointer"
>
{{ element.accountNo }}
</td>
</ng-container>
<ng-container matColumnDef="staff">
<th mat-header-cell *matHeaderCellDef>{{ 'labels.inputs.Staff' | translate }}</th>
<td mat-cell *matCellDef="let element" [routerLink]="['../../clients', element.id]" style="cursor: pointer;">
<td
mat-cell
*matCellDef="let element"
[routerLink]="['../../clients', element.id]"
style="cursor: pointer"
>
{{ element.staffName }}
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns" (click)="selection.toggle(row)" class="table-row"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="selection.toggle(row)"
class="table-row"
></tr>
</table>
</div>
}
@@ -31,7 +31,9 @@ $text-muted: #64748b;
max-width: 320px;
::ng-deep {
.mat-mdc-form-field-flex { height: 32px; }
.mat-mdc-form-field-flex {
height: 32px;
}
.mat-mdc-form-field-infix {
padding: 4px 0;
@@ -44,8 +46,13 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
.mat-mdc-form-field-icon-prefix {
@@ -53,7 +60,9 @@ $text-muted: #64748b;
color: $text-muted;
}
input { font-size: 13px; }
input {
font-size: 13px;
}
}
}
@@ -70,7 +79,7 @@ $text-muted: #64748b;
border-radius: 8px;
height: 32px;
padding: 0 14px;
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
fa-icon {
margin-right: 4px;
@@ -100,7 +109,7 @@ $text-muted: #64748b;
margin-bottom: 12px;
}
@media (max-width: 768px) {
@media (width <= 768px) {
.cv-action-bar {
flex-direction: column;
align-items: stretch;
@@ -84,7 +84,12 @@
<td mat-cell *matCellDef="let loan">{{ loan.loanPurposeName }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns" (click)="selection.toggle(row)" class="table-row"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="selection.toggle(row)"
class="table-row"
></tr>
</table>
</div>
}
@@ -31,7 +31,9 @@ $text-muted: #64748b;
max-width: 320px;
::ng-deep {
.mat-mdc-form-field-flex { height: 32px; }
.mat-mdc-form-field-flex {
height: 32px;
}
.mat-mdc-form-field-infix {
padding: 4px 0;
@@ -44,8 +46,13 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
.mat-mdc-form-field-icon-prefix {
@@ -53,7 +60,9 @@ $text-muted: #64748b;
color: $text-muted;
}
input { font-size: 13px; }
input {
font-size: 13px;
}
}
}
@@ -70,7 +79,7 @@ $text-muted: #64748b;
border-radius: 8px;
height: 32px;
padding: 0 14px;
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
fa-icon {
margin-right: 4px;
@@ -100,7 +109,7 @@ $text-muted: #64748b;
margin-bottom: 12px;
}
@media (max-width: 768px) {
@media (width <= 768px) {
.cv-action-bar {
flex-direction: column;
align-items: stretch;
@@ -68,7 +68,7 @@
mat-cell
*matCellDef="let loan"
class="cell-mono"
style="cursor: pointer;"
style="cursor: pointer"
[routerLink]="['../../clients', loan.clientId, 'loans-accounts', loan.id, 'general']"
>
{{ loan.accountNo }}
@@ -80,7 +80,7 @@
mat-cell
*matCellDef="let loan"
[routerLink]="['../../clients', loan.clientId, 'loans-accounts', loan.id, 'general']"
style="cursor: pointer;"
style="cursor: pointer"
>
{{ loan.loanProductName }}
</td>
@@ -90,7 +90,12 @@
<td mat-cell *matCellDef="let loan" class="cell-mono">{{ loan.principal | formatNumber }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns" (click)="selection.toggle(row)" class="table-row"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="selection.toggle(row)"
class="table-row"
></tr>
</table>
</div>
</div>
@@ -31,7 +31,9 @@ $text-muted: #64748b;
max-width: 320px;
::ng-deep {
.mat-mdc-form-field-flex { height: 32px; }
.mat-mdc-form-field-flex {
height: 32px;
}
.mat-mdc-form-field-infix {
padding: 4px 0;
@@ -44,8 +46,13 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
.mat-mdc-form-field-icon-prefix {
@@ -53,7 +60,9 @@ $text-muted: #64748b;
color: $text-muted;
}
input { font-size: 13px; }
input {
font-size: 13px;
}
}
}
@@ -70,7 +79,7 @@ $text-muted: #64748b;
border-radius: 8px;
height: 32px;
padding: 0 14px;
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
fa-icon {
margin-right: 4px;
@@ -87,7 +96,7 @@ $text-muted: #64748b;
}
}
@media (max-width: 768px) {
@media (width <= 768px) {
.cv-action-bar {
flex-direction: column;
align-items: stretch;
@@ -80,7 +80,7 @@
mat-cell
*matCellDef="let loan"
class="cell-mono"
style="cursor: pointer;"
style="cursor: pointer"
[routerLink]="['../../clients', loan.clientId, 'loans', loan.loanId, 'general']"
>
{{ loan.loanAccountNumber }}
@@ -95,7 +95,12 @@
<td mat-cell *matCellDef="let loan">{{ loan.rescheduleReasonCodeValue.name }}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns" (click)="selection.toggle(row)" class="table-row"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="selection.toggle(row)"
class="table-row"
></tr>
</table>
</div>
</div>
@@ -31,7 +31,9 @@ $text-muted: #64748b;
max-width: 320px;
::ng-deep {
.mat-mdc-form-field-flex { height: 32px; }
.mat-mdc-form-field-flex {
height: 32px;
}
.mat-mdc-form-field-infix {
padding: 4px 0;
@@ -44,8 +46,13 @@ $text-muted: #64748b;
}
.mdc-notched-outline {
.mdc-notched-outline__leading { border-radius: 8px 0 0 8px; }
.mdc-notched-outline__trailing { border-radius: 0 8px 8px 0; }
.mdc-notched-outline__leading {
border-radius: 8px 0 0 8px;
}
.mdc-notched-outline__trailing {
border-radius: 0 8px 8px 0;
}
}
.mat-mdc-form-field-icon-prefix {
@@ -53,7 +60,9 @@ $text-muted: #64748b;
color: $text-muted;
}
input { font-size: 13px; }
input {
font-size: 13px;
}
}
}
@@ -70,7 +79,7 @@ $text-muted: #64748b;
border-radius: 8px;
height: 32px;
padding: 0 14px;
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
fa-icon {
margin-right: 4px;
@@ -96,7 +105,7 @@ $text-muted: #64748b;
}
}
@media (max-width: 768px) {
@media (width <= 768px) {
.cv-action-bar {
flex-direction: column;
align-items: stretch;
@@ -17,19 +17,54 @@
</div>
<nav mat-tab-nav-bar class="cv-tab-nav" [tabPanel]="tabPanel">
<a mat-tab-link [routerLink]="['./checker-inbox']" routerLinkActive #checkerInbox="routerLinkActive" [active]="checkerInbox.isActive" *mifosxHasPermission="'ALL_FUNCTIONS_READ'">
<a
mat-tab-link
[routerLink]="['./checker-inbox']"
routerLinkActive
#checkerInbox="routerLinkActive"
[active]="checkerInbox.isActive"
*mifosxHasPermission="'ALL_FUNCTIONS_READ'"
>
<i class="fas fa-inbox cv-tab-icon"></i> {{ 'labels.inputs.Checker Inbox' | translate }}
</a>
<a mat-tab-link [routerLink]="['./client-approval']" routerLinkActive #clientApproval="routerLinkActive" [active]="clientApproval.isActive" *mifosxHasPermission="'READ_CLIENT'">
<a
mat-tab-link
[routerLink]="['./client-approval']"
routerLinkActive
#clientApproval="routerLinkActive"
[active]="clientApproval.isActive"
*mifosxHasPermission="'READ_CLIENT'"
>
<i class="fas fa-user-check cv-tab-icon"></i> {{ 'labels.inputs.Client Approval' | translate }}
</a>
<a mat-tab-link [routerLink]="['./loan-approval']" routerLinkActive #loanApproval="routerLinkActive" [active]="loanApproval.isActive" *mifosxHasPermission="'READ_LOAN'">
<a
mat-tab-link
[routerLink]="['./loan-approval']"
routerLinkActive
#loanApproval="routerLinkActive"
[active]="loanApproval.isActive"
*mifosxHasPermission="'READ_LOAN'"
>
<i class="fas fa-hand-holding-usd cv-tab-icon"></i> {{ 'labels.inputs.Loan Approval' | translate }}
</a>
<a mat-tab-link [routerLink]="['./loan-disbursal']" routerLinkActive #loanDisbursal="routerLinkActive" [active]="loanDisbursal.isActive" *mifosxHasPermission="'READ_LOAN'">
<a
mat-tab-link
[routerLink]="['./loan-disbursal']"
routerLinkActive
#loanDisbursal="routerLinkActive"
[active]="loanDisbursal.isActive"
*mifosxHasPermission="'READ_LOAN'"
>
<i class="fas fa-money-bill-wave cv-tab-icon"></i> {{ 'labels.inputs.Loan Disbursal' | translate }}
</a>
<a mat-tab-link [routerLink]="['./reschedule-loan']" routerLinkActive #rescheduleLoan="routerLinkActive" [active]="rescheduleLoan.isActive" *mifosxHasPermission="'RESCHEDULE_LOAN'">
<a
mat-tab-link
[routerLink]="['./reschedule-loan']"
routerLinkActive
#rescheduleLoan="routerLinkActive"
[active]="rescheduleLoan.isActive"
*mifosxHasPermission="'RESCHEDULE_LOAN'"
>
<i class="fas fa-calendar-alt cv-tab-icon"></i> {{ 'labels.inputs.Reschedule Loan' | translate }}
</a>
</nav>
@@ -19,7 +19,7 @@
::ng-deep {
.mat-mdc-tab-link {
font-family: 'DM Sans', 'Roboto', sans-serif;
font-family: 'DM Sans', Roboto, sans-serif;
font-size: 13px;
font-weight: 500;
letter-spacing: 0.02em;