@finspringinnovations/fixeddepositsdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -0
- package/lib/api/applicationApi.d.ts +1 -0
- package/lib/api/applicationApi.js +11 -0
- package/lib/api/bankApi.d.ts +352 -0
- package/lib/api/bankApi.js +54 -0
- package/lib/api/baseApi.d.ts +6 -0
- package/lib/api/baseApi.js +406 -0
- package/lib/api/customerApi.d.ts +855 -0
- package/lib/api/customerApi.js +241 -0
- package/lib/api/fdApi.d.ts +979 -0
- package/lib/api/fdApi.js +112 -0
- package/lib/api/fdCalculatorApi.d.ts +179 -0
- package/lib/api/fdCalculatorApi.js +36 -0
- package/lib/api/index.d.ts +14 -0
- package/lib/api/index.js +45 -0
- package/lib/api/interestRateApi.d.ts +585 -0
- package/lib/api/interestRateApi.js +101 -0
- package/lib/api/kycApi.d.ts +486 -0
- package/lib/api/kycApi.js +71 -0
- package/lib/api/masterDataApi.d.ts +158 -0
- package/lib/api/masterDataApi.js +35 -0
- package/lib/api/nomineeApi.d.ts +325 -0
- package/lib/api/nomineeApi.js +46 -0
- package/lib/api/onboardingApi.d.ts +192 -0
- package/lib/api/onboardingApi.js +41 -0
- package/lib/api/panApi.d.ts +0 -0
- package/lib/api/panApi.js +23 -0
- package/lib/api/paymentApi.d.ts +325 -0
- package/lib/api/paymentApi.js +46 -0
- package/lib/api/workflowApi.d.ts +654 -0
- package/lib/api/workflowApi.js +90 -0
- package/lib/assets/images/images.d.ts +6 -0
- package/lib/assets/images/images.js +12 -0
- package/lib/components/AadhaarInput.d.ts +13 -0
- package/lib/components/AadhaarInput.js +47 -0
- package/lib/components/ActionButton.d.ts +12 -0
- package/lib/components/ActionButton.js +87 -0
- package/lib/components/ActiveFDCard.d.ts +18 -0
- package/lib/components/ActiveFDCard.js +116 -0
- package/lib/components/AmountInput.d.ts +20 -0
- package/lib/components/AmountInput.js +142 -0
- package/lib/components/CheckboxOption.d.ts +11 -0
- package/lib/components/CheckboxOption.js +41 -0
- package/lib/components/CompanyHeader.d.ts +7 -0
- package/lib/components/CompanyHeader.js +59 -0
- package/lib/components/DropdownSelector.d.ts +9 -0
- package/lib/components/DropdownSelector.js +49 -0
- package/lib/components/EmptyState.d.ts +17 -0
- package/lib/components/EmptyState.js +44 -0
- package/lib/components/ErrorDisplay.d.ts +17 -0
- package/lib/components/ErrorDisplay.js +69 -0
- package/lib/components/FAQItem.d.ts +9 -0
- package/lib/components/FAQItem.js +52 -0
- package/lib/components/FDCard.d.ts +23 -0
- package/lib/components/FDCard.js +116 -0
- package/lib/components/FormDropdown.d.ts +18 -0
- package/lib/components/FormDropdown.js +155 -0
- package/lib/components/FormSection.d.ts +14 -0
- package/lib/components/FormSection.js +38 -0
- package/lib/components/Header.d.ts +14 -0
- package/lib/components/Header.js +52 -0
- package/lib/components/IFSCSearchResultCard.d.ts +13 -0
- package/lib/components/IFSCSearchResultCard.js +70 -0
- package/lib/components/InfoBox.d.ts +8 -0
- package/lib/components/InfoBox.js +39 -0
- package/lib/components/InterestRateCard.d.ts +8 -0
- package/lib/components/InterestRateCard.js +46 -0
- package/lib/components/LoadingIndicator.d.ts +12 -0
- package/lib/components/LoadingIndicator.js +30 -0
- package/lib/components/OTPInput.d.ts +17 -0
- package/lib/components/OTPInput.js +144 -0
- package/lib/components/PaymentDetailsCard.d.ts +20 -0
- package/lib/components/PaymentDetailsCard.js +68 -0
- package/lib/components/PendingFDBottomSheet.d.ts +19 -0
- package/lib/components/PendingFDBottomSheet.js +122 -0
- package/lib/components/SafeAreaWrapper.d.ts +13 -0
- package/lib/components/SafeAreaWrapper.js +41 -0
- package/lib/components/ScreenHeader.d.ts +11 -0
- package/lib/components/ScreenHeader.js +46 -0
- package/lib/components/StatusDisplay.d.ts +15 -0
- package/lib/components/StatusDisplay.js +88 -0
- package/lib/components/TextFieldWithLabel.d.ts +46 -0
- package/lib/components/TextFieldWithLabel.js +326 -0
- package/lib/components/TrustBox.d.ts +8 -0
- package/lib/components/TrustBox.js +46 -0
- package/lib/components/ValidationErrorAlert.d.ts +23 -0
- package/lib/components/ValidationErrorAlert.js +39 -0
- package/lib/components/ValidationMessage.d.ts +9 -0
- package/lib/components/ValidationMessage.js +98 -0
- package/lib/components/index.d.ts +35 -0
- package/lib/components/index.js +64 -0
- package/lib/config/apiConfig.d.ts +34 -0
- package/lib/config/apiConfig.js +158 -0
- package/lib/config/appDataConfig.d.ts +159 -0
- package/lib/config/appDataConfig.js +310 -0
- package/lib/config/encryptionConfig.d.ts +21 -0
- package/lib/config/encryptionConfig.js +61 -0
- package/lib/config/workflowConstants.d.ts +62 -0
- package/lib/config/workflowConstants.js +63 -0
- package/lib/constants/strings/bank.d.ts +72 -0
- package/lib/constants/strings/bank.js +86 -0
- package/lib/constants/strings/base64Images.d.ts +26 -0
- package/lib/constants/strings/base64Images.js +29 -0
- package/lib/constants/strings/common.d.ts +53 -0
- package/lib/constants/strings/common.js +62 -0
- package/lib/constants/strings/employee.d.ts +61 -0
- package/lib/constants/strings/employee.js +77 -0
- package/lib/constants/strings/faq.d.ts +14 -0
- package/lib/constants/strings/faq.js +20 -0
- package/lib/constants/strings/fd.d.ts +122 -0
- package/lib/constants/strings/fd.js +151 -0
- package/lib/constants/strings/home.d.ts +49 -0
- package/lib/constants/strings/home.js +62 -0
- package/lib/constants/strings/index.d.ts +16 -0
- package/lib/constants/strings/index.js +44 -0
- package/lib/constants/strings/kyc.d.ts +80 -0
- package/lib/constants/strings/kyc.js +94 -0
- package/lib/constants/strings/nominee.d.ts +64 -0
- package/lib/constants/strings/nominee.js +81 -0
- package/lib/hooks/useAuth.d.ts +25 -0
- package/lib/hooks/useAuth.js +39 -0
- package/lib/hooks/useFDData.d.ts +11 -0
- package/lib/hooks/useFDData.js +40 -0
- package/lib/index.d.ts +48 -0
- package/lib/index.js +161 -0
- package/lib/navigation/RootNavigator.d.ts +9 -0
- package/lib/navigation/RootNavigator.js +459 -0
- package/lib/navigation/SimpleNavigator.d.ts +11 -0
- package/lib/navigation/SimpleNavigator.js +114 -0
- package/lib/navigation/helpers.d.ts +11 -0
- package/lib/navigation/helpers.js +83 -0
- package/lib/navigation/index.d.ts +17 -0
- package/lib/navigation/index.js +42 -0
- package/lib/navigation/types.d.ts +139 -0
- package/lib/navigation/types.js +2 -0
- package/lib/navigation/workflowNavigator.d.ts +22 -0
- package/lib/navigation/workflowNavigator.js +104 -0
- package/lib/providers/ApiProvider.d.ts +7 -0
- package/lib/providers/ApiProvider.js +16 -0
- package/lib/providers/MasterDataProvider.d.ts +10 -0
- package/lib/providers/MasterDataProvider.js +54 -0
- package/lib/screens/AadhaarVerification.d.ts +7 -0
- package/lib/screens/AadhaarVerification.js +627 -0
- package/lib/screens/AddBankAccount.d.ts +22 -0
- package/lib/screens/AddBankAccount.js +381 -0
- package/lib/screens/BankDetail.d.ts +16 -0
- package/lib/screens/BankDetail.js +596 -0
- package/lib/screens/Employee.d.ts +18 -0
- package/lib/screens/Employee.js +594 -0
- package/lib/screens/FDCalculator.d.ts +18 -0
- package/lib/screens/FDCalculator.js +767 -0
- package/lib/screens/FDList.d.ts +28 -0
- package/lib/screens/FDList.js +1853 -0
- package/lib/screens/FindIFSC.d.ts +16 -0
- package/lib/screens/FindIFSC.js +248 -0
- package/lib/screens/NomineeDetail.d.ts +17 -0
- package/lib/screens/NomineeDetail.js +592 -0
- package/lib/screens/PayNow.d.ts +14 -0
- package/lib/screens/PayNow.js +230 -0
- package/lib/screens/Payment.d.ts +11 -0
- package/lib/screens/Payment.js +191 -0
- package/lib/screens/PaymentStatus.d.ts +16 -0
- package/lib/screens/PaymentStatus.js +431 -0
- package/lib/screens/ReviewKYC.d.ts +23 -0
- package/lib/screens/ReviewKYC.js +727 -0
- package/lib/state/paymentSession.d.ts +8 -0
- package/lib/state/paymentSession.js +13 -0
- package/lib/store/fdListSelectedSlice.d.ts +21 -0
- package/lib/store/fdListSelectedSlice.js +26 -0
- package/lib/store/hooks.d.ts +8 -0
- package/lib/store/hooks.js +8 -0
- package/lib/store/index.d.ts +3 -0
- package/lib/store/index.js +8 -0
- package/lib/store/onboardingSlice.d.ts +12 -0
- package/lib/store/onboardingSlice.js +32 -0
- package/lib/store/store.d.ts +13 -0
- package/lib/store/store.js +27 -0
- package/lib/theme/ThemeContext.d.ts +210 -0
- package/lib/theme/ThemeContext.js +92 -0
- package/lib/theme/colors.d.ts +80 -0
- package/lib/theme/colors.js +85 -0
- package/lib/theme/index.d.ts +35 -0
- package/lib/theme/index.js +78 -0
- package/lib/theme/shadows.d.ts +53 -0
- package/lib/theme/shadows.js +58 -0
- package/lib/theme/typography.d.ts +134 -0
- package/lib/theme/typography.js +143 -0
- package/lib/types/dataTypes.d.ts +34 -0
- package/lib/types/dataTypes.js +2 -0
- package/lib/types/workflowTypes.d.ts +2 -0
- package/lib/types/workflowTypes.js +2 -0
- package/lib/utils/apiLogger.d.ts +48 -0
- package/lib/utils/apiLogger.js +105 -0
- package/lib/utils/encryption.d.ts +28 -0
- package/lib/utils/encryption.js +113 -0
- package/lib/utils/getFDData.d.ts +48 -0
- package/lib/utils/getFDData.js +145 -0
- package/lib/utils/globalData.d.ts +2 -0
- package/lib/utils/globalData.js +10 -0
- package/package.json +51 -0
- package/src/api/applicationApi.ts +12 -0
- package/src/api/bankApi.ts +42 -0
- package/src/api/baseApi.ts +463 -0
- package/src/api/customerApi.ts +324 -0
- package/src/api/fdApi.ts +150 -0
- package/src/api/fdCalculatorApi.ts +41 -0
- package/src/api/index.ts +29 -0
- package/src/api/interestRateApi.ts +143 -0
- package/src/api/kycApi.ts +63 -0
- package/src/api/masterDataApi.ts +37 -0
- package/src/api/nomineeApi.ts +34 -0
- package/src/api/onboardingApi.ts +64 -0
- package/src/api/panApi.ts +25 -0
- package/src/api/paymentApi.ts +34 -0
- package/src/api/workflowApi.ts +94 -0
- package/src/assets/images/Mahindra.png +0 -0
- package/src/assets/images/arrow-filled.png +0 -0
- package/src/assets/images/arrow-left.png +0 -0
- package/src/assets/images/backicon.png +0 -0
- package/src/assets/images/calendar.png +0 -0
- package/src/assets/images/chevron-down.png +0 -0
- package/src/assets/images/chevron-down@2x.png +0 -0
- package/src/assets/images/chevron-down@3x.png +0 -0
- package/src/assets/images/images.js +10 -0
- package/src/assets/images/shriram_logo.png +0 -0
- package/src/components/AadhaarInput.tsx +91 -0
- package/src/components/ActionButton.tsx +129 -0
- package/src/components/ActiveFDCard.tsx +188 -0
- package/src/components/AmountInput.tsx +217 -0
- package/src/components/CheckboxOption.tsx +93 -0
- package/src/components/CompanyHeader.tsx +80 -0
- package/src/components/DropdownSelector.tsx +77 -0
- package/src/components/EmptyState.tsx +109 -0
- package/src/components/ErrorDisplay.tsx +135 -0
- package/src/components/FAQItem.tsx +90 -0
- package/src/components/FDCard.tsx +186 -0
- package/src/components/FormDropdown.tsx +214 -0
- package/src/components/FormSection.tsx +86 -0
- package/src/components/Header.tsx +110 -0
- package/src/components/IFSCSearchResultCard.tsx +139 -0
- package/src/components/InfoBox.tsx +55 -0
- package/src/components/InterestRateCard.tsx +77 -0
- package/src/components/LoadingIndicator.tsx +63 -0
- package/src/components/OTPInput.tsx +213 -0
- package/src/components/PaymentDetailsCard.tsx +120 -0
- package/src/components/PendingFDBottomSheet.tsx +237 -0
- package/src/components/README.md +210 -0
- package/src/components/SafeAreaWrapper.tsx +68 -0
- package/src/components/ScreenHeader.tsx +83 -0
- package/src/components/StatusDisplay.tsx +139 -0
- package/src/components/TextFieldWithLabel.tsx +502 -0
- package/src/components/TrustBox.tsx +63 -0
- package/src/components/ValidationErrorAlert.tsx +57 -0
- package/src/components/ValidationMessage.tsx +134 -0
- package/src/components/index.tsx +47 -0
- package/src/config/apiConfig.ts +217 -0
- package/src/config/appDataConfig.ts +358 -0
- package/src/config/encryptionConfig.ts +65 -0
- package/src/config/workflowConstants.ts +70 -0
- package/src/constants/strings/README.md +146 -0
- package/src/constants/strings/bank.ts +92 -0
- package/src/constants/strings/base64Images.ts +31 -0
- package/src/constants/strings/common.ts +63 -0
- package/src/constants/strings/employee.ts +85 -0
- package/src/constants/strings/faq.ts +23 -0
- package/src/constants/strings/fd.ts +172 -0
- package/src/constants/strings/home.ts +67 -0
- package/src/constants/strings/index.ts +21 -0
- package/src/constants/strings/kyc.ts +100 -0
- package/src/constants/strings/nominee.ts +90 -0
- package/src/hooks/useAuth.ts +42 -0
- package/src/hooks/useFDData.ts +48 -0
- package/src/index.tsx +139 -0
- package/src/navigation/RootNavigator.tsx +687 -0
- package/src/navigation/SimpleNavigator.tsx +123 -0
- package/src/navigation/helpers.ts +85 -0
- package/src/navigation/index.tsx +84 -0
- package/src/navigation/types.ts +146 -0
- package/src/navigation/workflowNavigator.ts +131 -0
- package/src/providers/ApiProvider.tsx +23 -0
- package/src/providers/MasterDataProvider.tsx +30 -0
- package/src/screens/AadhaarVerification.tsx +809 -0
- package/src/screens/AddBankAccount.tsx +541 -0
- package/src/screens/BankDetail.tsx +826 -0
- package/src/screens/Employee.tsx +822 -0
- package/src/screens/FDCalculator.tsx +1002 -0
- package/src/screens/FDList.tsx +2199 -0
- package/src/screens/FindIFSC.tsx +332 -0
- package/src/screens/NomineeDetail.tsx +800 -0
- package/src/screens/PayNow.tsx +282 -0
- package/src/screens/Payment.tsx +224 -0
- package/src/screens/PaymentStatus.tsx +595 -0
- package/src/screens/ReviewKYC.tsx +1062 -0
- package/src/state/paymentSession.ts +13 -0
- package/src/store/fdListSelectedSlice.ts +42 -0
- package/src/store/hooks.ts +6 -0
- package/src/store/index.ts +3 -0
- package/src/store/onboardingSlice.ts +37 -0
- package/src/store/store.ts +27 -0
- package/src/theme/ThemeContext.tsx +84 -0
- package/src/theme/colors.ts +90 -0
- package/src/theme/index.ts +85 -0
- package/src/theme/shadows.ts +61 -0
- package/src/theme/typography.ts +151 -0
- package/src/types/dataTypes.ts +37 -0
- package/src/types/env.d.ts +93 -0
- package/src/types/workflowTypes.ts +12 -0
- package/src/utils/apiLogger.ts +166 -0
- package/src/utils/encryption.ts +159 -0
- package/src/utils/getFDData.ts +165 -0
- package/src/utils/globalData.ts +7 -0
package/lib/index.js
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.ApiLogger = exports.apiLogger = exports.getWorkflowTaskName = exports.getWorkflowStateName = exports.WORKFLOW_CONSTANTS = exports.WORKFLOW_TASKS = exports.WORKFLOW_STATES = exports.validateAndProceed = exports.showValidationErrorAlert = exports.clearSDKColors = exports.getSDKColors = exports.setSDKColors = exports.clearAllData = exports.clearEnvironmentData = exports.isEnvironmentInitialized = exports.getEnvironmentData = exports.initializeEnvironment = exports.clearAppData = exports.validateAppData = exports.getUserDemographics = exports.getUserInfoForAPI = exports.isSDKInitialized = exports.getAppData = exports.initializeSDK = exports.logEnvironmentInfo = exports.debugApiCall = exports.debugApiConfig = exports.validateEncryptionConfig = exports.getEncryptionEnvironmentConfig = exports.getEncryptionConfigs = exports.getEncryptionConfig = exports.useAppSelector = exports.useAppDispatch = exports.store = exports.useAuth = exports.useFDData = exports.useMasterData = exports.MasterDataProvider = exports.ApiProvider = exports.useSpacing = exports.useShadows = exports.useTypography = exports.useColors = exports.useTheme = exports.ThemeProvider = exports.FDSDKNavigator = exports.SimpleNavigator = exports.SDKNavigationContainer = exports.PendingFDBottomSheet = exports.FDList = void 0;
|
|
43
|
+
exports.FDSDK = exports.getFDData = exports.getCurrentApiConfig = exports.isEncryptionEnabled = exports.toggleEncryption = void 0;
|
|
44
|
+
// React Native crypto polyfill - MUST be imported first
|
|
45
|
+
require("react-native-get-random-values");
|
|
46
|
+
// Main SDK UI exports (trimmed to FDList “home”)
|
|
47
|
+
const FDList_1 = __importDefault(require("./screens/FDList"));
|
|
48
|
+
const PendingFDBottomSheet_1 = __importDefault(require("./components/PendingFDBottomSheet"));
|
|
49
|
+
exports.FDList = FDList_1.default;
|
|
50
|
+
exports.PendingFDBottomSheet = PendingFDBottomSheet_1.default;
|
|
51
|
+
// Export navigation - Direct imports to ensure they work
|
|
52
|
+
const navigation_1 = require("./navigation");
|
|
53
|
+
Object.defineProperty(exports, "SDKNavigationContainer", { enumerable: true, get: function () { return navigation_1.SDKNavigationContainer; } });
|
|
54
|
+
Object.defineProperty(exports, "FDSDKNavigator", { enumerable: true, get: function () { return navigation_1.SDKNavigationContainer; } });
|
|
55
|
+
Object.defineProperty(exports, "SimpleNavigator", { enumerable: true, get: function () { return navigation_1.SimpleNavigator; } });
|
|
56
|
+
// Export theme system
|
|
57
|
+
__exportStar(require("./theme"), exports);
|
|
58
|
+
var ThemeContext_1 = require("./theme/ThemeContext");
|
|
59
|
+
Object.defineProperty(exports, "ThemeProvider", { enumerable: true, get: function () { return ThemeContext_1.ThemeProvider; } });
|
|
60
|
+
Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return ThemeContext_1.useTheme; } });
|
|
61
|
+
Object.defineProperty(exports, "useColors", { enumerable: true, get: function () { return ThemeContext_1.useColors; } });
|
|
62
|
+
Object.defineProperty(exports, "useTypography", { enumerable: true, get: function () { return ThemeContext_1.useTypography; } });
|
|
63
|
+
Object.defineProperty(exports, "useShadows", { enumerable: true, get: function () { return ThemeContext_1.useShadows; } });
|
|
64
|
+
Object.defineProperty(exports, "useSpacing", { enumerable: true, get: function () { return ThemeContext_1.useSpacing; } });
|
|
65
|
+
// Export API system
|
|
66
|
+
__exportStar(require("./api"), exports);
|
|
67
|
+
var ApiProvider_1 = require("./providers/ApiProvider");
|
|
68
|
+
Object.defineProperty(exports, "ApiProvider", { enumerable: true, get: function () { return ApiProvider_1.ApiProvider; } });
|
|
69
|
+
var MasterDataProvider_1 = require("./providers/MasterDataProvider");
|
|
70
|
+
Object.defineProperty(exports, "MasterDataProvider", { enumerable: true, get: function () { return MasterDataProvider_1.MasterDataProvider; } });
|
|
71
|
+
Object.defineProperty(exports, "useMasterData", { enumerable: true, get: function () { return MasterDataProvider_1.useMasterData; } });
|
|
72
|
+
var useFDData_1 = require("./hooks/useFDData");
|
|
73
|
+
Object.defineProperty(exports, "useFDData", { enumerable: true, get: function () { return useFDData_1.useFDData; } });
|
|
74
|
+
var useAuth_1 = require("./hooks/useAuth");
|
|
75
|
+
Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return useAuth_1.useAuth; } });
|
|
76
|
+
var store_1 = require("./store");
|
|
77
|
+
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return store_1.store; } });
|
|
78
|
+
Object.defineProperty(exports, "useAppDispatch", { enumerable: true, get: function () { return store_1.useAppDispatch; } });
|
|
79
|
+
Object.defineProperty(exports, "useAppSelector", { enumerable: true, get: function () { return store_1.useAppSelector; } });
|
|
80
|
+
// Export encryption utilities
|
|
81
|
+
__exportStar(require("./utils/encryption"), exports);
|
|
82
|
+
var encryptionConfig_1 = require("./config/encryptionConfig");
|
|
83
|
+
Object.defineProperty(exports, "getEncryptionConfig", { enumerable: true, get: function () { return encryptionConfig_1.getEncryptionConfig; } });
|
|
84
|
+
Object.defineProperty(exports, "getEncryptionConfigs", { enumerable: true, get: function () { return encryptionConfig_1.getEncryptionConfigs; } });
|
|
85
|
+
Object.defineProperty(exports, "getEncryptionEnvironmentConfig", { enumerable: true, get: function () { return encryptionConfig_1.getEnvironmentConfig; } });
|
|
86
|
+
Object.defineProperty(exports, "validateEncryptionConfig", { enumerable: true, get: function () { return encryptionConfig_1.validateEncryptionConfig; } });
|
|
87
|
+
// Export configuration utilities
|
|
88
|
+
__exportStar(require("./config/apiConfig"), exports);
|
|
89
|
+
var apiConfig_1 = require("./config/apiConfig");
|
|
90
|
+
Object.defineProperty(exports, "debugApiConfig", { enumerable: true, get: function () { return apiConfig_1.debugApiConfig; } });
|
|
91
|
+
Object.defineProperty(exports, "debugApiCall", { enumerable: true, get: function () { return apiConfig_1.debugApiCall; } });
|
|
92
|
+
Object.defineProperty(exports, "logEnvironmentInfo", { enumerable: true, get: function () { return apiConfig_1.logEnvironmentInfo; } });
|
|
93
|
+
// Export app data configuration and theming helpers
|
|
94
|
+
var appDataConfig_1 = require("./config/appDataConfig");
|
|
95
|
+
Object.defineProperty(exports, "initializeSDK", { enumerable: true, get: function () { return appDataConfig_1.initializeSDK; } });
|
|
96
|
+
Object.defineProperty(exports, "getAppData", { enumerable: true, get: function () { return appDataConfig_1.getAppData; } });
|
|
97
|
+
Object.defineProperty(exports, "isSDKInitialized", { enumerable: true, get: function () { return appDataConfig_1.isSDKInitialized; } });
|
|
98
|
+
Object.defineProperty(exports, "getUserInfoForAPI", { enumerable: true, get: function () { return appDataConfig_1.getUserInfoForAPI; } });
|
|
99
|
+
Object.defineProperty(exports, "getUserDemographics", { enumerable: true, get: function () { return appDataConfig_1.getUserDemographics; } });
|
|
100
|
+
Object.defineProperty(exports, "validateAppData", { enumerable: true, get: function () { return appDataConfig_1.validateAppData; } });
|
|
101
|
+
Object.defineProperty(exports, "clearAppData", { enumerable: true, get: function () { return appDataConfig_1.clearAppData; } });
|
|
102
|
+
Object.defineProperty(exports, "initializeEnvironment", { enumerable: true, get: function () { return appDataConfig_1.initializeEnvironment; } });
|
|
103
|
+
Object.defineProperty(exports, "getEnvironmentData", { enumerable: true, get: function () { return appDataConfig_1.getEnvironmentData; } });
|
|
104
|
+
Object.defineProperty(exports, "isEnvironmentInitialized", { enumerable: true, get: function () { return appDataConfig_1.isEnvironmentInitialized; } });
|
|
105
|
+
Object.defineProperty(exports, "clearEnvironmentData", { enumerable: true, get: function () { return appDataConfig_1.clearEnvironmentData; } });
|
|
106
|
+
Object.defineProperty(exports, "clearAllData", { enumerable: true, get: function () { return appDataConfig_1.clearAllData; } });
|
|
107
|
+
Object.defineProperty(exports, "setSDKColors", { enumerable: true, get: function () { return appDataConfig_1.setSDKColors; } });
|
|
108
|
+
Object.defineProperty(exports, "getSDKColors", { enumerable: true, get: function () { return appDataConfig_1.getSDKColors; } });
|
|
109
|
+
Object.defineProperty(exports, "clearSDKColors", { enumerable: true, get: function () { return appDataConfig_1.clearSDKColors; } });
|
|
110
|
+
// Export validation utilities
|
|
111
|
+
var ValidationErrorAlert_1 = require("./components/ValidationErrorAlert");
|
|
112
|
+
Object.defineProperty(exports, "showValidationErrorAlert", { enumerable: true, get: function () { return ValidationErrorAlert_1.showValidationErrorAlert; } });
|
|
113
|
+
Object.defineProperty(exports, "validateAndProceed", { enumerable: true, get: function () { return ValidationErrorAlert_1.validateAndProceed; } });
|
|
114
|
+
// Export workflow constants
|
|
115
|
+
var workflowConstants_1 = require("./config/workflowConstants");
|
|
116
|
+
Object.defineProperty(exports, "WORKFLOW_STATES", { enumerable: true, get: function () { return workflowConstants_1.WORKFLOW_STATES; } });
|
|
117
|
+
Object.defineProperty(exports, "WORKFLOW_TASKS", { enumerable: true, get: function () { return workflowConstants_1.WORKFLOW_TASKS; } });
|
|
118
|
+
Object.defineProperty(exports, "WORKFLOW_CONSTANTS", { enumerable: true, get: function () { return workflowConstants_1.WORKFLOW_CONSTANTS; } });
|
|
119
|
+
Object.defineProperty(exports, "getWorkflowStateName", { enumerable: true, get: function () { return workflowConstants_1.getWorkflowStateName; } });
|
|
120
|
+
Object.defineProperty(exports, "getWorkflowTaskName", { enumerable: true, get: function () { return workflowConstants_1.getWorkflowTaskName; } });
|
|
121
|
+
// Export logging utilities
|
|
122
|
+
var apiLogger_1 = require("./utils/apiLogger");
|
|
123
|
+
Object.defineProperty(exports, "apiLogger", { enumerable: true, get: function () { return apiLogger_1.apiLogger; } });
|
|
124
|
+
Object.defineProperty(exports, "ApiLogger", { enumerable: true, get: function () { return apiLogger_1.ApiLogger; } });
|
|
125
|
+
// Export encryption control utilities
|
|
126
|
+
var baseApi_1 = require("./api/baseApi");
|
|
127
|
+
Object.defineProperty(exports, "toggleEncryption", { enumerable: true, get: function () { return baseApi_1.toggleEncryption; } });
|
|
128
|
+
Object.defineProperty(exports, "isEncryptionEnabled", { enumerable: true, get: function () { return baseApi_1.isEncryptionEnabled; } });
|
|
129
|
+
Object.defineProperty(exports, "getCurrentApiConfig", { enumerable: true, get: function () { return baseApi_1.getCurrentApiConfig; } });
|
|
130
|
+
// Export FD data retrieval utility
|
|
131
|
+
var getFDData_1 = require("./utils/getFDData");
|
|
132
|
+
Object.defineProperty(exports, "getFDData", { enumerable: true, get: function () { return getFDData_1.getFDData; } });
|
|
133
|
+
// SDK Main Class
|
|
134
|
+
class FDSDK {
|
|
135
|
+
constructor(config = {}) {
|
|
136
|
+
this.config = Object.assign({ apiBaseUrl: 'https://api.fd.com', environment: 'production', theme: 'primary' }, config);
|
|
137
|
+
// Log environment information when SDK instance is created
|
|
138
|
+
Promise.resolve().then(() => __importStar(require('./config/apiConfig'))).then(({ logEnvironmentInfo }) => {
|
|
139
|
+
logEnvironmentInfo();
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
getConfig() {
|
|
143
|
+
return this.config;
|
|
144
|
+
}
|
|
145
|
+
updateConfig(newConfig) {
|
|
146
|
+
this.config = Object.assign(Object.assign({}, this.config), newConfig);
|
|
147
|
+
}
|
|
148
|
+
// Utility methods
|
|
149
|
+
static getVersion() {
|
|
150
|
+
return '1.0.0';
|
|
151
|
+
}
|
|
152
|
+
static getPlatformInfo() {
|
|
153
|
+
return {
|
|
154
|
+
platform: 'react-native',
|
|
155
|
+
version: '1.0.0',
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.FDSDK = FDSDK;
|
|
160
|
+
// Default export
|
|
161
|
+
exports.default = FDSDK;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SDKNavigationConfig } from './types';
|
|
3
|
+
interface RootNavigatorProps {
|
|
4
|
+
config?: SDKNavigationConfig;
|
|
5
|
+
onExit?: (fdDetails?: any) => void;
|
|
6
|
+
onPanRequired?: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const RootNavigator: React.FC<RootNavigatorProps>;
|
|
9
|
+
export default RootNavigator;
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const react_1 = __importStar(require("react"));
|
|
40
|
+
const stack_1 = require("@react-navigation/stack");
|
|
41
|
+
const react_native_1 = require("react-native");
|
|
42
|
+
const helpers_1 = require("./helpers");
|
|
43
|
+
// Import screens
|
|
44
|
+
const FDList_1 = __importDefault(require("../screens/FDList"));
|
|
45
|
+
const FDCalculator_1 = __importDefault(require("../screens/FDCalculator"));
|
|
46
|
+
const AadhaarVerification_1 = __importDefault(require("../screens/AadhaarVerification"));
|
|
47
|
+
const ReviewKYC_1 = __importDefault(require("../screens/ReviewKYC"));
|
|
48
|
+
const Employee_1 = __importDefault(require("../screens/Employee"));
|
|
49
|
+
const NomineeDetail_1 = __importDefault(require("../screens/NomineeDetail"));
|
|
50
|
+
const BankDetail_1 = __importDefault(require("../screens/BankDetail"));
|
|
51
|
+
const AddBankAccount_1 = __importDefault(require("../screens/AddBankAccount"));
|
|
52
|
+
const FindIFSC_1 = __importDefault(require("../screens/FindIFSC"));
|
|
53
|
+
const PayNow_1 = __importDefault(require("../screens/PayNow"));
|
|
54
|
+
const Payment_1 = __importDefault(require("../screens/Payment"));
|
|
55
|
+
const PaymentStatus_1 = __importDefault(require("../screens/PaymentStatus"));
|
|
56
|
+
// Import full SDK navigators and initialization functions
|
|
57
|
+
const shriramfdsdk_1 = require("@finspringinnovations/shriramfdsdk");
|
|
58
|
+
const mahindrafdsdk_1 = require("@finspringinnovations/mahindrafdsdk");
|
|
59
|
+
// Import NavigationContainer and tree wrappers
|
|
60
|
+
const native_1 = require("@react-navigation/native");
|
|
61
|
+
// Import navigation helpers
|
|
62
|
+
const helpers_2 = require("./helpers");
|
|
63
|
+
const paymentSession_1 = require("../state/paymentSession");
|
|
64
|
+
// Import data getters from fdsdk
|
|
65
|
+
const appDataConfig_1 = require("../config/appDataConfig");
|
|
66
|
+
const MasterDataProvider_1 = require("../providers/MasterDataProvider");
|
|
67
|
+
const ThemeContext_1 = require("../theme/ThemeContext");
|
|
68
|
+
const Stack = (0, stack_1.createStackNavigator)();
|
|
69
|
+
const MahindraRootNavigatorAny = mahindrafdsdk_1.RootNavigator;
|
|
70
|
+
const RootNavigator = ({ config = {}, onExit, onPanRequired, }) => {
|
|
71
|
+
// State to track external SDK navigation
|
|
72
|
+
const [externalSDK, setExternalSDK] = react_1.default.useState(null);
|
|
73
|
+
const [externalSDKFDData, setExternalSDKFDData] = react_1.default.useState(null);
|
|
74
|
+
// Get master data and theme from fdsdk – same theme (and themeName for dark/primary) is passed to Shriram and Mahindra
|
|
75
|
+
const { masterData } = (0, MasterDataProvider_1.useMasterData)();
|
|
76
|
+
const { theme: fdsdkTheme, themeName: fdsdkThemeName } = (0, ThemeContext_1.useTheme)();
|
|
77
|
+
// Handle Android hardware back button
|
|
78
|
+
(0, react_1.useEffect)(() => {
|
|
79
|
+
if (react_native_1.Platform.OS !== 'android')
|
|
80
|
+
return;
|
|
81
|
+
let lastBackPressTime = 0;
|
|
82
|
+
const onBackPress = () => {
|
|
83
|
+
var _a, _b, _c;
|
|
84
|
+
// Check if navigation is ready
|
|
85
|
+
if (!((_a = helpers_1.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady())) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
const now = Date.now();
|
|
89
|
+
// Ignore synthetic back events triggered during forward navigation (debounce)
|
|
90
|
+
if (now - lastBackPressTime < 300) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
lastBackPressTime = now;
|
|
94
|
+
const currentRoute = (_c = (_b = helpers_1.navigationRef.current) === null || _b === void 0 ? void 0 : _b.getCurrentRoute()) === null || _c === void 0 ? void 0 : _c.name;
|
|
95
|
+
// Block back on Payment and PaymentStatus screens
|
|
96
|
+
if (currentRoute === "Payment" || currentRoute === "PaymentStatus") {
|
|
97
|
+
return true; // block hardware back
|
|
98
|
+
}
|
|
99
|
+
// FD Calculator should always redirect to FD List
|
|
100
|
+
if (currentRoute === "FDCalculator") {
|
|
101
|
+
helpers_1.navigationRef.current.navigate('FDList');
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
// Skip FDList - let screen-specific handler handle it
|
|
105
|
+
if (currentRoute === "FDList") {
|
|
106
|
+
return false; // Let screen-specific handler handle it
|
|
107
|
+
}
|
|
108
|
+
// Enable back navigation everywhere else - use the same goBack() helper that header back buttons use
|
|
109
|
+
(0, helpers_2.goBack)(); // This calls the same function as the header back button
|
|
110
|
+
return true;
|
|
111
|
+
};
|
|
112
|
+
const subscription = react_native_1.BackHandler.addEventListener("hardwareBackPress", onBackPress);
|
|
113
|
+
return () => {
|
|
114
|
+
subscription.remove();
|
|
115
|
+
};
|
|
116
|
+
}, []);
|
|
117
|
+
const { initialRouteName = 'FDList', customScreenOptions = {}, } = config;
|
|
118
|
+
const ensureExternalSdkInitialized = react_1.default.useCallback((sdkType) => {
|
|
119
|
+
const appData = (0, appDataConfig_1.getAppData)();
|
|
120
|
+
const storedEnv = (0, appDataConfig_1.getEnvironmentData)();
|
|
121
|
+
const envData = storedEnv;
|
|
122
|
+
if (!appData) {
|
|
123
|
+
react_native_1.Alert.alert('Error', 'FDSDK app data is missing. Please restart the flow.');
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
if (!envData) {
|
|
127
|
+
react_native_1.Alert.alert('Error', 'FDSDK environment data is missing. Please initialize environment from host app.');
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
if (sdkType === 'shriram') {
|
|
132
|
+
(0, shriramfdsdk_1.initializeEnvironment)(envData);
|
|
133
|
+
(0, shriramfdsdk_1.initializeSDK)(appData);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
(0, mahindrafdsdk_1.initializeEnvironment)(envData);
|
|
137
|
+
(0, mahindrafdsdk_1.initializeSDK)(appData);
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
react_native_1.Alert.alert('Error', `Failed to initialize ${sdkType === 'shriram' ? 'Shriram' : 'Mahindra'} SDK: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}`);
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
}, []);
|
|
146
|
+
// Default screen options
|
|
147
|
+
const defaultScreenOptions = Object.assign({ headerShown: false, cardStyle: { backgroundColor: '#f8f9fa' }, animationEnabled: true, gestureEnabled: true }, customScreenOptions);
|
|
148
|
+
return (react_1.default.createElement(Stack.Navigator, { initialRouteName: initialRouteName, screenOptions: defaultScreenOptions },
|
|
149
|
+
react_1.default.createElement(Stack.Screen, { name: "FDList", options: { title: 'Fixed Deposits' } }, (props) => (react_1.default.createElement(FDList_1.default, Object.assign({ onGoBack: () => {
|
|
150
|
+
onExit === null || onExit === void 0 ? void 0 : onExit();
|
|
151
|
+
}, onSelectFD: (fdId) => {
|
|
152
|
+
// FD selected
|
|
153
|
+
}, onNavigateToFDCalculator: (fdData) => {
|
|
154
|
+
(0, helpers_2.navigate)('FDCalculator', { fdData });
|
|
155
|
+
}, onNavigateToExternalSDK: (sdkType, fdData, context) => {
|
|
156
|
+
try {
|
|
157
|
+
// Get app data and environment data from fdsdk
|
|
158
|
+
const appData = (0, appDataConfig_1.getAppData)();
|
|
159
|
+
const envData = (0, appDataConfig_1.getEnvironmentData)();
|
|
160
|
+
// Validate that we have the required data
|
|
161
|
+
if (!appData) {
|
|
162
|
+
console.error('Cannot navigate to external SDK: App data not initialized');
|
|
163
|
+
react_native_1.Alert.alert('Error', 'App data not available. Please initialize the SDK first.');
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (!envData) {
|
|
167
|
+
console.error('Cannot navigate to external SDK: Environment data not initialized');
|
|
168
|
+
react_native_1.Alert.alert('Error', 'Environment data not available. Please initialize the SDK first.');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Initialize the target SDK with all data
|
|
172
|
+
if (sdkType === 'shriram') {
|
|
173
|
+
try {
|
|
174
|
+
// Initialize Shriram SDK
|
|
175
|
+
(0, shriramfdsdk_1.initializeEnvironment)(envData);
|
|
176
|
+
(0, shriramfdsdk_1.initializeSDK)(appData);
|
|
177
|
+
// Navigate to external SDK
|
|
178
|
+
setExternalSDK('shriram');
|
|
179
|
+
setExternalSDKFDData(fdData);
|
|
180
|
+
(0, helpers_2.navigate)('ExternalSDK', {
|
|
181
|
+
sdkType: 'shriram',
|
|
182
|
+
fdData,
|
|
183
|
+
providerId: context === null || context === void 0 ? void 0 : context.providerId,
|
|
184
|
+
fdListSelectedData: context === null || context === void 0 ? void 0 : context.fdListSelectedData,
|
|
185
|
+
completeFDData: context === null || context === void 0 ? void 0 : context.completeFDData,
|
|
186
|
+
onboardingIds: context === null || context === void 0 ? void 0 : context.onboardingIds,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
console.error('Failed to initialize Shriram SDK:', error);
|
|
191
|
+
react_native_1.Alert.alert('Error', `Failed to initialize Shriram SDK: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (sdkType === 'mahindra') {
|
|
195
|
+
try {
|
|
196
|
+
// Initialize Mahindra SDK
|
|
197
|
+
(0, mahindrafdsdk_1.initializeEnvironment)(envData);
|
|
198
|
+
(0, mahindrafdsdk_1.initializeSDK)(appData);
|
|
199
|
+
// Navigate to external SDK
|
|
200
|
+
setExternalSDK('mahindra');
|
|
201
|
+
setExternalSDKFDData(fdData);
|
|
202
|
+
(0, helpers_2.navigate)('ExternalSDK', {
|
|
203
|
+
sdkType: 'mahindra',
|
|
204
|
+
fdData,
|
|
205
|
+
providerId: context === null || context === void 0 ? void 0 : context.providerId,
|
|
206
|
+
fdListSelectedData: context === null || context === void 0 ? void 0 : context.fdListSelectedData,
|
|
207
|
+
completeFDData: context === null || context === void 0 ? void 0 : context.completeFDData,
|
|
208
|
+
onboardingIds: context === null || context === void 0 ? void 0 : context.onboardingIds,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
console.error('Failed to initialize Mahindra SDK:', error);
|
|
213
|
+
react_native_1.Alert.alert('Error', `Failed to initialize Mahindra SDK: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
console.warn('Unknown SDK type:', sdkType);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
console.error('Error in onNavigateToExternalSDK:', error);
|
|
222
|
+
react_native_1.Alert.alert('Error', `Navigation error: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}`);
|
|
223
|
+
}
|
|
224
|
+
} }, props)))),
|
|
225
|
+
react_1.default.createElement(Stack.Screen, { name: "FDCalculator", options: { title: 'FD Calculator' } }, (props) => {
|
|
226
|
+
var _a;
|
|
227
|
+
return (react_1.default.createElement(FDCalculator_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onNavigateToReviewKYC: () => { var _a; return (0, helpers_2.navigate)('ReviewKYC', { fdData: (_a = props.route.params) === null || _a === void 0 ? void 0 : _a.fdData }); }, fdData: (_a = props.route.params) === null || _a === void 0 ? void 0 : _a.fdData }, props)));
|
|
228
|
+
}),
|
|
229
|
+
react_1.default.createElement(Stack.Screen, { name: "ExternalSDK", options: { title: 'External SDK', gestureEnabled: false } }, (props) => {
|
|
230
|
+
var _a, _b, _c, _d;
|
|
231
|
+
const { sdkType } = props.route.params || {};
|
|
232
|
+
const routeParams = props.route.params || {};
|
|
233
|
+
const externalMasterData = routeParams.masterData;
|
|
234
|
+
// #region agent log
|
|
235
|
+
fetch('http://127.0.0.1:7653/ingest/94b18a39-caf3-48fd-98f5-bf1838d9491a', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '04da7c' }, body: JSON.stringify({ sessionId: '04da7c', runId: 'pending-masterdata-trace', hypothesisId: 'H3', location: 'fdsdk/navigation/RootNavigator.tsx:295', message: 'ExternalSDK route handoff', data: { sdkType: sdkType || null, providerId: (routeParams === null || routeParams === void 0 ? void 0 : routeParams.providerId) || null, onboardingProviderId: ((_a = routeParams === null || routeParams === void 0 ? void 0 : routeParams.onboardingIds) === null || _a === void 0 ? void 0 : _a.providerId) || null, fdListSelectedProviderId: ((_b = routeParams === null || routeParams === void 0 ? void 0 : routeParams.fdListSelectedData) === null || _b === void 0 ? void 0 : _b.providerId) || null, hasMasterData: !!externalMasterData, masterDataHasDataKey: !!(externalMasterData === null || externalMasterData === void 0 ? void 0 : externalMasterData.data) }, timestamp: Date.now() }) }).catch(() => { });
|
|
236
|
+
// #endregion agent log
|
|
237
|
+
console.log('[RootNavigator][DEBUG][ExternalSDK] ENTRY', {
|
|
238
|
+
sdkType,
|
|
239
|
+
providerId: routeParams.providerId,
|
|
240
|
+
onboardingProviderId: (_c = routeParams.onboardingIds) === null || _c === void 0 ? void 0 : _c.providerId,
|
|
241
|
+
fdListSelectedProviderId: (_d = routeParams.fdListSelectedData) === null || _d === void 0 ? void 0 : _d.providerId,
|
|
242
|
+
hasMasterData: !!externalMasterData,
|
|
243
|
+
masterDataTopKeys: externalMasterData ? Object.keys(externalMasterData).slice(0, 20) : [],
|
|
244
|
+
nestedDataTopKeys: (externalMasterData === null || externalMasterData === void 0 ? void 0 : externalMasterData.data) ? Object.keys(externalMasterData.data).slice(0, 20) : [],
|
|
245
|
+
});
|
|
246
|
+
if (sdkType === 'shriram' || sdkType === 'mahindra') {
|
|
247
|
+
const ok = ensureExternalSdkInitialized(sdkType);
|
|
248
|
+
if (!ok)
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
// Component to set master data and initial FD context in external SDK
|
|
252
|
+
const ShriramSDKWithMasterData = ({ masterData }) => {
|
|
253
|
+
const { setMasterData } = (0, shriramfdsdk_1.useMasterData)();
|
|
254
|
+
const shriramDispatch = (0, shriramfdsdk_1.useAppDispatch)();
|
|
255
|
+
const routeParams = props.route.params || {};
|
|
256
|
+
// Set master data
|
|
257
|
+
react_1.default.useEffect(() => {
|
|
258
|
+
if (masterData) {
|
|
259
|
+
const dataToSet = masterData.data || masterData;
|
|
260
|
+
setMasterData(dataToSet);
|
|
261
|
+
}
|
|
262
|
+
}, [masterData, setMasterData]);
|
|
263
|
+
// Set FDListSelectedData using Shriram setter
|
|
264
|
+
react_1.default.useEffect(() => {
|
|
265
|
+
if (routeParams.fdListSelectedData) {
|
|
266
|
+
try {
|
|
267
|
+
shriramDispatch((0, shriramfdsdk_1.setFDListSelected)(routeParams.fdListSelectedData));
|
|
268
|
+
}
|
|
269
|
+
catch (e) {
|
|
270
|
+
console.log('[RootNavigator] Error setting Shriram FDListSelected:', e);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}, [routeParams.fdListSelectedData, shriramDispatch]);
|
|
274
|
+
// Set OnboardingIds using Shriram setter
|
|
275
|
+
react_1.default.useEffect(() => {
|
|
276
|
+
var _a;
|
|
277
|
+
if (routeParams.onboardingIds) {
|
|
278
|
+
try {
|
|
279
|
+
shriramDispatch((0, shriramfdsdk_1.setOnboardingIds)(Object.assign(Object.assign({}, routeParams.onboardingIds), { providerId: routeParams.providerId || ((_a = routeParams.onboardingIds) === null || _a === void 0 ? void 0 : _a.providerId) })));
|
|
280
|
+
}
|
|
281
|
+
catch (e) {
|
|
282
|
+
console.log('[RootNavigator] Error setting Shriram OnboardingIds:', e);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}, [routeParams.onboardingIds, shriramDispatch]);
|
|
286
|
+
// Set GlobalData using Shriram setter if present - only set completeFDData boolean
|
|
287
|
+
react_1.default.useEffect(() => {
|
|
288
|
+
if (routeParams.shriramSDKGlobalData) {
|
|
289
|
+
try {
|
|
290
|
+
const completeFDData = !!routeParams.shriramSDKGlobalData;
|
|
291
|
+
(0, shriramfdsdk_1.setGlobalData)({ completeFDData });
|
|
292
|
+
console.log('[RootNavigator] Set ShriramSDKGlobalData completeFDData:', completeFDData);
|
|
293
|
+
}
|
|
294
|
+
catch (e) {
|
|
295
|
+
console.log('[RootNavigator] Error setting Shriram GlobalData:', e);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}, [routeParams.shriramSDKGlobalData]);
|
|
299
|
+
return (react_1.default.createElement(shriramfdsdk_1.RootNavigator, { config: {
|
|
300
|
+
initialRouteName: routeParams.initialRouteName || 'FDCalculator',
|
|
301
|
+
initialPaymentStatusParams: routeParams.initialPaymentStatusParams,
|
|
302
|
+
initialFDContext: {
|
|
303
|
+
providerId: routeParams.providerId,
|
|
304
|
+
fdListSelectedData: routeParams.fdListSelectedData,
|
|
305
|
+
completeFDData: routeParams.completeFDData,
|
|
306
|
+
},
|
|
307
|
+
}, onExit: (fdDetails) => {
|
|
308
|
+
// When exiting external SDK, go back to FDList
|
|
309
|
+
setExternalSDK(null);
|
|
310
|
+
setExternalSDKFDData(null);
|
|
311
|
+
(0, helpers_2.navigate)('FDList');
|
|
312
|
+
if (fdDetails) {
|
|
313
|
+
onExit === null || onExit === void 0 ? void 0 : onExit(fdDetails);
|
|
314
|
+
}
|
|
315
|
+
}, onPanRequired: () => {
|
|
316
|
+
// Exit full SDK flow back to host app and notify callback
|
|
317
|
+
setExternalSDK(null);
|
|
318
|
+
setExternalSDKFDData(null);
|
|
319
|
+
onPanRequired === null || onPanRequired === void 0 ? void 0 : onPanRequired();
|
|
320
|
+
onExit === null || onExit === void 0 ? void 0 : onExit();
|
|
321
|
+
} }));
|
|
322
|
+
};
|
|
323
|
+
const MahindraSDKWithMasterData = ({ masterData }) => {
|
|
324
|
+
const { setMasterData } = (0, mahindrafdsdk_1.useMasterData)();
|
|
325
|
+
const mahindraDispatch = (0, mahindrafdsdk_1.useAppDispatch)();
|
|
326
|
+
// Set master data
|
|
327
|
+
react_1.default.useEffect(() => {
|
|
328
|
+
if (masterData) {
|
|
329
|
+
const dataToSet = masterData.data || masterData;
|
|
330
|
+
setMasterData(dataToSet);
|
|
331
|
+
}
|
|
332
|
+
}, [masterData, setMasterData]);
|
|
333
|
+
// Set FDListSelectedData using Mahindra setter
|
|
334
|
+
react_1.default.useEffect(() => {
|
|
335
|
+
if (routeParams.fdListSelectedData) {
|
|
336
|
+
try {
|
|
337
|
+
mahindraDispatch((0, mahindrafdsdk_1.setFDListSelected)(routeParams.fdListSelectedData));
|
|
338
|
+
}
|
|
339
|
+
catch (e) {
|
|
340
|
+
console.log('[RootNavigator] Error setting Mahindra FDListSelected:', e);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}, [routeParams.fdListSelectedData, mahindraDispatch]);
|
|
344
|
+
// Set OnboardingIds using Mahindra setter
|
|
345
|
+
react_1.default.useEffect(() => {
|
|
346
|
+
var _a;
|
|
347
|
+
if (routeParams.onboardingIds) {
|
|
348
|
+
try {
|
|
349
|
+
mahindraDispatch((0, mahindrafdsdk_1.setOnboardingIds)(Object.assign(Object.assign({}, routeParams.onboardingIds), { providerId: routeParams.providerId || ((_a = routeParams.onboardingIds) === null || _a === void 0 ? void 0 : _a.providerId) })));
|
|
350
|
+
}
|
|
351
|
+
catch (e) {
|
|
352
|
+
console.log('[RootNavigator] Error setting Mahindra OnboardingIds:', e);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}, [routeParams.onboardingIds, mahindraDispatch]);
|
|
356
|
+
return (react_1.default.createElement(MahindraRootNavigatorAny, { config: {
|
|
357
|
+
initialRouteName: routeParams.initialRouteName || 'FDCalculator',
|
|
358
|
+
forceFetchCustomerDetails: !!routeParams.forceFetchCustomerDetails,
|
|
359
|
+
initialFDContext: {
|
|
360
|
+
providerId: routeParams.providerId,
|
|
361
|
+
fdListSelectedData: routeParams.fdListSelectedData,
|
|
362
|
+
completeFDData: routeParams.completeFDData,
|
|
363
|
+
},
|
|
364
|
+
}, onExit: (fdDetails) => {
|
|
365
|
+
// When exiting external SDK, go back to FDList
|
|
366
|
+
setExternalSDK(null);
|
|
367
|
+
setExternalSDKFDData(null);
|
|
368
|
+
(0, helpers_2.navigate)('FDList');
|
|
369
|
+
if (fdDetails) {
|
|
370
|
+
onExit === null || onExit === void 0 ? void 0 : onExit(fdDetails);
|
|
371
|
+
}
|
|
372
|
+
}, onPanRequired: () => {
|
|
373
|
+
// Exit full SDK flow back to host app and notify callback
|
|
374
|
+
setExternalSDK(null);
|
|
375
|
+
setExternalSDKFDData(null);
|
|
376
|
+
onPanRequired === null || onPanRequired === void 0 ? void 0 : onPanRequired();
|
|
377
|
+
onExit === null || onExit === void 0 ? void 0 : onExit();
|
|
378
|
+
} }));
|
|
379
|
+
};
|
|
380
|
+
if (sdkType === 'shriram') {
|
|
381
|
+
return (react_1.default.createElement(shriramfdsdk_1.ApiProvider, null,
|
|
382
|
+
react_1.default.createElement(shriramfdsdk_1.MasterDataProvider, null,
|
|
383
|
+
react_1.default.createElement(shriramfdsdk_1.ThemeProvider, { theme: fdsdkTheme, initialTheme: fdsdkThemeName },
|
|
384
|
+
react_1.default.createElement(native_1.NavigationIndependentTree, null,
|
|
385
|
+
react_1.default.createElement(native_1.NavigationContainer, { ref: shriramfdsdk_1.navigationRef },
|
|
386
|
+
react_1.default.createElement(ShriramSDKWithMasterData, { masterData: externalMasterData })))))));
|
|
387
|
+
}
|
|
388
|
+
if (sdkType === 'mahindra') {
|
|
389
|
+
return (react_1.default.createElement(mahindrafdsdk_1.ApiProvider, null,
|
|
390
|
+
react_1.default.createElement(mahindrafdsdk_1.MasterDataProvider, null,
|
|
391
|
+
react_1.default.createElement(mahindrafdsdk_1.ThemeProvider, { theme: fdsdkTheme, initialTheme: fdsdkThemeName },
|
|
392
|
+
react_1.default.createElement(native_1.NavigationIndependentTree, null,
|
|
393
|
+
react_1.default.createElement(native_1.NavigationContainer, { ref: mahindrafdsdk_1.navigationRef },
|
|
394
|
+
react_1.default.createElement(MahindraSDKWithMasterData, { masterData: externalMasterData })))))));
|
|
395
|
+
}
|
|
396
|
+
return null;
|
|
397
|
+
}),
|
|
398
|
+
react_1.default.createElement(Stack.Screen, { name: "AadhaarVerification", options: { title: 'Aadhaar Verification' } }, (props) => (react_1.default.createElement(AadhaarVerification_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onVerificationComplete: () => {
|
|
399
|
+
(0, helpers_2.navigate)('Employee');
|
|
400
|
+
} }, props)))),
|
|
401
|
+
react_1.default.createElement(Stack.Screen, { name: "ReviewKYC", options: { title: 'Review KYC' } }, (props) => (react_1.default.createElement(ReviewKYC_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onContinue: () => {
|
|
402
|
+
(0, helpers_2.navigate)('Employee');
|
|
403
|
+
} }, props)))),
|
|
404
|
+
react_1.default.createElement(Stack.Screen, { name: "Employee", options: { title: 'Occupation' } }, (props) => (react_1.default.createElement(Employee_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onContinue: () => {
|
|
405
|
+
(0, helpers_2.navigate)('NomineeDetail');
|
|
406
|
+
} }, props)))),
|
|
407
|
+
react_1.default.createElement(Stack.Screen, { name: "NomineeDetail", options: { title: 'Nominee Details' } }, (props) => (react_1.default.createElement(NomineeDetail_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onSave: () => {
|
|
408
|
+
(0, helpers_2.navigate)('BankDetail');
|
|
409
|
+
} }, props)))),
|
|
410
|
+
react_1.default.createElement(Stack.Screen, { name: "BankDetail", options: { title: 'Bank Details' } }, (props) => (react_1.default.createElement(BankDetail_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onContinue: () => {
|
|
411
|
+
(0, helpers_2.navigate)('PayNow');
|
|
412
|
+
}, onAddAccount: () => {
|
|
413
|
+
(0, helpers_2.navigate)('AddBankAccount');
|
|
414
|
+
} }, props)))),
|
|
415
|
+
react_1.default.createElement(Stack.Screen, { name: "AddBankAccount", options: { title: 'Add Bank Account' } }, (props) => (react_1.default.createElement(AddBankAccount_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onContinue: () => {
|
|
416
|
+
(0, helpers_2.goBack)();
|
|
417
|
+
}, onFindIFSC: () => {
|
|
418
|
+
(0, helpers_2.navigate)('FindIFSC');
|
|
419
|
+
}, selectedIFSC: (() => {
|
|
420
|
+
const params = props.route.params;
|
|
421
|
+
return params === null || params === void 0 ? void 0 : params.selectedIFSC;
|
|
422
|
+
})() }, props)))),
|
|
423
|
+
react_1.default.createElement(Stack.Screen, { name: "FindIFSC", options: { title: 'Find IFSC' } }, (props) => {
|
|
424
|
+
var _a;
|
|
425
|
+
return (react_1.default.createElement(FindIFSC_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onSelect: (ifscData) => {
|
|
426
|
+
(0, helpers_2.pop)(1);
|
|
427
|
+
(0, helpers_2.navigate)('AddBankAccount', { selectedIFSC: ifscData });
|
|
428
|
+
}, initialSearchTerm: (_a = props.route.params) === null || _a === void 0 ? void 0 : _a.initialSearchTerm }, props)));
|
|
429
|
+
}),
|
|
430
|
+
react_1.default.createElement(Stack.Screen, { name: "PayNow", options: { title: 'Pay Now' } }, (props) => {
|
|
431
|
+
var _a;
|
|
432
|
+
return (react_1.default.createElement(PayNow_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), onConfirm: () => {
|
|
433
|
+
// onConfirm is handled inside PayNow after createFD; keep fallback
|
|
434
|
+
}, fdData: (_a = props.route.params) === null || _a === void 0 ? void 0 : _a.fdData }, props)));
|
|
435
|
+
}),
|
|
436
|
+
react_1.default.createElement(Stack.Screen, { name: "Payment", options: { title: 'Payment' } }, (props) => {
|
|
437
|
+
var _a, _b, _c;
|
|
438
|
+
return (react_1.default.createElement(Payment_1.default, Object.assign({ onGoBack: () => (0, helpers_2.goBack)(), paymentUrl: (_c = (_b = (_a = props.route.params) === null || _a === void 0 ? void 0 : _a.paymentUrl) !== null && _b !== void 0 ? _b : (0, paymentSession_1.getPaymentSession)().paymentUrl) !== null && _c !== void 0 ? _c : '', onPaymentSuccess: (data) => {
|
|
439
|
+
(0, helpers_2.navigate)('PaymentStatus', {
|
|
440
|
+
status: 'success',
|
|
441
|
+
paymentData: data
|
|
442
|
+
});
|
|
443
|
+
}, onPaymentFailure: (error) => {
|
|
444
|
+
(0, helpers_2.navigate)('PaymentStatus', {
|
|
445
|
+
status: 'failed',
|
|
446
|
+
paymentData: error
|
|
447
|
+
});
|
|
448
|
+
} }, props)));
|
|
449
|
+
}),
|
|
450
|
+
react_1.default.createElement(Stack.Screen, { name: "PaymentStatus", options: { title: 'Payment Status' } }, (props) => {
|
|
451
|
+
var _a, _b, _c;
|
|
452
|
+
return (react_1.default.createElement(PaymentStatus_1.default, Object.assign({ status: ((_a = props.route.params) === null || _a === void 0 ? void 0 : _a.status) || 'pending', transactionId: (_b = props.route.params) === null || _b === void 0 ? void 0 : _b.transactionId, fdData: (_c = props.route.params) === null || _c === void 0 ? void 0 : _c.fdData, onRetry: () => {
|
|
453
|
+
(0, helpers_2.navigate)('Payment');
|
|
454
|
+
}, onContinue: (fdDetails) => {
|
|
455
|
+
onExit === null || onExit === void 0 ? void 0 : onExit(fdDetails);
|
|
456
|
+
} }, props)));
|
|
457
|
+
})));
|
|
458
|
+
};
|
|
459
|
+
exports.default = RootNavigator;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type SimpleNavigationRoute = 'Home' | 'FDList' | 'BookFD' | 'FDCalculator';
|
|
3
|
+
export interface SimpleNavigationConfig {
|
|
4
|
+
initialRouteName?: SimpleNavigationRoute;
|
|
5
|
+
}
|
|
6
|
+
interface SimpleNavigatorProps {
|
|
7
|
+
config?: SimpleNavigationConfig;
|
|
8
|
+
onExit?: () => void;
|
|
9
|
+
}
|
|
10
|
+
declare const SimpleNavigator: React.FC<SimpleNavigatorProps>;
|
|
11
|
+
export default SimpleNavigator;
|