tf-checkout-react 1.0.60 → 1.0.64

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.
@@ -16,7 +16,7 @@ export declare const getAccessToken: (data: FormData) => Promise<import("axios")
16
16
  export declare const getPaymentData: (hash: string) => Promise<import("axios").AxiosResponse<any, any>>;
17
17
  export declare const handlePaymentData: (orderHash: string, data: any) => Promise<import("axios").AxiosResponse<any, any>>;
18
18
  export declare const handlePaymentSuccess: (orderHash: string) => Promise<import("axios").AxiosResponse<any, any>>;
19
- export declare const getProfileData: (accessToken: any) => Promise<import("axios").AxiosResponse<any, any>>;
19
+ export declare const getProfileData: (accessToken: any) => Promise<any>;
20
20
  export declare const getCountries: () => Promise<import("axios").AxiosResponse<any, any>>;
21
21
  export declare const getConfirmationData: (orderHash: string) => Promise<import("axios").AxiosResponse<any, any>>;
22
22
  export declare const getStates: (countryId: string) => Promise<import("axios").AxiosResponse<any, any>>;
@@ -29,5 +29,6 @@ export interface IBillingInfoPage {
29
29
  buttonName?: string;
30
30
  theme?: 'light' | 'dark';
31
31
  isLoggedIn?: boolean;
32
+ fontFamily?: string;
32
33
  }
33
- export declare const BillingInfoContainer: ({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, }: IBillingInfoPage) => JSX.Element;
34
+ export declare const BillingInfoContainer: ({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, fontFamily }: IBillingInfoPage) => JSX.Element;
@@ -4,6 +4,7 @@ interface MyTicketsTypes {
4
4
  handleDetailsInfo: (id: string) => void;
5
5
  onGetOrdersSuccess: (res: any) => void;
6
6
  onGetOrdersError: (err: any) => void;
7
+ theme?: 'light' | 'dark';
7
8
  }
8
- export declare const MyTicketsContainer: ({ handleDetailsInfo, onGetOrdersSuccess, onGetOrdersError }: MyTicketsTypes) => JSX.Element;
9
+ export declare const MyTicketsContainer: ({ handleDetailsInfo, onGetOrdersSuccess, onGetOrdersError, theme, }: MyTicketsTypes) => JSX.Element;
9
10
  export {};
@@ -4,5 +4,5 @@ interface OrderDetailsTypes {
4
4
  onGetOrdersSuccess: (res: any) => void;
5
5
  onGetOrdersError: (err: any) => void;
6
6
  }
7
- export declare const OrderDetailsContainer: ({ onGetOrdersSuccess, onGetOrdersError }: OrderDetailsTypes) => JSX.Element;
7
+ export declare const OrderDetailsContainer: ({ onGetOrdersSuccess, onGetOrdersError, }: OrderDetailsTypes) => JSX.Element;
8
8
  export {};
@@ -14,5 +14,6 @@ export interface IPaymentPage {
14
14
  onGetPaymentDataError: (value: AxiosError) => void;
15
15
  onPaymentError: (value: AxiosError) => void;
16
16
  stripeCardOptions?: StripeCardNumberElementOptions;
17
+ fontFamily?: string;
17
18
  }
18
- export declare const PaymentContainer: ({ paymentFields, handlePayment, formTitle, errorText, checkoutData, onErrorClose, onGetPaymentDataSuccess, onGetPaymentDataError, onPaymentError, stripeCardOptions, }: IPaymentPage) => JSX.Element;
19
+ export declare const PaymentContainer: ({ paymentFields, handlePayment, formTitle, errorText, checkoutData, onErrorClose, onGetPaymentDataSuccess, onGetPaymentDataError, onPaymentError, stripeCardOptions, fontFamily, }: IPaymentPage) => JSX.Element;
package/dist/index.d.ts CHANGED
@@ -2,5 +2,7 @@ export { BillingInfoContainer } from './components/billing-info-container/index'
2
2
  export { PaymentContainer } from './components/paymentContainer/index';
3
3
  export { ConfirmationContainer } from './components/confirmationContainer/index';
4
4
  export { TicketsContainer } from './components/ticketsContainer/index';
