tf-checkout-react 1.0.59 → 1.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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';
@@ -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
  });
@@ -1089,6 +1098,12 @@ var getConfirmationData = function getConfirmationData(orderHash) {
1089
1098
  var getStates = function getStates(countryId) {
1090
1099
  return publicRequest.get("/countries/" + countryId + "/states/");
1091
1100
  };
1101
+ var getOrders = function getOrders(page, limit, eventSlug) {
1102
+ return publicRequest.get("/v1/account/orders/?page=" + page + "&limit=" + limit + "&filter[event]=" + eventSlug);
1103
+ };
1104
+ var getOrderDetails = function getOrderDetails(orderId) {
1105
+ return publicRequest.get("/v1/account/order/" + orderId);
1106
+ };
1092
1107
  var addToWaitingList = function addToWaitingList(id, data) {
1093
1108
  return publicRequest.post("/v1/event/" + id + "/add_to_waiting_list", data);
1094
1109
  };
@@ -1853,6 +1868,22 @@ var ErrorFocusInternal = /*#__PURE__*/function (_Component) {
1853
1868
 
1854
1869
  var ErrorFocus = /*#__PURE__*/formik.connect(ErrorFocusInternal);
1855
1870
 
1871
+ var getImage = function getImage(name) {
1872
+ if (name === void 0) {
1873
+ name = '';
1874
+ }
1875
+
1876
+ var image = '';
1877
+
1878
+ if (!name.trim().length) {
1879
+ return image;
1880
+ }
1881
+
1882
+ return image;
1883
+ };
1884
+
1885
+ var TTFLOGO = /*#__PURE__*/getImage('logo-ttf.png');
1886
+
1856
1887
  var LogicRunner = function LogicRunner(_ref) {
1857
1888
  var values = _ref.values,
1858
1889
  setStates = _ref.setStates,
@@ -2433,7 +2464,12 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2433
2464
  onLogin();
2434
2465
  setShowModalLogin(true);
2435
2466
  }
2436
- }, "Login"))), _map(dataWithUniqueIds, function (item) {
2467
+ }, "Login"), React__default.createElement("div", {
2468
+ className: "logo-image-container"
2469
+ }, React__default.createElement("img", {
2470
+ src: TTFLOGO,
2471
+ alt: "nodata"
2472
+ })))), _map(dataWithUniqueIds, function (item) {
2437
2473
  var label = item.label,
2438
2474
  labelClassName = item.labelClassName,
2439
2475
  fields = item.fields;
@@ -2612,7 +2648,7 @@ var getCurrencySymbolByCurrency = function getCurrencySymbolByCurrency(currency)
2612
2648
  var options = {
2613
2649
  style: {
2614
2650
  base: {
2615
- backgroundColor: '#232323',
2651
+ backgroundColor: '#000',
2616
2652
  fontSize: '18px',
2617
2653
  color: '#ffffff',
2618
2654
  letterSpacing: '1px',
@@ -3862,9 +3898,336 @@ var TicketsContainer = function TicketsContainer(_ref) {
3862
3898
  }, getTicketsLabel || 'GET TICKETS'))));
3863
3899
  };
3864
3900
 
