tf-checkout-react 1.3.31 → 1.3.33

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.
@@ -7,5 +7,5 @@ export interface ICheckboxField {
7
7
  interface IOtherProps {
8
8
  [key: string]: any;
9
9
  }
10
- export declare const CheckboxField: ({ label, field, selectOptions, theme, setFieldValue, disableDropdown, setPhoneValidationIsLoading, ...rest }: ICheckboxField & IOtherProps) => JSX.Element;
10
+ export declare const CheckboxField: ({ label, field, selectOptions, theme, setFieldValue, disableDropdown, setPhoneValidationIsLoading, defaultCountry, dateFormat, datePlaceholder, ...rest }: ICheckboxField & IOtherProps) => JSX.Element;
11
11
  export {};
@@ -0,0 +1,17 @@
1
+ import { FieldInputProps, FormikProps } from 'formik';
2
+ import React from 'react';
3
+ interface IRadio {
4
+ id: string | number;
5
+ name: string | number;
6
+ value: string | number;
7
+ [key: string]: any;
8
+ }
9
+ interface IRadioGroupField {
10
+ label?: string;
11
+ field: FieldInputProps<any>;
12
+ form: FormikProps<any>;
13
+ radios: IRadio[];
14
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
15
+ }
16
+ export declare const RadioGroupField: ({ label, field, radios, form: { errors, setFieldValue }, onChange, }: IRadioGroupField) => JSX.Element;
17
+ export {};
@@ -4,3 +4,4 @@ export { FormikPhoneNumberField } from './FormikPhoneNumberField';
4
4
  export { PhoneNumberField } from './PhoneNumberField';
5
5
  export { Loader } from './Loader';
6
6
  export { SelectField } from './SelectField';
7
+ export { RadioGroupField } from './RadioGroupField';
@@ -27,6 +27,8 @@ export interface IGetTickets {
27
27
  onGetTicketsError: (e: AxiosError) => void;
28
28
  onLogoutSuccess: () => void;
29
29
  onLogoutError: (e: AxiosError) => void;
30
+ onGetProfileDataSuccess: (response: any) => void;
31
+ onGetProfileDataError: (e: AxiosError) => void;
30
32
  onLoginSuccess: () => void;
31
33
  handleNotInvitedModalClose: () => void;
32
34
  handleInvalidLinkModalClose: () => void;
@@ -59,5 +61,5 @@ export interface ITicket {
59
61
  export interface ISelectedTickets {
60
62
  [key: string]: string | number;
61
63
  }
62
- export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent, ticketsHeaderComponent, hideTicketsHeader, enableInfluencersSection, enableAddOns, handleNotInvitedModalClose, handleInvalidLinkModalClose, ordersPath, }: IGetTickets) => JSX.Element;
64
+ export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, onGetProfileDataSuccess, onGetProfileDataError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent, ticketsHeaderComponent, hideTicketsHeader, enableInfluencersSection, enableAddOns, handleNotInvitedModalClose, handleInvalidLinkModalClose, ordersPath, }: IGetTickets) => JSX.Element;
63
65
  export {};
@@ -0,0 +1 @@
1
+ export declare const X_TF_ECOMMERCE = "X-TF-ECOMMERCE";
@@ -0,0 +1 @@
1
+ export declare const useCookieListener: (key: string, handler: (value: string | null) => void) => void;
@@ -10,6 +10,7 @@ var Button = _interopDefault(require('@mui/material/Button'));
10
10
  var styles = require('@mui/material/styles');
11
11
  var axios = _interopDefault(require('axios'));
12
12
  var formik = require('formik');
13
+ var _find = _interopDefault(require('lodash/find'));
13
14
  var _get = _interopDefault(require('lodash/get'));
14
15
  var _identity = _interopDefault(require('lodash/identity'));
15
16
  var _includes = _interopDefault(require('lodash/includes'));
@@ -27,13 +28,18 @@ var TextField = _interopDefault(require('@mui/material/TextField'));
27
28
  var styles$1 = require('@mui/styles');
