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:
co-authored by
Claude Opus 4.6
parent
ab01111424
commit
b890d24bb7
@@ -93,6 +93,55 @@ import { VersionService } from '../system/version.service';
|
||||
export class LoginComponent implements OnInit, OnDestroy {
|
||||
/** Whether to show the tenant selector dropdown */
|
||||
showTenantSelector = true;
|
||||
|
||||
/** Slider data */
|
||||
slides = [
|
||||
{
|
||||
tag: 'Core Banking', icon: '🏦',
|
||||
title: 'Real-Time <span class="hl">CBS</span><br>Integration Platform',
|
||||
desc: 'Seamless account enquiry, transaction posting & balance fetch via secure host connectivity. Sub-second response with 99.99% uptime SLA.',
|
||||
stats: [{ value: '<200ms', label: 'Response Time' }, { value: '99.99%', label: 'Uptime SLA' }, { value: 'ISO 8583', label: 'Protocol' }],
|
||||
flow: ['CBS Host', 'Middleware API', 'Account Enquiry', 'Tx Posting', 'Balance Fetch']
|
||||
},
|
||||
{
|
||||
tag: 'Fraud Risk Management', icon: '',
|
||||
title: 'AI-Powered <span class="hl">Fraud Risk</span><br>Management Platform',
|
||||
desc: 'Real-time transaction scoring, anomaly detection & automated lien marking. Integrated with MHA CFCFRMS, UN sanctions screening, and rule-based alert engine for instant fraud response.',
|
||||
stats: [{ value: 'Real-Time', label: 'Tx Scoring' }, { value: 'CFCFRMS', label: 'MHA Portal' }, { value: 'UN/OFAC', label: 'Sanctions' }],
|
||||
flow: ['Transaction', 'Risk Engine', 'Alert & Lien', 'CFCFRMS API', 'MHA Portal']
|
||||
},
|
||||
{
|
||||
tag: 'HSM Security', icon: '🔐',
|
||||
title: 'HSM-Secured <span class="hl">PIN</span><br>& Key Management',
|
||||
desc: 'ATM PIN generation, verification & change secured via SafeNet Luna K6 HSM. Full ZPK/PVK/KEK key hierarchy with TR-31 key block.',
|
||||
stats: [{ value: 'Luna K6', label: 'HSM Model' }, { value: 'TR-31', label: 'Key Block' }, { value: 'FIPS 140-2', label: 'Certified' }],
|
||||
flow: ['LMK (Master)', 'ZPK / KEK', 'PVK / ZEK', 'PIN Block', 'VISA PVV']
|
||||
},
|
||||
{
|
||||
tag: 'Cyber Fraud Reporting', icon: '🛡️',
|
||||
title: '<span class="hl">CFCFRMS</span><br>Fraud Detection & Reporting',
|
||||
desc: 'Citizen Financial Cyber Fraud Reporting & Management System with real-time monitoring, MHA portal connectivity, and automated lien marking.',
|
||||
stats: [{ value: 'MHA', label: 'Portal' }, { value: 'Real-Time', label: 'Alerts' }, { value: 'Auto Lien', label: 'Mark & Block' }],
|
||||
flow: ['Transaction', 'Risk Engine', 'CFCFRMS API', 'MHA Portal', 'Lien / Block']
|
||||
},
|
||||
{
|
||||
tag: 'Compliance', icon: '📋',
|
||||
title: 'RBI & <span class="hl">IDRBT</span><br>Compliant Architecture',
|
||||
desc: 'Built in full adherence to RBI circulars and IDRBT security standards — data localisation, audit trails, VAPT-certified APIs and AML screening.',
|
||||
stats: [{ value: 'IDRBT', label: 'Standards' }, { value: 'VAPT', label: 'Certified' }, { value: 'AML/OFAC', label: 'Screening' }],
|
||||
flow: ['RBI Circular', 'IDRBT Std.', 'Audit Trail', 'VAPT APIs', 'AML / OFAC']
|
||||
},
|
||||
{
|
||||
tag: 'CKYC Compliance', icon: '🪪',
|
||||
title: 'CBS to <span class="hl">CKYC</span><br>Data Submission & Verification',
|
||||
desc: 'End-to-end CERSAI CKYC compliance workflow — Non-CKYC identification, auto ZIP packaging, SFTP upload, API-based search & fetch.',
|
||||
stats: [{ value: 'CERSAI', label: 'Registry' }, { value: 'SFTP', label: 'Auto Upload' }, { value: 'API Search', label: '& Fetch' }],
|
||||
flow: ['CBS — Non-CKYC', 'Auto ZIP Pack', 'SFTP Upload', 'CERSAI API', 'Status Update']
|
||||
}
|
||||
];
|
||||
currentSlide = 0;
|
||||
slideDuration = 5000;
|
||||
private slideTimer: any;
|
||||
/** Show version info table if env allows */
|
||||
displayBackendInfo = environment.displayBackEndInfo !== 'false';
|
||||
/** Production mode - minimal hero with branding only */
|
||||
@@ -139,6 +188,7 @@ export class LoginComponent implements OnInit, OnDestroy {
|
||||
*/
|
||||
ngOnInit() {
|
||||
this.showTenantSelector = this.calculateTenantSelectorVisibility();
|
||||
this.startSlider();
|
||||
this.updateLogo();
|
||||
this.themeDarkEnabled = this.settingsService.themeDarkEnabled;
|
||||
// Subscribe to theme changes
|
||||
@@ -207,6 +257,23 @@ export class LoginComponent implements OnInit, OnDestroy {
|
||||
if (this.theme$) {
|
||||
this.theme$.unsubscribe();
|
||||
}
|
||||
clearInterval(this.slideTimer);
|
||||
}
|
||||
|
||||
goToSlide(index: number): void {
|
||||
this.currentSlide = index;
|
||||
this.restartSlider();
|
||||
}
|
||||
|
||||
private startSlider(): void {
|
||||
this.slideTimer = setInterval(() => {
|
||||
this.currentSlide = (this.currentSlide + 1) % this.slides.length;
|
||||
}, this.slideDuration);
|
||||
}
|
||||
|
||||
private restartSlider(): void {
|
||||
clearInterval(this.slideTimer);
|
||||
this.startSlider();
|
||||
}
|
||||
|
||||
toggleSettingsPanel(): void {
|
||||
|
||||
Reference in New Issue
Block a user