update code account saving,current,RD

This commit is contained in:
Nitesh Yadav
2026-04-24 16:24:28 +05:30
parent fc1c5126fc
commit fbaec18552
49 changed files with 4221 additions and 2260 deletions
@@ -0,0 +1,130 @@
<!--
Copyright since 2025 Mifos Initiative
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<div class="intro-section">
<div class="intro-section__header">
<i class="fas fa-user-check"></i>
<span>Introducer</span>
<span class="intro-badge intro-badge--required">Required</span>
</div>
<div class="intro-body">
@if (!selectedClient) {
<!-- Search Box -->
<div class="intro-search-wrap">
<mat-form-field appearance="outline" class="intro-search-field">
<mat-label>Search by Name or Client ID</mat-label>
<input matInput [value]="searchText" (input)="onSearch($any($event.target).value)" autocomplete="off" />
<mat-icon matSuffix>search</mat-icon>
</mat-form-field>
@if (searching) {
<div class="intro-results">
<div class="intro-results__loading">
<mat-progress-spinner diameter="16" mode="indeterminate"></mat-progress-spinner>
<span>Searching...</span>
</div>
</div>
}
@if (!searching && searchResults.length > 0) {
<div class="intro-results-inline">
@for (r of searchResults; track r.id) {
<div class="intro-result-item" (click)="selectClient(r)">
<mat-icon class="intro-result-item__icon">person</mat-icon>
<div class="intro-result-item__info">
<span class="intro-result-item__name">{{ r.displayName }}</span>
<span class="intro-result-item__meta">
ID: {{ r.id }}
@if (r.officeName) {
· {{ r.officeName }}
}
@if (r.mobileNo) {
· {{ r.mobileNo }}
}
</span>
</div>
</div>
}
</div>
}
@if (!searching && searchText.length >= 2 && searchResults.length === 0) {
<div class="intro-no-results">No clients found</div>
}
</div>
}
@if (selectedClient) {
<!-- Selected Client Card -->
<div class="intro-card">
<div class="intro-card__avatar">
@if (linkedProfileImage) {
<img [src]="linkedProfileImage" alt="Profile" class="intro-card__photo" />
} @else {
<mat-icon class="intro-card__avatar-icon">person</mat-icon>
}
</div>
<div class="intro-card__info">
<span class="intro-card__name">{{ selectedClient.displayName }}</span>
<span class="intro-card__meta">
Client ID: {{ selectedClient.id }}
@if (selectedClient.accountNumber) {
· A/C: {{ selectedClient.accountNumber }}
}
</span>
</div>
<button mat-icon-button type="button" (click)="removeClient()" class="intro-card__remove">
<mat-icon>close</mat-icon>
</button>
</div>
@if (fetchingLinkedData) {
<div class="intro-fetching">
<mat-progress-spinner diameter="14" mode="indeterminate"></mat-progress-spinner>
<span>Fetching client details...</span>
</div>
}
@if (!fetchingLinkedData) {
<div class="intro-details-grid">
<div class="intro-detail">
<span class="intro-detail__label">FULL NAME</span>
<span class="intro-detail__value">{{ selectedClient.displayName }}</span>
</div>
<div class="intro-detail">
<span class="intro-detail__label">DATE OF BIRTH</span>
<span class="intro-detail__value">{{ clientDob || '—' }}</span>
</div>
@if (clientAadhaar) {
<div class="intro-detail">
<span class="intro-detail__label">AADHAAR</span>
<span class="intro-detail__value">
{{ clientAadhaar }}
@if (linkedKycStatus?.aadhaarVerified) {
<span class="intro-verified"><mat-icon>verified</mat-icon> Verified</span>
}
</span>
</div>
}
@if (clientPan) {
<div class="intro-detail">
<span class="intro-detail__label">PAN</span>
<span class="intro-detail__value">
{{ clientPan }}
@if (linkedKycStatus?.panVerified) {
<span class="intro-verified"><mat-icon>verified</mat-icon> Verified</span>
}
</span>
</div>
}
</div>
}
}
</div>
</div>