feat: add CFCFRMS module, bank menus, mock backend, and dashboard redesign

- CFCFRMS cyber fraud complaint management with dashboard, complaints,
  escalation, report suspect/mule/fraud txn, FMR submission, CFR lookup
- Mock HTTP interceptor with 20 dummy complaints and all endpoints
- Simulator service for I4C/MHA integration testing
- 3-row menu bar with 22 items (7+8+8 layout)
- Mega menus for General Ledger, Sub Ledger, Deposits, Share, Others,
  HRM, RBI with search and grouped columns
- Dropdowns for Cashier, Clearing, NPA, CKYC, Advances, Letter Mgmt,
  Insurance, Digital
- Dashboard redesign with regulatory, financial health, deposits,
  risk/NPA sections using static banking data
- All translations added to en-US.json
- FontAwesome icons registered for all new menu items

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aditya
2026-03-18 18:05:43 +05:30
co-authored by Claude Opus 4.6
parent 0a32d7135e
commit b3a4cce0cf
55 changed files with 9667 additions and 298 deletions
+87
View File
@@ -0,0 +1,87 @@
/**
* 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/.
*/
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { Route } from '../core/route/route.service';
import { CfcfrmsDashboardComponent } from './dashboard/cfcfrms-dashboard.component';
import { ComplaintListComponent } from './complaint-list/complaint-list.component';
import { ComplaintDetailComponent } from './complaint-detail/complaint-detail.component';
import { EscalateComponent } from './escalate/escalate.component';
import { ReportSuspectComponent } from './report-suspect/report-suspect.component';
import { ReportMuleComponent } from './report-mule/report-mule.component';
import { ReportFraudTxnComponent } from './report-fraud-txn/report-fraud-txn.component';
import { FmrSubmissionComponent } from './fmr-submission/fmr-submission.component';
import { CfrLookupComponent } from './cfr-lookup/cfr-lookup.component';
const routes: Routes = [
Route.withShell([
{
path: 'cfcfrms',
data: { title: 'CFCFRMS', breadcrumb: 'CFCFRMS' },
children: [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full'
},
{
path: 'dashboard',
component: CfcfrmsDashboardComponent,
data: { title: 'CFCFRMS Dashboard', breadcrumb: 'Dashboard' }
},
{
path: 'complaints',
component: ComplaintListComponent,
data: { title: 'Complaints', breadcrumb: 'Complaints' }
},
{
path: 'complaints/:ticketId',
component: ComplaintDetailComponent,
data: { title: 'Complaint Detail', breadcrumb: 'Detail' }
},
{
path: 'escalate',
component: EscalateComponent,
data: { title: 'Escalate Complaint', breadcrumb: 'Escalate' }
},
{
path: 'report-suspect',
component: ReportSuspectComponent,
data: { title: 'Report Suspect Account', breadcrumb: 'Report Suspect' }
},
{
path: 'report-mule',
component: ReportMuleComponent,
data: { title: 'Report Mule Account', breadcrumb: 'Report Mule' }
},
{
path: 'report-fraud-txn',
component: ReportFraudTxnComponent,
data: { title: 'Report Fraud Transaction', breadcrumb: 'Fraud Transaction' }
},
{
path: 'fmr-submission',
component: FmrSubmissionComponent,
data: { title: 'FMR Submission', breadcrumb: 'FMR Submission' }
},
{
path: 'cfr-lookup',
component: CfrLookupComponent,
data: { title: 'CFR Lookup', breadcrumb: 'CFR Lookup' }
}
]
}
])
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class CfcfrmsRoutingModule {}