28
29
  var _isFunction = _interopDefault(require('lodash/isFunction'));
29
30
  var _isObject = _interopDefault(require('lodash/isObject'));
30
- var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
31
- var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
32
31
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
32
+ var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
33
+ var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
33
34
  var MuiPhoneNumber = _interopDefault(require('material-ui-phone-number'));
34
35
  var _debounce = _interopDefault(require('lodash/debounce'));
35
36
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
36
37
  var Select = _interopDefault(require('@mui/material/Select'));
38
+ var FormControl = _interopDefault(require('@mui/material/FormControl'));
39
+ var FormHelperText = _interopDefault(require('@mui/material/FormHelperText'));
40
+ var FormLabel = _interopDefault(require('@mui/material/FormLabel'));
41
+ var Radio = _interopDefault(require('@mui/material/Radio'));
42
+ var RadioGroup = _interopDefault(require('@mui/material/RadioGroup'));
37
43
  var Yup = require('yup');
38
44
  var Box = _interopDefault(require('@mui/material/Box'));
39
45
  var Modal = _interopDefault(require('@mui/material/Modal'));
@@ -49,12 +55,10 @@ var stripeJs = require('@stripe/stripe-js');
49
55
  var reactShare = require('react-share');
50
56
  var privateTheming = require('@mui/private-theming');
51
57
  var jwt_decode = _interopDefault(require('jwt-decode'));
52
- var _find = _interopDefault(require('lodash/find'));
53
58
  var _some = _interopDefault(require('lodash/some'));
54
59
  var Button$1 = _interopDefault(require('react-bootstrap/Button'));
55
60
  var moment = _interopDefault(require('moment-timezone'));
56
61
  var _sortBy = _interopDefault(require('lodash/sortBy'));
57
- var FormControl = _interopDefault(require('@mui/material/FormControl'));
58
62
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
59
63
  var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
60
64
  var Paper = _interopDefault(require('@mui/material/Paper'));
@@ -66,7 +70,6 @@ var TableHead = _interopDefault(require('@mui/material/TableHead'));
66
70
  var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
67
71
  var TableRow = _interopDefault(require('@mui/material/TableRow'));
68
72
  var _has = _interopDefault(require('lodash/has'));
69
- var Radio = _interopDefault(require('@mui/material/Radio'));
70
73
  var _isNull = _interopDefault(require('lodash/isNull'));
71
74
  var _reverse = _interopDefault(require('lodash/reverse'));
72
75
 
@@ -1187,6 +1190,22 @@ var createMarkup = function createMarkup(data) {
1187
1190
  };
1188
1191
  };
1189
1192
 
1193
+ var setLoggedUserData = function setLoggedUserData(data) {
1194
+ return {
1195
+ id: data.id,
1196
+ first_name: data.firstName,
1197
+ last_name: data.lastName,
1198
+ email: data.email,
1199
+ confirmEmail: data.email,
1200
+ city: (data == null ? void 0 : data.city) || '',
1201
+ country: (data == null ? void 0 : data.countryId) || (data == null ? void 0 : data.country) || '',
1202
+ phone: (data == null ? void 0 : data.phone) || '',
1203
+ street_address: (data == null ? void 0 : data.streetAddress) || '',
1204
+ state: (data == null ? void 0 : data.stateId) || '',
1205
+ zip: (data == null ? void 0 : data.zip) || (data == null ? void 0 : data.zipCode) || ''
1206
+ };
1207
+ };
1208
+
1190
1209
  var isWindowDefined = typeof window !== 'undefined';
1191
1210
  var isDocumentDefined = typeof document !== 'undefined';
1192
1211
 
@@ -1466,7 +1485,7 @@ var getProfileData = function getProfileData(accessToken) {
1466
1485
  });
1467
1486
  };
1468
1487
  var getCountries = function getCountries() {
1469
- return publicRequest.get('/countries/');
1488
+ return publicRequest.get('/countries/list');
1470
1489
  };
