tf-checkout-react-native 1.0.24 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +340 -32
- package/lib/api/ApiClient.d.ts +2 -5
- package/lib/api/ApiClient.js +70 -23
- package/lib/api/ApiClient.js.map +1 -1
- package/lib/api/types.d.ts +38 -26
- package/lib/api/types.js +1 -0
- package/lib/api/types.js.map +1 -1
- package/lib/components/login/Login.js +7 -4
- package/lib/components/login/Login.js.map +1 -1
- package/lib/components/login/types.d.ts +6 -1
- package/lib/components/stripePayment/StripePayment.js +2 -1
- package/lib/components/stripePayment/StripePayment.js.map +1 -1
- package/lib/components/stripePayment/styles.d.ts +6 -0
- package/lib/components/stripePayment/styles.js +7 -0
- package/lib/components/stripePayment/styles.js.map +1 -0
- package/lib/components/waitingList/WaitingList.d.ts +3 -2
- package/lib/components/waitingList/WaitingList.js +23 -3
- package/lib/components/waitingList/WaitingList.js.map +1 -1
- package/lib/containers/billingInfo/Billing.d.ts +3 -2
- package/lib/containers/billingInfo/Billing.js +238 -118
- package/lib/containers/billingInfo/Billing.js.map +1 -1
- package/lib/containers/billingInfo/types.d.ts +6 -5
- package/lib/containers/checkout/Checkout.d.ts +3 -2
- package/lib/containers/checkout/Checkout.js +147 -106
- package/lib/containers/checkout/Checkout.js.map +1 -1
- package/lib/containers/myOrderDetails/MyOrderDetails.d.ts +3 -2
- package/lib/containers/myOrderDetails/MyOrderDetails.js +34 -9
- package/lib/containers/myOrderDetails/MyOrderDetails.js.map +1 -1
- package/lib/containers/myOrders/MyOrders.d.ts +3 -2
- package/lib/containers/myOrders/MyOrders.js +40 -11
- package/lib/containers/myOrders/MyOrders.js.map +1 -1
- package/lib/containers/purchaseConfirmation/PurchaseConfirmation.d.ts +3 -2
- package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js +54 -18
- package/lib/containers/purchaseConfirmation/PurchaseConfirmation.js.map +1 -1
- package/lib/containers/resaleTickets/ResaleTickets.d.ts +3 -2
- package/lib/containers/resaleTickets/ResaleTickets.js +32 -11
- package/lib/containers/resaleTickets/ResaleTickets.js.map +1 -1
- package/lib/containers/tickets/Tickets.d.ts +3 -2
- package/lib/containers/tickets/Tickets.js +41 -11
- package/lib/containers/tickets/Tickets.js.map +1 -1
- package/lib/containers/tickets/TicketsView.js +0 -1
- package/lib/containers/tickets/TicketsView.js.map +1 -1
- package/lib/core/BillingCore/BillingCore.js +4 -0
- package/lib/core/BillingCore/BillingCore.js.map +1 -1
- package/lib/core/BillingCore/BillingCoreTypes.d.ts +3 -1
- package/lib/core/CheckoutCore/CheckoutCore.js +4 -0
- package/lib/core/CheckoutCore/CheckoutCore.js.map +1 -1
- package/lib/core/CheckoutCore/CheckoutCoreTypes.d.ts +3 -1
- package/lib/core/LoginCore/LoginCore.js +10 -18
- package/lib/core/LoginCore/LoginCore.js.map +1 -1
- package/lib/core/LoginCore/LoginCoreHelper.d.ts +2 -0
- package/lib/core/LoginCore/LoginCoreHelper.js +19 -0
- package/lib/core/LoginCore/LoginCoreHelper.js.map +1 -0
- package/lib/core/LoginCore/LoginCoreTypes.d.ts +3 -2
- package/lib/core/MyOrdersCore/MyOrdersCore.d.ts +3 -1
- package/lib/core/MyOrdersCore/MyOrdersCore.js +4 -0
- package/lib/core/MyOrdersCore/MyOrdersCore.js.map +1 -1
- package/lib/core/MyOrdersCore/MyOrdersCoreTypes.d.ts +3 -1
- package/lib/core/OrderDetailsCore/OrderDetailsCore.d.ts +2 -2
- package/lib/core/OrderDetailsCore/OrderDetailsCore.js +4 -0
- package/lib/core/OrderDetailsCore/OrderDetailsCore.js.map +1 -1
- package/lib/core/OrderDetailsCore/OrderDetailsCoreTypes.d.ts +4 -2
- package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCore.js +4 -0
- package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCore.js.map +1 -1
- package/lib/core/PurchaseConfirmationCore/PurchaseConfirmationCoreTypes.d.ts +3 -1
- package/lib/core/Session/SessionCoreTypes.d.ts +8 -0
- package/lib/core/Session/SessionCoreTypes.js +2 -0
- package/lib/core/Session/SessionCoreTypes.js.map +1 -0
- package/lib/core/Session/SessionHandle.d.ts +5 -0
- package/lib/core/Session/SessionHandle.js +16 -0
- package/lib/core/Session/SessionHandle.js.map +1 -0
- package/lib/core/TicketsCore/TicketsCore.js +4 -0
- package/lib/core/TicketsCore/TicketsCore.js.map +1 -1
- package/lib/core/TicketsCore/TicketsCoreTypes.d.ts +3 -1
- package/lib/core/WaitingListCore/WaitingListCore.js +4 -0
- package/lib/core/WaitingListCore/WaitingListCore.js.map +1 -1
- package/lib/core/WaitingListCore/WaitingListCoreTypes.d.ts +3 -1
- package/lib/core/index.d.ts +3 -1
- package/lib/core/index.js +1 -0
- package/lib/core/index.js.map +1 -1
- package/lib/helpers/LocalStorage.d.ts +2 -0
- package/lib/helpers/LocalStorage.js +6 -0
- package/lib/helpers/LocalStorage.js.map +1 -1
- package/lib/helpers/RefreshAccessToken.d.ts +2 -0
- package/lib/helpers/RefreshAccessToken.js +20 -0
- package/lib/helpers/RefreshAccessToken.js.map +1 -0
- package/lib/helpers/StringsHelper.d.ts +1 -0
- package/lib/helpers/StringsHelper.js +1 -0
- package/lib/helpers/StringsHelper.js.map +1 -1
- package/lib/helpers/Validators.js.map +1 -1
- package/lib/index.d.ts +9 -3
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/types/IEvent.d.ts +5 -0
- package/lib/types/ITicket.d.ts +2 -0
- package/package.json +1 -1
- package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
- package/android/.gradle/7.4.2/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/7.4.2/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.4.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.4.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.4.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.4.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/ios/TFCheckoutRNModule.xcodeproj/project.xcworkspace/xcuserdata/jorgegutierrez.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/TFCheckoutRNModule.xcodeproj/xcshareddata/xcschemes/TFCheckoutRNModule.xcscheme +0 -67
|
@@ -1,25 +1,49 @@
|
|
|
1
1
|
import _find from 'lodash/find';
|
|
2
2
|
import _forEach from 'lodash/forEach';
|
|
3
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
4
4
|
import { Alert, PermissionsAndroid, Platform } from 'react-native';
|
|
5
5
|
import { DocumentDirectoryPath, DownloadDirectoryPath, downloadFile, } from 'react-native-fs';
|
|
6
|
-
import { OrderDetailsCore } from '../../core';
|
|
6
|
+
import { OrderDetailsCore, SessionHandle } from '../../core';
|
|
7
7
|
import { getData, LocalStorageKeys } from '../../helpers/LocalStorage';
|
|
8
8
|
import MyOrderDetailsView from './MyOrderDetailsView';
|
|
9
|
-
const MyOrderDetails = ({ data, styles, texts, config, onDownloadStatusChange, downloadStatusIcons, onAndroidWritePermission, onLinkCopied, onPressResaleTicket, onRemoveTicketFromResaleSuccess, onRemoveTicketFromResaleError, moreButtonIcon, ticketActionsIcons, }) => {
|
|
9
|
+
const MyOrderDetails = forwardRef(({ data, styles, texts, config, onDownloadStatusChange, downloadStatusIcons, onAndroidWritePermission, onLinkCopied, onPressResaleTicket, onRemoveTicketFromResaleSuccess, onRemoveTicketFromResaleError, moreButtonIcon, ticketActionsIcons, }, ref) => {
|
|
10
|
+
//#region State
|
|
10
11
|
const [isWriteStorageEnabled, setIsWriteStorageEnabled] = useState(undefined);
|
|
11
12
|
const [isLinkCopied, setIsLinkCopied] = useState(false);
|
|
12
13
|
const [downloadStatus, setDownloadStatus] = useState(undefined);
|
|
13
14
|
const [orderInfo, setOrderInfo] = useState(data);
|
|
14
15
|
const [isLoading, setIsLoading] = useState(false);
|
|
15
16
|
const [selectedTicket, setSelectedTicket] = useState(undefined);
|
|
17
|
+
//#endregion State
|
|
16
18
|
//#region refs
|
|
19
|
+
const sessionHandleRef = useRef(null);
|
|
17
20
|
const myOrderDetailsCoreRef = useRef(null);
|
|
18
21
|
const bottomSheetModalRef = useRef(null);
|
|
19
22
|
//#endregion
|
|
20
23
|
const handleOnDownloadStatusChange = useCallback((status) => {
|
|
21
24
|
onDownloadStatusChange === null || onDownloadStatusChange === void 0 ? void 0 : onDownloadStatusChange(status);
|
|
22
25
|
}, [onDownloadStatusChange]);
|
|
26
|
+
//#region Imperative Handler
|
|
27
|
+
useImperativeHandle(ref, () => ({
|
|
28
|
+
async refreshAccessToken(refreshToken) {
|
|
29
|
+
if (!sessionHandleRef.current) {
|
|
30
|
+
return {
|
|
31
|
+
accessTokenError: {
|
|
32
|
+
message: 'Session Handle ref is not initialized',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const { accessTokenError, accessTokenData } = await sessionHandleRef.current.refreshAccessToken(refreshToken);
|
|
37
|
+
return {
|
|
38
|
+
accessTokenData,
|
|
39
|
+
accessTokenError,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
async reloadData() { },
|
|
43
|
+
async removeTicketFromResale() { },
|
|
44
|
+
async resaleTicket() { },
|
|
45
|
+
}));
|
|
46
|
+
//#endregion Imperative Handler
|
|
23
47
|
//#region Handlers
|
|
24
48
|
const handleOnPressTicketDownload = async ({ hash, pdfLink, }) => {
|
|
25
49
|
const accessToken = await getData(LocalStorageKeys.ACCESS_TOKEN);
|
|
@@ -133,7 +157,7 @@ const MyOrderDetails = ({ data, styles, texts, config, onDownloadStatusChange, d
|
|
|
133
157
|
onLinkCopied === null || onLinkCopied === void 0 ? void 0 : onLinkCopied(false);
|
|
134
158
|
}, 3000);
|
|
135
159
|
};
|
|
136
|
-
//#endregion
|
|
160
|
+
//#endregion Handlers
|
|
137
161
|
//#region Effects
|
|
138
162
|
useEffect(() => {
|
|
139
163
|
handleOnDownloadStatusChange(downloadStatus);
|
|
@@ -157,11 +181,12 @@ const MyOrderDetails = ({ data, styles, texts, config, onDownloadStatusChange, d
|
|
|
157
181
|
}
|
|
158
182
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
159
183
|
}, [isWriteStorageEnabled]);
|
|
160
|
-
//#endregion
|
|
161
|
-
//#region
|
|
184
|
+
//#endregion Effects
|
|
185
|
+
//#region RENDER
|
|
162
186
|
return (React.createElement(OrderDetailsCore, { ref: myOrderDetailsCoreRef },
|
|
163
|
-
React.createElement(
|
|
164
|
-
|
|
165
|
-
|
|
187
|
+
React.createElement(SessionHandle, { ref: sessionHandleRef },
|
|
188
|
+
React.createElement(MyOrderDetailsView, { data: data, styles: styles, texts: texts, isLinkCopied: isLinkCopied, onPressCopyLink: handleOnPressCopyLink, onPressTicketDownload: handleOnPressTicketDownload, downloadStatus: downloadStatus, config: config, downloadStatusIcons: downloadStatusIcons, onPressResaleTicket: handleOnPressResaleTicket, onPressRemoveTicketFromResale: askToRemoveTicketFromResale, isLoading: isLoading, moreButtonIcon: moreButtonIcon, onTicketSelection: setSelectedTicket, selectedTicket: selectedTicket, onActionSelected: handleOnActionSelected, ticketActionsIcons: ticketActionsIcons, bottomSheetModalRef: bottomSheetModalRef }))));
|
|
189
|
+
//#endregion RENDER
|
|
190
|
+
});
|
|
166
191
|
export default MyOrderDetails;
|
|
167
192
|
//# sourceMappingURL=MyOrderDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyOrderDetails.js","sourceRoot":"","sources":["../../../src/containers/myOrderDetails/MyOrderDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"MyOrderDetails.js","sourceRoot":"","sources":["../../../src/containers/myOrderDetails/MyOrderDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SessionHandleType } from '../../core/Session/SessionCoreTypes';
|
|
2
3
|
import { IMyOrdersProps } from './types';
|
|
3
|
-
declare const MyOrders:
|
|
4
|
+
declare const MyOrders: React.ForwardRefExoticComponent<IMyOrdersProps & React.RefAttributes<SessionHandleType>>;
|
|
4
5
|
export default MyOrders;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _map from 'lodash/map';
|
|
2
2
|
import _sortBy from 'lodash/sortBy';
|
|
3
3
|
import _uniqBy from 'lodash/uniqBy';
|
|
4
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
5
5
|
import { Alert } from 'react-native';
|
|
6
|
-
import { MyOrdersCore } from '../../core';
|
|
6
|
+
import { MyOrdersCore, SessionHandle } from '../../core';
|
|
7
7
|
import MyOrdersView from './MyOrdersView';
|
|
8
|
-
const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersError, onFetchMyOrdersSuccess, onFetchOrderDetailsSuccess, onLoadingChange, styles, texts, config, }) => {
|
|
8
|
+
const MyOrders = forwardRef(({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersError, onFetchMyOrdersSuccess, onFetchOrderDetailsSuccess, onLoadingChange, styles, texts, config, }, ref) => {
|
|
9
9
|
//#region State
|
|
10
10
|
const [isLoading, setIsLoading] = useState(true);
|
|
11
11
|
const [isGettingEventDetails, setIsGettingEventDetails] = useState(false);
|
|
@@ -19,6 +19,7 @@ const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersErro
|
|
|
19
19
|
//#region Refs
|
|
20
20
|
const currentPage = useRef(1);
|
|
21
21
|
const myOrdersCoreRef = useRef(null);
|
|
22
|
+
const sessionHandleRef = useRef(null);
|
|
22
23
|
//#endregion
|
|
23
24
|
const showAlert = (text) => {
|
|
24
25
|
if (config === null || config === void 0 ? void 0 : config.areAlertsEnabled) {
|
|
@@ -35,6 +36,7 @@ const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersErro
|
|
|
35
36
|
}
|
|
36
37
|
return true;
|
|
37
38
|
};
|
|
39
|
+
//#region Fetch data
|
|
38
40
|
const getOrdersAsync = async () => {
|
|
39
41
|
if (!isMyOrdersCoreRefReady()) {
|
|
40
42
|
return;
|
|
@@ -75,10 +77,31 @@ const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersErro
|
|
|
75
77
|
const uniqOrders = _uniqBy([...myOrders, ...(fetchedOrders !== null && fetchedOrders !== void 0 ? fetchedOrders : [])], (item) => item.id);
|
|
76
78
|
setMyOrders(uniqOrders);
|
|
77
79
|
};
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
//#endregion Fetch data
|
|
81
|
+
//#region Imperative Handler
|
|
82
|
+
useImperativeHandle(ref, () => ({
|
|
83
|
+
async refreshAccessToken(refreshToken) {
|
|
84
|
+
if (!sessionHandleRef.current) {
|
|
85
|
+
return {
|
|
86
|
+
accessTokenError: {
|
|
87
|
+
message: 'Session Handle ref is not initialized',
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const { accessTokenError, accessTokenData } = await sessionHandleRef.current.refreshAccessToken(refreshToken);
|
|
92
|
+
if (!accessTokenError && (accessTokenData === null || accessTokenData === void 0 ? void 0 : accessTokenData.accessToken)) {
|
|
93
|
+
await getOrders();
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
accessTokenData,
|
|
97
|
+
accessTokenError,
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
async reloadData() {
|
|
101
|
+
await getOrders();
|
|
102
|
+
},
|
|
103
|
+
}));
|
|
104
|
+
//#endregion Imperative Handler
|
|
82
105
|
//#region Handlers
|
|
83
106
|
const handleOnLoadingChange = useCallback((loading) => {
|
|
84
107
|
onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(loading);
|
|
@@ -104,7 +127,8 @@ const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersErro
|
|
|
104
127
|
setIsGettingEventDetails(true);
|
|
105
128
|
const { orderDetailsData, orderDetailsError } = await myOrdersCoreRef.current.getOrderDetails(order.id);
|
|
106
129
|
setIsGettingEventDetails(false);
|
|
107
|
-
if ((!orderDetailsData || orderDetailsError) &&
|
|
130
|
+
if ((!orderDetailsData || orderDetailsError) &&
|
|
131
|
+
onFetchOrderDetailsError) {
|
|
108
132
|
showAlert((_a = orderDetailsError === null || orderDetailsError === void 0 ? void 0 : orderDetailsError.message) !== null && _a !== void 0 ? _a : 'Error fetching order details');
|
|
109
133
|
return onFetchOrderDetailsError(orderDetailsError || {
|
|
110
134
|
message: 'Order details returned no data',
|
|
@@ -127,9 +151,14 @@ const MyOrders = ({ onSelectOrder, onFetchOrderDetailsError, onFetchMyOrdersErro
|
|
|
127
151
|
_fetchMyOrders();
|
|
128
152
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
129
153
|
}, []);
|
|
130
|
-
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
getOrders();
|
|
156
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
157
|
+
}, [selectedEvent]);
|
|
158
|
+
//#endregion useEffect
|
|
131
159
|
return (React.createElement(MyOrdersCore, { ref: myOrdersCoreRef },
|
|
132
|
-
React.createElement(
|
|
133
|
-
};
|
|
160
|
+
React.createElement(SessionHandle, { ref: sessionHandleRef },
|
|
161
|
+
React.createElement(MyOrdersView, { myEvents: myEvents, selectedEvent: selectedEvent, onChangeEvent: handleOnChangeEvent, myOrders: myOrders, onSelectOrder: handleOnSelectOrder, onRefresh: getOrders, isLoading: isLoading, isGettingEventDetails: isGettingEventDetails, styles: styles, config: config, onFetchMoreOrders: handleOnFetchMoreOrders, texts: texts }))));
|
|
162
|
+
});
|
|
134
163
|
export default MyOrders;
|
|
135
164
|
//# sourceMappingURL=MyOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyOrders.js","sourceRoot":"","sources":["../../../src/containers/myOrders/MyOrders.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"MyOrders.js","sourceRoot":"","sources":["../../../src/containers/myOrders/MyOrders.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SessionHandleType } from '../../core/Session/SessionCoreTypes';
|
|
2
3
|
import { IPurchaseConfirmationProps } from './types';
|
|
3
|
-
declare const PurchaseConfirmation:
|
|
4
|
+
declare const PurchaseConfirmation: React.ForwardRefExoticComponent<IPurchaseConfirmationProps & React.RefAttributes<SessionHandleType>>;
|
|
4
5
|
export default PurchaseConfirmation;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
1
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
2
2
|
import { Alert } from 'react-native';
|
|
3
|
-
import { PurchaseConfirmationCore, } from '../../core';
|
|
3
|
+
import { PurchaseConfirmationCore, SessionHandle, } from '../../core';
|
|
4
4
|
import PurchaseConfirmationView from './PurchaseConfirmationView';
|
|
5
|
-
const PurchaseConfirmation = ({ orderHash, onComplete, styles, texts, onFetchPurchaseConfirmationError, onFetchPurchaseConfirmationSuccess, onLoadingChange, areActivityIndicatorsEnabled, areAlertsEnabled, }) => {
|
|
5
|
+
const PurchaseConfirmation = forwardRef(({ orderHash, onComplete, styles, texts, onFetchPurchaseConfirmationError, onFetchPurchaseConfirmationSuccess, onLoadingChange, areActivityIndicatorsEnabled, areAlertsEnabled, }, ref) => {
|
|
6
|
+
//#region State
|
|
6
7
|
const [isLoading, setIsLoading] = useState(false);
|
|
8
|
+
//#endregion State
|
|
7
9
|
const showAlert = (text) => {
|
|
8
10
|
areAlertsEnabled && Alert.alert(text);
|
|
9
11
|
};
|
|
@@ -17,32 +19,66 @@ const PurchaseConfirmation = ({ orderHash, onComplete, styles, texts, onFetchPur
|
|
|
17
19
|
}
|
|
18
20
|
return true;
|
|
19
21
|
};
|
|
22
|
+
//#region Fetch data
|
|
23
|
+
const getInitialData = async () => {
|
|
24
|
+
if (!isPurchaseConfirmationCoreRefReady()) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
setIsLoading(true);
|
|
28
|
+
const { purchaseConfirmationError } = await purchaseConfirmationCoreRef.current.getPurchaseConfirmation(orderHash);
|
|
29
|
+
setIsLoading(false);
|
|
30
|
+
if (purchaseConfirmationError) {
|
|
31
|
+
onFetchPurchaseConfirmationError === null || onFetchPurchaseConfirmationError === void 0 ? void 0 : onFetchPurchaseConfirmationError(purchaseConfirmationError);
|
|
32
|
+
return showAlert(purchaseConfirmationError.message);
|
|
33
|
+
}
|
|
34
|
+
onFetchPurchaseConfirmationSuccess === null || onFetchPurchaseConfirmationSuccess === void 0 ? void 0 : onFetchPurchaseConfirmationSuccess();
|
|
35
|
+
};
|
|
36
|
+
//#endregion Fetch data
|
|
37
|
+
//#region Ref
|
|
20
38
|
const purchaseConfirmationCoreRef = useRef(null);
|
|
39
|
+
const sessionHandleRef = useRef(null);
|
|
40
|
+
//#endregion Ref
|
|
21
41
|
const handleOnLoadingChange = useCallback((loading) => {
|
|
22
42
|
onLoadingChange === null || onLoadingChange === void 0 ? void 0 : onLoadingChange(loading);
|
|
23
43
|
}, [onLoadingChange]);
|
|
44
|
+
//#region Imperative Handler
|
|
45
|
+
useImperativeHandle(ref, () => ({
|
|
46
|
+
async refreshAccessToken(refreshToken) {
|
|
47
|
+
if (!sessionHandleRef.current) {
|
|
48
|
+
return {
|
|
49
|
+
accessTokenError: {
|
|
50
|
+
message: 'Session Handle ref is not initialized',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const { accessTokenError, accessTokenData } = await sessionHandleRef.current.refreshAccessToken(refreshToken);
|
|
55
|
+
if (!accessTokenError && (accessTokenData === null || accessTokenData === void 0 ? void 0 : accessTokenData.accessToken)) {
|
|
56
|
+
await getInitialData();
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
accessTokenData,
|
|
60
|
+
accessTokenError,
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
async reloadData() {
|
|
64
|
+
await getInitialData();
|
|
65
|
+
},
|
|
66
|
+
}));
|
|
67
|
+
//#endregion Imperative Handler
|
|
68
|
+
//#region useEffect
|
|
24
69
|
useEffect(() => {
|
|
25
70
|
handleOnLoadingChange(isLoading);
|
|
26
71
|
}, [handleOnLoadingChange, isLoading]);
|
|
27
72
|
useEffect(() => {
|
|
28
|
-
const getInitialData = async () => {
|
|
29
|
-
if (!isPurchaseConfirmationCoreRefReady()) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
setIsLoading(true);
|
|
33
|
-
const { purchaseConfirmationError } = await purchaseConfirmationCoreRef.current.getPurchaseConfirmation(orderHash);
|
|
34
|
-
setIsLoading(false);
|
|
35
|
-
if (purchaseConfirmationError) {
|
|
36
|
-
onFetchPurchaseConfirmationError === null || onFetchPurchaseConfirmationError === void 0 ? void 0 : onFetchPurchaseConfirmationError(purchaseConfirmationError);
|
|
37
|
-
return showAlert(purchaseConfirmationError.message);
|
|
38
|
-
}
|
|
39
|
-
onFetchPurchaseConfirmationSuccess === null || onFetchPurchaseConfirmationSuccess === void 0 ? void 0 : onFetchPurchaseConfirmationSuccess();
|
|
40
|
-
};
|
|
41
73
|
getInitialData();
|
|
42
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
75
|
}, []);
|
|
76
|
+
//#endregion useEffect
|
|
77
|
+
//#region RENDER
|
|
44
78
|
return (React.createElement(PurchaseConfirmationCore, { ref: purchaseConfirmationCoreRef },
|
|
45
|
-
React.createElement(
|
|
46
|
-
};
|
|
79
|
+
React.createElement(SessionHandle, { ref: sessionHandleRef },
|
|
80
|
+
React.createElement(PurchaseConfirmationView, { orderHash: orderHash, onComplete: onComplete, styles: styles, texts: texts, areActivityIndicatorsEnabled: areActivityIndicatorsEnabled }))));
|
|
81
|
+
//#endregion RENDER
|
|
82
|
+
});
|
|
47
83
|
export default PurchaseConfirmation;
|
|
48
84
|
//# sourceMappingURL=PurchaseConfirmation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseConfirmation.js","sourceRoot":"","sources":["../../../src/containers/purchaseConfirmation/PurchaseConfirmation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"PurchaseConfirmation.js","sourceRoot":"","sources":["../../../src/containers/purchaseConfirmation/PurchaseConfirmation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SessionHandleType } from '../../core/Session/SessionCoreTypes';
|
|
2
3
|
import { IResaleTicketsProps } from './types';
|
|
3
|
-
declare const ResaleTickets:
|
|
4
|
+
declare const ResaleTickets: React.ForwardRefExoticComponent<IResaleTicketsProps & React.RefAttributes<SessionHandleType>>;
|
|
4
5
|
export default ResaleTickets;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { useRef, useState } from 'react';
|
|
1
|
+
import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
|
|
2
2
|
import { Alert } from 'react-native';
|
|
3
|
-
import { OrderDetailsCore } from '../../core';
|
|
3
|
+
import { OrderDetailsCore, SessionHandle, } from '../../core';
|
|
4
4
|
import { useDebounced } from '../../helpers/Debounced';
|
|
5
5
|
import { validateEmail, validateEmpty } from '../../helpers/Validators';
|
|
6
6
|
import ResaleTicketsView from './ResaleTicketsView';
|
|
@@ -15,12 +15,13 @@ const sellToWhomInitialData = {
|
|
|
15
15
|
},
|
|
16
16
|
isTermsAgreed: false,
|
|
17
17
|
};
|
|
18
|
-
const ResaleTickets = ({ styles, ticket, onResaleTicketsSuccess, onResaleTicketsError, config = {
|
|
18
|
+
const ResaleTickets = forwardRef(({ styles, ticket, onResaleTicketsSuccess, onResaleTicketsError, config = {
|
|
19
19
|
areActivityIndicatorsEnabled: true,
|
|
20
20
|
areAlertsEnabled: true,
|
|
21
|
-
}, isTicketTypeActive, }) => {
|
|
21
|
+
}, isTicketTypeActive, }, ref) => {
|
|
22
22
|
//#region refs
|
|
23
23
|
const orderDetailsCoreRef = useRef(null);
|
|
24
|
+
const sessionHandleRef = useRef(null);
|
|
24
25
|
//#endregion
|
|
25
26
|
//#region state
|
|
26
27
|
const [isLoading, setIsLoading] = useState(false);
|
|
@@ -36,6 +37,25 @@ const ResaleTickets = ({ styles, ticket, onResaleTicketsSuccess, onResaleTickets
|
|
|
36
37
|
Alert.alert('', message);
|
|
37
38
|
}
|
|
38
39
|
};
|
|
40
|
+
//#region Imperative Handler
|
|
41
|
+
useImperativeHandle(ref, () => ({
|
|
42
|
+
async refreshAccessToken(refreshToken) {
|
|
43
|
+
if (!sessionHandleRef.current) {
|
|
44
|
+
return {
|
|
45
|
+
accessTokenError: {
|
|
46
|
+
message: 'Session Handle ref is not initialized',
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const { accessTokenError, accessTokenData } = await sessionHandleRef.current.refreshAccessToken(refreshToken);
|
|
51
|
+
return {
|
|
52
|
+
accessTokenData,
|
|
53
|
+
accessTokenError,
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
async reloadData() { },
|
|
57
|
+
}));
|
|
58
|
+
//#endregion Imperative Handler
|
|
39
59
|
//#region handlers
|
|
40
60
|
const handleOnPressSellTickets = async () => {
|
|
41
61
|
if (!orderDetailsCoreRef.current) {
|
|
@@ -137,13 +157,14 @@ const ResaleTickets = ({ styles, ticket, onResaleTicketsSuccess, onResaleTickets
|
|
|
137
157
|
//#endregion
|
|
138
158
|
//#region render
|
|
139
159
|
return (React.createElement(OrderDetailsCore, { ref: orderDetailsCoreRef },
|
|
140
|
-
React.createElement(
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
160
|
+
React.createElement(SessionHandle, { ref: sessionHandleRef },
|
|
161
|
+
React.createElement(ResaleTicketsView, { styles: styles, isLoading: isLoading, resaleToWhomData: sellToWhomData, someoneDataErrors: {
|
|
162
|
+
firstNameError: firstNameError,
|
|
163
|
+
lastNameError: lastNameError,
|
|
164
|
+
emailError: emailError,
|
|
165
|
+
emailConfirmError: emailConfirmError,
|
|
166
|
+
}, isDataValid: isDataValid(), onResaleToWhomDataChanged: handleSellToWhomDataChange, onPressResaleTickets: handleOnPressSellTickets, ticket: ticket, isTicketsTypeActive: isTicketTypeActive }))));
|
|
146
167
|
//#endregion
|
|
147
|
-
};
|
|
168
|
+
});
|
|
148
169
|
export default ResaleTickets;
|
|
149
170
|
//# sourceMappingURL=ResaleTickets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResaleTickets.js","sourceRoot":"","sources":["../../../src/containers/resaleTickets/ResaleTickets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ResaleTickets.js","sourceRoot":"","sources":["../../../src/containers/resaleTickets/ResaleTickets.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SessionHandleType } from '../../core/Session/SessionCoreTypes';
|
|
2
3
|
import { ITicketsProps } from './types';
|
|
3
|
-
declare const Tickets:
|
|
4
|
+
declare const Tickets: React.ForwardRefExoticComponent<ITicketsProps & React.RefAttributes<SessionHandleType>>;
|
|
4
5
|
export default Tickets;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import _get from 'lodash/get';
|
|
2
2
|
import _isEmpty from 'lodash/isEmpty';
|
|
3
3
|
import _some from 'lodash/some';
|
|
4
|
-
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
5
5
|
import { Alert } from 'react-native';
|
|
6
|
-
import { TicketsCore } from '../../core';
|
|
6
|
+
import { SessionHandle, TicketsCore } from '../../core';
|
|
7
7
|
import TicketsView from './TicketsView';
|
|
8
|
-
const Tickets = ({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, styles, texts, isAccessCodeEnabled = false, isPromoEnabled = true, onPressMyOrders, onPressLogout, onFetchTicketsSuccess, onFetchEventError, onLoadingChange, onFetchEventSuccess, onAddToWaitingListError, onAddToWaitingListSuccess, promoCodeCloseIcon, isCheckingCurrentSession, config = {
|
|
8
|
+
const Tickets = forwardRef(({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, styles, texts, isAccessCodeEnabled = false, isPromoEnabled = true, onPressMyOrders, onPressLogout, onFetchTicketsSuccess, onFetchEventError, onLoadingChange, onFetchEventSuccess, onAddToWaitingListError, onAddToWaitingListSuccess, promoCodeCloseIcon, isCheckingCurrentSession, config = {
|
|
9
9
|
areTicketsGrouped: true,
|
|
10
10
|
areActivityIndicatorsEnabled: true,
|
|
11
11
|
areAlertsEnabled: true,
|
|
12
12
|
areTicketsSortedBySoldOut: true,
|
|
13
|
-
}, }) => {
|
|
13
|
+
}, }, ref) => {
|
|
14
14
|
const [isUserLogged, setIsUserLogged] = useState(false);
|
|
15
15
|
const [isGettingTickets, setIsGettingTickets] = useState(false);
|
|
16
16
|
const [isGettingEvent, setIsGettingEvent] = useState(false);
|
|
@@ -28,6 +28,7 @@ const Tickets = ({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, st
|
|
|
28
28
|
//#region Refs
|
|
29
29
|
const eventErrorCodeRef = useRef(0);
|
|
30
30
|
const ticketsCoreRef = useRef(null);
|
|
31
|
+
const sessionHandleRef = useRef(null);
|
|
31
32
|
const isApiErrorRef = useRef(false);
|
|
32
33
|
//#endregion Refs
|
|
33
34
|
const showAlert = (message) => {
|
|
@@ -91,6 +92,12 @@ const Tickets = ({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, st
|
|
|
91
92
|
return await ticketsCoreRef.current.addToCart(data);
|
|
92
93
|
};
|
|
93
94
|
//#endregion Core Api calls
|
|
95
|
+
//#region Fetch Initial Data
|
|
96
|
+
const fetchInitialData = async () => {
|
|
97
|
+
await retrieveStoredAccessToken();
|
|
98
|
+
await getEventData();
|
|
99
|
+
};
|
|
100
|
+
//#endregion Fetch Initial Data
|
|
94
101
|
//#region Api Calls
|
|
95
102
|
const getTickets = async (promoCode = '') => {
|
|
96
103
|
setIsGettingTickets(true);
|
|
@@ -218,16 +225,36 @@ const Tickets = ({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, st
|
|
|
218
225
|
}
|
|
219
226
|
}, [isGettingTickets, isGettingEvent, isBooking, onLoadingChangeCallback]);
|
|
220
227
|
useEffect(() => {
|
|
221
|
-
const fetchInitialData = async () => {
|
|
222
|
-
await retrieveStoredAccessToken();
|
|
223
|
-
await getEventData();
|
|
224
|
-
};
|
|
225
228
|
if (!isCheckingCurrentSession && isFirstCall) {
|
|
226
229
|
fetchInitialData();
|
|
227
230
|
}
|
|
228
231
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
229
232
|
}, [isCheckingCurrentSession]);
|
|
230
|
-
//#endregion
|
|
233
|
+
//#endregion UseEffects
|
|
234
|
+
//#region Imperative Handler
|
|
235
|
+
useImperativeHandle(ref, () => ({
|
|
236
|
+
async refreshAccessToken(refreshToken) {
|
|
237
|
+
if (!sessionHandleRef.current) {
|
|
238
|
+
return {
|
|
239
|
+
accessTokenError: {
|
|
240
|
+
message: 'Session Handle ref is not initialized',
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
const { accessTokenError, accessTokenData } = await sessionHandleRef.current.refreshAccessToken(refreshToken);
|
|
245
|
+
if (!accessTokenError && (accessTokenData === null || accessTokenData === void 0 ? void 0 : accessTokenData.accessToken)) {
|
|
246
|
+
await fetchInitialData();
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
accessTokenData,
|
|
250
|
+
accessTokenError,
|
|
251
|
+
};
|
|
252
|
+
},
|
|
253
|
+
async reloadData() {
|
|
254
|
+
await fetchInitialData();
|
|
255
|
+
},
|
|
256
|
+
}));
|
|
257
|
+
//#endregion Imperative Handler
|
|
231
258
|
//#region Handlers
|
|
232
259
|
const handleOnPressGetTickets = () => {
|
|
233
260
|
if (eventErrorCodeRef.current !== 0) {
|
|
@@ -283,8 +310,11 @@ const Tickets = ({ onAddToCartSuccess, onAddToCartError, onFetchTicketsError, st
|
|
|
283
310
|
getTickets();
|
|
284
311
|
};
|
|
285
312
|
//#endregion
|
|
313
|
+
//#region RENDER
|
|
286
314
|
return (React.createElement(TicketsCore, { ref: ticketsCoreRef },
|
|
287
|
-
React.createElement(
|
|
288
|
-
};
|
|
315
|
+
React.createElement(SessionHandle, { ref: sessionHandleRef },
|
|
316
|
+
React.createElement(TicketsView, { isGettingTickets: isGettingTickets, tickets: tickets, groupedTickets: groupedTickets, onPressGetTickets: handleOnPressGetTickets, onPressApplyPromoCode: handleOnPressApplyPromoCode, promoCodeValidationMessage: promoCodeResponse === null || promoCodeResponse === void 0 ? void 0 : promoCodeResponse.message, isPromoCodeValid: promoCodeResponse === null || promoCodeResponse === void 0 ? void 0 : promoCodeResponse.isValid, onSelectTicketOption: handleOnSelectTicketOption, selectedTicket: selectedTicket, isBookingTickets: isBooking, styles: styles, isGettingEvent: isGettingEvent, texts: texts, event: event, isWaitingListVisible: isWaitingListVisible, isGetTicketsButtonVisible: areTicketsOnSale(), isAccessCodeEnabled: isAccessCodeEnabled || isAccessCode, isPromoEnabled: isPromoEnabled, isUserLogged: isUserLogged, onPressMyOrders: onPressMyOrders, onPressLogout: handleOnLogout, areLoadingIndicatorsEnabled: config.areActivityIndicatorsEnabled, onAddToWaitingListError: onAddToWaitingListError, onAddToWaitingListSuccess: onAddToWaitingListSuccess, onLoadingChange: handleOnLoadingChange, promoCodeCloseIcon: promoCodeCloseIcon, areTicketsGroupsShown: areTicketGroupsShown, passwordProtectedEventData: passwordProtectedEventData, onPressSubmitEventPassword: handleOnSubmitEventPassword, isCheckingCurrentSession: isCheckingCurrentSession }))));
|
|
317
|
+
//#endregion RENDER
|
|
318
|
+
});
|
|
289
319
|
export default Tickets;
|
|
290
320
|
//# sourceMappingURL=Tickets.js.map
|