tf-checkout-react 1.4.21 → 1.4.22-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare const useOnline: (handler: (value: boolean) => void) => void;
@@ -9364,6 +9364,24 @@ var DelegationsContainer = function DelegationsContainer(_ref) {
9364
9364
  }));
9365
9365
  };
9366
9366
 
9367
+ var useOnline = function useOnline(handler) {
9368
+ React.useEffect(function () {
9369
+ var handleOffline = function handleOffline() {
9370
+ handler(false);
9371
+ };
9372
+ var handleOnline = function handleOnline() {
9373
+ handler(true);
9374
+ };
9375
+ window.addEventListener('offline', handleOffline);
9376
+ window.addEventListener('online', handleOnline);
9377
+ return function () {
9378
+ window.removeEventListener('offline', handleOffline);
9379
+ window.removeEventListener('online', handleOnline);
9380
+ };
9381
+ // eslint-disable-next-line react-hooks/exhaustive-deps
9382
+ }, []);
9383
+ };
9384
+
9367
9385
  var addToCartFunc = /*#__PURE__*/function () {
9368
9386
  var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
9369
9387
  var eventId, data, ticketQuantity, _ref$enableBillingInf, enableBillingInfoAutoCreate, isWindowDefined, result, pageConfigsDataResponse, pageConfigsData, _pageConfigsData$skip, skipBillingPage, _pageConfigsData$name, nameIsRequired, _pageConfigsData$age_, ageIsRequired, _pageConfigsData$phon, phoneIsRequired, _pageConfigsData$hide, hidePhoneField, _pageConfigsData$has_, hasAddOn, _pageConfigsData$free, freeTicket, _pageConfigsData$coll, collectOptionalWalletAddress, _pageConfigsData$coll2, collectMandatoryWalletAddress, hash, total, userData, checkoutBody, checkoutResult;
@@ -9814,6 +9832,7 @@ var TicketsSection$1 = function TicketsSection(props) {
9814
9832
  }) : getTicketsBtnLabel || getButtonLabel(reservedSeats.length, tableMapEnabled)))));
9815
9833
  };
9816
9834
 
9835
+ var OFFLINE_MESSAGE = 'Offline.';
9817
9836
  var SeatMapContainer = function SeatMapContainer(props) {
9818
9837
  var _props$event = props.event,
9819
9838
  eventId = _props$event.id,
@@ -9866,7 +9885,11 @@ var SeatMapContainer = function SeatMapContainer(props) {
9866
9885
  var _useState11 = React.useState({}),
9867
9886
  guestCounts = _useState11[0],
9868
9887
  setGuestCounts = _useState11[1];
9888
+ var _useState12 = React.useState(true),
9889
+ isOnline = _useState12[0],
9890
+ setIsOnline = _useState12[1];
9869
9891
  var isGuestCountsSet = React.useRef(false);
9892
+ useOnline(setIsOnline);
9870
9893
  var updateGuestCounts = function updateGuestCounts(data) {
9871
9894
  _forEach(data, function (item) {
9872
9895
  var tierTickets = ticketTypeTierRelationsRef.current[item.tierId];
@@ -9918,10 +9941,14 @@ var SeatMapContainer = function SeatMapContainer(props) {
9918
9941
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
9919
9942
  while (1) switch (_context2.prev = _context2.next) {
9920
9943
  case 0:
9921
- _context2.prev = 0;
9922
- _context2.next = 3;
9944
+ if (!isOnline) {
9945
+ _context2.next = 18;
9946
+ break;
9947
+ }
9948
+ _context2.prev = 1;
9949
+ _context2.next = 4;
9923
9950
  return getSeatMapStatuses(eventId);
9924
- case 3:
9951
+ case 4:
9925
9952
  statusesResponse = _context2.sent;
9926
9953
  statuses = _get(statusesResponse, 'data.attributes') || {};
9927
9954
  reservationData = [];
@@ -9960,18 +9987,18 @@ var SeatMapContainer = function SeatMapContainer(props) {
9960
9987
  setSelectedTickets({});
9961
9988
  }
9962
9989
  }
9963
- _context2.next = 17;
9990
+ _context2.next = 18;
9964
9991
  break;
9965
- case 14:
9966
- _context2.prev = 14;
9967
- _context2.t0 = _context2["catch"](0);
9992
+ case 15:
9993
+ _context2.prev = 15;
9994
+ _context2.t0 = _context2["catch"](1);
9968
9995
  setError('Something went wrong');
9969
- case 17:
9996
+ case 18:
9970
9997
  case "end":
9971
9998
  return _context2.stop();
9972
9999
  }
9973
- }, _callee2, null, [[0, 14]]);
9974
- })), [eventId, seatMapStatuses, reservedSeats]);
10000
+ }, _callee2, null, [[1, 15]]);
10001
+ })), [eventId, seatMapStatuses, reservedSeats, isOnline]);
9975
10002
  var startTimer = React.useCallback(function (duration) {
9976
10003
  setShowTimer(true);
9977
10004
  if (!localStorage.getItem("reservationStart-" + eventId)) {
@@ -10213,6 +10240,13 @@ var SeatMapContainer = function SeatMapContainer(props) {
10213
10240
  clearInterval(intervalId);
10214
10241
  };
10215
10242
  }, [fetchSeatMapReservations]);
10243
+ React.useEffect(function () {
10244
+ if (!isOnline) {
10245
+ setError(OFFLINE_MESSAGE);
10246
+ } else if (isOnline && error === OFFLINE_MESSAGE) {
10247
+ setError(null);
10248
+ }
10249
+ }, [error, isOnline]);
10216
10250
  return React__default.createElement(React__default.Fragment, null, error && React__default.createElement(material.Alert, {
10217
10251
  severity: "error",
10218
10252
  onClose: function onClose() {