5
- export { currencyNormalizerCreator, createFixedFloatNormalizer } from './normalizers';
5
+ export { currencyNormalizerCreator, createFixedFloatNormalizer, } from './normalizers';
6
6
  export { LoginModal } from './components/loginModal';
7
+ export { MyTicketsContainer } from './components/myTicketsContainer';
8
+ export { OrderDetailsContainer } from './components/orderDetailsContainer';
@@ -21,11 +21,11 @@ var _flatMapDeep = _interopDefault(require('lodash/flatMapDeep'));
21
21
  var _isArray = _interopDefault(require('lodash/isArray'));
22
22
  var nanoid = require('nanoid');
23
23
  var TextField = _interopDefault(require('@mui/material/TextField'));
24
- var styles = require('@mui/styles');
25
24
  var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
26
25
  var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
27
26
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
28
27
  var Select = _interopDefault(require('@mui/material/Select'));
28
+ var styles = require('@mui/material/styles');
29
29
  var Container = _interopDefault(require('@mui/material/Container'));
30
30
  var Alert = _interopDefault(require('@mui/material/Alert'));
31
31
  var reactStripeJs = require('@stripe/react-stripe-js');
@@ -42,6 +42,15 @@ var _has = _interopDefault(require('lodash/has'));
42
42
  var FormControl = _interopDefault(require('@mui/material/FormControl'));
43
43
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
44
44
  var Button$1 = _interopDefault(require('@mui/material/Button'));
45
+ var Table = _interopDefault(require('@mui/material/Table'));
46
+ var TableBody = _interopDefault(require('@mui/material/TableBody'));
47
+ var TableCell = _interopDefault(require('@mui/material/TableCell'));
48
+ var TableContainer = _interopDefault(require('@mui/material/TableContainer'));
49
+ var TableHead = _interopDefault(require('@mui/material/TableHead'));
50
+ var TableRow = _interopDefault(require('@mui/material/TableRow'));
51
+ var Paper = _interopDefault(require('@mui/material/Paper'));
52
+ var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
53
+ var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
45
54
 
46
55
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
47
56
  try {
@@ -933,7 +942,7 @@ if (isWindowDefined && localStorage.getItem('auth_guest_token')) {
933
942
  ttfHeaders['Authorization-Guest'] = /*#__PURE__*/localStorage.getItem('auth_guest_token');
934
943
  }
935
944
 
936
- if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc') {
945
+ if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc' && !window.location.origin.includes('http://localhost')) {
937
946
  ttfHeaders['X-Source-Origin'] = 'houseofx.nyc';
938
947
  }
939
948
 
@@ -979,7 +988,7 @@ publicRequest.interceptors.request.use(function (config) {
979
988
  config.headers = _updatedHeaders;
980
989
  }
981
990
 
982
- if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc') {
991
+ if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc' && !window.location.origin.includes('http://localhost')) {
983
992
  var _updatedHeaders2 = _extends({}, config.headers, {
984
993
  'X-Source-Origin': 'houseofx.nyc'
985
994
  });
@@ -1077,6 +1086,13 @@ var getProfileData = function getProfileData(accessToken) {
1077
1086
  headers: _extends({}, ttfHeaders, {
1078
1087
  Authorization: "Bearer " + accessToken
1079
1088
  })
1089
+ })["catch"](function (e) {
1090
+ if (isWindowDefined) {
1091
+ var event = new window.CustomEvent('auth_error', e);
1092
+ window.document.dispatchEvent(event);
1093
+ }
1094
+
1095
+ return e;
1080
1096
  });
1081
1097
  };
1082
1098
  var getCountries = function getCountries() {
@@ -1088,6 +1104,12 @@ var getConfirmationData = function getConfirmationData(orderHash) {
1088
1104
  var getStates = function getStates(countryId) {
1089
1105
  return publicRequest.get("/countries/" + countryId + "/states/");
1090
1106
  };
1107
+ var getOrders = function getOrders(page, limit, eventSlug) {
1108
+ return publicRequest.get("/v1/account/orders/?page=" + page + "&limit=" + limit + "&filter[event]=" + eventSlug);
1109
+ };
1110
+ var getOrderDetails = function getOrderDetails(orderId) {
1111
+ return publicRequest.get("/v1/account/order/" + orderId);
1112
+ };
1091
1113
  var addToWaitingList = function addToWaitingList(id, data) {
1092
1114
  return publicRequest.post("/v1/event/" + id + "/add_to_waiting_list", data);
1093
1115
  };
@@ -1673,13 +1695,6 @@ var assingUniqueIds = function assingUniqueIds(data) {
1673
1695
  });
1674
1696
  };
