manage-app-sdk 0.0.2

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.
Files changed (133) hide show
  1. package/README.md +2 -0
  2. package/dist/Constants/Home.js +85 -0
  3. package/dist/assets/AppConstant.js +293 -0
  4. package/dist/assets/androidResources/Connectivity.java +52 -0
  5. package/dist/assets/androidResources/ConnectivityPackage.java +25 -0
  6. package/dist/assets/fonts/VoltePlay-Bold.ttf +0 -0
  7. package/dist/assets/fonts/VoltePlay-Light.ttf +0 -0
  8. package/dist/assets/fonts/VoltePlay-Medium.ttf +0 -0
  9. package/dist/assets/fonts/VoltePlay-Regular.ttf +0 -0
  10. package/dist/assets/fonts/VoltePlay-SemiBold.ttf +0 -0
  11. package/dist/assets/gif/loader.gif +0 -0
  12. package/dist/assets/images/PartnerLogosSmall.png +0 -0
  13. package/dist/assets/images/Union.png +0 -0
  14. package/dist/assets/images/appIcon.png +0 -0
  15. package/dist/assets/images/desktop-alert.png +0 -0
  16. package/dist/assets/images/desktop-cross.png +0 -0
  17. package/dist/assets/images/mobile-bg.png +0 -0
  18. package/dist/assets/images/stepper-one-small.png +0 -0
  19. package/dist/assets/images/stepper-one.png +0 -0
  20. package/dist/assets/images/stepper-two-small.png +0 -0
  21. package/dist/assets/images/stepper-two.png +0 -0
  22. package/dist/assets/images/tablet-bg.png +0 -0
  23. package/dist/assets/png/Tataplay-Binge.png +0 -0
  24. package/dist/assets/png/arrowBack.png +0 -0
  25. package/dist/assets/png/backArrowPng.png +0 -0
  26. package/dist/assets/svg/BingeLogoSvg.js +44 -0
  27. package/dist/assets/svg/CrossSvg.js +32 -0
  28. package/dist/assets/svg/OfferSvg.js +31 -0
  29. package/dist/assets/svg/PlansSvg.js +75 -0
  30. package/dist/assets/svg/TickSvg.js +28 -0
  31. package/dist/assets/svg/arrowBack.js +27 -0
  32. package/dist/assets/svg/arrowSvg.js +31 -0
  33. package/dist/components/AppIcon/AppIcon.js +70 -0
  34. package/dist/components/AppleBanner/AppleMusicBanner.js +36 -0
  35. package/dist/components/AppleBanner/AppleMusicBannerStyles.js +32 -0
  36. package/dist/components/AppleBanner/AppleMusicBlackBanner.js +66 -0
  37. package/dist/components/AppsContainer/AppsContainer.js +112 -0
  38. package/dist/components/BottomSheet/BottomSheet.js +173 -0
  39. package/dist/components/BottomSheet/BottomSheetStyles.js +48 -0
  40. package/dist/components/Buttons/PrimaryButton/PrimaryButton.js +50 -0
  41. package/dist/components/Buttons/RadioButton/RadioButton.js +24 -0
  42. package/dist/components/Buttons/TextButton/TextButton.js +44 -0
  43. package/dist/components/CheckButton/CheckButton.js +36 -0
  44. package/dist/components/CommonModal/CommonModel.js +79 -0
  45. package/dist/components/CommonModal/ModalTypes.js +10 -0
  46. package/dist/components/Confetti/ConfettiBurst.js +120 -0
  47. package/dist/components/Confetti/FallingConfetti.js +190 -0
  48. package/dist/components/Confetti/MultiConfettiBurst.js +73 -0
  49. package/dist/components/Coupon/CouponCard.js +47 -0
  50. package/dist/components/Coupon/CouponStyles.js +54 -0
  51. package/dist/components/Footer/Footer.js +177 -0
  52. package/dist/components/Footer/MServiceFooter/MServiceFooter.js +103 -0
  53. package/dist/components/Footer/OnButtonFooter/OneButtonFooter.js +65 -0
  54. package/dist/components/Footer/PlanSummaryFooter/SummaryFooter.js +180 -0
  55. package/dist/components/Footer/PrimeAoFooter/PrimeAoFooter.js +193 -0
  56. package/dist/components/Footer/UpgradeFooter/UpgradeFooter.js +89 -0
  57. package/dist/components/Footer/UpgradeFooter/styles.js +73 -0
  58. package/dist/components/GradientBorderContainer/GradientBorderContainer.js +79 -0
  59. package/dist/components/GradientText/GradientText.js +60 -0
  60. package/dist/components/Header/ManageAppHeader.js +71 -0
  61. package/dist/components/HighlightedText/HighlightedText.js +53 -0
  62. package/dist/components/Input/OtpInput.js +105 -0
  63. package/dist/components/Loader/Loader.js +39 -0
  64. package/dist/components/MServicePaymentMethod/MServicePaymentMethod.js +395 -0
  65. package/dist/components/MicroDrama/MicroDramaBanner.js +67 -0
  66. package/dist/components/MicroDrama/MicroDramaCard.js +33 -0
  67. package/dist/components/MicroDrama/styles.js +29 -0
  68. package/dist/components/OfferCard/OfferCard.js +100 -0
  69. package/dist/components/PaymentMethod/PaymentMethod.js +370 -0
  70. package/dist/components/Plan/CurrentPlanCard.js +138 -0
  71. package/dist/components/Plan/PlanCard.js +268 -0
  72. package/dist/components/Plan/PlanCardStyles.js +371 -0
  73. package/dist/components/Plan/RenderAppIcons.js +115 -0
  74. package/dist/components/Plan/SpecialPlanCard.js +272 -0
  75. package/dist/components/PopUps/CancelPopUp/CancelPopUp.js +190 -0
  76. package/dist/components/PopUps/ConfettiAnimation.js +172 -0
  77. package/dist/components/PopUps/ConfettiBurst.js +142 -0
  78. package/dist/components/PopUps/CouponPopUp/CouponPopUp.js +185 -0
  79. package/dist/components/PopUps/ErrorMsgPopup/ErrorMsgPopup.js +104 -0
  80. package/dist/components/PopUps/InternetErrorPopUp/InternetErrorPopUp.js +122 -0
  81. package/dist/components/PopUps/MServicePopUp/MServicePopUp.js +155 -0
  82. package/dist/components/PopUps/MpinPopUp/MpinPopUp.js +193 -0
  83. package/dist/components/PopUps/OtpPopup/OtpPopup.js +345 -0
  84. package/dist/components/PopUps/PlanCancelledPopUp/PlanCancelledPopUp.js +183 -0
  85. package/dist/components/PopUps/PlanDetailPopup/PlanDetailPopup.js +121 -0
  86. package/dist/components/PopUps/PopUp/PopUp.js +171 -0
  87. package/dist/components/PrimeAddOn/PrimeAddOn.js +72 -0
  88. package/dist/components/PrimeAddOn/PrimeAddOnStyles.js +79 -0
  89. package/dist/components/PrimeAddOn/SummaryPage/PrimeAddOnBanner.js +109 -0
  90. package/dist/components/PrimeBanner/PrimeBanner.js +27 -0
  91. package/dist/components/PrimeBanner/PrimeBannerStyles.js +36 -0
  92. package/dist/components/SectionItem/SectionItem.js +42 -0
  93. package/dist/components/Toast/Toast.js +71 -0
  94. package/dist/components/Toast/ToastStyle.js +62 -0
  95. package/dist/navigation/Routes.js +84 -0
  96. package/dist/navigation/RoutesConstants.js +18 -0
  97. package/dist/screens/AppDiscontinue/ChooseApp.js +325 -0
  98. package/dist/screens/AppDiscontinue/styles.js +89 -0
  99. package/dist/screens/AppsReplacement/AppsReplacement.js +359 -0
  100. package/dist/screens/AppsReplacement/styles.js +92 -0
  101. package/dist/screens/ChooseYourPlan/ChooseYourPlan.js +596 -0
  102. package/dist/screens/ChooseYourPlan/ChooseYourPlanStyles.js +28 -0
  103. package/dist/screens/ChooseYourPlan/OffersCarousel.js +146 -0
  104. package/dist/screens/CreateSession/CreateSession.js +620 -0
  105. package/dist/screens/MyPlan/MyPlan.js +429 -0
  106. package/dist/screens/MyPlan/MyPlanStyles.js +227 -0
  107. package/dist/screens/PaymentStatus/PaymentStatus.js +492 -0
  108. package/dist/screens/PaymentStatus/styles.js +68 -0
  109. package/dist/screens/PlanCancellation/CancelPlan.js +127 -0
  110. package/dist/screens/PlanCancellation/InfiniteAutoScroll.js +67 -0
  111. package/dist/screens/PlanCancellation/styles.js +83 -0
  112. package/dist/screens/PlanSummary/PlanSummary.js +748 -0
  113. package/dist/screens/PlanSummary/PlanSummaryStyles.js +385 -0
  114. package/dist/screens/PrimePlanSummary/PrimePlanSummary.js +252 -0
  115. package/dist/screens/PrimePlanSummary/PrimePlanSummaryStyles.js +102 -0
  116. package/dist/screens/SelectApps/SelectApps.js +513 -0
  117. package/dist/screens/SelectApps/SelectAppsStyles.js +165 -0
  118. package/dist/screens/SplashScreen/SplashScreen.js +82 -0
  119. package/dist/services/apiCall/action.js +718 -0
  120. package/dist/services/apiCall/apiServiceUtils.js +136 -0
  121. package/dist/services/apiCall/constants.js +42 -0
  122. package/dist/services/apiCall/parser.js +92 -0
  123. package/dist/services/apiCall/reducer.js +591 -0
  124. package/dist/services/global/action.js +111 -0
  125. package/dist/services/global/commonReducer.js +97 -0
  126. package/dist/services/global/constants.js +22 -0
  127. package/dist/services/serviceCommonHandler.js +220 -0
  128. package/dist/store/configureStore.js +13 -0
  129. package/dist/store/rootReducer.js +14 -0
  130. package/dist/utils/commonUtils.js +381 -0
  131. package/dist/utils/fontUtils.js +13 -0
  132. package/dist/utils/string.js +101 -0
  133. package/package.json +53 -0
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _reactNative = require("react-native");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactRedux = require("react-redux");
11
+ var _native = require("@react-navigation/native");
12
+ var _AppConstant = require("../../../assets/AppConstant");
13
+ var _fontUtils = require("../../../utils/fontUtils");
14
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
15
+ var _OtpInput = _interopRequireDefault(require("../../Input/OtpInput"));
16
+ var _arrowBack = _interopRequireDefault(require("../../../assets/svg/arrowBack"));
17
+ var _BingeLogoSvg = _interopRequireDefault(require("../../../assets/svg/BingeLogoSvg"));
18
+ var _commonUtils = require("../../../utils/commonUtils");
19
+ var _CrossSvg = _interopRequireDefault(require("../../../assets/svg/CrossSvg"));
20
+ var _serviceCommonHandler = require("../../../services/serviceCommonHandler");
21
+ var _action = require("../../../services/global/action");
22
+ var _RoutesConstants = require("../../../navigation/RoutesConstants");
23
+ var _action2 = require("../../../services/apiCall/action");
24
+ var _lodash = require("lodash");
25
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
+ const OtpPopup = ({
27
+ pageData,
28
+ onClose
29
+ }) => {
30
+ var _pageData$otpPopup2, _pageData$otpPopup3, _pageData$otpPopup4, _pageData$otpPopup5;
31
+ const dispatch = (0, _reactRedux.useDispatch)();
32
+ const navigation = (0, _native.useNavigation)();
33
+ const [otp, setOtp] = (0, _react.useState)("");
34
+ const [otpStatus, setOtpStatus] = (0, _react.useState)(true);
35
+ const [isInputEnabled, setIsInputEnabled] = (0, _react.useState)(true);
36
+ const [timer, setTimer] = (0, _react.useState)(false);
37
+ const [timerDisplay, setTimerDisplay] = (0, _react.useState)("");
38
+ const [disableButton, setDisableButton] = (0, _react.useState)(false);
39
+ const intervalRef = (0, _react.useRef)(null);
40
+ const distanceRef = (0, _react.useRef)(null);
41
+ const scaleAnim = (0, _reactNative.useAnimatedValue)(0.8);
42
+ const opacityAnim = (0, _reactNative.useAnimatedValue)(0);
43
+ const {
44
+ source = "",
45
+ rmn = "",
46
+ journey = ""
47
+ } = (0, _reactRedux.useSelector)(state => state.manageAppReducer.createSessionResponse);
48
+ const countdownTimeStart = () => {
49
+ const countDownDate = new Date().getTime() + 301000;
50
+ intervalRef.current = setInterval(() => {
51
+ const now = new Date().getTime();
52
+ distanceRef.current = countDownDate - now;
53
+ const minutes = Math.floor(distanceRef.current % (1000 * 60 * 60) / (1000 * 60));
54
+ const seconds = Math.floor(distanceRef.current % (1000 * 60) / 1000);
55
+ if (distanceRef.current > 0) {
56
+ var _pageData$otpPopup;
57
+ const formattedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;
58
+ const timeText = `${minutes}min ${formattedSeconds}`;
59
+ setTimerDisplay((0, _commonUtils.replaceStringWithParams)(pageData === null || pageData === void 0 || (_pageData$otpPopup = pageData.otpPopup) === null || _pageData$otpPopup === void 0 ? void 0 : _pageData$otpPopup.otpTime, {
60
+ "!seconds!": timeText
61
+ }));
62
+ setDisableButton(true);
63
+ }
64
+ if (distanceRef.current <= 0) {
65
+ clearInterval(intervalRef.current);
66
+ setDisableButton(false);
67
+ setTimerDisplay("");
68
+ }
69
+ }, 1000);
70
+ };
71
+ const fetchOtpApi = async () => {
72
+ try {
73
+ const apiPath = _AppConstant.AppConstant.getApiUrlFromManifest("getOtp");
74
+ const getOtpApi = (0, _commonUtils.replaceStringWithParams)(apiPath, {
75
+ "<source>": `${source}`
76
+ });
77
+ const resObj = await (0, _commonUtils.fetchWithHeaders)(getOtpApi, _serviceCommonHandler.serviceConsts.method.post, {});
78
+ if (resObj.status) {
79
+ countdownTimeStart();
80
+ setOtpStatus(true);
81
+ } else {
82
+ dispatch((0, _action.setApiError)("Something went wrong", true));
83
+ }
84
+ } catch (err) {
85
+ (0, _commonUtils.handleError)(err);
86
+ }
87
+ };
88
+ const fetchVerifyOtp = async () => {
89
+ setIsInputEnabled(false);
90
+ try {
91
+ const payload = {
92
+ otp: otp
93
+ };
94
+ const api = _AppConstant.AppConstant.getApiUrlFromManifest("verifyOtp");
95
+ const verifyOtpApi = (0, _commonUtils.replaceStringWithParams)(api, {
96
+ "<source>": `${source}`
97
+ });
98
+ const responseObj = await (0, _commonUtils.fetchWithHeaders)(verifyOtpApi, _serviceCommonHandler.serviceConsts.method.post, payload);
99
+ if (responseObj) {
100
+ setOtpStatus(responseObj === null || responseObj === void 0 ? void 0 : responseObj.status);
101
+ if (responseObj !== null && responseObj !== void 0 && responseObj.status && source === "MSALES") {
102
+ closeModal();
103
+ dispatch((0, _action2.paymentSummary)({
104
+ payment: true
105
+ }));
106
+ dispatch((0, _action2.ftvBoxStatus)(false));
107
+ navigation.navigate(_RoutesConstants.RoutesConstants.PaymentStatus);
108
+ } else if (responseObj !== null && responseObj !== void 0 && responseObj.status && journey === "ZEROAPPSELECTION") {
109
+ closeModal();
110
+ // TODO pageData?.getPlans();
111
+ } else if (responseObj !== null && responseObj !== void 0 && responseObj.status) {
112
+ closeModal();
113
+ (0, _commonUtils.fetchSendLinkApi)(pageData);
114
+ } else {
115
+ setIsInputEnabled(true);
116
+ setOtpStatus(false);
117
+ clearInterval(intervalRef.current);
118
+ setOtp("");
119
+ setDisableButton(false);
120
+ }
121
+ }
122
+ } catch (err) {
123
+ setIsInputEnabled(true);
124
+ (0, _commonUtils.handleError)(err);
125
+ }
126
+ };
127
+ const resendButton = () => {
128
+ if (disableButton) return;
129
+ fetchOtpApi();
130
+ setOtp("");
131
+ };
132
+ const closeModal = () => {
133
+ if ((0, _commonUtils.isTablet)()) {
134
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(scaleAnim, {
135
+ toValue: 0.8,
136
+ duration: 150,
137
+ useNativeDriver: true
138
+ }), _reactNative.Animated.timing(opacityAnim, {
139
+ toValue: 0,
140
+ duration: 150,
141
+ useNativeDriver: true
142
+ })]).start(() => {
143
+ onClose();
144
+ });
145
+ } else {
146
+ onClose();
147
+ }
148
+ };
149
+ (0, _react.useEffect)(() => {
150
+ if (!(0, _commonUtils.isTablet)()) return;
151
+ _reactNative.Animated.parallel([_reactNative.Animated.spring(scaleAnim, {
152
+ toValue: 1,
153
+ friction: 6,
154
+ useNativeDriver: true
155
+ }), _reactNative.Animated.timing(opacityAnim, {
156
+ toValue: 1,
157
+ duration: 250,
158
+ useNativeDriver: true
159
+ })]).start();
160
+ return () => {
161
+ if (intervalRef.current) {
162
+ clearInterval(intervalRef.current);
163
+ }
164
+ };
165
+ }, []);
166
+ (0, _react.useEffect)(() => {
167
+ countdownTimeStart();
168
+ }, [timer]);
169
+ (0, _react.useEffect)(() => {
170
+ if (!(0, _lodash.isEmpty)(otp) && otp.length === 4) {
171
+ fetchVerifyOtp();
172
+ }
173
+ }, [otp]);
174
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
175
+ style: [styles.container, (0, _commonUtils.isTablet)() && styles.tabletStyle, (0, _commonUtils.isTablet)() && {
176
+ transform: [{
177
+ scale: scaleAnim
178
+ }],
179
+ opacity: opacityAnim
180
+ }]
181
+ }, (0, _commonUtils.isTablet)() && /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
182
+ colors: ["#1a0d2e", "#0f0519"],
183
+ style: styles.backgroundGradient
184
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
185
+ style: styles.header
186
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
187
+ onPress: closeModal,
188
+ activeOpacity: 0.7
189
+ }, (0, _commonUtils.isTablet)() ? /*#__PURE__*/_react.default.createElement(_CrossSvg.default, {
190
+ style: styles.navigationSvg
191
+ }) : /*#__PURE__*/_react.default.createElement(_arrowBack.default, {
192
+ style: styles.navigationSvg
193
+ })), !(0, _commonUtils.isTablet)() && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
194
+ style: styles.bingeLogo
195
+ }, /*#__PURE__*/_react.default.createElement(_BingeLogoSvg.default, {
196
+ width: 100,
197
+ height: 20
198
+ }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
199
+ style: styles.content
200
+ }, (0, _commonUtils.isTablet)() && /*#__PURE__*/_react.default.createElement(_BingeLogoSvg.default, null), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
201
+ style: styles.heading
202
+ }, pageData === null || pageData === void 0 || (_pageData$otpPopup2 = pageData.otpPopup) === null || _pageData$otpPopup2 === void 0 ? void 0 : _pageData$otpPopup2.heading), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
203
+ style: styles.subHeading
204
+ }, (0, _commonUtils.replaceStringWithParams)(pageData === null || pageData === void 0 || (_pageData$otpPopup3 = pageData.otpPopup) === null || _pageData$otpPopup3 === void 0 ? void 0 : _pageData$otpPopup3.subHeading, {
205
+ "!mobNumber!": ["MSERVICE", "MSERVICEFTV"].includes(source) ? (0, _commonUtils.userNumber)(rmn) : rmn
206
+ })), /*#__PURE__*/_react.default.createElement(_OtpInput.default, {
207
+ value: otp,
208
+ onValueChange: setOtp,
209
+ autoFocus: true,
210
+ disabled: !isInputEnabled
211
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
212
+ style: styles.buttonContainer
213
+ }, otpStatus && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
214
+ style: styles.timer
215
+ }, timerDisplay), !otpStatus && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
216
+ style: styles.error
217
+ }, pageData === null || pageData === void 0 || (_pageData$otpPopup4 = pageData.otpPopup) === null || _pageData$otpPopup4 === void 0 ? void 0 : _pageData$otpPopup4.errorBtn), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
218
+ activeOpacity: 0.7,
219
+ hitSlop: {
220
+ top: 20,
221
+ bottom: 20,
222
+ right: 20,
223
+ left: 20
224
+ },
225
+ onPress: resendButton,
226
+ style: styles.resendBtn
227
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
228
+ style: [styles.resendBtnText, disableButton && styles.disableButton]
229
+ }, pageData === null || pageData === void 0 || (_pageData$otpPopup5 = pageData.otpPopup) === null || _pageData$otpPopup5 === void 0 ? void 0 : _pageData$otpPopup5.primaryBtn))));
230
+ };
231
+ var _default = exports.default = OtpPopup;
232
+ const ratio = _AppConstant.AppConstant.dimension.aspectRatio;
233
+ const styles = _reactNative.StyleSheet.create({
234
+ container: {
235
+ padding: 15 * ratio,
236
+ paddingHorizontal: 20 * ratio,
237
+ alignItems: "center"
238
+ },
239
+ header: {
240
+ flexDirection: "row",
241
+ width: "100%",
242
+ alignItems: "center",
243
+ marginBottom: 15 * ratio
244
+ },
245
+ navigationSvg: {
246
+ paddingStart: 20 * ratio,
247
+ width: 50,
248
+ height: 50
249
+ },
250
+ bingeLogo: {
251
+ width: "100%",
252
+ position: "absolute",
253
+ left: 0,
254
+ right: 0,
255
+ alignItems: "center",
256
+ justifyContent: "center"
257
+ },
258
+ backgroundGradient: {
259
+ borderRadius: 14 * ratio,
260
+ position: "absolute",
261
+ top: 0,
262
+ left: 0,
263
+ right: 0,
264
+ bottom: 0
265
+ },
266
+ tabletStyle: {
267
+ width: ratio * 450,
268
+ borderWidth: 1,
269
+ borderColor: "#554372",
270
+ borderRadius: 14 * ratio,
271
+ padding: 25 * ratio
272
+ },
273
+ content: {
274
+ width: "100%",
275
+ alignItems: "center"
276
+ },
277
+ heading: {
278
+ color: "white",
279
+ fontSize: (0, _AppConstant.normalizeFont)(23),
280
+ fontFamily: _fontUtils.FONTS.Medium,
281
+ marginTop: 15 * ratio
282
+ },
283
+ subHeading: {
284
+ fontSize: (0, _AppConstant.normalizeFont)(14),
285
+ color: "white",
286
+ marginVertical: 20 * ratio,
287
+ textAlign: "center",
288
+ fontFamily: _fontUtils.FONTS.Medium
289
+ },
290
+ paymentOptions: {
291
+ gap: 15 * ratio,
292
+ alignItems: "center",
293
+ marginTop: 40 * ratio,
294
+ width: "90%"
295
+ },
296
+ paymentOption: {
297
+ flexDirection: "row",
298
+ alignItems: "center",
299
+ width: "100%",
300
+ justifyContent: "space-between"
301
+ },
302
+ optionText: {
303
+ fontSize: (0, _AppConstant.normalizeFont)(18),
304
+ color: "white",
305
+ fontFamily: _fontUtils.FONTS.Medium,
306
+ marginLeft: 10 * ratio
307
+ },
308
+ balanceText: {
309
+ fontSize: (0, _AppConstant.normalizeFont)(18),
310
+ color: "#8e82a1",
311
+ fontFamily: _fontUtils.FONTS.Medium,
312
+ marginLeft: 10 * ratio
313
+ },
314
+ buttonContainer: {
315
+ flexDirection: "row",
316
+ width: "100%",
317
+ justifyContent: "space-between",
318
+ alignItems: "center",
319
+ marginTop: 25 * ratio,
320
+ paddingHorizontal: 20 * ratio
321
+ },
322
+ error: {
323
+ color: "#e53835cf",
324
+ fontSize: (0, _AppConstant.normalizeFont)(14),
325
+ fontFamily: _fontUtils.FONTS.Medium,
326
+ alignSelf: "baseline"
327
+ },
328
+ resendBtn: {
329
+ alignItems: "center",
330
+ justifyContent: "center"
331
+ },
332
+ resendBtnText: {
333
+ fontSize: (0, _AppConstant.normalizeFont)(14),
334
+ color: "#f1cae1",
335
+ fontFamily: _fontUtils.FONTS.Medium
336
+ },
337
+ disableButton: {
338
+ color: "#574154ff"
339
+ },
340
+ timer: {
341
+ fontSize: (0, _AppConstant.normalizeFont)(14),
342
+ color: "white",
343
+ fontFamily: _fontUtils.FONTS.Medium
344
+ }
345
+ });
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _reactNative = require("react-native");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactRedux = require("react-redux");
11
+ var _AppConstant = require("../../../assets/AppConstant");
12
+ var _commonUtils = require("../../../utils/commonUtils");
13
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
14
+ var _fontUtils = require("../../../utils/fontUtils");
15
+ var _PrimaryButton = _interopRequireDefault(require("../../Buttons/PrimaryButton/PrimaryButton"));
16
+ var _action = require("../../../services/global/action");
17
+ var _serviceCommonHandler = require("../../../services/serviceCommonHandler");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ const PlanCancelledPopUp = ({
20
+ pageData,
21
+ modalData,
22
+ redirect: setMyPlanData,
23
+ endDate
24
+ }) => {
25
+ var _pageData$planCancell, _pageData$planCancell2, _pageData$planCancell3, _pageData$planCancell4, _pageData$planCancell5, _pageData$planCancell6;
26
+ const dispatch = (0, _reactRedux.useDispatch)();
27
+ const {
28
+ createSessionResponse
29
+ } = (0, _reactRedux.useSelector)(state => state.manageAppReducer);
30
+ const {
31
+ source = ""
32
+ } = createSessionResponse;
33
+ const scaleAnim = (0, _reactNative.useAnimatedValue)(0.8);
34
+ const opacityAnim = (0, _reactNative.useAnimatedValue)(0);
35
+ (0, _react.useEffect)(() => {
36
+ _reactNative.Animated.parallel([_reactNative.Animated.spring(scaleAnim, {
37
+ toValue: 1,
38
+ friction: 6,
39
+ useNativeDriver: true
40
+ }), _reactNative.Animated.timing(opacityAnim, {
41
+ toValue: 1,
42
+ duration: 250,
43
+ useNativeDriver: true
44
+ })]).start();
45
+ }, [scaleAnim, opacityAnim]);
46
+ const closeModal = () => {
47
+ // Object.keys(modalData).forEach(key => delete modalData[key]);
48
+
49
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(scaleAnim, {
50
+ toValue: 0.8,
51
+ duration: 200,
52
+ useNativeDriver: true
53
+ }), _reactNative.Animated.timing(opacityAnim, {
54
+ toValue: 0,
55
+ duration: 200,
56
+ useNativeDriver: true
57
+ })]).start(() => {
58
+ fetchMyPlanApi();
59
+ dispatch((0, _action.hideModal)());
60
+ });
61
+ };
62
+ const fetchMyPlanApi = async () => {
63
+ dispatch((0, _action.showLoader)());
64
+ try {
65
+ const api = _AppConstant.AppConstant.getApiUrlFromManifest("myPlanApi");
66
+ const apiPath = (0, _commonUtils.replaceStringWithParams)(api, {
67
+ "<source>": `${source}`
68
+ });
69
+ const response = await (0, _commonUtils.fetchWithHeaders)(apiPath, _serviceCommonHandler.serviceConsts.method.get);
70
+ const responseObj = response;
71
+ if (responseObj && responseObj !== null && responseObj !== void 0 && responseObj.status) {
72
+ setMyPlanData(responseObj === null || responseObj === void 0 ? void 0 : responseObj.data);
73
+ }
74
+ } catch (err) {
75
+ (0, _commonUtils.handleError)(err, dispatch);
76
+ } finally {
77
+ dispatch((0, _action.hideLoader)());
78
+ }
79
+ };
80
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
81
+ style: [styles.mainContainer, {
82
+ transform: [{
83
+ scale: scaleAnim
84
+ }],
85
+ opacity: opacityAnim
86
+ }]
87
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
88
+ colors: ["#200042", "#170134ff", "#0a0013ff"],
89
+ start: {
90
+ x: 0,
91
+ y: 0
92
+ },
93
+ end: {
94
+ x: 1,
95
+ y: 0
96
+ },
97
+ style: styles.backgroundGradient
98
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
99
+ source: {
100
+ uri: pageData === null || pageData === void 0 || (_pageData$planCancell = pageData.planCancelledPopup) === null || _pageData$planCancell === void 0 || (_pageData$planCancell = _pageData$planCancell.successImage) === null || _pageData$planCancell === void 0 ? void 0 : _pageData$planCancell.url
101
+ },
102
+ style: styles.successImage
103
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
104
+ style: styles.textContainer
105
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
106
+ style: styles.heading
107
+ }, pageData === null || pageData === void 0 || (_pageData$planCancell2 = pageData.planCancelledPopup) === null || _pageData$planCancell2 === void 0 ? void 0 : _pageData$planCancell2.smallDesc), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
108
+ style: styles.subHeading
109
+ }, (0, _commonUtils.replaceStringWithParams)(pageData === null || pageData === void 0 || (_pageData$planCancell3 = pageData.planCancelledPopup) === null || _pageData$planCancell3 === void 0 ? void 0 : _pageData$planCancell3.longDesc, {
110
+ "!date!": endDate || ""
111
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
112
+ style: styles.modalNotice
113
+ }, pageData === null || pageData === void 0 || (_pageData$planCancell4 = pageData.planCancelledPopup) === null || _pageData$planCancell4 === void 0 ? void 0 : _pageData$planCancell4.notice, " ", /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
114
+ style: styles.semiBold
115
+ }, (0, _commonUtils.replaceStringWithParams)(pageData === null || pageData === void 0 || (_pageData$planCancell5 = pageData.planCancelledPopup) === null || _pageData$planCancell5 === void 0 ? void 0 : _pageData$planCancell5.date, {
116
+ "!date!": endDate || ""
117
+ })))), /*#__PURE__*/_react.default.createElement(_PrimaryButton.default, {
118
+ title: pageData === null || pageData === void 0 || (_pageData$planCancell6 = pageData.planCancelledPopup) === null || _pageData$planCancell6 === void 0 ? void 0 : _pageData$planCancell6.primaryBtn,
119
+ onPress: closeModal,
120
+ style: styles.button
121
+ }));
122
+ };
123
+ var _default = exports.default = PlanCancelledPopUp;
124
+ const ratio = _AppConstant.AppConstant.dimension.aspectRatio;
125
+ const styles = _reactNative.StyleSheet.create({
126
+ mainContainer: {
127
+ width: ratio * ((0, _commonUtils.isTablet)() ? 450 : 340),
128
+ justifyContent: "center",
129
+ alignItems: "center",
130
+ paddingHorizontal: 20 * ratio,
131
+ paddingTop: 25 * ratio,
132
+ borderWidth: 1,
133
+ borderColor: "#554372",
134
+ borderRadius: 14 * ratio,
135
+ marginHorizontal: 10 * ratio
136
+ },
137
+ backgroundGradient: {
138
+ borderRadius: 14 * ratio,
139
+ position: "absolute",
140
+ top: 0,
141
+ left: 0,
142
+ right: 0,
143
+ bottom: 0
144
+ },
145
+ successImage: {
146
+ width: 50 * ratio,
147
+ height: 50 * ratio,
148
+ marginBottom: 15 * ratio
149
+ },
150
+ heading: {
151
+ fontSize: (0, _AppConstant.normalizeFont)(22),
152
+ lineHeight: (0, _AppConstant.normalizeFont)(22),
153
+ fontFamily: _fontUtils.FONTS.Medium,
154
+ color: "white",
155
+ textAlign: "center",
156
+ marginBottom: 15 * ratio
157
+ },
158
+ subHeading: {
159
+ fontSize: (0, _AppConstant.normalizeFont)(16),
160
+ lineHeight: (0, _AppConstant.normalizeFont)(16),
161
+ fontFamily: _fontUtils.FONTS.Medium,
162
+ color: "#D6C6F4",
163
+ textAlign: "center",
164
+ marginBottom: 15 * ratio
165
+ },
166
+ textContainer: {
167
+ paddingHorizontal: 15 * ratio
168
+ },
169
+ modalNotice: {
170
+ fontSize: (0, _AppConstant.normalizeFont)(16),
171
+ lineHeight: (0, _AppConstant.normalizeFont)(16),
172
+ fontFamily: _fontUtils.FONTS.Medium,
173
+ color: "#D6C6F4",
174
+ textAlign: "center",
175
+ marginBottom: 15 * ratio
176
+ },
177
+ semiBold: {
178
+ fontFamily: _fontUtils.FONTS.SemiBold
179
+ },
180
+ button: {
181
+ marginBottom: 15 * ratio
182
+ }
183
+ });
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _reactNative = require("react-native");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _commonUtils = require("../../../utils/commonUtils");
11
+ var _AppConstant = require("../../../assets/AppConstant");
12
+ var _PrimaryButton = _interopRequireDefault(require("../../Buttons/PrimaryButton/PrimaryButton"));
13
+ var _reactRedux = require("react-redux");
14
+ var _action = require("../../../services/global/action");
15
+ var _fontUtils = require("../../../utils/fontUtils");
16
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
+ const PlanDetailPopup = ({
19
+ modalData
20
+ }) => {
21
+ var _modalData$alertImage, _modalData$alertImage2;
22
+ const dispatch = (0, _reactRedux.useDispatch)();
23
+ const scaleAnim = (0, _reactNative.useAnimatedValue)(0.8);
24
+ const opacityAnim = (0, _reactNative.useAnimatedValue)(0);
25
+ (0, _react.useEffect)(() => {
26
+ _reactNative.Animated.parallel([_reactNative.Animated.spring(scaleAnim, {
27
+ toValue: 1,
28
+ friction: 6,
29
+ useNativeDriver: true
30
+ }), _reactNative.Animated.timing(opacityAnim, {
31
+ toValue: 1,
32
+ duration: 250,
33
+ useNativeDriver: true
34
+ })]).start();
35
+ }, [scaleAnim, opacityAnim]);
36
+ const handleClose = () => {
37
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(scaleAnim, {
38
+ toValue: 0.8,
39
+ duration: 150,
40
+ useNativeDriver: true
41
+ }), _reactNative.Animated.timing(opacityAnim, {
42
+ toValue: 0,
43
+ duration: 150,
44
+ useNativeDriver: true
45
+ })]).start(() => {
46
+ dispatch((0, _action.hideModal)());
47
+ });
48
+ };
49
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
50
+ style: [styles.mainContainer, {
51
+ transform: [{
52
+ scale: scaleAnim
53
+ }],
54
+ opacity: opacityAnim
55
+ }]
56
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
57
+ colors: ["#200042", "#170134ff", "#0a0013ff"],
58
+ start: {
59
+ x: 0,
60
+ y: 0
61
+ },
62
+ end: {
63
+ x: 1,
64
+ y: 0
65
+ },
66
+ style: styles.backgroundGradient
67
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
68
+ source: {
69
+ uri: (modalData === null || modalData === void 0 || (_modalData$alertImage = modalData.alertImage) === null || _modalData$alertImage === void 0 ? void 0 : _modalData$alertImage.url) || (modalData === null || modalData === void 0 || (_modalData$alertImage2 = modalData.alertImage) === null || _modalData$alertImage2 === void 0 ? void 0 : _modalData$alertImage2.alt)
70
+ },
71
+ style: styles.alertImage
72
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
73
+ style: styles.heading
74
+ }, modalData === null || modalData === void 0 ? void 0 : modalData.heading), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
75
+ style: styles.subHeading
76
+ }, modalData === null || modalData === void 0 ? void 0 : modalData.subHeading), /*#__PURE__*/_react.default.createElement(_PrimaryButton.default, {
77
+ title: modalData === null || modalData === void 0 ? void 0 : modalData.primaryBtn,
78
+ onPress: handleClose
79
+ }));
80
+ };
81
+ var _default = exports.default = PlanDetailPopup;
82
+ const ratio = _AppConstant.AppConstant.dimension.aspectRatio;
83
+ const styles = _reactNative.StyleSheet.create({
84
+ mainContainer: {
85
+ width: ratio * ((0, _commonUtils.isTablet)() ? 450 : 340),
86
+ justifyContent: "center",
87
+ alignItems: "center",
88
+ paddingVertical: 20 * ratio,
89
+ paddingHorizontal: 20 * ratio,
90
+ borderWidth: 1,
91
+ borderColor: "#554372",
92
+ borderRadius: 14 * ratio,
93
+ marginHorizontal: 10 * ratio
94
+ },
95
+ alertImage: {
96
+ width: 40 * ratio,
97
+ height: 40 * ratio
98
+ },
99
+ backgroundGradient: {
100
+ borderRadius: 14 * ratio,
101
+ position: "absolute",
102
+ top: 0,
103
+ left: 0,
104
+ right: 0,
105
+ bottom: 0
106
+ },
107
+ heading: {
108
+ fontSize: (0, _AppConstant.normalizeFont)(22),
109
+ color: "white",
110
+ textAlign: "center",
111
+ fontFamily: _fontUtils.FONTS.SemiBold,
112
+ marginVertical: 10 * ratio
113
+ },
114
+ subHeading: {
115
+ fontSize: (0, _AppConstant.normalizeFont)(14),
116
+ color: "#d7c6f4",
117
+ marginBottom: 10 * ratio,
118
+ textAlign: "center",
119
+ fontFamily: _fontUtils.FONTS.Medium
120
+ }
121
+ });