tf-checkout-react 1.2.31 → 1.3.1
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/api/index.d.ts +3 -0
- package/dist/components/addonsContainer/AddonComponent.d.ts +9 -0
- package/dist/components/addonsContainer/adapters/index.d.ts +12 -0
- package/dist/components/addonsContainer/index.d.ts +17 -0
- package/dist/components/addonsContainer/normalizers/index.d.ts +1 -0
- package/dist/components/addonsContainer/utils/index.d.ts +16 -0
- package/dist/components/common/SelectField.d.ts +2 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/ticketsContainer/index.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/tf-checkout-react.cjs.development.js +889 -79
- 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 +889 -80
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/types/add_on.d.ts +7 -0
- package/dist/types/checkoutPageConfigs.d.ts +9 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/order-data.d.ts +2 -1
- package/dist/utils/createMarkup.d.ts +3 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/api/index.ts +16 -0
- package/src/components/addonsContainer/AddonComponent.tsx +49 -0
- package/src/components/addonsContainer/adapters/index.tsx +64 -0
- package/src/components/addonsContainer/index.tsx +434 -0
- package/src/components/addonsContainer/normalizers/index.ts +5 -0
- package/src/components/addonsContainer/utils/index.tsx +231 -0
- package/src/components/billing-info-container/index.tsx +30 -7
- package/src/components/common/SelectField.tsx +18 -8
- package/src/components/index.ts +1 -0
- package/src/components/orderDetailsContainer/index.tsx +20 -18
- package/src/components/paymentContainer/index.tsx +37 -2
- package/src/components/ticketsContainer/index.tsx +30 -17
- package/src/components/ticketsContainer/utils.ts +3 -3
- package/src/index.ts +2 -1
- package/src/types/add_on.ts +7 -0
- package/src/types/checkoutPageConfigs.ts +9 -0
- package/src/types/index.ts +2 -0
- package/src/types/order-data.ts +4 -3
- package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +7 -6
- package/src/utils/createMarkup.ts +1 -0
- package/src/utils/index.ts +1 -0
|
@@ -65,6 +65,8 @@ var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
|
|
|
65
65
|
var TableRow = _interopDefault(require('@mui/material/TableRow'));
|
|
66
66
|
var _has = _interopDefault(require('lodash/has'));
|
|
67
67
|
var Radio = _interopDefault(require('@mui/material/Radio'));
|
|
68
|
+
var _isNull = _interopDefault(require('lodash/isNull'));
|
|
69
|
+
var _reverse = _interopDefault(require('lodash/reverse'));
|
|
68
70
|
|
|
69
71
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
70
72
|
try {
|
|
@@ -1177,6 +1179,12 @@ var createCheckoutDataBodyWithDefaultHolder = function createCheckoutDataBodyWit
|
|
|
1177
1179
|
return body;
|
|
1178
1180
|
};
|
|
1179
1181
|
|
|
1182
|
+
var createMarkup = function createMarkup(data) {
|
|
1183
|
+
return {
|
|
1184
|
+
__html: data
|
|
1185
|
+
};
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1180
1188
|
var isWindowDefined = typeof window !== 'undefined';
|
|
1181
1189
|
var isDocumentDefined = typeof document !== 'undefined';
|
|
1182
1190
|
|
|
@@ -1435,7 +1443,8 @@ var getStates = function getStates(countryId) {
|
|
|
1435
1443
|
return publicRequest.get("/countries/" + countryId + "/states/");
|
|
1436
1444
|
};
|
|
1437
1445
|
var getOrders = function getOrders(page, limit, eventSlug) {
|
|
1438
|
-
return publicRequest.get(
|
|
1446
|
+
return publicRequest.get( // eslint-disable-next-line max-len
|
|
1447
|
+
"v1/account/orders/?page=" + page + "&limit=" + limit + "&filter[event]=" + eventSlug + "&filter[brand]=" + CONFIGS.BRAND_SLUG + "&filter[subbrands]=true");
|
|
1439
1448
|
};
|
|
1440
1449
|
var getOrderDetails = function getOrderDetails(orderId) {
|
|
1441
1450
|
return publicRequest.get("v1/account/order/" + orderId);
|
|
@@ -1505,6 +1514,59 @@ var validatePhoneNumber = /*#__PURE__*/function () {
|
|
|
1505
1514
|
return _ref.apply(this, arguments);
|
|
1506
1515
|
};
|
|
1507
1516
|
}();
|
|
1517
|
+
var getAddons = /*#__PURE__*/function () {
|
|
1518
|
+
var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(eventId) {
|
|
1519
|
+
var result, addons;
|
|
1520
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
1521
|
+
while (1) {
|
|
1522
|
+
switch (_context2.prev = _context2.next) {
|
|
1523
|
+
case 0:
|
|
1524
|
+
_context2.next = 2;
|
|
1525
|
+
return publicRequest.get("/v1/event/" + eventId + "/add-ons");
|
|
1526
|
+
|
|
1527
|
+
case 2:
|
|
1528
|
+
result = _context2.sent;
|
|
1529
|
+
addons = _get(result, 'data.data.attributes', []);
|
|
1530
|
+
return _context2.abrupt("return", addons);
|
|
1531
|
+
|
|
1532
|
+
case 5:
|
|
1533
|
+
case "end":
|
|
1534
|
+
return _context2.stop();
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
}, _callee2);
|
|
1538
|
+
}));
|
|
1539
|
+
|
|
1540
|
+
return function getAddons(_x2) {
|
|
1541
|
+
return _ref2.apply(this, arguments);
|
|
1542
|
+
};
|
|
1543
|
+
}();
|
|
1544
|
+
var getCheckoutPageConfigs = /*#__PURE__*/function () {
|
|
1545
|
+
var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3() {
|
|
1546
|
+
var response;
|
|
1547
|
+
return runtime_1.wrap(function _callee3$(_context3) {
|
|
1548
|
+
while (1) {
|
|
1549
|
+
switch (_context3.prev = _context3.next) {
|
|
1550
|
+
case 0:
|
|
1551
|
+
_context3.next = 2;
|
|
1552
|
+
return publicRequest.get("v1/checkout-configs");
|
|
1553
|
+
|
|
1554
|
+
case 2:
|
|
1555
|
+
response = _context3.sent;
|
|
1556
|
+
return _context3.abrupt("return", response.data);
|
|
1557
|
+
|
|
1558
|
+
case 4:
|
|
1559
|
+
case "end":
|
|
1560
|
+
return _context3.stop();
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
}, _callee3);
|
|
1564
|
+
}));
|
|
1565
|
+
|
|
1566
|
+
return function getCheckoutPageConfigs() {
|
|
1567
|
+
return _ref3.apply(this, arguments);
|
|
1568
|
+
};
|
|
1569
|
+
}();
|
|
1508
1570
|
|
|
1509
1571
|
var emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
1510
1572
|
var combineValidators = function combineValidators() {
|
|
@@ -1799,7 +1861,11 @@ var SelectField = function SelectField(_ref) {
|
|
|
1799
1861
|
_ref$form = _ref.form,
|
|
1800
1862
|
touched = _ref$form.touched,
|
|
1801
1863
|
errors = _ref$form.errors,
|
|
1802
|
-
|
|
1864
|
+
setFieldValue = _ref$form.setFieldValue,
|
|
1865
|
+
theme = _ref.theme,
|
|
1866
|
+
_ref$onChange = _ref.onChange,
|
|
1867
|
+
_onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;
|
|
1868
|
+
|
|
1803
1869
|
var isTouched = Boolean(_get(touched, field.name));
|
|
1804
1870
|
|
|
1805
1871
|
var error = _get(errors, field.name);
|
|
@@ -1827,7 +1893,12 @@ var SelectField = function SelectField(_ref) {
|
|
|
1827
1893
|
className: theme
|
|
1828
1894
|
}
|
|
1829
1895
|
}, field, {
|
|
1830
|
-
style: customTheme == null ? void 0 : customTheme.input
|
|
1896
|
+
style: customTheme == null ? void 0 : customTheme.input,
|
|
1897
|
+
onChange: function onChange(e) {
|
|
1898
|
+
_onChange(e);
|
|
1899
|
+
|
|
1900
|
+
setFieldValue(field.name, e.target.value);
|
|
1901
|
+
}
|
|
1831
1902
|
}), _map(selectOptions, function (option) {
|
|
1832
1903
|
return React__default.createElement("option", {
|
|
1833
1904
|
key: option.value,
|
|
@@ -2949,6 +3020,12 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
2949
3020
|
var flagRequirePhone = getQueryVariable('phone_required') === 'true'; // Get prevProps
|
|
2950
3021
|
|
|
2951
3022
|
var prevData = React.useRef(data);
|
|
3023
|
+
|
|
3024
|
+
var addAddOnsInAttributes = function addAddOnsInAttributes(checkoutBody) {
|
|
3025
|
+
var selectedAddOns = window.localStorage.getItem('add_ons') || '{}';
|
|
3026
|
+
checkoutBody.attributes.add_ons = JSON.parse(selectedAddOns);
|
|
3027
|
+
};
|
|
3028
|
+
|
|
2952
3029
|
React.useEffect(function () {
|
|
2953
3030
|
var hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId');
|
|
2954
3031
|
|
|
@@ -3146,42 +3223,47 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3146
3223
|
switch (_context5.prev = _context5.next) {
|
|
3147
3224
|
case 0:
|
|
3148
3225
|
if (!(skipPage && !_isEmpty(ticketsQuantity) && !showDOB)) {
|
|
3149
|
-
_context5.next =
|
|
3226
|
+
_context5.next = 18;
|
|
3150
3227
|
break;
|
|
3151
3228
|
}
|
|
3152
3229
|
|
|
3153
3230
|
setLoading(true);
|
|
3154
3231
|
checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketsQuantity.length, userData);
|
|
3155
3232
|
_context5.prev = 3;
|
|
3156
|
-
|
|
3233
|
+
|
|
3234
|
+
if (isWindowDefined) {
|
|
3235
|
+
addAddOnsInAttributes(checkoutBody);
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
_context5.next = 7;
|
|
3157
3239
|
return postOnCheckout(checkoutBody, access_token);
|
|
3158
3240
|
|
|
3159
|
-
case
|
|
3241
|
+
case 7:
|
|
3160
3242
|
res = _context5.sent;
|
|
3161
3243
|
removeReferralKey();
|
|
3162
3244
|
onSkipBillingPage(_get(res, 'data.data.attributes'));
|
|
3163
3245
|
setLoading(false);
|
|
3164
|
-
_context5.next =
|
|
3246
|
+
_context5.next = 16;
|
|
3165
3247
|
break;
|
|
3166
3248
|
|
|
3167
|
-
case
|
|
3168
|
-
_context5.prev =
|
|
3249
|
+
case 13:
|
|
3250
|
+
_context5.prev = 13;
|
|
3169
3251
|
_context5.t0 = _context5["catch"](3);
|
|
3170
3252
|
onSubmitError(_context5.t0);
|
|
3171
3253
|
|
|
3172
|
-
case
|
|
3173
|
-
_context5.next =
|
|
3254
|
+
case 16:
|
|
3255
|
+
_context5.next = 19;
|
|
3174
3256
|
break;
|
|
3175
3257
|
|
|
3176
|
-
case
|
|
3258
|
+
case 18:
|
|
3177
3259
|
setLoading(false);
|
|
3178
3260
|
|
|
3179
|
-
case
|
|
3261
|
+
case 19:
|
|
3180
3262
|
case "end":
|
|
3181
3263
|
return _context5.stop();
|
|
3182
3264
|
}
|
|
3183
3265
|
}
|
|
3184
|
-
}, _callee5, null, [[3,
|
|
3266
|
+
}, _callee5, null, [[3, 13]]);
|
|
3185
3267
|
}));
|
|
3186
3268
|
|
|
3187
3269
|
return function collectPaymentData() {
|
|
@@ -3256,49 +3338,54 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3256
3338
|
_context6.prev = 0;
|
|
3257
3339
|
|
|
3258
3340
|
if (!isLoggedIn) {
|
|
3259
|
-
_context6.next =
|
|
3341
|
+
_context6.next = 17;
|
|
3260
3342
|
break;
|
|
3261
3343
|
}
|
|
3262
3344
|
|
|
3263
3345
|
_checkoutBody = collectCheckoutBody(values, userData);
|
|
3264
|
-
|
|
3346
|
+
|
|
3347
|
+
if (isWindowDefined) {
|
|
3348
|
+
addAddOnsInAttributes(_checkoutBody);
|
|
3349
|
+
}
|
|
3350
|
+
|
|
3351
|
+
_context6.next = 6;
|
|
3265
3352
|
return postOnCheckout(_checkoutBody, access_token);
|
|
3266
3353
|
|
|
3267
|
-
case
|
|
3354
|
+
case 6:
|
|
3268
3355
|
_res = _context6.sent;
|
|
3269
3356
|
removeReferralKey(); // After checkout is successful recover updated profile and store it on local storage if needed
|
|
3270
3357
|
|
|
3271
3358
|
if (!isWindowDefined) {
|
|
3272
|
-
_context6.next =
|
|
3359
|
+
_context6.next = 15;
|
|
3273
3360
|
break;
|
|
3274
3361
|
}
|
|
3275
3362
|
|
|
3276
|
-
_context6.next =
|
|
3363
|
+
_context6.next = 11;
|
|
3277
3364
|
return getProfileData(access_token);
|
|
3278
3365
|
|
|
3279
|
-
case
|
|
3366
|
+
case 11:
|
|
3280
3367
|
updatedUserData = _context6.sent;
|
|
3281
3368
|
_profileSpecifiedData = _get(updatedUserData, 'data.data');
|
|
3282
3369
|
_profileDataObj = setLoggedUserData$1(_profileSpecifiedData);
|
|
3283
3370
|
window.localStorage.setItem('user_data', JSON.stringify(_profileDataObj));
|
|
3284
3371
|
|
|
3285
|
-
case
|
|
3372
|
+
case 15:
|
|
3286
3373
|
handleSubmit(values, formikHelpers, eventId, _res);
|
|
3287
3374
|
return _context6.abrupt("return");
|
|
3288
3375
|
|
|
3289
|
-
case
|
|
3376
|
+
case 17:
|
|
3290
3377
|
checkoutBodyForRegistration = createCheckoutDataBody(ticketsQuantity.length, values, {
|
|
3291
3378
|
emailLogged: emailLogged,
|
|
3292
3379
|
firstNameLogged: firstNameLogged,
|
|
3293
3380
|
lastNameLogged: lastNameLogged
|
|
3294
3381
|
}, showDOB);
|
|
3295
3382
|
bodyFormData = createRegisterFormData(values, checkoutBodyForRegistration);
|
|
3296
|
-
_context6.prev =
|
|
3383
|
+
_context6.prev = 19;
|
|
3297
3384
|
setLoading(true);
|
|
3298
|
-
_context6.next =
|
|
3385
|
+
_context6.next = 23;
|
|
3299
3386
|
return register(bodyFormData);
|
|
3300
3387
|
|
|
3301
|
-
case
|
|
3388
|
+
case 23:
|
|
3302
3389
|
resRegister = _context6.sent;
|
|
3303
3390
|
_xtfCookie = _get(resRegister, 'headers.x-tf-ecommerce');
|
|
3304
3391
|
accessToken = _get(resRegister, 'data.data.attributes.access_token');
|
|
@@ -3310,12 +3397,12 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3310
3397
|
refreshToken: refreshToken,
|
|
3311
3398
|
userProfile: userProfile
|
|
3312
3399
|
});
|
|
3313
|
-
_context6.next =
|
|
3400
|
+
_context6.next = 36;
|
|
3314
3401
|
break;
|
|
3315
3402
|
|
|
3316
|
-
case
|
|
3317
|
-
_context6.prev =
|
|
3318
|
-
_context6.t0 = _context6["catch"](
|
|
3403
|
+
case 31:
|
|
3404
|
+
_context6.prev = 31;
|
|
3405
|
+
_context6.t0 = _context6["catch"](19);
|
|
3319
3406
|
setLoading(false);
|
|
3320
3407
|
|
|
3321
3408
|
if (axios.isAxiosError(_context6.t0)) {
|
|
@@ -3345,11 +3432,11 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3345
3432
|
|
|
3346
3433
|
return _context6.abrupt("return");
|
|
3347
3434
|
|
|
3348
|
-
case
|
|
3349
|
-
_context6.next =
|
|
3435
|
+
case 36:
|
|
3436
|
+
_context6.next = 38;
|
|
3350
3437
|
return getProfileData();
|
|
3351
3438
|
|
|
3352
|
-
case
|
|
3439
|
+
case 38:
|
|
3353
3440
|
profileData = _context6.sent;
|
|
3354
3441
|
profileSpecifiedData = _get(profileData, 'data.data');
|
|
3355
3442
|
profileDataObj = setLoggedUserData$1(profileSpecifiedData);
|
|
@@ -3359,18 +3446,23 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3359
3446
|
}
|
|
3360
3447
|
|
|
3361
3448
|
checkoutBody = collectCheckoutBody(values, profileDataObj);
|
|
3362
|
-
|
|
3449
|
+
|
|
3450
|
+
if (isWindowDefined) {
|
|
3451
|
+
addAddOnsInAttributes(checkoutBody);
|
|
3452
|
+
}
|
|
3453
|
+
|
|
3454
|
+
_context6.next = 46;
|
|
3363
3455
|
return postOnCheckout(checkoutBody);
|
|
3364
3456
|
|
|
3365
|
-
case
|
|
3457
|
+
case 46:
|
|
3366
3458
|
res = _context6.sent;
|
|
3367
3459
|
removeReferralKey();
|
|
3368
3460
|
handleSubmit(values, formikHelpers, eventId, res);
|
|
3369
|
-
_context6.next =
|
|
3461
|
+
_context6.next = 55;
|
|
3370
3462
|
break;
|
|
3371
3463
|
|
|
3372
|
-
case
|
|
3373
|
-
_context6.prev =
|
|
3464
|
+
case 51:
|
|
3465
|
+
_context6.prev = 51;
|
|
3374
3466
|
_context6.t1 = _context6["catch"](0);
|
|
3375
3467
|
setLoading(false);
|
|
3376
3468
|
|
|
@@ -3391,17 +3483,17 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3391
3483
|
onSubmitError(_context6.t1);
|
|
3392
3484
|
}
|
|
3393
3485
|
|
|
3394
|
-
case
|
|
3395
|
-
_context6.prev =
|
|
3486
|
+
case 55:
|
|
3487
|
+
_context6.prev = 55;
|
|
3396
3488
|
setLoading(false);
|
|
3397
|
-
return _context6.finish(
|
|
3489
|
+
return _context6.finish(55);
|
|
3398
3490
|
|
|
3399
|
-
case
|
|
3491
|
+
case 58:
|
|
3400
3492
|
case "end":
|
|
3401
3493
|
return _context6.stop();
|
|
3402
3494
|
}
|
|
3403
3495
|
}
|
|
3404
|
-
}, _callee6, null, [[0,
|
|
3496
|
+
}, _callee6, null, [[0, 51, 55, 58], [19, 31]]);
|
|
3405
3497
|
}));
|
|
3406
3498
|
|
|
3407
3499
|
function onSubmit(_x2, _x3) {
|
|
@@ -3488,7 +3580,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref3) {
|
|
|
3488
3580
|
return ['password', 'confirmPassword', 'password-info'].includes(element.name) && isLoggedIn ? null : React__default.createElement(React__default.Fragment, {
|
|
3489
3581
|
key: element.uniqueId
|
|
3490
3582
|
}, React__default.createElement("div", {
|
|
3491
|
-
className: element.className
|
|
3583
|
+
className: element.className + " " + (props == null ? void 0 : props.errors[element.name])
|
|
3492
3584
|
}, element.component ? element.component : React__default.createElement(formik.Field, {
|
|
3493
3585
|
setPhoneValidationIsLoading: element.type === 'phone' ? setPhoneValidationIsLoading : undefined,
|
|
3494
3586
|
name: element.name,
|
|
@@ -3960,7 +4052,8 @@ var initialOrderValues = {
|
|
|
3960
4052
|
quantity: '',
|
|
3961
4053
|
price: '',
|
|
3962
4054
|
total: '',
|
|
3963
|
-
currency: ''
|
|
4055
|
+
currency: '',
|
|
4056
|
+
add_ons: []
|
|
3964
4057
|
};
|
|
3965
4058
|
var initialReviewValues = {
|
|
3966
4059
|
order_details: {
|
|
@@ -4061,7 +4154,8 @@ var PaymentContainer = function PaymentContainer(_ref) {
|
|
|
4061
4154
|
quantity: ticket == null ? void 0 : ticket.quantity,
|
|
4062
4155
|
price: ticket == null ? void 0 : ticket.price,
|
|
4063
4156
|
total: order_details == null ? void 0 : order_details.total,
|
|
4064
|
-
currency: order_details == null ? void 0 : order_details.currency
|
|
4157
|
+
currency: order_details == null ? void 0 : order_details.currency,
|
|
4158
|
+
add_ons: (order_details == null ? void 0 : order_details.add_ons) || []
|
|
4065
4159
|
};
|
|
4066
4160
|
setOrderData(_orderData);
|
|
4067
4161
|
onGetPaymentDataSuccess(response.data);
|
|
@@ -4232,6 +4326,13 @@ var PaymentContainer = function PaymentContainer(_ref) {
|
|
|
4232
4326
|
className = _field$className === void 0 ? '' : _field$className,
|
|
4233
4327
|
_field$normalizer = field.normalizer,
|
|
4234
4328
|
normalizer = _field$normalizer === void 0 ? _identity : _field$normalizer;
|
|
4329
|
+
var currency = orderData.currency;
|
|
4330
|
+
var value = orderData[id];
|
|
4331
|
+
|
|
4332
|
+
if (field.id === 'add_ons' && _isEmpty(value)) {
|
|
4333
|
+
return false;
|
|
4334
|
+
}
|
|
4335
|
+
|
|
4235
4336
|
return React__default.createElement("div", {
|
|
4236
4337
|
key: id,
|
|
4237
4338
|
className: "order_info_block"
|
|
@@ -4239,7 +4340,16 @@ var PaymentContainer = function PaymentContainer(_ref) {
|
|
|
4239
4340
|
className: "order_info_title"
|
|
4240
4341
|
}, label), React__default.createElement("div", {
|
|
4241
4342
|
className: className + " order_info_text"
|
|
4242
|
-
}, normalizer(
|
|
4343
|
+
}, typeof value === 'string' ? normalizer(value, currency) : _map(value, function (item) {
|
|
4344
|
+
return React__default.createElement("div", {
|
|
4345
|
+
key: item.id,
|
|
4346
|
+
className: "add-on-container"
|
|
4347
|
+
}, React__default.createElement("span", null, item.quantity), React__default.createElement("span", {
|
|
4348
|
+
className: "add-on-x"
|
|
4349
|
+
}, ' x '), React__default.createElement("span", null, item.groupName ? item.groupName + ' - ' : ''), React__default.createElement("span", null, item.name), React__default.createElement("span", null, ' - '), React__default.createElement("span", null, currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.price)), currency)), React__default.createElement("span", {
|
|
4350
|
+
className: "add-on-each"
|
|
4351
|
+
}, ' each'));
|
|
4352
|
+
})));
|
|
4243
4353
|
})), enablePaymentPlan && React__default.createElement("div", {
|
|
4244
4354
|
className: "payment_toggle"
|
|
4245
4355
|
}, React__default.createElement("label", {
|
|
@@ -5187,15 +5297,15 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5187
5297
|
_ref$contentStyle = _ref.contentStyle,
|
|
5188
5298
|
contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle,
|
|
5189
5299
|
_ref$onAddToCartError = _ref.onAddToCartError,
|
|
5190
|
-
onAddToCartError = _ref$onAddToCartError === void 0 ?
|
|
5300
|
+
onAddToCartError = _ref$onAddToCartError === void 0 ? _identity : _ref$onAddToCartError,
|
|
5191
5301
|
_ref$onGetTicketsSucc = _ref.onGetTicketsSuccess,
|
|
5192
|
-
onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ?
|
|
5302
|
+
onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ? _identity : _ref$onGetTicketsSucc,
|
|
5193
5303
|
_ref$onGetTicketsErro = _ref.onGetTicketsError,
|
|
5194
|
-
onGetTicketsError = _ref$onGetTicketsErro === void 0 ?
|
|
5304
|
+
onGetTicketsError = _ref$onGetTicketsErro === void 0 ? _identity : _ref$onGetTicketsErro,
|
|
5195
5305
|
_ref$onLogoutSuccess = _ref.onLogoutSuccess,
|
|
5196
|
-
onLogoutSuccess = _ref$onLogoutSuccess === void 0 ?
|
|
5306
|
+
onLogoutSuccess = _ref$onLogoutSuccess === void 0 ? _identity : _ref$onLogoutSuccess,
|
|
5197
5307
|
_ref$onLogoutError = _ref.onLogoutError,
|
|
5198
|
-
onLogoutError = _ref$onLogoutError === void 0 ?
|
|
5308
|
+
onLogoutError = _ref$onLogoutError === void 0 ? _identity : _ref$onLogoutError,
|
|
5199
5309
|
_ref$theme = _ref.theme,
|
|
5200
5310
|
theme = _ref$theme === void 0 ? 'light' : _ref$theme,
|
|
5201
5311
|
_ref$queryPromoCode = _ref.queryPromoCode,
|
|
@@ -5421,6 +5531,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5421
5531
|
|
|
5422
5532
|
if (axios.isAxiosError(_context3.t0)) {
|
|
5423
5533
|
onGetTicketsError(_context3.t0);
|
|
5534
|
+
setError(_get(_context3.t0, 'response.data.message'));
|
|
5424
5535
|
}
|
|
5425
5536
|
|
|
5426
5537
|
case 16:
|
|
@@ -5465,7 +5576,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5465
5576
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
|
|
5466
5577
|
var _product_options, _product_options2, _ticket_types;
|
|
5467
5578
|
|
|
5468
|
-
var ticket, optionName, ticketId, ticketQuantity, data, result,
|
|
5579
|
+
var ticket, optionName, ticketId, ticketQuantity, data, result, pageConfigsDataResponse, _pageConfigsData$skip, _pageConfigsData$name, _pageConfigsData$age_, _pageConfigsData$phon, _pageConfigsData$has_, pageConfigsData, skipBillingPage, nameIsRequired, ageIsRequired, phoneIsRequired, hasAddOn, hash, total, _isWindowDefined, userData, access_token, checkoutBody, checkoutResult;
|
|
5469
5580
|
|
|
5470
5581
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
5471
5582
|
while (1) {
|
|
@@ -5496,52 +5607,60 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5496
5607
|
|
|
5497
5608
|
case 9:
|
|
5498
5609
|
result = _context2.sent;
|
|
5610
|
+
_context2.next = 12;
|
|
5611
|
+
return getCheckoutPageConfigs();
|
|
5499
5612
|
|
|
5500
|
-
|
|
5501
|
-
|
|
5613
|
+
case 12:
|
|
5614
|
+
pageConfigsDataResponse = _context2.sent;
|
|
5615
|
+
|
|
5616
|
+
if (!(result.status === 200 && pageConfigsDataResponse.status === 200)) {
|
|
5617
|
+
_context2.next = 39;
|
|
5502
5618
|
break;
|
|
5503
5619
|
}
|
|
5504
5620
|
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5621
|
+
pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {};
|
|
5622
|
+
skipBillingPage = (_pageConfigsData$skip = pageConfigsData.skip_billing_page) != null ? _pageConfigsData$skip : false;
|
|
5623
|
+
nameIsRequired = (_pageConfigsData$name = pageConfigsData.names_required) != null ? _pageConfigsData$name : false;
|
|
5624
|
+
ageIsRequired = (_pageConfigsData$age_ = pageConfigsData.age_required) != null ? _pageConfigsData$age_ : false;
|
|
5625
|
+
phoneIsRequired = (_pageConfigsData$phon = pageConfigsData.phone_required) != null ? _pageConfigsData$phon : false;
|
|
5626
|
+
hasAddOn = (_pageConfigsData$has_ = pageConfigsData.has_add_on) != null ? _pageConfigsData$has_ : false;
|
|
5509
5627
|
hash = '';
|
|
5510
5628
|
total = '';
|
|
5629
|
+
_isWindowDefined = typeof window !== 'undefined';
|
|
5630
|
+
_isWindowDefined && window.localStorage.removeItem('add_ons');
|
|
5511
5631
|
|
|
5512
|
-
if (!skipBillingPage) {
|
|
5513
|
-
_context2.next =
|
|
5632
|
+
if (!(skipBillingPage && !hasAddOn)) {
|
|
5633
|
+
_context2.next = 38;
|
|
5514
5634
|
break;
|
|
5515
5635
|
}
|
|
5516
5636
|
|
|
5517
5637
|
// Get user data for checkout data
|
|
5518
|
-
_isWindowDefined = typeof window !== 'undefined';
|
|
5519
5638
|
userData = _isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
|
|
5520
5639
|
access_token = _isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
|
|
5521
5640
|
checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketQuantity, userData);
|
|
5522
5641
|
|
|
5523
5642
|
if (!enableBillingInfoAutoCreate) {
|
|
5524
|
-
_context2.next =
|
|
5643
|
+
_context2.next = 34;
|
|
5525
5644
|
break;
|
|
5526
5645
|
}
|
|
5527
5646
|
|
|
5528
|
-
_context2.next =
|
|
5647
|
+
_context2.next = 31;
|
|
5529
5648
|
return postOnCheckout(checkoutBody, access_token);
|
|
5530
5649
|
|
|
5531
|
-
case
|
|
5650
|
+
case 31:
|
|
5532
5651
|
_context2.t0 = _context2.sent;
|
|
5533
|
-
_context2.next =
|
|
5652
|
+
_context2.next = 35;
|
|
5534
5653
|
break;
|
|
5535
5654
|
|
|
5536
|
-
case
|
|
5655
|
+
case 34:
|
|
5537
5656
|
_context2.t0 = null;
|
|
5538
5657
|
|
|
5539
|
-
case
|
|
5658
|
+
case 35:
|
|
5540
5659
|
checkoutResult = _context2.t0;
|
|
5541
5660
|
hash = _get(checkoutResult, 'data.data.attributes.hash');
|
|
5542
5661
|
total = _get(checkoutResult, 'data.data.attributes.total');
|
|
5543
5662
|
|
|
5544
|
-
case
|
|
5663
|
+
case 38:
|
|
5545
5664
|
onAddToCartSuccess({
|
|
5546
5665
|
skip_billing_page: skipBillingPage,
|
|
5547
5666
|
names_required: nameIsRequired,
|
|
@@ -5549,15 +5668,16 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5549
5668
|
age_required: ageIsRequired,
|
|
5550
5669
|
event_id: String(eventId),
|
|
5551
5670
|
hash: hash,
|
|
5552
|
-
total: total
|
|
5671
|
+
total: total,
|
|
5672
|
+
hasAddOn: hasAddOn
|
|
5553
5673
|
});
|
|
5554
5674
|
|
|
5555
|
-
case
|
|
5556
|
-
_context2.next =
|
|
5675
|
+
case 39:
|
|
5676
|
+
_context2.next = 44;
|
|
5557
5677
|
break;
|
|
5558
5678
|
|
|
5559
|
-
case
|
|
5560
|
-
_context2.prev =
|
|
5679
|
+
case 41:
|
|
5680
|
+
_context2.prev = 41;
|
|
5561
5681
|
_context2.t1 = _context2["catch"](6);
|
|
5562
5682
|
|
|
5563
5683
|
if (axios.isAxiosError(_context2.t1)) {
|
|
@@ -5565,17 +5685,17 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5565
5685
|
setError(_get(_context2.t1, 'response.data.message'));
|
|
5566
5686
|
}
|
|
5567
5687
|
|
|
5568
|
-
case
|
|
5569
|
-
_context2.prev =
|
|
5688
|
+
case 44:
|
|
5689
|
+
_context2.prev = 44;
|
|
5570
5690
|
setHandleBookIsLoading(false);
|
|
5571
|
-
return _context2.finish(
|
|
5691
|
+
return _context2.finish(44);
|
|
5572
5692
|
|
|
5573
|
-
case
|
|
5693
|
+
case 47:
|
|
5574
5694
|
case "end":
|
|
5575
5695
|
return _context2.stop();
|
|
5576
5696
|
}
|
|
5577
5697
|
}
|
|
5578
|
-
}, _callee2, null, [[6,
|
|
5698
|
+
}, _callee2, null, [[6, 41, 44, 47]]);
|
|
5579
5699
|
}));
|
|
5580
5700
|
|
|
5581
5701
|
return function handleBook() {
|
|
@@ -6644,7 +6764,7 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
|
|
|
6644
6764
|
window.location.assign('/orders');
|
|
6645
6765
|
}
|
|
6646
6766
|
}
|
|
6647
|
-
}, "Back to Orders")))), React__default.createElement("div", {
|
|
6767
|
+
}, "Back to Orders")))), !(data != null && data.disable_referral) && React__default.createElement("div", {
|
|
6648
6768
|
className: "personal-link"
|
|
6649
6769
|
}, React__default.createElement("div", {
|
|
6650
6770
|
className: "link-item"
|
|
@@ -6950,6 +7070,695 @@ var TicketResaleContainer = function TicketResaleContainer(_ref) {
|
|
|
6950
7070
|
}, React__default.createElement("h3", null, successMessage ? successMessage : error)));
|
|
6951
7071
|
};
|
|
6952
7072
|
|
|
7073
|
+
var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
|
|
7074
|
+
var addonsData = _extends({}, data);
|
|
7075
|
+
|
|
7076
|
+
var addOnsGroups = _get(addonsData, 'add_on_groups', []);
|
|
7077
|
+
|
|
7078
|
+
var addons = _get(addonsData, 'add_ons', []);
|
|
7079
|
+
|
|
7080
|
+
if (!_isEmpty(addOnsGroups)) {
|
|
7081
|
+
var addOnGroupsWithVariants = [];
|
|
7082
|
+
var addOnsWithoutVariants = [];
|
|
7083
|
+
addons.forEach(function (addon) {
|
|
7084
|
+
if (addon.attributes.addOnGroupId) {
|
|
7085
|
+
// Collect addons groups inside with their variants
|
|
7086
|
+
var currentGroupId = addon.attributes.addOnGroupId;
|
|
7087
|
+
var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
|
|
7088
|
+
return item.id === currentGroupId;
|
|
7089
|
+
});
|
|
7090
|
+
|
|
7091
|
+
if (addOnGroupsWithVariants[exsistingGroupIndex]) {
|
|
7092
|
+
var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
|
|
7093
|
+
addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
|
|
7094
|
+
variants: [].concat(addOnGroup.variants, addon.attributes)
|
|
7095
|
+
});
|
|
7096
|
+
} else {
|
|
7097
|
+
var group = addOnsGroups.find(function (group) {
|
|
7098
|
+
return group.attributes.id === currentGroupId;
|
|
7099
|
+
}) || {};
|
|
7100
|
+
addOnGroupsWithVariants.push(_extends({}, group.attributes, {
|
|
7101
|
+
variants: [].concat(addon.attributes)
|
|
7102
|
+
}));
|
|
7103
|
+
}
|
|
7104
|
+
} else {
|
|
7105
|
+
addOnsWithoutVariants.push(addon.attributes);
|
|
7106
|
+
}
|
|
7107
|
+
});
|
|
7108
|
+
return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
|
|
7109
|
+
} // Adapt only simple addons data
|
|
7110
|
+
|
|
7111
|
+
|
|
7112
|
+
var adaptedAddons = addons.map(function (addon) {
|
|
7113
|
+
return _extends({}, addon.attributes);
|
|
7114
|
+
});
|
|
7115
|
+
return adaptedAddons;
|
|
7116
|
+
};
|
|
7117
|
+
var cartAdapter = function cartAdapter(cart) {
|
|
7118
|
+
var cartData = _get(cart, 'data.data.attributes', []);
|
|
7119
|
+
|
|
7120
|
+
var expiresAt = cartData.expiresAt,
|
|
7121
|
+
carts_arr = cartData.cart;
|
|
7122
|
+
|
|
7123
|
+
var _ref = carts_arr[0] || {},
|
|
7124
|
+
id = _ref.id,
|
|
7125
|
+
quantity = _ref.quantity;
|
|
7126
|
+
|
|
7127
|
+
return {
|
|
7128
|
+
id: id,
|
|
7129
|
+
quantity: quantity,
|
|
7130
|
+
expiresAt: expiresAt
|
|
7131
|
+
};
|
|
7132
|
+
};
|
|
7133
|
+
|
|
7134
|
+
var AddonComponent = function AddonComponent(_ref) {
|
|
7135
|
+
var _ref$classNamePrefix = _ref.classNamePrefix,
|
|
7136
|
+
classNamePrefix = _ref$classNamePrefix === void 0 ? '' : _ref$classNamePrefix,
|
|
7137
|
+
data = _ref.data,
|
|
7138
|
+
selectOptions = _ref.selectOptions,
|
|
7139
|
+
_ref$handleAddonChang = _ref.handleAddonChange,
|
|
7140
|
+
handleAddonChange = _ref$handleAddonChang === void 0 ? _identity : _ref$handleAddonChang;
|
|
7141
|
+
var id = data.id,
|
|
7142
|
+
name = data.name,
|
|
7143
|
+
active = data.active,
|
|
7144
|
+
stock = data.stock;
|
|
7145
|
+
return React__default.createElement("div", {
|
|
7146
|
+
key: id,
|
|
7147
|
+
className: classNamePrefix + "_product_select_container"
|
|
7148
|
+
}, React__default.createElement("div", {
|
|
7149
|
+
className: classNamePrefix + "_product_select_block",
|
|
7150
|
+
key: name
|
|
7151
|
+
}, React__default.createElement("div", {
|
|
7152
|
+
className: classNamePrefix + "_product_size"
|
|
7153
|
+
}, name), React__default.createElement("div", {
|
|
7154
|
+
className: classNamePrefix + "_product_qty_select_block"
|
|
7155
|
+
}, !active || !_isNull(stock) && stock <= 0 ? React__default.createElement("div", {
|
|
7156
|
+
className: "sold_out"
|
|
7157
|
+
}, "SOLD OUT") : React__default.createElement("div", {
|
|
7158
|
+
className: classNamePrefix + "_product_qty_select"
|
|
7159
|
+
}, React__default.createElement(formik.Field, {
|
|
7160
|
+
name: id,
|
|
7161
|
+
selectOptions: selectOptions,
|
|
7162
|
+
component: SelectField,
|
|
7163
|
+
onChange: function onChange(e) {
|
|
7164
|
+
var value = e.target.value;
|
|
7165
|
+
handleAddonChange(id, value);
|
|
7166
|
+
}
|
|
7167
|
+
})))));
|
|
7168
|
+
};
|
|
7169
|
+
|
|
7170
|
+
var getNormalizedPrice = function getNormalizedPrice(value) {
|
|
7171
|
+
var minimizedValue = Number(value) / 100;
|
|
7172
|
+
var normalized = minimizedValue.toFixed(2);
|
|
7173
|
+
return normalized;
|
|
7174
|
+
};
|
|
7175
|
+
|
|
7176
|
+
var generateSelectOptions = function generateSelectOptions(minCount, maxCount) {
|
|
7177
|
+
if (minCount === void 0) {
|
|
7178
|
+
minCount = 1;
|
|
7179
|
+
}
|
|
7180
|
+
|
|
7181
|
+
if (maxCount === void 0) {
|
|
7182
|
+
maxCount = 10;
|
|
7183
|
+
}
|
|
7184
|
+
|
|
7185
|
+
var options = [];
|
|
7186
|
+
|
|
7187
|
+
for (var i = minCount; i <= maxCount; i++) {
|
|
7188
|
+
options.push({
|
|
7189
|
+
label: i,
|
|
7190
|
+
value: i
|
|
7191
|
+
});
|
|
7192
|
+
}
|
|
7193
|
+
|
|
7194
|
+
return options;
|
|
7195
|
+
};
|
|
7196
|
+
|
|
7197
|
+
var generateStockBasedOnLimitations = function generateStockBasedOnLimitations(addon, ticketQuantity) {
|
|
7198
|
+
// Generate addon available stock count based on limitations
|
|
7199
|
+
var flagLimitToTicketQuantity = addon.flagLimitToTicketQuantity,
|
|
7200
|
+
maxQuantity = addon.maxQuantity,
|
|
7201
|
+
limitPerTicket = addon.limitPerTicket;
|
|
7202
|
+
var allowedStockCount; // Generate stock
|
|
7203
|
+
|
|
7204
|
+
if (flagLimitToTicketQuantity) {
|
|
7205
|
+
// Limited to ticket quantity case
|
|
7206
|
+
allowedStockCount = ticketQuantity;
|
|
7207
|
+
} else if (maxQuantity && limitPerTicket) {
|
|
7208
|
+
var stockBasedOnLimitPerTicket = limitPerTicket * ticketQuantity; // Both maximum quantity and limited to per ticket selected case, stock is minimum of them
|
|
7209
|
+
|
|
7210
|
+
allowedStockCount = maxQuantity <= stockBasedOnLimitPerTicket ? maxQuantity : stockBasedOnLimitPerTicket;
|
|
7211
|
+
} else if (maxQuantity && !limitPerTicket) {
|
|
7212
|
+
// Limited to maximum quantity case
|
|
7213
|
+
allowedStockCount = maxQuantity;
|
|
7214
|
+
} else if (!maxQuantity && limitPerTicket) {
|
|
7215
|
+
// Limited to per ticket case
|
|
7216
|
+
allowedStockCount = limitPerTicket * ticketQuantity;
|
|
7217
|
+
}
|
|
7218
|
+
|
|
7219
|
+
return Number(allowedStockCount);
|
|
7220
|
+
};
|
|
7221
|
+
|
|
7222
|
+
var filterStockBasedOnAvailability = function filterStockBasedOnAvailability(generatedStock, availableStock) {
|
|
7223
|
+
// Check generated stock count admissibility with addon stock availability
|
|
7224
|
+
var filteredStockCount = generatedStock;
|
|
7225
|
+
|
|
7226
|
+
if (generatedStock) {
|
|
7227
|
+
if (generatedStock > availableStock && !_isNull(availableStock)) {
|
|
7228
|
+
filteredStockCount = availableStock;
|
|
7229
|
+
}
|
|
7230
|
+
} else {
|
|
7231
|
+
// Not set any restriction
|
|
7232
|
+
// Here 10 value is business logic
|
|
7233
|
+
filteredStockCount = 10;
|
|
7234
|
+
|
|
7235
|
+
if (!_isNull(availableStock) && availableStock < filteredStockCount) {
|
|
7236
|
+
filteredStockCount = availableStock;
|
|
7237
|
+
}
|
|
7238
|
+
}
|
|
7239
|
+
|
|
7240
|
+
return filteredStockCount;
|
|
7241
|
+
};
|
|
7242
|
+
|
|
7243
|
+
var getAddonSelectOptions = function getAddonSelectOptions(addons, choosedTicketCount) {
|
|
7244
|
+
var addonsWithOptions = {};
|
|
7245
|
+
var groupsWithSelectedVariantsInfo = {};
|
|
7246
|
+
var groupsWithVariants = {};
|
|
7247
|
+
addons.forEach(function (addon) {
|
|
7248
|
+
// Here addon can act either as simple Addon or Addon Group
|
|
7249
|
+
var id = addon.id,
|
|
7250
|
+
simpleAddonStock = addon.stock,
|
|
7251
|
+
variants = addon.variants,
|
|
7252
|
+
active = addon.active,
|
|
7253
|
+
flagLimitToTicketQuantity = addon.flagLimitToTicketQuantity,
|
|
7254
|
+
maxQuantity = addon.maxQuantity,
|
|
7255
|
+
limitPerTicket = addon.limitPerTicket;
|
|
7256
|
+
|
|
7257
|
+
if (variants) {
|
|
7258
|
+
// Addon Group with inside addon variants case
|
|
7259
|
+
variants.forEach(function (variant) {
|
|
7260
|
+
var variantId = variant.id,
|
|
7261
|
+
variantStock = variant.stock; // null checking is for unlimited stock value
|
|
7262
|
+
|
|
7263
|
+
if (active && (variantStock > 0 || _isNull(variantStock))) {
|
|
7264
|
+
var _extends3;
|
|
7265
|
+
|
|
7266
|
+
// Generate Addon Group allowed stock count based on limitations
|
|
7267
|
+
var stockBasedOnLimitation = generateStockBasedOnLimitations(addon, choosedTicketCount); // Detect if group has limitation or not
|
|
7268
|
+
|
|
7269
|
+
if (flagLimitToTicketQuantity || maxQuantity || limitPerTicket) {
|
|
7270
|
+
// Generate Group with inside variants info
|
|
7271
|
+
if (groupsWithSelectedVariantsInfo[id]) {
|
|
7272
|
+
var _extends2;
|
|
7273
|
+
|
|
7274
|
+
// Set group limit
|
|
7275
|
+
if (groupsWithSelectedVariantsInfo[id].limit < stockBasedOnLimitation) {
|
|
7276
|
+
groupsWithSelectedVariantsInfo[id].limit = stockBasedOnLimitation;
|
|
7277
|
+
} // Set choosed variants info
|
|
7278
|
+
|
|
7279
|
+
|
|
7280
|
+
groupsWithSelectedVariantsInfo[id] = _extends({}, groupsWithSelectedVariantsInfo[id], {
|
|
7281
|
+
choosedVariants: _extends({}, groupsWithSelectedVariantsInfo[id].choosedVariants, (_extends2 = {}, _extends2[variantId] = 0, _extends2))
|
|
7282
|
+
});
|
|
7283
|
+
} else {
|
|
7284
|
+
var _choosedVariants;
|
|
7285
|
+
|
|
7286
|
+
groupsWithSelectedVariantsInfo[id] = {
|
|
7287
|
+
limit: stockBasedOnLimitation,
|
|
7288
|
+
selectedCount: 0,
|
|
7289
|
+
choosedVariants: (_choosedVariants = {}, _choosedVariants[variantId] = 0, _choosedVariants)
|
|
7290
|
+
};
|
|
7291
|
+
}
|
|
7292
|
+
} // Check stock admissibility with addon stock availability
|
|
7293
|
+
|
|
7294
|
+
|
|
7295
|
+
var allowedVariantStockCount = filterStockBasedOnAvailability(stockBasedOnLimitation, variantStock); // Generate options for variant
|
|
7296
|
+
|
|
7297
|
+
var variantOptions = generateSelectOptions(0, allowedVariantStockCount);
|
|
7298
|
+
addonsWithOptions[variantId] = [].concat(variantOptions); // Generate Group with its variants list
|
|
7299
|
+
|
|
7300
|
+
groupsWithVariants[id] = _extends({}, groupsWithVariants[id], (_extends3 = {}, _extends3[variantId] = allowedVariantStockCount, _extends3));
|
|
7301
|
+
}
|
|
7302
|
+
});
|
|
7303
|
+
} else {
|
|
7304
|
+
// Simple addon case, null checking is for unlimited stock value
|
|
7305
|
+
if (active && (simpleAddonStock > 0 || _isNull(simpleAddonStock))) {
|
|
7306
|
+
// Generate Addon Group allowed stock count based on limitations
|
|
7307
|
+
var stockBasedOnLimitation = generateStockBasedOnLimitations(addon, choosedTicketCount); // Check stock admissibility with addon stock availability
|
|
7308
|
+
|
|
7309
|
+
var allowedVariantStockCount = filterStockBasedOnAvailability(stockBasedOnLimitation, simpleAddonStock);
|
|
7310
|
+
var addonOptions = generateSelectOptions(0, allowedVariantStockCount);
|
|
7311
|
+
addonsWithOptions[id] = [].concat(addonOptions);
|
|
7312
|
+
}
|
|
7313
|
+
}
|
|
7314
|
+
});
|
|
7315
|
+
return {
|
|
7316
|
+
addonsWithOptions: addonsWithOptions,
|
|
7317
|
+
groupsWithSelectedVariantsInfo: groupsWithSelectedVariantsInfo,
|
|
7318
|
+
groupsWithVariants: groupsWithVariants
|
|
7319
|
+
};
|
|
7320
|
+
};
|
|
7321
|
+
var getTicketRelatedAddons = function getTicketRelatedAddons(addons, ticketId) {
|
|
7322
|
+
// Filter addons based on choosed ticket
|
|
7323
|
+
var filteredAddons = addons.filter(function (addon) {
|
|
7324
|
+
return _isNull(addon.prerequisiteTicketTypeIds) || addon.prerequisiteTicketTypeIds.includes(ticketId);
|
|
7325
|
+
});
|
|
7326
|
+
return filteredAddons;
|
|
7327
|
+
};
|
|
7328
|
+
var getSortedAddons = function getSortedAddons(addons, sortDirection) {
|
|
7329
|
+
if (sortDirection === void 0) {
|
|
7330
|
+
sortDirection = 'asc';
|
|
7331
|
+
}
|
|
7332
|
+
|
|
7333
|
+
var addonsCopy = [].concat(addons);
|
|
7334
|
+
addonsCopy.forEach(function (addon) {
|
|
7335
|
+
if (addon.variants) {
|
|
7336
|
+
var unsortedVariants = [];
|
|
7337
|
+
addon.variants.forEach(function (variant) {
|
|
7338
|
+
unsortedVariants.push(_extends({}, variant, {
|
|
7339
|
+
sortOrder: Number(variant.sortOrder)
|
|
7340
|
+
}));
|
|
7341
|
+
});
|
|
7342
|
+
addon.sortOrder = Number(addon.variants[0].sortOrder);
|
|
7343
|
+
|
|
7344
|
+
var sortedVariants = _sortBy(unsortedVariants, function (variant) {
|
|
7345
|
+
return variant.sortOrder;
|
|
7346
|
+
});
|
|
7347
|
+
|
|
7348
|
+
addon.variants = sortedVariants;
|
|
7349
|
+
} else {
|
|
7350
|
+
addon.sortOrder = Number(addon.sortOrder);
|
|
7351
|
+
}
|
|
7352
|
+
});
|
|
7353
|
+
|
|
7354
|
+
var sortedAddons = _sortBy(addonsCopy, function (addon) {
|
|
7355
|
+
return addon.sortOrder;
|
|
7356
|
+
});
|
|
7357
|
+
|
|
7358
|
+
if (sortDirection === 'desc') {
|
|
7359
|
+
return _reverse(sortedAddons);
|
|
7360
|
+
}
|
|
7361
|
+
|
|
7362
|
+
return sortedAddons;
|
|
7363
|
+
};
|
|
7364
|
+
var isAtLeastOneAddonSelected = function isAtLeastOneAddonSelected(value) {
|
|
7365
|
+
var selectedAddons = Object.fromEntries(Object.entries(value).filter(function (_ref) {
|
|
7366
|
+
var count = _ref[1];
|
|
7367
|
+
return Number(count) !== 0;
|
|
7368
|
+
}));
|
|
7369
|
+
return !_isEmpty(selectedAddons);
|
|
7370
|
+
};
|
|
7371
|
+
|
|
7372
|
+
var AddonsContainter = function AddonsContainter(_ref) {
|
|
7373
|
+
var _ref$classNamePrefix = _ref.classNamePrefix,
|
|
7374
|
+
classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
|
|
7375
|
+
_ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
|
|
7376
|
+
enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
|
|
7377
|
+
_ref$enableTimer = _ref.enableTimer,
|
|
7378
|
+
enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
|
|
7379
|
+
_ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
|
|
7380
|
+
onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
|
|
7381
|
+
_ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
|
|
7382
|
+
onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
|
|
7383
|
+
_ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
|
|
7384
|
+
onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
|
|
7385
|
+
_ref$onPostCheckoutEr = _ref.onPostCheckoutError,
|
|
7386
|
+
onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
|
|
7387
|
+
_ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
|
|
7388
|
+
onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
|
|
7389
|
+
_ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
|
|
7390
|
+
onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
|
|
7391
|
+
_ref$onCountdownFinis = _ref.onCountdownFinish,
|
|
7392
|
+
_onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis;
|
|
7393
|
+
|
|
7394
|
+
var eventId = getQueryVariable('event_id');
|
|
7395
|
+
|
|
7396
|
+
var _useState = React.useState([]),
|
|
7397
|
+
addons = _useState[0],
|
|
7398
|
+
setAddons = _useState[1];
|
|
7399
|
+
|
|
7400
|
+
var _useState2 = React.useState({}),
|
|
7401
|
+
addonsOptions = _useState2[0],
|
|
7402
|
+
setAddonsOptions = _useState2[1];
|
|
7403
|
+
|
|
7404
|
+
var _useState3 = React.useState({}),
|
|
7405
|
+
groupsWithSelectedVariants = _useState3[0],
|
|
7406
|
+
setGroupsWithSelectedVariants = _useState3[1];
|
|
7407
|
+
|
|
7408
|
+
var _useState4 = React.useState({}),
|
|
7409
|
+
groupsWithInitialVariantsValues = _useState4[0],
|
|
7410
|
+
setGroupsWithInitialVariantsValues = _useState4[1];
|
|
7411
|
+
|
|
7412
|
+
var _useState5 = React.useState(true),
|
|
7413
|
+
loading = _useState5[0],
|
|
7414
|
+
setLoading = _useState5[1];
|
|
7415
|
+
|
|
7416
|
+
var _useState6 = React.useState(0),
|
|
7417
|
+
cartExpirationTime = _useState6[0],
|
|
7418
|
+
setCartExpirationTime = _useState6[1];
|
|
7419
|
+
|
|
7420
|
+
React.useEffect(function () {
|
|
7421
|
+
var getAddonsPageInfo = /*#__PURE__*/function () {
|
|
7422
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
|
|
7423
|
+
var cart, _cartAdapter, choosedTicketID, quantity, expiresAt, choosedTicketCount, addonsData, adaptedAddons, ticketRelatedAddons, sortedTicketAddons, _getAddonSelectOption, addonsWithOptions, groupsWithSelectedVariantsInfo, groupsWithVariants;
|
|
7424
|
+
|
|
7425
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
7426
|
+
while (1) {
|
|
7427
|
+
switch (_context.prev = _context.next) {
|
|
7428
|
+
case 0:
|
|
7429
|
+
_context.prev = 0;
|
|
7430
|
+
|
|
7431
|
+
if (!eventId) {
|
|
7432
|
+
_context.next = 21;
|
|
7433
|
+
break;
|
|
7434
|
+
}
|
|
7435
|
+
|
|
7436
|
+
setLoading(true); // Get choosed ticket info (id, count) from Cart request for addons options calculations
|
|
7437
|
+
|
|
7438
|
+
_context.next = 5;
|
|
7439
|
+
return getCart();
|
|
7440
|
+
|
|
7441
|
+
case 5:
|
|
7442
|
+
cart = _context.sent;
|
|
7443
|
+
_cartAdapter = cartAdapter(cart), choosedTicketID = _cartAdapter.id, quantity = _cartAdapter.quantity, expiresAt = _cartAdapter.expiresAt;
|
|
7444
|
+
choosedTicketCount = Number(quantity);
|
|
7445
|
+
setCartExpirationTime(expiresAt); // Get and collect addons data
|
|
7446
|
+
|
|
7447
|
+
_context.next = 11;
|
|
7448
|
+
return getAddons(eventId);
|
|
7449
|
+
|
|
7450
|
+
case 11:
|
|
7451
|
+
addonsData = _context.sent;
|
|
7452
|
+
adaptedAddons = addonsWithGroupsAdapter(addonsData);
|
|
7453
|
+
ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID);
|
|
7454
|
+
sortedTicketAddons = getSortedAddons(ticketRelatedAddons);
|
|
7455
|
+
setAddons(sortedTicketAddons); // Collect addons and addon group options
|
|
7456
|
+
|
|
7457
|
+
_getAddonSelectOption = getAddonSelectOptions(adaptedAddons, choosedTicketCount), addonsWithOptions = _getAddonSelectOption.addonsWithOptions, groupsWithSelectedVariantsInfo = _getAddonSelectOption.groupsWithSelectedVariantsInfo, groupsWithVariants = _getAddonSelectOption.groupsWithVariants;
|
|
7458
|
+
setAddonsOptions(addonsWithOptions);
|
|
7459
|
+
setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo);
|
|
7460
|
+
setGroupsWithInitialVariantsValues(groupsWithVariants); // Success callback props
|
|
7461
|
+
|
|
7462
|
+
onGetAddonsPageInfoSuccess(addonsData);
|
|
7463
|
+
|
|
7464
|
+
case 21:
|
|
7465
|
+
_context.next = 26;
|
|
7466
|
+
break;
|
|
7467
|
+
|
|
7468
|
+
case 23:
|
|
7469
|
+
_context.prev = 23;
|
|
7470
|
+
_context.t0 = _context["catch"](0);
|
|
7471
|
+
// Callback error props
|
|
7472
|
+
onGetAddonsPageInfoError(_context.t0);
|
|
7473
|
+
|
|
7474
|
+
case 26:
|
|
7475
|
+
_context.prev = 26;
|
|
7476
|
+
setLoading(false);
|
|
7477
|
+
return _context.finish(26);
|
|
7478
|
+
|
|
7479
|
+
case 29:
|
|
7480
|
+
case "end":
|
|
7481
|
+
return _context.stop();
|
|
7482
|
+
}
|
|
7483
|
+
}
|
|
7484
|
+
}, _callee, null, [[0, 23, 26, 29]]);
|
|
7485
|
+
}));
|
|
7486
|
+
|
|
7487
|
+
return function getAddonsPageInfo() {
|
|
7488
|
+
return _ref2.apply(this, arguments);
|
|
7489
|
+
};
|
|
7490
|
+
}();
|
|
7491
|
+
|
|
7492
|
+
getAddonsPageInfo();
|
|
7493
|
+
}, []);
|
|
7494
|
+
|
|
7495
|
+
var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroupd) {
|
|
7496
|
+
var choosedVariants = changedGroupd.choosedVariants,
|
|
7497
|
+
limit = changedGroupd.limit,
|
|
7498
|
+
selectedCount = changedGroupd.selectedCount;
|
|
7499
|
+
var remainingGroupStock = limit - selectedCount;
|
|
7500
|
+
var recreatedVariantsOptions = {}; // Regenerate variants allowed stock counts
|
|
7501
|
+
|
|
7502
|
+
for (var variant in choosedVariants) {
|
|
7503
|
+
var variantId = variant;
|
|
7504
|
+
var variantCurrSelectedValue = choosedVariants[variant];
|
|
7505
|
+
var allowedOptionCount = void 0; // Formula for regenerating
|
|
7506
|
+
|
|
7507
|
+
if (remainingGroupStock >= groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue) {
|
|
7508
|
+
allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId];
|
|
7509
|
+
} else {
|
|
7510
|
+
allowedOptionCount = remainingGroupStock + variantCurrSelectedValue;
|
|
7511
|
+
}
|
|
7512
|
+
|
|
7513
|
+
recreatedVariantsOptions[variantId] = generateSelectOptions(0, allowedOptionCount);
|
|
7514
|
+
}
|
|
7515
|
+
|
|
7516
|
+
setAddonsOptions(function (prevState) {
|
|
7517
|
+
return Object.assign({}, prevState, recreatedVariantsOptions);
|
|
7518
|
+
});
|
|
7519
|
+
};
|
|
7520
|
+
|
|
7521
|
+
var onFieldChange = function onFieldChange(id, value, addon) {
|
|
7522
|
+
// If changeableGroup exsists it means that group with limitation variant was changed
|
|
7523
|
+
var changeableGroup = groupsWithSelectedVariants[addon.id];
|
|
7524
|
+
|
|
7525
|
+
if (changeableGroup) {
|
|
7526
|
+
var _extends2, _extends3;
|
|
7527
|
+
|
|
7528
|
+
var currGroupId = addon.id;
|
|
7529
|
+
var currSelectedVariantId = id;
|
|
7530
|
+
var currSelectedVariantCount = Number(value);
|
|
7531
|
+
var currSelectedVariantPrevCount = groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId];
|
|
7532
|
+
var currSelectedGroupCount = changeableGroup.selectedCount + (currSelectedVariantCount - currSelectedVariantPrevCount); // Update Group info
|
|
7533
|
+
|
|
7534
|
+
var updatedGroupsWithSelectedVariants = _extends({}, groupsWithSelectedVariants, (_extends3 = {}, _extends3[currGroupId] = _extends({}, groupsWithSelectedVariants[currGroupId], {
|
|
7535
|
+
selectedCount: currSelectedGroupCount,
|
|
7536
|
+
choosedVariants: _extends({}, groupsWithSelectedVariants[currGroupId].choosedVariants, (_extends2 = {}, _extends2[currSelectedVariantId] = currSelectedVariantCount, _extends2))
|
|
7537
|
+
}), _extends3));
|
|
7538
|
+
|
|
7539
|
+
setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants); // Recreate Select Options for Addon Group Variants
|
|
7540
|
+
|
|
7541
|
+
recreateGroupVariantsSelectOptions(currGroupId, updatedGroupsWithSelectedVariants[currGroupId]);
|
|
7542
|
+
}
|
|
7543
|
+
};
|
|
7544
|
+
|
|
7545
|
+
var handleConfirm = /*#__PURE__*/function () {
|
|
7546
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(values, skipAddonPage) {
|
|
7547
|
+
var _pageConfigsData$skip, _pageConfigsData$name, _pageConfigsData$age_, _pageConfigsData$phon, _pageConfigsData$has_, pageConfigsDataResponse, pageConfigsData, isWindowDefined, skipBillingPage, nameIsRequired, ageIsRequired, phoneIsRequired, hasAddOn, ticketsQuantity, userData, checkoutBody, checkoutResponse, hash, total;
|
|
7548
|
+
|
|
7549
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
7550
|
+
while (1) {
|
|
7551
|
+
switch (_context2.prev = _context2.next) {
|
|
7552
|
+
case 0:
|
|
7553
|
+
_context2.prev = 0;
|
|
7554
|
+
_context2.next = 3;
|
|
7555
|
+
return getCheckoutPageConfigs();
|
|
7556
|
+
|
|
7557
|
+
case 3:
|
|
7558
|
+
pageConfigsDataResponse = _context2.sent;
|
|
7559
|
+
pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {};
|
|
7560
|
+
isWindowDefined = typeof window !== 'undefined';
|
|
7561
|
+
skipBillingPage = (_pageConfigsData$skip = pageConfigsData.skip_billing_page) != null ? _pageConfigsData$skip : false;
|
|
7562
|
+
nameIsRequired = (_pageConfigsData$name = pageConfigsData.names_required) != null ? _pageConfigsData$name : false;
|
|
7563
|
+
ageIsRequired = (_pageConfigsData$age_ = pageConfigsData.age_required) != null ? _pageConfigsData$age_ : false;
|
|
7564
|
+
phoneIsRequired = (_pageConfigsData$phon = pageConfigsData.phone_required) != null ? _pageConfigsData$phon : false;
|
|
7565
|
+
hasAddOn = (_pageConfigsData$has_ = pageConfigsData.has_add_on) != null ? _pageConfigsData$has_ : false;
|
|
7566
|
+
|
|
7567
|
+
if (!(skipBillingPage && enableBillingInfoAutoCreate)) {
|
|
7568
|
+
_context2.next = 33;
|
|
7569
|
+
break;
|
|
7570
|
+
}
|
|
7571
|
+
|
|
7572
|
+
ticketsQuantity = window.localStorage.getItem('quantity');
|
|
7573
|
+
userData = JSON.parse(window.localStorage.getItem('user_data') || '{}');
|
|
7574
|
+
checkoutBody = createCheckoutDataBodyWithDefaultHolder(Number(ticketsQuantity) || 0, userData);
|
|
7575
|
+
_context2.prev = 15;
|
|
7576
|
+
_context2.next = 18;
|
|
7577
|
+
return postOnCheckout(_extends({}, checkoutBody, {
|
|
7578
|
+
attributes: _extends({}, checkoutBody.attributes, !skipAddonPage && {
|
|
7579
|
+
add_ons: values
|
|
7580
|
+
})
|
|
7581
|
+
}));
|
|
7582
|
+
|
|
7583
|
+
case 18:
|
|
7584
|
+
checkoutResponse = _context2.sent;
|
|
7585
|
+
hash = _get(checkoutResponse, 'data.data.attributes.hash');
|
|
7586
|
+
total = _get(checkoutResponse, 'data.data.attributes.total');
|
|
7587
|
+
isWindowDefined && window.localStorage.removeItem('quantity');
|
|
7588
|
+
isWindowDefined && window.localStorage.removeItem('add_ons');
|
|
7589
|
+
onPostCheckoutSuccess(checkoutResponse == null ? void 0 : checkoutResponse.data);
|
|
7590
|
+
onConfirmSelectionSuccess({
|
|
7591
|
+
skip_billing_page: skipBillingPage,
|
|
7592
|
+
names_required: nameIsRequired,
|
|
7593
|
+
phone_required: phoneIsRequired,
|
|
7594
|
+
age_required: ageIsRequired,
|
|
7595
|
+
event_id: String(eventId),
|
|
7596
|
+
hash: hash,
|
|
7597
|
+
total: total,
|
|
7598
|
+
hasAddOn: hasAddOn
|
|
7599
|
+
});
|
|
7600
|
+
_context2.next = 31;
|
|
7601
|
+
break;
|
|
7602
|
+
|
|
7603
|
+
case 27:
|
|
7604
|
+
_context2.prev = 27;
|
|
7605
|
+
_context2.t0 = _context2["catch"](15);
|
|
7606
|
+
onPostCheckoutError(_context2.t0);
|
|
7607
|
+
onConfirmSelectionError(_context2.t0);
|
|
7608
|
+
|
|
7609
|
+
case 31:
|
|
7610
|
+
_context2.next = 34;
|
|
7611
|
+
break;
|
|
7612
|
+
|
|
7613
|
+
case 33:
|
|
7614
|
+
if (isWindowDefined) {
|
|
7615
|
+
if (!skipAddonPage) {
|
|
7616
|
+
window.localStorage.setItem('add_ons', JSON.stringify(values));
|
|
7617
|
+
}
|
|
7618
|
+
|
|
7619
|
+
onConfirmSelectionSuccess({
|
|
7620
|
+
skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,
|
|
7621
|
+
names_required: nameIsRequired,
|
|
7622
|
+
phone_required: phoneIsRequired,
|
|
7623
|
+
age_required: ageIsRequired,
|
|
7624
|
+
event_id: String(eventId),
|
|
7625
|
+
hasAddOn: hasAddOn
|
|
7626
|
+
});
|
|
7627
|
+
} else {
|
|
7628
|
+
onConfirmSelectionError({
|
|
7629
|
+
error: true,
|
|
7630
|
+
message: 'Window is not defined'
|
|
7631
|
+
});
|
|
7632
|
+
}
|
|
7633
|
+
|
|
7634
|
+
case 34:
|
|
7635
|
+
_context2.next = 39;
|
|
7636
|
+
break;
|
|
7637
|
+
|
|
7638
|
+
case 36:
|
|
7639
|
+
_context2.prev = 36;
|
|
7640
|
+
_context2.t1 = _context2["catch"](0);
|
|
7641
|
+
onConfirmSelectionError(_context2.t1);
|
|
7642
|
+
|
|
7643
|
+
case 39:
|
|
7644
|
+
case "end":
|
|
7645
|
+
return _context2.stop();
|
|
7646
|
+
}
|
|
7647
|
+
}
|
|
7648
|
+
}, _callee2, null, [[0, 36], [15, 27]]);
|
|
7649
|
+
}));
|
|
7650
|
+
|
|
7651
|
+
return function handleConfirm(_x, _x2) {
|
|
7652
|
+
return _ref3.apply(this, arguments);
|
|
7653
|
+
};
|
|
7654
|
+
}();
|
|
7655
|
+
|
|
7656
|
+
var handleClearAddons = function handleClearAddons() {
|
|
7657
|
+
window.localStorage.removeItem('add_ons');
|
|
7658
|
+
};
|
|
7659
|
+
|
|
7660
|
+
if (loading) {
|
|
7661
|
+
return React__default.createElement("div", {
|
|
7662
|
+
className: classNamePrefix + "_loader"
|
|
7663
|
+
}, React__default.createElement(material.CircularProgress, {
|
|
7664
|
+
size: 50
|
|
7665
|
+
}));
|
|
7666
|
+
}
|
|
7667
|
+
|
|
7668
|
+
return React__default.createElement(React__default.Fragment, null, !!cartExpirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
|
|
7669
|
+
expires_at: cartExpirationTime,
|
|
7670
|
+
onCountdownFinish: function onCountdownFinish() {
|
|
7671
|
+
handleClearAddons();
|
|
7672
|
+
|
|
7673
|
+
_onCountdownFinish();
|
|
7674
|
+
}
|
|
7675
|
+
}), React__default.createElement("div", {
|
|
7676
|
+
className: classNamePrefix + "_container"
|
|
7677
|
+
}, React__default.createElement("div", {
|
|
7678
|
+
className: classNamePrefix + "_block"
|
|
7679
|
+
}, React__default.createElement("div", {
|
|
7680
|
+
className: classNamePrefix + "_line_block"
|
|
7681
|
+
}, React__default.createElement("p", {
|
|
7682
|
+
className: classNamePrefix + "_info_title"
|
|
7683
|
+
}, "Get Your Tickets"), React__default.createElement("button", {
|
|
7684
|
+
type: "button",
|
|
7685
|
+
className: classNamePrefix + "_skip",
|
|
7686
|
+
onClick: function onClick() {
|
|
7687
|
+
handleClearAddons();
|
|
7688
|
+
handleConfirm({}, true);
|
|
7689
|
+
}
|
|
7690
|
+
}, "Skip")), React__default.createElement("div", {
|
|
7691
|
+
className: classNamePrefix + "_title"
|
|
7692
|
+
}, "UPGRADES & ADD-ONS"), React__default.createElement("div", {
|
|
7693
|
+
className: classNamePrefix + "_subtitle"
|
|
7694
|
+
}, "PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW"), React__default.createElement(formik.Formik, {
|
|
7695
|
+
initialValues: {},
|
|
7696
|
+
onSubmit: function onSubmit(values) {
|
|
7697
|
+
handleConfirm(values);
|
|
7698
|
+
}
|
|
7699
|
+
}, function (_ref4) {
|
|
7700
|
+
var values = _ref4.values;
|
|
7701
|
+
var isConfirmDisabled = !isAtLeastOneAddonSelected(values);
|
|
7702
|
+
return React__default.createElement(formik.Form, {
|
|
7703
|
+
autoComplete: "off",
|
|
7704
|
+
className: "form_holder"
|
|
7705
|
+
}, React__default.createElement(React__default.Fragment, null, addons.map(function (addon) {
|
|
7706
|
+
var price = addon.feeIncluded ? addon.price : addon.cost;
|
|
7707
|
+
var isAddonFree = Number(price) === 0;
|
|
7708
|
+
var addonNormalizedPrice = isAddonFree ? 'FREE' : currencyNormalizerCreator(getNormalizedPrice(price), addon.currency);
|
|
7709
|
+
return React__default.createElement("div", {
|
|
7710
|
+
key: addon.id,
|
|
7711
|
+
className: classNamePrefix + "_product_block"
|
|
7712
|
+
}, React__default.createElement("div", {
|
|
7713
|
+
className: classNamePrefix + "_product_images"
|
|
7714
|
+
}, addon.imageUrl && React__default.createElement("div", {
|
|
7715
|
+
className: classNamePrefix + "_product_image_block"
|
|
7716
|
+
}, React__default.createElement("img", {
|
|
7717
|
+
src: addon.imageUrl,
|
|
7718
|
+
alt: "No Data"
|
|
7719
|
+
}))), React__default.createElement("div", {
|
|
7720
|
+
className: classNamePrefix + "_product_info_block"
|
|
7721
|
+
}, React__default.createElement("div", {
|
|
7722
|
+
className: classNamePrefix + "_product_title"
|
|
7723
|
+
}, addon.name), React__default.createElement("div", {
|
|
7724
|
+
className: classNamePrefix + "_product_price"
|
|
7725
|
+
}, addonNormalizedPrice, !isAddonFree && React__default.createElement("span", {
|
|
7726
|
+
className: classNamePrefix + "_product_fee"
|
|
7727
|
+
}, addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'))), React__default.createElement("div", {
|
|
7728
|
+
className: classNamePrefix + "_product_desc",
|
|
7729
|
+
dangerouslySetInnerHTML: createMarkup(addon.description)
|
|
7730
|
+
}), React__default.createElement("div", {
|
|
7731
|
+
className: classNamePrefix + "_product_select_container"
|
|
7732
|
+
}, addon.variants ? addon.variants.map(function (variant) {
|
|
7733
|
+
return (// Group Variants
|
|
7734
|
+
React__default.createElement(AddonComponent, {
|
|
7735
|
+
key: variant.id,
|
|
7736
|
+
data: variant,
|
|
7737
|
+
selectOptions: addonsOptions[variant.id],
|
|
7738
|
+
classNamePrefix: classNamePrefix,
|
|
7739
|
+
handleAddonChange: function handleAddonChange(id, value) {
|
|
7740
|
+
return onFieldChange(id, value, addon);
|
|
7741
|
+
}
|
|
7742
|
+
})
|
|
7743
|
+
);
|
|
7744
|
+
}) : // Simple Addon
|
|
7745
|
+
React__default.createElement(AddonComponent, {
|
|
7746
|
+
key: addon.id,
|
|
7747
|
+
data: addon,
|
|
7748
|
+
selectOptions: addonsOptions[addon.id],
|
|
7749
|
+
classNamePrefix: classNamePrefix,
|
|
7750
|
+
handleAddonChange: function handleAddonChange(id, value) {
|
|
7751
|
+
return onFieldChange(id, value, addon);
|
|
7752
|
+
}
|
|
7753
|
+
})));
|
|
7754
|
+
}), React__default.createElement("button", {
|
|
7755
|
+
type: "submit",
|
|
7756
|
+
className: (isConfirmDisabled ? classNamePrefix + "_is_disabled" : '') + " " + classNamePrefix + "_submit_button",
|
|
7757
|
+
disabled: isConfirmDisabled
|
|
7758
|
+
}, "CONFIRM SELECTION")));
|
|
7759
|
+
}))));
|
|
7760
|
+
};
|
|
7761
|
+
|
|
6953
7762
|
var style$5 = {
|
|
6954
7763
|
position: 'absolute',
|
|
6955
7764
|
top: '10%',
|
|
@@ -7129,6 +7938,7 @@ var RsvpContainer = function RsvpContainer(_ref) {
|
|
|
7129
7938
|
}, "RSVP"))))))));
|
|
7130
7939
|
};
|
|
7131
7940
|
|
|
7941
|
+
exports.AddonsContainter = AddonsContainter;
|
|
7132
7942
|
exports.BillingInfoContainer = BillingInfoContainer;
|
|
7133
7943
|
exports.ConfirmationContainer = ConfirmationContainer;
|
|
7134
7944
|
exports.ForgotPasswordModal = ForgotPasswordModal;
|