tf-checkout-react 1.0.67 → 1.0.68

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.
@@ -1,24 +1,18 @@
1
1
  /// <reference types="react" />
2
2
  import './style.css';
3
- import { IReferralPromotion } from '../../types';
4
3
  import { AxiosError } from 'axios';
5
4
  export interface IShareButton {
6
5
  mainLabel: string;
7
6
  subLabel: string;
8
- svgSrc: string;
9
- containerClassName?: string;
10
- containerInnerClassName?: string;
11
- svgClassName?: string;
12
- svgWidth?: string;
13
- svgHeight?: string;
14
- svgFill?: string;
7
+ icon: string;
8
+ link: string;
15
9
  }
16
10
  export interface IConfirmationPage {
17
- referralPromotions: IReferralPromotion[];
18
- shareLink: string;
19
11
  isReferralEnabled: boolean;
12
+ showDefaultShareButtons: boolean;
13
+ messengerAppId: string;
20
14
  shareButtons: IShareButton[];
21
15
  onGetConfirmationDataSuccess: (res: any) => void;
22
16
  onGetConfirmationDataError: (e: AxiosError) => void;
23
17
  }
24
- export declare const ConfirmationContainer: ({ isReferralEnabled, referralPromotions, shareButtons, shareLink, onGetConfirmationDataSuccess, onGetConfirmationDataError, }: IConfirmationPage) => JSX.Element;
18
+ export declare const ConfirmationContainer: ({ isReferralEnabled, showDefaultShareButtons, messengerAppId, shareButtons, onGetConfirmationDataSuccess, onGetConfirmationDataError, }: IConfirmationPage) => JSX.Element;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { IShareButton } from './index';
3
+ interface SocialButtonsTypes {
4
+ shareLink: string;
5
+ name: string;
6
+ appId: string;
7
+ showDefaultShareButtons: boolean;
8
+ shareButtons: IShareButton[];
9
+ }
10
+ declare const SocialButtons: ({ showDefaultShareButtons, shareLink, name, appId, shareButtons }: SocialButtonsTypes) => JSX.Element;
11
+ export default SocialButtons;
@@ -10,6 +10,7 @@ interface Props {
10
10
  onAuthorizeError?: (e: AxiosError) => void;
11
11
  onGetProfileDataSuccess?: (res: any) => void;
12
12
  onGetProfileDataError?: (e: AxiosError) => void;
13
+ modalClassname?: string;
13
14
  }
14
15
  export declare const LoginModal: FC<Props>;
15
16
  export {};
