tf-checkout-react 1.4.15-beta.4 → 1.4.15-beta.6
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/components/myTicketsContainer/index.d.ts +2 -1
- package/dist/tf-checkout-react.cjs.development.js +6 -4
- 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 +6 -4
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/dist/PhoneNumberField.js +96 -0
- package/src/components/myTicketsContainer/index.tsx +20 -14
- package/src/components/myTicketsContainer/tableConfig.tsx +1 -1
package/package.json
CHANGED
|
@@ -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
|
+
};
|
|
@@ -29,7 +29,7 @@ interface MyTicketsTypes {
|
|
|
29
29
|
logo?: string;
|
|
30
30
|
theme?: 'light' | 'dark';
|
|
31
31
|
selectEventsLabel?: string;
|
|
32
|
-
|
|
32
|
+
openLoginModal?: () => void;
|
|
33
33
|
hideDetailsButton?: boolean;
|
|
34
34
|
columns?: IColumnData[];
|
|
35
35
|
}
|
|
@@ -48,6 +48,7 @@ export const MyTicketsContainer = ({
|
|
|
48
48
|
logo,
|
|
49
49
|
hideDetailsButton = false,
|
|
50
50
|
columns = [],
|
|
51
|
+
openLoginModal,
|
|
51
52
|
}: MyTicketsTypes) => {
|
|
52
53
|
const [data, setData] = useState<any>(null)
|
|
53
54
|
const [loading, setLoading] = useState(true)
|
|
@@ -114,7 +115,9 @@ export const MyTicketsContainer = ({
|
|
|
114
115
|
<div className={`my-ticket ${theme}`}>
|
|
115
116
|
<>
|
|
116
117
|
{showModalLogin ||
|
|
117
|
-
(!isLogged && (
|
|
118
|
+
(!isLogged && openLoginModal ? (
|
|
119
|
+
openLoginModal()
|
|
120
|
+
) : (
|
|
118
121
|
<LoginModal
|
|
119
122
|
onClose={() => {
|
|
120
123
|
setShowModalLogin(false)
|
|
@@ -162,6 +165,7 @@ export const MyTicketsContainer = ({
|
|
|
162
165
|
<TableBody>
|
|
163
166
|
{data.orders?.map((row: RowItems) => (
|
|
164
167
|
<MyTicketsRow
|
|
168
|
+
key={row.id}
|
|
165
169
|
row={row}
|
|
166
170
|
handleDetailsInfo={handleDetailsInfo}
|
|
167
171
|
columns={columns}
|
|
@@ -183,18 +187,20 @@ export const MyTicketsContainer = ({
|
|
|
183
187
|
</>
|
|
184
188
|
)}
|
|
185
189
|
</>
|
|
186
|
-
) :
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
190
|
+
) : (
|
|
191
|
+
!loading && (
|
|
192
|
+
<>
|
|
193
|
+
<h2>My Ticket Orders</h2>
|
|
194
|
+
<div className="no_orders_section">
|
|
195
|
+
<div className="nodata_title">
|
|
196
|
+
You have no current ticket orders on this account
|
|
197
|
+
</div>
|
|
198
|
+
<div className="nodata_subtitle">
|
|
199
|
+
Discover your next nite out <a href="/events">here</a>.
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
</>
|
|
203
|
+
)
|
|
198
204
|
)}
|
|
199
205
|
<>
|
|
200
206
|
{showModalLogin && (
|
|
@@ -12,7 +12,7 @@ const EventInfoItem = ({ image, name }: EventInfoTypes) => (
|
|
|
12
12
|
const tableConfig = (columns?: IColumnData[], key?: string) => {
|
|
13
13
|
let config
|
|
14
14
|
|
|
15
|
-
if (columns) {
|
|
15
|
+
if (columns?.length) {
|
|
16
16
|
return {
|
|
17
17
|
header: _map(columns, item => item.label),
|
|
18
18
|
body: _map(columns, item => {
|