@os1-platform/dispatch-mobile 2.1.24 → 2.1.25
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/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js +1 -0
- package/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js +21 -0
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js +17 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js +11 -14
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js +183 -36
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/commonjs/components/widgets/ProgressDialog.js +1 -1
- package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
- package/lib/commonjs/components/widgets/SnackBarCustom.js +44 -21
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/icons/blurQRCode.png +0 -0
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js +6 -2
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js +2 -0
- package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js +21 -0
- package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js +14 -0
- package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js +11 -14
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js +187 -38
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/module/components/widgets/ProgressDialog.js +1 -1
- package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
- package/lib/module/components/widgets/SnackBarCustom.js +43 -21
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/icons/blurQRCode.png +0 -0
- package/lib/module/ui/screens/CollectPaymentScreen.js +6 -2
- package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/typescript/components/executiontasks/collectPayment/CollectPaymentSchema.d.ts +1 -0
- package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +20 -0
- package/lib/typescript/components/executiontasks/collectPayment/PaymentUtils.d.ts +1 -0
- package/lib/typescript/components/widgets/SnackBarCustom.d.ts +2 -1
- package/package.json +2 -2
- package/src/components/executiontasks/collectPayment/CollectPaymentSchema.ts +2 -0
- package/src/components/executiontasks/collectPayment/PaymentStyles.ts +37 -12
- package/src/components/executiontasks/collectPayment/PaymentUtils.ts +17 -0
- package/src/components/executiontasks/collectPayment/components/CompletePayment.tsx +19 -18
- package/src/components/executiontasks/collectPayment/components/InitPayment.tsx +5 -4
- package/src/components/executiontasks/collectPayment/components/ProcessPayment.tsx +268 -91
- package/src/components/widgets/ProgressDialog.tsx +2 -0
- package/src/components/widgets/SnackBarCustom.tsx +59 -19
- package/src/icons/blurQRCode.png +0 -0
- package/src/ui/screens/CollectPaymentScreen.tsx +6 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { Animated, Platform, SafeAreaView, StyleSheet, Text, View } from 'react-native';
|
|
3
4
|
import { Surface, withTheme } from 'react-native-paper';
|
|
@@ -10,6 +11,7 @@ export let SnackBarType = /*#__PURE__*/function (SnackBarType) {
|
|
|
10
11
|
SnackBarType[SnackBarType["SUCCESS"] = 0] = "SUCCESS";
|
|
11
12
|
SnackBarType[SnackBarType["FAILURE"] = 1] = "FAILURE";
|
|
12
13
|
SnackBarType[SnackBarType["WARNING"] = 2] = "WARNING";
|
|
14
|
+
SnackBarType[SnackBarType["PAYMENT_WARNING"] = 3] = "PAYMENT_WARNING";
|
|
13
15
|
return SnackBarType;
|
|
14
16
|
}({});
|
|
15
17
|
const SnackbarCustom = ({
|
|
@@ -25,7 +27,7 @@ const SnackbarCustom = ({
|
|
|
25
27
|
const {
|
|
26
28
|
current: opacity
|
|
27
29
|
} = React.useRef(new Animated.Value(0.0));
|
|
28
|
-
const [hidden, setHidden] = React.useState(
|
|
30
|
+
const [hidden, setHidden] = React.useState(true);
|
|
29
31
|
const hideTimeout = React.useRef(undefined);
|
|
30
32
|
const {
|
|
31
33
|
scale
|
|
@@ -93,28 +95,35 @@ const SnackbarCustom = ({
|
|
|
93
95
|
outputRange: [0.9, 1]
|
|
94
96
|
}) : 1
|
|
95
97
|
}]
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
}
|
|
99
|
+
// { backgroundColor: colors.onSurface },
|
|
100
|
+
]
|
|
99
101
|
}, /*#__PURE__*/React.createElement(View, {
|
|
100
|
-
style: type && type === SnackBarType.FAILURE ? styles.fail : type && type === SnackBarType.WARNING ? styles.warn : styles.main
|
|
102
|
+
style: type && type === SnackBarType.FAILURE ? styles.fail : type && type === SnackBarType.WARNING ? styles.warn : type && type === SnackBarType.PAYMENT_WARNING ? styles.paymentWarn : styles.main
|
|
101
103
|
}, type && type === SnackBarType.FAILURE ? /*#__PURE__*/React.createElement(AntDesign, {
|
|
102
104
|
name: "exclamationcircleo",
|
|
103
105
|
size: 20,
|
|
104
106
|
color: "white"
|
|
107
|
+
}) : type && type === SnackBarType.PAYMENT_WARNING ? /*#__PURE__*/React.createElement(AntDesign, {
|
|
108
|
+
name: "infocirlceo",
|
|
109
|
+
size: 20,
|
|
110
|
+
color: "#D97706"
|
|
105
111
|
}) : /*#__PURE__*/React.createElement(AntDesign, {
|
|
106
112
|
name: "checkcircleo",
|
|
107
113
|
size: 20,
|
|
108
114
|
color: "white"
|
|
109
115
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
110
|
-
style: styles.messageStyle
|
|
116
|
+
style: [styles.messageStyle, type === SnackBarType.PAYMENT_WARNING && {
|
|
117
|
+
color: '#B45309'
|
|
118
|
+
}]
|
|
111
119
|
}, message), /*#__PURE__*/React.createElement(AntDesign, {
|
|
112
120
|
name: "close",
|
|
113
|
-
size:
|
|
114
|
-
color:
|
|
121
|
+
size: 20,
|
|
122
|
+
color: type && type === SnackBarType.PAYMENT_WARNING ? '#3D445C' : 'white',
|
|
115
123
|
onPress: () => {
|
|
116
124
|
setHidden(true);
|
|
117
|
-
|
|
125
|
+
onDismiss();
|
|
126
|
+
const cta = 'Close';
|
|
118
127
|
fireEventWithScreenName({
|
|
119
128
|
severityLevel: SeverityLevelValue.LOG,
|
|
120
129
|
eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
|
|
@@ -137,37 +146,50 @@ const styles = StyleSheet.create({
|
|
|
137
146
|
justifyContent: 'space-between',
|
|
138
147
|
alignItems: 'center',
|
|
139
148
|
margin: 8,
|
|
140
|
-
borderRadius:
|
|
149
|
+
borderRadius: 8
|
|
141
150
|
},
|
|
142
151
|
main: {
|
|
143
|
-
padding:
|
|
152
|
+
padding: 12,
|
|
144
153
|
flexDirection: 'row',
|
|
145
154
|
alignItems: 'center',
|
|
146
155
|
backgroundColor: '#059669',
|
|
147
156
|
flex: 1,
|
|
148
|
-
borderRadius:
|
|
157
|
+
borderRadius: 8
|
|
149
158
|
},
|
|
150
159
|
fail: {
|
|
151
|
-
padding:
|
|
160
|
+
padding: 12,
|
|
152
161
|
flexDirection: 'row',
|
|
153
162
|
alignItems: 'center',
|
|
154
163
|
backgroundColor: '#DC2626',
|
|
155
|
-
flex: 1
|
|
164
|
+
flex: 1,
|
|
165
|
+
borderRadius: 8
|
|
156
166
|
},
|
|
157
167
|
warn: {
|
|
158
|
-
padding:
|
|
168
|
+
padding: 12,
|
|
159
169
|
flexDirection: 'row',
|
|
160
170
|
alignItems: 'center',
|
|
161
171
|
backgroundColor: '#D97706',
|
|
162
|
-
flex: 1
|
|
172
|
+
flex: 1,
|
|
173
|
+
borderRadius: 8
|
|
163
174
|
},
|
|
164
|
-
|
|
175
|
+
paymentWarn: {
|
|
176
|
+
padding: 16,
|
|
177
|
+
flexDirection: 'row',
|
|
178
|
+
alignItems: 'center',
|
|
179
|
+
backgroundColor: '#FFFBEB',
|
|
165
180
|
flex: 1,
|
|
166
|
-
|
|
167
|
-
|
|
181
|
+
borderRadius: 8
|
|
182
|
+
},
|
|
183
|
+
messageStyle: {
|
|
184
|
+
fontSize: 14,
|
|
185
|
+
marginStart: 8,
|
|
186
|
+
marginEnd: 8,
|
|
187
|
+
width: '80%',
|
|
168
188
|
color: '#ffffff',
|
|
169
|
-
|
|
170
|
-
|
|
189
|
+
flex: 1,
|
|
190
|
+
fontWeight: '400',
|
|
191
|
+
lineHeight: 20,
|
|
192
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans_400Regular'
|
|
171
193
|
}
|
|
172
194
|
});
|
|
173
195
|
export default withTheme(SnackbarCustom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","Platform","SafeAreaView","StyleSheet","Text","View","Surface","withTheme","AntDesign","Fonts","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","DURATION_MEDIUM","SnackBarType","SnackbarCustom","visible","duration","onDismiss","message","theme","type","customBottom","customTop","current","opacity","useRef","Value","hidden","setHidden","useState","hideTimeout","undefined","scale","animation","useEffect","clearTimeout","useLayoutEffect","timing","toValue","useNativeDriver","start","finished","isInfinity","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","setTimeout","colors","roundness","createElement","pointerEvents","style","styles","wrapper","bottom","top","accessibilityLiveRegion","container","borderRadius","transform","interpolate","inputRange","outputRange","backgroundColor","onSurface","FAILURE","fail","WARNING","warn","main","name","size","color","messageStyle","onPress","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","SCAN_BAR_CUSTOM_SCREEN","create","position","width","zIndex","elevation","flexDirection","justifyContent","alignItems","margin","padding","flex","marginStart","marginEnd","fontWeight","fontFamily","OS","IBMPlexSans_600SemiBold"],"sources":["SnackBarCustom.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Animated,\n Platform,\n SafeAreaView,\n StyleProp,\n StyleSheet,\n Text,\n View,\n ViewStyle,\n} from 'react-native';\nimport { Surface, withTheme } from 'react-native-paper';\nimport { AntDesign } from '@expo/vector-icons';\nimport { Fonts } from '../../styles/executionTasks/CommonStyles';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\n\nexport interface SnackbarProps {\n visible: boolean;\n duration?: number;\n /**\n * Callback called when Snackbar is dismissed. The `visible` prop needs to be updated when this is called.\n */\n onDismiss: () => void;\n /**\n * Text content of the Snackbar.\n */\n message: string;\n type?: SnackBarType;\n theme: ReactNativePaper.Theme;\n customBottom?: number;\n customTop?: number;\n}\nconst DURATION_MEDIUM = 3000;\n\nexport enum SnackBarType {\n SUCCESS,\n FAILURE,\n WARNING,\n}\n\nconst SnackbarCustom = ({\n visible,\n duration = DURATION_MEDIUM,\n onDismiss,\n message,\n theme,\n type,\n customBottom = 110,\n customTop,\n}: SnackbarProps) => {\n const { current: opacity } = React.useRef<Animated.Value>(\n new Animated.Value(0.0)\n );\n const [hidden, setHidden] = React.useState<boolean>(!visible);\n\n const hideTimeout = React.useRef<NodeJS.Timeout | undefined>(undefined);\n const { scale } = theme.animation;\n\n React.useEffect(() => {\n return () => {\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n if (visible) {\n // show\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n setHidden(false);\n Animated.timing(opacity, {\n toValue: 1,\n duration: 200 * scale,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n const isInfinity =\n duration === Number.POSITIVE_INFINITY ||\n duration === Number.NEGATIVE_INFINITY;\n\n if (finished && !isInfinity) {\n hideTimeout.current = setTimeout(\n onDismiss,\n duration\n ) as unknown as NodeJS.Timeout;\n }\n }\n });\n } else {\n // hide\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n\n Animated.timing(opacity, {\n toValue: 0,\n duration: 100 * scale,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) setHidden(true);\n });\n }\n }, [visible, duration, opacity, scale, onDismiss]);\n\n const { colors, roundness } = theme;\n\n if (hidden) return null;\n\n if (!message) return null;\n\n return (\n <SafeAreaView\n pointerEvents=\"box-none\"\n style={[\n styles.wrapper,\n { bottom: customBottom },\n customTop !== undefined ? { top: customTop } : {},\n ]}\n >\n <Surface\n pointerEvents=\"box-none\"\n accessibilityLiveRegion=\"polite\"\n style={\n [\n styles.container,\n {\n borderRadius: roundness,\n opacity: opacity,\n transform: [\n {\n scale: visible\n ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [0.9, 1],\n })\n : 1,\n },\n ],\n },\n { backgroundColor: colors.onSurface },\n ] as StyleProp<ViewStyle>\n }\n >\n <View\n style={\n type && type === SnackBarType.FAILURE\n ? styles.fail\n : type && type === SnackBarType.WARNING\n ? styles.warn\n : styles.main\n }\n >\n {type && type === SnackBarType.FAILURE ? (\n <AntDesign name=\"exclamationcircleo\" size={20} color=\"white\" />\n ) : (\n <AntDesign name=\"checkcircleo\" size={20} color=\"white\" />\n )}\n <Text style={styles.messageStyle}>{message}</Text>\n <AntDesign\n name=\"close\"\n size={16}\n color=\"white\"\n onPress={() => {\n setHidden(true);\n const cta = \"Close\";\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.SCAN_BAR_CUSTOM_SCREEN, cta: cta });\n }}\n />\n </View>\n </Surface>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n position: 'absolute',\n bottom: 110,\n width: '100%',\n zIndex: 1000,\n },\n container: {\n elevation: 6,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: 8,\n borderRadius: 4,\n },\n main: {\n padding: 16,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#059669',\n flex: 1,\n borderRadius: 4,\n },\n fail: {\n padding: 16,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#DC2626',\n flex: 1,\n },\n warn: {\n padding: 16,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#D97706',\n flex: 1,\n },\n messageStyle: {\n flex: 1,\n marginStart: 20,\n marginEnd: 20,\n color: '#ffffff',\n fontWeight: '600',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-SemiBold',\n },\n});\n\nexport default withTheme(SnackbarCustom);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EAEZC,UAAU,EACVC,IAAI,EACJC,IAAI,QAEC,cAAc;AACrB,SAASC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AACvD,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,KAAK,QAAQ,0CAA0C;AAChE,SAASC,sBAAsB,EAAEC,2BAA2B,EAAEC,kBAAkB,QAAQ,2CAA2C;AACnI,SAASC,uBAAuB,QAAQ,6CAA6C;AAkBrF,MAAMC,eAAe,GAAG,IAAI;AAE5B,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAMxB,MAAMC,cAAc,GAAGA,CAAC;EACtBC,OAAO;EACPC,QAAQ,GAAGJ,eAAe;EAC1BK,SAAS;EACTC,OAAO;EACPC,KAAK;EACLC,IAAI;EACJC,YAAY,GAAG,GAAG;EAClBC;AACa,CAAC,KAAK;EACnB,MAAM;IAAEC,OAAO,EAAEC;EAAQ,CAAC,GAAG3B,KAAK,CAAC4B,MAAM,CACvC,IAAI3B,QAAQ,CAAC4B,KAAK,CAAC,GAAG,CACxB,CAAC;EACD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG/B,KAAK,CAACgC,QAAQ,CAAU,CAACd,OAAO,CAAC;EAE7D,MAAMe,WAAW,GAAGjC,KAAK,CAAC4B,MAAM,CAA6BM,SAAS,CAAC;EACvE,MAAM;IAAEC;EAAM,CAAC,GAAGb,KAAK,CAACc,SAAS;EAEjCpC,KAAK,CAACqC,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,IAAIJ,WAAW,CAACP,OAAO,EAAEY,YAAY,CAACL,WAAW,CAACP,OAAO,CAAC;IAC5D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN1B,KAAK,CAACuC,eAAe,CAAC,MAAM;IAC1B,IAAIrB,OAAO,EAAE;MACX;MACA,IAAIe,WAAW,CAACP,OAAO,EAAEY,YAAY,CAACL,WAAW,CAACP,OAAO,CAAC;MAC1DK,SAAS,CAAC,KAAK,CAAC;MAChB9B,QAAQ,CAACuC,MAAM,CAACb,OAAO,EAAE;QACvBc,OAAO,EAAE,CAAC;QACVtB,QAAQ,EAAE,GAAG,GAAGgB,KAAK;QACrBO,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QAAEC;MAAS,CAAC,KAAK;QACzB,IAAIA,QAAQ,EAAE;UACZ,MAAMC,UAAU,GACd1B,QAAQ,KAAK2B,MAAM,CAACC,iBAAiB,IACrC5B,QAAQ,KAAK2B,MAAM,CAACE,iBAAiB;UAEvC,IAAIJ,QAAQ,IAAI,CAACC,UAAU,EAAE;YAC3BZ,WAAW,CAACP,OAAO,GAAGuB,UAAU,CAC9B7B,SAAS,EACTD,QACF,CAA8B;UAChC;QACF;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL;MACA,IAAIc,WAAW,CAACP,OAAO,EAAEY,YAAY,CAACL,WAAW,CAACP,OAAO,CAAC;MAE1DzB,QAAQ,CAACuC,MAAM,CAACb,OAAO,EAAE;QACvBc,OAAO,EAAE,CAAC;QACVtB,QAAQ,EAAE,GAAG,GAAGgB,KAAK;QACrBO,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QAAEC;MAAS,CAAC,KAAK;QACzB,IAAIA,QAAQ,EAAEb,SAAS,CAAC,IAAI,CAAC;MAC/B,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACb,OAAO,EAAEC,QAAQ,EAAEQ,OAAO,EAAEQ,KAAK,EAAEf,SAAS,CAAC,CAAC;EAElD,MAAM;IAAE8B,MAAM;IAAEC;EAAU,CAAC,GAAG7B,KAAK;EAEnC,IAAIQ,MAAM,EAAE,OAAO,IAAI;EAEvB,IAAI,CAACT,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACErB,KAAA,CAAAoD,aAAA,CAACjD,YAAY;IACXkD,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CACLC,MAAM,CAACC,OAAO,EACd;MAAEC,MAAM,EAAEjC;IAAa,CAAC,EACxBC,SAAS,KAAKS,SAAS,GAAG;MAAEwB,GAAG,EAAEjC;IAAU,CAAC,GAAG,CAAC,CAAC;EACjD,gBAEFzB,KAAA,CAAAoD,aAAA,CAAC7C,OAAO;IACN8C,aAAa,EAAC,UAAU;IACxBM,uBAAuB,EAAC,QAAQ;IAChCL,KAAK,EACH,CACEC,MAAM,CAACK,SAAS,EAChB;MACEC,YAAY,EAAEV,SAAS;MACvBxB,OAAO,EAAEA,OAAO;MAChBmC,SAAS,EAAE,CACT;QACE3B,KAAK,EAAEjB,OAAO,GACVS,OAAO,CAACoC,WAAW,CAAC;UAClBC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UAClBC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC,CAAC,GACF;MACN,CAAC;IAEL,CAAC,EACD;MAAEC,eAAe,EAAEhB,MAAM,CAACiB;IAAU,CAAC;EAExC,gBAEDnE,KAAA,CAAAoD,aAAA,CAAC9C,IAAI;IACHgD,KAAK,EACH/B,IAAI,IAAIA,IAAI,KAAKP,YAAY,CAACoD,OAAO,GACjCb,MAAM,CAACc,IAAI,GACX9C,IAAI,IAAIA,IAAI,KAAKP,YAAY,CAACsD,OAAO,GACrCf,MAAM,CAACgB,IAAI,GACXhB,MAAM,CAACiB;EACZ,GAEAjD,IAAI,IAAIA,IAAI,KAAKP,YAAY,CAACoD,OAAO,gBACpCpE,KAAA,CAAAoD,aAAA,CAAC3C,SAAS;IAACgE,IAAI,EAAC,oBAAoB;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAO,CAAE,CAAC,gBAE/D3E,KAAA,CAAAoD,aAAA,CAAC3C,SAAS;IAACgE,IAAI,EAAC,cAAc;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAO,CAAE,CACzD,eACD3E,KAAA,CAAAoD,aAAA,CAAC/C,IAAI;IAACiD,KAAK,EAAEC,MAAM,CAACqB;EAAa,GAAEvD,OAAc,CAAC,eAClDrB,KAAA,CAAAoD,aAAA,CAAC3C,SAAS;IACRgE,IAAI,EAAC,OAAO;IACZC,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC,OAAO;IACbE,OAAO,EAAEA,CAAA,KAAM;MACb9C,SAAS,CAAC,IAAI,CAAC;MACf,MAAM+C,GAAG,GAAG,OAAO;MACnBhE,uBAAuB,CAAC;QAAEiE,aAAa,EAAElE,kBAAkB,CAACmE,GAAG;QAAEC,SAAS,EAAErE,2BAA2B,CAACsE,cAAc;QAAEC,UAAU,EAAExE,sBAAsB,CAACyE,sBAAsB;QAAEN,GAAG,EAAEA;MAAI,CAAC,CAAC;IAChM;EAAE,CACH,CACG,CACC,CACG,CAAC;AAEnB,CAAC;AAED,MAAMvB,MAAM,GAAGnD,UAAU,CAACiF,MAAM,CAAC;EAC/B7B,OAAO,EAAE;IACP8B,QAAQ,EAAE,UAAU;IACpB7B,MAAM,EAAE,GAAG;IACX8B,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE;EACV,CAAC;EACD5B,SAAS,EAAE;IACT6B,SAAS,EAAE,CAAC;IACZC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,CAAC;IACThC,YAAY,EAAE;EAChB,CAAC;EACDW,IAAI,EAAE;IACJsB,OAAO,EAAE,EAAE;IACXJ,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE,QAAQ;IACpB1B,eAAe,EAAE,SAAS;IAC1B6B,IAAI,EAAE,CAAC;IACPlC,YAAY,EAAE;EAChB,CAAC;EACDQ,IAAI,EAAE;IACJyB,OAAO,EAAE,EAAE;IACXJ,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE,QAAQ;IACpB1B,eAAe,EAAE,SAAS;IAC1B6B,IAAI,EAAE;EACR,CAAC;EACDxB,IAAI,EAAE;IACJuB,OAAO,EAAE,EAAE;IACXJ,aAAa,EAAE,KAAK;IACpBE,UAAU,EAAE,QAAQ;IACpB1B,eAAe,EAAE,SAAS;IAC1B6B,IAAI,EAAE;EACR,CAAC;EACDnB,YAAY,EAAE;IACZmB,IAAI,EAAE,CAAC;IACPC,WAAW,EAAE,EAAE;IACfC,SAAS,EAAE,EAAE;IACbtB,KAAK,EAAE,SAAS;IAChBuB,UAAU,EAAE,KAAK;IACjBC,UAAU,EACRjG,QAAQ,CAACkG,EAAE,KAAK,SAAS,GACrB1F,KAAK,CAAC2F,uBAAuB,GAC7B;EACR;AACF,CAAC,CAAC;AAEF,eAAe7F,SAAS,CAACS,cAAc,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Animated","Platform","SafeAreaView","StyleSheet","Text","View","Surface","withTheme","AntDesign","Fonts","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","DURATION_MEDIUM","SnackBarType","SnackbarCustom","visible","duration","onDismiss","message","theme","type","customBottom","customTop","current","opacity","useRef","Value","hidden","setHidden","useState","hideTimeout","undefined","scale","animation","useEffect","clearTimeout","useLayoutEffect","timing","toValue","useNativeDriver","start","finished","isInfinity","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","setTimeout","colors","roundness","createElement","pointerEvents","style","styles","wrapper","bottom","top","accessibilityLiveRegion","container","borderRadius","transform","interpolate","inputRange","outputRange","FAILURE","fail","WARNING","warn","PAYMENT_WARNING","paymentWarn","main","name","size","color","messageStyle","onPress","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","SCAN_BAR_CUSTOM_SCREEN","create","position","width","zIndex","elevation","flexDirection","justifyContent","alignItems","margin","padding","backgroundColor","flex","fontSize","marginStart","marginEnd","fontWeight","lineHeight","fontFamily","OS","IBMPlexSans_400Regular"],"sources":["SnackBarCustom.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport {\n Animated,\n Platform,\n SafeAreaView,\n StyleProp,\n StyleSheet,\n Text,\n View,\n ViewStyle,\n} from 'react-native';\nimport { Surface, withTheme } from 'react-native-paper';\nimport { AntDesign } from '@expo/vector-icons';\nimport { Fonts } from '../../styles/executionTasks/CommonStyles';\nimport {\n ScreenNameSdkConstants,\n SentryEventNameSdkConstants,\n SeverityLevelValue,\n} from '../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../analytics/sentry/SentryAnalyticsUtils';\n\nexport interface SnackbarProps {\n visible: boolean;\n duration?: number;\n /**\n * Callback called when Snackbar is dismissed. The `visible` prop needs to be updated when this is called.\n */\n onDismiss: () => void;\n /**\n * Text content of the Snackbar.\n */\n message: string;\n type?: SnackBarType;\n theme: ReactNativePaper.Theme;\n customBottom?: number;\n customTop?: number;\n}\nconst DURATION_MEDIUM = 3000;\n\nexport enum SnackBarType {\n SUCCESS,\n FAILURE,\n WARNING,\n PAYMENT_WARNING,\n}\n\nconst SnackbarCustom = ({\n visible,\n duration = DURATION_MEDIUM,\n onDismiss,\n message,\n theme,\n type,\n customBottom = 110,\n customTop,\n}: SnackbarProps) => {\n const { current: opacity } = React.useRef<Animated.Value>(\n new Animated.Value(0.0)\n );\n const [hidden, setHidden] = React.useState<boolean>(true);\n\n const hideTimeout = React.useRef<NodeJS.Timeout | undefined>(undefined);\n const { scale } = theme.animation;\n\n React.useEffect(() => {\n return () => {\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n if (visible) {\n // show\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n setHidden(false);\n Animated.timing(opacity, {\n toValue: 1,\n duration: 200 * scale,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n const isInfinity =\n duration === Number.POSITIVE_INFINITY ||\n duration === Number.NEGATIVE_INFINITY;\n\n if (finished && !isInfinity) {\n hideTimeout.current = setTimeout(\n onDismiss,\n duration\n ) as unknown as NodeJS.Timeout;\n }\n }\n });\n } else {\n // hide\n if (hideTimeout.current) clearTimeout(hideTimeout.current);\n\n Animated.timing(opacity, {\n toValue: 0,\n duration: 100 * scale,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) setHidden(true);\n });\n }\n }, [visible, duration, opacity, scale, onDismiss]);\n\n const { colors, roundness } = theme;\n\n if (hidden) return null;\n\n if (!message) return null;\n\n return (\n <SafeAreaView\n pointerEvents=\"box-none\"\n style={[\n styles.wrapper,\n { bottom: customBottom },\n customTop !== undefined ? { top: customTop } : {},\n ]}\n >\n <Surface\n pointerEvents=\"box-none\"\n accessibilityLiveRegion=\"polite\"\n style={\n [\n styles.container,\n {\n borderRadius: roundness,\n opacity: opacity,\n transform: [\n {\n scale: visible\n ? opacity.interpolate({\n inputRange: [0, 1],\n outputRange: [0.9, 1],\n })\n : 1,\n },\n ],\n },\n // { backgroundColor: colors.onSurface },\n ] as StyleProp<ViewStyle>\n }\n >\n <View\n style={\n type && type === SnackBarType.FAILURE\n ? styles.fail\n : type && type === SnackBarType.WARNING\n ? styles.warn\n : type && type === SnackBarType.PAYMENT_WARNING\n ? styles.paymentWarn\n : styles.main\n }\n >\n {type && type === SnackBarType.FAILURE ? (\n <AntDesign name=\"exclamationcircleo\" size={20} color=\"white\" />\n ) : type && type === SnackBarType.PAYMENT_WARNING ? (\n <AntDesign name=\"infocirlceo\" size={20} color=\"#D97706\" />\n ) : (\n <AntDesign name=\"checkcircleo\" size={20} color=\"white\" />\n )}\n <Text\n style={[\n styles.messageStyle,\n type === SnackBarType.PAYMENT_WARNING && { color: '#B45309' },\n ]}\n >\n {message}\n </Text>\n <AntDesign\n name=\"close\"\n size={20}\n color={\n type && type === SnackBarType.PAYMENT_WARNING\n ? '#3D445C'\n : 'white'\n }\n onPress={() => {\n setHidden(true);\n onDismiss();\n const cta = 'Close';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,\n screenName: ScreenNameSdkConstants.SCAN_BAR_CUSTOM_SCREEN,\n cta: cta,\n });\n }}\n />\n </View>\n </Surface>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n position: 'absolute',\n bottom: 110,\n width: '100%',\n zIndex: 1000,\n },\n container: {\n elevation: 6,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: 8,\n borderRadius: 8,\n },\n main: {\n padding: 12,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#059669',\n flex: 1,\n borderRadius: 8,\n },\n fail: {\n padding: 12,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#DC2626',\n flex: 1,\n borderRadius: 8,\n },\n warn: {\n padding: 12,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#D97706',\n flex: 1,\n borderRadius: 8,\n },\n paymentWarn: {\n padding: 16,\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#FFFBEB',\n flex: 1,\n borderRadius: 8,\n },\n messageStyle: {\n fontSize: 14,\n marginStart: 8,\n marginEnd: 8,\n width: '80%',\n color: '#ffffff',\n flex: 1,\n fontWeight: '400',\n lineHeight: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans_400Regular',\n },\n});\n\nexport default withTheme(SnackbarCustom);\n"],"mappings":"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","ignoreList":[]}
|
|
Binary file
|
|
@@ -122,6 +122,10 @@ const CollectPaymentScreen = ({
|
|
|
122
122
|
}
|
|
123
123
|
if ((_modifiedInput$allowe = modifiedInput.allowedModes) !== null && _modifiedInput$allowe !== void 0 && _modifiedInput$allowe.length) {
|
|
124
124
|
updatedInput.allowedModes = [...modifiedInput.allowedModes, ...updatedInput.allowedModes];
|
|
125
|
+
const index = updatedInput.allowedModes.indexOf('ONLINE');
|
|
126
|
+
if (index > -1) {
|
|
127
|
+
updatedInput.allowedModes.splice(index, 1);
|
|
128
|
+
}
|
|
125
129
|
}
|
|
126
130
|
if (!((_updatedInput$allowed = updatedInput.allowedModes) !== null && _updatedInput$allowed !== void 0 && _updatedInput$allowed.length)) {
|
|
127
131
|
navigateWithError(ErrorCodes.InvalidArgumentError, 'No payment modes available. Please contact your Admin.');
|
|
@@ -158,10 +162,10 @@ const CollectPaymentScreen = ({
|
|
|
158
162
|
// };
|
|
159
163
|
|
|
160
164
|
const configData = paymentResp === null || paymentResp === void 0 || (_paymentResp$data = paymentResp.data) === null || _paymentResp$data === void 0 || (_paymentResp$data = _paymentResp$data.data) === null || _paymentResp$data === void 0 ? void 0 : _paymentResp$data.configDetails[0];
|
|
161
|
-
if (configData
|
|
165
|
+
if ((configData === null || configData === void 0 || (_configData$paymentMe = configData.paymentMethods) === null || _configData$paymentMe === void 0 ? void 0 : _configData$paymentMe.QR) === true) {
|
|
162
166
|
response.methods.push('QR_CODE');
|
|
163
167
|
}
|
|
164
|
-
if (configData
|
|
168
|
+
if ((configData === null || configData === void 0 || (_configData$paymentMe2 = configData.paymentMethods) === null || _configData$paymentMe2 === void 0 ? void 0 : _configData$paymentMe2.paymentLink) === true) {
|
|
165
169
|
response.methods.push('PAYMENT_LINK');
|
|
166
170
|
}
|
|
167
171
|
if (configData !== null && configData !== void 0 && configData.modesMapping) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useState","withBaseDispatchScreen","EntityCode","ExecutionTaskID","CollectPaymentET","DispatchStateContainer","RouteParams","getDataFromNextState","Alert","handleDynamicValues","onTaskStart","useEffect","DispatchExecutor","NetworkClient","DispatchSdkCache","PaymentContext","isMandatoryKeysPresent","ErrorCodes","ENDPOINTS","Logger","LOG_TYPE","ProgressDialog","GO_BACK_EVENT_CODE","CancelOrderDialog","CollectPaymentScreen","navigation","route","baseETProps","_route$params$RoutePa","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","taskId","expectedAmount","setExpectedAmount","modifiedInput","setInputs","contextData","setContextData","showAlert","setShowAlert","sResponse","setResponse","showScreen","setShowScreen","paymentRefId","ROOT_META_DATA","paymentConfig","getSdkConfig","cache","getInstance","_sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","networkInstance","domain","showAlertMessage","errorMessage","title","alert","goBack","navigateWithError","errorCode","initRoute","navigate","name","sdkError","code","message","merge","COLLECT_PAYMENT_ET","InvalidArgumentError","customEventsData","_modifiedInput$allowe","_updatedInput$allowed","updatedInput","JSON","parse","stringify","getTotalExpected","allowedModes","includes","modes","getPaymentModes","methods","plModes","index","indexOf","splice","error","_error$response","logEvent","response","data","SDK_ERROR","length","_paymentResp$data","_configData$paymentMe","_configData$paymentMe2","paymentResp","requestGet","PAYMENT_MODES","requestId","configData","configDetails","paymentMethods","QR","push","paymentLink","modesMapping","Object","values","_error$response2","totalAmount","getTotalPaymentAmountMWI","submitOutput","etOutput","console","log","paymentMode","jobData","wQueryJobForMOId","result","wUpdateAmountToZero","jobId","navigateToNextTask","success","_modifiedInput$allowe2","createElement","Provider","value","sdkConfig","_extends","onSubmitET","eventCode","_prevState","visible","onSubmit","label"],"sources":["CollectPaymentScreen.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useCallback, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport { CollectPaymentET } from '../../components/executiontasks/ExecutionTasksIndex';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport { Alert } from 'react-native';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { useEffect } from 'react';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport NetworkClient from '../../network/NetworkClient';\nimport DispatchSdkCache from '../../manager/sdk/DispatchSdkCache';\nimport { DispatchSDKConfig } from '../../models/sdk';\nimport { PaymentContext } from '../../utils/context/paymentContext';\nimport { isMandatoryKeysPresent } from '../../utils/utils';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport { ENDPOINTS } from '../../constants/apiConstants';\nimport { PaymentConfigResponse } from '../../components/executiontasks/collectPayment/CollectPaymentSchema';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport ProgressDialog from '../../components/widgets/ProgressDialog';\nimport { GO_BACK_EVENT_CODE } from '../../constants/constants';\nimport CancelOrderDialog from '../../components/widgets/CancelOrderDialog';\n\nconst CollectPaymentScreen = ({\n navigation,\n route,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, taskId } =\n getDataFromNextState(nextState);\n const [expectedAmount, setExpectedAmount] = useState(0);\n const [modifiedInput, setInputs] = useState({ ...input });\n const [contextData, setContextData] = useState<any>();\n const [showAlert, setShowAlert] = useState(false);\n const [sResponse, setResponse] = useState<any>();\n const [showScreen, setShowScreen] = useState<boolean>(false);\n const paymentRefId =\n route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;\n\n async function getSdkConfig() {\n const cache = DispatchSdkCache.getInstance();\n const _sdkConfig: DispatchSDKConfig = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n );\n\n const networkInstance = new NetworkClient(_sdkConfig.domain);\n setContextData({ _sdkConfig, networkInstance });\n return { _sdkConfig, networkInstance };\n }\n\n const showAlertMessage = useCallback(\n (errorMessage: string, title: string) => {\n Alert.alert(title, errorMessage);\n navigation.goBack();\n },\n [navigation]\n );\n\n const navigateWithError = useCallback(\n (errorCode: string, errorMessage: string) => {\n if (route.params.initRoute) {\n navigation.navigate({\n name: route.params.initRoute,\n params: { sdkError: { code: errorCode, message: errorMessage } },\n merge: true,\n });\n } else {\n showAlertMessage(errorMessage, 'Error');\n }\n },\n [navigation, route.params.initRoute, showAlertMessage]\n );\n\n useEffect(() => {\n \n if (\n taskId === ExecutionTaskID.COLLECT_PAYMENT_ET &&\n (!isMandatoryKeysPresent(route.params[RouteParams.ROOT_META_DATA], [\n 'paymentConfig',\n ]) ||\n !isMandatoryKeysPresent(\n route.params[RouteParams.ROOT_META_DATA].paymentConfig,\n ['paymentRefId']\n ))\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params to execute Payment.'\n );\n return;\n }\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n (async () => {\n let updatedInput = JSON.parse(JSON.stringify(modifiedInput));\n if (route.params[RouteParams.ROOT_META_DATA]) {\n updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n }\n /**\n * Get sum of merged objectives amount\n * Get sdkConfig from cache and set in context\n */\n await getTotalExpected();\n const { networkInstance } = await getSdkConfig();\n /**\n * Get list of selected payment modes from default PG for tenant\n */\n if (modifiedInput.allowedModes.includes('ONLINE')) {\n try {\n const modes = await getPaymentModes(networkInstance);\n updatedInput.allowedModes = modes?.methods;\n updatedInput.plModes = modes?.plModes || [];\n const index = modifiedInput.allowedModes.indexOf('ONLINE');\n if (index > -1) {\n modifiedInput.allowedModes.splice(index, 1);\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getTotalExpected triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n updatedInput.allowedModes = [];\n updatedInput.plModes = [];\n const index = modifiedInput.allowedModes.indexOf('ONLINE');\n if (index > -1) {\n modifiedInput.allowedModes.splice(index, 1);\n }\n }\n } else {\n updatedInput.allowedModes = [];\n updatedInput.plModes = [];\n }\n\n if (modifiedInput.allowedModes?.length) {\n updatedInput.allowedModes = [\n ...modifiedInput.allowedModes,\n ...updatedInput.allowedModes,\n ];\n }\n if (!updatedInput.allowedModes?.length) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'No payment modes available. Please contact your Admin.'\n );\n return;\n }\n setInputs(updatedInput);\n })();\n }, []);\n\n const getPaymentModes = async (\n networkInstance: NetworkClient\n ): Promise<{ methods: string[]; plModes: string[] } | null> => {\n try {\n let response: { methods: string[]; plModes: string[] } = {\n methods: [],\n plModes: [],\n };\n const paymentResp: { data: PaymentConfigResponse } =\n await networkInstance.requestGet(ENDPOINTS.PAYMENT_MODES, {\n requestId: 'payment:' + paymentRefId,\n });\n\n // FOR TESTING\n // const paymentResp = {\n // data: {\n // data: {\n // configDetails: [\n // {\n // paymentMethods: {\n // QR: true,\n // paymentLink: true,\n // },\n // },\n // ],\n // },\n // },\n // };\n\n const configData = paymentResp?.data?.data?.configDetails[0];\n if (configData?.paymentMethods?.QR) {\n response.methods.push('QR_CODE');\n }\n if (configData?.paymentMethods?.paymentLink) {\n response.methods.push('PAYMENT_LINK');\n }\n if (configData?.modesMapping) {\n response.plModes = Object.values(configData.modesMapping);\n }\n\n return response;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentModes triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n return null;\n }\n };\n\n const getTotalExpected = async () => {\n const totalAmount: number = await DispatchExecutor.getTotalPaymentAmountMWI(\n mergedObjectiveId\n );\n setExpectedAmount(totalAmount);\n // setExpectedAmount(1000); //FOR TESTING\n return totalAmount;\n };\n\n const submitOutput = useCallback(\n async (etOutput: any) => {\n console.log('CollectPaymentScreen:SubmitOutput:', etOutput);\n if (etOutput.paymentMode == 'QR_CODE') {\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.paymentMode',\n etOutput.paymentMode\n );\n let jobData = await DispatchExecutor.wQueryJobForMOId(\n mergedObjectiveId[0]\n );\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.jobData',\n jobData\n );\n let result = await DispatchExecutor.wUpdateAmountToZero(\n jobData[0].jobId\n );\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.result',\n result\n );\n }\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n etOutput,\n etOutput.success,\n EntityCode.COLLECT_PAYMENT_ET,\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n baseETProps,\n false\n );\n },\n [baseETProps, navigation, route]\n );\n\n // console.log(\"collectpayment1:\",contextData)\n // console.log(\"collectpayment2:\",modifiedInput.allowedModes.includes('ONLINE'))\n // console.log(\"collectpayment3:\",modifiedInput.allowedModes?.length)\n useEffect(() => {\n if (contextData && modifiedInput?.allowedModes?.length) {\n setShowScreen(true);\n } else {\n setShowScreen(false);\n }\n }, [contextData, modifiedInput?.allowedModes]);\n\n return showScreen ? (\n <PaymentContext.Provider\n value={{\n sdkConfig: contextData?._sdkConfig,\n networkInstance: contextData?.networkInstance,\n }}\n >\n <CollectPaymentET\n {...modifiedInput}\n expectedAmount={expectedAmount}\n navigation={navigation}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n route={route}\n onSubmitET={async (etOutput) => {\n console.log('etOutput: ', JSON.stringify(etOutput));\n if (etOutput.success || etOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(etOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return etOutput;\n });\n }\n }}\n />\n <CancelOrderDialog\n visible={showAlert}\n onSubmit={async (value) => {\n if (value) {\n setShowAlert(false);\n await submitOutput(sResponse);\n } else {\n setShowAlert(false);\n }\n }}\n />\n </PaymentContext.Provider>\n ) : (\n <ProgressDialog visible={true} label=\"Loading...\" />\n );\n};\n\nexport default withBaseDispatchScreen(CollectPaymentScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useState","withBaseDispatchScreen","EntityCode","ExecutionTaskID","CollectPaymentET","DispatchStateContainer","RouteParams","getDataFromNextState","Alert","handleDynamicValues","onTaskStart","useEffect","DispatchExecutor","NetworkClient","DispatchSdkCache","PaymentContext","isMandatoryKeysPresent","ErrorCodes","ENDPOINTS","Logger","LOG_TYPE","ProgressDialog","GO_BACK_EVENT_CODE","CancelOrderDialog","CollectPaymentScreen","navigation","route","baseETProps","_route$params$RoutePa","nextState","params","NEXT_STATES","taskMeta","mergedObjectiveId","input","taskId","expectedAmount","setExpectedAmount","modifiedInput","setInputs","contextData","setContextData","showAlert","setShowAlert","sResponse","setResponse","showScreen","setShowScreen","paymentRefId","ROOT_META_DATA","paymentConfig","getSdkConfig","cache","getInstance","_sdkConfig","getObjectFromCache","KEYS","SDK_CONFIG","networkInstance","domain","showAlertMessage","errorMessage","title","alert","goBack","navigateWithError","errorCode","initRoute","navigate","name","sdkError","code","message","merge","COLLECT_PAYMENT_ET","InvalidArgumentError","customEventsData","_modifiedInput$allowe","_updatedInput$allowed","updatedInput","JSON","parse","stringify","getTotalExpected","allowedModes","includes","modes","getPaymentModes","methods","plModes","index","indexOf","splice","error","_error$response","logEvent","response","data","SDK_ERROR","length","_paymentResp$data","_configData$paymentMe","_configData$paymentMe2","paymentResp","requestGet","PAYMENT_MODES","requestId","configData","configDetails","paymentMethods","QR","push","paymentLink","modesMapping","Object","values","_error$response2","totalAmount","getTotalPaymentAmountMWI","submitOutput","etOutput","console","log","paymentMode","jobData","wQueryJobForMOId","result","wUpdateAmountToZero","jobId","navigateToNextTask","success","_modifiedInput$allowe2","createElement","Provider","value","sdkConfig","_extends","onSubmitET","eventCode","_prevState","visible","onSubmit","label"],"sources":["CollectPaymentScreen.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { useCallback, useState } from 'react';\nimport withBaseDispatchScreen from './WithBaseDispatchScreen';\nimport type { BaseETProps } from '../../models/DispatchModels';\nimport { EntityCode, ExecutionTaskID } from '../../models/execTasks/ETConfig';\nimport { CollectPaymentET } from '../../components/executiontasks/ExecutionTasksIndex';\nimport DispatchStateContainer from '../../manager/dispatch/DispatchStateContainer';\nimport { RouteParams, getDataFromNextState } from '../uiConfig/RouteParams';\nimport { Alert } from 'react-native';\nimport { handleDynamicValues, onTaskStart } from '../../utils/ExecTaskUtils';\nimport { useEffect } from 'react';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport NetworkClient from '../../network/NetworkClient';\nimport DispatchSdkCache from '../../manager/sdk/DispatchSdkCache';\nimport { DispatchSDKConfig } from '../../models/sdk';\nimport { PaymentContext } from '../../utils/context/paymentContext';\nimport { isMandatoryKeysPresent } from '../../utils/utils';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport { ENDPOINTS } from '../../constants/apiConstants';\nimport { PaymentConfigResponse } from '../../components/executiontasks/collectPayment/CollectPaymentSchema';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport ProgressDialog from '../../components/widgets/ProgressDialog';\nimport { GO_BACK_EVENT_CODE } from '../../constants/constants';\nimport CancelOrderDialog from '../../components/widgets/CancelOrderDialog';\n\nconst CollectPaymentScreen = ({\n navigation,\n route,\n baseETProps,\n}: {\n route: any;\n navigation: any;\n baseETProps: BaseETProps;\n}) => {\n const nextState = route.params[RouteParams.NEXT_STATES];\n const { taskMeta, mergedObjectiveId, input, taskId } =\n getDataFromNextState(nextState);\n const [expectedAmount, setExpectedAmount] = useState(0);\n const [modifiedInput, setInputs] = useState({ ...input });\n const [contextData, setContextData] = useState<any>();\n const [showAlert, setShowAlert] = useState(false);\n const [sResponse, setResponse] = useState<any>();\n const [showScreen, setShowScreen] = useState<boolean>(false);\n const paymentRefId =\n route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;\n\n async function getSdkConfig() {\n const cache = DispatchSdkCache.getInstance();\n const _sdkConfig: DispatchSDKConfig = await cache.getObjectFromCache(\n DispatchSdkCache.KEYS.SDK_CONFIG\n );\n\n const networkInstance = new NetworkClient(_sdkConfig.domain);\n setContextData({ _sdkConfig, networkInstance });\n return { _sdkConfig, networkInstance };\n }\n\n const showAlertMessage = useCallback(\n (errorMessage: string, title: string) => {\n Alert.alert(title, errorMessage);\n navigation.goBack();\n },\n [navigation]\n );\n\n const navigateWithError = useCallback(\n (errorCode: string, errorMessage: string) => {\n if (route.params.initRoute) {\n navigation.navigate({\n name: route.params.initRoute,\n params: { sdkError: { code: errorCode, message: errorMessage } },\n merge: true,\n });\n } else {\n showAlertMessage(errorMessage, 'Error');\n }\n },\n [navigation, route.params.initRoute, showAlertMessage]\n );\n\n useEffect(() => {\n if (\n taskId === ExecutionTaskID.COLLECT_PAYMENT_ET &&\n (!isMandatoryKeysPresent(route.params[RouteParams.ROOT_META_DATA], [\n 'paymentConfig',\n ]) ||\n !isMandatoryKeysPresent(\n route.params[RouteParams.ROOT_META_DATA].paymentConfig,\n ['paymentRefId']\n ))\n ) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'Missing or Invalid Route Params to execute Payment.'\n );\n return;\n }\n onTaskStart(\n route.params[RouteParams.NEXT_STATES],\n route.params[RouteParams.ROOT_META_DATA].customEventsData\n );\n (async () => {\n let updatedInput = JSON.parse(JSON.stringify(modifiedInput));\n if (route.params[RouteParams.ROOT_META_DATA]) {\n updatedInput = handleDynamicValues(\n route?.params[RouteParams.NEXT_STATES].input,\n route.params[RouteParams.ROOT_META_DATA]\n );\n }\n /**\n * Get sum of merged objectives amount\n * Get sdkConfig from cache and set in context\n */\n await getTotalExpected();\n const { networkInstance } = await getSdkConfig();\n /**\n * Get list of selected payment modes from default PG for tenant\n */\n if (modifiedInput.allowedModes.includes('ONLINE')) {\n try {\n const modes = await getPaymentModes(networkInstance);\n updatedInput.allowedModes = modes?.methods;\n updatedInput.plModes = modes?.plModes || [];\n const index = modifiedInput.allowedModes.indexOf('ONLINE');\n if (index > -1) {\n modifiedInput.allowedModes.splice(index, 1);\n }\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getTotalExpected triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n updatedInput.allowedModes = [];\n updatedInput.plModes = [];\n const index = modifiedInput.allowedModes.indexOf('ONLINE');\n if (index > -1) {\n modifiedInput.allowedModes.splice(index, 1);\n }\n }\n } else {\n updatedInput.allowedModes = [];\n updatedInput.plModes = [];\n }\n\n if (modifiedInput.allowedModes?.length) {\n updatedInput.allowedModes = [\n ...modifiedInput.allowedModes,\n ...updatedInput.allowedModes,\n ];\n const index = updatedInput.allowedModes.indexOf('ONLINE');\n if (index > -1) {\n updatedInput.allowedModes.splice(index, 1);\n }\n }\n if (!updatedInput.allowedModes?.length) {\n navigateWithError(\n ErrorCodes.InvalidArgumentError,\n 'No payment modes available. Please contact your Admin.'\n );\n return;\n }\n setInputs(updatedInput);\n })();\n }, []);\n\n const getPaymentModes = async (\n networkInstance: NetworkClient\n ): Promise<{ methods: string[]; plModes: string[] } | null> => {\n try {\n let response: { methods: string[]; plModes: string[] } = {\n methods: [],\n plModes: [],\n };\n const paymentResp: { data: PaymentConfigResponse } =\n await networkInstance.requestGet(ENDPOINTS.PAYMENT_MODES, {\n requestId: 'payment:' + paymentRefId,\n });\n\n // FOR TESTING\n // const paymentResp = {\n // data: {\n // data: {\n // configDetails: [\n // {\n // paymentMethods: {\n // QR: true,\n // paymentLink: true,\n // },\n // },\n // ],\n // },\n // },\n // };\n\n const configData = paymentResp?.data?.data?.configDetails[0];\n if (configData?.paymentMethods?.QR === true) {\n response.methods.push('QR_CODE');\n }\n if (configData?.paymentMethods?.paymentLink === true) {\n response.methods.push('PAYMENT_LINK');\n }\n if (configData?.modesMapping) {\n response.plModes = Object.values(configData.modesMapping);\n }\n\n return response;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentModes triggered ',\n JSON.stringify(error?.response?.data || error),\n LOG_TYPE.SDK_ERROR\n );\n return null;\n }\n };\n\n const getTotalExpected = async () => {\n const totalAmount: number = await DispatchExecutor.getTotalPaymentAmountMWI(\n mergedObjectiveId\n );\n setExpectedAmount(totalAmount);\n // setExpectedAmount(1000); //FOR TESTING\n return totalAmount;\n };\n\n const submitOutput = useCallback(\n async (etOutput: any) => {\n console.log('CollectPaymentScreen:SubmitOutput:', etOutput);\n if (etOutput.paymentMode == 'QR_CODE') {\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.paymentMode',\n etOutput.paymentMode\n );\n let jobData = await DispatchExecutor.wQueryJobForMOId(\n mergedObjectiveId[0]\n );\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.jobData',\n jobData\n );\n let result = await DispatchExecutor.wUpdateAmountToZero(\n jobData[0].jobId\n );\n console.log(\n 'CollectPaymentScreen:SubmitOutput:etOutput.result',\n result\n );\n }\n await DispatchStateContainer.getInstance().navigateToNextTask(\n navigation,\n route,\n etOutput,\n etOutput.success,\n EntityCode.COLLECT_PAYMENT_ET,\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n baseETProps,\n false\n );\n },\n [baseETProps, navigation, route]\n );\n\n // console.log(\"collectpayment1:\",contextData)\n // console.log(\"collectpayment2:\",modifiedInput.allowedModes.includes('ONLINE'))\n // console.log(\"collectpayment3:\",modifiedInput.allowedModes?.length)\n useEffect(() => {\n if (contextData && modifiedInput?.allowedModes?.length) {\n setShowScreen(true);\n } else {\n setShowScreen(false);\n }\n }, [contextData, modifiedInput?.allowedModes]);\n\n return showScreen ? (\n <PaymentContext.Provider\n value={{\n sdkConfig: contextData?._sdkConfig,\n networkInstance: contextData?.networkInstance,\n }}\n >\n <CollectPaymentET\n {...modifiedInput}\n expectedAmount={expectedAmount}\n navigation={navigation}\n mergedObjectiveId={mergedObjectiveId}\n taskMeta={taskMeta}\n route={route}\n onSubmitET={async (etOutput) => {\n console.log('etOutput: ', JSON.stringify(etOutput));\n if (etOutput.success || etOutput.eventCode == GO_BACK_EVENT_CODE) {\n await submitOutput(etOutput);\n } else {\n setResponse((_prevState: any) => {\n setShowAlert(true);\n return etOutput;\n });\n }\n }}\n />\n <CancelOrderDialog\n visible={showAlert}\n onSubmit={async (value) => {\n if (value) {\n setShowAlert(false);\n await submitOutput(sResponse);\n } else {\n setShowAlert(false);\n }\n }}\n />\n </PaymentContext.Provider>\n ) : (\n <ProgressDialog visible={true} label=\"Loading...\" />\n );\n};\n\nexport default withBaseDispatchScreen(CollectPaymentScreen);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -89,4 +89,24 @@ export declare const PaymentStyles: {
|
|
|
89
89
|
justifyContent: "center";
|
|
90
90
|
alignItems: "center";
|
|
91
91
|
};
|
|
92
|
+
qrImage: {
|
|
93
|
+
width: number;
|
|
94
|
+
height: number;
|
|
95
|
+
backgroundColor: string;
|
|
96
|
+
};
|
|
97
|
+
overlay: {
|
|
98
|
+
position: "absolute";
|
|
99
|
+
width: string;
|
|
100
|
+
height: string;
|
|
101
|
+
justifyContent: "center";
|
|
102
|
+
alignItems: "center";
|
|
103
|
+
backgroundColor: string;
|
|
104
|
+
};
|
|
105
|
+
snackBarContainer: {
|
|
106
|
+
position: "absolute";
|
|
107
|
+
alignSelf: "center";
|
|
108
|
+
bottom: number;
|
|
109
|
+
width: string;
|
|
110
|
+
borderRadius: number;
|
|
111
|
+
};
|
|
92
112
|
};
|
|
@@ -14,3 +14,4 @@ export declare function getSharedPrefPaymentSelection(refId: string, storage: St
|
|
|
14
14
|
export declare function setSharedPrefPaymentSelection(refId: string, mode: AllowedModes, storage: Storage): Promise<void>;
|
|
15
15
|
export declare function removeSharedPrefPaymentData(refId: string, storage: Storage): Promise<void>;
|
|
16
16
|
export declare const formatTime: (time: number) => string;
|
|
17
|
+
export declare const formatExpiryTime: (timeInSeconds: number) => string;
|
|
@@ -18,7 +18,8 @@ export interface SnackbarProps {
|
|
|
18
18
|
export declare enum SnackBarType {
|
|
19
19
|
SUCCESS = 0,
|
|
20
20
|
FAILURE = 1,
|
|
21
|
-
WARNING = 2
|
|
21
|
+
WARNING = 2,
|
|
22
|
+
PAYMENT_WARNING = 3
|
|
22
23
|
}
|
|
23
24
|
declare const _default: React.ComponentType<Pick<SnackbarProps, "visible" | "message" | "type" | "onDismiss" | "duration" | "customBottom" | "customTop"> & {
|
|
24
25
|
theme?: import("@callstack/react-theme-provider").$DeepPartial<ReactNativePaper.Theme> | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os1-platform/dispatch-mobile",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.25",
|
|
4
4
|
"description": "Dispatch SDK React Native Package",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
]
|
|
260
260
|
},
|
|
261
261
|
"dependencies": {
|
|
262
|
-
"@os1-platform/platform-coreos-execution-engine-sdk": "1.0.
|
|
262
|
+
"@os1-platform/platform-coreos-execution-engine-sdk": "1.0.16",
|
|
263
263
|
"@rjsf/core": "^2.0.0",
|
|
264
264
|
"apollo-link-timeout": "^4.0.0",
|
|
265
265
|
"decompress": "^4.2.1",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1
2
|
import {
|
|
2
3
|
BaseETRequest,
|
|
3
4
|
BaseETResponse,
|
|
@@ -69,6 +70,7 @@ export interface QrResponse {
|
|
|
69
70
|
txnId?: string;
|
|
70
71
|
paymentCompleted?: boolean;
|
|
71
72
|
status?: STATUS;
|
|
73
|
+
expiresIn?: number;
|
|
72
74
|
};
|
|
73
75
|
}
|
|
74
76
|
|
|
@@ -11,14 +11,16 @@ export const PaymentStyles = StyleSheet.create({
|
|
|
11
11
|
alignItems: 'center',
|
|
12
12
|
paddingTop: 25,
|
|
13
13
|
paddingBottom: 25,
|
|
14
|
-
fontFamily:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
fontFamily:
|
|
15
|
+
Platform.OS === 'android'
|
|
16
|
+
? Fonts.IBMPlexSans_600SemiBold
|
|
17
|
+
: 'IBMPlexSans-SemiBold',
|
|
17
18
|
},
|
|
18
19
|
messageStyle: {
|
|
19
|
-
fontFamily:
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
fontFamily:
|
|
21
|
+
Platform.OS === 'android'
|
|
22
|
+
? Fonts.IBMPlexSans_400Regular
|
|
23
|
+
: 'IBMPlexSans-Regular',
|
|
22
24
|
backgroundColor: '#FFFFFF',
|
|
23
25
|
color: '#111111',
|
|
24
26
|
padding: 20,
|
|
@@ -27,9 +29,10 @@ export const PaymentStyles = StyleSheet.create({
|
|
|
27
29
|
fontSize: 14,
|
|
28
30
|
},
|
|
29
31
|
textStyle1: {
|
|
30
|
-
fontFamily:
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
fontFamily:
|
|
33
|
+
Platform.OS === 'android'
|
|
34
|
+
? Fonts.IBMPlexSans_400Regular
|
|
35
|
+
: 'IBMPlexSans-Regular',
|
|
33
36
|
marginTop: 20,
|
|
34
37
|
marginStart: 20,
|
|
35
38
|
marginEnd: 20,
|
|
@@ -41,9 +44,10 @@ export const PaymentStyles = StyleSheet.create({
|
|
|
41
44
|
reasonTextStyle: {
|
|
42
45
|
flex: 1,
|
|
43
46
|
flexWrap: 'wrap',
|
|
44
|
-
fontFamily:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
fontFamily:
|
|
48
|
+
Platform.OS === 'android'
|
|
49
|
+
? Fonts.IBMPlexSans_400Regular
|
|
50
|
+
: 'IBMPlexSans-Regular',
|
|
47
51
|
fontStyle: 'normal',
|
|
48
52
|
fontSize: 14,
|
|
49
53
|
lineHeight: 21,
|
|
@@ -99,4 +103,25 @@ export const PaymentStyles = StyleSheet.create({
|
|
|
99
103
|
justifyContent: 'center',
|
|
100
104
|
alignItems: 'center',
|
|
101
105
|
},
|
|
106
|
+
// QR
|
|
107
|
+
qrImage: {
|
|
108
|
+
width: 300,
|
|
109
|
+
height: 300,
|
|
110
|
+
backgroundColor: 'transparent',
|
|
111
|
+
},
|
|
112
|
+
overlay: {
|
|
113
|
+
position: 'absolute',
|
|
114
|
+
width: '100%',
|
|
115
|
+
height: '100%',
|
|
116
|
+
justifyContent: 'center',
|
|
117
|
+
alignItems: 'center',
|
|
118
|
+
backgroundColor: 'rgba(255, 255, 255, 0.5)', // Semi-transparent background
|
|
119
|
+
},
|
|
120
|
+
snackBarContainer: {
|
|
121
|
+
position: 'absolute',
|
|
122
|
+
alignSelf: 'center',
|
|
123
|
+
bottom: 0,
|
|
124
|
+
width: '95%',
|
|
125
|
+
borderRadius: 8,
|
|
126
|
+
},
|
|
102
127
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
1
2
|
import Logger, { LOG_TYPE } from '../../../utils/Logger';
|
|
2
3
|
import { APIData, getApiResponse } from '../../../utils/ApiUtils';
|
|
3
4
|
import * as jsonLogic from 'json-logic-js';
|
|
@@ -9,6 +10,8 @@ import {
|
|
|
9
10
|
} from './CollectPaymentSchema';
|
|
10
11
|
import Storage from '../../../utils/storage';
|
|
11
12
|
import { ENV } from '../../../models/sdk';
|
|
13
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
14
|
+
import { AppState, AppStateStatus } from 'react-native';
|
|
12
15
|
|
|
13
16
|
export const PAYMENT_SHARED_PREF_KEY = '@Payment_';
|
|
14
17
|
export const PAYMENT_SELECTION_SHARED_PREF_KEY = '@Payment_Selection_';
|
|
@@ -198,3 +201,17 @@ export const formatTime = (time: number) => {
|
|
|
198
201
|
minutes > 0 ? String(minutes).padStart(2, '') + ' min' : ''
|
|
199
202
|
} ${String(remainingSeconds).padStart(2, '')} sec`;
|
|
200
203
|
};
|
|
204
|
+
|
|
205
|
+
// Function to format the expiry time (without showing '0 sec' when it's unnecessary)
|
|
206
|
+
export const formatExpiryTime = (timeInSeconds: number) => {
|
|
207
|
+
const minutes = Math.floor(timeInSeconds / 60);
|
|
208
|
+
const seconds = timeInSeconds % 60;
|
|
209
|
+
|
|
210
|
+
if (minutes > 0 && seconds > 0) {
|
|
211
|
+
return `${minutes} min ${seconds} sec`;
|
|
212
|
+
} else if (minutes > 0 && seconds === 0) {
|
|
213
|
+
return `${minutes} min`;
|
|
214
|
+
} else {
|
|
215
|
+
return `${seconds} sec`;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
@@ -39,12 +39,11 @@ const CompletePayment = (props: CollectPaymentInput & CollectPaymentOutput) => {
|
|
|
39
39
|
const [disableProceed, setDisableProceed] = useState(false);
|
|
40
40
|
const [showModal, setShowModal] = useState<boolean>(true);
|
|
41
41
|
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}, [props.navigation]);
|
|
42
|
+
// useLayoutEffect(() => {
|
|
43
|
+
// props.navigation.setOptions({
|
|
44
|
+
// headerShown: false,
|
|
45
|
+
// });
|
|
46
|
+
// }, [props.navigation]);
|
|
48
47
|
|
|
49
48
|
// Handle back-button click
|
|
50
49
|
useFocusEffect(
|
|
@@ -58,12 +57,12 @@ const CompletePayment = (props: CollectPaymentInput & CollectPaymentOutput) => {
|
|
|
58
57
|
}, [])
|
|
59
58
|
);
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
useLayoutEffect(() => {
|
|
61
|
+
props.navigation.setOptions({
|
|
62
|
+
title: 'Payment Complete',
|
|
63
|
+
headerShown: false, // To hide header for modal screen
|
|
64
|
+
});
|
|
65
|
+
}, [props.navigation, props.title]);
|
|
67
66
|
|
|
68
67
|
useEffect(() => {
|
|
69
68
|
if (props.success) {
|
|
@@ -254,9 +253,10 @@ const styles = StyleSheet.create({
|
|
|
254
253
|
lineHeight: 28,
|
|
255
254
|
textAlign: 'center',
|
|
256
255
|
color: '#111111',
|
|
257
|
-
fontFamily:
|
|
258
|
-
|
|
259
|
-
|
|
256
|
+
fontFamily:
|
|
257
|
+
Platform.OS === 'android'
|
|
258
|
+
? Fonts.IBMPlexSans_600SemiBold
|
|
259
|
+
: 'IBMPlexSans-SemiBold',
|
|
260
260
|
},
|
|
261
261
|
message1: {
|
|
262
262
|
fontStyle: 'normal',
|
|
@@ -266,8 +266,9 @@ const styles = StyleSheet.create({
|
|
|
266
266
|
textAlign: 'center',
|
|
267
267
|
color: '#111111',
|
|
268
268
|
marginTop: 12,
|
|
269
|
-
fontFamily:
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
fontFamily:
|
|
270
|
+
Platform.OS === 'android'
|
|
271
|
+
? Fonts.IBMPlexSans_400Regular
|
|
272
|
+
: 'IBMPlexSans-Regular',
|
|
272
273
|
},
|
|
273
274
|
});
|
|
@@ -455,10 +455,11 @@ const InitPayment = (props: CollectPaymentInput) => {
|
|
|
455
455
|
|
|
456
456
|
const renderItem = ({ item }: { item: AllowedModes }) => {
|
|
457
457
|
return (
|
|
458
|
-
<TouchableOpacity
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
458
|
+
<TouchableOpacity
|
|
459
|
+
activeOpacity={1}
|
|
460
|
+
onPress={() => {
|
|
461
|
+
setPaymentMode(item);
|
|
462
|
+
}}
|
|
462
463
|
style={[
|
|
463
464
|
styles.reasonItemStyle,
|
|
464
465
|
{ marginBottom: 4, paddingVertical: 8 },
|