feat(digital+toolbar): NEFT/RTGS module, AI menu, polished header icons

- Add /digital/neft-rtgs (entry) and /digital/neft-rtgs-report (analytics):
  KPIs, tabbed views (Trends, Bank-wise, Date-wise, Pending/Pass/Return,
  Branch/Mobile, User-wise), filterable transaction table with CSV export,
  and a non-dismissible Initiate dialog launched from a floating action.
- Make BANL verification mandatory before NEFT/RTGS submit; auto-fill and
  lock beneficiary name from the lookup response, invalidate match on
  A/C or IFSC edit, demo fallback for unknown accounts.
- Add Digital menu links (NEFT/RTGS + Report) in shell top-nav.
- Replace toolbar theme toggle with AI / Intelligence Modules mega menu:
  4 colour-coded columns covering Lending & Risk, Investment & Profit,
  Compliance & Advisory, Governance (9 modules total). Wire RBI
  Notifications Monitoring to /rbi-circulars.
- Unify notifications, settings, AI, and profile toolbar buttons into a
  26px ring style; colourful gradient bell SVG for notifications,
  custom gear+petals AI mark, online dot on the avatar.
- Trim ISO 27001 chip in the top bar.
- Add MPL header to generated .env.ts and its template in version.js.
- Bundles other pending working-tree changes (clients family/nominee
  tab tweaks, auth/2FA fixes, translations) into the same push.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aditya
2026-05-15 11:50:26 +05:30
co-authored by Claude Opus 4.7
parent 6714897688
commit 595054b0b8
35 changed files with 4409 additions and 194 deletions
@@ -480,6 +480,24 @@ export class AuthenticationService {
);
}
/**
* Finalises login when a TFA access token has already been minted server-side (DSC factor).
* The DSC flow ends with /v1/login/dsc/{rn}/claim returning a ready-to-use token — calling the
* OTP-shaped /twofactor/validate path here would 4xx because there is no in-memory OTPRequest
* to exchange. We just need the post-success bookkeeping: stash the token on the interceptor,
* persist the validity window, set credentials, and fire the login alert.
*/
applyTwoFactorToken(token: string, liveSeconds: number): void {
const now = Date.now();
const ttlMs = (liveSeconds && liveSeconds > 0 ? liveSeconds : 0) * 1000;
const response = {
token,
validFrom: now,
validTo: ttlMs > 0 ? now + ttlMs : now
};
this.onOTPValidateSuccess(response);
}
/**
* Sets the two factor authorization token followed by one of the following:
*