tf-checkout-react 1.0.101 → 1.0.102
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/dist/components/billing-info-container/index.d.ts +3 -1
- package/dist/components/common/SnackbarAlert.d.ts +13 -0
- package/dist/components/confirmationContainer/index.d.ts +2 -1
- package/dist/components/ticketsContainer/index.d.ts +2 -1
- package/dist/env.d.ts +1 -0
- package/dist/images/done.svg +3 -3
- package/dist/tf-checkout-react.cjs.development.js +242 -117
- package/dist/tf-checkout-react.cjs.development.js.map +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
- package/dist/tf-checkout-react.esm.js +243 -118
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/tf-checkout-styles.css +1 -1
- package/package.json +89 -89
- package/src/.DS_Store +0 -0
- package/src/.d.ts +2 -2
- package/src/api/index.ts +278 -278
- package/src/assets/images/done.svg +3 -3
- package/src/components/.DS_Store +0 -0
- package/src/components/billing-info-container/index.tsx +796 -777
- package/src/components/billing-info-container/style.css +105 -105
- package/src/components/billing-info-container/utils.ts +224 -224
- package/src/components/common/CheckboxField.tsx +41 -41
- package/src/components/common/CustomField.tsx +84 -84
- package/src/components/common/FormikPhoneNumberField.tsx +51 -51
- package/src/components/common/Loader.tsx +9 -9
- package/src/components/common/RadioField.tsx +35 -35
- package/src/components/common/SelectField.tsx +80 -80
- package/src/components/common/SnackbarAlert.tsx +54 -0
- package/src/components/common/index.tsx +4 -4
- package/src/components/confirmModal/index.tsx +51 -51
- package/src/components/confirmModal/style.css +21 -21
- package/src/components/confirmationContainer/config.ts +72 -72
- package/src/components/confirmationContainer/index.tsx +197 -194
- package/src/components/confirmationContainer/social-buttons.tsx +94 -94
- package/src/components/confirmationContainer/style.css +202 -202
- package/src/components/countdown/index.tsx +89 -89
- package/src/components/countdown/style.css +9 -9
- package/src/components/index.ts +7 -7
- package/src/components/loginModal/index.tsx +209 -209
- package/src/components/loginModal/style.css +71 -71
- package/src/components/myTicketsContainer/index.tsx +196 -137
- package/src/components/myTicketsContainer/row.tsx +41 -41
- package/src/components/myTicketsContainer/style.css +39 -39
- package/src/components/myTicketsContainer/tableConfig.tsx +34 -34
- package/src/components/orderDetailsContainer/index.tsx +249 -249
- package/src/components/orderDetailsContainer/style.css +72 -72
- package/src/components/orderDetailsContainer/ticketsTable.tsx +124 -124
- package/src/components/paymentContainer/index.tsx +284 -284
- package/src/components/registerModal/index.tsx +190 -190
- package/src/components/stripePayment/index.tsx +253 -253
- package/src/components/stripePayment/style.css +59 -59
- package/src/components/ticketResale/index.tsx +56 -56
- package/src/components/ticketResaleModal/index.tsx +210 -210
- package/src/components/ticketResaleModal/style.css +28 -28
- package/src/components/ticketsContainer/PromoCodeSection.tsx +99 -99
- package/src/components/ticketsContainer/ReferralLogic.tsx +33 -33
- package/src/components/ticketsContainer/TicketRow.tsx +83 -83
- package/src/components/ticketsContainer/TicketsSection.tsx +81 -81
- package/src/components/ticketsContainer/index.tsx +430 -422
- package/src/components/ticketsContainer/style.css +181 -181
- package/src/components/ticketsContainer/utils.ts +11 -11
- package/src/components/timerWidget/index.tsx +70 -70
- package/src/components/timerWidget/style.css +26 -26
- package/src/components/waitingList/index.tsx +178 -178
- package/src/components/waitingList/style.css +26 -26
- package/src/env.ts +20 -19
- package/src/index.ts +13 -13
- package/src/normalizers/index.ts +45 -45
- package/src/types/billing-info-data.ts +37 -37
- package/src/types/payment-field.ts +7 -7
- package/src/types/referral-promotion.ts +7 -7
- package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +59 -59
- package/src/utils/downloadPDF.tsx +30 -30
- package/src/utils/formikErrorFocus.ts +24 -24
- package/src/utils/getImage.ts +14 -14
- package/src/utils/getQueryVariable.ts +13 -13
- package/src/utils/index.ts +5 -5
- package/src/utils/setConfigs.ts +26 -26
- package/src/utils/showZero.tsx +10 -10
- package/src/validators/index.ts +20 -20
|
@@ -42,5 +42,7 @@ export interface IBillingInfoPage {
|
|
|
42
42
|
onSkipBillingPage: (data: any) => void;
|
|
43
43
|
skipPage?: boolean;
|
|
44
44
|
canSkipHolderNames?: boolean;
|
|
45
|
+
onCountdownFinish?: () => void;
|
|
46
|
+
enableTimer?: boolean;
|
|
45
47
|
}
|
|
46
|
-
export declare const BillingInfoContainer: ({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, accountInfoTitle, hideLogo, themeOptions, onErrorClose, hideErrorsAlertSection, onSkipBillingPage, skipPage, canSkipHolderNames }: IBillingInfoPage) => JSX.Element;
|
|
48
|
+
export declare const BillingInfoContainer: ({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, accountInfoTitle, hideLogo, themeOptions, onErrorClose, hideErrorsAlertSection, onSkipBillingPage, skipPage, canSkipHolderNames, onCountdownFinish, enableTimer }: IBillingInfoPage) => JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AlertColor, SnackbarOrigin } from '@mui/material';
|
|
3
|
+
interface ISnackbarAlertProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
message: string;
|
|
6
|
+
type: AlertColor;
|
|
7
|
+
position?: SnackbarOrigin;
|
|
8
|
+
autoHideDuration?: number;
|
|
9
|
+
variant?: 'filled' | 'standard' | 'outlined';
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
}
|
|
12
|
+
declare const SnackbarAlert: ({ isOpen, message, type, position, autoHideDuration, variant, onClose, }: ISnackbarAlertProps) => JSX.Element;
|
|
13
|
+
export default SnackbarAlert;
|
|
@@ -14,6 +14,7 @@ export interface IConfirmationPage {
|
|
|
14
14
|
shareButtons: IShareButton[];
|
|
15
15
|
onGetConfirmationDataSuccess: (res: any) => void;
|
|
16
16
|
onGetConfirmationDataError: (e: AxiosError) => void;
|
|
17
|
+
onLinkCopied: () => void;
|
|
17
18
|
orderHash?: string;
|
|
18
19
|
}
|
|
19
|
-
export declare const ConfirmationContainer: ({ isReferralEnabled, showDefaultShareButtons, messengerAppId, shareButtons, onGetConfirmationDataSuccess, onGetConfirmationDataError, orderHash, }: IConfirmationPage) => JSX.Element;
|
|
20
|
+
export declare const ConfirmationContainer: ({ isReferralEnabled, showDefaultShareButtons, messengerAppId, shareButtons, onGetConfirmationDataSuccess, onGetConfirmationDataError, orderHash, onLinkCopied }: IConfirmationPage) => JSX.Element;
|
|
@@ -30,6 +30,7 @@ export interface IGetTickets {
|
|
|
30
30
|
isAccessCodeEnabled?: boolean;
|
|
31
31
|
hideSessionButtons?: boolean;
|
|
32
32
|
hideWaitingList?: boolean;
|
|
33
|
+
isButtonScrollable?: boolean;
|
|
33
34
|
}
|
|
34
35
|
export interface ITicket {
|
|
35
36
|
id: string | number;
|
|
@@ -38,5 +39,5 @@ export interface ITicket {
|
|
|
38
39
|
export interface ISelectedTickets {
|
|
39
40
|
[key: string]: string | number;
|
|
40
41
|
}
|
|
41
|
-
export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList }: IGetTickets) => JSX.Element;
|
|
42
|
+
export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, isButtonScrollable }: IGetTickets) => JSX.Element;
|
|
42
43
|
export {};
|
package/dist/env.d.ts
CHANGED
package/dist/images/done.svg
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 20C15.5228 20 20 15.5228 20 10C20 4.47717 15.5228 0 10 0C4.47717 0 0 4.47717 0 10C0 15.5228 4.47717 20 10 20ZM8.14661 15.8678L16.8782 6.39722C16.9561 6.31335 17 6.19922 17 6.08008C17 5.96094 16.9561 5.8468 16.8782 5.76282L16.3016 5.12854C16.1386 4.95715 15.8796 4.95715 15.7167 5.12854L7.85004 13.661L4.28326 9.79236C4.20593 9.70776 4.10071 9.66016 3.99084 9.66016C3.9353 9.66016 3.88086 9.67236 3.83069 9.69531C3.78168 9.71777 3.73663 9.75061 3.69843 9.79236L3.12183 10.4177C3.07635 10.4667 3.04248 10.5259 3.02216 10.5905C3.00763 10.6365 3 10.6853 3 10.735C3 10.8541 3.04388 10.9683 3.12183 11.0521L7.56177 15.8678C7.6391 15.9524 7.74438 16 7.85419 16C7.96399 16 8.06927 15.9524 8.14661 15.8678Z" fill="#569F44"/>
|
|
3
|
-
</svg>
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 20C15.5228 20 20 15.5228 20 10C20 4.47717 15.5228 0 10 0C4.47717 0 0 4.47717 0 10C0 15.5228 4.47717 20 10 20ZM8.14661 15.8678L16.8782 6.39722C16.9561 6.31335 17 6.19922 17 6.08008C17 5.96094 16.9561 5.8468 16.8782 5.76282L16.3016 5.12854C16.1386 4.95715 15.8796 4.95715 15.7167 5.12854L7.85004 13.661L4.28326 9.79236C4.20593 9.70776 4.10071 9.66016 3.99084 9.66016C3.9353 9.66016 3.88086 9.67236 3.83069 9.69531C3.78168 9.71777 3.73663 9.75061 3.69843 9.79236L3.12183 10.4177C3.07635 10.4667 3.04248 10.5259 3.02216 10.5905C3.00763 10.6365 3 10.6853 3 10.735C3 10.8541 3.04388 10.9683 3.12183 11.0521L7.56177 15.8678C7.6391 15.9524 7.74438 16 7.85419 16C7.96399 16 8.06927 15.9524 8.14661 15.8678Z" fill="#569F44"/>
|
|
3
|
+
</svg>
|
|
@@ -32,12 +32,12 @@ var CircularProgress = _interopDefault(require('@mui/material/CircularProgress')
|
|
|
32
32
|
var Select = _interopDefault(require('@mui/material/Select'));
|
|
33
33
|
var styles$1 = require('@mui/material/styles');
|
|
34
34
|
var Backdrop = _interopDefault(require('@mui/material/Backdrop'));
|
|
35
|
+
var Countdown$1 = _interopDefault(require('react-countdown'));
|
|
36
|
+
var _isNumber = _interopDefault(require('lodash/isNumber'));
|
|
35
37
|
var Container = _interopDefault(require('@mui/material/Container'));
|
|
36
38
|
var Alert = _interopDefault(require('@mui/material/Alert'));
|
|
37
39
|
var reactStripeJs = require('@stripe/react-stripe-js');
|
|
38
40
|
var stripeJs = require('@stripe/stripe-js');
|
|
39
|
-
var Countdown$1 = _interopDefault(require('react-countdown'));
|
|
40
|
-
var _isNumber = _interopDefault(require('lodash/isNumber'));
|
|
41
41
|
var reactShare = require('react-share');
|
|
42
42
|
var _some = _interopDefault(require('lodash/some'));
|
|
43
43
|
var _every = _interopDefault(require('lodash/every'));
|
|
@@ -2167,6 +2167,99 @@ var SelectField = function SelectField(_ref) {
|
|
|
2167
2167
|
}, error) : null);
|
|
2168
2168
|
};
|
|
2169
2169
|
|
|
2170
|
+
var showZero = function showZero(value) {
|
|
2171
|
+
if (value === void 0) {
|
|
2172
|
+
value = 0;
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2175
|
+
var intNumber = Number(value);
|
|
2176
|
+
return _isNumber(intNumber) ? intNumber >= 0 && intNumber < 10 ? '0' + intNumber : intNumber : null;
|
|
2177
|
+
};
|
|
2178
|
+
|
|
2179
|
+
var TimerWidget = function TimerWidget(_ref) {
|
|
2180
|
+
var expires_at = _ref.expires_at,
|
|
2181
|
+
buyLoading = _ref.buyLoading,
|
|
2182
|
+
_ref$onCountdownFinis = _ref.onCountdownFinish,
|
|
2183
|
+
onCountdownFinish = _ref$onCountdownFinis === void 0 ? function () {} : _ref$onCountdownFinis;
|
|
2184
|
+
|
|
2185
|
+
var _useState = React.useState(true),
|
|
2186
|
+
showTimer = _useState[0],
|
|
2187
|
+
setShowTimer = _useState[1];
|
|
2188
|
+
|
|
2189
|
+
var handleCountdownFinish = function handleCountdownFinish() {
|
|
2190
|
+
setShowTimer(false);
|
|
2191
|
+
|
|
2192
|
+
if (!buyLoading) {
|
|
2193
|
+
onCountdownFinish();
|
|
2194
|
+
}
|
|
2195
|
+
};
|
|
2196
|
+
|
|
2197
|
+
var _renderer = function renderer(_ref2) {
|
|
2198
|
+
var minutes = _ref2.minutes,
|
|
2199
|
+
seconds = _ref2.seconds,
|
|
2200
|
+
completed = _ref2.completed,
|
|
2201
|
+
handleCountdownFinish = _ref2.handleCountdownFinish;
|
|
2202
|
+
|
|
2203
|
+
if (completed) {
|
|
2204
|
+
handleCountdownFinish();
|
|
2205
|
+
return null;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
return React__default.createElement("span", null, showZero(minutes), ":", showZero(seconds));
|
|
2209
|
+
};
|
|
2210
|
+
|
|
2211
|
+
return showTimer && !!expires_at ? React__default.createElement("div", {
|
|
2212
|
+
className: "timer"
|
|
2213
|
+
}, React__default.createElement("div", {
|
|
2214
|
+
className: "toast-message"
|
|
2215
|
+
}, React__default.createElement("p", null, "Please complete your purchase before the timer reaches zero."), React__default.createElement("p", {
|
|
2216
|
+
className: "countdown"
|
|
2217
|
+
}, React__default.createElement(Countdown$1, {
|
|
2218
|
+
date: Date.now() + expires_at * 1000,
|
|
2219
|
+
renderer: function renderer(props) {
|
|
2220
|
+
return _renderer(_extends({}, props, {
|
|
2221
|
+
handleCountdownFinish: handleCountdownFinish
|
|
2222
|
+
}));
|
|
2223
|
+
}
|
|
2224
|
+
})))) : null;
|
|
2225
|
+
};
|
|
2226
|
+
|
|
2227
|
+
var SnackbarAlert = function SnackbarAlert(_ref) {
|
|
2228
|
+
var isOpen = _ref.isOpen,
|
|
2229
|
+
message = _ref.message,
|
|
2230
|
+
type = _ref.type,
|
|
2231
|
+
position = _ref.position,
|
|
2232
|
+
_ref$autoHideDuration = _ref.autoHideDuration,
|
|
2233
|
+
autoHideDuration = _ref$autoHideDuration === void 0 ? 3000 : _ref$autoHideDuration,
|
|
2234
|
+
variant = _ref.variant,
|
|
2235
|
+
onClose = _ref.onClose;
|
|
2236
|
+
return React__default.createElement("div", {
|
|
2237
|
+
className: "snackbar-alert-container"
|
|
2238
|
+
}, React__default.createElement(material.Snackbar, {
|
|
2239
|
+
autoHideDuration: autoHideDuration,
|
|
2240
|
+
open: isOpen,
|
|
2241
|
+
anchorOrigin: position || {
|
|
2242
|
+
vertical: 'top',
|
|
2243
|
+
horizontal: 'center'
|
|
2244
|
+
},
|
|
2245
|
+
onClose: onClose,
|
|
2246
|
+
classes: {
|
|
2247
|
+
root: 'snackbar-alert-snackbar-root'
|
|
2248
|
+
}
|
|
2249
|
+
}, React__default.createElement(material.Alert, {
|
|
2250
|
+
severity: type,
|
|
2251
|
+
onClose: onClose,
|
|
2252
|
+
variant: variant || 'filled',
|
|
2253
|
+
classes: {
|
|
2254
|
+
icon: 'snackbar-alert-icon',
|
|
2255
|
+
root: 'snackbar-alert-alert-root',
|
|
2256
|
+
action: 'snackbar-alert-action',
|
|
2257
|
+
message: 'snackbar-alert-message',
|
|
2258
|
+
filled: 'snackbar-alert-filled'
|
|
2259
|
+
}
|
|
2260
|
+
}, message)));
|
|
2261
|
+
};
|
|
2262
|
+
|
|
2170
2263
|
var LogicRunner = function LogicRunner(_ref) {
|
|
2171
2264
|
var values = _ref.values,
|
|
2172
2265
|
setStates = _ref.setStates,
|
|
@@ -2329,7 +2422,11 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2329
2422
|
_ref3$skipPage = _ref3.skipPage,
|
|
2330
2423
|
skipPage = _ref3$skipPage === void 0 ? false : _ref3$skipPage,
|
|
2331
2424
|
_ref3$canSkipHolderNa = _ref3.canSkipHolderNames,
|
|
2332
|
-
canSkipHolderNames = _ref3$canSkipHolderNa === void 0 ? false : _ref3$canSkipHolderNa
|
|
2425
|
+
canSkipHolderNames = _ref3$canSkipHolderNa === void 0 ? false : _ref3$canSkipHolderNa,
|
|
2426
|
+
_ref3$onCountdownFini = _ref3.onCountdownFinish,
|
|
2427
|
+
onCountdownFinish = _ref3$onCountdownFini === void 0 ? function () {} : _ref3$onCountdownFini,
|
|
2428
|
+
_ref3$enableTimer = _ref3.enableTimer,
|
|
2429
|
+
enableTimer = _ref3$enableTimer === void 0 ? false : _ref3$enableTimer;
|
|
2333
2430
|
|
|
2334
2431
|
var themeMui = styles$1.createTheme(themeOptions);
|
|
2335
2432
|
var isWindowDefined = typeof window !== 'undefined';
|
|
@@ -2418,6 +2515,8 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2418
2515
|
|
|
2419
2516
|
var hideTtfOptIn = _get(cartInfoData, 'hide_ttf_opt_in', true);
|
|
2420
2517
|
|
|
2518
|
+
var expirationTime = _get(cartInfoData, 'expires_at');
|
|
2519
|
+
|
|
2421
2520
|
var flagRequirePhone = getQueryVariable('phone_required') === 'true'; // Get prevProps
|
|
2422
2521
|
|
|
2423
2522
|
var prevData = React.useRef(data);
|
|
@@ -2692,7 +2791,10 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2692
2791
|
|
|
2693
2792
|
return React__default.createElement(styles$1.ThemeProvider, {
|
|
2694
2793
|
theme: themeMui
|
|
2695
|
-
}, React__default.createElement(
|
|
2794
|
+
}, expirationTime && enableTimer && React__default.createElement(TimerWidget, {
|
|
2795
|
+
expires_at: expirationTime,
|
|
2796
|
+
onCountdownFinish: onCountdownFinish
|
|
2797
|
+
}), React__default.createElement(formik.Formik, {
|
|
2696
2798
|
initialValues: getInitialValues(dataWithUniqueIds, _extends({}, initialValues, {
|
|
2697
2799
|
country: _get(userData, 'country', '') || '1',
|
|
2698
2800
|
state: _get(userData, 'state', '') || '1',
|
|
@@ -2789,6 +2891,10 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2789
2891
|
setShowModalLogin(true);
|
|
2790
2892
|
}
|
|
2791
2893
|
|
|
2894
|
+
if (_includes(_error, 'The cart is expired') && !hideErrorsAlertSection) {
|
|
2895
|
+
setError(_error);
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2792
2898
|
onRegisterError(_context6.t0, values.email);
|
|
2793
2899
|
}
|
|
2794
2900
|
|
|
@@ -2831,11 +2937,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2831
2937
|
}
|
|
2832
2938
|
}
|
|
2833
2939
|
|
|
2834
|
-
if ((_e$response3 = _context6.t1.response) != null && _e$response3.data.message) {
|
|
2835
|
-
if (typeof document !== undefined) {
|
|
2836
|
-
document.body.scrollTop = document.documentElement.scrollTop = 0;
|
|
2837
|
-
}
|
|
2838
|
-
|
|
2940
|
+
if ((_e$response3 = _context6.t1.response) != null && _e$response3.data.message && !hideErrorsAlertSection) {
|
|
2839
2941
|
setError(_get(_context6.t1, 'response.data.message'));
|
|
2840
2942
|
}
|
|
2841
2943
|
|
|
@@ -2869,11 +2971,15 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
|
|
|
2869
2971
|
onGetStatesError: onGetStatesError
|
|
2870
2972
|
}), React__default.createElement("div", {
|
|
2871
2973
|
className: "billing-info-container " + theme
|
|
2872
|
-
},
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2974
|
+
}, React__default.createElement(SnackbarAlert, {
|
|
2975
|
+
type: "error",
|
|
2976
|
+
isOpen: !!error,
|
|
2977
|
+
message: error || '',
|
|
2978
|
+
onClose: function onClose() {
|
|
2979
|
+
setError(null);
|
|
2980
|
+
onErrorClose();
|
|
2981
|
+
}
|
|
2982
|
+
}), !isLoggedIn && React__default.createElement("div", {
|
|
2877
2983
|
className: "account-actions-block"
|
|
2878
2984
|
}, React__default.createElement("div", null, accountInfoTitle), React__default.createElement("div", null, "Login & skip ahead:"), React__default.createElement("div", {
|
|
2879
2985
|
className: "login-block"
|
|
@@ -3279,63 +3385,6 @@ var CheckoutForm = function CheckoutForm(_ref) {
|
|
|
3279
3385
|
}) : "Pay " + getCurrencySymbolByCurrency(currency) + total))));
|
|
3280
3386
|
};
|
|
3281
3387
|
|
|
3282
|
-
var showZero = function showZero(value) {
|
|
3283
|
-
if (value === void 0) {
|
|
3284
|
-
value = 0;
|
|
3285
|
-
}
|
|
3286
|
-
|
|
3287
|
-
var intNumber = Number(value);
|
|
3288
|
-
return _isNumber(intNumber) ? intNumber >= 0 && intNumber < 10 ? '0' + intNumber : intNumber : null;
|
|
3289
|
-
};
|
|
3290
|
-
|
|
3291
|
-
var TimerWidget = function TimerWidget(_ref) {
|
|
3292
|
-
var expires_at = _ref.expires_at,
|
|
3293
|
-
buyLoading = _ref.buyLoading,
|
|
3294
|
-
_ref$onCountdownFinis = _ref.onCountdownFinish,
|
|
3295
|
-
onCountdownFinish = _ref$onCountdownFinis === void 0 ? function () {} : _ref$onCountdownFinis;
|
|
3296
|
-
|
|
3297
|
-
var _useState = React.useState(true),
|
|
3298
|
-
showTimer = _useState[0],
|
|
3299
|
-
setShowTimer = _useState[1];
|
|
3300
|
-
|
|
3301
|
-
var handleCountdownFinish = function handleCountdownFinish() {
|
|
3302
|
-
setShowTimer(false);
|
|
3303
|
-
|
|
3304
|
-
if (!buyLoading) {
|
|
3305
|
-
onCountdownFinish();
|
|
3306
|
-
}
|
|
3307
|
-
};
|
|
3308
|
-
|
|
3309
|
-
var _renderer = function renderer(_ref2) {
|
|
3310
|
-
var minutes = _ref2.minutes,
|
|
3311
|
-
seconds = _ref2.seconds,
|
|
3312
|
-
completed = _ref2.completed,
|
|
3313
|
-
handleCountdownFinish = _ref2.handleCountdownFinish;
|
|
3314
|
-
|
|
3315
|
-
if (completed) {
|
|
3316
|
-
handleCountdownFinish();
|
|
3317
|
-
return null;
|
|
3318
|
-
}
|
|
3319
|
-
|
|
3320
|
-
return React__default.createElement("span", null, showZero(minutes), ":", showZero(seconds));
|
|
3321
|
-
};
|
|
3322
|
-
|
|
3323
|
-
return showTimer && !!expires_at ? React__default.createElement("div", {
|
|
3324
|
-
className: "timer"
|
|
3325
|
-
}, React__default.createElement("div", {
|
|
3326
|
-
className: "toast-message"
|
|
3327
|
-
}, React__default.createElement("p", null, "Please complete your purchase before the timer reaches zero."), React__default.createElement("p", {
|
|
3328
|
-
className: "countdown"
|
|
3329
|
-
}, React__default.createElement(Countdown$1, {
|
|
3330
|
-
date: Date.now() + expires_at * 1000,
|
|
3331
|
-
renderer: function renderer(props) {
|
|
3332
|
-
return _renderer(_extends({}, props, {
|
|
3333
|
-
handleCountdownFinish: handleCountdownFinish
|
|
3334
|
-
}));
|
|
3335
|
-
}
|
|
3336
|
-
})))) : null;
|
|
3337
|
-
};
|
|
3338
|
-
|
|
3339
3388
|
var publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || '';
|
|
3340
3389
|
|
|
3341
3390
|
var getStripePromise = function getStripePromise(reviewData) {
|
|
@@ -3837,7 +3886,9 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
|
|
|
3837
3886
|
onGetConfirmationDataSuccess = _ref$onGetConfirmatio === void 0 ? function () {} : _ref$onGetConfirmatio,
|
|
3838
3887
|
_ref$onGetConfirmatio2 = _ref.onGetConfirmationDataError,
|
|
3839
3888
|
onGetConfirmationDataError = _ref$onGetConfirmatio2 === void 0 ? function () {} : _ref$onGetConfirmatio2,
|
|
3840
|
-
orderHash = _ref.orderHash
|
|
3889
|
+
orderHash = _ref.orderHash,
|
|
3890
|
+
_ref$onLinkCopied = _ref.onLinkCopied,
|
|
3891
|
+
onLinkCopied = _ref$onLinkCopied === void 0 ? function () {} : _ref$onLinkCopied;
|
|
3841
3892
|
var inputRef = React.useRef(null);
|
|
3842
3893
|
|
|
3843
3894
|
var _useState = React.useState(null),
|
|
@@ -3975,7 +4026,8 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
|
|
|
3975
4026
|
}), React__default.createElement("div", {
|
|
3976
4027
|
className: "share-by-link-copy-icon",
|
|
3977
4028
|
onClick: function onClick() {
|
|
3978
|
-
|
|
4029
|
+
navigator.clipboard.writeText(_get(inputRef, 'current.value'));
|
|
4030
|
+
onLinkCopied();
|
|
3979
4031
|
}
|
|
3980
4032
|
}, React__default.createElement("img", {
|
|
3981
4033
|
src: "https://img.icons8.com/office/50/000000/copy.png",
|
|
@@ -4521,7 +4573,9 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4521
4573
|
_ref$hideSessionButto = _ref.hideSessionButtons,
|
|
4522
4574
|
hideSessionButtons = _ref$hideSessionButto === void 0 ? false : _ref$hideSessionButto,
|
|
4523
4575
|
_ref$hideWaitingList = _ref.hideWaitingList,
|
|
4524
|
-
hideWaitingList = _ref$hideWaitingList === void 0 ? false : _ref$hideWaitingList
|
|
4576
|
+
hideWaitingList = _ref$hideWaitingList === void 0 ? false : _ref$hideWaitingList,
|
|
4577
|
+
_ref$isButtonScrollab = _ref.isButtonScrollable,
|
|
4578
|
+
isButtonScrollable = _ref$isButtonScrollab === void 0 ? false : _ref$isButtonScrollab;
|
|
4525
4579
|
|
|
4526
4580
|
var _useState = React.useState({}),
|
|
4527
4581
|
selectedTickets = _useState[0],
|
|
@@ -4533,50 +4587,51 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4533
4587
|
isLogged = _useState2[0],
|
|
4534
4588
|
setIsLogged = _useState2[1];
|
|
4535
4589
|
|
|
4536
|
-
var
|
|
4537
|
-
showLoginModal =
|
|
4538
|
-
setShowLoginModal =
|
|
4539
|
-
|
|
4540
|
-
var _useState3 = React.useState([]),
|
|
4541
|
-
tickets = _useState3[0],
|
|
4542
|
-
setTickets = _useState3[1];
|
|
4590
|
+
var _useState3 = React.useState(false),
|
|
4591
|
+
showLoginModal = _useState3[0],
|
|
4592
|
+
setShowLoginModal = _useState3[1];
|
|
4543
4593
|
|
|
4544
|
-
var _useState4 = React.useState(
|
|
4545
|
-
|
|
4546
|
-
|
|
4594
|
+
var _useState4 = React.useState([]),
|
|
4595
|
+
tickets = _useState4[0],
|
|
4596
|
+
setTickets = _useState4[1];
|
|
4547
4597
|
|
|
4548
|
-
var _useState5 = React.useState(
|
|
4549
|
-
|
|
4550
|
-
|
|
4598
|
+
var _useState5 = React.useState(null),
|
|
4599
|
+
event = _useState5[0],
|
|
4600
|
+
setEvent = _useState5[1];
|
|
4551
4601
|
|
|
4552
4602
|
var _useState6 = React.useState(false),
|
|
4553
|
-
|
|
4554
|
-
|
|
4603
|
+
showWaitingList = _useState6[0],
|
|
4604
|
+
setShowWaitingList = _useState6[1];
|
|
4555
4605
|
|
|
4556
4606
|
var _useState7 = React.useState(false),
|
|
4557
|
-
|
|
4558
|
-
|
|
4607
|
+
isLoading = _useState7[0],
|
|
4608
|
+
setIsLoading = _useState7[1];
|
|
4559
4609
|
|
|
4560
4610
|
var _useState8 = React.useState(false),
|
|
4561
|
-
|
|
4562
|
-
|
|
4611
|
+
isPromoLoading = _useState8[0],
|
|
4612
|
+
setIsPromoLoading = _useState8[1];
|
|
4563
4613
|
|
|
4564
|
-
var _useState9 = React.useState(
|
|
4565
|
-
|
|
4566
|
-
|
|
4614
|
+
var _useState9 = React.useState(false),
|
|
4615
|
+
handleBookIsLoading = _useState9[0],
|
|
4616
|
+
setHandleBookIsLoading = _useState9[1];
|
|
4567
4617
|
|
|
4568
|
-
var _useState10 = React.useState(
|
|
4569
|
-
|
|
4570
|
-
|
|
4618
|
+
var _useState10 = React.useState(''),
|
|
4619
|
+
promoCode = _useState10[0],
|
|
4620
|
+
setPromoCode = _useState10[1];
|
|
4571
4621
|
|
|
4572
|
-
var _useState11 = React.useState(
|
|
4573
|
-
|
|
4574
|
-
|
|
4622
|
+
var _useState11 = React.useState(getQueryVariable('r') || queryPromoCode),
|
|
4623
|
+
promoCodeUpdated = _useState11[0],
|
|
4624
|
+
setPromoCodeUpdated = _useState11[1];
|
|
4575
4625
|
|
|
4576
4626
|
var _useState12 = React.useState(false),
|
|
4577
|
-
|
|
4578
|
-
|
|
4627
|
+
showPromoInput = _useState12[0],
|
|
4628
|
+
setShowPromoInput = _useState12[1];
|
|
4629
|
+
|
|
4630
|
+
var _useState13 = React.useState(false),
|
|
4631
|
+
promoCodeIsApplied = _useState13[0],
|
|
4632
|
+
setPromoCodeIsApplied = _useState13[1];
|
|
4579
4633
|
|
|
4634
|
+
var ticketsContainerRef = React.useRef(null);
|
|
4580
4635
|
React.useEffect(function () {
|
|
4581
4636
|
if (typeof window !== 'undefined') {
|
|
4582
4637
|
var access_token = window.localStorage.getItem('access_token');
|
|
@@ -4614,6 +4669,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4614
4669
|
|
|
4615
4670
|
if (userData.country === '') {
|
|
4616
4671
|
handleLogout();
|
|
4672
|
+
window.open("https://www.ticketfairy.com/account/change_information?need_country=true");
|
|
4617
4673
|
}
|
|
4618
4674
|
}
|
|
4619
4675
|
} catch (e) {}
|
|
@@ -4852,6 +4908,22 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4852
4908
|
isWindowDefined && window.document.removeEventListener('custom-login', handleExternalLogin);
|
|
4853
4909
|
};
|
|
4854
4910
|
}, []);
|
|
4911
|
+
|
|
4912
|
+
var handleGetTicketClick = function handleGetTicketClick() {
|
|
4913
|
+
if (!handleBookIsLoading && !_isEmpty(selectedTickets) && Object.values(selectedTickets)[0] > 0) {
|
|
4914
|
+
handleBook();
|
|
4915
|
+
} else {
|
|
4916
|
+
if (isButtonScrollable && ticketsContainerRef && ticketsContainerRef.current) {
|
|
4917
|
+
ticketsContainerRef.current.scrollIntoView({
|
|
4918
|
+
behavior: 'smooth',
|
|
4919
|
+
block: 'center',
|
|
4920
|
+
inline: 'nearest'
|
|
4921
|
+
});
|
|
4922
|
+
}
|
|
4923
|
+
}
|
|
4924
|
+
};
|
|
4925
|
+
|
|
4926
|
+
var bookButtonIsDisabled = handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0;
|
|
4855
4927
|
return React__default.createElement(privateTheming.ThemeProvider, {
|
|
4856
4928
|
theme: themeMui
|
|
4857
4929
|
}, React__default.createElement(ReferralLogic, {
|
|
@@ -4859,7 +4931,9 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4859
4931
|
}), React__default.createElement("div", {
|
|
4860
4932
|
className: "get-tickets-page " + theme,
|
|
4861
4933
|
style: contentStyle
|
|
4862
|
-
}, isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div",
|
|
4934
|
+
}, isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", {
|
|
4935
|
+
ref: ticketsContainerRef
|
|
4936
|
+
}, React__default.createElement(TicketsSection, {
|
|
4863
4937
|
ticketsList: tickets,
|
|
4864
4938
|
selectedTickets: selectedTickets,
|
|
4865
4939
|
handleTicketSelect: handleTicketSelect,
|
|
@@ -4888,8 +4962,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
4888
4962
|
isPromoLoading: isPromoLoading
|
|
4889
4963
|
}), (isTicketOnSale || !(event != null && event.salesEnded)) && React__default.createElement(Button$1, {
|
|
4890
4964
|
"aria-hidden": true,
|
|
4891
|
-
className: "book-button " + (
|
|
4892
|
-
onClick:
|
|
4965
|
+
className: "book-button \n " + (bookButtonIsDisabled ? 'disabled' : '') + " \n " + (isButtonScrollable ? 'is-scrollable' : '') + "\n ",
|
|
4966
|
+
onClick: handleGetTicketClick
|
|
4893
4967
|
}, getTicketsLabel || 'GET TICKETS'), isLogged && !hideSessionButtons ? React__default.createElement("div", {
|
|
4894
4968
|
className: "session-wrapper"
|
|
4895
4969
|
}, React__default.createElement("span", {
|
|
@@ -4999,16 +5073,30 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
|
|
|
4999
5073
|
|
|
5000
5074
|
var _useState4 = React.useState(''),
|
|
5001
5075
|
filter = _useState4[0],
|
|
5002
|
-
setFilter = _useState4[1];
|
|
5076
|
+
setFilter = _useState4[1];
|
|
5077
|
+
|
|
5078
|
+
var isWindowDefined = typeof window !== 'undefined';
|
|
5079
|
+
|
|
5080
|
+
var _useState5 = React.useState(isWindowDefined ? !!window.localStorage.getItem('access_token') : false),
|
|
5081
|
+
isLogged = _useState5[0],
|
|
5082
|
+
setIsLogged = _useState5[1];
|
|
5083
|
+
|
|
5084
|
+
var _useState6 = React.useState(false),
|
|
5085
|
+
showModalLogin = _useState6[0],
|
|
5086
|
+
setShowModalLogin = _useState6[1];
|
|
5087
|
+
|
|
5088
|
+
var _useState7 = React.useState(false),
|
|
5089
|
+
userExpired = _useState7[0],
|
|
5090
|
+
setUserExpired = _useState7[1]; //just once
|
|
5003
5091
|
|
|
5004
5092
|
|
|
5005
5093
|
React.useEffect(function () {
|
|
5006
5094
|
fetchData(1, limit, filter);
|
|
5007
|
-
}, []);
|
|
5095
|
+
}, [isLogged]);
|
|
5008
5096
|
|
|
5009
5097
|
var fetchData = /*#__PURE__*/function () {
|
|
5010
5098
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(page, limit, filter) {
|
|
5011
|
-
var response, _data;
|
|
5099
|
+
var response, _data, _error$response;
|
|
5012
5100
|
|
|
5013
5101
|
return runtime_1.wrap(function _callee$(_context) {
|
|
5014
5102
|
while (1) {
|
|
@@ -5025,25 +5113,37 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
|
|
|
5025
5113
|
_data = _get(response, 'data.data.attributes');
|
|
5026
5114
|
_data.page -= 1;
|
|
5027
5115
|
setData(_data);
|
|
5028
|
-
_context.next =
|
|
5116
|
+
_context.next = 15;
|
|
5029
5117
|
break;
|
|
5030
5118
|
|
|
5031
5119
|
case 11:
|
|
5032
5120
|
_context.prev = 11;
|
|
5033
5121
|
_context.t0 = _context["catch"](0);
|
|
5122
|
+
|
|
5123
|
+
if (axios.isAxiosError(_context.t0)) {
|
|
5124
|
+
if (((_error$response = _context.t0.response) == null ? void 0 : _error$response.data.error) === 'invalid_token') {
|
|
5125
|
+
if (isWindowDefined) {
|
|
5126
|
+
window.localStorage.removeItem('user_data');
|
|
5127
|
+
window.localStorage.removeItem('access_token');
|
|
5128
|
+
setUserExpired(true);
|
|
5129
|
+
setShowModalLogin(true);
|
|
5130
|
+
}
|
|
5131
|
+
}
|
|
5132
|
+
}
|
|
5133
|
+
|
|
5034
5134
|
onGetOrdersError(_context.t0);
|
|
5035
5135
|
|
|
5036
|
-
case
|
|
5037
|
-
_context.prev =
|
|
5136
|
+
case 15:
|
|
5137
|
+
_context.prev = 15;
|
|
5038
5138
|
setLoading(false);
|
|
5039
|
-
return _context.finish(
|
|
5139
|
+
return _context.finish(15);
|
|
5040
5140
|
|
|
5041
|
-
case
|
|
5141
|
+
case 18:
|
|
5042
5142
|
case "end":
|
|
5043
5143
|
return _context.stop();
|
|
5044
5144
|
}
|
|
5045
5145
|
}
|
|
5046
|
-
}, _callee, null, [[0, 11,
|
|
5146
|
+
}, _callee, null, [[0, 11, 15, 18]]);
|
|
5047
5147
|
}));
|
|
5048
5148
|
|
|
5049
5149
|
return function fetchData(_x, _x2, _x3) {
|
|
@@ -5069,7 +5169,22 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
|
|
|
5069
5169
|
className: "my-ticket " + theme
|
|
5070
5170
|
}, loading && React__default.createElement("div", {
|
|
5071
5171
|
className: "loading"
|
|
5072
|
-
}, React__default.createElement(CircularProgress, null)),
|
|
5172
|
+
}, React__default.createElement(CircularProgress, null)), !isLogged ? React__default.createElement("div", {
|
|
5173
|
+
className: "account-actions-block"
|
|
5174
|
+
}, React__default.createElement("div", {
|
|
5175
|
+
className: "login-block"
|
|
5176
|
+
}, React__default.createElement("button", {
|
|
5177
|
+
className: "login-register-button",
|
|
5178
|
+
type: "button",
|
|
5179
|
+
onClick: function onClick() {
|
|
5180
|
+
setShowModalLogin(true);
|
|
5181
|
+
}
|
|
5182
|
+
}, "Login"), React__default.createElement("div", {
|
|
5183
|
+
className: "logo-image-container"
|
|
5184
|
+
}, React__default.createElement("img", {
|
|
5185
|
+
src: theme === 'dark' ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg' : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg',
|
|
5186
|
+
alt: "nodata"
|
|
5187
|
+
})))) : null, data && React__default.createElement(React__default.Fragment, null, React__default.createElement(Autocomplete, {
|
|
5073
5188
|
disablePortal: true,
|
|
5074
5189
|
id: "combo-box-demo",
|
|
5075
5190
|
getOptionLabel: function getOptionLabel(option) {
|
|
@@ -5108,6 +5223,16 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
|
|
|
5108
5223
|
page: data.page,
|
|
5109
5224
|
onPageChange: handleChangePage,
|
|
5110
5225
|
onRowsPerPageChange: handleChangeRowsPerPage
|
|
5226
|
+
})), React__default.createElement(React__default.Fragment, null, showModalLogin && React__default.createElement(LoginModal, {
|
|
5227
|
+
onClose: function onClose() {
|
|
5228
|
+
setShowModalLogin(false);
|
|
5229
|
+
},
|
|
5230
|
+
onLogin: function onLogin() {
|
|
5231
|
+
setShowModalLogin(false);
|
|
5232
|
+
setUserExpired(false);
|
|
5233
|
+
setIsLogged(true);
|
|
5234
|
+
},
|
|
5235
|
+
userExpired: userExpired
|
|
5111
5236
|
})));
|
|
5112
5237
|
};
|
|
5113
5238
|
|