tf-checkout-react 1.2.26 → 1.2.27
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/tf-checkout-react.cjs.development.js +17 -1
- package/dist/tf-checkout-react.cjs.development.js.map +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
- package/dist/tf-checkout-react.esm.js +17 -1
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/components/.DS_Store +0 -0
- package/src/components/common/dist/PhoneNumberField.js +96 -0
- package/src/components/ticketsContainer/index.tsx +45 -30
package/package.json
CHANGED
package/src/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.__esModule = true;
|
|
50
|
+
exports.PhoneNumberField = void 0;
|
|
51
|
+
var TextField_1 = require("@mui/material/TextField");
|
|
52
|
+
var debounce_1 = require("lodash/debounce");
|
|
53
|
+
var get_1 = require("lodash/get");
|
|
54
|
+
var react_1 = require("react");
|
|
55
|
+
var api_1 = require("../../api");
|
|
56
|
+
exports.PhoneNumberField = function (_a) {
|
|
57
|
+
var label = _a.label, _b = _a.type, type = _b === void 0 ? 'text' : _b, field = _a.field, _c = _a.form, errors = _c.errors, setFieldError = _c.setFieldError, setStatus = _c.setStatus;
|
|
58
|
+
var error = get_1["default"](errors, field.name);
|
|
59
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
60
|
+
var debounceCb = react_1.useCallback(debounce_1["default"](function (cb) { return void cb(); }, 1000), []);
|
|
61
|
+
react_1.useEffect(function () {
|
|
62
|
+
var _a;
|
|
63
|
+
if (field.value) {
|
|
64
|
+
setStatus((_a = {}, _a[field.name] = true, _a));
|
|
65
|
+
}
|
|
66
|
+
debounceCb(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
+
var error_1, message;
|
|
68
|
+
var _a;
|
|
69
|
+
return __generator(this, function (_b) {
|
|
70
|
+
switch (_b.label) {
|
|
71
|
+
case 0:
|
|
72
|
+
_b.trys.push([0, 3, 4, 5]);
|
|
73
|
+
if (!field.value) return [3 /*break*/, 2];
|
|
74
|
+
return [4 /*yield*/, api_1.validatePhoneNumber(field.value)];
|
|
75
|
+
case 1:
|
|
76
|
+
_b.sent();
|
|
77
|
+
_b.label = 2;
|
|
78
|
+
case 2:
|
|
79
|
+
setFieldError(field.name, '');
|
|
80
|
+
return [3 /*break*/, 5];
|
|
81
|
+
case 3:
|
|
82
|
+
error_1 = _b.sent();
|
|
83
|
+
message = get_1["default"](error_1, 'response.data.message', 'Invalid phone number');
|
|
84
|
+
setFieldError(field.name, message);
|
|
85
|
+
return [3 /*break*/, 5];
|
|
86
|
+
case 4:
|
|
87
|
+
setStatus((_a = {}, _a[field.name] = false, _a));
|
|
88
|
+
return [7 /*endfinally*/];
|
|
89
|
+
case 5: return [2 /*return*/];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}); });
|
|
93
|
+
// eslint-disable-next-line
|
|
94
|
+
}, [field.value]);
|
|
95
|
+
return (react_1["default"].createElement(TextField_1["default"], __assign({}, field, { id: field.name, label: label, type: type, fullWidth: true, error: !!error, helperText: error, value: field.value || '', inputProps: { pattern: '[+0-9]/d+' } })));
|
|
96
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import './style.css'
|
|
2
2
|
|
|
3
3
|
import { createTheme, ThemeOptions } from '@mui/material'
|
|
4
|
+
import Alert from '@mui/material/Alert'
|
|
4
5
|
import { ThemeProvider } from '@mui/private-theming'
|
|
5
6
|
import { CSSProperties } from '@mui/styles'
|
|
6
7
|
import axios, { AxiosError } from 'axios'
|
|
@@ -140,6 +141,7 @@ export const TicketsContainer = ({
|
|
|
140
141
|
const [showPromoCodeSection, setShowPromoCodeSection] = useState(
|
|
141
142
|
isPromotionsEnabled
|
|
142
143
|
)
|
|
144
|
+
const [error, setError] = useState(null)
|
|
143
145
|
|
|
144
146
|
const ticketsContainerRef = useRef<HTMLDivElement>(null)
|
|
145
147
|
|
|
@@ -238,6 +240,10 @@ export const TicketsContainer = ({
|
|
|
238
240
|
}
|
|
239
241
|
}
|
|
240
242
|
|
|
243
|
+
const onErrorClose = () => {
|
|
244
|
+
setError(null)
|
|
245
|
+
}
|
|
246
|
+
|
|
241
247
|
const handleBook = async () => {
|
|
242
248
|
setHandleBookIsLoading(true)
|
|
243
249
|
const ticket =
|
|
@@ -320,6 +326,7 @@ export const TicketsContainer = ({
|
|
|
320
326
|
} catch (e) {
|
|
321
327
|
if (axios.isAxiosError(e)) {
|
|
322
328
|
onAddToCartError(e)
|
|
329
|
+
setError(_get(e, 'response.data.message'))
|
|
323
330
|
}
|
|
324
331
|
} finally {
|
|
325
332
|
setHandleBookIsLoading(false)
|
|
@@ -403,6 +410,11 @@ export const TicketsContainer = ({
|
|
|
403
410
|
<ThemeProvider theme={themeMui}>
|
|
404
411
|
{!isLoading && <ReferralLogic eventId={eventId} />}
|
|
405
412
|
<div className={`get-tickets-page ${theme}`} style={contentStyle}>
|
|
413
|
+
{error && (
|
|
414
|
+
<Alert severity="error" onClose={onErrorClose} variant="filled" style={{ width:'350px' }}>
|
|
415
|
+
{error}
|
|
416
|
+
</Alert>
|
|
417
|
+
)}
|
|
406
418
|
{isLoading ? (
|
|
407
419
|
<Loader />
|
|
408
420
|
) : (
|
|
@@ -418,44 +430,47 @@ export const TicketsContainer = ({
|
|
|
418
430
|
/>
|
|
419
431
|
)}
|
|
420
432
|
{externalUrl ? null : isSalesClosed ? (
|
|
421
|
-
<p
|
|
433
|
+
<p
|
|
434
|
+
className={`event-closed-message ${
|
|
435
|
+
!isLoggedIn ? 'event-closed-on-bottom' : ''
|
|
436
|
+
}`}
|
|
437
|
+
>
|
|
422
438
|
Sales for this event are closed.
|
|
423
439
|
</p>
|
|
424
440
|
) : eventSaleIsNotStarted ? (
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
441
|
+
<Countdown
|
|
442
|
+
startDate={event.salesStart}
|
|
443
|
+
timezone={event.timezone}
|
|
444
|
+
title="Sales start in:"
|
|
445
|
+
message="No tickets are currently available for this event."
|
|
446
|
+
showMessage={!eventHasTickets}
|
|
447
|
+
callback={updateTickets}
|
|
448
|
+
disableLeadingZero={disableCountdownLeadingZero}
|
|
449
|
+
isLoggedIn={isLoggedIn}
|
|
450
|
+
/>
|
|
435
451
|
) : null}
|
|
436
452
|
{showWaitingList && event.salesStarted && !hideWaitingList && (
|
|
437
453
|
<WaitingList tickets={tickets} eventId={eventId} />
|
|
438
454
|
)}
|
|
439
455
|
{codeIsLoading ? (
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
}
|
|
456
|
+
<Loader />
|
|
457
|
+
) : isSalesClosed ? null : showAccessCodeSection ? (
|
|
458
|
+
<AccessCodeSection
|
|
459
|
+
code={code}
|
|
460
|
+
setCode={setCode}
|
|
461
|
+
updateTickets={updateTickets}
|
|
462
|
+
/>
|
|
463
|
+
) : showPromoCodeSection ? (
|
|
464
|
+
<PromoCodeSection
|
|
465
|
+
code={code}
|
|
466
|
+
codeIsApplied={codeIsApplied}
|
|
467
|
+
setCodeIsApplied={setCodeIsApplied}
|
|
468
|
+
showPromoInput={showPromoInput}
|
|
469
|
+
setShowPromoInput={setShowPromoInput}
|
|
470
|
+
setCode={setCode}
|
|
471
|
+
updateTickets={updateTickets}
|
|
472
|
+
/>
|
|
473
|
+
) : null}
|
|
459
474
|
{wrappedActionsSectionComponent}
|
|
460
475
|
{!wrappedActionsSectionComponent &&
|
|
461
476
|
!eventSaleIsNotStarted &&
|