tf-checkout-react 1.0.61 → 1.0.65

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