package/dist/env.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export declare const ENV_TEST: {
1
+ export declare const ENV: {
2
2
  EVENT_ID: number;
3
3
  BASE_URL: string;
4
4
  CLIENT_ID: string;
5
5
  CLIENT_SECRET: string;
6
6
  STRIPE_PUBLISHABLE_KEY: string;
7
7
  };
8
- export declare const ENV: {
8
+ export declare const ENV_PROD: {
9
9
  EVENT_ID: number;
10
10
  BASE_URL: string;
11
11
  CLIENT_ID: string;
@@ -33,6 +33,7 @@ var reactStripeJs = require('@stripe/react-stripe-js');
33
33
  var stripeJs = require('@stripe/stripe-js');
34
34
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
35
35
  var SVG = _interopDefault(require('react-inlinesvg'));
36
+ var reactShare = require('react-share');
36
37
  var _some = _interopDefault(require('lodash/some'));
37
38
  var _find = _interopDefault(require('lodash/find'));
38
39
  var _isEmpty = _interopDefault(require('lodash/isEmpty'));
@@ -924,15 +925,14 @@ var emailValidator = function emailValidator(email) {
924
925
  return !emailRegex.test(email) ? 'Please enter a valid email address' : '';
925
926
  };
926
927
 
927
- // preview1
928
-
928
+ // preview
929
929
  var ENV = {
930
- EVENT_ID: 9766,
931
- BASE_URL: 'https://www.ticketfairy.com/api',
932
- CLIENT_ID: 'e9d8f8922797b4621e562255afe90dbf',
930
+ EVENT_ID: 3483,
931
+ BASE_URL: 'https://preview.ttf.fluxtech.me/api',
932
+ CLIENT_ID: '4792a61f2fcb49197ab4c2d2f44df570',
933
933
  CLIENT_SECRET: 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9',
934
- STRIPE_PUBLISHABLE_KEY: 'pk_live_51JucaXAnOd2Grid07FqHOkqcoh90bbCYL5bG7OuyM5RtzUoolrFcHroCWici0G9w0YpqO7qsGz6WP7K6HHYw1yhz00cm7fj5n5'
935
- };
934
+ STRIPE_PUBLISHABLE_KEY: 'pk_test_51H4BkOGqveRD6EShliLrT9vd7mPOBPvQSuqmvc3wIinDqxWsCLeS2N7HonPPn6MhjU35ayYy5v4I6MLlD4jNWrd000NSgAF6UL'
935
+ }; // prod
936
936
 
937
937
  var isWindowDefined = typeof window !== 'undefined';
938
938
  var allowedOrigins = ['http://localhost', 'gtsb.io', 'gatsbyjs.io', 'https://www.houseofx.nyc', 'https://tickets-staging.houseofx.nyc'];
@@ -1149,7 +1149,9 @@ var LoginModal = function LoginModal(_ref) {
1149
1149
  _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
1150
1150
  onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1151
1151
  _ref$onGetProfileData2 = _ref.onGetProfileDataError,
1152
- onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2;
1152
+ onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2,
1153
+ _ref$modalClassname = _ref.modalClassname,
1154
+ modalClassname = _ref$modalClassname === void 0 ? '' : _ref$modalClassname;
1153
1155
 
1154
1156
  var _useState = React.useState(''),
1155
1157
  error = _useState[0],
@@ -1159,7 +1161,8 @@ var LoginModal = function LoginModal(_ref) {
1159
1161
  open: true,
1160
1162
  onClose: onClose,
1161
1163
  "aria-labelledby": "modal-modal-title",
1162
- "aria-describedby": "modal-modal-description"
1164
+ "aria-describedby": "modal-modal-description",
1165
+ className: "login-modal " + modalClassname
1163
1166
  }, React__default.createElement(Box, {
1164
1167
  style: style
1165
1168
  }, React__default.createElement("div", null, React__default.createElement(formik.Formik, {
@@ -1988,7 +1991,7 @@ var LogicRunner = function LogicRunner(_ref) {
1988
1991
  React.useEffect(function () {
1989
1992
  var fetchStates = /*#__PURE__*/function () {
1990
1993
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1991
- var _mappedStates$0$label, _mappedStates$, res, mappedStates;
1994
+ var _mappedStates$0$value, _mappedStates$, res, mappedStates;
1992
1995
 
1993
1996
  return runtime_1.wrap(function _callee$(_context) {
1994
1997
  while (1) {
@@ -2000,14 +2003,14 @@ var LogicRunner = function LogicRunner(_ref) {
2000
2003
 
2001
2004
  case 3:
2002
2005
  res = _context.sent;
2003
- mappedStates = _map(_get(res, 'data.data'), function (item) {
2006
+ mappedStates = _map(_get(res, 'data.data'), function (item, key) {
2004
2007
  return {
2005
2008
  label: item,
2006
- value: item
2009
+ value: key
2007
2010
  };
2008
2011
  });
2009
2012
  setStates(mappedStates);
2010
- setFieldValue('state', (_mappedStates$0$label = (_mappedStates$ = mappedStates[0]) == null ? void 0 : _mappedStates$.label) != null ? _mappedStates$0$label : '');
2013
+ setFieldValue('state', (_mappedStates$0$value = (_mappedStates$ = mappedStates[0]) == null ? void 0 : _mappedStates$.value) != null ? _mappedStates$0$value : '');
2011
2014
  onGetStatesSuccess(res.data);
2012
2015
  _context.next = 13;
2013
2016
  break;
@@ -3223,31 +3226,108 @@ var PaymentContainer = function PaymentContainer(_ref) {
3223
3226
  })))))));
3224
3227
  };
3225
3228
 
3226
- var defaultSvg = 'https://img.icons8.com/ios-filled/50/000000/facebook-new.svg';
3229
+ var SocialButtons = function SocialButtons(_ref) {
3230
+ var showDefaultShareButtons = _ref.showDefaultShareButtons,
3231
+ shareLink = _ref.shareLink,
3232
+ name = _ref.name,
3233
+ appId = _ref.appId,
3234
+ shareButtons = _ref.shareButtons;
3235
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
3236
+ className: "convenient_buttons"
3237
+ }, "or use one of these convenient buttons:"), React__default.createElement("div", {
3238
+ className: "social-media-btns"
3239
+ }, showDefaultShareButtons && React__default.createElement(React__default.Fragment, null, React__default.createElement(reactShare.FacebookShareButton, {
3240
+ url: shareLink,
3241
+ quote: name
3242
+ }, React__default.createElement("div", {
3243
+ className: 'social-media-sharing'
3244
+ }, React__default.createElement("div", {
3245
+ className: 'share-icon'
3246
+ }, React__default.createElement(reactShare.FacebookIcon, {
3247
+ size: 32,
3248
+ round: true
3249
+ })), React__default.createElement("span", {
3250
+ className: "share-text"
3251
+ }, "Share on", React__default.createElement("br", null), " Facebook"))), React__default.createElement(reactShare.TwitterShareButton, {
3252
+ url: shareLink,
3253
+ title: name
3254
+ }, React__default.createElement("div", {
3255
+ className: 'social-media-sharing'
3256
+ }, React__default.createElement("div", {
3257
+ className: 'share-icon'
3258
+ }, React__default.createElement(reactShare.TwitterIcon, {
3259
+ size: 32,
3260
+ round: true
3261
+ })), React__default.createElement("span", {
3262
+ className: "share-text"
3263
+ }, "Tweet to your", React__default.createElement("br", null), " Followers"))), React__default.createElement(reactShare.FacebookMessengerShareButton, {
3264
+ url: shareLink,
3265
+ appId: appId
3266
+ }, React__default.createElement("div", {
3267
+ className: 'social-media-sharing'
3268
+ }, React__default.createElement("div", {
3269
+ className: 'share-icon'
3270
+ }, React__default.createElement(reactShare.FacebookMessengerIcon, {
3271
+ size: 32,
3272
+ round: true
3273
+ })), React__default.createElement("span", {
3274
+ className: "share-text"
3275
+ }, "Message friends on", React__default.createElement("br", null), " Facebook"))), React__default.createElement(reactShare.WhatsappShareButton, {
3276
+ url: shareLink,
3277
+ title: name
3278
+ }, React__default.createElement("div", {
3279
+ className: 'social-media-sharing'
3280
+ }, React__default.createElement("div", {
3281
+ className: 'share-icon'
3282
+ }, React__default.createElement(reactShare.WhatsappIcon, {
3283
+ size: 32,
3284
+ round: true
3285
+ })), React__default.createElement("span", {
3286
+ className: "share-text"
3287
+ }, "Message friends on", React__default.createElement("br", null), " Whatsapp")))), shareButtons.map(function (shareButton, index) {
3288
+ return React__default.createElement("div", {
3289
+ className: 'sharing-btn',
3290
+ key: index
3291
+ }, React__default.createElement("a", {
3292
+ href: shareButton.link,
3293
+ target: "_blank",
3294
+ rel: "noopener noreferrer"
3295
+ }, React__default.createElement("div", {
3296
+ className: 'social-media-sharing'
3297
+ }, React__default.createElement("div", {
3298
+ className: 'share-icon'
3299
+ }, React__default.createElement(SVG, {
3300
+ width: '32px',
3301
+ height: '32px',
3302
+ fill: '#FFF',
3303
+ src: getImage(shareButton.icon)
3304
+ })), React__default.createElement("span", {
3305
+ className: "share-text"
3306
+ }, shareButton.mainLabel, React__default.createElement("br", null), " ", shareButton.subLabel))));
3307
+ })));
3308
+ };
3309
+
3227
3310
  var ConfirmationContainer = function ConfirmationContainer(_ref) {
3228
3311
  var isReferralEnabled = _ref.isReferralEnabled,
3229
- _ref$referralPromotio = _ref.referralPromotions,
3230
- referralPromotions = _ref$referralPromotio === void 0 ? [] : _ref$referralPromotio,
3312
+ showDefaultShareButtons = _ref.showDefaultShareButtons,
3313
+ _ref$messengerAppId = _ref.messengerAppId,
3314
+ messengerAppId = _ref$messengerAppId === void 0 ? '' : _ref$messengerAppId,
3231
3315
  _ref$shareButtons = _ref.shareButtons,
3232
3316
  shareButtons = _ref$shareButtons === void 0 ? [] : _ref$shareButtons,
3233
- _ref$shareLink = _ref.shareLink,
3234
- shareLink = _ref$shareLink === void 0 ? '' : _ref$shareLink,
3235
3317
  _ref$onGetConfirmatio = _ref.onGetConfirmationDataSuccess,
3236
3318
  onGetConfirmationDataSuccess = _ref$onGetConfirmatio === void 0 ? function () {} : _ref$onGetConfirmatio,
3237
3319
  _ref$onGetConfirmatio2 = _ref.onGetConfirmationDataError,
3238
3320
  onGetConfirmationDataError = _ref$onGetConfirmatio2 === void 0 ? function () {} : _ref$onGetConfirmatio2;
3239
3321
  var inputRef = React.useRef(null);
3240
3322
 
3241
- var _useState = React.useState({}),
3323
+ var _useState = React.useState(null),
3242
3324
  data = _useState[0],
3243
- setData = _useState[1];
3325
+ setData = _useState[1]; // 1. get payment complete data ---> v1/order/${orderHash}/payment/complete/
3244
3326
 
3245
- var showShareButtons = Boolean(shareButtons.length);
3246
- var showReferralPromotions = Boolean(referralPromotions.length); // 1. get payment complete data ---> v1/order/${orderHash}/payment/complete/
3247
3327
 
3248
3328
  React.useEffect(function () {
3249
3329
  _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
3250
- var dataEncoded, dataDecoded, hash, response, _data;
3330
+ var dataEncoded, dataDecoded, hash, _data$product_price, response, _data;
3251
3331
 
3252
3332
  return runtime_1.wrap(function _callee$(_context) {
3253
3333
  while (1) {
@@ -3256,7 +3336,7 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3256
3336
  dataEncoded = typeof window !== 'undefined' && window.localStorage.getItem('checkoutData');
3257
3337
 
3258
3338
  if (!dataEncoded) {
3259
- _context.next = 16;
3339
+ _context.next = 18;
3260
3340
  break;
3261
3341
  }
3262
3342
 
@@ -3269,27 +3349,60 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3269
3349
  case 7:
3270
3350
  response = _context.sent;
3271
3351
  _data = _get(response, 'data.data.attributes');
3352
+ _data.personal_share_sales = _data.personal_share_sales.map(function (d) {
3353
+ var salesData = {
3354
+ label: "If your friends buy " + d.sales + " tickets",
3355
+ price: ''
3356
+ };
3357
+
3358
+ if (d.price === 0) {
3359
+ salesData.subLabel = 'Your ticket becomes';
3360
+ salesData.price = 'FREE!';
3361
+ } else {
3362
+ var _d$price;
3363
+
3364
+ salesData.subLabel = 'Your ticket goes down to';
3365
+ salesData.price = _data.currency.symbol + ((_d$price = d.price) == null ? void 0 : _d$price.toFixed(2));
3366
+ }
3367
+
3368
+ return salesData;
3369
+ });
3370
+
3371
+ _data.personal_share_sales.unshift({
3372
+ label: 'Your ticket is currently',
3373
+ price: _data.currency.symbol + ((_data$product_price = _data.product_price) == null ? void 0 : _data$product_price.toFixed(2))
3374
+ });
3375
+
3272
3376
  setData(_data);
3273
3377
  onGetConfirmationDataSuccess(response.data);
3274
- _context.next = 16;
3378
+ _context.next = 18;
3275
3379
  break;
3276
3380
 
3277
- case 13:
3278
- _context.prev = 13;
3381
+ case 15:
3382
+ _context.prev = 15;
3279
3383
  _context.t0 = _context["catch"](4);
3280
3384
  onGetConfirmationDataError(_context.t0.response);
3281
3385
 
3282
- case 16:
3386
+ case 18:
3283
3387
  case "end":
3284
3388
  return _context.stop();
3285
3389
  }
3286
3390
  }
3287
- }, _callee, null, [[4, 13]]);
3391
+ }, _callee, null, [[4, 15]]);
3288
3392
  }))();
3289
3393
  }, []);
3394
+
3395
+ var onChangeShareLink = function onChangeShareLink(e) {
3396
+ var newData = _extends({}, data, {
3397
+ personal_share_link: e.target.value
3398
+ });
3399
+
3400
+ setData(newData);
3401
+ };
3402
+
3290
3403
  return React__default.createElement("div", {
3291
3404
  className: "confirmation-page"
3292
- }, React__default.createElement("p", {
3405
+ }, data && React__default.createElement(React__default.Fragment, null, React__default.createElement("p", {
3293
3406
  className: "title"
3294
3407
  }, "Your Tickets are Confirmed!"), React__default.createElement("div", {
3295
3408
  className: "share-message-section"
@@ -3314,7 +3427,7 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3314
3427
  }, " Invite friends "), "and we'll refund up to", React__default.createElement("span", {
3315
3428
  className: "strong-text"
3316
3429
  }, " 100% "), "of your ticket money, if they buy tickets as well!")), React__default.createElement("img", {
3317
- src: "https://www.ticketfairy.com/uploaded/thumbnails/db_file_img_123847_400xauto.jpg",
3430
+ src: data.product_image,
3318
3431
  alt: "No Data"
3319
3432
  })), React__default.createElement("div", {
3320
3433
  className: "share_wrapper"
@@ -3327,65 +3440,46 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3327
3440
  }, "How do you invite your friends?"), React__default.createElement("div", {
3328
3441
  className: "share_buttons"
3329
3442
  }, React__default.createElement("div", {
3330
- className: "sharing-btn share-by-link"
3443
+ className: "share-by-link"
3331
3444
  }, React__default.createElement("h5", {
3332
- className: "sharing-btn share-by-link label"
3445
+ className: "share-by-link label"
3333
3446
  }, "Send them this link:"), React__default.createElement("div", {
3334
- "aria-hidden": true,
3335
- className: "share-btn-inner share-by-link-copy",
3336
- onClick: function onClick() {
3337
- return navigator.clipboard.writeText(_get(inputRef, 'current.value'));
3338
- }
3447
+ className: "share-btn-inner"
3339
3448
  }, React__default.createElement("input", {
3340
3449
  ref: inputRef,
3341
3450
  className: "share-input",
3342
- value: shareLink,
3343
- disabled: true
3451
+ value: data.personal_share_link,
3452
+ onChange: onChangeShareLink
3344
3453
  }), React__default.createElement("div", {
3345
- className: "svg_wrapper"
3346
- }, React__default.createElement(SVG, {
3347
- className: "share-icon",
3348
- width: "25px",
3349
- height: "25px",
3350
- fill: "#FFF",
3351
- src: defaultSvg
3352
- })))), showShareButtons && React__default.createElement("div", null, React__default.createElement("div", {
3353
- className: "convenient_buttons sharing-btn"
3354
- }, "or use one of these convenient buttons:"), React__default.createElement("div", {
3355
- className: "social-media-btns"
3356
- }, _map(shareButtons, function (shareButtonItem) {
3357
- return React__default.createElement("div", {
3358
- className: "sharing-btn " + shareButtonItem.containerClassName
3359
- }, React__default.createElement("div", {
3360
- "aria-hidden": true,
3361
- className: "share-btn-inner " + shareButtonItem.containerInnerClassName,
3362
- onClick: function onClick() {}
3363
- }, React__default.createElement(SVG, {
3364
- className: shareButtonItem.svgClassName || 'share-icon',
3365
- width: shareButtonItem.svgWidth || '40px',
3366
- height: shareButtonItem.svgHeight || '40px',
3367
- fill: shareButtonItem.svgFill || '#FFF',
3368
- src: shareButtonItem.svgSrc || defaultSvg
3369
- }), React__default.createElement("span", {
3370
- className: "share-text"
3371
- }, shareButtonItem.mainLabel, React__default.createElement("br", null), " ", shareButtonItem.subLabel)));
3372
- })))))), showReferralPromotions && React__default.createElement("div", {
3454
+ className: 'share-by-link-copy-icon',
3455
+ onClick: function onClick() {
3456
+ return navigator.clipboard.writeText(_get(inputRef, 'current.value'));
3457
+ }
3458
+ }, React__default.createElement("img", {
3459
+ src: "https://img.icons8.com/office/50/000000/copy.png",
3460
+ alt: 'copy'
3461
+ })))), (showDefaultShareButtons || !!shareButtons.length) && React__default.createElement(SocialButtons, {
3462
+ showDefaultShareButtons: showDefaultShareButtons,
3463
+ name: data.product_name,
3464
+ appId: messengerAppId,
3465
+ shareLink: data.personal_share_link,
3466
+ shareButtons: shareButtons
3467
+ })))), React__default.createElement("div", {
3373
3468
  className: "pricing-section"
3374
3469
  }, React__default.createElement("div", {
3375
3470
  className: "invitation_title"
3376
- }, "How much cheaper?"), _map(referralPromotions, function (pricing) {
3377
- var isFree = pricing.price === 'FREE';
3471
+ }, "How much cheaper?"), _map(data.personal_share_sales, function (pricing, index) {
3378
3472
  return React__default.createElement("div", {
3379
- key: pricing.id,
3380
- className: "pricing-section_wrapper " + (isFree && 'free_price')
3473
+ key: index,
3474
+ className: 'pricing-section_wrapper'
3381
3475
  }, React__default.createElement("div", {
3382
3476
  className: "pricing-section_label"
3383
- }, pricing.label || 'Your ticket is currently', pricing.subLabel && React__default.createElement("div", {
3477
+ }, pricing.label, pricing.subLabel && React__default.createElement("div", {
3384
3478
  className: "pricing-section_sublabel"
3385
- }, pricing.subLabel || 'Your ticket becomes')), React__default.createElement("div", {
3479
+ }, pricing.subLabel)), React__default.createElement("div", {
3386
3480
  className: "pricing-section_price"
3387
3481
  }, ' ', pricing.price));
3388
- })))));
3482
+ }))))));
3389
3483
  };
3390
3484
 
3391
3485
  var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount, multiplier) {