1471
1490
  var getConfirmationData = function getConfirmationData(orderHash) {
1472
1491
  return publicRequest.get("v1/order/" + orderHash + "/payment/complete");
@@ -1801,7 +1820,7 @@ var DatePickerField = function DatePickerField(_ref) {
1801
1820
  })));
1802
1821
  };
1803
1822
 
1804
- var _excluded = ["label", "field", "selectOptions", "theme", "setFieldValue", "disableDropdown", "setPhoneValidationIsLoading"];
1823
+ var _excluded = ["label", "field", "selectOptions", "theme", "setFieldValue", "disableDropdown", "setPhoneValidationIsLoading", "defaultCountry", "dateFormat", "datePlaceholder"];
1805
1824
  var CheckboxField = function CheckboxField(_ref) {
1806
1825
  var _rest$form, _field$name, _rest$form2, _field$name2;
1807
1826
 
@@ -1811,14 +1830,14 @@ var CheckboxField = function CheckboxField(_ref) {
1811
1830
 
1812
1831
  var customTheme = styles$1.useTheme();
1813
1832
  return React__default.createElement(material.FormControl, {
1814
- error: !!(rest != null && (_rest$form = rest.form) != null && _rest$form.errors && rest.form.errors[(_field$name = field == null ? void 0 : field.name) != null ? _field$name : ""])
1833
+ error: !!(rest != null && (_rest$form = rest.form) != null && _rest$form.errors && rest.form.errors[(_field$name = field == null ? void 0 : field.name) != null ? _field$name : ''])
1815
1834
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormControlLabel, {
1816
1835
  control: React__default.createElement(Checkbox, Object.assign({}, field, rest)),
1817
1836
  label: label,
1818
1837
  componentsProps: {
1819
1838
  typography: customTheme == null ? void 0 : customTheme.checkbox
1820
1839
  }
1821
- })), !!(rest != null && (_rest$form2 = rest.form) != null && _rest$form2.errors && rest.form.errors[(_field$name2 = field == null ? void 0 : field.name) != null ? _field$name2 : ""]) ? React__default.createElement(material.FormHelperText, null, "Required") : null);
1840
+ })), !!(rest != null && (_rest$form2 = rest.form) != null && _rest$form2.errors && rest.form.errors[(_field$name2 = field == null ? void 0 : field.name) != null ? _field$name2 : '']) ? React__default.createElement(material.FormHelperText, null, "Required") : null);
1822
1841
  };
1823
1842
 
1824
1843
  var PhoneNumberField = function PhoneNumberField(_ref) {
@@ -2003,6 +2022,48 @@ var SelectField = function SelectField(_ref) {
2003
2022
  }, error) : null);
2004
2023
  };
2005
2024
 
