tf-checkout-react 1.2.30 → 1.3.0
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 +8 -0
- package/dist/components/addonsContainer/index.d.ts +15 -0
- package/dist/components/addonsContainer/normalizers/index.d.ts +1 -0
- package/dist/components/addonsContainer/utils/index.d.ts +15 -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 +832 -80
- 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 +832 -81
- 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 +61 -0
- package/src/components/addonsContainer/index.tsx +392 -0
- package/src/components/addonsContainer/normalizers/index.ts +5 -0
- package/src/components/addonsContainer/utils/index.tsx +207 -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 +21 -18
- package/src/components/paymentContainer/index.tsx +32 -2
- package/src/components/ticketsContainer/TicketsSection.tsx +3 -3
- package/src/components/ticketsContainer/index.tsx +36 -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,8 @@ 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];
|
|
4235
4331
|
return React__default.createElement("div", {
|
|
4236
4332
|
key: id,
|
|
4237
4333
|
className: "order_info_block"
|
|
@@ -4239,7 +4335,16 @@ var PaymentContainer = function PaymentContainer(_ref) {
|
|
|
4239
4335
|
className: "order_info_title"
|
|
4240
4336
|
}, label), React__default.createElement("div", {
|
|
4241
4337
|
className: className + " order_info_text"
|
|
4242
|
-
}, normalizer(
|
|
4338
|
+
}, typeof value === 'string' ? normalizer(value, currency) : _map(value, function (item) {
|
|
4339
|
+
return React__default.createElement("div", {
|
|
4340
|
+
key: item.id,
|
|
4341
|
+
className: "add-on-container"
|
|
4342
|
+
}, React__default.createElement("span", null, item.quantity), React__default.createElement("span", {
|
|
4343
|
+
className: "add-on-x"
|
|
4344
|
+
}, ' 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", {
|
|
4345
|
+
className: "add-on-each"
|
|
4346
|
+
}, ' each'));
|
|
4347
|
+
})));
|
|
4243
4348
|
})), enablePaymentPlan && React__default.createElement("div", {
|
|
4244
4349
|
className: "payment_toggle"
|
|
4245
4350
|
}, React__default.createElement("label", {
|
|
@@ -5161,7 +5266,9 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5161
5266
|
className: "event-detail__tier-price"
|
|
5162
5267
|
}, ticketIsDiscounted && React__default.createElement("p", {
|
|
5163
5268
|
className: "old-price"
|
|
5164
|
-
}, "$ ", (+ticket.oldPrice).toFixed(2)), React__default.createElement("p",
|
|
5269
|
+
}, "$ ", (+ticket.oldPrice).toFixed(2)), React__default.createElement("p", {
|
|
5270
|
+
className: isSoldOut ? 'sold-out' : ''
|
|
5271
|
+
}, ticketPrice), !isSoldOut && !ticketIsFree && React__default.createElement("p", {
|
|
5165
5272
|
className: "fees"
|
|
5166
5273
|
}, ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')), React__default.createElement("div", {
|
|
5167
5274
|
className: "event-detail__tier-state",
|
|
@@ -5185,15 +5292,15 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5185
5292
|
_ref$contentStyle = _ref.contentStyle,
|
|
5186
5293
|
contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle,
|
|
5187
5294
|
_ref$onAddToCartError = _ref.onAddToCartError,
|
|
5188
|
-
onAddToCartError = _ref$onAddToCartError === void 0 ?
|
|
5295
|
+
onAddToCartError = _ref$onAddToCartError === void 0 ? _identity : _ref$onAddToCartError,
|
|
5189
5296
|
_ref$onGetTicketsSucc = _ref.onGetTicketsSuccess,
|
|
5190
|
-
onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ?
|
|
5297
|
+
onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ? _identity : _ref$onGetTicketsSucc,
|
|
5191
5298
|
_ref$onGetTicketsErro = _ref.onGetTicketsError,
|
|
5192
|
-
onGetTicketsError = _ref$onGetTicketsErro === void 0 ?
|
|
5299
|
+
onGetTicketsError = _ref$onGetTicketsErro === void 0 ? _identity : _ref$onGetTicketsErro,
|
|
5193
5300
|
_ref$onLogoutSuccess = _ref.onLogoutSuccess,
|
|
5194
|
-
onLogoutSuccess = _ref$onLogoutSuccess === void 0 ?
|
|
5301
|
+
onLogoutSuccess = _ref$onLogoutSuccess === void 0 ? _identity : _ref$onLogoutSuccess,
|
|
5195
5302
|
_ref$onLogoutError = _ref.onLogoutError,
|
|
5196
|
-
onLogoutError = _ref$onLogoutError === void 0 ?
|
|
5303
|
+
onLogoutError = _ref$onLogoutError === void 0 ? _identity : _ref$onLogoutError,
|
|
5197
5304
|
_ref$theme = _ref.theme,
|
|
5198
5305
|
theme = _ref$theme === void 0 ? 'light' : _ref$theme,
|
|
5199
5306
|
_ref$queryPromoCode = _ref.queryPromoCode,
|
|
@@ -5419,6 +5526,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5419
5526
|
|
|
5420
5527
|
if (axios.isAxiosError(_context3.t0)) {
|
|
5421
5528
|
onGetTicketsError(_context3.t0);
|
|
5529
|
+
setError(_get(_context3.t0, 'response.data.message'));
|
|
5422
5530
|
}
|
|
5423
5531
|
|
|
5424
5532
|
case 16:
|
|
@@ -5463,7 +5571,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5463
5571
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
|
|
5464
5572
|
var _product_options, _product_options2, _ticket_types;
|
|
5465
5573
|
|
|
5466
|
-
var ticket, optionName, ticketId, ticketQuantity, data, result,
|
|
5574
|
+
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;
|
|
5467
5575
|
|
|
5468
5576
|
return runtime_1.wrap(function _callee2$(_context2) {
|
|
5469
5577
|
while (1) {
|
|
@@ -5494,52 +5602,63 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5494
5602
|
|
|
5495
5603
|
case 9:
|
|
5496
5604
|
result = _context2.sent;
|
|
5605
|
+
_context2.next = 12;
|
|
5606
|
+
return getCheckoutPageConfigs();
|
|
5497
5607
|
|
|
5498
|
-
|
|
5499
|
-
|
|
5608
|
+
case 12:
|
|
5609
|
+
pageConfigsDataResponse = _context2.sent;
|
|
5610
|
+
|
|
5611
|
+
if (!(result.status === 200 && pageConfigsDataResponse.status === 200)) {
|
|
5612
|
+
_context2.next = 39;
|
|
5500
5613
|
break;
|
|
5501
5614
|
}
|
|
5502
5615
|
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
|
|
5616
|
+
pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {};
|
|
5617
|
+
skipBillingPage = (_pageConfigsData$skip = pageConfigsData.skip_billing_page) != null ? _pageConfigsData$skip : false;
|
|
5618
|
+
nameIsRequired = (_pageConfigsData$name = pageConfigsData.names_required) != null ? _pageConfigsData$name : false;
|
|
5619
|
+
ageIsRequired = (_pageConfigsData$age_ = pageConfigsData.age_required) != null ? _pageConfigsData$age_ : false;
|
|
5620
|
+
phoneIsRequired = (_pageConfigsData$phon = pageConfigsData.phone_required) != null ? _pageConfigsData$phon : false;
|
|
5621
|
+
hasAddOn = (_pageConfigsData$has_ = pageConfigsData.has_add_on) != null ? _pageConfigsData$has_ : false;
|
|
5507
5622
|
hash = '';
|
|
5508
5623
|
total = '';
|
|
5624
|
+
_isWindowDefined = typeof window !== 'undefined';
|
|
5509
5625
|
|
|
5510
|
-
if (!skipBillingPage) {
|
|
5511
|
-
_context2.next =
|
|
5626
|
+
if (!(skipBillingPage && !hasAddOn)) {
|
|
5627
|
+
_context2.next = 37;
|
|
5512
5628
|
break;
|
|
5513
5629
|
}
|
|
5514
5630
|
|
|
5515
5631
|
// Get user data for checkout data
|
|
5516
|
-
_isWindowDefined = typeof window !== 'undefined';
|
|
5517
5632
|
userData = _isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
|
|
5518
5633
|
access_token = _isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
|
|
5519
5634
|
checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketQuantity, userData);
|
|
5520
5635
|
|
|
5521
5636
|
if (!enableBillingInfoAutoCreate) {
|
|
5522
|
-
_context2.next =
|
|
5637
|
+
_context2.next = 33;
|
|
5523
5638
|
break;
|
|
5524
5639
|
}
|
|
5525
5640
|
|
|
5526
|
-
_context2.next =
|
|
5641
|
+
_context2.next = 30;
|
|
5527
5642
|
return postOnCheckout(checkoutBody, access_token);
|
|
5528
5643
|
|
|
5529
|
-
case
|
|
5644
|
+
case 30:
|
|
5530
5645
|
_context2.t0 = _context2.sent;
|
|
5531
|
-
_context2.next =
|
|
5646
|
+
_context2.next = 34;
|
|
5532
5647
|
break;
|
|
5533
5648
|
|
|
5534
|
-
case
|
|
5649
|
+
case 33:
|
|
5535
5650
|
_context2.t0 = null;
|
|
5536
5651
|
|
|
5537
|
-
case
|
|
5652
|
+
case 34:
|
|
5538
5653
|
checkoutResult = _context2.t0;
|
|
5539
5654
|
hash = _get(checkoutResult, 'data.data.attributes.hash');
|
|
5540
5655
|
total = _get(checkoutResult, 'data.data.attributes.total');
|
|
5541
5656
|
|
|
5542
|
-
case
|
|
5657
|
+
case 37:
|
|
5658
|
+
if (hasAddOn && _isWindowDefined) {
|
|
5659
|
+
window.localStorage.setItem('tickets_quantity', String(ticketQuantity));
|
|
5660
|
+
}
|
|
5661
|
+
|
|
5543
5662
|
onAddToCartSuccess({
|
|
5544
5663
|
skip_billing_page: skipBillingPage,
|
|
5545
5664
|
names_required: nameIsRequired,
|
|
@@ -5547,15 +5666,16 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5547
5666
|
age_required: ageIsRequired,
|
|
5548
5667
|
event_id: String(eventId),
|
|
5549
5668
|
hash: hash,
|
|
5550
|
-
total: total
|
|
5669
|
+
total: total,
|
|
5670
|
+
hasAddOn: hasAddOn
|
|
5551
5671
|
});
|
|
5552
5672
|
|
|
5553
|
-
case
|
|
5554
|
-
_context2.next =
|
|
5673
|
+
case 39:
|
|
5674
|
+
_context2.next = 44;
|
|
5555
5675
|
break;
|
|
5556
5676
|
|
|
5557
|
-
case
|
|
5558
|
-
_context2.prev =
|
|
5677
|
+
case 41:
|
|
5678
|
+
_context2.prev = 41;
|
|
5559
5679
|
_context2.t1 = _context2["catch"](6);
|
|
5560
5680
|
|
|
5561
5681
|
if (axios.isAxiosError(_context2.t1)) {
|
|
@@ -5563,17 +5683,17 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
5563
5683
|
setError(_get(_context2.t1, 'response.data.message'));
|
|
5564
5684
|
}
|
|
5565
5685
|
|
|
5566
|
-
case
|
|
5567
|
-
_context2.prev =
|
|
5686
|
+
case 44:
|
|
5687
|
+
_context2.prev = 44;
|
|
5568
5688
|
setHandleBookIsLoading(false);
|
|
5569
|
-
return _context2.finish(
|
|
5689
|
+
return _context2.finish(44);
|
|
5570
5690
|
|
|
5571
|
-
case
|
|
5691
|
+
case 47:
|
|
5572
5692
|
case "end":
|
|
5573
5693
|
return _context2.stop();
|
|
5574
5694
|
}
|
|
5575
5695
|
}
|
|
5576
|
-
}, _callee2, null, [[6,
|
|
5696
|
+
}, _callee2, null, [[6, 41, 44, 47]]);
|
|
5577
5697
|
}));
|
|
5578
5698
|
|
|
5579
5699
|
return function handleBook() {
|
|
@@ -6351,6 +6471,9 @@ var TicketsTable = function TicketsTable(_ref) {
|
|
|
6351
6471
|
};
|
|
6352
6472
|
|
|
6353
6473
|
var getTotal = function getTotal(data) {
|
|
6474
|
+
var _data$tickets$;
|
|
6475
|
+
|
|
6476
|
+
if (data != null && data.total && data != null && data.tickets && (_data$tickets$ = data.tickets[0]) != null && _data$tickets$.currency) return data.tickets[0].currency + data.total;
|
|
6354
6477
|
if (!(data != null && data.total) || !_has(data, 'items.ticket_types.length')) return '';
|
|
6355
6478
|
return data.items.ticket_types[0].currency + data.total;
|
|
6356
6479
|
};
|
|
@@ -6639,7 +6762,7 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
|
|
|
6639
6762
|
window.location.assign('/orders');
|
|
6640
6763
|
}
|
|
6641
6764
|
}
|
|
6642
|
-
}, "Back to Orders")))), React__default.createElement("div", {
|
|
6765
|
+
}, "Back to Orders")))), !(data != null && data.disable_referral) && React__default.createElement("div", {
|
|
6643
6766
|
className: "personal-link"
|
|
6644
6767
|
}, React__default.createElement("div", {
|
|
6645
6768
|
className: "link-item"
|
|
@@ -6945,6 +7068,634 @@ var TicketResaleContainer = function TicketResaleContainer(_ref) {
|
|
|
6945
7068
|
}, React__default.createElement("h3", null, successMessage ? successMessage : error)));
|
|
6946
7069
|
};
|
|
6947
7070
|
|
|
7071
|
+
var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
|
|
7072
|
+
var addonsData = _extends({}, data);
|
|
7073
|
+
|
|
7074
|
+
var addOnsGroups = _get(addonsData, 'add_on_groups', []);
|
|
7075
|
+
|
|
7076
|
+
var addons = _get(addonsData, 'add_ons', []);
|
|
7077
|
+
|
|
7078
|
+
if (!_isEmpty(addOnsGroups)) {
|
|
7079
|
+
var addOnGroupsWithVariants = [];
|
|
7080
|
+
var addOnsWithoutVariants = [];
|
|
7081
|
+
addons.forEach(function (addon) {
|
|
7082
|
+
if (addon.attributes.addOnGroupId) {
|
|
7083
|
+
// Collect addons groups inside with their variants
|
|
7084
|
+
var currentGroupId = addon.attributes.addOnGroupId;
|
|
7085
|
+
var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
|
|
7086
|
+
return item.id === currentGroupId;
|
|
7087
|
+
});
|
|
7088
|
+
|
|
7089
|
+
if (addOnGroupsWithVariants[exsistingGroupIndex]) {
|
|
7090
|
+
var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
|
|
7091
|
+
addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
|
|
7092
|
+
variants: [].concat(addOnGroup.variants, addon.attributes)
|
|
7093
|
+
});
|
|
7094
|
+
} else {
|
|
7095
|
+
var group = addOnsGroups.find(function (group) {
|
|
7096
|
+
return group.attributes.id === currentGroupId;
|
|
7097
|
+
}) || {};
|
|
7098
|
+
addOnGroupsWithVariants.push(_extends({}, group.attributes, {
|
|
7099
|
+
variants: [].concat(addon.attributes)
|
|
7100
|
+
}));
|
|
7101
|
+
}
|
|
7102
|
+
} else {
|
|
7103
|
+
addOnsWithoutVariants.push(addon.attributes);
|
|
7104
|
+
}
|
|
7105
|
+
});
|
|
7106
|
+
return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
|
|
7107
|
+
} // Adapt only simple addons data
|
|
7108
|
+
|
|
7109
|
+
|
|
7110
|
+
var adaptedAddons = addons.map(function (addon) {
|
|
7111
|
+
return _extends({}, addon.attributes);
|
|
7112
|
+
});
|
|
7113
|
+
return adaptedAddons;
|
|
7114
|
+
};
|
|
7115
|
+
var cartAdapter = function cartAdapter(cart) {
|
|
7116
|
+
var cartData = _get(cart, 'data.data.attributes.cart', []);
|
|
7117
|
+
|
|
7118
|
+
return cartData[0] || {};
|
|
7119
|
+
};
|
|
7120
|
+
|
|
7121
|
+
var AddonComponent = function AddonComponent(_ref) {
|
|
7122
|
+
var _ref$classNamePrefix = _ref.classNamePrefix,
|
|
7123
|
+
classNamePrefix = _ref$classNamePrefix === void 0 ? '' : _ref$classNamePrefix,
|
|
7124
|
+
data = _ref.data,
|
|
7125
|
+
selectOptions = _ref.selectOptions,
|
|
7126
|
+
_ref$handleAddonChang = _ref.handleAddonChange,
|
|
7127
|
+
handleAddonChange = _ref$handleAddonChang === void 0 ? _identity : _ref$handleAddonChang;
|
|
7128
|
+
var id = data.id,
|
|
7129
|
+
name = data.name,
|
|
7130
|
+
active = data.active,
|
|
7131
|
+
stock = data.stock;
|
|
7132
|
+
return React__default.createElement("div", {
|
|
7133
|
+
key: id,
|
|
7134
|
+
className: classNamePrefix + "_product_select_container"
|
|
7135
|
+
}, React__default.createElement("div", {
|
|
7136
|
+
className: classNamePrefix + "_product_select_block",
|
|
7137
|
+
key: name
|
|
7138
|
+
}, React__default.createElement("div", {
|
|
7139
|
+
className: classNamePrefix + "_product_size"
|
|
7140
|
+
}, name), React__default.createElement("div", {
|
|
7141
|
+
className: classNamePrefix + "_product_qty_select_block"
|
|
7142
|
+
}, !active || !_isNull(stock) && stock <= 0 ? React__default.createElement("div", {
|
|
7143
|
+
className: "sold_out"
|
|
7144
|
+
}, "SOLD OUT") : React__default.createElement("div", {
|
|
7145
|
+
className: classNamePrefix + "_product_qty_select"
|
|
7146
|
+
}, React__default.createElement(formik.Field, {
|
|
7147
|
+
name: id,
|
|
7148
|
+
selectOptions: selectOptions,
|
|
7149
|
+
component: SelectField,
|
|
7150
|
+
onChange: function onChange(e) {
|
|
7151
|
+
var value = e.target.value;
|
|
7152
|
+
handleAddonChange(id, value);
|
|
7153
|
+
}
|
|
7154
|
+
})))));
|
|
7155
|
+
};
|
|
7156
|
+
|
|
7157
|
+
var getNormalizedPrice = function getNormalizedPrice(value) {
|
|
7158
|
+
var minimizedValue = Number(value) / 100;
|
|
7159
|
+
var normalized = minimizedValue.toFixed(2);
|
|
7160
|
+
return normalized;
|
|
7161
|
+
};
|
|
7162
|
+
|
|
7163
|
+
var generateSelectOptions = function generateSelectOptions(minCount, maxCount) {
|
|
7164
|
+
if (minCount === void 0) {
|
|
7165
|
+
minCount = 1;
|
|
7166
|
+
}
|
|
7167
|
+
|
|
7168
|
+
if (maxCount === void 0) {
|
|
7169
|
+
maxCount = 10;
|
|
7170
|
+
}
|
|
7171
|
+
|
|
7172
|
+
var options = [];
|
|
7173
|
+
|
|
7174
|
+
for (var i = minCount; i <= maxCount; i++) {
|
|
7175
|
+
options.push({
|
|
7176
|
+
label: i,
|
|
7177
|
+
value: i
|
|
7178
|
+
});
|
|
7179
|
+
}
|
|
7180
|
+
|
|
7181
|
+
return options;
|
|
7182
|
+
};
|
|
7183
|
+
|
|
7184
|
+
var generateStockBasedOnLimitations = function generateStockBasedOnLimitations(addon, ticketQuantity) {
|
|
7185
|
+
// Generate addon available stock count based on limitations
|
|
7186
|
+
var flagLimitToTicketQuantity = addon.flagLimitToTicketQuantity,
|
|
7187
|
+
maxQuantity = addon.maxQuantity,
|
|
7188
|
+
limitPerTicket = addon.limitPerTicket;
|
|
7189
|
+
var allowedStockCount; // Generate stock
|
|
7190
|
+
|
|
7191
|
+
if (flagLimitToTicketQuantity) {
|
|
7192
|
+
// Limited to ticket quantity case
|
|
7193
|
+
allowedStockCount = ticketQuantity;
|
|
7194
|
+
} else if (maxQuantity && limitPerTicket) {
|
|
7195
|
+
var stockBasedOnLimitPerTicket = limitPerTicket * ticketQuantity; // Both maximum quantity and limited to per ticket selected case, stock is minimum of them
|
|
7196
|
+
|
|
7197
|
+
allowedStockCount = maxQuantity <= stockBasedOnLimitPerTicket ? maxQuantity : stockBasedOnLimitPerTicket;
|
|
7198
|
+
} else if (maxQuantity && !limitPerTicket) {
|
|
7199
|
+
// Limited to maximum quantity case
|
|
7200
|
+
allowedStockCount = maxQuantity;
|
|
7201
|
+
} else if (!maxQuantity && limitPerTicket) {
|
|
7202
|
+
// Limited to per ticket case
|
|
7203
|
+
allowedStockCount = limitPerTicket * ticketQuantity;
|
|
7204
|
+
}
|
|
7205
|
+
|
|
7206
|
+
return Number(allowedStockCount);
|
|
7207
|
+
};
|
|
7208
|
+
|
|
7209
|
+
var filterStockBasedOnAvailability = function filterStockBasedOnAvailability(generatedStock, availableStock) {
|
|
7210
|
+
// Check generated stock count admissibility with addon stock availability
|
|
7211
|
+
var filteredStockCount = generatedStock;
|
|
7212
|
+
|
|
7213
|
+
if (generatedStock) {
|
|
7214
|
+
if (generatedStock > availableStock && !_isNull(availableStock)) {
|
|
7215
|
+
filteredStockCount = availableStock;
|
|
7216
|
+
}
|
|
7217
|
+
} else {
|
|
7218
|
+
// Not setted any restriction
|
|
7219
|
+
if (_isNull(availableStock)) {
|
|
7220
|
+
filteredStockCount = 10;
|
|
7221
|
+
} else {
|
|
7222
|
+
filteredStockCount = availableStock;
|
|
7223
|
+
}
|
|
7224
|
+
}
|
|
7225
|
+
|
|
7226
|
+
return filteredStockCount;
|
|
7227
|
+
};
|
|
7228
|
+
|
|
7229
|
+
var getAddonSelectOptions = function getAddonSelectOptions(addons, choosedTicketCount) {
|
|
7230
|
+
var addonsWithOptions = {};
|
|
7231
|
+
var groupsWithSelectedVariantsInfo = {};
|
|
7232
|
+
var groupsWithVariants = {};
|
|
7233
|
+
addons.forEach(function (addon) {
|
|
7234
|
+
// Here addon can act either as simple Addon or Addon Group
|
|
7235
|
+
var id = addon.id,
|
|
7236
|
+
simpleAddonStock = addon.stock,
|
|
7237
|
+
variants = addon.variants,
|
|
7238
|
+
active = addon.active,
|
|
7239
|
+
flagLimitToTicketQuantity = addon.flagLimitToTicketQuantity,
|
|
7240
|
+
maxQuantity = addon.maxQuantity,
|
|
7241
|
+
limitPerTicket = addon.limitPerTicket;
|
|
7242
|
+
|
|
7243
|
+
if (variants) {
|
|
7244
|
+
// Addon Group with inside addon variants case
|
|
7245
|
+
variants.forEach(function (variant) {
|
|
7246
|
+
var variantId = variant.id,
|
|
7247
|
+
variantStock = variant.stock; // null checking is for unlimited stock value
|
|
7248
|
+
|
|
7249
|
+
if (active && (variantStock > 0 || _isNull(variantStock))) {
|
|
7250
|
+
var _extends3;
|
|
7251
|
+
|
|
7252
|
+
// Generate Addon Group allowed stock count based on limitations
|
|
7253
|
+
var stockBasedOnLimitation = generateStockBasedOnLimitations(addon, choosedTicketCount); // Detect if group has limitation or not
|
|
7254
|
+
|
|
7255
|
+
if (flagLimitToTicketQuantity || maxQuantity || limitPerTicket) {
|
|
7256
|
+
// Generate Group with inside variants info
|
|
7257
|
+
if (groupsWithSelectedVariantsInfo[id]) {
|
|
7258
|
+
var _extends2;
|
|
7259
|
+
|
|
7260
|
+
// Set group limit
|
|
7261
|
+
if (groupsWithSelectedVariantsInfo[id].limit < stockBasedOnLimitation) {
|
|
7262
|
+
groupsWithSelectedVariantsInfo[id].limit = stockBasedOnLimitation;
|
|
7263
|
+
} // Set choosed variants info
|
|
7264
|
+
|
|
7265
|
+
|
|
7266
|
+
groupsWithSelectedVariantsInfo[id] = _extends({}, groupsWithSelectedVariantsInfo[id], {
|
|
7267
|
+
choosedVariants: _extends({}, groupsWithSelectedVariantsInfo[id].choosedVariants, (_extends2 = {}, _extends2[variantId] = 0, _extends2))
|
|
7268
|
+
});
|
|
7269
|
+
} else {
|
|
7270
|
+
var _choosedVariants;
|
|
7271
|
+
|
|
7272
|
+
groupsWithSelectedVariantsInfo[id] = {
|
|
7273
|
+
limit: stockBasedOnLimitation,
|
|
7274
|
+
selectedCount: 0,
|
|
7275
|
+
choosedVariants: (_choosedVariants = {}, _choosedVariants[variantId] = 0, _choosedVariants)
|
|
7276
|
+
};
|
|
7277
|
+
}
|
|
7278
|
+
} // Check stock admissibility with addon stock availability
|
|
7279
|
+
|
|
7280
|
+
|
|
7281
|
+
var allowedVariantStockCount = filterStockBasedOnAvailability(stockBasedOnLimitation, variantStock); // Generate options for variant
|
|
7282
|
+
|
|
7283
|
+
var variantOptions = generateSelectOptions(0, allowedVariantStockCount);
|
|
7284
|
+
addonsWithOptions[variantId] = [].concat(variantOptions); // Generate Group with its variants list
|
|
7285
|
+
|
|
7286
|
+
groupsWithVariants[id] = _extends({}, groupsWithVariants[id], (_extends3 = {}, _extends3[variantId] = allowedVariantStockCount, _extends3));
|
|
7287
|
+
}
|
|
7288
|
+
});
|
|
7289
|
+
} else {
|
|
7290
|
+
// Simple addon case, null checking is for unlimited stock value
|
|
7291
|
+
if (active && (simpleAddonStock > 0 || _isNull(simpleAddonStock))) {
|
|
7292
|
+
// Generate Addon Group allowed stock count based on limitations
|
|
7293
|
+
var stockBasedOnLimitation = generateStockBasedOnLimitations(addon, choosedTicketCount); // Check stock admissibility with addon stock availability
|
|
7294
|
+
|
|
7295
|
+
var allowedVariantStockCount = filterStockBasedOnAvailability(stockBasedOnLimitation, simpleAddonStock);
|
|
7296
|
+
var addonOptions = generateSelectOptions(0, allowedVariantStockCount);
|
|
7297
|
+
addonsWithOptions[id] = [].concat(addonOptions);
|
|
7298
|
+
}
|
|
7299
|
+
}
|
|
7300
|
+
});
|
|
7301
|
+
return {
|
|
7302
|
+
addonsWithOptions: addonsWithOptions,
|
|
7303
|
+
groupsWithSelectedVariantsInfo: groupsWithSelectedVariantsInfo,
|
|
7304
|
+
groupsWithVariants: groupsWithVariants
|
|
7305
|
+
};
|
|
7306
|
+
};
|
|
7307
|
+
var getTicketRelatedAddons = function getTicketRelatedAddons(addons, ticketId) {
|
|
7308
|
+
// Filter addons based on choosed ticket
|
|
7309
|
+
var filteredAddons = addons.filter(function (addon) {
|
|
7310
|
+
return _isNull(addon.prerequisiteTicketTypeIds) || addon.prerequisiteTicketTypeIds.includes(ticketId);
|
|
7311
|
+
});
|
|
7312
|
+
return filteredAddons;
|
|
7313
|
+
};
|
|
7314
|
+
var getSortedAddons = function getSortedAddons(addons, sortDirection) {
|
|
7315
|
+
if (sortDirection === void 0) {
|
|
7316
|
+
sortDirection = "asc";
|
|
7317
|
+
}
|
|
7318
|
+
|
|
7319
|
+
var addonsCopy = [].concat(addons);
|
|
7320
|
+
addonsCopy.forEach(function (addon) {
|
|
7321
|
+
if (addon.variants) {
|
|
7322
|
+
addon.sortOrder = Number(addon.variants[0].sortOrder);
|
|
7323
|
+
} else {
|
|
7324
|
+
addon.sortOrder = Number(addon.sortOrder);
|
|
7325
|
+
}
|
|
7326
|
+
});
|
|
7327
|
+
|
|
7328
|
+
var sortedAddons = _sortBy(addonsCopy, function (addon) {
|
|
7329
|
+
return addon.sortOrder;
|
|
7330
|
+
});
|
|
7331
|
+
|
|
7332
|
+
if (sortDirection === "desc") {
|
|
7333
|
+
return _reverse(sortedAddons);
|
|
7334
|
+
}
|
|
7335
|
+
|
|
7336
|
+
return sortedAddons;
|
|
7337
|
+
};
|
|
7338
|
+
|
|
7339
|
+
var AddonsContainter = function AddonsContainter(_ref) {
|
|
7340
|
+
var _ref$classNamePrefix = _ref.classNamePrefix,
|
|
7341
|
+
classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
|
|
7342
|
+
_ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
|
|
7343
|
+
enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
|
|
7344
|
+
_ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
|
|
7345
|
+
onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
|
|
7346
|
+
_ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
|
|
7347
|
+
onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
|
|
7348
|
+
_ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
|
|
7349
|
+
onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
|
|
7350
|
+
_ref$onPostCheckoutEr = _ref.onPostCheckoutError,
|
|
7351
|
+
onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
|
|
7352
|
+
_ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
|
|
7353
|
+
onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
|
|
7354
|
+
_ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
|
|
7355
|
+
onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2;
|
|
7356
|
+
var eventId = getQueryVariable('event_id');
|
|
7357
|
+
|
|
7358
|
+
var _useState = React.useState([]),
|
|
7359
|
+
addons = _useState[0],
|
|
7360
|
+
setAddons = _useState[1];
|
|
7361
|
+
|
|
7362
|
+
var _useState2 = React.useState({}),
|
|
7363
|
+
addonsOptions = _useState2[0],
|
|
7364
|
+
setAddonsOptions = _useState2[1];
|
|
7365
|
+
|
|
7366
|
+
var _useState3 = React.useState({}),
|
|
7367
|
+
groupsWithSelectedVariants = _useState3[0],
|
|
7368
|
+
setGroupsWithSelectedVariants = _useState3[1];
|
|
7369
|
+
|
|
7370
|
+
var _useState4 = React.useState({}),
|
|
7371
|
+
groupsWithInitialVariantsValues = _useState4[0],
|
|
7372
|
+
setGroupsWithInitialVariantsValues = _useState4[1];
|
|
7373
|
+
|
|
7374
|
+
var _useState5 = React.useState(true),
|
|
7375
|
+
loading = _useState5[0],
|
|
7376
|
+
setLoading = _useState5[1];
|
|
7377
|
+
|
|
7378
|
+
React.useEffect(function () {
|
|
7379
|
+
var getAddonsPageInfo = /*#__PURE__*/function () {
|
|
7380
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
|
|
7381
|
+
var cart, cartAdaptedData, choosedTicketCount, choosedTicketID, addonsData, adaptedAddons, ticketRelatedAddons, sortedTicketAddons, _getAddonSelectOption, addonsWithOptions, groupsWithSelectedVariantsInfo, groupsWithVariants;
|
|
7382
|
+
|
|
7383
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
7384
|
+
while (1) {
|
|
7385
|
+
switch (_context.prev = _context.next) {
|
|
7386
|
+
case 0:
|
|
7387
|
+
_context.prev = 0;
|
|
7388
|
+
|
|
7389
|
+
if (!eventId) {
|
|
7390
|
+
_context.next = 21;
|
|
7391
|
+
break;
|
|
7392
|
+
}
|
|
7393
|
+
|
|
7394
|
+
setLoading(true); // Get choosed ticket info (id, count) from Cart request for addons options calculations
|
|
7395
|
+
|
|
7396
|
+
_context.next = 5;
|
|
7397
|
+
return getCart();
|
|
7398
|
+
|
|
7399
|
+
case 5:
|
|
7400
|
+
cart = _context.sent;
|
|
7401
|
+
cartAdaptedData = cartAdapter(cart) || {};
|
|
7402
|
+
choosedTicketCount = Number(cartAdaptedData.quantity);
|
|
7403
|
+
choosedTicketID = cartAdaptedData.id;
|
|
7404
|
+
_context.next = 11;
|
|
7405
|
+
return getAddons(eventId);
|
|
7406
|
+
|
|
7407
|
+
case 11:
|
|
7408
|
+
addonsData = _context.sent;
|
|
7409
|
+
adaptedAddons = addonsWithGroupsAdapter(addonsData);
|
|
7410
|
+
ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID);
|
|
7411
|
+
sortedTicketAddons = getSortedAddons(ticketRelatedAddons);
|
|
7412
|
+
setAddons(sortedTicketAddons); // Collect addons and addon group options
|
|
7413
|
+
|
|
7414
|
+
_getAddonSelectOption = getAddonSelectOptions(adaptedAddons, choosedTicketCount), addonsWithOptions = _getAddonSelectOption.addonsWithOptions, groupsWithSelectedVariantsInfo = _getAddonSelectOption.groupsWithSelectedVariantsInfo, groupsWithVariants = _getAddonSelectOption.groupsWithVariants;
|
|
7415
|
+
setAddonsOptions(addonsWithOptions);
|
|
7416
|
+
setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo);
|
|
7417
|
+
setGroupsWithInitialVariantsValues(groupsWithVariants); // Success callback props
|
|
7418
|
+
|
|
7419
|
+
onGetAddonsPageInfoSuccess(addonsData);
|
|
7420
|
+
|
|
7421
|
+
case 21:
|
|
7422
|
+
_context.next = 26;
|
|
7423
|
+
break;
|
|
7424
|
+
|
|
7425
|
+
case 23:
|
|
7426
|
+
_context.prev = 23;
|
|
7427
|
+
_context.t0 = _context["catch"](0);
|
|
7428
|
+
// Callback error props
|
|
7429
|
+
onGetAddonsPageInfoError(_context.t0);
|
|
7430
|
+
|
|
7431
|
+
case 26:
|
|
7432
|
+
_context.prev = 26;
|
|
7433
|
+
setLoading(false);
|
|
7434
|
+
return _context.finish(26);
|
|
7435
|
+
|
|
7436
|
+
case 29:
|
|
7437
|
+
case "end":
|
|
7438
|
+
return _context.stop();
|
|
7439
|
+
}
|
|
7440
|
+
}
|
|
7441
|
+
}, _callee, null, [[0, 23, 26, 29]]);
|
|
7442
|
+
}));
|
|
7443
|
+
|
|
7444
|
+
return function getAddonsPageInfo() {
|
|
7445
|
+
return _ref2.apply(this, arguments);
|
|
7446
|
+
};
|
|
7447
|
+
}();
|
|
7448
|
+
|
|
7449
|
+
getAddonsPageInfo();
|
|
7450
|
+
}, []);
|
|
7451
|
+
|
|
7452
|
+
var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroupd) {
|
|
7453
|
+
var choosedVariants = changedGroupd.choosedVariants,
|
|
7454
|
+
limit = changedGroupd.limit,
|
|
7455
|
+
selectedCount = changedGroupd.selectedCount;
|
|
7456
|
+
var remainingGroupStock = limit - selectedCount;
|
|
7457
|
+
var recreatedVariantsOptions = {}; // Regenerate variants allowed stock counts
|
|
7458
|
+
|
|
7459
|
+
for (var variant in choosedVariants) {
|
|
7460
|
+
var variantId = variant;
|
|
7461
|
+
var variantCurrSelectedValue = choosedVariants[variant];
|
|
7462
|
+
var allowedOptionCount = void 0; // Formula for regenerating
|
|
7463
|
+
|
|
7464
|
+
if (remainingGroupStock >= groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue) {
|
|
7465
|
+
allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId];
|
|
7466
|
+
} else {
|
|
7467
|
+
allowedOptionCount = remainingGroupStock + variantCurrSelectedValue;
|
|
7468
|
+
}
|
|
7469
|
+
|
|
7470
|
+
recreatedVariantsOptions[variantId] = generateSelectOptions(0, allowedOptionCount);
|
|
7471
|
+
}
|
|
7472
|
+
|
|
7473
|
+
setAddonsOptions(function (prevState) {
|
|
7474
|
+
return Object.assign({}, prevState, recreatedVariantsOptions);
|
|
7475
|
+
});
|
|
7476
|
+
};
|
|
7477
|
+
|
|
7478
|
+
var onFieldChange = function onFieldChange(id, value, addon) {
|
|
7479
|
+
// If changeableGroup exsists it means that group with limitation variant was changed
|
|
7480
|
+
var changeableGroup = groupsWithSelectedVariants[addon.id];
|
|
7481
|
+
|
|
7482
|
+
if (changeableGroup) {
|
|
7483
|
+
var _extends2, _extends3;
|
|
7484
|
+
|
|
7485
|
+
var currGroupId = addon.id;
|
|
7486
|
+
var currSelectedVariantId = id;
|
|
7487
|
+
var currSelectedVariantCount = Number(value);
|
|
7488
|
+
var currSelectedVariantPrevCount = groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId];
|
|
7489
|
+
var currSelectedGroupCount = changeableGroup.selectedCount + (currSelectedVariantCount - currSelectedVariantPrevCount); // Update Group info
|
|
7490
|
+
|
|
7491
|
+
var updatedGroupsWithSelectedVariants = _extends({}, groupsWithSelectedVariants, (_extends3 = {}, _extends3[currGroupId] = _extends({}, groupsWithSelectedVariants[currGroupId], {
|
|
7492
|
+
selectedCount: currSelectedGroupCount,
|
|
7493
|
+
choosedVariants: _extends({}, groupsWithSelectedVariants[currGroupId].choosedVariants, (_extends2 = {}, _extends2[currSelectedVariantId] = currSelectedVariantCount, _extends2))
|
|
7494
|
+
}), _extends3));
|
|
7495
|
+
|
|
7496
|
+
setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants); // Recreate Select Options for Addon Group Variants
|
|
7497
|
+
|
|
7498
|
+
recreateGroupVariantsSelectOptions(currGroupId, updatedGroupsWithSelectedVariants[currGroupId]);
|
|
7499
|
+
}
|
|
7500
|
+
};
|
|
7501
|
+
|
|
7502
|
+
var handleConfirm = /*#__PURE__*/function () {
|
|
7503
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(values) {
|
|
7504
|
+
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;
|
|
7505
|
+
|
|
7506
|
+
return runtime_1.wrap(function _callee2$(_context2) {
|
|
7507
|
+
while (1) {
|
|
7508
|
+
switch (_context2.prev = _context2.next) {
|
|
7509
|
+
case 0:
|
|
7510
|
+
_context2.prev = 0;
|
|
7511
|
+
_context2.next = 3;
|
|
7512
|
+
return getCheckoutPageConfigs();
|
|
7513
|
+
|
|
7514
|
+
case 3:
|
|
7515
|
+
pageConfigsDataResponse = _context2.sent;
|
|
7516
|
+
pageConfigsData = _get(pageConfigsDataResponse, 'data.attributes') || {};
|
|
7517
|
+
isWindowDefined = typeof window !== 'undefined';
|
|
7518
|
+
skipBillingPage = (_pageConfigsData$skip = pageConfigsData.skip_billing_page) != null ? _pageConfigsData$skip : false;
|
|
7519
|
+
nameIsRequired = (_pageConfigsData$name = pageConfigsData.names_required) != null ? _pageConfigsData$name : false;
|
|
7520
|
+
ageIsRequired = (_pageConfigsData$age_ = pageConfigsData.age_required) != null ? _pageConfigsData$age_ : false;
|
|
7521
|
+
phoneIsRequired = (_pageConfigsData$phon = pageConfigsData.phone_required) != null ? _pageConfigsData$phon : false;
|
|
7522
|
+
hasAddOn = (_pageConfigsData$has_ = pageConfigsData.has_add_on) != null ? _pageConfigsData$has_ : false;
|
|
7523
|
+
|
|
7524
|
+
if (!(skipBillingPage && enableBillingInfoAutoCreate)) {
|
|
7525
|
+
_context2.next = 32;
|
|
7526
|
+
break;
|
|
7527
|
+
}
|
|
7528
|
+
|
|
7529
|
+
ticketsQuantity = window.localStorage.getItem('quantity');
|
|
7530
|
+
userData = JSON.parse(window.localStorage.getItem('user_data') || '{}');
|
|
7531
|
+
checkoutBody = createCheckoutDataBodyWithDefaultHolder(Number(ticketsQuantity) || 0, userData);
|
|
7532
|
+
_context2.prev = 15;
|
|
7533
|
+
_context2.next = 18;
|
|
7534
|
+
return postOnCheckout(_extends({}, checkoutBody, {
|
|
7535
|
+
attributes: _extends({}, checkoutBody.attributes, {
|
|
7536
|
+
add_ons: values
|
|
7537
|
+
})
|
|
7538
|
+
}));
|
|
7539
|
+
|
|
7540
|
+
case 18:
|
|
7541
|
+
checkoutResponse = _context2.sent;
|
|
7542
|
+
hash = _get(checkoutResponse, 'data.data.attributes.hash');
|
|
7543
|
+
total = _get(checkoutResponse, 'data.data.attributes.total');
|
|
7544
|
+
isWindowDefined && window.localStorage.removeItem('quantity');
|
|
7545
|
+
onPostCheckoutSuccess(checkoutResponse == null ? void 0 : checkoutResponse.data);
|
|
7546
|
+
onConfirmSelectionSuccess({
|
|
7547
|
+
skip_billing_page: skipBillingPage,
|
|
7548
|
+
names_required: nameIsRequired,
|
|
7549
|
+
phone_required: phoneIsRequired,
|
|
7550
|
+
age_required: ageIsRequired,
|
|
7551
|
+
event_id: String(eventId),
|
|
7552
|
+
hash: hash,
|
|
7553
|
+
total: total,
|
|
7554
|
+
hasAddOn: hasAddOn
|
|
7555
|
+
});
|
|
7556
|
+
_context2.next = 30;
|
|
7557
|
+
break;
|
|
7558
|
+
|
|
7559
|
+
case 26:
|
|
7560
|
+
_context2.prev = 26;
|
|
7561
|
+
_context2.t0 = _context2["catch"](15);
|
|
7562
|
+
onPostCheckoutError(_context2.t0);
|
|
7563
|
+
onConfirmSelectionError(_context2.t0);
|
|
7564
|
+
|
|
7565
|
+
case 30:
|
|
7566
|
+
_context2.next = 33;
|
|
7567
|
+
break;
|
|
7568
|
+
|
|
7569
|
+
case 32:
|
|
7570
|
+
if (isWindowDefined) {
|
|
7571
|
+
window.localStorage.setItem('add_ons', JSON.stringify(values));
|
|
7572
|
+
onConfirmSelectionSuccess({
|
|
7573
|
+
skip_billing_page: skipBillingPage && enableBillingInfoAutoCreate,
|
|
7574
|
+
names_required: nameIsRequired,
|
|
7575
|
+
phone_required: phoneIsRequired,
|
|
7576
|
+
age_required: ageIsRequired,
|
|
7577
|
+
event_id: String(eventId),
|
|
7578
|
+
hasAddOn: hasAddOn
|
|
7579
|
+
});
|
|
7580
|
+
} else {
|
|
7581
|
+
onConfirmSelectionError({
|
|
7582
|
+
error: true,
|
|
7583
|
+
message: 'Window is not defined'
|
|
7584
|
+
});
|
|
7585
|
+
}
|
|
7586
|
+
|
|
7587
|
+
case 33:
|
|
7588
|
+
_context2.next = 38;
|
|
7589
|
+
break;
|
|
7590
|
+
|
|
7591
|
+
case 35:
|
|
7592
|
+
_context2.prev = 35;
|
|
7593
|
+
_context2.t1 = _context2["catch"](0);
|
|
7594
|
+
onConfirmSelectionError(_context2.t1);
|
|
7595
|
+
|
|
7596
|
+
case 38:
|
|
7597
|
+
case "end":
|
|
7598
|
+
return _context2.stop();
|
|
7599
|
+
}
|
|
7600
|
+
}
|
|
7601
|
+
}, _callee2, null, [[0, 35], [15, 26]]);
|
|
7602
|
+
}));
|
|
7603
|
+
|
|
7604
|
+
return function handleConfirm(_x) {
|
|
7605
|
+
return _ref3.apply(this, arguments);
|
|
7606
|
+
};
|
|
7607
|
+
}();
|
|
7608
|
+
|
|
7609
|
+
if (loading) {
|
|
7610
|
+
return React__default.createElement("div", {
|
|
7611
|
+
className: classNamePrefix + "_loader"
|
|
7612
|
+
}, React__default.createElement(material.CircularProgress, {
|
|
7613
|
+
size: 50
|
|
7614
|
+
}));
|
|
7615
|
+
}
|
|
7616
|
+
|
|
7617
|
+
return React__default.createElement("div", {
|
|
7618
|
+
className: classNamePrefix + "_container"
|
|
7619
|
+
}, React__default.createElement("div", {
|
|
7620
|
+
className: classNamePrefix + "_block"
|
|
7621
|
+
}, React__default.createElement("div", {
|
|
7622
|
+
className: classNamePrefix + "_line_block"
|
|
7623
|
+
}, React__default.createElement("div", {
|
|
7624
|
+
className: classNamePrefix + "_line"
|
|
7625
|
+
}), React__default.createElement("p", {
|
|
7626
|
+
className: classNamePrefix + "_info_title"
|
|
7627
|
+
}, "Get Your Tickets")), React__default.createElement("div", {
|
|
7628
|
+
className: classNamePrefix + "_title"
|
|
7629
|
+
}, "UPGRADES & ADD-ONS"), React__default.createElement("div", {
|
|
7630
|
+
className: classNamePrefix + "_subtitle"
|
|
7631
|
+
}, "PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW"), React__default.createElement(formik.Formik, {
|
|
7632
|
+
initialValues: {},
|
|
7633
|
+
onSubmit: handleConfirm
|
|
7634
|
+
}, function (_ref4) {
|
|
7635
|
+
var values = _ref4.values;
|
|
7636
|
+
|
|
7637
|
+
var isConfirmDisabled = _isEmpty(values);
|
|
7638
|
+
|
|
7639
|
+
return React__default.createElement(formik.Form, {
|
|
7640
|
+
autoComplete: "off",
|
|
7641
|
+
className: "form_holder"
|
|
7642
|
+
}, React__default.createElement(React__default.Fragment, null, addons.map(function (addon) {
|
|
7643
|
+
var price = addon.feeIncluded ? addon.price : addon.cost;
|
|
7644
|
+
var isAddonFree = Number(price) === 0;
|
|
7645
|
+
var addonNormalizedPrice = isAddonFree ? 'FREE' : currencyNormalizerCreator(getNormalizedPrice(price), addon.currency);
|
|
7646
|
+
return React__default.createElement("div", {
|
|
7647
|
+
key: addon.id,
|
|
7648
|
+
className: classNamePrefix + "_product_block"
|
|
7649
|
+
}, React__default.createElement("div", {
|
|
7650
|
+
className: classNamePrefix + "_product_images"
|
|
7651
|
+
}, addon.imageUrl && React__default.createElement("div", {
|
|
7652
|
+
className: classNamePrefix + "_product_image_block"
|
|
7653
|
+
}, React__default.createElement("img", {
|
|
7654
|
+
src: addon.imageUrl,
|
|
7655
|
+
alt: "No Data"
|
|
7656
|
+
}))), React__default.createElement("div", {
|
|
7657
|
+
className: classNamePrefix + "_product_info_block"
|
|
7658
|
+
}, React__default.createElement("div", {
|
|
7659
|
+
className: classNamePrefix + "_product_title"
|
|
7660
|
+
}, addon.name), React__default.createElement("div", {
|
|
7661
|
+
className: classNamePrefix + "_product_price"
|
|
7662
|
+
}, addonNormalizedPrice, !isAddonFree && React__default.createElement("span", {
|
|
7663
|
+
className: classNamePrefix + "_product_fee"
|
|
7664
|
+
}, addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'))), React__default.createElement("div", {
|
|
7665
|
+
className: classNamePrefix + "_product_desc",
|
|
7666
|
+
dangerouslySetInnerHTML: createMarkup(addon.description)
|
|
7667
|
+
}), React__default.createElement("div", {
|
|
7668
|
+
className: classNamePrefix + "_product_select_container"
|
|
7669
|
+
}, addon.variants ? addon.variants.map(function (variant) {
|
|
7670
|
+
return (// Group Variants
|
|
7671
|
+
React__default.createElement(AddonComponent, {
|
|
7672
|
+
key: variant.id,
|
|
7673
|
+
data: variant,
|
|
7674
|
+
selectOptions: addonsOptions[variant.id],
|
|
7675
|
+
classNamePrefix: classNamePrefix,
|
|
7676
|
+
handleAddonChange: function handleAddonChange(id, value) {
|
|
7677
|
+
return onFieldChange(id, value, addon);
|
|
7678
|
+
}
|
|
7679
|
+
})
|
|
7680
|
+
);
|
|
7681
|
+
}) : // Simple Addon
|
|
7682
|
+
React__default.createElement(AddonComponent, {
|
|
7683
|
+
key: addon.id,
|
|
7684
|
+
data: addon,
|
|
7685
|
+
selectOptions: addonsOptions[addon.id],
|
|
7686
|
+
classNamePrefix: classNamePrefix,
|
|
7687
|
+
handleAddonChange: function handleAddonChange(id, value) {
|
|
7688
|
+
return onFieldChange(id, value, addon);
|
|
7689
|
+
}
|
|
7690
|
+
})));
|
|
7691
|
+
}), React__default.createElement("button", {
|
|
7692
|
+
type: "submit",
|
|
7693
|
+
className: (isConfirmDisabled ? classNamePrefix + "_is_disabled" : '') + " " + classNamePrefix + "_submit_button",
|
|
7694
|
+
disabled: isConfirmDisabled
|
|
7695
|
+
}, "CONFIRM SELECTION")));
|
|
7696
|
+
})));
|
|
7697
|
+
};
|
|
7698
|
+
|
|
6948
7699
|
var style$5 = {
|
|
6949
7700
|
position: 'absolute',
|
|
6950
7701
|
top: '10%',
|
|
@@ -7124,6 +7875,7 @@ var RsvpContainer = function RsvpContainer(_ref) {
|
|
|
7124
7875
|
}, "RSVP"))))))));
|
|
7125
7876
|
};
|
|
7126
7877
|
|
|
7878
|
+
exports.AddonsContainter = AddonsContainter;
|
|
7127
7879
|
exports.BillingInfoContainer = BillingInfoContainer;
|
|
7128
7880
|
exports.ConfirmationContainer = ConfirmationContainer;
|
|
7129
7881
|
exports.ForgotPasswordModal = ForgotPasswordModal;
|