banking_dcb_sdk_react_native 0.1.9
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/LICENSE +20 -0
- package/PartnerReactNativeSdk.podspec +31 -0
- package/README.md +14 -0
- package/android/build.gradle +100 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/partnerreactnativesdk/PartnerReactNativeSdkModule.kt +23 -0
- package/android/src/main/java/com/partnerreactnativesdk/PartnerReactNativeSdkPackage.kt +33 -0
- package/ios/PartnerReactNativeSdk.h +6 -0
- package/ios/PartnerReactNativeSdk.mm +29 -0
- package/lib/module/helpers/ServiceNames.js +135 -0
- package/lib/module/helpers/ServiceNames.js.map +1 -0
- package/lib/module/helpers/analytics/analytics_event_model.js +37 -0
- package/lib/module/helpers/analytics/analytics_event_model.js.map +1 -0
- package/lib/module/helpers/analytics/analytics_logger.js +73 -0
- package/lib/module/helpers/analytics/analytics_logger.js.map +1 -0
- package/lib/module/helpers/analytics/event_storage.js +35 -0
- package/lib/module/helpers/analytics/event_storage.js.map +1 -0
- package/lib/module/helpers/banking_dcb_react_native.js +297 -0
- package/lib/module/helpers/banking_dcb_react_native.js.map +1 -0
- package/lib/module/helpers/helper.js +4 -0
- package/lib/module/helpers/helper.js.map +1 -0
- package/lib/module/helpers/network/APICall.js +111 -0
- package/lib/module/helpers/network/APICall.js.map +1 -0
- package/lib/module/helpers/network/Encryption.js +148 -0
- package/lib/module/helpers/network/Encryption.js.map +1 -0
- package/lib/module/helpers/network/network_manager.js +112 -0
- package/lib/module/helpers/network/network_manager.js.map +1 -0
- package/lib/module/helpers/utils/Constants.js +12 -0
- package/lib/module/helpers/utils/Constants.js.map +1 -0
- package/lib/module/helpers/utils/LibraryConstants.js +115 -0
- package/lib/module/helpers/utils/LibraryConstants.js.map +1 -0
- package/lib/module/helpers/utils/deviceInfoManager.js +39 -0
- package/lib/module/helpers/utils/deviceInfoManager.js.map +1 -0
- package/lib/module/helpers/utils/headerManager.js +21 -0
- package/lib/module/helpers/utils/headerManager.js.map +1 -0
- package/lib/module/helpers/utils/themeManager.js +40 -0
- package/lib/module/helpers/utils/themeManager.js.map +1 -0
- package/lib/module/helpers/utils/webviewCallback.js +20 -0
- package/lib/module/helpers/utils/webviewCallback.js.map +1 -0
- package/lib/module/helpers/webview.js +314 -0
- package/lib/module/helpers/webview.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/helpers/ServiceNames.d.ts +51 -0
- package/lib/typescript/src/helpers/ServiceNames.d.ts.map +1 -0
- package/lib/typescript/src/helpers/analytics/analytics_event_model.d.ts +16 -0
- package/lib/typescript/src/helpers/analytics/analytics_event_model.d.ts.map +1 -0
- package/lib/typescript/src/helpers/analytics/analytics_logger.d.ts +17 -0
- package/lib/typescript/src/helpers/analytics/analytics_logger.d.ts.map +1 -0
- package/lib/typescript/src/helpers/analytics/event_storage.d.ts +8 -0
- package/lib/typescript/src/helpers/analytics/event_storage.d.ts.map +1 -0
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts +33 -0
- package/lib/typescript/src/helpers/banking_dcb_react_native.d.ts.map +1 -0
- package/lib/typescript/src/helpers/helper.d.ts +1 -0
- package/lib/typescript/src/helpers/helper.d.ts.map +1 -0
- package/lib/typescript/src/helpers/network/APICall.d.ts +13 -0
- package/lib/typescript/src/helpers/network/APICall.d.ts.map +1 -0
- package/lib/typescript/src/helpers/network/Encryption.d.ts +24 -0
- package/lib/typescript/src/helpers/network/Encryption.d.ts.map +1 -0
- package/lib/typescript/src/helpers/network/network_manager.d.ts +21 -0
- package/lib/typescript/src/helpers/network/network_manager.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/Constants.d.ts +10 -0
- package/lib/typescript/src/helpers/utils/Constants.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/LibraryConstants.d.ts +24 -0
- package/lib/typescript/src/helpers/utils/LibraryConstants.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/deviceInfoManager.d.ts +4 -0
- package/lib/typescript/src/helpers/utils/deviceInfoManager.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/headerManager.d.ts +5 -0
- package/lib/typescript/src/helpers/utils/headerManager.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/themeManager.d.ts +12 -0
- package/lib/typescript/src/helpers/utils/themeManager.d.ts.map +1 -0
- package/lib/typescript/src/helpers/utils/webviewCallback.d.ts +13 -0
- package/lib/typescript/src/helpers/utils/webviewCallback.d.ts.map +1 -0
- package/lib/typescript/src/helpers/webview.d.ts +21 -0
- package/lib/typescript/src/helpers/webview.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +170 -0
- package/react-native.config.js +12 -0
- package/src/helpers/ServiceNames.tsx +170 -0
- package/src/helpers/analytics/analytics_event_model.tsx +47 -0
- package/src/helpers/analytics/analytics_logger.tsx +91 -0
- package/src/helpers/analytics/event_storage.tsx +44 -0
- package/src/helpers/banking_dcb_react_native.tsx +413 -0
- package/src/helpers/helper.tsx +1 -0
- package/src/helpers/network/APICall.tsx +154 -0
- package/src/helpers/network/Encryption.tsx +179 -0
- package/src/helpers/network/network_manager.tsx +122 -0
- package/src/helpers/utils/Constants.tsx +10 -0
- package/src/helpers/utils/LibraryConstants.tsx +133 -0
- package/src/helpers/utils/deviceInfoManager.tsx +37 -0
- package/src/helpers/utils/headerManager.tsx +22 -0
- package/src/helpers/utils/themeManager.tsx +51 -0
- package/src/helpers/utils/webviewCallback.tsx +25 -0
- package/src/helpers/webview.tsx +410 -0
- package/src/index.tsx +5 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import axios from 'axios';
|
|
4
|
+
class NetworkManager {
|
|
5
|
+
static _instance = new NetworkManager();
|
|
6
|
+
constructor() {
|
|
7
|
+
this._axios = axios.create();
|
|
8
|
+
}
|
|
9
|
+
static getInstance() {
|
|
10
|
+
return NetworkManager._instance;
|
|
11
|
+
}
|
|
12
|
+
async request({
|
|
13
|
+
url,
|
|
14
|
+
method,
|
|
15
|
+
body,
|
|
16
|
+
headers,
|
|
17
|
+
options
|
|
18
|
+
}) {
|
|
19
|
+
try {
|
|
20
|
+
headers = headers || {};
|
|
21
|
+
options = options || {
|
|
22
|
+
headers
|
|
23
|
+
};
|
|
24
|
+
let response;
|
|
25
|
+
const config = {
|
|
26
|
+
...options,
|
|
27
|
+
headers
|
|
28
|
+
};
|
|
29
|
+
switch (method.toUpperCase()) {
|
|
30
|
+
case 'POST':
|
|
31
|
+
response = await this._axios.post(url, body, config);
|
|
32
|
+
break;
|
|
33
|
+
case 'GET':
|
|
34
|
+
response = await this._axios.get(url, config);
|
|
35
|
+
break;
|
|
36
|
+
case 'PUT':
|
|
37
|
+
response = await this._axios.put(url, body, config);
|
|
38
|
+
break;
|
|
39
|
+
case 'PATCH':
|
|
40
|
+
response = await this._axios.patch(url, body, config);
|
|
41
|
+
break;
|
|
42
|
+
case 'DELETE':
|
|
43
|
+
response = await this._axios.delete(url, {
|
|
44
|
+
...config,
|
|
45
|
+
data: body
|
|
46
|
+
});
|
|
47
|
+
break;
|
|
48
|
+
default:
|
|
49
|
+
throw new Error(`Method not supported: ${method}`);
|
|
50
|
+
}
|
|
51
|
+
return response;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
if (__DEV__) {
|
|
54
|
+
if (axios.isAxiosError(error)) {
|
|
55
|
+
if (!error.response) {
|
|
56
|
+
console.log("Network error:", error.message);
|
|
57
|
+
}
|
|
58
|
+
return error.response || null;
|
|
59
|
+
} else {
|
|
60
|
+
console.log("Unexpected error during network request:", error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async get(url, headers, options) {
|
|
67
|
+
return this.request({
|
|
68
|
+
url,
|
|
69
|
+
method: 'GET',
|
|
70
|
+
headers,
|
|
71
|
+
options
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async post(url, body, headers, options) {
|
|
75
|
+
return this.request({
|
|
76
|
+
url,
|
|
77
|
+
method: 'POST',
|
|
78
|
+
body,
|
|
79
|
+
headers,
|
|
80
|
+
options
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async put(url, body, headers, options) {
|
|
84
|
+
return this.request({
|
|
85
|
+
url,
|
|
86
|
+
method: 'PUT',
|
|
87
|
+
body,
|
|
88
|
+
headers,
|
|
89
|
+
options
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async patch(url, body, headers, options) {
|
|
93
|
+
return this.request({
|
|
94
|
+
url,
|
|
95
|
+
method: 'PATCH',
|
|
96
|
+
body,
|
|
97
|
+
headers,
|
|
98
|
+
options
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
async delete(url, headers, body, options) {
|
|
102
|
+
return this.request({
|
|
103
|
+
url,
|
|
104
|
+
method: 'DELETE',
|
|
105
|
+
body,
|
|
106
|
+
headers,
|
|
107
|
+
options
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
export default NetworkManager;
|
|
112
|
+
//# sourceMappingURL=network_manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["axios","NetworkManager","_instance","constructor","_axios","create","getInstance","request","url","method","body","headers","options","response","config","toUpperCase","post","get","put","patch","delete","data","Error","error","__DEV__","isAxiosError","console","log","message"],"sourceRoot":"../../../../src","sources":["helpers/network/network_manager.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const Constants = {
|
|
4
|
+
MANUFACTURER: "manufacturer",
|
|
5
|
+
MODEL: "model",
|
|
6
|
+
OS: "os",
|
|
7
|
+
OS_VERSION: "os_version",
|
|
8
|
+
APP_VERSION: "app_version",
|
|
9
|
+
DEVICE_UUID: "device_uuid",
|
|
10
|
+
PRIMARY_COLOR: "#3F51B5"
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=Constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Constants","MANUFACTURER","MODEL","OS","OS_VERSION","APP_VERSION","DEVICE_UUID","PRIMARY_COLOR"],"sourceRoot":"../../../../src","sources":["helpers/utils/Constants.tsx"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EAErBC,YAAY,EAAE,cAAc;EAC5BC,KAAK,EAAE,OAAO;EACdC,EAAE,EAAE,IAAI;EACRC,UAAU,EAAE,YAAY;EACxBC,WAAW,EAAE,aAAa;EAC1BC,WAAW,EAAE,aAAa;EAC1BC,aAAa,EAAE;AACnB,CAAU","ignoreList":[]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
// interface ColorWithValues extends Color {
|
|
5
|
+
// withValues(params: { red: number; green: number; blue: number; alpha: number }): string;
|
|
6
|
+
// }
|
|
7
|
+
|
|
8
|
+
// Helper function for color handling
|
|
9
|
+
const hexToRgba = hex => {
|
|
10
|
+
const match = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
11
|
+
if (match && match[1] && match[2] && match[3]) {
|
|
12
|
+
return {
|
|
13
|
+
r: parseInt(match[1], 16),
|
|
14
|
+
g: parseInt(match[2], 16),
|
|
15
|
+
b: parseInt(match[3], 16),
|
|
16
|
+
a: 1
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
r: 0,
|
|
21
|
+
g: 0,
|
|
22
|
+
b: 0,
|
|
23
|
+
a: 1
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// const rgbaToHex = (color: Color): string => {
|
|
28
|
+
// return `#${color.r.toString(16).padStart(2, '0')}${color.g.toString(16).padStart(2, '0')}${color.b.toString(16).padStart(2, '0')}`;
|
|
29
|
+
// };
|
|
30
|
+
|
|
31
|
+
const rgbaToString = color => {
|
|
32
|
+
return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;
|
|
33
|
+
};
|
|
34
|
+
export class LibraryConstants {
|
|
35
|
+
static deviceBindingEnabled = true;
|
|
36
|
+
|
|
37
|
+
// Primary color definition
|
|
38
|
+
static _primaryColorHex = '#037EAB';
|
|
39
|
+
static _primaryColorObj = hexToRgba('#037EAB');
|
|
40
|
+
|
|
41
|
+
// static get primaryColor(): string {
|
|
42
|
+
// return this._primaryColorHex;
|
|
43
|
+
// }
|
|
44
|
+
|
|
45
|
+
static set primaryColor(value) {
|
|
46
|
+
this._primaryColorHex = value;
|
|
47
|
+
this._primaryColorObj = hexToRgba(value);
|
|
48
|
+
}
|
|
49
|
+
static rgbToHex(r, g, b) {
|
|
50
|
+
return `#${[r, g, b].map(x => {
|
|
51
|
+
const hex = x.toString(16);
|
|
52
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
53
|
+
}).join('')}`;
|
|
54
|
+
}
|
|
55
|
+
static setPrimaryColorFromRGB(r, g, b) {
|
|
56
|
+
this._primaryColorObj = {
|
|
57
|
+
r,
|
|
58
|
+
g,
|
|
59
|
+
b,
|
|
60
|
+
a: 1
|
|
61
|
+
};
|
|
62
|
+
this._primaryColorHex = LibraryConstants.rgbToHex(r, g, b);
|
|
63
|
+
}
|
|
64
|
+
static secondaryColor = '#FFFFFF';
|
|
65
|
+
|
|
66
|
+
// Calculate disabled primary color (with 50% opacity)
|
|
67
|
+
static get primaryColorDisabled() {
|
|
68
|
+
return rgbaToString({
|
|
69
|
+
r: this._primaryColorObj.r,
|
|
70
|
+
g: this._primaryColorObj.g,
|
|
71
|
+
b: this._primaryColorObj.b,
|
|
72
|
+
a: 0.5
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static openExternally = [""];
|
|
76
|
+
static whitelistedUrlsAndroid = [];
|
|
77
|
+
static whitelistedUrlsIos = [];
|
|
78
|
+
static hostName = "";
|
|
79
|
+
static whitelistedDomains = [];
|
|
80
|
+
static init({
|
|
81
|
+
host,
|
|
82
|
+
// whitelistedAndroid,
|
|
83
|
+
// whitelistedIos,
|
|
84
|
+
whitelistedDomains,
|
|
85
|
+
deviceBinding
|
|
86
|
+
}) {
|
|
87
|
+
this.hostName = host;
|
|
88
|
+
// if (whitelistedAndroid) this.whitelistedUrlsAndroid = whitelistedAndroid;
|
|
89
|
+
// if (whitelistedIos) this.whitelistedUrlsIos = whitelistedIos;
|
|
90
|
+
this.whitelistedDomains = whitelistedDomains;
|
|
91
|
+
if (deviceBinding !== undefined) this.deviceBindingEnabled = deviceBinding;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Helper method to get whitelisted URLs based on platform
|
|
95
|
+
// static getWhitelistedUrls(): string[] {
|
|
96
|
+
// return Platform.OS === 'ios' ? this.whitelistedUrlsIos : this.whitelistedUrlsAndroid;
|
|
97
|
+
// }
|
|
98
|
+
|
|
99
|
+
static getWhitelistedDomains() {
|
|
100
|
+
return this.whitelistedDomains;
|
|
101
|
+
}
|
|
102
|
+
static get primaryColor() {
|
|
103
|
+
if (Platform.OS === 'android') {
|
|
104
|
+
return rgbaToString(this._primaryColorObj);
|
|
105
|
+
}
|
|
106
|
+
return this._primaryColorHex;
|
|
107
|
+
}
|
|
108
|
+
static getPrimaryColorWithOpacity(opacity) {
|
|
109
|
+
return rgbaToString({
|
|
110
|
+
...this._primaryColorObj,
|
|
111
|
+
a: opacity
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=LibraryConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","hexToRgba","hex","match","exec","r","parseInt","g","b","a","rgbaToString","color","LibraryConstants","deviceBindingEnabled","_primaryColorHex","_primaryColorObj","primaryColor","value","rgbToHex","map","x","toString","length","join","setPrimaryColorFromRGB","secondaryColor","primaryColorDisabled","openExternally","whitelistedUrlsAndroid","whitelistedUrlsIos","hostName","whitelistedDomains","init","host","deviceBinding","undefined","getWhitelistedDomains","OS","getPrimaryColorWithOpacity","opacity"],"sourceRoot":"../../../../src","sources":["helpers/utils/LibraryConstants.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AASvC;AACA;AACA;;AAEA;AACA,MAAMC,SAAS,GAAIC,GAAW,IAAY;EACtC,MAAMC,KAAK,GAAG,2CAA2C,CAACC,IAAI,CAACF,GAAG,CAAC;EAEnE,IAAIC,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,EAAE;IAC3C,OAAO;MACHE,CAAC,EAAEC,QAAQ,CAACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MACzBI,CAAC,EAAED,QAAQ,CAACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MACzBK,CAAC,EAAEF,QAAQ,CAACH,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MACzBM,CAAC,EAAE;IACP,CAAC;EACL;EAEA,OAAO;IAAEJ,CAAC,EAAE,CAAC;IAAEE,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC;AACrC,CAAC;;AAID;AACA;AACA;;AAEA,MAAMC,YAAY,GAAIC,KAAY,IAAa;EAC3C,OAAO,QAAQA,KAAK,CAACN,CAAC,KAAKM,KAAK,CAACJ,CAAC,KAAKI,KAAK,CAACH,CAAC,KAAKG,KAAK,CAACF,CAAC,GAAG;AACjE,CAAC;AAED,OAAO,MAAMG,gBAAgB,CAAC;EAG1B,OAAOC,oBAAoB,GAAY,IAAI;;EAE3C;EACA,OAAeC,gBAAgB,GAAW,SAAS;EACnD,OAAeC,gBAAgB,GAAUd,SAAS,CAAC,SAAS,CAAC;;EAE7D;EACA;EACA;;EAEA,WAAWe,YAAYA,CAACC,KAAa,EAAE;IACnC,IAAI,CAACH,gBAAgB,GAAGG,KAAK;IAC7B,IAAI,CAACF,gBAAgB,GAAGd,SAAS,CAACgB,KAAK,CAAC;EAC5C;EACA,OAAeC,QAAQA,CAACb,CAAS,EAAEE,CAAS,EAAEC,CAAS,EAAU;IAC7D,OAAO,IAAI,CAACH,CAAC,EAAEE,CAAC,EAAEC,CAAC,CAAC,CACfW,GAAG,CAACC,CAAC,IAAI;MACN,MAAMlB,GAAG,GAAGkB,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;MAC1B,OAAOnB,GAAG,CAACoB,MAAM,KAAK,CAAC,GAAG,GAAG,GAAGpB,GAAG,GAAGA,GAAG;IAC7C,CAAC,CAAC,CACDqB,IAAI,CAAC,EAAE,CAAC,EAAE;EACnB;EAEA,OAAOC,sBAAsBA,CAACnB,CAAS,EAAEE,CAAS,EAAEC,CAAS,EAAQ;IACjE,IAAI,CAACO,gBAAgB,GAAG;MAAEV,CAAC;MAAEE,CAAC;MAAEC,CAAC;MAAEC,CAAC,EAAE;IAAE,CAAC;IACzC,IAAI,CAACK,gBAAgB,GAAGF,gBAAgB,CAACM,QAAQ,CAACb,CAAC,EAAEE,CAAC,EAAEC,CAAC,CAAC;EAC9D;EAKA,OAAOiB,cAAc,GAAW,SAAS;;EAEzC;EACA,WAAWC,oBAAoBA,CAAA,EAAW;IACtC,OAAOhB,YAAY,CAAC;MAChBL,CAAC,EAAE,IAAI,CAACU,gBAAgB,CAACV,CAAC;MAC1BE,CAAC,EAAE,IAAI,CAACQ,gBAAgB,CAACR,CAAC;MAC1BC,CAAC,EAAE,IAAI,CAACO,gBAAgB,CAACP,CAAC;MAC1BC,CAAC,EAAE;IACP,CAAC,CAAC;EACN;EAEA,OAAOkB,cAAc,GAAa,CAAC,EAAE,CAAC;EACtC,OAAOC,sBAAsB,GAAa,EAAE;EAC5C,OAAOC,kBAAkB,GAAa,EAAE;EACxC,OAAOC,QAAQ,GAAW,EAAE;EAC5B,OAAOC,kBAAkB,GAAa,EAAE;EAExC,OAAOC,IAAIA,CAAC;IACRC,IAAI;IACJ;IACA;IACAF,kBAAkB;IAClBG;EAOJ,CAAC,EAAQ;IACL,IAAI,CAACJ,QAAQ,GAAGG,IAAI;IACpB;IACA;IACA,IAAI,CAACF,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAIG,aAAa,KAAKC,SAAS,EAAE,IAAI,CAACtB,oBAAoB,GAAGqB,aAAa;EAC9E;;EAEA;EACA;EACA;EACA;;EAEA,OAAOE,qBAAqBA,CAAA,EAAa;IACrC,OAAO,IAAI,CAACL,kBAAkB;EAClC;EAEA,WAAWf,YAAYA,CAAA,EAAW;IAC9B,IAAIhB,QAAQ,CAACqC,EAAE,KAAK,SAAS,EAAE;MAC3B,OAAO3B,YAAY,CAAC,IAAI,CAACK,gBAAgB,CAAC;IAC9C;IACA,OAAO,IAAI,CAACD,gBAAgB;EAChC;EACA,OAAOwB,0BAA0BA,CAACC,OAAe,EAAU;IACvD,OAAO7B,YAAY,CAAC;MAChB,GAAG,IAAI,CAACK,gBAAgB;MACxBN,CAAC,EAAE8B;IACP,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import DeviceInfo from 'react-native-device-info';
|
|
5
|
+
import { Constants } from "./Constants.js";
|
|
6
|
+
export class DeviceInfoManager {
|
|
7
|
+
static async getDeviceInfo() {
|
|
8
|
+
if (Platform.OS === 'android') {
|
|
9
|
+
let androidId = 'unknown';
|
|
10
|
+
try {
|
|
11
|
+
androidId = await DeviceInfo.getAndroidId();
|
|
12
|
+
} catch (e) {
|
|
13
|
+
if (__DEV__) {
|
|
14
|
+
console.log('Error getting android id:', e);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
[Constants.MANUFACTURER]: (await DeviceInfo.getManufacturer()) || 'unknown',
|
|
19
|
+
[Constants.MODEL]: DeviceInfo.getModel() || 'unknown',
|
|
20
|
+
[Constants.OS]: 'android',
|
|
21
|
+
[Constants.OS_VERSION]: DeviceInfo.getSystemVersion() || 'unknown',
|
|
22
|
+
[Constants.APP_VERSION]: DeviceInfo.getVersion() || 'unknown',
|
|
23
|
+
[Constants.DEVICE_UUID]: androidId
|
|
24
|
+
};
|
|
25
|
+
} else if (Platform.OS === 'ios') {
|
|
26
|
+
return {
|
|
27
|
+
[Constants.MANUFACTURER]: 'Apple',
|
|
28
|
+
[Constants.MODEL]: DeviceInfo.getModel() || 'unknown',
|
|
29
|
+
[Constants.OS]: 'ios',
|
|
30
|
+
[Constants.OS_VERSION]: DeviceInfo.getSystemVersion() || 'unknown',
|
|
31
|
+
[Constants.APP_VERSION]: DeviceInfo.getVersion() || 'unknown',
|
|
32
|
+
[Constants.DEVICE_UUID]: (await DeviceInfo.getUniqueId()) || 'unknown'
|
|
33
|
+
};
|
|
34
|
+
} else {
|
|
35
|
+
throw new Error('Unsupported platform');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=deviceInfoManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","DeviceInfo","Constants","DeviceInfoManager","getDeviceInfo","OS","androidId","getAndroidId","e","__DEV__","console","log","MANUFACTURER","getManufacturer","MODEL","getModel","OS_VERSION","getSystemVersion","APP_VERSION","getVersion","DEVICE_UUID","getUniqueId","Error"],"sourceRoot":"../../../../src","sources":["helpers/utils/deviceInfoManager.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,SAAS,QAAQ,gBAAa;AAEvC,OAAO,MAAMC,iBAAiB,CAAC;EAC3B,aAAaC,aAAaA,CAAA,EAAoC;IAC1D,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC3B,IAAIC,SAAS,GAAG,SAAS;MACzB,IAAI;QACAA,SAAS,GAAG,MAAML,UAAU,CAACM,YAAY,CAAC,CAAC;MAC/C,CAAC,CAAC,OAAOC,CAAC,EAAE;QACR,IAAIC,OAAO,EAAE;UACTC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEH,CAAC,CAAC;QAC/C;MACJ;MACA,OAAO;QACH,CAACN,SAAS,CAACU,YAAY,GAAG,CAAC,MAAMX,UAAU,CAACY,eAAe,CAAC,CAAC,KAAK,SAAS;QAC3E,CAACX,SAAS,CAACY,KAAK,GAAGb,UAAU,CAACc,QAAQ,CAAC,CAAC,IAAI,SAAS;QACrD,CAACb,SAAS,CAACG,EAAE,GAAG,SAAS;QACzB,CAACH,SAAS,CAACc,UAAU,GAAGf,UAAU,CAACgB,gBAAgB,CAAC,CAAC,IAAI,SAAS;QAClE,CAACf,SAAS,CAACgB,WAAW,GAAGjB,UAAU,CAACkB,UAAU,CAAC,CAAC,IAAI,SAAS;QAC7D,CAACjB,SAAS,CAACkB,WAAW,GAAGd;MAC7B,CAAC;IACL,CAAC,MAAM,IAAIN,QAAQ,CAACK,EAAE,KAAK,KAAK,EAAE;MAC9B,OAAO;QACH,CAACH,SAAS,CAACU,YAAY,GAAG,OAAO;QACjC,CAACV,SAAS,CAACY,KAAK,GAAGb,UAAU,CAACc,QAAQ,CAAC,CAAC,IAAI,SAAS;QACrD,CAACb,SAAS,CAACG,EAAE,GAAG,KAAK;QACrB,CAACH,SAAS,CAACc,UAAU,GAAGf,UAAU,CAACgB,gBAAgB,CAAC,CAAC,IAAI,SAAS;QAClE,CAACf,SAAS,CAACgB,WAAW,GAAGjB,UAAU,CAACkB,UAAU,CAAC,CAAC,IAAI,SAAS;QAC7D,CAACjB,SAAS,CAACkB,WAAW,GAAG,CAAC,MAAMnB,UAAU,CAACoB,WAAW,CAAC,CAAC,KAAK;MACjE,CAAC;IACL,CAAC,MAAM;MACH,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;IAC3C;EACJ;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import DeviceInfo from 'react-native-device-info';
|
|
5
|
+
import { DeviceInfoManager } from "./deviceInfoManager.js";
|
|
6
|
+
export class HeaderManager {
|
|
7
|
+
deviceInfoManager = DeviceInfoManager;
|
|
8
|
+
async generateHeaders(isEncrypted = true) {
|
|
9
|
+
const deviceInfo = await this.deviceInfoManager.getDeviceInfo();
|
|
10
|
+
return {
|
|
11
|
+
...deviceInfo,
|
|
12
|
+
app_version: DeviceInfo.getVersion() || 'unknown',
|
|
13
|
+
os: Platform.OS === 'android' ? 'Android' : 'iOS',
|
|
14
|
+
os_version: DeviceInfo.getSystemVersion() || 'unknown',
|
|
15
|
+
...(isEncrypted && {
|
|
16
|
+
'Content-Type': 'application/json;charset=utf-8'
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=headerManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","DeviceInfo","DeviceInfoManager","HeaderManager","deviceInfoManager","generateHeaders","isEncrypted","deviceInfo","getDeviceInfo","app_version","getVersion","os","OS","os_version","getSystemVersion"],"sourceRoot":"../../../../src","sources":["helpers/utils/headerManager.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,iBAAiB,QAAQ,wBAAqB;AAEvD,OAAO,MAAMC,aAAa,CAAC;EAEfC,iBAAiB,GAAGF,iBAAiB;EAE7C,MAAMG,eAAeA,CAACC,WAAoB,GAAG,IAAI,EAAmC;IAEhF,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,iBAAiB,CAACI,aAAa,CAAC,CAAC;IAE/D,OAAO;MACH,GAAGD,UAAU;MACbE,WAAW,EAAER,UAAU,CAACS,UAAU,CAAC,CAAC,IAAI,SAAS;MACjDC,EAAE,EAAEX,QAAQ,CAACY,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK;MACjDC,UAAU,EAAEZ,UAAU,CAACa,gBAAgB,CAAC,CAAC,IAAI,SAAS;MACtD,IAAIR,WAAW,IAAI;QAAE,cAAc,EAAE;MAAiC,CAAC;IAC3E,CAAC;EAEL;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
|
+
import { Platform, StatusBar } from "react-native";
|
|
5
|
+
import { Constants } from "./Constants.js";
|
|
6
|
+
import { LibraryConstants } from "./LibraryConstants.js";
|
|
7
|
+
export class ThemeManager {
|
|
8
|
+
constructor() {}
|
|
9
|
+
static async savePrimaryColor(color) {
|
|
10
|
+
console.log("Saving primary color:", color);
|
|
11
|
+
try {
|
|
12
|
+
await AsyncStorage.setItem(LibraryConstants.primaryColor, color);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
console.error("Error saving primary color:", error);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static async loadPrimaryColor() {
|
|
18
|
+
try {
|
|
19
|
+
return await AsyncStorage.getItem(LibraryConstants.primaryColor);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error("Error loading primary color:", error);
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static getAppTheme() {
|
|
26
|
+
return {
|
|
27
|
+
primaryColor: Constants.PRIMARY_COLOR
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static configureStatusBar() {
|
|
31
|
+
StatusBar.setBackgroundColor(LibraryConstants.primaryColor);
|
|
32
|
+
StatusBar.setNetworkActivityIndicatorVisible(true);
|
|
33
|
+
const barStyle = 'light-content';
|
|
34
|
+
StatusBar.setBarStyle(barStyle);
|
|
35
|
+
if (Platform.OS === 'android') {
|
|
36
|
+
StatusBar.setTranslucent(false);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=themeManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AsyncStorage","Platform","StatusBar","Constants","LibraryConstants","ThemeManager","constructor","savePrimaryColor","color","console","log","setItem","primaryColor","error","loadPrimaryColor","getItem","getAppTheme","PRIMARY_COLOR","configureStatusBar","setBackgroundColor","setNetworkActivityIndicatorVisible","barStyle","setBarStyle","OS","setTranslucent"],"sourceRoot":"../../../../src","sources":["helpers/utils/themeManager.tsx"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SAASC,QAAQ,EAAEC,SAAS,QAA6B,cAAc;AACvE,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,uBAAoB;AAMrD,OAAO,MAAMC,YAAY,CAAC;EAItBC,WAAWA,CAAA,EAAG,CACd;EAEA,aAAaC,gBAAgBA,CAACC,KAAa,EAAiB;IACxDC,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEF,KAAK,CAAC;IAC3C,IAAI;MACA,MAAMR,YAAY,CAACW,OAAO,CAACP,gBAAgB,CAACQ,YAAY,EAAEJ,KAAK,CAAC;IACpE,CAAC,CAAC,OAAOK,KAAK,EAAE;MACZJ,OAAO,CAACI,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACvD;EACJ;EAEA,aAAaC,gBAAgBA,CAAA,EAA2B;IACpD,IAAI;MACA,OAAO,MAAMd,YAAY,CAACe,OAAO,CAACX,gBAAgB,CAACQ,YAAY,CAAC;IACpE,CAAC,CACD,OAAOC,KAAK,EAAE;MACVJ,OAAO,CAACI,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpD,OAAO,IAAI;IACf;EACJ;EACA,OAAOG,WAAWA,CAAA,EAAU;IACxB,OAAO;MACHJ,YAAY,EAAET,SAAS,CAACc;IAC5B,CAAC;EACL;EAEA,OAAOC,kBAAkBA,CAAA,EAAS;IAC9BhB,SAAS,CAACiB,kBAAkB,CAACf,gBAAgB,CAACQ,YAAY,CAAC;IAC3DV,SAAS,CAACkB,kCAAkC,CAAC,IAAI,CAAC;IAClD,MAAMC,QAAwB,GAAG,eAAe;IAChDnB,SAAS,CAACoB,WAAW,CAACD,QAAQ,CAAC;IAE/B,IAAIpB,QAAQ,CAACsB,EAAE,KAAK,SAAS,EAAE;MAC3BrB,SAAS,CAACsB,cAAc,CAAC,KAAK,CAAC;IACnC;EACJ;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export let WebViewCallbackType = /*#__PURE__*/function (WebViewCallbackType) {
|
|
4
|
+
WebViewCallbackType["Logout"] = "logout";
|
|
5
|
+
WebViewCallbackType["Redirect"] = "redirect";
|
|
6
|
+
return WebViewCallbackType;
|
|
7
|
+
}({});
|
|
8
|
+
export class WebViewCallback {
|
|
9
|
+
constructor(type, status) {
|
|
10
|
+
this.type = type;
|
|
11
|
+
this.status = status;
|
|
12
|
+
}
|
|
13
|
+
static logout() {
|
|
14
|
+
return new WebViewCallback(WebViewCallbackType.Logout);
|
|
15
|
+
}
|
|
16
|
+
static redirect(status) {
|
|
17
|
+
return new WebViewCallback(WebViewCallbackType.Redirect, status);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=webviewCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebViewCallbackType","WebViewCallback","constructor","type","status","logout","Logout","redirect","Redirect"],"sourceRoot":"../../../../src","sources":["helpers/utils/webviewCallback.tsx"],"mappings":";;AAAA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAM/B,OAAO,MAAMC,eAAe,CAAC;EAIjBC,WAAWA,CAACC,IAAyB,EAAEC,MAAsB,EAAE;IACnE,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,OAAOC,MAAMA,CAAA,EAAoB;IAC7B,OAAO,IAAIJ,eAAe,CAACD,mBAAmB,CAACM,MAAM,CAAC;EAC1D;EAEA,OAAOC,QAAQA,CAACH,MAAsB,EAAmB;IACrD,OAAO,IAAIH,eAAe,CAACD,mBAAmB,CAACQ,QAAQ,EAAEJ,MAAM,CAAC;EACpE;AACJ","ignoreList":[]}
|