2025
+ var RadioGroupField = function RadioGroupField(_ref) {
2026
+ var label = _ref.label,
2027
+ field = _ref.field,
2028
+ radios = _ref.radios,
2029
+ _ref$form = _ref.form,
2030
+ errors = _ref$form.errors,
2031
+ setFieldValue = _ref$form.setFieldValue,
2032
+ _ref$onChange = _ref.onChange,
2033
+ onChange = _ref$onChange === void 0 ? _identity : _ref$onChange;
2034
+ var radioId = "radio-" + field.name;
2035
+
2036
+ var error = _get(errors, field.name);
2037
+
2038
+ var handleChange = function handleChange(e) {
2039
+ var value = e.target.value;
2040
+ setFieldValue(field.name, value);
2041
+ onChange(e);
2042
+ };
2043
+
2044
+ return React__default.createElement(FormControl, null, error ? React__default.createElement(FormHelperText, {
2045
+ className: "radio-error",
2046
+ error: true
2047
+ }, error) : null, label && React__default.createElement(FormLabel, {
2048
+ id: radioId
2049
+ }, label), React__default.createElement(RadioGroup, {
2050
+ "aria-labelledby": radioId,
2051
+ name: field.name,
2052
+ value: field.value,
2053
+ onChange: handleChange
2054
+ }, radios.map(function (radio) {
2055
+ var id = radio.id,
2056
+ name = radio.name,
2057
+ value = radio.value;
2058
+ return React__default.createElement(FormControlLabel, {
2059
+ key: id,
2060
+ label: name,
2061
+ value: value,
2062
+ control: React__default.createElement(Radio, null)
2063
+ });
2064
+ })));
2065
+ };
2066
+
2006
2067
  var SnackbarAlert = function SnackbarAlert(_ref) {
2007
2068
  var isOpen = _ref.isOpen,
2008
2069
  message = _ref.message,
@@ -2188,7 +2249,7 @@ var style$1 = {
2188
2249
  border: '1px solid white',
2189
2250
  outline: 'none'
2190
2251
  };
2191
- var setLoggedUserData = function setLoggedUserData(data) {
2252
+ var setLoggedUserData$1 = function setLoggedUserData(data) {
2192
2253
  return {
2193
2254
  id: data.id,
2194
2255
  first_name: data.firstName,
@@ -2286,7 +2347,7 @@ var LoginModal = function LoginModal(_ref) {
2286
2347
 
2287
2348
  case 17:
2288
2349
  profileSpecifiedData = _get(profileResponse, 'data.data');
2289
- profileDataObj = setLoggedUserData(profileSpecifiedData);
2350
+ profileDataObj = setLoggedUserData$1(profileSpecifiedData);
2290
2351
 
2291
2352
  if (typeof window !== 'undefined') {
2292
2353
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
@@ -2720,7 +2781,7 @@ var createRegisterFormData = function createRegisterFormData(values, checkoutBod
2720
2781
 
2721
2782
  return bodyFormData;
2722
2783
  };
2723
- var setLoggedUserData$1 = function setLoggedUserData(data) {
2784
+ var setLoggedUserData$2 = function setLoggedUserData(data) {
2724
2785
  return {
2725
2786
  id: data.id,
2726
2787
  first_name: data.firstName,
@@ -3058,6 +3119,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3058
3119
 
3059
3120
  var themeMui = styles.createTheme(themeOptions);
3060
3121
  var isWindowDefined = typeof window !== 'undefined';
3122
+ var defaultCountry = isWindowDefined ? window.localStorage.getItem('eventCountry') : '';
3061
3123
  var userData = isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
3062
3124
  var access_token = isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
3063
3125
 
@@ -3129,13 +3191,17 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3129
3191
  loading = _useState14[0],
3130
3192
  setLoading = _useState14[1];
3131
3193
 
3132
- var _useState15 = React.useState(null),
3133
- error = _useState15[0],
3134
- setError = _useState15[1];
3194
+ var _useState15 = React.useState(true),
3195
+ isCountriesLoading = _useState15[0],
3196
+ setIsCountriesLoading = _useState15[1];
3197
+
3198
+ var _useState16 = React.useState(null),
3199
+ error = _useState16[0],
3200
+ setError = _useState16[1];
3135
3201
 
3136
- var _useState16 = React.useState(false),
3137
- phoneValidationIsLoading = _useState16[0],
3138
- setPhoneValidationIsLoading = _useState16[1];
3202
+ var _useState17 = React.useState(false),
3203
+ phoneValidationIsLoading = _useState17[0],
3204
+ setPhoneValidationIsLoading = _useState17[1];
3139
3205
 
3140
3206
  var emailLogged = _get(userData, 'email', '') || _get(userValues, 'email', '');
3141
3207
 
@@ -3215,30 +3281,34 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3215
3281
  case 3:
3216
3282
  res = _context2.sent;
3217
3283
  setCustomHeader(res);
3218
- setCountries(_map(_get(res, 'data.data'), function (item, key) {
3284
+ setCountries(_map(_get(res, 'data.data'), function (item) {
3219
3285
  return {
3220
- label: item,
3221
- value: key
3286
+ label: item.name,
3287
+ value: item.id,
3288
+ code: item.code
3222
3289
  };
3223
3290
  }));
3291
+ setIsCountriesLoading(false);
3224
3292
  onGetCountriesSuccess(res.data);
3225
- _context2.next = 12;
3293
+ _context2.next = 14;
3226
3294
  break;
3227
3295
 
3228
- case 9:
3229
- _context2.prev = 9;
3296
+ case 10:
3297
+ _context2.prev = 10;
3230
3298
  _context2.t0 = _context2["catch"](0);
3231
3299
 
3232
3300
  if (axios.isAxiosError(_context2.t0)) {
3233
3301
  onGetCountriesError(_context2.t0);
3234
3302
  }
3235
3303
 
3236
- case 12:
3304
+ setIsCountriesLoading(false);
3305
+
3306
+ case 14:
3237
3307
  case "end":
3238
3308
  return _context2.stop();
3239
3309
  }
3240
3310
  }
3241
- }, _callee2, null, [[0, 9]]);
3311
+ }, _callee2, null, [[0, 10]]);
3242
3312
  }));
3243
3313
 
3244
3314
  return function fetchCountries() {
@@ -3317,7 +3387,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3317
3387
  case 4:
3318
3388
  userDataResponse = _context4.sent;
3319
3389
  profileSpecifiedData = _get(userDataResponse, 'data.data');
3320
- profileDataObj = setLoggedUserData$1(profileSpecifiedData);
3390
+ profileDataObj = setLoggedUserData$2(profileSpecifiedData);
3321
3391
  setUserValues(_extends({}, profileDataObj, {
3322
3392
  firstName: profileDataObj.first_name,
3323
3393
  lastName: profileDataObj.last_name
@@ -3448,7 +3518,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3448
3518
 
3449
3519
  return React__default.createElement(styles.ThemeProvider, {
3450
3520
  theme: themeMui
3451
- }, loading && React__default.createElement(Backdrop, {
3521
+ }, (loading || isCountriesLoading) && React__default.createElement(Backdrop, {
3452
3522
  sx: {
3453
3523
  color: '#fff',
3454
3524
  backgroundColor: '#000000bd',
@@ -3460,9 +3530,11 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3460
3530
  })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
3461
3531
  expires_at: expirationTime,
3462
3532
  onCountdownFinish: onCountdownFinish
3463
- }), React__default.createElement(formik.Formik, {
3533
+ }), !isCountriesLoading && React__default.createElement(formik.Formik, {
3464
3534
  initialValues: getInitialValues(dataWithUniqueIds, _extends({
3465
- country: _get(userData, 'country', '') || '1',
3535
+ country: (_find(countries, function (item) {
3536
+ return item.code.toLowerCase() === defaultCountry;
3537
+ }) || {}).value || _get(userData, 'country', '') || '1',
3466
3538
  state: _get(userData, 'state', '') || '1',
3467
3539
  brand_opt_in: optedInFieldValue,
3468
3540
  ttf_opt_in: ttfOptIn
@@ -3507,7 +3579,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3507
3579
  case 11:
3508
3580
  updatedUserData = _context6.sent;
3509
3581
  _profileSpecifiedData = _get(updatedUserData, 'data.data');
3510
- _profileDataObj = setLoggedUserData$1(_profileSpecifiedData);
3582
+ _profileDataObj = setLoggedUserData$2(_profileSpecifiedData);
3511
3583
  window.localStorage.setItem('user_data', JSON.stringify(_profileDataObj));
3512
3584
 
3513
3585
  case 15:
@@ -3581,7 +3653,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3581
3653
  case 39:
3582
3654
  profileData = _context6.sent;
3583
3655
  profileSpecifiedData = _get(profileData, 'data.data');
3584
- profileDataObj = setLoggedUserData$1(profileSpecifiedData);
3656
+ profileDataObj = setLoggedUserData$2(profileSpecifiedData);
3585
3657
 
3586
3658
  if (isWindowDefined) {
3587
3659
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
@@ -3749,7 +3821,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3749
3821
  return ['password', 'confirmPassword', 'password-info'].includes(element.name) && isLoggedIn ? null : ['data_capture[wallet_address]'].includes(element.name) && hideWalletAddressField ? null : React__default.createElement(React__default.Fragment, {
3750
3822
  key: element.uniqueId
3751
3823
  }, React__default.createElement("div", {
3752
- className: element.className + " " + (props == null ? void 0 : props.errors[element.name])
3824
+ className: element.className + " " + ((props == null ? void 0 : props.errors[element.name]) || '')
3753
3825
  }, element.component ? element.component : React__default.createElement(formik.Field, {
3754
3826
  setPhoneValidationIsLoading: element.type === 'phone' ? setPhoneValidationIsLoading : undefined,
3755
3827
  name: element.name,
@@ -3759,11 +3831,12 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3759
3831
  validate: getValidateFunctions(element, states, props.values, props.errors),
3760
3832
  setFieldValue: props.setFieldValue,
3761
3833
  onBlur: props.handleBlur,
3762
- component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? PhoneNumberField : element.type === 'date' ? DatePickerField : CustomField,
3834
+ component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? PhoneNumberField : element.type === 'date' ? DatePickerField : element.type === 'radio' ? RadioGroupField : CustomField,
3763
3835
  selectOptions: element.name === 'country' ? countries : element.name === 'state' ? states : [],
3836
+ radios: element.radios,
3764
3837
  theme: theme,
3765
3838
  disableDropdown: element.disableDropdown,
3766
- defaultCountry: element.defaultCountry,
3839
+ defaultCountry: defaultCountry || element.defaultCountry,
3767
3840
  dateFormat: element.format,
3768
3841
  datePlaceholder: element.placeholder
3769
3842
  })));
@@ -3801,7 +3874,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3801
3874
  }),
3802
3875
  disableDropdown: element.disableDropdown,
3803
3876
  setPhoneValidationIsLoading: setPhoneValidationIsLoading,
3804
- defaultCountry: element.defaultCountry
3877
+ defaultCountry: defaultCountry || element.defaultCountry
3805
3878
  }));
3806
3879
  })));
3807
3880
  }));
@@ -4958,6 +5031,38 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
4958
5031
  }))))));