1675
1697
 
1676
- var useStyles = /*#__PURE__*/styles.makeStyles({
1677
- input: {
1678
- '&::placeholder': {
1679
- color: 'gray'
1680
- }
1681
- }
1682
- });
1683
1698
  var CustomField = function CustomField(_ref) {
1684
1699
  var label = _ref.label,
1685
1700
  _ref$type = _ref.type,
@@ -1697,7 +1712,6 @@ var CustomField = function CustomField(_ref) {
1697
1712
  var error = _get(errors, field.name);
1698
1713
 
1699
1714
  var isTouched = Boolean(_get(touched, field.name)) || _includes(field.name, 'holder') && !!error && !!submitCount;
1700
- var classes = useStyles();
1701
1715
  return React__default.createElement(TextField, Object.assign({
1702
1716
  id: field.name,
1703
1717
  label: label,
@@ -1706,11 +1720,6 @@ var CustomField = function CustomField(_ref) {
1706
1720
  fullWidth: true,
1707
1721
  error: !!error && isTouched,
1708
1722
  helperText: isTouched && error,
1709
- InputProps: {
1710
- classes: {
1711
- input: classes.input
1712
- }
1713
- },
1714
1723
  SelectProps: {
1715
1724
  "native": true,
1716
1725
  className: theme,
@@ -1756,13 +1765,6 @@ var getQueryVariable = function getQueryVariable(variable) {
1756
1765
  return false;
1757
1766
  };
1758
1767
 
1759
- var useStyles$1 = /*#__PURE__*/styles.makeStyles({
1760
- input: {
1761
- '&::placeholder': {
1762
- color: 'gray'
1763
- }
1764
- }
1765
- });
1766
1768
  var SelectField = function SelectField(_ref) {
1767
1769
  var label = _ref.label,
1768
1770
  _ref$type = _ref.type,
@@ -1778,7 +1780,6 @@ var SelectField = function SelectField(_ref) {
1778
1780
 
1779
1781
  var error = _get(errors, field.name);
1780
1782
 
1781
- var classes = useStyles$1();
1782
1783
  return React__default.createElement(material.FormControl, {
1783
1784
  fullWidth: true
1784
1785
  }, React__default.createElement(material.InputLabel, {
@@ -1792,10 +1793,7 @@ var SelectField = function SelectField(_ref) {
1792
1793
  fullWidth: true,
1793
1794
  error: !!error && isTouched,
1794
1795
  inputProps: {
1795
- id: field.name,
1796
- classes: {
1797
- input: classes.input
1798
- }
1796
+ id: field.name
1799
1797
  },
1800
1798
  "native": true,
1801
1799
  className: theme,
@@ -2011,7 +2009,15 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2011
2009
  _ref3$onLoginSuccess = _ref3.onLoginSuccess,
2012
2010
  onLoginSuccess = _ref3$onLoginSuccess === void 0 ? function () {} : _ref3$onLoginSuccess,
2013
2011
  _ref3$isLoggedIn = _ref3.isLoggedIn,
2014
- pIsLoggedIn = _ref3$isLoggedIn === void 0 ? false : _ref3$isLoggedIn;
2012
+ pIsLoggedIn = _ref3$isLoggedIn === void 0 ? false : _ref3$isLoggedIn,
2013
+ fontFamily = _ref3.fontFamily;
2014
+ var themeMui = styles.createTheme({
2015
+ typography: {
2016
+ allVariants: {
2017
+ fontFamily: fontFamily
2018
+ }
2019
+ }
2020
+ });
2015
2021
  var isWindowDefined = typeof window !== 'undefined';
2016
2022
  var userData = isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
2017
2023
  var access_token = isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
@@ -2103,6 +2109,15 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2103
2109
  return qty;
2104
2110
  };
2105
2111
 
2112
+ var handleAuthErrors = React.useCallback(function () {
2113
+ setIsLoggedIn(false);
2114
+ }, []);
2115
+ React.useEffect(function () {
2116
+ isWindowDefined && window.document.addEventListener("auth_error", handleAuthErrors);
2117
+ return function () {
2118
+ isWindowDefined && window.document.removeEventListener("auth_error", handleAuthErrors);
2119
+ };
2120
+ }, [handleAuthErrors]);
2106
2121
  React.useEffect(function () {
2107
2122
  if ((pIsLoggedIn || access_token) && !isLoggedIn) {
2108
2123
  setIsLoggedIn(true);
@@ -2260,7 +2275,9 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2260
2275
  React.useEffect(function () {
2261
2276
  fetchUserData(access_token);
2262
2277
  }, [access_token]);
2263
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Formik, {
2278
+ return React__default.createElement(styles.ThemeProvider, {
2279
+ theme: themeMui
2280
+ }, React__default.createElement(formik.Formik, {
2264
2281
  initialValues: getInitialValues(dataWithUniqueIds, _extends({}, initialValues, {
2265
2282
  email: emailLogged,
2266
2283
  firstName: firstNameLogged,
@@ -2632,7 +2649,7 @@ var getCurrencySymbolByCurrency = function getCurrencySymbolByCurrency(currency)
2632
2649
  var options = {
2633
2650
  style: {
2634
2651
  base: {
2635
- backgroundColor: '#232323',
2652
+ backgroundColor: '#000',
2636
2653
  fontSize: '18px',
2637
2654
  color: '#ffffff',
2638
2655
  letterSpacing: '1px',
@@ -2925,7 +2942,8 @@ var PaymentContainer = function PaymentContainer(_ref) {
2925
2942
  _ref$onPaymentError = _ref.onPaymentError,
2926
2943
  onPaymentError = _ref$onPaymentError === void 0 ? function () {} : _ref$onPaymentError,
2927
2944
  _ref$stripeCardOption = _ref.stripeCardOptions,
2928
- stripeCardOptions = _ref$stripeCardOption === void 0 ? {} : _ref$stripeCardOption;
2945
+ stripeCardOptions = _ref$stripeCardOption === void 0 ? {} : _ref$stripeCardOption,
2946
+ fontFamily = _ref.fontFamily;
2929
2947
 
2930
2948
  var _useState = React.useState(initialReviewValues),
2931
2949
  reviewData = _useState[0],
@@ -3100,7 +3118,16 @@ var PaymentContainer = function PaymentContainer(_ref) {
3100
3118
  };
3101
3119
  }();
3102
3120
 
3103
- return React__default.createElement("div", {
3121
+ var themeMui = styles.createTheme({
3122
+ typography: {
3123
+ allVariants: {
3124
+ fontFamily: fontFamily
3125
+ }
3126
+ }
3127
+ });
3128
+ return React__default.createElement(styles.ThemeProvider, {
3129
+ theme: themeMui
3130
+ }, React__default.createElement("div", {
3104
3131
  className: "payment_page"
3105
3132
  }, error && React__default.createElement(Alert, {
3106
3133
  severity: "error",
@@ -3148,7 +3175,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
3148
3175
  },
3149
3176
  conditions: conditions,
3150
3177
  stripeCardOptions: stripeCardOptions
3151
- }))))));
3178
+ })))))));
3152
3179
  };
3153
3180
 
3154
3181
  var defaultSvg = 'https://img.icons8.com/ios-filled/50/000000/facebook-new.svg';
@@ -3359,6 +3386,9 @@ var TicketRow = function TicketRow(_ref) {
3359
3386
  }, React__default.createElement(FormControl, {
3360
3387
  fullWidth: true
3361
3388
  }, React__default.createElement(Select, {
3389
+ sx: {
3390
+ borderRadius: 0
3391
+ },
3362
3392
  value: selectedTickets[ticketTier.id] ? selectedTickets[ticketTier.id] : 0,
3363
3393
  onChange: handleTicketSelect,
3364
3394
  displayEmpty: true,
@@ -3882,9 +3912,356 @@ var TicketsContainer = function TicketsContainer(_ref) {
3882
3912
  }, getTicketsLabel || 'GET TICKETS'))));
3883
3913
  };
3884
3914
 
3915
+ var EventInfoItem = function EventInfoItem(_ref) {
3916
+ var image = _ref.image,
3917
+ name = _ref.name;
3918
+ return React__default.createElement("div", {
3919
+ className: 'event-info'
3920
+ }, React__default.createElement("img", {
3921
+ src: image,
3922
+ alt: "event"
3923
+ }), name);
3924
+ };
3925
+
3926
+ var tableConfig = function tableConfig(key) {
3927
+ var config;
3928
+
3929
+ switch (key) {
3930
+ default:
3931
+ config = {
3932
+ header: ['Order No.', 'Date', 'Event', 'Total'],
3933
+ body: [function (row) {
3934
+ return row.id;
3935
+ }, function (row) {
3936
+ return row.date;
3937
+ }, function (row) {
3938
+ return React__default.createElement(EventInfoItem, {
3939
+ image: row.image,
3940
+ name: row.eventName
3941
+ });
3942
+ }, function (row) {
3943
+ return row.currency + row.amount;
3944
+ }]
3945
+ };
3946
+ }
3947
+
3948
+ return config;
3949
+ };
3950
+
3951
+ var Row = function Row(_ref) {
3952
+ var row = _ref.row,
3953
+ handleDetailsInfo = _ref.handleDetailsInfo;
3954
+ return React__default.createElement(TableRow, {
3955
+ sx: {
3956
+ '& > *': {
3957
+ borderBottom: 'unset'
3958
+ }
3959
+ }
3960
+ }, tableConfig().body.map(function (column, index) {
3961
+ return React__default.createElement(TableCell, {
3962
+ component: "th",
3963
+ scope: "row",
3964
+ key: index
3965
+ }, column(row));
3966
+ }), React__default.createElement(TableCell, {
3967
+ component: "th",
3968
+ scope: "row"
3969
+ }, React__default.createElement("button", {
3970
+ type: 'button',
3971
+ className: "order-details-button",
3972
+ onClick: function onClick() {
3973
+ return handleDetailsInfo(row.id);
3974
+ }
3975
+ }, "Details")));
3976
+ };
3977
+
3978
+ var MyTicketsContainer = function MyTicketsContainer(_ref) {
3979
+ var _data$orders;
3980
+
3981
+ var _ref$handleDetailsInf = _ref.handleDetailsInfo,
3982
+ handleDetailsInfo = _ref$handleDetailsInf === void 0 ? function () {} : _ref$handleDetailsInf,
3983
+ _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
3984
+ onGetOrdersSuccess = _ref$onGetOrdersSucce === void 0 ? function () {} : _ref$onGetOrdersSucce,
3985
+ _ref$onGetOrdersError = _ref.onGetOrdersError,
3986
+ onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError,
3987
+ _ref$theme = _ref.theme,
3988
+ theme = _ref$theme === void 0 ? 'dark' : _ref$theme;
3989
+
3990
+ var _useState = React.useState(null),
3991
+ data = _useState[0],
3992
+ setData = _useState[1];
3993
+
3994
+ var _useState2 = React.useState(true),
3995
+ loading = _useState2[0],
3996
+ setLoading = _useState2[1];
3997
+
3998
+ var _useState3 = React.useState(10),
3999
+ limit = _useState3[0],
4000
+ setLimit = _useState3[1];
4001
+
4002
+ var _useState4 = React.useState(''),
4003
+ filter = _useState4[0],
4004
+ setFilter = _useState4[1]; //just once
4005
+
4006
+
4007
+ React.useEffect(function () {
4008
+ fetchData(1, limit, filter);
4009
+ }, []);
4010
+
4011
+ var fetchData = /*#__PURE__*/function () {
4012
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(page, limit, filter) {
4013
+ var response, _data;
4014
+
4015
+ return runtime_1.wrap(function _callee$(_context) {
4016
+ while (1) {
4017
+ switch (_context.prev = _context.next) {
4018
+ case 0:
4019
+ _context.prev = 0;
4020
+ setLoading(true);
4021
+ _context.next = 4;
4022
+ return getOrders(page, limit, filter);
4023
+
4024
+ case 4:
4025
+ response = _context.sent;
4026
+ onGetOrdersSuccess(response);
4027
+ _data = _get(response, 'data.data.attributes');
4028
+ _data.page -= 1;
4029
+ setData(_data);
4030
+ _context.next = 14;
4031
+ break;
4032
+
4033
+ case 11:
4034
+ _context.prev = 11;
4035
+ _context.t0 = _context["catch"](0);
4036
+ onGetOrdersError(_context.t0);
4037
+
4038
+ case 14:
4039
+ _context.prev = 14;
4040
+ setLoading(false);
4041
+ return _context.finish(14);
4042
+
4043
+ case 17:
4044
+ case "end":
4045
+ return _context.stop();
4046
+ }
4047
+ }
4048
+ }, _callee, null, [[0, 11, 14, 17]]);
4049
+ }));
4050
+
4051
+ return function fetchData(_x, _x2, _x3) {
4052
+ return _ref2.apply(this, arguments);
4053
+ };
4054
+ }();
4055
+
4056
+ var handleChangePage = function handleChangePage(_event, newPage) {
4057
+ fetchData(newPage + 1, limit, filter);
4058
+ };
4059
+
4060
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
4061
+ fetchData(1, +event.target.value, filter);
4062
+ setLimit(+event.target.value);
4063
+ };
4064
+
4065
+ var onChange = function onChange(_event, eventFilter) {
4066
+ fetchData(1, limit, (eventFilter == null ? void 0 : eventFilter.url_name) || '');
4067
+ setFilter((eventFilter == null ? void 0 : eventFilter.url_name) || '');
4068
+ };
4069
+
4070
+ return React__default.createElement("div", {
4071
+ className: "my-ticket " + theme
4072
+ }, loading && React__default.createElement("div", {
4073
+ className: "loading"
4074
+ }, React__default.createElement(CircularProgress, null)), data && React__default.createElement(React__default.Fragment, null, React__default.createElement(Autocomplete, {
4075
+ disablePortal: true,
4076
+ id: "combo-box-demo",
4077
+ getOptionLabel: function getOptionLabel(option) {
4078
+ return option.event_name;
4079
+ },
4080
+ onChange: onChange,
4081
+ options: data.purchased_events,
4082
+ sx: {
4083
+ width: 300
4084
+ },
4085
+ renderInput: function renderInput(params) {
4086
+ return React__default.createElement(TextField, Object.assign({}, params, {
4087
+ label: "Events"
4088
+ }));
4089
+ }
4090
+ }), React__default.createElement(TableContainer, {
4091
+ component: Paper,
4092
+ className: "my-ticket-table"
4093
+ }, React__default.createElement(Table, {
4094
+ "aria-label": "collapsible table"
4095
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, tableConfig().header.map(function (column, index) {
4096
+ return React__default.createElement(TableCell, {
4097
+ key: index
4098
+ }, column);
4099
+ }), React__default.createElement(TableCell, null))), React__default.createElement(TableBody, null, (_data$orders = data.orders) == null ? void 0 : _data$orders.map(function (row) {
4100
+ return React__default.createElement(Row, {
4101
+ key: row.id,
4102
+ row: row,
4103
+ handleDetailsInfo: handleDetailsInfo
4104
+ });
4105
+ })))), React__default.createElement(TablePagination, {
4106
+ rowsPerPageOptions: [10, 25, 100],
4107
+ component: "div",
4108
+ count: data.total_count,
4109
+ rowsPerPage: limit,
4110
+ page: data.page,
4111
+ onPageChange: handleChangePage,
4112
+ onRowsPerPageChange: handleChangeRowsPerPage
4113
+ })));
4114
+ };
4115
+
4116
+ var TicketsTable = function TicketsTable(_ref) {
4117
+ var _ref$tickets = _ref.tickets,
4118
+ tickets = _ref$tickets === void 0 ? [] : _ref$tickets;
4119
+ return React__default.createElement("div", {
4120
+ className: 'tickets-box'
4121
+ }, React__default.createElement("h4", {
4122
+ className: 'sub-title'
4123
+ }, "Your Tickets"), React__default.createElement(TableContainer, {
4124
+ component: Paper
4125
+ }, React__default.createElement(Table, {
4126
+ "aria-label": "collapsible table"
4127
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, "Ticket ID"), React__default.createElement(TableCell, null, "Ticket Type"), React__default.createElement(TableCell, null, "Ticket Holder Name"), React__default.createElement(TableCell, null, "Status"), React__default.createElement(TableCell, null, "Download"))), React__default.createElement(TableBody, null, tickets.map(function (ticket, index) {
4128
+ var _ticket$add_ons;
4129
+
4130
+ return React__default.createElement(React.Fragment, {
4131
+ key: index
4132
+ }, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, ticket.hash), React__default.createElement(TableCell, null, ticket.ticket_type), React__default.createElement(TableCell, null, ticket.holder_name), React__default.createElement(TableCell, null, ticket.status), React__default.createElement(TableCell, null, React__default.createElement("a", {
4133
+ className: 'download-button',
4134
+ href: ticket.pdf_link,
4135
+ download: true
4136
+ }, "Download"))), !!((_ticket$add_ons = ticket.add_ons) != null && _ticket$add_ons.length) && React__default.createElement(TableRow, null, React__default.createElement(TableCell, {
4137
+ colSpan: 5
4138
+ }, React__default.createElement(Table, {
4139
+ className: 'ticket-add-on-table'
4140
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, "Add-On"), React__default.createElement(TableCell, null, "Status"))), React__default.createElement(TableBody, null, ticket.add_ons.map(function (add_on, index) {
4141
+ return React__default.createElement(TableRow, {
4142
+ key: index
4143
+ }, React__default.createElement(TableCell, null, add_on.name), React__default.createElement(TableCell, null, add_on.status));
4144
+ }))))));
4145
+ })))));
4146
+ };
4147
+
4148
+ var getTotal = function getTotal(data) {
4149
+ if (!(data != null && data.total) || !_has(data, 'items.ticket_types.length')) return '';
4150
+ return data.items.ticket_types[0].currency + data.total;
4151
+ };
4152
+
4153
+ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
4154
+ var _data$items$ticket_ty, _data$items$add_ons;
4155
+
4156
+ var _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
4157
+ onGetOrdersSuccess = _ref$onGetOrdersSucce === void 0 ? function () {} : _ref$onGetOrdersSucce,
4158
+ _ref$onGetOrdersError = _ref.onGetOrdersError,
4159
+ onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError;
4160
+
4161
+ var _useState = React.useState({}),
4162
+ data = _useState[0],
4163
+ setData = _useState[1];
4164
+
4165
+ var _useState2 = React.useState(true),
4166
+ loading = _useState2[0],
4167
+ setLoading = _useState2[1];
4168
+
4169
+ React.useEffect(function () {
4170
+ _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
4171
+ var orderId, params, response, _data;
4172
+
4173
+ return runtime_1.wrap(function _callee$(_context) {
4174
+ while (1) {
4175
+ switch (_context.prev = _context.next) {
4176
+ case 0:
4177
+ _context.prev = 0;
4178
+ setLoading(true);
4179
+ orderId = '';
4180
+
4181
+ if (typeof window !== 'undefined') {
4182
+ params = new URL("" + window.location).searchParams;
4183
+ orderId = params.get('o') || '';
4184
+ }
4185
+
4186
+ _context.next = 6;
4187
+ return getOrderDetails(orderId);
4188
+
4189
+ case 6:
4190
+ response = _context.sent;
4191
+ onGetOrdersSuccess(response);
4192
+ _data = _get(response, 'data.data.attributes');
4193
+ setData(_data);
4194
+ _context.next = 15;
4195
+ break;
4196
+
4197
+ case 12:
4198
+ _context.prev = 12;
4199
+ _context.t0 = _context["catch"](0);
4200
+ onGetOrdersError(_context.t0);
4201
+
4202
+ case 15:
4203
+ _context.prev = 15;
4204
+ setLoading(false);
4205
+ return _context.finish(15);
4206
+
4207
+ case 18:
4208
+ case "end":
4209
+ return _context.stop();
4210
+ }
4211
+ }
4212
+ }, _callee, null, [[0, 12, 15, 18]]);
4213
+ }))();
4214
+ }, []);
4215
+ return React__default.createElement("div", {
4216
+ className: "order-details"
4217
+ }, loading ? React__default.createElement("div", {
4218
+ className: "loading"
4219
+ }, React__default.createElement(CircularProgress, null)) : React__default.createElement(React__default.Fragment, null, React__default.createElement("h1", {
4220
+ className: "layout-title"
4221
+ }, "Order Details"), React__default.createElement("div", {
4222
+ className: "order-summary-box"
4223
+ }, React__default.createElement("h4", {
4224
+ className: "sub-title"
4225
+ }, "Order Summary"), React__default.createElement("div", {
4226
+ className: "personal-link"
4227
+ }, React__default.createElement("b", null, "Your personal share link for this event is: "), React__default.createElement("a", {
4228
+ href: data == null ? void 0 : data.personal_share_link,
4229
+ target: "_blank",
4230
+ rel: "noreferrer"
4231
+ }, data == null ? void 0 : data.personal_share_link)), React__default.createElement(TableContainer, {
4232
+ component: Paper
4233
+ }, React__default.createElement(Table, {
4234
+ "aria-label": "collapsible table"
4235
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, "Items"), React__default.createElement(TableCell, null, "Price"), React__default.createElement(TableCell, null, "Quantity"), React__default.createElement(TableCell, null, "Total"))), React__default.createElement(TableBody, null, data == null ? void 0 : (_data$items$ticket_ty = data.items.ticket_types) == null ? void 0 : _data$items$ticket_ty.map(function (ticket, index) {
4236
+ return React__default.createElement(TableRow, {
4237
+ key: index
4238
+ }, React__default.createElement(TableCell, null, React__default.createElement("b", null, "Ticket Type: "), ticket.name), React__default.createElement(TableCell, null, ticket.currency + ticket.price), React__default.createElement(TableCell, null, ticket.quantity), React__default.createElement(TableCell, null, ticket.currency + ticket.total));
4239
+ }), data == null ? void 0 : (_data$items$add_ons = data.items.add_ons) == null ? void 0 : _data$items$add_ons.map(function (ticket, index) {
4240
+ return React__default.createElement(TableRow, {
4241
+ key: index
4242
+ }, React__default.createElement(TableCell, null, React__default.createElement("b", null, "Add-On: "), ticket.name), React__default.createElement(TableCell, null, ticket.currency + ticket.price), React__default.createElement(TableCell, null, ticket.quantity), React__default.createElement(TableCell, null, ticket.currency + ticket.total));
4243
+ }), React__default.createElement(TableRow, {
4244
+ className: "total-row"
4245
+ }, React__default.createElement(TableCell, null), React__default.createElement(TableCell, null), React__default.createElement(TableCell, null, "Total"), React__default.createElement(TableCell, null, getTotal(data))))))), React__default.createElement(TicketsTable, {
4246
+ tickets: data.tickets
4247
+ }), React__default.createElement("div", {
4248
+ className: "return-button-container"
4249
+ }, React__default.createElement("button", {
4250
+ type: "button",
4251
+ className: "return-button",
4252
+ onClick: function onClick() {
4253
+ if (typeof window !== 'undefined') {
4254
+ window.location.assign('/orders');
4255
+ }
4256
+ }
4257
+ }, "Return to Order History"))));
4258
+ };
4259
+
3885
4260
  exports.BillingInfoContainer = BillingInfoContainer;
3886
4261
  exports.ConfirmationContainer = ConfirmationContainer;
3887
4262
  exports.LoginModal = LoginModal;
4263
+ exports.MyTicketsContainer = MyTicketsContainer;
4264
+ exports.OrderDetailsContainer = OrderDetailsContainer;
3888
4265
  exports.PaymentContainer = PaymentContainer;
3889
4266
  exports.TicketsContainer = TicketsContainer;
3890
4267
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;