3901
+ var EventInfoItem = function EventInfoItem(_ref) {
3902
+ var image = _ref.image,
3903
+ name = _ref.name;
3904
+ return React__default.createElement("div", {
3905
+ className: 'event-info'
3906
+ }, React__default.createElement("img", {
3907
+ src: image,
3908
+ alt: "event"
3909
+ }), name);
3910
+ };
3911
+
3912
+ var tableConfig = function tableConfig(key) {
3913
+ var config;
3914
+
3915
+ switch (key) {
3916
+ default:
3917
+ config = {
3918
+ header: ['Order No.', 'Date', 'Event', 'Total'],
3919
+ body: [function (row) {
3920
+ return row.id;
3921
+ }, function (row) {
3922
+ return row.date;
3923
+ }, function (row) {
3924
+ return React__default.createElement(EventInfoItem, {
3925
+ image: row.image,
3926
+ name: row.eventName
3927
+ });
3928
+ }, function (row) {
3929
+ return row.currency + row.amount;
3930
+ }]
3931
+ };
3932
+ }
3933
+
3934
+ return config;
3935
+ };
3936
+
3937
+ var Row = function Row(_ref) {
3938
+ var row = _ref.row,
3939
+ handleDetailsInfo = _ref.handleDetailsInfo;
3940
+ return React__default.createElement(TableRow, {
3941
+ sx: {
3942
+ '& > *': {
3943
+ borderBottom: 'unset'
3944
+ }
3945
+ }
3946
+ }, tableConfig().body.map(function (column, index) {
3947
+ return React__default.createElement(TableCell, {
3948
+ component: "th",
3949
+ scope: "row",
3950
+ key: index
3951
+ }, column(row));
3952
+ }), React__default.createElement(TableCell, {
3953
+ component: "th",
3954
+ scope: "row"
3955
+ }, React__default.createElement("button", {
3956
+ type: 'button',
3957
+ className: "order-details-button",
3958
+ onClick: function onClick() {
3959
+ return handleDetailsInfo(row.id);
3960
+ }
3961
+ }, "Details")));
3962
+ };
3963
+
3964
+ var MyTicketsContainer = function MyTicketsContainer(_ref) {
3965
+ var _data$orders;
3966
+
3967
+ var _ref$handleDetailsInf = _ref.handleDetailsInfo,
3968
+ handleDetailsInfo = _ref$handleDetailsInf === void 0 ? function () {} : _ref$handleDetailsInf,
3969
+ _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
3970
+ onGetOrdersSuccess = _ref$onGetOrdersSucce === void 0 ? function () {} : _ref$onGetOrdersSucce,
3971
+ _ref$onGetOrdersError = _ref.onGetOrdersError,
3972
+ onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError;
3973
+
3974
+ var _useState = React.useState(null),
3975
+ data = _useState[0],
3976
+ setData = _useState[1];
3977
+
3978
+ var _useState2 = React.useState(true),
3979
+ loading = _useState2[0],
3980
+ setLoading = _useState2[1];
3981
+
3982
+ var _useState3 = React.useState(10),
3983
+ limit = _useState3[0],
3984
+ setLimit = _useState3[1];
3985
+
3986
+ var _useState4 = React.useState(''),
3987
+ filter = _useState4[0],
3988
+ setFilter = _useState4[1]; //just once
3989
+
3990
+
3991
+ React.useEffect(function () {
3992
+ fetchData(1, limit, filter);
3993
+ }, []);
3994
+
3995
+ var fetchData = /*#__PURE__*/function () {
3996
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(page, limit, filter) {
3997
+ var response, _data;
3998
+
3999
+ return runtime_1.wrap(function _callee$(_context) {
4000
+ while (1) {
4001
+ switch (_context.prev = _context.next) {
4002
+ case 0:
4003
+ _context.prev = 0;
4004
+ setLoading(true);
4005
+ _context.next = 4;
4006
+ return getOrders(page, limit, filter);
4007
+
4008
+ case 4:
4009
+ response = _context.sent;
4010
+ onGetOrdersSuccess(response);
4011
+ _data = _get(response, 'data.data.attributes');
4012
+ _data.page -= 1;
4013
+ setData(_data);
4014
+ _context.next = 14;
4015
+ break;
4016
+
4017
+ case 11:
4018
+ _context.prev = 11;
4019
+ _context.t0 = _context["catch"](0);
4020
+ onGetOrdersError(_context.t0);
4021
+
4022
+ case 14:
4023
+ _context.prev = 14;
4024
+ setLoading(false);
4025
+ return _context.finish(14);
4026
+
4027
+ case 17:
4028
+ case "end":
4029
+ return _context.stop();
4030
+ }
4031
+ }
4032
+ }, _callee, null, [[0, 11, 14, 17]]);
4033
+ }));
4034
+
4035
+ return function fetchData(_x, _x2, _x3) {
4036
+ return _ref2.apply(this, arguments);
4037
+ };
4038
+ }();
4039
+
4040
+ var handleChangePage = function handleChangePage(_event, newPage) {
4041
+ fetchData(newPage + 1, limit, filter);
4042
+ };
4043
+
4044
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
4045
+ fetchData(1, +event.target.value, filter);
4046
+ setLimit(+event.target.value);
4047
+ };
4048
+
4049
+ var onChange = function onChange(_event, eventFilter) {
4050
+ fetchData(1, limit, (eventFilter == null ? void 0 : eventFilter.url_name) || '');
4051
+ setFilter((eventFilter == null ? void 0 : eventFilter.url_name) || '');
4052
+ };
4053
+
4054
+ return React__default.createElement("div", {
4055
+ className: 'my-ticket'
4056
+ }, loading && React__default.createElement("div", {
4057
+ className: 'loading'
4058
+ }, React__default.createElement(CircularProgress, null)), data && React__default.createElement(React__default.Fragment, null, React__default.createElement(Autocomplete, {
4059
+ disablePortal: true,
4060
+ id: "combo-box-demo",
4061
+ getOptionLabel: function getOptionLabel(option) {
4062
+ return option.event_name;
4063
+ },
4064
+ onChange: onChange,
4065
+ options: data.purchased_events,
4066
+ sx: {
4067
+ width: 300
4068
+ },
4069
+ renderInput: function renderInput(params) {
4070
+ return React__default.createElement(TextField, Object.assign({}, params, {
4071
+ label: "Events"
4072
+ }));
4073
+ }
4074
+ }), React__default.createElement(TableContainer, {
4075
+ component: Paper,
4076
+ className: 'my-ticket-table'
4077
+ }, React__default.createElement(Table, {
4078
+ "aria-label": "collapsible table"
4079
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, tableConfig().header.map(function (column, index) {
4080
+ return React__default.createElement(TableCell, {
4081
+ key: index
4082
+ }, column);
4083
+ }), React__default.createElement(TableCell, null))), React__default.createElement(TableBody, null, (_data$orders = data.orders) == null ? void 0 : _data$orders.map(function (row) {
4084
+ return React__default.createElement(Row, {
4085
+ key: row.id,
4086
+ row: row,
4087
+ handleDetailsInfo: handleDetailsInfo
4088
+ });
4089
+ })))), React__default.createElement(TablePagination, {
4090
+ rowsPerPageOptions: [10, 25, 100],
4091
+ component: "div",
4092
+ count: data.total_count,
4093
+ rowsPerPage: limit,
4094
+ page: data.page,
4095
+ onPageChange: handleChangePage,
4096
+ onRowsPerPageChange: handleChangeRowsPerPage
4097
+ })));
4098
+ };
4099
+
4100
+ var TicketsTable = function TicketsTable(_ref) {
4101
+ var _ref$tickets = _ref.tickets,
4102
+ tickets = _ref$tickets === void 0 ? [] : _ref$tickets;
4103
+ return React__default.createElement("div", {
4104
+ className: 'tickets-box'
4105
+ }, React__default.createElement("h4", {
4106
+ className: 'sub-title'
4107
+ }, "Your Tickets"), React__default.createElement(TableContainer, {
4108
+ component: Paper
4109
+ }, React__default.createElement(Table, {
4110
+ "aria-label": "collapsible table"
4111
+ }, 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) {
4112
+ var _ticket$add_ons;
4113
+
4114
+ return React__default.createElement(React.Fragment, {
4115
+ key: index
4116
+ }, 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", {
4117
+ className: 'download-button',
4118
+ href: ticket.pdf_link,
4119
+ download: true
4120
+ }, "Download"))), !!((_ticket$add_ons = ticket.add_ons) != null && _ticket$add_ons.length) && React__default.createElement(TableRow, null, React__default.createElement(TableCell, {
4121
+ colSpan: 5
4122
+ }, React__default.createElement(Table, {
4123
+ className: 'ticket-add-on-table'
4124
+ }, 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) {
4125
+ return React__default.createElement(TableRow, {
4126
+ key: index
4127
+ }, React__default.createElement(TableCell, null, add_on.name), React__default.createElement(TableCell, null, add_on.status));
4128
+ }))))));
4129
+ })))));
4130
+ };
4131
+
4132
+ var getTotal = function getTotal(data) {
4133
+ if (!(data != null && data.total) || !_has(data, 'items.ticket_types.length')) return '';
4134
+ return data.items.ticket_types[0].currency + data.total;
4135
+ };
4136
+
4137
+ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
4138
+ var _data$items$ticket_ty, _data$items$add_ons;
4139
+
4140
+ var _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
4141
+ onGetOrdersSuccess = _ref$onGetOrdersSucce === void 0 ? function () {} : _ref$onGetOrdersSucce,
4142
+ _ref$onGetOrdersError = _ref.onGetOrdersError,
4143
+ onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError;
4144
+
4145
+ var _useState = React.useState(null),
4146
+ data = _useState[0],
4147
+ setData = _useState[1];
4148
+
4149
+ var _useState2 = React.useState(true),
4150
+ loading = _useState2[0],
4151
+ setLoading = _useState2[1];
4152
+
4153
+ React.useEffect(function () {
4154
+ _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
4155
+ var orderId, response, _data;
4156
+
4157
+ return runtime_1.wrap(function _callee$(_context) {
4158
+ while (1) {
4159
+ switch (_context.prev = _context.next) {
4160
+ case 0:
4161
+ _context.prev = 0;
4162
+ setLoading(true);
4163
+ orderId = window.location.href.split('/').slice(-1)[0];
4164
+ _context.next = 5;
4165
+ return getOrderDetails(orderId);
4166
+
4167
+ case 5:
4168
+ response = _context.sent;
4169
+ onGetOrdersSuccess(response);
4170
+ _data = _get(response, 'data.data.attributes');
4171
+ setData(_data);
4172
+ _context.next = 14;
4173
+ break;
4174
+
4175
+ case 11:
4176
+ _context.prev = 11;
4177
+ _context.t0 = _context["catch"](0);
4178
+ onGetOrdersError(_context.t0);
4179
+
4180
+ case 14:
4181
+ _context.prev = 14;
4182
+ setLoading(false);
4183
+ return _context.finish(14);
4184
+
4185
+ case 17:
4186
+ case "end":
4187
+ return _context.stop();
4188
+ }
4189
+ }
4190
+ }, _callee, null, [[0, 11, 14, 17]]);
4191
+ }))();
4192
+ }, []);
4193
+ return React__default.createElement("div", {
4194
+ className: "order-details"
4195
+ }, loading ? React__default.createElement("div", {
4196
+ className: 'loading'
4197
+ }, React__default.createElement(CircularProgress, null)) : React__default.createElement(React__default.Fragment, null, React__default.createElement("h1", {
4198
+ className: 'layout-title'
4199
+ }, "Order Details"), React__default.createElement("div", {
4200
+ className: 'order-summary-box'
4201
+ }, React__default.createElement("h4", {
4202
+ className: 'sub-title'
4203
+ }, "Order Summary"), React__default.createElement("div", null, React__default.createElement("b", null, "Your personal share link for this event is:", " "), React__default.createElement("a", {
4204
+ href: data == null ? void 0 : data.personal_share_link,
4205
+ target: '_blank',
4206
+ rel: 'noreferrer'
4207
+ }, data == null ? void 0 : data.personal_share_link)), React__default.createElement(TableContainer, {
4208
+ component: Paper
4209
+ }, React__default.createElement(Table, {
4210
+ "aria-label": "collapsible table"
4211
+ }, 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) {
4212
+ return React__default.createElement(TableRow, {
4213
+ key: index
4214
+ }, 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));
4215
+ }), data == null ? void 0 : (_data$items$add_ons = data.items.add_ons) == null ? void 0 : _data$items$add_ons.map(function (ticket, index) {
4216
+ return React__default.createElement(TableRow, {
4217
+ key: index
4218
+ }, 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));
4219
+ }), React__default.createElement(TableRow, {
4220
+ className: 'total-row'
4221
+ }, 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, {
4222
+ tickets: data.tickets
4223
+ })));
4224
+ };
4225
+
3865
4226
  exports.BillingInfoContainer = BillingInfoContainer;
3866
4227
  exports.ConfirmationContainer = ConfirmationContainer;
3867
4228
  exports.LoginModal = LoginModal;
4229
+ exports.MyTicketsContainer = MyTicketsContainer;
4230
+ exports.OrderDetailsContainer = OrderDetailsContainer;
3868
4231
  exports.PaymentContainer = PaymentContainer;
3869
4232
  exports.TicketsContainer = TicketsContainer;
3870
4233
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;