4959
5032
  };
4960
5033
 
5034
+ var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
5035
+
5036
+ var useCookieListener = function useCookieListener(key, handler) {
5037
+ var getCookie = function getCookie() {
5038
+ return getCookieByName(key);
5039
+ };
5040
+
5041
+ var _useState = React.useState(),
5042
+ intervalValue = _useState[0],
5043
+ setIntervalValue = _useState[1];
5044
+
5045
+ var cookieRef = React.useRef(getCookie());
5046
+
5047
+ var handleCookieChange = function handleCookieChange() {
5048
+ var currentCookie = getCookie();
5049
+ var prevCookie = cookieRef.current;
5050
+
5051
+ if (currentCookie !== prevCookie) {
5052
+ cookieRef.current = getCookie();
5053
+ handler(cookieRef.current);
5054
+ }
5055
+ };
5056
+
5057
+ React.useEffect(function () {
5058
+ var interval = setInterval(handleCookieChange, 500);
5059
+ setIntervalValue(interval);
5060
+ return function () {
5061
+ intervalValue && clearInterval(intervalValue);
5062
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
5063
+ }, []);
5064
+ };
5065
+
4961
5066
  var style$3 = {
4962
5067
  position: 'absolute',
4963
5068
  top: '50%',
@@ -5560,6 +5665,10 @@ var TicketsContainer = function TicketsContainer(_ref) {
5560
5665
  onLogoutSuccess = _ref$onLogoutSuccess === void 0 ? _identity : _ref$onLogoutSuccess,
5561
5666
  _ref$onLogoutError = _ref.onLogoutError,
5562
5667
  onLogoutError = _ref$onLogoutError === void 0 ? _identity : _ref$onLogoutError,
5668
+ _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
5669
+ onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? _identity : _ref$onGetProfileData,
5670
+ _ref$onGetProfileData2 = _ref.onGetProfileDataError,
5671
+ onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? _identity : _ref$onGetProfileData2,
5563
5672
  _ref$theme = _ref.theme,
5564
5673
  theme = _ref$theme === void 0 ? 'light' : _ref$theme,
5565
5674
  _ref$queryPromoCode = _ref.queryPromoCode,
@@ -5602,9 +5711,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
5602
5711
  setSelectedTickets = _useState[1];
5603
5712
 
5604
5713
  var isWindowDefined = typeof window !== 'undefined';
5605
- var xtfCookie = getCookieByName('X-TF-ECOMMERCE');
5606
5714
 
5607
- var _useState2 = React.useState((isWindowDefined ? !!window.localStorage.getItem('access_token') : false) || !!xtfCookie),
5715
+ var _useState2 = React.useState(Boolean(getCookieByName(X_TF_ECOMMERCE))),
5608
5716
  isLogged = _useState2[0],
5609
5717
  setIsLogged = _useState2[1];
5610
5718
 
@@ -5673,6 +5781,9 @@ var TicketsContainer = function TicketsContainer(_ref) {
5673
5781
  setIsInvalidLinkError = _useState18[1];
5674
5782
 
5675
5783
  var ticketsContainerRef = React.useRef(null);
5784
+ useCookieListener(X_TF_ECOMMERCE, function (value) {
5785
+ return setIsLogged(Boolean(value));
5786
+ });
5676
5787
  React.useEffect(function () {
5677
5788
  if (typeof window !== 'undefined') {
5678
5789
  var access_token = window.localStorage.getItem('access_token');
@@ -5690,6 +5801,18 @@ var TicketsContainer = function TicketsContainer(_ref) {
5690
5801
  React.useEffect(function () {
5691
5802
  !!eventId && getTicketsApi();
5692
5803
  }, [eventId]);
5804
+ React.useEffect(function () {
5805
+ if (isLogged) {
5806
+ fetchUserData().then(function (res) {
5807
+ window.localStorage.setItem('user_data', JSON.stringify(res));
5808
+ onGetProfileDataSuccess(res);
5809
+ })["catch"](function (e) {
5810
+ if (axios.isAxiosError(e)) {
5811
+ onGetProfileDataError(e);
5812
+ }
5813
+ });
5814
+ }
5815
+ }, [isLogged]);
5693
5816
 
5694
5817
  var handleLogout = /*#__PURE__*/function () {
5695
5818
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
@@ -5758,26 +5881,26 @@ var TicketsContainer = function TicketsContainer(_ref) {
5758
5881
  }
5759
5882
 
5760
5883
  function _getTicketsApi() {
5761
- _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(isUpdateingCode, type) {
5884
+ _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(isUpdateingCode, type) {
5762
5885
  var _previewKey, response, eventResponse, attributes, _event2;
5763
5886
 
5764
- return runtime_1.wrap(function _callee3$(_context3) {
5887
+ return runtime_1.wrap(function _callee4$(_context4) {
5765
5888
  while (1) {
5766
- switch (_context3.prev = _context3.next) {
5889
+ switch (_context4.prev = _context4.next) {
5767
5890
  case 0:
5768
- _context3.prev = 0;
5891
+ _context4.prev = 0;
5769
5892
  isUpdateingCode ? setCodeIsLoading(true) : setIsLoading(true);
5770
5893
  _previewKey = getQueryVariable('pk') || undefined;
5771
- _context3.next = 5;
5894
+ _context4.next = 5;
5772
5895
  return getTickets(eventId, code, _previewKey);
5773
5896
 
5774
5897
  case 5:
5775
- response = _context3.sent;
5776
- _context3.next = 8;
5898
+ response = _context4.sent;
5899
+ _context4.next = 8;
5777
5900
  return getEvent(eventId, _previewKey);
5778
5901
 
5779
5902
  case 8:
5780
- eventResponse = _context3.sent;
5903
+ eventResponse = _context4.sent;
5781
5904
 
5782
5905
  if (response.data.success) {
5783
5906
  attributes = _get(response, 'data.data.attributes');
@@ -5794,32 +5917,36 @@ var TicketsContainer = function TicketsContainer(_ref) {
5794
5917
  if (eventResponse.data.success) {
5795
5918
  _event2 = _get(eventResponse, 'data.data.attributes');
5796
5919
  setEvent(_event2);
5920
+
5921
+ if (_event2.country && isWindowDefined) {
5922
+ window.localStorage.setItem('eventCountry', _event2.country);
5923
+ }
5797
5924
  }
5798
5925
 
5799
- _context3.next = 16;
5926
+ _context4.next = 16;
5800
5927
  break;
5801
5928
 
5802
5929
  case 13:
5803
- _context3.prev = 13;
5804
- _context3.t0 = _context3["catch"](0);
5930
+ _context4.prev = 13;
5931
+ _context4.t0 = _context4["catch"](0);
5805
5932
 
5806
- if (axios.isAxiosError(_context3.t0)) {
5807
- onGetTicketsError(_context3.t0);
5808
- setError(_get(_context3.t0, 'response.data.message'));
5933
+ if (axios.isAxiosError(_context4.t0)) {
5934
+ onGetTicketsError(_context4.t0);
5935
+ setError(_get(_context4.t0, 'response.data.message'));
5809
5936
  }
5810
5937
 
5811
5938
  case 16:
5812
- _context3.prev = 16;
5939
+ _context4.prev = 16;
5813
5940
  setIsLoading(false);
5814
5941
  setCodeIsLoading(false);
5815
- return _context3.finish(16);
5942
+ return _context4.finish(16);
5816
5943
 
5817
5944
  case 20:
5818
5945
  case "end":
5819
- return _context3.stop();
5946
+ return _context4.stop();
5820
5947
  }
5821
5948
  }
5822
- }, _callee3, null, [[0, 13, 16, 20]]);
5949
+ }, _callee4, null, [[0, 13, 16, 20]]);
5823
5950
  }));
5824
5951
  return _getTicketsApi.apply(this, arguments);
5825
5952
  }
@@ -6018,6 +6145,41 @@ var TicketsContainer = function TicketsContainer(_ref) {
6018
6145
  getTicketsApi(isUpdateingCode, type);
6019
6146
  };
6020
6147
 
6148
+ var fetchUserData = /*#__PURE__*/function () {
6149
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3() {
6150
+ var userDataResponse, profileData, profileDataObj;
6151
+ return runtime_1.wrap(function _callee3$(_context3) {
6152
+ while (1) {
6153
+ switch (_context3.prev = _context3.next) {
6154
+ case 0:
6155
+ _context3.prev = 0;
6156
+ _context3.next = 3;
6157
+ return getProfileData();
6158
+
6159
+ case 3:
6160
+ userDataResponse = _context3.sent;
6161
+ profileData = _get(userDataResponse, 'data.data');
6162
+ profileDataObj = setLoggedUserData(profileData);
6163
+ return _context3.abrupt("return", profileDataObj);
6164
+
6165
+ case 9:
6166
+ _context3.prev = 9;
6167
+ _context3.t0 = _context3["catch"](0);
6168
+ throw new Error(_context3.t0);
6169
+
6170
+ case 12:
6171
+ case "end":
6172
+ return _context3.stop();
6173
+ }
6174
+ }
6175
+ }, _callee3, null, [[0, 9]]);
6176
+ }));
6177
+
6178
+ return function fetchUserData() {
6179
+ return _ref5.apply(this, arguments);
6180
+ };
6181
+ }();
6182
+
6021
6183
  var isTicketOnSale = _some(tickets, function (item) {
6022
6184
  return item.salesStarted && !item.salesEnded && !item.soldOut;
6023
6185
  });