tf-checkout-react-native 2.0.0-beta.8 → 2.0.0-beta.9
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.mts +62 -3
- package/dist/index.d.ts +62 -3
- package/dist/index.js +583 -313
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +583 -313
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/sections/EventDiscussionView.tsx +55 -37
package/dist/index.js
CHANGED
|
@@ -261,6 +261,8 @@ __export(index_exports, {
|
|
|
261
261
|
eventCommentAttachmentsError: () => eventCommentAttachmentsError,
|
|
262
262
|
eventCommentImageDataError: () => eventCommentImageDataError,
|
|
263
263
|
eventCommentImageDataUri: () => eventCommentImageDataUri,
|
|
264
|
+
featuredEventsFromResponse: () => featuredEventsFromResponse,
|
|
265
|
+
featuredQueryParams: () => featuredQueryParams,
|
|
264
266
|
fieldAppliesToTicketType: () => fieldAppliesToTicketType,
|
|
265
267
|
formatDateDigits: () => formatDateDigits,
|
|
266
268
|
formatPlanMoney: () => formatPlanMoney,
|
|
@@ -624,8 +626,8 @@ var messageFrom = (payload, fallback) => {
|
|
|
624
626
|
var _a, _b, _c, _d;
|
|
625
627
|
if (typeof payload === "string" && payload.trim()) return payload;
|
|
626
628
|
if (payload && typeof payload === "object") {
|
|
627
|
-
const
|
|
628
|
-
const candidate = (_d = (_b = (_a =
|
|
629
|
+
const record2 = payload;
|
|
630
|
+
const candidate = (_d = (_b = (_a = record2.message) != null ? _a : record2.error) != null ? _b : record2.error_description) != null ? _d : Array.isArray(record2.errors) ? (_c = record2.errors[0]) == null ? void 0 : _c.message : void 0;
|
|
629
631
|
if (typeof candidate === "string" && candidate.trim()) return candidate;
|
|
630
632
|
const messages = flattenMessages(candidate);
|
|
631
633
|
if (messages.length > 0) return messages.join("\n");
|
|
@@ -641,8 +643,8 @@ var codeFrom = (payload) => {
|
|
|
641
643
|
};
|
|
642
644
|
var retryAfterFrom = (value6) => {
|
|
643
645
|
if (typeof value6 !== "string" && typeof value6 !== "number") return void 0;
|
|
644
|
-
const
|
|
645
|
-
const seconds = /^\d+$/.test(
|
|
646
|
+
const text4 = String(value6).trim();
|
|
647
|
+
const seconds = /^\d+$/.test(text4) ? Number(text4) : (Date.parse(text4) - Date.now()) / 1e3;
|
|
646
648
|
return Number.isFinite(seconds) && seconds > 0 ? Math.ceil(seconds) : void 0;
|
|
647
649
|
};
|
|
648
650
|
var toTtfError = (error, fallback = "Something went wrong") => {
|
|
@@ -797,8 +799,8 @@ var confirmedBuyerId = null;
|
|
|
797
799
|
var getSessionEpoch = () => sessionEpoch;
|
|
798
800
|
var getSessionCacheScope = () => sessionCacheScope;
|
|
799
801
|
var getConfirmedBuyerId = () => confirmedBuyerId;
|
|
800
|
-
var confirmSessionBuyer = (
|
|
801
|
-
const buyer2 = String(
|
|
802
|
+
var confirmSessionBuyer = (id2) => {
|
|
803
|
+
const buyer2 = String(id2);
|
|
802
804
|
const pending2 = getConfig().storage.getItem(TWO_FACTOR_PENDING) === "true";
|
|
803
805
|
if (!buyer2 || confirmedBuyerId === buyer2 && !pending2) return;
|
|
804
806
|
confirmedBuyerId = buyer2;
|
|
@@ -1155,8 +1157,8 @@ var capturePost = (url2) => {
|
|
|
1155
1157
|
signal: controller.signal,
|
|
1156
1158
|
...body === void 0 ? {} : { body: JSON.stringify(body) }
|
|
1157
1159
|
});
|
|
1158
|
-
const
|
|
1159
|
-
const data =
|
|
1160
|
+
const text4 = await response.text();
|
|
1161
|
+
const data = text4 ? JSON.parse(text4) : void 0;
|
|
1160
1162
|
if (!response.ok)
|
|
1161
1163
|
throw new TtfError(
|
|
1162
1164
|
typeof (data == null ? void 0 : data.message) === "string" ? data.message : "Unable to finish your order.",
|
|
@@ -1266,6 +1268,7 @@ var ENDPOINTS = {
|
|
|
1266
1268
|
},
|
|
1267
1269
|
/** Event catalog + engagement — everything keyed by an event id. */
|
|
1268
1270
|
events: {
|
|
1271
|
+
featured: "v1/home/featured",
|
|
1269
1272
|
/** `GET v1/event/:id` — event details (seated detection, slug, name). */
|
|
1270
1273
|
info: (eventId) => `v1/event/${eventId}`,
|
|
1271
1274
|
/** Purchasable ticket types (+ promo/waiting-list metadata). */
|
|
@@ -1532,7 +1535,7 @@ var resolvePaymentConfig = (cartAttributes) => {
|
|
|
1532
1535
|
}
|
|
1533
1536
|
return payment;
|
|
1534
1537
|
};
|
|
1535
|
-
var priceBreakdownAddOnsQuery = (addOns) => Object.entries(addOns || {}).filter(([
|
|
1538
|
+
var priceBreakdownAddOnsQuery = (addOns) => Object.entries(addOns || {}).filter(([id2, qty]) => Number(id2) > 0 && Number(qty) > 0).map(([id2, qty]) => `add_ons[${Number(id2)}]=${Number(qty)}`).join("&");
|
|
1536
1539
|
var resolvePriceBreakdown = (cartAttributes) => {
|
|
1537
1540
|
const breakdown = cartAttributes && cartAttributes.price_breakdown;
|
|
1538
1541
|
if (!breakdown || typeof breakdown !== "object") return null;
|
|
@@ -2187,33 +2190,33 @@ var computeRadialTreeLayout = (nodes, rootId, options = {}) => {
|
|
|
2187
2190
|
const byId = /* @__PURE__ */ new Map();
|
|
2188
2191
|
nodes.forEach((node) => {
|
|
2189
2192
|
if (!node || node.id == null) return;
|
|
2190
|
-
const
|
|
2191
|
-
if (!byId.has(
|
|
2193
|
+
const id2 = String(node.id);
|
|
2194
|
+
if (!byId.has(id2)) byId.set(id2, node);
|
|
2192
2195
|
});
|
|
2193
2196
|
const childrenOf = /* @__PURE__ */ new Map();
|
|
2194
|
-
byId.forEach((node,
|
|
2197
|
+
byId.forEach((node, id2) => {
|
|
2195
2198
|
const parentId = node.parent_id == null ? null : String(node.parent_id);
|
|
2196
|
-
if (parentId == null || parentId ===
|
|
2199
|
+
if (parentId == null || parentId === id2 || !byId.has(parentId)) return;
|
|
2197
2200
|
const siblings = childrenOf.get(parentId);
|
|
2198
|
-
if (siblings) siblings.push(
|
|
2199
|
-
else childrenOf.set(parentId, [
|
|
2201
|
+
if (siblings) siblings.push(id2);
|
|
2202
|
+
else childrenOf.set(parentId, [id2]);
|
|
2200
2203
|
});
|
|
2201
2204
|
const visited = /* @__PURE__ */ new Set();
|
|
2202
|
-
const build2 = (
|
|
2205
|
+
const build2 = (id2, depth) => {
|
|
2203
2206
|
var _a;
|
|
2204
|
-
visited.add(
|
|
2207
|
+
visited.add(id2);
|
|
2205
2208
|
const children = [];
|
|
2206
|
-
((_a = childrenOf.get(
|
|
2209
|
+
((_a = childrenOf.get(id2)) != null ? _a : []).forEach((childId) => {
|
|
2207
2210
|
if (visited.has(childId)) return;
|
|
2208
2211
|
children.push(build2(childId, depth + 1));
|
|
2209
2212
|
});
|
|
2210
2213
|
const leaves = children.reduce((sum, child) => sum + child.leaves, 0) || 1;
|
|
2211
|
-
return { id, depth, children, leaves };
|
|
2214
|
+
return { id: id2, depth, children, leaves };
|
|
2212
2215
|
};
|
|
2213
2216
|
const root = byId.has(rootId) ? build2(rootId, 0) : { id: "", depth: 0, children: [], leaves: 1 };
|
|
2214
|
-
byId.forEach((_node,
|
|
2215
|
-
if (visited.has(
|
|
2216
|
-
root.children.push(build2(
|
|
2217
|
+
byId.forEach((_node, id2) => {
|
|
2218
|
+
if (visited.has(id2)) return;
|
|
2219
|
+
root.children.push(build2(id2, 1));
|
|
2217
2220
|
});
|
|
2218
2221
|
root.leaves = root.children.reduce((sum, child) => sum + child.leaves, 0) || 1;
|
|
2219
2222
|
let maxDepth = 0;
|
|
@@ -2245,13 +2248,13 @@ var radialTreeEdges = (nodes, layout) => {
|
|
|
2245
2248
|
const edges = [];
|
|
2246
2249
|
(nodes != null ? nodes : []).forEach((node) => {
|
|
2247
2250
|
if (!node || node.id == null || node.parent_id == null) return;
|
|
2248
|
-
const
|
|
2251
|
+
const id2 = String(node.id);
|
|
2249
2252
|
const parentId = String(node.parent_id);
|
|
2250
|
-
if (parentId ===
|
|
2253
|
+
if (parentId === id2) return;
|
|
2251
2254
|
const from = layout[parentId];
|
|
2252
|
-
const to = layout[
|
|
2255
|
+
const to = layout[id2];
|
|
2253
2256
|
if (!from || !to) return;
|
|
2254
|
-
edges.push({ fromId: parentId, toId:
|
|
2257
|
+
edges.push({ fromId: parentId, toId: id2, from, to });
|
|
2255
2258
|
});
|
|
2256
2259
|
return edges;
|
|
2257
2260
|
};
|
|
@@ -2604,7 +2607,7 @@ var changeTicketQuantity = (previous, tickets, ticket, requested, allowMultiple)
|
|
|
2604
2607
|
const range = ticketQuantityRange(ticket);
|
|
2605
2608
|
const bounded = Math.min(range.max, Math.max(range.min, requested));
|
|
2606
2609
|
const quantity = requested <= 0 ? 0 : range.min + Math.floor((bounded - range.min) / range.step) * range.step;
|
|
2607
|
-
const activeId = Object.keys(previous).find((
|
|
2610
|
+
const activeId = Object.keys(previous).find((id2) => previous[id2] > 0);
|
|
2608
2611
|
const previousIsTable = activeId ? Boolean((_a = tickets.find((item) => item.id === activeId)) == null ? void 0 : _a.isTable) : ticket.isTable;
|
|
2609
2612
|
if (quantity > 0 && (!allowMultiple || activeId && previousIsTable !== ticket.isTable))
|
|
2610
2613
|
return { [ticket.id]: quantity };
|
|
@@ -2625,11 +2628,11 @@ var BADGE_PRESETS = {
|
|
|
2625
2628
|
};
|
|
2626
2629
|
var PERCENT_LEFT = /^(\d{1,3})% left$/i;
|
|
2627
2630
|
var ticketBadgeTranslation = (badgeText) => {
|
|
2628
|
-
const
|
|
2629
|
-
if (!
|
|
2630
|
-
const preset = BADGE_PRESETS[
|
|
2631
|
+
const text4 = (badgeText != null ? badgeText : "").trim();
|
|
2632
|
+
if (!text4) return null;
|
|
2633
|
+
const preset = BADGE_PRESETS[text4.toLowerCase()];
|
|
2631
2634
|
if (preset) return { key: preset };
|
|
2632
|
-
const percent = PERCENT_LEFT.exec(
|
|
2635
|
+
const percent = PERCENT_LEFT.exec(text4);
|
|
2633
2636
|
return percent ? { key: "tickets.badge.percentLeft", vars: { percent: percent[1] } } : null;
|
|
2634
2637
|
};
|
|
2635
2638
|
var orderTicketsBeforeTables = (tickets) => [
|
|
@@ -3121,7 +3124,7 @@ var pick = (o, ...keys) => {
|
|
|
3121
3124
|
var asList = (value6) => {
|
|
3122
3125
|
if (Array.isArray(value6)) return value6.filter((v) => v && typeof v === "object");
|
|
3123
3126
|
if (value6 && typeof value6 === "object") {
|
|
3124
|
-
return Object.entries(value6).filter(([, v]) => v && typeof v === "object").map(([
|
|
3127
|
+
return Object.entries(value6).filter(([, v]) => v && typeof v === "object").map(([id2, v]) => ({ id: id2, ...v }));
|
|
3125
3128
|
}
|
|
3126
3129
|
return [];
|
|
3127
3130
|
};
|
|
@@ -3211,7 +3214,7 @@ var bundleAvailabilityCopy = (bundle) => {
|
|
|
3211
3214
|
};
|
|
3212
3215
|
var bundleContentsLine = (bundle) => bundle.components.map((c) => c.quantity > 1 ? `${c.quantity} \xD7 ${c.name}` : c.name).join(", ");
|
|
3213
3216
|
var bundleSelectionAttribute = (selection) => Object.fromEntries(
|
|
3214
|
-
Object.entries(selection != null ? selection : {}).map(([
|
|
3217
|
+
Object.entries(selection != null ? selection : {}).map(([id2, qty]) => [id2, Math.floor(Number(qty) || 0)]).filter(([, qty]) => qty > 0)
|
|
3215
3218
|
);
|
|
3216
3219
|
var bundleSelectionTotal = (bundles, selection) => {
|
|
3217
3220
|
const cents = bundles.reduce((total, bundle) => {
|
|
@@ -3278,18 +3281,18 @@ var bundlePurchaseFromResponse = (body) => {
|
|
|
3278
3281
|
const a = (_c = (_b = (_a = root.data) == null ? void 0 : _a.attributes) != null ? _b : root.data) != null ? _c : root;
|
|
3279
3282
|
const orderHash = pick(a, "order_hash", "orderHash");
|
|
3280
3283
|
if (orderHash === void 0 || orderHash === "") return null;
|
|
3281
|
-
const
|
|
3284
|
+
const text4 = (value6) => value6 === void 0 || value6 === null || value6 === "" ? null : String(value6);
|
|
3282
3285
|
return {
|
|
3283
3286
|
orderHash: String(orderHash),
|
|
3284
3287
|
status: String((_d = pick(a, "status")) != null ? _d : ""),
|
|
3285
3288
|
amount: toNumber(pick(a, "amount"), 0),
|
|
3286
3289
|
currency: String((_e = pick(a, "currency")) != null ? _e : ""),
|
|
3287
|
-
clientSecret:
|
|
3288
|
-
publishableKey:
|
|
3289
|
-
stripeAccount:
|
|
3290
|
-
gateway:
|
|
3290
|
+
clientSecret: text4(pick(a, "client_secret", "clientSecret")),
|
|
3291
|
+
publishableKey: text4(pick(a, "publishable_key", "publishableKey")),
|
|
3292
|
+
stripeAccount: text4(pick(a, "stripe_account", "stripeAccount")),
|
|
3293
|
+
gateway: text4(pick(a, "gateway")),
|
|
3291
3294
|
signedIn: Boolean(pick(a, "signed_in", "signedIn")),
|
|
3292
|
-
email:
|
|
3295
|
+
email: text4(pick(a, "email"))
|
|
3293
3296
|
};
|
|
3294
3297
|
};
|
|
3295
3298
|
var bundleAttemptFor = (attempts, scope, fingerprint, newKey = newBundleIdempotencyKey) => {
|
|
@@ -3999,7 +4002,7 @@ var bundleAwaitingCardFor = (entry, fingerprint) => {
|
|
|
3999
4002
|
var _a;
|
|
4000
4003
|
return (entry.status === "awaitingCard" || entry.status === "paying") && Boolean(entry.order) && ((_a = entry.attempt) == null ? void 0 : _a.fingerprint) === fingerprint;
|
|
4001
4004
|
};
|
|
4002
|
-
var decodeHtmlEntities = (
|
|
4005
|
+
var decodeHtmlEntities = (text4) => (0, import_entities.decodeHTML)(text4);
|
|
4003
4006
|
var BLOCK_ELEMENTS = /* @__PURE__ */ new Set([
|
|
4004
4007
|
"address",
|
|
4005
4008
|
"article",
|
|
@@ -4049,11 +4052,11 @@ var hidesContents = (name, attribs) => {
|
|
|
4049
4052
|
return HIDDEN_ELEMENTS.has(name) || "hidden" in attribs || HIDING_STYLE.test((_a = attribs.style) != null ? _a : "");
|
|
4050
4053
|
};
|
|
4051
4054
|
var htmlToPlainText = (html) => {
|
|
4052
|
-
let
|
|
4055
|
+
let text4 = "";
|
|
4053
4056
|
let hidden = 0;
|
|
4054
4057
|
const hiding = [];
|
|
4055
4058
|
const endLine = () => {
|
|
4056
|
-
if (
|
|
4059
|
+
if (text4 !== "" && !text4.endsWith("\n")) text4 += "\n";
|
|
4057
4060
|
};
|
|
4058
4061
|
const parser = new import_htmlparser2.Parser(
|
|
4059
4062
|
{
|
|
@@ -4062,10 +4065,10 @@ var htmlToPlainText = (html) => {
|
|
|
4062
4065
|
hiding.push(hides);
|
|
4063
4066
|
if (hides) hidden += 1;
|
|
4064
4067
|
else if (hidden > 0) return;
|
|
4065
|
-
else if (name === "br")
|
|
4068
|
+
else if (name === "br") text4 += "\n";
|
|
4066
4069
|
else if (BLOCK_ELEMENTS.has(name)) endLine();
|
|
4067
|
-
else if (CELL_ELEMENTS.has(name) &&
|
|
4068
|
-
|
|
4070
|
+
else if (CELL_ELEMENTS.has(name) && text4 !== "" && !text4.endsWith("\n")) {
|
|
4071
|
+
text4 += " ";
|
|
4069
4072
|
}
|
|
4070
4073
|
},
|
|
4071
4074
|
onclosetag: (name) => {
|
|
@@ -4073,14 +4076,14 @@ var htmlToPlainText = (html) => {
|
|
|
4073
4076
|
else if (hidden === 0 && BLOCK_ELEMENTS.has(name)) endLine();
|
|
4074
4077
|
},
|
|
4075
4078
|
ontext: (chunk2) => {
|
|
4076
|
-
if (hidden === 0)
|
|
4079
|
+
if (hidden === 0) text4 += chunk2;
|
|
4077
4080
|
}
|
|
4078
4081
|
},
|
|
4079
4082
|
{ decodeEntities: true }
|
|
4080
4083
|
);
|
|
4081
4084
|
parser.write(html);
|
|
4082
4085
|
parser.end();
|
|
4083
|
-
return
|
|
4086
|
+
return text4.replace(/\u00a0/g, " ").replace(/[ \t]+\n/g, "\n").replace(/\t{2,}/g, " ").replace(/\n{3,}/g, "\n\n").trim();
|
|
4084
4087
|
};
|
|
4085
4088
|
var attributesOf = (body) => {
|
|
4086
4089
|
var _a, _b, _c;
|
|
@@ -4492,7 +4495,7 @@ var waiverFrom = (w) => {
|
|
|
4492
4495
|
title: String((_c = pick2(w, "title")) != null ? _c : ""),
|
|
4493
4496
|
bodyHtml,
|
|
4494
4497
|
bodySha256,
|
|
4495
|
-
appliesToTicketTypeIds: Array.isArray(ids) && ids.length ? ids.map((
|
|
4498
|
+
appliesToTicketTypeIds: Array.isArray(ids) && ids.length ? ids.map((id2) => String(id2)) : null,
|
|
4496
4499
|
// Anything but an explicit `required` is optional: an unsigned guest is
|
|
4497
4500
|
// never blocked unless the organiser chose that.
|
|
4498
4501
|
checkoutMode: mode === "required" ? "required" : "optional",
|
|
@@ -4995,17 +4998,17 @@ var confirmedStripeIntentStatus = (intent) => {
|
|
|
4995
4998
|
var applyVerifiedPhone = (current4, verified) => {
|
|
4996
4999
|
var _a, _b, _c;
|
|
4997
5000
|
const p = verified.prefill;
|
|
4998
|
-
const
|
|
5001
|
+
const text4 = (key4, fallback) => {
|
|
4999
5002
|
var _a2;
|
|
5000
5003
|
const value6 = (_a2 = p[key4]) != null ? _a2 : p[key4 === "firstName" ? "first_name" : key4 === "lastName" ? "last_name" : key4];
|
|
5001
5004
|
return typeof value6 === "string" && value6 ? value6 : fallback;
|
|
5002
5005
|
};
|
|
5003
5006
|
return {
|
|
5004
5007
|
...current4,
|
|
5005
|
-
firstName: (_a =
|
|
5006
|
-
lastName: (_b =
|
|
5007
|
-
email: (_c =
|
|
5008
|
-
phone:
|
|
5008
|
+
firstName: (_a = text4("firstName", current4.firstName)) != null ? _a : "",
|
|
5009
|
+
lastName: (_b = text4("lastName", current4.lastName)) != null ? _b : "",
|
|
5010
|
+
email: (_c = text4("email", current4.email)) != null ? _c : "",
|
|
5011
|
+
phone: text4("phone", current4.phone),
|
|
5009
5012
|
phoneVerificationToken: verified.phoneVerificationToken,
|
|
5010
5013
|
phoneFirstUseKnownEmail: false
|
|
5011
5014
|
};
|
|
@@ -5028,15 +5031,15 @@ var accommodationSelection = (draft) => {
|
|
|
5028
5031
|
if (Object.keys(draft).length > 20)
|
|
5029
5032
|
throw new TtfError("Choose up to 20 room types.", 400);
|
|
5030
5033
|
const selection = {};
|
|
5031
|
-
for (const [
|
|
5032
|
-
if (!/^[1-9]\d*$/.test(
|
|
5034
|
+
for (const [id2, stay] of Object.entries(draft)) {
|
|
5035
|
+
if (!/^[1-9]\d*$/.test(id2) || !Number.isInteger(stay.rooms) || stay.rooms < 0 || stay.rooms > 4)
|
|
5033
5036
|
throw new TtfError("Choose between 0 and 4 rooms of each type.", 400);
|
|
5034
5037
|
if (stay.rooms === 0) continue;
|
|
5035
5038
|
if (!calendarDay(stay.check_in) || !calendarDay(stay.check_out) || stay.check_out <= stay.check_in)
|
|
5036
5039
|
throw new TtfError("Choose valid check-in and check-out dates.", 400);
|
|
5037
5040
|
if (!Number.isInteger(stay.num_guests) || stay.num_guests < 1 || stay.num_guests > 100)
|
|
5038
5041
|
throw new TtfError("Choose between 1 and 100 guests.", 400);
|
|
5039
|
-
selection[
|
|
5042
|
+
selection[id2] = {
|
|
5040
5043
|
...stay,
|
|
5041
5044
|
occupants: (_a = stay.occupants) == null ? void 0 : _a.filter((person) => person.name.trim()).map((person) => ({ ...person, name: person.name.trim() }))
|
|
5042
5045
|
};
|
|
@@ -5046,15 +5049,15 @@ var accommodationSelection = (draft) => {
|
|
|
5046
5049
|
var acceptedAccommodationSelection = (selection, result2) => ({
|
|
5047
5050
|
accommodation: Object.fromEntries(
|
|
5048
5051
|
Object.entries(selection.accommodation).filter(
|
|
5049
|
-
([
|
|
5052
|
+
([id2]) => !result2.rejected[id2] || result2.rejected[id2].status_code === 400
|
|
5050
5053
|
)
|
|
5051
5054
|
)
|
|
5052
5055
|
});
|
|
5053
5056
|
var accommodationTotal = (items, quotes, currency) => {
|
|
5054
5057
|
var _a, _b;
|
|
5055
5058
|
let total = 0;
|
|
5056
|
-
for (const
|
|
5057
|
-
const quote = quotes == null ? void 0 : quotes[
|
|
5059
|
+
for (const id2 of Object.keys((_a = items == null ? void 0 : items.accommodation) != null ? _a : {})) {
|
|
5060
|
+
const quote = quotes == null ? void 0 : quotes[id2];
|
|
5058
5061
|
const amount = (_b = quote == null ? void 0 : quote.total) != null ? _b : quote == null ? void 0 : quote.total_price;
|
|
5059
5062
|
if (!quote || quote.currency !== currency || !Number.isFinite(amount) || Number(amount) < 0)
|
|
5060
5063
|
throw new TtfError("Refresh your accommodation quote before paying.", 409);
|
|
@@ -5088,15 +5091,15 @@ var checkoutDisplayPriceBreakdown = (snapshot) => {
|
|
|
5088
5091
|
}).format(amount);
|
|
5089
5092
|
return {
|
|
5090
5093
|
...base,
|
|
5091
|
-
add_ons: [...base.add_ons, ...Object.entries(snapshot.extraItems.accommodation).map(([
|
|
5094
|
+
add_ons: [...base.add_ons, ...Object.entries(snapshot.extraItems.accommodation).map(([id2, stay]) => {
|
|
5092
5095
|
var _a2, _b2, _c;
|
|
5093
5096
|
return {
|
|
5094
5097
|
name: `Accommodation \xB7 ${stay.check_in} \u2013 ${stay.check_out}`,
|
|
5095
5098
|
quantity: stay.rooms,
|
|
5096
5099
|
show_price: false,
|
|
5097
5100
|
unit_price: "",
|
|
5098
|
-
line_total: (_c = (_b2 = (_a2 = snapshot.extraQuotes) == null ? void 0 : _a2[
|
|
5099
|
-
{ accommodation: { [
|
|
5101
|
+
line_total: (_c = (_b2 = (_a2 = snapshot.extraQuotes) == null ? void 0 : _a2[id2]) == null ? void 0 : _b2.total_formatted) != null ? _c : money5(accommodationTotal(
|
|
5102
|
+
{ accommodation: { [id2]: stay } },
|
|
5100
5103
|
snapshot.extraQuotes,
|
|
5101
5104
|
total.currencyCode
|
|
5102
5105
|
))
|
|
@@ -5268,36 +5271,36 @@ var interestSelectionError = (selection, catalog) => {
|
|
|
5268
5271
|
if (!Array.isArray(ids) || ids.length > catalog.length || new Set(ids).size !== ids.length)
|
|
5269
5272
|
return "Choose each category once.";
|
|
5270
5273
|
if (ids.length > 0 && ids.length < 3) return "Choose 3 or more categories you like.";
|
|
5271
|
-
for (const
|
|
5272
|
-
if (!catalog.some((category) => category.id ===
|
|
5274
|
+
for (const id2 of ids)
|
|
5275
|
+
if (!catalog.some((category) => category.id === id2))
|
|
5273
5276
|
return "Choose a category from the list.";
|
|
5274
|
-
for (const [
|
|
5275
|
-
const category = catalog.find((item) => item.id ===
|
|
5276
|
-
if (!ids.includes(
|
|
5277
|
+
for (const [id2, selected] of Object.entries(selection.subcategories)) {
|
|
5278
|
+
const category = catalog.find((item) => item.id === id2);
|
|
5279
|
+
if (!ids.includes(id2) || !category || !Array.isArray(selected) || new Set(selected).size !== selected.length || selected.some(
|
|
5277
5280
|
(child) => !category.subcategories.some((option) => option.id === child)
|
|
5278
5281
|
))
|
|
5279
5282
|
return "Choose interests from their selected category.";
|
|
5280
5283
|
}
|
|
5281
5284
|
return null;
|
|
5282
5285
|
};
|
|
5283
|
-
var toggleInterestCategory = (selection,
|
|
5284
|
-
if (!selection.categoryIds.includes(
|
|
5285
|
-
return { ...selection, categoryIds: [...selection.categoryIds,
|
|
5286
|
+
var toggleInterestCategory = (selection, id2) => {
|
|
5287
|
+
if (!selection.categoryIds.includes(id2))
|
|
5288
|
+
return { ...selection, categoryIds: [...selection.categoryIds, id2] };
|
|
5286
5289
|
const subcategories = { ...selection.subcategories };
|
|
5287
|
-
delete subcategories[
|
|
5290
|
+
delete subcategories[id2];
|
|
5288
5291
|
return {
|
|
5289
|
-
categoryIds: selection.categoryIds.filter((item) => item !==
|
|
5292
|
+
categoryIds: selection.categoryIds.filter((item) => item !== id2),
|
|
5290
5293
|
subcategories
|
|
5291
5294
|
};
|
|
5292
5295
|
};
|
|
5293
|
-
var toggleInterestSubcategory = (selection, categoryId,
|
|
5296
|
+
var toggleInterestSubcategory = (selection, categoryId, id2) => {
|
|
5294
5297
|
var _a;
|
|
5295
5298
|
const current4 = (_a = selection.subcategories[categoryId]) != null ? _a : [];
|
|
5296
5299
|
return {
|
|
5297
5300
|
...selection,
|
|
5298
5301
|
subcategories: {
|
|
5299
5302
|
...selection.subcategories,
|
|
5300
|
-
[categoryId]: current4.includes(
|
|
5303
|
+
[categoryId]: current4.includes(id2) ? current4.filter((item) => item !== id2) : [...current4, id2]
|
|
5301
5304
|
}
|
|
5302
5305
|
};
|
|
5303
5306
|
};
|
|
@@ -5326,7 +5329,7 @@ var rankEventsByInterests = (events, preferences, metadata) => {
|
|
|
5326
5329
|
return events.map((event, index) => {
|
|
5327
5330
|
var _a2, _b;
|
|
5328
5331
|
const publicData = metadata(event);
|
|
5329
|
-
const
|
|
5332
|
+
const text4 = " " + words([
|
|
5330
5333
|
(_a2 = publicData.title) == null ? void 0 : _a2.slice(0, 1024),
|
|
5331
5334
|
(_b = publicData.description) == null ? void 0 : _b.replace(/<[^>]*>/g, " ").slice(0, 4096),
|
|
5332
5335
|
...values(publicData.categories),
|
|
@@ -5335,7 +5338,7 @@ var rankEventsByInterests = (events, preferences, metadata) => {
|
|
|
5335
5338
|
...values(publicData.genres)
|
|
5336
5339
|
].filter(Boolean).join(" ").slice(0, 8192)) + " ";
|
|
5337
5340
|
let score = 0;
|
|
5338
|
-
for (const [term, weight] of terms) if (
|
|
5341
|
+
for (const [term, weight] of terms) if (text4.includes(" " + term + " ")) score += weight;
|
|
5339
5342
|
return { event, index, score };
|
|
5340
5343
|
}).sort((a, b) => b.score - a.score || a.index - b.index).map((result2) => result2.event);
|
|
5341
5344
|
};
|
|
@@ -5356,27 +5359,27 @@ var previewFriendProfile = (profile, settings) => {
|
|
|
5356
5359
|
};
|
|
5357
5360
|
var accountEventPresentation = (item, locale) => {
|
|
5358
5361
|
const event = item.event;
|
|
5359
|
-
const
|
|
5362
|
+
const text4 = (value6) => typeof value6 === "string" ? value6 : "";
|
|
5360
5363
|
const venue = event.venue && typeof event.venue === "object" ? event.venue : {};
|
|
5361
5364
|
let date = "";
|
|
5362
5365
|
if (event.hideDate === true || event.hide_date === true) date = "Date TBC";
|
|
5363
|
-
else if (
|
|
5364
|
-
else if (
|
|
5366
|
+
else if (text4(event.event_date)) date = text4(event.event_date);
|
|
5367
|
+
else if (text4(event.startDate)) {
|
|
5365
5368
|
try {
|
|
5366
5369
|
date = new Intl.DateTimeFormat(locale, {
|
|
5367
5370
|
dateStyle: "medium",
|
|
5368
|
-
timeZone:
|
|
5369
|
-
}).format(new Date(
|
|
5371
|
+
timeZone: text4(event.timezone) || void 0
|
|
5372
|
+
}).format(new Date(text4(event.startDate)));
|
|
5370
5373
|
} catch (e) {
|
|
5371
5374
|
}
|
|
5372
5375
|
}
|
|
5373
5376
|
return {
|
|
5374
5377
|
id: item.id,
|
|
5375
|
-
name:
|
|
5376
|
-
imageUrl:
|
|
5377
|
-
url:
|
|
5378
|
+
name: text4(event.displayName) || text4(event.name) || text4(event.title),
|
|
5379
|
+
imageUrl: text4(event.imageURL) || text4(event.image_url) || text4(event.image),
|
|
5380
|
+
url: text4(event.url),
|
|
5378
5381
|
date,
|
|
5379
|
-
venue: venue.hidden ? "" : [
|
|
5382
|
+
venue: venue.hidden ? "" : [text4(venue.name), text4(venue.city)].filter(Boolean).join(", ")
|
|
5380
5383
|
};
|
|
5381
5384
|
};
|
|
5382
5385
|
var profileGenderOptions = [
|
|
@@ -5442,7 +5445,7 @@ var normalizeTicketGiftIntent = (input) => {
|
|
|
5442
5445
|
fail();
|
|
5443
5446
|
if (input.confirm_terms !== true)
|
|
5444
5447
|
throw new TtfError("Confirm that this ticket will belong to the recipient.", 422);
|
|
5445
|
-
if (!Array.isArray(input.add_on_ids) || input.add_on_ids.length > 100 || input.add_on_ids.some((
|
|
5448
|
+
if (!Array.isArray(input.add_on_ids) || input.add_on_ids.length > 100 || input.add_on_ids.some((id2) => !Number.isSafeInteger(id2) || id2 <= 0))
|
|
5446
5449
|
throw new TtfError("Review the add-ons to include with your gift.", 422);
|
|
5447
5450
|
return {
|
|
5448
5451
|
request_key: input.request_key,
|
|
@@ -5479,6 +5482,75 @@ var normalizeTicketResale = (input, requireNames = false) => {
|
|
|
5479
5482
|
throw new TtfError("Enter matching email addresses for your friend.", 422);
|
|
5480
5483
|
return result2;
|
|
5481
5484
|
};
|
|
5485
|
+
var record = (value6) => value6 !== null && typeof value6 === "object" && !Array.isArray(value6) ? value6 : null;
|
|
5486
|
+
var text3 = (value6) => typeof value6 === "string" ? value6 : "";
|
|
5487
|
+
var id = (value6) => typeof value6 === "string" || typeof value6 === "number" && Number.isFinite(value6) ? String(value6) : "";
|
|
5488
|
+
var flag2 = (value6) => value6 === true || value6 === 1 || value6 === "1" || value6 === "yes";
|
|
5489
|
+
var featuredQueryParams = (query) => {
|
|
5490
|
+
const { latitude, longitude, country } = query;
|
|
5491
|
+
if ((latitude !== void 0 || longitude !== void 0) && (typeof latitude !== "number" || typeof longitude !== "number" || !Number.isFinite(latitude) || !Number.isFinite(longitude) || Math.abs(latitude) > 90 || Math.abs(longitude) > 180))
|
|
5492
|
+
throw new TtfError("Provide a valid latitude and longitude.", 422, "INVALID_LOCATION");
|
|
5493
|
+
return {
|
|
5494
|
+
...latitude !== void 0 ? { latitude, longitude } : {},
|
|
5495
|
+
...country ? { c: country } : {}
|
|
5496
|
+
};
|
|
5497
|
+
};
|
|
5498
|
+
var featuredEventsFromResponse = (body) => {
|
|
5499
|
+
var _a, _b;
|
|
5500
|
+
const events = (_b = record((_a = record(body)) == null ? void 0 : _a.data)) == null ? void 0 : _b.events;
|
|
5501
|
+
const invalid2 = () => new TtfError(
|
|
5502
|
+
"Events could not be loaded. Please try again.",
|
|
5503
|
+
502,
|
|
5504
|
+
"INVALID_FEATURED_EVENTS"
|
|
5505
|
+
);
|
|
5506
|
+
if (!Array.isArray(events)) throw invalid2();
|
|
5507
|
+
return events.map((value6) => {
|
|
5508
|
+
var _a2;
|
|
5509
|
+
const row = record(value6);
|
|
5510
|
+
if (!row || !id(row.objectID).trim() || !text3(row.title).trim() || !id(row.brand_id))
|
|
5511
|
+
throw invalid2();
|
|
5512
|
+
const geoloc = record(row._geoloc);
|
|
5513
|
+
const lat = geoloc == null ? void 0 : geoloc.lat;
|
|
5514
|
+
const lng = geoloc == null ? void 0 : geoloc.lng;
|
|
5515
|
+
const coordinates = typeof lat === "number" && typeof lng === "number" && Number.isFinite(lat) && Number.isFinite(lng) && Math.abs(lat) <= 90 && Math.abs(lng) <= 180 ? { lat, lng } : void 0;
|
|
5516
|
+
return {
|
|
5517
|
+
objectID: id(row.objectID),
|
|
5518
|
+
title: text3(row.title),
|
|
5519
|
+
brand_id: id(row.brand_id),
|
|
5520
|
+
brand_name: text3(row.brand_name),
|
|
5521
|
+
url: text3(row.url),
|
|
5522
|
+
event_date: text3(row.event_date),
|
|
5523
|
+
event_date_3_letter_month: text3(row.event_date_3_letter_month),
|
|
5524
|
+
event_date_day: text3(row.event_date_day),
|
|
5525
|
+
event_date_day_month: text3(row.event_date_day_month),
|
|
5526
|
+
event_date_month: text3(row.event_date_month),
|
|
5527
|
+
event_date_time: text3(row.event_date_time),
|
|
5528
|
+
event_date_week: text3(row.event_date_week),
|
|
5529
|
+
date: text3(row.date),
|
|
5530
|
+
end_date: text3(row.end_date),
|
|
5531
|
+
venue_id: id(row.venue_id),
|
|
5532
|
+
venue_name: text3(row.venue_name),
|
|
5533
|
+
venue_slug: text3(row.venue_slug),
|
|
5534
|
+
event_city: text3(row.event_city),
|
|
5535
|
+
city_slug: text3(row.city_slug),
|
|
5536
|
+
hide_date: flag2(row.hide_date),
|
|
5537
|
+
image_url: text3(row.image_url),
|
|
5538
|
+
image_blurred_url: text3(row.image_blurred_url),
|
|
5539
|
+
short_description: text3(row.short_description),
|
|
5540
|
+
ticket_url: text3(row.ticket_url),
|
|
5541
|
+
total_in_stock: id(row.total_in_stock),
|
|
5542
|
+
x_featured_event: flag2(row.x_featured_event),
|
|
5543
|
+
is_online_event: flag2(row.is_online_event),
|
|
5544
|
+
event_types: Object.fromEntries(
|
|
5545
|
+
Object.entries((_a2 = record(row.event_types)) != null ? _a2 : {}).map(([key4, value7]) => [
|
|
5546
|
+
key4,
|
|
5547
|
+
flag2(value7)
|
|
5548
|
+
])
|
|
5549
|
+
),
|
|
5550
|
+
...coordinates ? { _geoloc: coordinates } : {}
|
|
5551
|
+
};
|
|
5552
|
+
});
|
|
5553
|
+
};
|
|
5482
5554
|
var initialSnapshot = () => ({
|
|
5483
5555
|
status: "idle",
|
|
5484
5556
|
selections: [],
|
|
@@ -5567,7 +5639,7 @@ var CONFIRMED_INTENT_STATUSES = [
|
|
|
5567
5639
|
"RequiresCapture",
|
|
5568
5640
|
"Processing"
|
|
5569
5641
|
];
|
|
5570
|
-
var cleanAccountId = (
|
|
5642
|
+
var cleanAccountId = (id2) => id2 && id2.trim() ? id2 : void 0;
|
|
5571
5643
|
var unsupportedGatewayError = (message) => {
|
|
5572
5644
|
const err = new Error(
|
|
5573
5645
|
message != null ? message : "This payment method isn't available in the app. Please finish buying on the event page."
|
|
@@ -5890,6 +5962,7 @@ __export2(api_exports, {
|
|
|
5890
5962
|
getEventTickets: () => getEventTickets,
|
|
5891
5963
|
getEventTicketsWithMeta: () => getEventTicketsWithMeta,
|
|
5892
5964
|
getEventTimeSlotTickets: () => getEventTimeSlotTickets,
|
|
5965
|
+
getFeaturedEvents: () => getFeaturedEvents,
|
|
5893
5966
|
getFriendProfile: () => getFriendProfile,
|
|
5894
5967
|
getFriends: () => getFriends,
|
|
5895
5968
|
getIdVerificationStatus: () => getIdVerificationStatus,
|
|
@@ -6376,7 +6449,7 @@ var getCountries = async () => {
|
|
|
6376
6449
|
var getStates = async (countryId) => {
|
|
6377
6450
|
var _a;
|
|
6378
6451
|
const res = await get(ENDPOINTS.geo.states(countryId));
|
|
6379
|
-
return Object.entries((_a = res.data) != null ? _a : {}).map(([
|
|
6452
|
+
return Object.entries((_a = res.data) != null ? _a : {}).map(([id2, name]) => ({ id: id2, name }));
|
|
6380
6453
|
};
|
|
6381
6454
|
var sessionEpoch2 = -1;
|
|
6382
6455
|
var sessionConfig = null;
|
|
@@ -6752,8 +6825,8 @@ var removeReservedSeats = async (eventId, tierId, seatIds) => del(ENDPOINTS.seat
|
|
|
6752
6825
|
});
|
|
6753
6826
|
var refreshReservation = async (eventId, orderId) => patch(ENDPOINTS.seatmap.refreshReservation(eventId), { order_id: orderId });
|
|
6754
6827
|
var badgeOf = (raw) => {
|
|
6755
|
-
const
|
|
6756
|
-
return
|
|
6828
|
+
const text4 = typeof raw === "string" ? raw.trim() : "";
|
|
6829
|
+
return text4 || null;
|
|
6757
6830
|
};
|
|
6758
6831
|
var mapTicket = (t) => {
|
|
6759
6832
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
@@ -6792,7 +6865,7 @@ var getEventDetails = async (eventId) => {
|
|
|
6792
6865
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
6793
6866
|
const body = await get(ENDPOINTS.events.info(eventId));
|
|
6794
6867
|
const a = (_b = (_a = body == null ? void 0 : body.data) == null ? void 0 : _a.attributes) != null ? _b : {};
|
|
6795
|
-
const
|
|
6868
|
+
const text4 = (value6) => typeof value6 === "string" && value6.trim() ? value6 : null;
|
|
6796
6869
|
const coordinate = (value6) => value6 !== null && value6 !== void 0 && value6 !== "" && Number.isFinite(Number(value6)) ? Number(value6) : null;
|
|
6797
6870
|
const hidden = a.hideVenue === true || a.hideVenue === 1 || a.hideVenue === "yes";
|
|
6798
6871
|
const hideDate = a.hideDate === true || a.hideDate === 1 || a.hideDate === "yes" || a.hideDate === "1";
|
|
@@ -6802,25 +6875,25 @@ var getEventDetails = async (eventId) => {
|
|
|
6802
6875
|
slug: String((_g = a.slug) != null ? _g : ""),
|
|
6803
6876
|
description: String((_h = a.description) != null ? _h : ""),
|
|
6804
6877
|
shortDescription: String((_i = a.shortDescription) != null ? _i : ""),
|
|
6805
|
-
imageUrl: (_k = (_j =
|
|
6878
|
+
imageUrl: (_k = (_j = text4(a.imageUrlHd)) != null ? _j : text4(a.productImage)) != null ? _k : text4(a.imageUrl),
|
|
6806
6879
|
hideDate,
|
|
6807
|
-
startDate: hideDate ? null : (_l =
|
|
6808
|
-
endDate: hideDate ? null :
|
|
6880
|
+
startDate: hideDate ? null : (_l = text4(a.startDate)) != null ? _l : text4(a.date),
|
|
6881
|
+
endDate: hideDate ? null : text4(a.endDate),
|
|
6809
6882
|
formattedDate: hideDate ? "Date TBC" : String((_m = a.formattedDate) != null ? _m : ""),
|
|
6810
|
-
timezone:
|
|
6883
|
+
timezone: text4(a.timezone),
|
|
6811
6884
|
currency: String((_n = a.currency) != null ? _n : ""),
|
|
6812
|
-
salesStart:
|
|
6813
|
-
salesEnd:
|
|
6885
|
+
salesStart: text4(a.salesStart),
|
|
6886
|
+
salesEnd: text4(a.salesEnd),
|
|
6814
6887
|
salesStarted: Boolean(a.salesStarted),
|
|
6815
6888
|
salesEnded: Boolean(a.salesEnded),
|
|
6816
6889
|
// A hidden venue must not leak through a map link even when an older
|
|
6817
6890
|
// backend response happens to include its coordinates.
|
|
6818
6891
|
venue: {
|
|
6819
6892
|
hidden,
|
|
6820
|
-
name: hidden ? null :
|
|
6893
|
+
name: hidden ? null : text4(a.venueName),
|
|
6821
6894
|
address: hidden ? null : [a.venueStreetNumber, a.venueStreet, a.venuePostalCode].filter(Boolean).join(" ") || null,
|
|
6822
|
-
city:
|
|
6823
|
-
country:
|
|
6895
|
+
city: text4(a.venueCity),
|
|
6896
|
+
country: text4(a.venueCountry),
|
|
6824
6897
|
latitude: hidden ? null : coordinate(a.venueLatitude),
|
|
6825
6898
|
longitude: hidden ? null : coordinate(a.venueLongitude)
|
|
6826
6899
|
}
|
|
@@ -7034,7 +7107,7 @@ var filterAddonsForTickets = (addons, ticketTypeIds) => {
|
|
|
7034
7107
|
return addons.filter((a) => {
|
|
7035
7108
|
const prereq = a.prerequisiteTicketTypeIds;
|
|
7036
7109
|
if (!prereq || prereq.length === 0) return true;
|
|
7037
|
-
return prereq.some((
|
|
7110
|
+
return prereq.some((id2) => selected.has(String(id2)));
|
|
7038
7111
|
});
|
|
7039
7112
|
};
|
|
7040
7113
|
var getEventTicketsWithMeta = async (eventId) => {
|
|
@@ -7369,7 +7442,7 @@ var createOrder = async (input) => {
|
|
|
7369
7442
|
...addOnDataCapture ? {
|
|
7370
7443
|
addOnDataCapture: Object.fromEntries(
|
|
7371
7444
|
Object.entries(addOnDataCapture).filter(
|
|
7372
|
-
([
|
|
7445
|
+
([id2, values2]) => Number(addOns[id2]) > 0 && values2 && Object.keys(values2).length > 0
|
|
7373
7446
|
)
|
|
7374
7447
|
)
|
|
7375
7448
|
} : {}
|
|
@@ -7822,7 +7895,7 @@ var completeAccount = (challenge, input, termsAccepted) => {
|
|
|
7822
7895
|
})
|
|
7823
7896
|
);
|
|
7824
7897
|
};
|
|
7825
|
-
var path = (eventId,
|
|
7898
|
+
var path = (eventId, id2) => `/event/${encodeURIComponent(eventId)}/comments${id2 ? `/${encodeURIComponent(id2)}` : ""}`;
|
|
7826
7899
|
var value2 = (response) => {
|
|
7827
7900
|
if (response.success === false || response.error === true)
|
|
7828
7901
|
throw new TtfError(
|
|
@@ -7869,13 +7942,13 @@ var getEventComments = async (eventId, options = {}) => {
|
|
|
7869
7942
|
);
|
|
7870
7943
|
return { ...page2, items: page2.items.map(normalizeEventComment) };
|
|
7871
7944
|
};
|
|
7872
|
-
var getEventCommentImage = async (eventId,
|
|
7945
|
+
var getEventCommentImage = async (eventId, id2, previewKey, index = 0) => {
|
|
7873
7946
|
if (!Number.isInteger(index) || index < 0 || index > 4)
|
|
7874
7947
|
throw new TtfError("Choose a valid image position.", 422, "VALIDATION_ERROR");
|
|
7875
7948
|
const epoch = getSessionEpoch();
|
|
7876
7949
|
const bytes = new Uint8Array(
|
|
7877
7950
|
await get(
|
|
7878
|
-
`${path(eventId,
|
|
7951
|
+
`${path(eventId, id2)}/${index === 0 ? "image" : `images/${index}`}`,
|
|
7879
7952
|
{
|
|
7880
7953
|
responseType: "arraybuffer",
|
|
7881
7954
|
params: previewKey ? { pk: previewKey } : void 0
|
|
@@ -7911,7 +7984,7 @@ var createEventComment = async (eventId, draft, previewKey) => {
|
|
|
7911
7984
|
value2(await post(target, draft, config))
|
|
7912
7985
|
);
|
|
7913
7986
|
};
|
|
7914
|
-
var updateEventComment = async (eventId,
|
|
7987
|
+
var updateEventComment = async (eventId, id2, body, revision, previewKey) => {
|
|
7915
7988
|
if (typeof body !== "string" || [...body].length > 2e3)
|
|
7916
7989
|
throw new TtfError(
|
|
7917
7990
|
"Use up to 2000 characters of plain text.",
|
|
@@ -7923,43 +7996,43 @@ var updateEventComment = async (eventId, id, body, revision, previewKey) => {
|
|
|
7923
7996
|
assertSessionEpoch(epoch);
|
|
7924
7997
|
return normalizeEventComment(
|
|
7925
7998
|
value2(
|
|
7926
|
-
await patch(path(eventId,
|
|
7999
|
+
await patch(path(eventId, id2), { body, revision }, config)
|
|
7927
8000
|
)
|
|
7928
8001
|
);
|
|
7929
8002
|
};
|
|
7930
|
-
var removeEventComment = async (eventId,
|
|
8003
|
+
var removeEventComment = async (eventId, id2, revision, previewKey) => {
|
|
7931
8004
|
const epoch = getSessionEpoch();
|
|
7932
8005
|
const config = await security(epoch, previewKey);
|
|
7933
8006
|
assertSessionEpoch(epoch);
|
|
7934
8007
|
return normalizeEventComment(
|
|
7935
8008
|
value2(
|
|
7936
|
-
await del(path(eventId,
|
|
8009
|
+
await del(path(eventId, id2), {
|
|
7937
8010
|
...config,
|
|
7938
8011
|
data: { revision }
|
|
7939
8012
|
})
|
|
7940
8013
|
)
|
|
7941
8014
|
);
|
|
7942
8015
|
};
|
|
7943
|
-
var reactToEventComment = async (eventId,
|
|
8016
|
+
var reactToEventComment = async (eventId, id2, reaction, previewKey) => {
|
|
7944
8017
|
const epoch = getSessionEpoch();
|
|
7945
8018
|
const config = await security(epoch, previewKey);
|
|
7946
8019
|
assertSessionEpoch(epoch);
|
|
7947
8020
|
return normalizeEventComment(
|
|
7948
8021
|
value2(
|
|
7949
8022
|
await post(
|
|
7950
|
-
`${path(eventId,
|
|
8023
|
+
`${path(eventId, id2)}/reaction`,
|
|
7951
8024
|
{ reaction },
|
|
7952
8025
|
config
|
|
7953
8026
|
)
|
|
7954
8027
|
)
|
|
7955
8028
|
);
|
|
7956
8029
|
};
|
|
7957
|
-
var reportEventComment = async (eventId,
|
|
8030
|
+
var reportEventComment = async (eventId, id2, reason, previewKey) => {
|
|
7958
8031
|
const epoch = getSessionEpoch();
|
|
7959
8032
|
const config = await security(epoch, previewKey);
|
|
7960
8033
|
assertSessionEpoch(epoch);
|
|
7961
8034
|
value2(
|
|
7962
|
-
await post(`${path(eventId,
|
|
8035
|
+
await post(`${path(eventId, id2)}/report`, { reason }, config)
|
|
7963
8036
|
);
|
|
7964
8037
|
};
|
|
7965
8038
|
var blockEventCommentAuthor = async (eventId, authorId, blocked, previewKey) => {
|
|
@@ -7974,14 +8047,14 @@ var blockEventCommentAuthor = async (eventId, authorId, blocked, previewKey) =>
|
|
|
7974
8047
|
)
|
|
7975
8048
|
);
|
|
7976
8049
|
};
|
|
7977
|
-
var moderateEventComment = async (eventId,
|
|
8050
|
+
var moderateEventComment = async (eventId, id2, status, revision, reason, previewKey) => {
|
|
7978
8051
|
const epoch = getSessionEpoch();
|
|
7979
8052
|
const config = await security(epoch, previewKey);
|
|
7980
8053
|
assertSessionEpoch(epoch);
|
|
7981
8054
|
return normalizeEventComment(
|
|
7982
8055
|
value2(
|
|
7983
8056
|
await post(
|
|
7984
|
-
`${path(eventId,
|
|
8057
|
+
`${path(eventId, id2)}/moderate`,
|
|
7985
8058
|
{ status, revision, reason },
|
|
7986
8059
|
config
|
|
7987
8060
|
)
|
|
@@ -8565,9 +8638,9 @@ var matchFriendContacts = (phones, region) => write(
|
|
|
8565
8638
|
security2
|
|
8566
8639
|
)
|
|
8567
8640
|
);
|
|
8568
|
-
var getFriendProfile = async (
|
|
8641
|
+
var getFriendProfile = async (id2, section = "attending", cursor) => unwrap4(
|
|
8569
8642
|
await get(
|
|
8570
|
-
`/customer/friends/${encodeURIComponent(
|
|
8643
|
+
`/customer/friends/${encodeURIComponent(id2)}/profile`,
|
|
8571
8644
|
{ params: { section, cursor } }
|
|
8572
8645
|
)
|
|
8573
8646
|
);
|
|
@@ -8597,28 +8670,28 @@ var value4 = (body) => {
|
|
|
8597
8670
|
);
|
|
8598
8671
|
return body.data.attributes;
|
|
8599
8672
|
};
|
|
8600
|
-
var passUrl = (
|
|
8601
|
-
if (!Number.isSafeInteger(
|
|
8673
|
+
var passUrl = (id2) => {
|
|
8674
|
+
if (!Number.isSafeInteger(id2) || id2 < 1)
|
|
8602
8675
|
throw new TtfError("Choose a pass to continue.", 422);
|
|
8603
|
-
return `v1/account/multi-event-passes/${
|
|
8676
|
+
return `v1/account/multi-event-passes/${id2}`;
|
|
8604
8677
|
};
|
|
8605
8678
|
var getCustomerPasses = async (page2 = 1) => value4(
|
|
8606
8679
|
await get("v1/account/multi-event-passes", {
|
|
8607
8680
|
params: { page: page2, per_page: 20 }
|
|
8608
8681
|
})
|
|
8609
8682
|
);
|
|
8610
|
-
var getCustomerPass = async (
|
|
8611
|
-
var getPassEvents = async (
|
|
8612
|
-
await get(`${passUrl(
|
|
8683
|
+
var getCustomerPass = async (id2) => value4(await get(passUrl(id2)));
|
|
8684
|
+
var getPassEvents = async (id2, search = "", page2 = 1) => value4(
|
|
8685
|
+
await get(`${passUrl(id2)}/eligible-events`, {
|
|
8613
8686
|
params: { search, page: page2, per_page: 20 }
|
|
8614
8687
|
})
|
|
8615
8688
|
);
|
|
8616
|
-
var getPassBookings = async (
|
|
8617
|
-
await get(`${passUrl(
|
|
8689
|
+
var getPassBookings = async (id2, after) => value4(
|
|
8690
|
+
await get(`${passUrl(id2)}/redemptions`, {
|
|
8618
8691
|
params: after ? { after } : void 0
|
|
8619
8692
|
})
|
|
8620
8693
|
);
|
|
8621
|
-
var redeemCustomerPass = async (
|
|
8694
|
+
var redeemCustomerPass = async (id2, eventId, idempotencyKey) => {
|
|
8622
8695
|
const assertOwner = captureSessionAction();
|
|
8623
8696
|
if (!Number.isSafeInteger(eventId) || eventId < 1 || !idempotencyKey || idempotencyKey.length > 64)
|
|
8624
8697
|
throw new TtfError("Choose an event to use your pass for.", 422);
|
|
@@ -8626,13 +8699,13 @@ var redeemCustomerPass = async (id, eventId, idempotencyKey) => {
|
|
|
8626
8699
|
assertOwner();
|
|
8627
8700
|
return value4(
|
|
8628
8701
|
await post(
|
|
8629
|
-
`${passUrl(
|
|
8702
|
+
`${passUrl(id2)}/redeem`,
|
|
8630
8703
|
{ event_id: eventId, idempotency_key: idempotencyKey },
|
|
8631
8704
|
security2
|
|
8632
8705
|
)
|
|
8633
8706
|
);
|
|
8634
8707
|
};
|
|
8635
|
-
var cancelPassBooking = async (
|
|
8708
|
+
var cancelPassBooking = async (id2, bookingId) => {
|
|
8636
8709
|
const assertOwner = captureSessionAction();
|
|
8637
8710
|
if (!Number.isSafeInteger(bookingId) || bookingId < 1)
|
|
8638
8711
|
throw new TtfError("Choose a booking to cancel.", 422);
|
|
@@ -8640,7 +8713,7 @@ var cancelPassBooking = async (id, bookingId) => {
|
|
|
8640
8713
|
assertOwner();
|
|
8641
8714
|
value4(
|
|
8642
8715
|
await post(
|
|
8643
|
-
`${passUrl(
|
|
8716
|
+
`${passUrl(id2)}/redemptions/${bookingId}/cancel`,
|
|
8644
8717
|
{},
|
|
8645
8718
|
security2
|
|
8646
8719
|
)
|
|
@@ -8775,6 +8848,9 @@ var deleteAccount = async (proof) => {
|
|
|
8775
8848
|
clearSession();
|
|
8776
8849
|
return { deleted: true, teamsLeft: value6.teamsLeft };
|
|
8777
8850
|
};
|
|
8851
|
+
var getFeaturedEvents = async (query = {}) => featuredEventsFromResponse(
|
|
8852
|
+
await get(ENDPOINTS.events.featured, { params: featuredQueryParams(query) })
|
|
8853
|
+
);
|
|
8778
8854
|
var retiredStores = /* @__PURE__ */ new WeakSet();
|
|
8779
8855
|
var retireCheckoutStore = (store) => {
|
|
8780
8856
|
retiredStores.add(store);
|
|
@@ -9134,19 +9210,19 @@ var setExtraItemsWith = async (store, input) => {
|
|
|
9134
9210
|
const accepted = acceptedAccommodationSelection(selection, result2);
|
|
9135
9211
|
const quotes = { ...result2.quotes };
|
|
9136
9212
|
const missing = Object.entries(accepted.accommodation).filter(
|
|
9137
|
-
([
|
|
9213
|
+
([id2]) => !quotes[id2] && !result2.rejected[id2]
|
|
9138
9214
|
);
|
|
9139
9215
|
const fetched = await forCart(
|
|
9140
9216
|
store,
|
|
9141
9217
|
cart,
|
|
9142
9218
|
Promise.all(
|
|
9143
9219
|
missing.map(
|
|
9144
|
-
async ([
|
|
9220
|
+
async ([id2, stay]) => [id2, await quoteAccommodation(eventId, id2, stay)]
|
|
9145
9221
|
)
|
|
9146
9222
|
)
|
|
9147
9223
|
);
|
|
9148
|
-
fetched.forEach(([
|
|
9149
|
-
quotes[
|
|
9224
|
+
fetched.forEach(([id2, quote]) => {
|
|
9225
|
+
quotes[id2] = quote;
|
|
9150
9226
|
});
|
|
9151
9227
|
store.setState({
|
|
9152
9228
|
extraItems: accepted,
|
|
@@ -10144,9 +10220,9 @@ var createEngine = (config) => {
|
|
|
10144
10220
|
holdWaiverSigning: (index) => {
|
|
10145
10221
|
if (orderIsFixed(store)) return null;
|
|
10146
10222
|
lastHoldId += 1;
|
|
10147
|
-
const
|
|
10223
|
+
const id2 = lastHoldId;
|
|
10148
10224
|
const cart = store.cartGeneration;
|
|
10149
|
-
liveHolds.add(
|
|
10225
|
+
liveHolds.add(id2);
|
|
10150
10226
|
store.setState((state) => {
|
|
10151
10227
|
var _a2;
|
|
10152
10228
|
return {
|
|
@@ -10154,12 +10230,12 @@ var createEngine = (config) => {
|
|
|
10154
10230
|
};
|
|
10155
10231
|
});
|
|
10156
10232
|
return {
|
|
10157
|
-
id,
|
|
10233
|
+
id: id2,
|
|
10158
10234
|
cart,
|
|
10159
10235
|
index,
|
|
10160
10236
|
binding: waiverSigningBinding(store.getState(), index),
|
|
10161
10237
|
release: () => {
|
|
10162
|
-
if (!liveHolds.delete(
|
|
10238
|
+
if (!liveHolds.delete(id2)) return;
|
|
10163
10239
|
if (cart !== store.cartGeneration) return;
|
|
10164
10240
|
store.setState((state) => {
|
|
10165
10241
|
var _a2;
|
|
@@ -10229,8 +10305,8 @@ var providerPageMatchesReturn = (url2, prefix) => {
|
|
|
10229
10305
|
var createProviderPages = (show) => {
|
|
10230
10306
|
let sequence2 = 0;
|
|
10231
10307
|
let pending2 = null;
|
|
10232
|
-
const settle = (
|
|
10233
|
-
if ((pending2 == null ? void 0 : pending2.id) !==
|
|
10308
|
+
const settle = (id2, outcome) => {
|
|
10309
|
+
if ((pending2 == null ? void 0 : pending2.id) !== id2) return;
|
|
10234
10310
|
const resolve = pending2.resolve;
|
|
10235
10311
|
pending2 = null;
|
|
10236
10312
|
show(null);
|
|
@@ -10241,9 +10317,9 @@ var createProviderPages = (show) => {
|
|
|
10241
10317
|
if (pending2)
|
|
10242
10318
|
return Promise.reject(new Error("Another payment page is already open."));
|
|
10243
10319
|
return new Promise((resolve) => {
|
|
10244
|
-
const
|
|
10245
|
-
pending2 = { id, resolve };
|
|
10246
|
-
show({ id, request: request2 });
|
|
10320
|
+
const id2 = ++sequence2;
|
|
10321
|
+
pending2 = { id: id2, resolve };
|
|
10322
|
+
show({ id: id2, request: request2 });
|
|
10247
10323
|
});
|
|
10248
10324
|
},
|
|
10249
10325
|
settle,
|
|
@@ -10394,21 +10470,21 @@ var bundleFlowAvailable = (draft, catalog, catalogState) => {
|
|
|
10394
10470
|
const removed = [];
|
|
10395
10471
|
const reduced = [];
|
|
10396
10472
|
const belowMinimum = [];
|
|
10397
|
-
for (const [
|
|
10473
|
+
for (const [id2, chosen] of Object.entries(draft.qty)) {
|
|
10398
10474
|
if (!(chosen > 0)) continue;
|
|
10399
|
-
const bundle = catalog.find((b) => b.id ===
|
|
10475
|
+
const bundle = catalog.find((b) => b.id === id2);
|
|
10400
10476
|
const { min, max } = bundle ? bundleQuantityRange(bundle) : { min: 0, max: 0 };
|
|
10401
10477
|
if (!bundle || max === 0) {
|
|
10402
|
-
delete qty[
|
|
10403
|
-
removed.push(
|
|
10478
|
+
delete qty[id2];
|
|
10479
|
+
removed.push(id2);
|
|
10404
10480
|
} else if (chosen < min) {
|
|
10405
|
-
delete qty[
|
|
10406
|
-
belowMinimum.push({ id, name: bundle.name, quantity: min });
|
|
10481
|
+
delete qty[id2];
|
|
10482
|
+
belowMinimum.push({ id: id2, name: bundle.name, quantity: min });
|
|
10407
10483
|
} else if (chosen > max) {
|
|
10408
|
-
qty[
|
|
10484
|
+
qty[id2] = max;
|
|
10409
10485
|
const { remaining } = bundle.availability;
|
|
10410
10486
|
reduced.push({
|
|
10411
|
-
id,
|
|
10487
|
+
id: id2,
|
|
10412
10488
|
name: bundle.name,
|
|
10413
10489
|
quantity: max,
|
|
10414
10490
|
byStock: remaining !== null && remaining < bundle.maxQuantity
|
|
@@ -10585,28 +10661,28 @@ var createCardOwnership = () => {
|
|
|
10585
10661
|
const listeners4 = /* @__PURE__ */ new Set();
|
|
10586
10662
|
const emit = () => listeners4.forEach((listener) => listener());
|
|
10587
10663
|
return {
|
|
10588
|
-
register: (
|
|
10589
|
-
if (!chosen && registered.length === 1 && registered[0] !==
|
|
10664
|
+
register: (id2) => {
|
|
10665
|
+
if (!chosen && registered.length === 1 && registered[0] !== id2)
|
|
10590
10666
|
chosen = registered[0];
|
|
10591
|
-
registered.push(
|
|
10667
|
+
registered.push(id2);
|
|
10592
10668
|
emit();
|
|
10593
10669
|
let done = false;
|
|
10594
10670
|
return () => {
|
|
10595
10671
|
if (done) return;
|
|
10596
10672
|
done = true;
|
|
10597
|
-
registered.splice(registered.indexOf(
|
|
10598
|
-
if (chosen ===
|
|
10673
|
+
registered.splice(registered.indexOf(id2), 1);
|
|
10674
|
+
if (chosen === id2 || chosen && !registered.includes(chosen)) chosen = null;
|
|
10599
10675
|
emit();
|
|
10600
10676
|
};
|
|
10601
10677
|
},
|
|
10602
|
-
claim: (
|
|
10603
|
-
if (!registered.includes(
|
|
10604
|
-
chosen =
|
|
10678
|
+
claim: (id2) => {
|
|
10679
|
+
if (!registered.includes(id2) || chosen === id2) return;
|
|
10680
|
+
chosen = id2;
|
|
10605
10681
|
emit();
|
|
10606
10682
|
},
|
|
10607
10683
|
// A section not registered yet owns it when no other one is there, so a
|
|
10608
10684
|
// single section never flashes "Continue paying here" while it mounts.
|
|
10609
|
-
owns: (
|
|
10685
|
+
owns: (id2) => registered.includes(id2) ? chosen ? chosen === id2 : registered.every((other) => other === id2) : registered.length === 0,
|
|
10610
10686
|
subscribe: (listener) => {
|
|
10611
10687
|
listeners4.add(listener);
|
|
10612
10688
|
return () => listeners4.delete(listener);
|
|
@@ -11128,6 +11204,7 @@ var ttf = {
|
|
|
11128
11204
|
},
|
|
11129
11205
|
// --- checkout flow -------------------------------------------------------
|
|
11130
11206
|
events: {
|
|
11207
|
+
featured: getFeaturedEvents,
|
|
11131
11208
|
details: getEventDetails,
|
|
11132
11209
|
tickets: getEventTickets,
|
|
11133
11210
|
ticketsWithMeta: getEventTicketsWithMeta,
|
|
@@ -11316,6 +11393,7 @@ __export2(hooks_exports, {
|
|
|
11316
11393
|
useEventCommentImage: () => useEventCommentImage,
|
|
11317
11394
|
useEventComments: () => useEventComments,
|
|
11318
11395
|
useEventDiscussion: () => useEventDiscussion,
|
|
11396
|
+
useFeaturedEvents: () => useFeaturedEvents,
|
|
11319
11397
|
useFriendProfile: () => useFriendProfile,
|
|
11320
11398
|
useFriends: () => useFriends,
|
|
11321
11399
|
useHeldScopes: () => useHeldScopes,
|
|
@@ -12288,7 +12366,7 @@ var selectedAddOnDraft = (quantities, capture) => {
|
|
|
12288
12366
|
return {
|
|
12289
12367
|
selection,
|
|
12290
12368
|
capture: Object.fromEntries(
|
|
12291
|
-
Object.entries(capture).filter(([
|
|
12369
|
+
Object.entries(capture).filter(([id2]) => selection[id2] > 0)
|
|
12292
12370
|
)
|
|
12293
12371
|
};
|
|
12294
12372
|
};
|
|
@@ -12486,7 +12564,7 @@ var useSeatSelection = (eventId, checkout, onContinue) => {
|
|
|
12486
12564
|
)
|
|
12487
12565
|
);
|
|
12488
12566
|
setGuestCounts(
|
|
12489
|
-
(previous) => Object.fromEntries(Object.entries(previous).filter(([
|
|
12567
|
+
(previous) => Object.fromEntries(Object.entries(previous).filter(([id2]) => own.includes(id2)))
|
|
12490
12568
|
);
|
|
12491
12569
|
}, [eventId, checkout.store]);
|
|
12492
12570
|
(0, import_react8.useEffect)(() => {
|
|
@@ -12700,13 +12778,13 @@ var whenConfirmerFree = () => checkoutStartLock.whenFree(CHECKOUT_START);
|
|
|
12700
12778
|
var storeIds = /* @__PURE__ */ new WeakMap();
|
|
12701
12779
|
var storeCount = 0;
|
|
12702
12780
|
var storeIdentity = (store) => {
|
|
12703
|
-
let
|
|
12704
|
-
if (!
|
|
12781
|
+
let id2 = storeIds.get(store);
|
|
12782
|
+
if (!id2) {
|
|
12705
12783
|
storeCount += 1;
|
|
12706
|
-
|
|
12707
|
-
storeIds.set(store,
|
|
12784
|
+
id2 = `s${storeCount}`;
|
|
12785
|
+
storeIds.set(store, id2);
|
|
12708
12786
|
}
|
|
12709
|
-
return
|
|
12787
|
+
return id2;
|
|
12710
12788
|
};
|
|
12711
12789
|
var ticketHolderFor = (store) => ({
|
|
12712
12790
|
kind: "tickets",
|
|
@@ -12886,11 +12964,11 @@ var useCheckout = (config) => {
|
|
|
12886
12964
|
[gated]
|
|
12887
12965
|
);
|
|
12888
12966
|
const acceptCondition = (0, import_react9.useCallback)(
|
|
12889
|
-
(
|
|
12967
|
+
(id2, accepted) => {
|
|
12890
12968
|
var _a2;
|
|
12891
12969
|
return engine.setAcceptedConditions({
|
|
12892
12970
|
...(_a2 = snapshot.acceptedConditions) != null ? _a2 : {},
|
|
12893
|
-
[
|
|
12971
|
+
[id2]: accepted
|
|
12894
12972
|
});
|
|
12895
12973
|
},
|
|
12896
12974
|
[engine, snapshot.acceptedConditions]
|
|
@@ -14081,7 +14159,7 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14081
14159
|
const request2 = async (delivery2 = channel) => {
|
|
14082
14160
|
if (busy || retryAfter > 0 || !options.eventId || !phone.trim() || delivery2 === "whatsapp" && !options.whatsappAvailable)
|
|
14083
14161
|
return false;
|
|
14084
|
-
const
|
|
14162
|
+
const id2 = ++operation.current, eventId = options.eventId;
|
|
14085
14163
|
setBusy(true);
|
|
14086
14164
|
setError("");
|
|
14087
14165
|
try {
|
|
@@ -14090,19 +14168,19 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14090
14168
|
phone,
|
|
14091
14169
|
channel: delivery2
|
|
14092
14170
|
});
|
|
14093
|
-
if (
|
|
14171
|
+
if (id2 !== operation.current || scope.current !== eventId) return false;
|
|
14094
14172
|
setChannel(delivery2);
|
|
14095
14173
|
setSent(true);
|
|
14096
14174
|
setRetryAfter(result3.cooldownSeconds);
|
|
14097
14175
|
return true;
|
|
14098
14176
|
} catch (caught) {
|
|
14099
|
-
if (
|
|
14177
|
+
if (id2 === operation.current)
|
|
14100
14178
|
setError(
|
|
14101
14179
|
caught instanceof Error ? caught.message : "Unable to send a code. Try again."
|
|
14102
14180
|
);
|
|
14103
14181
|
return false;
|
|
14104
14182
|
} finally {
|
|
14105
|
-
if (
|
|
14183
|
+
if (id2 === operation.current) setBusy(false);
|
|
14106
14184
|
}
|
|
14107
14185
|
};
|
|
14108
14186
|
const complete = (result3) => {
|
|
@@ -14114,7 +14192,7 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14114
14192
|
};
|
|
14115
14193
|
const verify = async (code) => {
|
|
14116
14194
|
if (busy || !sent || !options.eventId) return false;
|
|
14117
|
-
const
|
|
14195
|
+
const id2 = ++operation.current, eventId = options.eventId;
|
|
14118
14196
|
setBusy(true);
|
|
14119
14197
|
setError("");
|
|
14120
14198
|
try {
|
|
@@ -14124,21 +14202,21 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14124
14202
|
code,
|
|
14125
14203
|
channel
|
|
14126
14204
|
});
|
|
14127
|
-
if (
|
|
14205
|
+
if (id2 !== operation.current || scope.current !== eventId) return false;
|
|
14128
14206
|
pending2.current = result3;
|
|
14129
14207
|
if (result3.knownCustomer && getConfig().accountAuth) {
|
|
14130
14208
|
const profile = await ttf.auth.loginWithVerifiedPhone({
|
|
14131
14209
|
eventId,
|
|
14132
14210
|
phoneVerificationToken: result3.phoneVerificationToken
|
|
14133
14211
|
});
|
|
14134
|
-
if (
|
|
14212
|
+
if (id2 !== operation.current || scope.current !== eventId) return false;
|
|
14135
14213
|
queryClient.setQueryData(sessionScopedQueryKey(ttfKeys.profile), profile);
|
|
14136
14214
|
} else if (result3.knownCustomer && !getConfig().clientSecret) {
|
|
14137
14215
|
const admitted = await ttf.auth.loginCheckoutWithVerifiedPhone(
|
|
14138
14216
|
eventId,
|
|
14139
14217
|
result3.phoneVerificationToken
|
|
14140
14218
|
);
|
|
14141
|
-
if (
|
|
14219
|
+
if (id2 !== operation.current || scope.current !== eventId) return false;
|
|
14142
14220
|
if (admitted.twoFactorRequired && admitted.challengeId) {
|
|
14143
14221
|
setChallenge({
|
|
14144
14222
|
eventId,
|
|
@@ -14154,7 +14232,7 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14154
14232
|
complete(result3);
|
|
14155
14233
|
return true;
|
|
14156
14234
|
} catch (caught) {
|
|
14157
|
-
if (
|
|
14235
|
+
if (id2 !== operation.current) return false;
|
|
14158
14236
|
const next = readTwoFactorChallenge(caught);
|
|
14159
14237
|
if (next) setChallenge(next);
|
|
14160
14238
|
else
|
|
@@ -14163,18 +14241,18 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14163
14241
|
);
|
|
14164
14242
|
return false;
|
|
14165
14243
|
} finally {
|
|
14166
|
-
if (
|
|
14244
|
+
if (id2 === operation.current) setBusy(false);
|
|
14167
14245
|
}
|
|
14168
14246
|
};
|
|
14169
14247
|
const verifyTwoFactor2 = async (code) => {
|
|
14170
14248
|
if (busy || !challenge || !pending2.current) return;
|
|
14171
|
-
const
|
|
14249
|
+
const id2 = ++operation.current, result3 = pending2.current;
|
|
14172
14250
|
setBusy(true);
|
|
14173
14251
|
setError("");
|
|
14174
14252
|
try {
|
|
14175
14253
|
if ("eventId" in challenge) {
|
|
14176
14254
|
const admitted = await ttf.auth.verifyCheckoutTwoFactor(challenge, code);
|
|
14177
|
-
if (
|
|
14255
|
+
if (id2 !== operation.current) return;
|
|
14178
14256
|
if (!admitted.authenticated)
|
|
14179
14257
|
throw new Error("Sign-in could not confirm your checkout. Try again.");
|
|
14180
14258
|
complete(result3);
|
|
@@ -14185,37 +14263,37 @@ var useCheckoutPhoneIdentity = (options) => {
|
|
|
14185
14263
|
challenge.csrfToken,
|
|
14186
14264
|
challenge.sessionEpoch
|
|
14187
14265
|
);
|
|
14188
|
-
if (
|
|
14266
|
+
if (id2 !== operation.current) return;
|
|
14189
14267
|
queryClient.setQueryData(sessionScopedQueryKey(ttfKeys.profile), profile);
|
|
14190
14268
|
complete(result3);
|
|
14191
14269
|
} catch (caught) {
|
|
14192
|
-
if (
|
|
14270
|
+
if (id2 === operation.current)
|
|
14193
14271
|
setError(
|
|
14194
14272
|
caught instanceof Error ? caught.message : "Unable to verify this code. Try again."
|
|
14195
14273
|
);
|
|
14196
14274
|
} finally {
|
|
14197
|
-
if (
|
|
14275
|
+
if (id2 === operation.current) setBusy(false);
|
|
14198
14276
|
}
|
|
14199
14277
|
};
|
|
14200
14278
|
const sendTwoFactorSms2 = async () => {
|
|
14201
14279
|
if (busy || retryAfter > 0 || !(challenge == null ? void 0 : challenge.smsAvailable)) return false;
|
|
14202
|
-
const
|
|
14280
|
+
const id2 = ++operation.current;
|
|
14203
14281
|
setBusy(true);
|
|
14204
14282
|
setError("");
|
|
14205
14283
|
try {
|
|
14206
14284
|
if ("eventId" in challenge) await ttf.auth.sendCheckoutTwoFactorSms(challenge);
|
|
14207
14285
|
else await ttf.auth.sendTwoFactorSms(challenge.csrfToken, challenge.sessionEpoch);
|
|
14208
|
-
if (
|
|
14286
|
+
if (id2 !== operation.current) return false;
|
|
14209
14287
|
setRetryAfter(60);
|
|
14210
14288
|
return true;
|
|
14211
14289
|
} catch (caught) {
|
|
14212
|
-
if (
|
|
14290
|
+
if (id2 === operation.current)
|
|
14213
14291
|
setError(
|
|
14214
14292
|
caught instanceof Error ? caught.message : "Unable to send a code. Try again."
|
|
14215
14293
|
);
|
|
14216
14294
|
return false;
|
|
14217
14295
|
} finally {
|
|
14218
|
-
if (
|
|
14296
|
+
if (id2 === operation.current) setBusy(false);
|
|
14219
14297
|
}
|
|
14220
14298
|
};
|
|
14221
14299
|
const cancel = (0, import_react17.useCallback)(async () => {
|
|
@@ -14538,10 +14616,10 @@ var useAccommodationSelection = (eventId, checkout) => {
|
|
|
14538
14616
|
const update = (room, patch2) => {
|
|
14539
14617
|
var _a2;
|
|
14540
14618
|
if (!active2() || checkout.isBusy || checkout.orderFixed) return;
|
|
14541
|
-
const
|
|
14619
|
+
const id2 = String(room.room_type_id);
|
|
14542
14620
|
checkout.setExtraDraft({ accommodation: {
|
|
14543
14621
|
...draft.accommodation,
|
|
14544
|
-
[
|
|
14622
|
+
[id2]: { ...(_a2 = draft.accommodation[id2]) != null ? _a2 : defaultAccommodationStay(room), ...patch2 }
|
|
14545
14623
|
} });
|
|
14546
14624
|
setError("");
|
|
14547
14625
|
};
|
|
@@ -14652,8 +14730,8 @@ var useTicketRefund = (ticketHash, onSubmitted) => {
|
|
|
14652
14730
|
error: draft.error,
|
|
14653
14731
|
commandPending: Boolean(draft.command && !draft.result),
|
|
14654
14732
|
submit,
|
|
14655
|
-
select: (
|
|
14656
|
-
if (!draft.command && !draft.busy) update({ selected:
|
|
14733
|
+
select: (id2) => {
|
|
14734
|
+
if (!draft.command && !draft.busy) update({ selected: id2, confirmed: false });
|
|
14657
14735
|
},
|
|
14658
14736
|
confirm: (confirmed) => {
|
|
14659
14737
|
if (!draft.command && !draft.busy) update({ confirmed });
|
|
@@ -14895,17 +14973,17 @@ var useInterestSelection = () => {
|
|
|
14895
14973
|
categories,
|
|
14896
14974
|
activeCategory,
|
|
14897
14975
|
draftError: state.error,
|
|
14898
|
-
toggleCategory: (
|
|
14899
|
-
if (categories.some((category) => category.id ===
|
|
14976
|
+
toggleCategory: (id2) => {
|
|
14977
|
+
if (categories.some((category) => category.id === id2))
|
|
14900
14978
|
update({
|
|
14901
|
-
selection: toggleInterestCategory(selection,
|
|
14979
|
+
selection: toggleInterestCategory(selection, id2),
|
|
14902
14980
|
error: void 0
|
|
14903
14981
|
});
|
|
14904
14982
|
},
|
|
14905
|
-
toggleSubcategory: (
|
|
14906
|
-
if (activeCategory == null ? void 0 : activeCategory.subcategories.some((child) => child.id ===
|
|
14983
|
+
toggleSubcategory: (id2) => {
|
|
14984
|
+
if (activeCategory == null ? void 0 : activeCategory.subcategories.some((child) => child.id === id2))
|
|
14907
14985
|
update({
|
|
14908
|
-
selection: toggleInterestSubcategory(selection, activeCategory.id,
|
|
14986
|
+
selection: toggleInterestSubcategory(selection, activeCategory.id, id2),
|
|
14909
14987
|
error: void 0
|
|
14910
14988
|
});
|
|
14911
14989
|
},
|
|
@@ -14917,8 +14995,8 @@ var useInterestSelection = () => {
|
|
|
14917
14995
|
var useWordPostReaction = (postId, enabled = true) => {
|
|
14918
14996
|
var _a, _b;
|
|
14919
14997
|
const session = useAuthSession();
|
|
14920
|
-
const
|
|
14921
|
-
const owner = `${session.sessionScope}:${
|
|
14998
|
+
const id2 = String(postId);
|
|
14999
|
+
const owner = `${session.sessionScope}:${id2}`;
|
|
14922
15000
|
const current4 = (0, import_react23.useRef)(owner);
|
|
14923
15001
|
current4.current = owner;
|
|
14924
15002
|
const pending2 = (0, import_react23.useRef)(null);
|
|
@@ -14930,12 +15008,12 @@ var useWordPostReaction = (postId, enabled = true) => {
|
|
|
14930
15008
|
const configuration2 = getConfig();
|
|
14931
15009
|
const epoch = getSessionEpoch();
|
|
14932
15010
|
const signedIn = session.isAuthenticated && session.buyerId !== null;
|
|
14933
|
-
const key4 = ["ttf", "word-post-reaction",
|
|
15011
|
+
const key4 = ["ttf", "word-post-reaction", id2];
|
|
14934
15012
|
const client = (0, import_react_query13.useQueryClient)();
|
|
14935
15013
|
const query = useSessionQuery({
|
|
14936
15014
|
queryKey: key4,
|
|
14937
|
-
queryFn: () => getWordPostReaction(
|
|
14938
|
-
enabled: enabled && signedIn && /^[1-9][0-9]*$/.test(
|
|
15015
|
+
queryFn: () => getWordPostReaction(id2),
|
|
15016
|
+
enabled: enabled && signedIn && /^[1-9][0-9]*$/.test(id2),
|
|
14939
15017
|
retry: false
|
|
14940
15018
|
});
|
|
14941
15019
|
const owned = () => current4.current === owner && session.sessionScope === getSessionCacheScope() && epoch === getSessionEpoch() && configuration2 === getConfig();
|
|
@@ -14945,7 +15023,7 @@ var useWordPostReaction = (postId, enabled = true) => {
|
|
|
14945
15023
|
pending2.current = owner;
|
|
14946
15024
|
setStored({ owner, busy: true });
|
|
14947
15025
|
try {
|
|
14948
|
-
const result2 = await setWordPostReaction(
|
|
15026
|
+
const result2 = await setWordPostReaction(id2, reaction, query.data.revision);
|
|
14949
15027
|
if (!owned()) return;
|
|
14950
15028
|
client.setQueryData(sessionScopedQueryKey(key4, session.sessionScope), result2);
|
|
14951
15029
|
setStored({ owner, busy: false });
|
|
@@ -15154,17 +15232,17 @@ var useFriends = (section = "accepted") => {
|
|
|
15154
15232
|
if (!settings) return;
|
|
15155
15233
|
const result2 = await actions.perform(
|
|
15156
15234
|
["settings", settings],
|
|
15157
|
-
(
|
|
15235
|
+
(id2) => saveFriendSettings(settings, id2)
|
|
15158
15236
|
);
|
|
15159
15237
|
if (result2) update({ settings: result2 });
|
|
15160
15238
|
return result2;
|
|
15161
15239
|
}
|
|
15162
15240
|
};
|
|
15163
15241
|
};
|
|
15164
|
-
var useFriendProfile = (
|
|
15165
|
-
queryKey: [...key3, "profile",
|
|
15166
|
-
queryFn: () => getFriendProfile(
|
|
15167
|
-
enabled: Boolean(
|
|
15242
|
+
var useFriendProfile = (id2, section = "attending", cursor) => useSessionQuery({
|
|
15243
|
+
queryKey: [...key3, "profile", id2, section, cursor],
|
|
15244
|
+
queryFn: () => getFriendProfile(id2, section, cursor),
|
|
15245
|
+
enabled: Boolean(id2),
|
|
15168
15246
|
retry: false
|
|
15169
15247
|
});
|
|
15170
15248
|
var useSavedEvents = (cursor, enabled = true) => {
|
|
@@ -15181,7 +15259,7 @@ var useSavedEvents = (cursor, enabled = true) => {
|
|
|
15181
15259
|
error: actions.error,
|
|
15182
15260
|
save: (eventId, saved, revision) => actions.perform(
|
|
15183
15261
|
["saved", eventId, saved, revision],
|
|
15184
|
-
(
|
|
15262
|
+
(id2) => setSavedEvent(eventId, saved, revision, id2)
|
|
15185
15263
|
)
|
|
15186
15264
|
};
|
|
15187
15265
|
};
|
|
@@ -15199,7 +15277,7 @@ var useSavedEvent = (eventId, enabled = true) => {
|
|
|
15199
15277
|
error: actions.error,
|
|
15200
15278
|
toggle: () => query.data ? actions.perform(
|
|
15201
15279
|
["saved", eventId, !query.data.saved, query.data.revision],
|
|
15202
|
-
(
|
|
15280
|
+
(id2) => setSavedEvent(eventId, !query.data.saved, query.data.revision, id2)
|
|
15203
15281
|
) : Promise.resolve(void 0)
|
|
15204
15282
|
};
|
|
15205
15283
|
};
|
|
@@ -15687,11 +15765,11 @@ var useTicketGift = (ticketHash, onTicketsChanged) => {
|
|
|
15687
15765
|
if (!state.busy && !state.submitted)
|
|
15688
15766
|
update({ command: void 0, error: void 0 });
|
|
15689
15767
|
},
|
|
15690
|
-
toggleAddOn: (
|
|
15768
|
+
toggleAddOn: (id2) => {
|
|
15691
15769
|
var _a;
|
|
15692
|
-
if (((_a = query.data) == null ? void 0 : _a.select_add_ons) && query.data.add_ons.some((item) => item.id ===
|
|
15770
|
+
if (((_a = query.data) == null ? void 0 : _a.select_add_ons) && query.data.add_ons.some((item) => item.id === id2))
|
|
15693
15771
|
edit({
|
|
15694
|
-
add_on_ids: state.draft.add_on_ids.includes(
|
|
15772
|
+
add_on_ids: state.draft.add_on_ids.includes(id2) ? state.draft.add_on_ids.filter((item) => item !== id2) : [...state.draft.add_on_ids, id2]
|
|
15695
15773
|
});
|
|
15696
15774
|
}
|
|
15697
15775
|
};
|
|
@@ -16174,6 +16252,20 @@ var useAccountDeletion = () => {
|
|
|
16174
16252
|
}
|
|
16175
16253
|
};
|
|
16176
16254
|
};
|
|
16255
|
+
var useFeaturedEvents = (query = {}, options) => {
|
|
16256
|
+
const { latitude, longitude, country } = query;
|
|
16257
|
+
return useSessionQuery({
|
|
16258
|
+
...options,
|
|
16259
|
+
queryKey: [
|
|
16260
|
+
"ttf",
|
|
16261
|
+
"featured-events",
|
|
16262
|
+
latitude != null ? latitude : null,
|
|
16263
|
+
longitude != null ? longitude : null,
|
|
16264
|
+
country != null ? country : ""
|
|
16265
|
+
],
|
|
16266
|
+
queryFn: () => ttf.events.featured({ latitude, longitude, country })
|
|
16267
|
+
});
|
|
16268
|
+
};
|
|
16177
16269
|
var accountEn = {
|
|
16178
16270
|
"account.loading_your_interests": "Loading your interests\u2026",
|
|
16179
16271
|
"account.your_interests_could_not_load": "Your interests could not load.",
|
|
@@ -16968,6 +17060,180 @@ Object.assign(accountEs, {
|
|
|
16968
17060
|
"account.we_re_finishing_a_change_to_your_account_wait_a_moment_then_reload_the_page": "Estamos terminando un cambio en tu cuenta. Espera un momento y vuelve a cargar la p\xE1gina.",
|
|
16969
17061
|
"account.we_could_not_finish_deleting_your_account_sign_in_and_try_again_or_contact_ticket_fairy_support": "No pudimos terminar de eliminar tu cuenta. Inicia sesi\xF3n e int\xE9ntalo de nuevo, o contacta con el soporte de Ticket Fairy."
|
|
16970
17062
|
});
|
|
17063
|
+
Object.assign(accountEn, {
|
|
17064
|
+
"account.you": " (you)",
|
|
17065
|
+
"account.edited": " \xB7 edited",
|
|
17066
|
+
"account.count_reports": " \xB7 {{count}} reports",
|
|
17067
|
+
"account.abuse_or_harassment": "Abuse or harassment",
|
|
17068
|
+
"account.actions_for_comment_by_name": "Actions for comment by {{name}}",
|
|
17069
|
+
"account.approve": "Approve",
|
|
17070
|
+
"account.approve_comment": "Approve comment",
|
|
17071
|
+
"account.awaiting_review": "Awaiting review",
|
|
17072
|
+
"account.be_the_first_to_leave_a_comment": "Be the first to leave a comment.",
|
|
17073
|
+
"account.block_author": "Block author",
|
|
17074
|
+
"account.block_this_person": "Block this person",
|
|
17075
|
+
"account.blocked_authors_count": "Blocked authors ({{count}})",
|
|
17076
|
+
"account.blocked_people": "Blocked people",
|
|
17077
|
+
"account.cancel": "Cancel",
|
|
17078
|
+
"account.close_menu": "Close menu",
|
|
17079
|
+
"account.comment_deleted": "Comment deleted.",
|
|
17080
|
+
"account.comment_moderation": "Comment moderation",
|
|
17081
|
+
"account.comment_no_longer_available": "Comment no longer available.",
|
|
17082
|
+
"account.comment_removed": "Comment removed",
|
|
17083
|
+
"account.comments_and_photos_are_reviewed_before_publication_keep_the_conversation_respectful": "Comments and photos are reviewed before publication. Keep the conversation respectful.",
|
|
17084
|
+
"account.contact_support_about_this_discussion": "Contact support about this discussion",
|
|
17085
|
+
"account.delete": "Delete",
|
|
17086
|
+
"account.delete_comment": "Delete comment",
|
|
17087
|
+
"account.delete_your_comment": "Delete your comment?",
|
|
17088
|
+
"account.delete_your_comment_and_its_image_this_cannot_be_undone": "Delete your comment and its image? This cannot be undone.",
|
|
17089
|
+
"account.discussion": "Discussion",
|
|
17090
|
+
"account.dislike_comment": "Dislike comment",
|
|
17091
|
+
"account.dislike_comment_count_dislikes": "Dislike comment, {{count}} dislikes",
|
|
17092
|
+
"account.earlier_comments": "Earlier comments",
|
|
17093
|
+
"account.edit": "Edit",
|
|
17094
|
+
"account.edit_your_comment": "Edit your comment",
|
|
17095
|
+
"account.editing_your_comment": "Editing your comment",
|
|
17096
|
+
"account.enter_your_comment": "Enter your comment\u2026",
|
|
17097
|
+
"account.event_comments": "Event comments",
|
|
17098
|
+
"account.harassment_or_abuse": "Harassment or abuse",
|
|
17099
|
+
"account.hidden": "Hidden",
|
|
17100
|
+
"account.hidden_by_a_moderator": "Hidden by a moderator",
|
|
17101
|
+
"account.hide": "Hide",
|
|
17102
|
+
"account.hide_comment": "Hide comment",
|
|
17103
|
+
"account.like_comment": "Like comment",
|
|
17104
|
+
"account.like_comment_count_likes": "Like comment, {{count}} likes",
|
|
17105
|
+
"account.load_earlier_comments": "Load earlier comments",
|
|
17106
|
+
"account.loading_comments": "Loading comments\u2026",
|
|
17107
|
+
"account.moderate_comment": "Moderate comment",
|
|
17108
|
+
"account.moderation_reason": "Moderation reason",
|
|
17109
|
+
"account.need_help_contact_support": "Need help? Contact support",
|
|
17110
|
+
"account.no_comments_awaiting_review": "No comments awaiting review.",
|
|
17111
|
+
"account.no_unresolved_reports": "No unresolved reports.",
|
|
17112
|
+
"account.pending": "Pending",
|
|
17113
|
+
"account.post_comment": "Post comment",
|
|
17114
|
+
"account.reason": "Reason",
|
|
17115
|
+
"account.report": "Report",
|
|
17116
|
+
"account.report_comment": "Report comment",
|
|
17117
|
+
"account.report_reason": "Report reason",
|
|
17118
|
+
"account.report_this_comment_to_event_moderators": "Report this comment to event moderators.",
|
|
17119
|
+
"account.reported": "Reported",
|
|
17120
|
+
"account.reports": "Reports",
|
|
17121
|
+
"account.save": "Save",
|
|
17122
|
+
"account.save_comment": "Save comment",
|
|
17123
|
+
"account.save_for_review": "Save for review",
|
|
17124
|
+
"account.send": "Send",
|
|
17125
|
+
"account.send_report": "Send report",
|
|
17126
|
+
"account.sign_in_to_comment": "Sign in to comment",
|
|
17127
|
+
"account.sign_in_to_leave_a_comment": "Sign in to leave a comment",
|
|
17128
|
+
"account.spam": "Spam",
|
|
17129
|
+
"account.start_the_conversation_comments_appear_after_review": "Start the conversation. Comments appear after review.",
|
|
17130
|
+
"account.unblock_name": "Unblock {{name}}",
|
|
17131
|
+
"account.unsafe_content": "Unsafe content",
|
|
17132
|
+
"account.why_should_this_comment_be_approved": "Why should this comment be approved?",
|
|
17133
|
+
"account.why_should_this_comment_be_hidden": "Why should this comment be hidden?",
|
|
17134
|
+
"account.you_won_t_see_their_comments_you_can_unblock_them_from_blocked_people": "You won\u2019t see their comments. You can unblock them from Blocked people.",
|
|
17135
|
+
"account.your_comment": "Your comment",
|
|
17136
|
+
"account.your_comment_will_be_removed_from_this_conversation": "Your comment will be removed from this conversation.",
|
|
17137
|
+
"account.count_replies_reply": "{{count}} replies \xB7 Reply",
|
|
17138
|
+
"account.count_reply_reply": "{{count}} reply \xB7 Reply",
|
|
17139
|
+
"account.only_an_event_administrator_can_moderate_comments": "Only an event administrator can moderate comments.",
|
|
17140
|
+
"account.choose_approve_or_hide_and_provide_a_moderation_reason": "Choose approve or hide and provide a moderation reason.",
|
|
17141
|
+
"account.deleted_comments_cannot_be_restored": "Deleted comments cannot be restored.",
|
|
17142
|
+
"account.you_cannot_view_that_moderation_queue": "You cannot view that moderation queue.",
|
|
17143
|
+
"account.this_comment_changed_refresh_before_trying_again": "This comment changed. Refresh before trying again.",
|
|
17144
|
+
"account.comment_not_found": "Comment not found.",
|
|
17145
|
+
"account.unable_to_update_comments_please_try_again": "Unable to update comments. Please try again.",
|
|
17146
|
+
"account.unable_to_update_comments": "Unable to update comments.",
|
|
17147
|
+
"account.comment_approved": "Comment approved.",
|
|
17148
|
+
"account.comment_hidden": "Comment hidden."
|
|
17149
|
+
});
|
|
17150
|
+
Object.assign(accountEs, {
|
|
17151
|
+
"account.you": " (t\xFA)",
|
|
17152
|
+
"account.edited": " \xB7 editado",
|
|
17153
|
+
"account.count_reports": " \xB7 {{count}} reportes",
|
|
17154
|
+
"account.abuse_or_harassment": "Abuso o acoso",
|
|
17155
|
+
"account.actions_for_comment_by_name": "Acciones del comentario de {{name}}",
|
|
17156
|
+
"account.approve": "Aprobar",
|
|
17157
|
+
"account.approve_comment": "Aprobar comentario",
|
|
17158
|
+
"account.awaiting_review": "Pendiente de revisi\xF3n",
|
|
17159
|
+
"account.be_the_first_to_leave_a_comment": "S\xE9 la primera persona en dejar un comentario.",
|
|
17160
|
+
"account.block_author": "Bloquear autor",
|
|
17161
|
+
"account.block_this_person": "Bloquear a esta persona",
|
|
17162
|
+
"account.blocked_authors_count": "Autores bloqueados ({{count}})",
|
|
17163
|
+
"account.blocked_people": "Personas bloqueadas",
|
|
17164
|
+
"account.cancel": "Cancelar",
|
|
17165
|
+
"account.close_menu": "Cerrar men\xFA",
|
|
17166
|
+
"account.comment_deleted": "Comentario eliminado.",
|
|
17167
|
+
"account.comment_moderation": "Moderaci\xF3n de comentarios",
|
|
17168
|
+
"account.comment_no_longer_available": "El comentario ya no est\xE1 disponible.",
|
|
17169
|
+
"account.comment_removed": "Comentario eliminado",
|
|
17170
|
+
"account.comments_and_photos_are_reviewed_before_publication_keep_the_conversation_respectful": "Los comentarios y las fotos se revisan antes de publicarse. Mant\xE9n una conversaci\xF3n respetuosa.",
|
|
17171
|
+
"account.contact_support_about_this_discussion": "Contactar a soporte sobre esta conversaci\xF3n",
|
|
17172
|
+
"account.delete": "Eliminar",
|
|
17173
|
+
"account.delete_comment": "Eliminar comentario",
|
|
17174
|
+
"account.delete_your_comment": "\xBFEliminar tu comentario?",
|
|
17175
|
+
"account.delete_your_comment_and_its_image_this_cannot_be_undone": "\xBFEliminar tu comentario y su imagen? Esta acci\xF3n no se puede deshacer.",
|
|
17176
|
+
"account.discussion": "Conversaci\xF3n",
|
|
17177
|
+
"account.dislike_comment": "No me gusta el comentario",
|
|
17178
|
+
"account.dislike_comment_count_dislikes": "No me gusta el comentario, {{count}} no me gusta",
|
|
17179
|
+
"account.earlier_comments": "Comentarios anteriores",
|
|
17180
|
+
"account.edit": "Editar",
|
|
17181
|
+
"account.edit_your_comment": "Edita tu comentario",
|
|
17182
|
+
"account.editing_your_comment": "Editando tu comentario",
|
|
17183
|
+
"account.enter_your_comment": "Introduce tu comentario\u2026",
|
|
17184
|
+
"account.event_comments": "Comentarios del evento",
|
|
17185
|
+
"account.harassment_or_abuse": "Acoso o abuso",
|
|
17186
|
+
"account.hidden": "Oculto",
|
|
17187
|
+
"account.hidden_by_a_moderator": "Oculto por un moderador",
|
|
17188
|
+
"account.hide": "Ocultar",
|
|
17189
|
+
"account.hide_comment": "Ocultar comentario",
|
|
17190
|
+
"account.like_comment": "Me gusta el comentario",
|
|
17191
|
+
"account.like_comment_count_likes": "Me gusta el comentario, {{count}} me gusta",
|
|
17192
|
+
"account.load_earlier_comments": "Cargar comentarios anteriores",
|
|
17193
|
+
"account.loading_comments": "Cargando comentarios\u2026",
|
|
17194
|
+
"account.moderate_comment": "Moderar comentario",
|
|
17195
|
+
"account.moderation_reason": "Motivo de moderaci\xF3n",
|
|
17196
|
+
"account.need_help_contact_support": "\xBFNecesitas ayuda? Contacta a soporte",
|
|
17197
|
+
"account.no_comments_awaiting_review": "No hay comentarios pendientes de revisi\xF3n.",
|
|
17198
|
+
"account.no_unresolved_reports": "No hay reportes sin resolver.",
|
|
17199
|
+
"account.pending": "Pendientes",
|
|
17200
|
+
"account.post_comment": "Publicar comentario",
|
|
17201
|
+
"account.reason": "Motivo",
|
|
17202
|
+
"account.report": "Reportar",
|
|
17203
|
+
"account.report_comment": "Reportar comentario",
|
|
17204
|
+
"account.report_reason": "Motivo del reporte",
|
|
17205
|
+
"account.report_this_comment_to_event_moderators": "Reporta este comentario a los moderadores del evento.",
|
|
17206
|
+
"account.reported": "Reportados",
|
|
17207
|
+
"account.reports": "Reportes",
|
|
17208
|
+
"account.save": "Guardar",
|
|
17209
|
+
"account.save_comment": "Guardar comentario",
|
|
17210
|
+
"account.save_for_review": "Guardar para revisi\xF3n",
|
|
17211
|
+
"account.send": "Enviar",
|
|
17212
|
+
"account.send_report": "Enviar reporte",
|
|
17213
|
+
"account.sign_in_to_comment": "Inicia sesi\xF3n para comentar",
|
|
17214
|
+
"account.sign_in_to_leave_a_comment": "Inicia sesi\xF3n para dejar un comentario",
|
|
17215
|
+
"account.spam": "Spam",
|
|
17216
|
+
"account.start_the_conversation_comments_appear_after_review": "Inicia la conversaci\xF3n. Los comentarios aparecen despu\xE9s de revisarse.",
|
|
17217
|
+
"account.unblock_name": "Desbloquear a {{name}}",
|
|
17218
|
+
"account.unsafe_content": "Contenido peligroso",
|
|
17219
|
+
"account.why_should_this_comment_be_approved": "\xBFPor qu\xE9 debe aprobarse este comentario?",
|
|
17220
|
+
"account.why_should_this_comment_be_hidden": "\xBFPor qu\xE9 debe ocultarse este comentario?",
|
|
17221
|
+
"account.you_won_t_see_their_comments_you_can_unblock_them_from_blocked_people": "No ver\xE1s sus comentarios. Puedes desbloquear a esta persona desde Personas bloqueadas.",
|
|
17222
|
+
"account.your_comment": "Tu comentario",
|
|
17223
|
+
"account.your_comment_will_be_removed_from_this_conversation": "Tu comentario se eliminar\xE1 de esta conversaci\xF3n.",
|
|
17224
|
+
"account.count_replies_reply": "{{count}} respuestas \xB7 Responder",
|
|
17225
|
+
"account.count_reply_reply": "{{count}} respuesta \xB7 Responder",
|
|
17226
|
+
"account.only_an_event_administrator_can_moderate_comments": "Solo un administrador del evento puede moderar comentarios.",
|
|
17227
|
+
"account.choose_approve_or_hide_and_provide_a_moderation_reason": "Elige aprobar u ocultar e indica un motivo de moderaci\xF3n.",
|
|
17228
|
+
"account.deleted_comments_cannot_be_restored": "Los comentarios eliminados no se pueden restaurar.",
|
|
17229
|
+
"account.you_cannot_view_that_moderation_queue": "No puedes ver esa lista de moderaci\xF3n.",
|
|
17230
|
+
"account.this_comment_changed_refresh_before_trying_again": "Este comentario cambi\xF3. Actualiza antes de volver a intentarlo.",
|
|
17231
|
+
"account.comment_not_found": "No se encontr\xF3 el comentario.",
|
|
17232
|
+
"account.unable_to_update_comments_please_try_again": "No se pudieron actualizar los comentarios. Int\xE9ntalo de nuevo.",
|
|
17233
|
+
"account.unable_to_update_comments": "No se pudieron actualizar los comentarios.",
|
|
17234
|
+
"account.comment_approved": "Comentario aprobado.",
|
|
17235
|
+
"account.comment_hidden": "Comentario oculto."
|
|
17236
|
+
});
|
|
16971
17237
|
var en = {
|
|
16972
17238
|
"auth.completionAgree": "I agree to the Terms of Service and Privacy Policy.",
|
|
16973
17239
|
"auth.completionTerms": "Read Terms of Service",
|
|
@@ -18861,8 +19127,8 @@ var useCheckout2 = (opts = {}) => useCheckout({
|
|
|
18861
19127
|
|
|
18862
19128
|
// src/storage.ts
|
|
18863
19129
|
var import_react_native_mmkv = require("react-native-mmkv");
|
|
18864
|
-
var createMmkvStorage = (
|
|
18865
|
-
const mmkv = new import_react_native_mmkv.MMKV({ id });
|
|
19130
|
+
var createMmkvStorage = (id2 = "tf-checkout") => {
|
|
19131
|
+
const mmkv = new import_react_native_mmkv.MMKV({ id: id2 });
|
|
18866
19132
|
return {
|
|
18867
19133
|
getItem: (key4) => {
|
|
18868
19134
|
var _a;
|
|
@@ -19431,9 +19697,9 @@ var PaymentMethods = ({
|
|
|
19431
19697
|
Input,
|
|
19432
19698
|
{
|
|
19433
19699
|
value: extraValue != null ? extraValue : "",
|
|
19434
|
-
onChangeText: (
|
|
19700
|
+
onChangeText: (text4) => !frozen && (onExtraChange == null ? void 0 : onExtraChange(
|
|
19435
19701
|
option.value,
|
|
19436
|
-
option.extra === "phoneNumber" ? { phoneNumber:
|
|
19702
|
+
option.extra === "phoneNumber" ? { phoneNumber: text4 } : { cashtag: text4 }
|
|
19437
19703
|
)),
|
|
19438
19704
|
placeholder: option.extra === "phoneNumber" ? "e.g. 081234567890" : "$cashtag",
|
|
19439
19705
|
keyboardType: option.extra === "phoneNumber" ? "phone-pad" : "default",
|
|
@@ -21996,7 +22262,7 @@ var Accommodation = ({ eventId }) => {
|
|
|
21996
22262
|
const checkout = useCheckoutContext();
|
|
21997
22263
|
const flow = hooks_exports.useAccommodationSelection(eventId, checkout);
|
|
21998
22264
|
const theme = useTheme();
|
|
21999
|
-
const
|
|
22265
|
+
const text4 = { color: theme.text, fontFamily: theme.fontFamily };
|
|
22000
22266
|
if (flow.query.isLoading) return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Loader, {});
|
|
22001
22267
|
if (!flow.rooms.length && !flow.error) return null;
|
|
22002
22268
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Card, { children: [
|
|
@@ -22005,11 +22271,11 @@ var Accommodation = ({ eventId }) => {
|
|
|
22005
22271
|
flow.query.isError && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { variant: "ghost", onPress: () => void flow.query.refetch(), children: "Try again" }),
|
|
22006
22272
|
flow.rooms.map((room) => {
|
|
22007
22273
|
var _a, _b, _c;
|
|
22008
|
-
const
|
|
22274
|
+
const id2 = String(room.room_type_id);
|
|
22009
22275
|
const stay = flow.stay(room);
|
|
22010
|
-
const quote = flow.quotes[
|
|
22276
|
+
const quote = flow.quotes[id2];
|
|
22011
22277
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_native24.View, { style: styles7.room, children: [
|
|
22012
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_native24.Text, { style: [
|
|
22278
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_native24.Text, { style: [text4, styles7.title], children: [
|
|
22013
22279
|
room.property_name,
|
|
22014
22280
|
" \xB7 ",
|
|
22015
22281
|
room.name
|
|
@@ -22025,7 +22291,7 @@ var Accommodation = ({ eventId }) => {
|
|
|
22025
22291
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Field, { label: "Guest names (optional, one per line)", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Input, { multiline: true, accessibilityLabel: `Guest names for ${room.name}`, value: ((_a = stay.occupants) != null ? _a : []).map((person) => person.name).join("\n"), editable: !flow.busy, onChangeText: (value6) => flow.update(room, { occupants: value6.split("\n").map((name) => ({ name })) }) }) }),
|
|
22026
22292
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MutedText, { children: room.cancellation_policy ? `Free cancellation ${room.cancellation_policy.free_cancel_days} or more days before check-in. ${room.cancellation_policy.partial_refund_pct}% refund ${room.cancellation_policy.partial_refund_days} or more days before check-in; no refund after that.` : "Fully refundable under the property cancellation policy." }),
|
|
22027
22293
|
!!quote && !flow.dirty && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
22028
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_native24.Text, { style:
|
|
22294
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_native24.Text, { style: text4, children: (_b = quote.total_formatted) != null ? _b : quote.total_price_formatted }),
|
|
22029
22295
|
(_c = quote.charges) == null ? void 0 : _c.map((charge, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(MutedText, { children: [
|
|
22030
22296
|
charge.name,
|
|
22031
22297
|
": ",
|
|
@@ -22034,8 +22300,8 @@ var Accommodation = ({ eventId }) => {
|
|
|
22034
22300
|
] }, index))
|
|
22035
22301
|
] })
|
|
22036
22302
|
] }),
|
|
22037
|
-
!!flow.rejections[
|
|
22038
|
-
] },
|
|
22303
|
+
!!flow.rejections[id2] && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ErrorText, { children: flow.rejections[id2].message })
|
|
22304
|
+
] }, id2);
|
|
22039
22305
|
}),
|
|
22040
22306
|
flow.rooms.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { loading: checkout.isBusy, disabled: flow.busy, onPress: () => void flow.save(), children: flow.dirty ? "Save accommodation" : "Refresh accommodation" }),
|
|
22041
22307
|
flow.dirty && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { variant: "ghost", disabled: flow.busy, onPress: flow.cancel, children: "Discard changes" })
|
|
@@ -22244,14 +22510,14 @@ var Payment = ({
|
|
|
22244
22510
|
);
|
|
22245
22511
|
}
|
|
22246
22512
|
let req = { method: "auto" };
|
|
22247
|
-
const
|
|
22248
|
-
if (isFree || !
|
|
22249
|
-
else if (
|
|
22250
|
-
req = { method: "xenditEWallet", walletKey:
|
|
22251
|
-
else if (
|
|
22252
|
-
req = { method: "redirect", methodType:
|
|
22253
|
-
else if (
|
|
22254
|
-
else req = { method:
|
|
22513
|
+
const id2 = selectedOption == null ? void 0 : selectedOption.id;
|
|
22514
|
+
if (isFree || !id2) req = { method: "auto" };
|
|
22515
|
+
else if (id2.kind === "xenditEWallet")
|
|
22516
|
+
req = { method: "xenditEWallet", walletKey: id2.walletKey, extra: extras[selected] };
|
|
22517
|
+
else if (id2.kind === "redirect")
|
|
22518
|
+
req = { method: "redirect", methodType: id2.methodType };
|
|
22519
|
+
else if (id2.kind === "paymentPlan") req = { method: "paymentPlan", useSavedCard: reuseSavedCard };
|
|
22520
|
+
else req = { method: id2.kind };
|
|
22255
22521
|
checkout.placeOrder(
|
|
22256
22522
|
req,
|
|
22257
22523
|
usesOwnCardField ? {
|
|
@@ -23188,12 +23454,12 @@ var RewardsView = ({
|
|
|
23188
23454
|
const share = () => {
|
|
23189
23455
|
var _a2;
|
|
23190
23456
|
flow.assertCurrent();
|
|
23191
|
-
const
|
|
23457
|
+
const text4 = buildShareText(plan.primary, {
|
|
23192
23458
|
shareLink: rewards.share_link,
|
|
23193
23459
|
shareMessage: rewards.share_message
|
|
23194
23460
|
});
|
|
23195
23461
|
import_react_native32.Share.share({
|
|
23196
|
-
message:
|
|
23462
|
+
message: text4,
|
|
23197
23463
|
url: (_a2 = card.imageUrl) != null ? _a2 : rewards.share_link
|
|
23198
23464
|
}).catch(() => void 0);
|
|
23199
23465
|
};
|
|
@@ -24096,7 +24362,7 @@ var EventDiscussionBody = ({
|
|
|
24096
24362
|
const [imageOpen, setImageOpen] = (0, import_react65.useState)(false);
|
|
24097
24363
|
const [pickerBusy, setPickerBusy] = (0, import_react65.useState)(false);
|
|
24098
24364
|
const picking = (0, import_react65.useRef)(false);
|
|
24099
|
-
const
|
|
24365
|
+
const text4 = { color: theme.text, fontFamily: theme.fontFamily };
|
|
24100
24366
|
const muted = { color: theme.muted, fontFamily: theme.fontFamily };
|
|
24101
24367
|
const closeActions = (work) => {
|
|
24102
24368
|
if (actions) work(actions);
|
|
@@ -24134,7 +24400,7 @@ var EventDiscussionBody = ({
|
|
|
24134
24400
|
renderIcon: renderReplyIcon,
|
|
24135
24401
|
hint: t("Swipe left to reply"),
|
|
24136
24402
|
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: [s3.row, own && s3.ownRow], children: [
|
|
24137
|
-
!own && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.View, { style: [s3.avatar, { backgroundColor: theme.surfaceMuted }], children: comment.author.avatarUrl ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Image, { source: { uri: comment.author.avatarUrl }, style: s3.avatar }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24403
|
+
!own && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.View, { style: [s3.avatar, { backgroundColor: theme.surfaceMuted }], children: comment.author.avatarUrl ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Image, { source: { uri: comment.author.avatarUrl }, style: s3.avatar }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: comment.author.name.slice(0, 1).toUpperCase() }) }),
|
|
24138
24404
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
24139
24405
|
import_react_native37.View,
|
|
24140
24406
|
{
|
|
@@ -24150,13 +24416,15 @@ var EventDiscussionBody = ({
|
|
|
24150
24416
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: s3.authorRow, children: [
|
|
24151
24417
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.Text, { style: [muted, s3.author], children: [
|
|
24152
24418
|
comment.author.name,
|
|
24153
|
-
own ? " (you)" : ""
|
|
24419
|
+
own ? t(" (you)") : ""
|
|
24154
24420
|
] }),
|
|
24155
24421
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24156
24422
|
import_react_native37.Pressable,
|
|
24157
24423
|
{
|
|
24158
24424
|
accessibilityRole: "button",
|
|
24159
|
-
accessibilityLabel:
|
|
24425
|
+
accessibilityLabel: t("Actions for comment by {{name}}", {
|
|
24426
|
+
name: comment.author.name
|
|
24427
|
+
}),
|
|
24160
24428
|
hitSlop: 10,
|
|
24161
24429
|
onPress: () => setActions(comment),
|
|
24162
24430
|
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: "\u2022\u2022\u2022" })
|
|
@@ -24187,19 +24455,19 @@ var EventDiscussionBody = ({
|
|
|
24187
24455
|
},
|
|
24188
24456
|
`${comment.id}:${comment.revision}`
|
|
24189
24457
|
),
|
|
24190
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { selectable: true, style: [
|
|
24191
|
-
comment.status === "pending" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { accessibilityLiveRegion: "polite", style: [muted, s3.pending], children: "Awaiting review" }),
|
|
24192
|
-
comment.status === "hidden" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.pending], children: "Hidden" }),
|
|
24458
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { selectable: true, style: [text4, s3.body], children: comment.status === "deleted" ? t("Comment removed") : comment.body }),
|
|
24459
|
+
comment.status === "pending" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { accessibilityLiveRegion: "polite", style: [muted, s3.pending], children: t("Awaiting review") }),
|
|
24460
|
+
comment.status === "hidden" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.pending], children: t("Hidden") }),
|
|
24193
24461
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: s3.meta, children: [
|
|
24194
24462
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.Text, { style: [muted, s3.date], children: [
|
|
24195
24463
|
new Date(comment.createdAt).toLocaleString(),
|
|
24196
|
-
comment.editedAt ? " \xB7
|
|
24464
|
+
comment.editedAt ? t(" \xB7 edited") : ""
|
|
24197
24465
|
] }),
|
|
24198
24466
|
["up", "down"].map((reaction) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24199
24467
|
import_react_native37.Pressable,
|
|
24200
24468
|
{
|
|
24201
24469
|
accessibilityRole: "button",
|
|
24202
|
-
accessibilityLabel: reaction === "up" ? "Like comment" : "Dislike comment",
|
|
24470
|
+
accessibilityLabel: reaction === "up" ? t("Like comment") : t("Dislike comment"),
|
|
24203
24471
|
accessibilityState: {
|
|
24204
24472
|
selected: comment.reactions.mine === reaction,
|
|
24205
24473
|
disabled: d.isSubmitting
|
|
@@ -24236,12 +24504,10 @@ var EventDiscussionBody = ({
|
|
|
24236
24504
|
accessibilityRole: "button",
|
|
24237
24505
|
disabled: !d.canReplyTo(comment),
|
|
24238
24506
|
onPress: () => d.replyTo(comment),
|
|
24239
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime39.
|
|
24240
|
-
comment.replyCount,
|
|
24241
|
-
|
|
24242
|
-
|
|
24243
|
-
" \xB7 Reply"
|
|
24244
|
-
] })
|
|
24507
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.pending], children: t(
|
|
24508
|
+
comment.replyCount === 1 ? "{{count}} reply \xB7 Reply" : "{{count}} replies \xB7 Reply",
|
|
24509
|
+
{ count: comment.replyCount }
|
|
24510
|
+
) })
|
|
24245
24511
|
}
|
|
24246
24512
|
)
|
|
24247
24513
|
]
|
|
@@ -24251,12 +24517,12 @@ var EventDiscussionBody = ({
|
|
|
24251
24517
|
}
|
|
24252
24518
|
);
|
|
24253
24519
|
};
|
|
24254
|
-
const actionButton = (label, onPress) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress, style: s3.action, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24520
|
+
const actionButton = (label, onPress, vars) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress, style: s3.action, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: t(label, vars) }) }, label);
|
|
24255
24521
|
const sheet = (visible, close, children) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Modal, { transparent: true, animationType: "slide", visible, onRequestClose: close, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: s3.overlay, children: [
|
|
24256
24522
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24257
24523
|
import_react_native37.Pressable,
|
|
24258
24524
|
{
|
|
24259
|
-
accessibilityLabel: "Close menu",
|
|
24525
|
+
accessibilityLabel: t("Close menu"),
|
|
24260
24526
|
style: import_react_native37.StyleSheet.absoluteFill,
|
|
24261
24527
|
onPress: close
|
|
24262
24528
|
}
|
|
@@ -24289,7 +24555,7 @@ var EventDiscussionBody = ({
|
|
|
24289
24555
|
accessibilityRole: "button",
|
|
24290
24556
|
onPress: () => setBlocksVisible(true),
|
|
24291
24557
|
style: s3.blocked,
|
|
24292
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: "Blocked people" })
|
|
24558
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: t("Blocked people") })
|
|
24293
24559
|
}
|
|
24294
24560
|
),
|
|
24295
24561
|
d.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.ActivityIndicator, { style: s3.loading, color: theme.accent }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
@@ -24310,19 +24576,19 @@ var EventDiscussionBody = ({
|
|
|
24310
24576
|
}
|
|
24311
24577
|
},
|
|
24312
24578
|
ListHeaderComponent: d.hasMore ? actionButton("Earlier comments", d.loadMore) : null,
|
|
24313
|
-
ListEmptyComponent: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.empty], children: "Be the first to leave a comment." }),
|
|
24579
|
+
ListEmptyComponent: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.empty], children: t("Be the first to leave a comment.") }),
|
|
24314
24580
|
refreshing: d.isLoading,
|
|
24315
24581
|
onRefresh: () => void d.refresh()
|
|
24316
24582
|
}
|
|
24317
24583
|
),
|
|
24318
24584
|
(d.error || pickerError) && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: s3.notice, children: [
|
|
24319
24585
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { accessibilityRole: "alert", style: { color: theme.error }, children: t(d.error || pickerError) }),
|
|
24320
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress: () => void d.refresh(), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: "Try again" }) })
|
|
24586
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress: () => void d.refresh(), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: t("Try again") }) })
|
|
24321
24587
|
] }),
|
|
24322
24588
|
!!d.message && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { accessibilityLiveRegion: "polite", style: [muted, s3.notice], children: t(d.message) }),
|
|
24323
24589
|
(d.replyingTo || d.editing) && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native37.View, { style: [s3.draftContext, { borderColor: theme.border }], children: [
|
|
24324
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, numberOfLines: 1, children: d.editing ? "Edit your comment" : t("Reply to {{name}}", { name: (_b = (_a = d.replyingTo) == null ? void 0 : _a.author.name) != null ? _b : "" }) }),
|
|
24325
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress: d.cancelDraft, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: "Cancel" }) })
|
|
24590
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, numberOfLines: 1, children: d.editing ? t("Edit your comment") : t("Reply to {{name}}", { name: (_b = (_a = d.replyingTo) == null ? void 0 : _a.author.name) != null ? _b : "" }) }),
|
|
24591
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Pressable, { accessibilityRole: "button", onPress: d.cancelDraft, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: muted, children: t("Cancel") }) })
|
|
24326
24592
|
] }),
|
|
24327
24593
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24328
24594
|
CommentImageDrafts,
|
|
@@ -24355,26 +24621,26 @@ var EventDiscussionBody = ({
|
|
|
24355
24621
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24356
24622
|
import_react_native37.TextInput,
|
|
24357
24623
|
{
|
|
24358
|
-
accessibilityLabel: "Your comment",
|
|
24359
|
-
placeholder: "Enter your comment\u2026",
|
|
24624
|
+
accessibilityLabel: t("Your comment"),
|
|
24625
|
+
placeholder: t("Enter your comment\u2026"),
|
|
24360
24626
|
placeholderTextColor: theme.muted,
|
|
24361
24627
|
multiline: true,
|
|
24362
24628
|
maxLength: 4e3,
|
|
24363
24629
|
value: d.body,
|
|
24364
24630
|
onChangeText: d.setBody,
|
|
24365
24631
|
editable: !d.isSubmitting,
|
|
24366
|
-
style: [
|
|
24632
|
+
style: [text4, s3.input]
|
|
24367
24633
|
}
|
|
24368
24634
|
),
|
|
24369
24635
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24370
24636
|
import_react_native37.Pressable,
|
|
24371
24637
|
{
|
|
24372
24638
|
accessibilityRole: "button",
|
|
24373
|
-
accessibilityLabel: d.editing ? "Save comment" : "Post comment",
|
|
24639
|
+
accessibilityLabel: d.editing ? t("Save comment") : t("Post comment"),
|
|
24374
24640
|
disabled: d.isSubmitting || pickerBusy || !d.body.trim() && !d.imagesBase64.length && !((_c = d.editing) == null ? void 0 : _c.images.length),
|
|
24375
24641
|
onPress: () => void send(),
|
|
24376
24642
|
style: s3.send,
|
|
24377
|
-
children: d.isSubmitting ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.ActivityIndicator, { color: theme.accent }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: { color: theme.accent }, children: d.editing ? "Save" : "Send" })
|
|
24643
|
+
children: d.isSubmitting ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.ActivityIndicator, { color: theme.accent }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: { color: theme.accent }, children: d.editing ? t("Save") : t("Send") })
|
|
24378
24644
|
}
|
|
24379
24645
|
)
|
|
24380
24646
|
]
|
|
@@ -24388,7 +24654,7 @@ var EventDiscussionBody = ({
|
|
|
24388
24654
|
s3.composer,
|
|
24389
24655
|
{ borderColor: theme.border, backgroundColor: theme.surface }
|
|
24390
24656
|
],
|
|
24391
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24657
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: t("Sign in to leave a comment") })
|
|
24392
24658
|
}
|
|
24393
24659
|
),
|
|
24394
24660
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
@@ -24400,7 +24666,7 @@ var EventDiscussionBody = ({
|
|
|
24400
24666
|
if (/^(https:\/\/|mailto:)/i.test(d.supportUrl))
|
|
24401
24667
|
void import_react_native37.Linking.openURL(d.supportUrl).catch(() => void 0);
|
|
24402
24668
|
},
|
|
24403
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.date], children: "Need help? Contact support" })
|
|
24669
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: [muted, s3.date], children: t("Need help? Contact support") })
|
|
24404
24670
|
}
|
|
24405
24671
|
),
|
|
24406
24672
|
sheet(
|
|
@@ -24413,12 +24679,12 @@ var EventDiscussionBody = ({
|
|
|
24413
24679
|
"Delete",
|
|
24414
24680
|
() => closeActions(
|
|
24415
24681
|
(comment) => import_react_native37.Alert.alert(
|
|
24416
|
-
"Delete comment?",
|
|
24417
|
-
"Your comment will be removed from this conversation.",
|
|
24682
|
+
t("Delete your comment?"),
|
|
24683
|
+
t("Your comment will be removed from this conversation."),
|
|
24418
24684
|
[
|
|
24419
|
-
{ text: "Cancel", style: "cancel" },
|
|
24685
|
+
{ text: t("Cancel"), style: "cancel" },
|
|
24420
24686
|
{
|
|
24421
|
-
text: "Delete",
|
|
24687
|
+
text: t("Delete"),
|
|
24422
24688
|
style: "destructive",
|
|
24423
24689
|
onPress: () => void d.remove(comment)
|
|
24424
24690
|
}
|
|
@@ -24431,12 +24697,14 @@ var EventDiscussionBody = ({
|
|
|
24431
24697
|
"Block this person",
|
|
24432
24698
|
() => closeActions(
|
|
24433
24699
|
(comment) => import_react_native37.Alert.alert(
|
|
24434
|
-
|
|
24435
|
-
|
|
24700
|
+
t("Block {{name}}?", { name: comment.author.name }),
|
|
24701
|
+
t(
|
|
24702
|
+
"You won\u2019t see their comments. You can unblock them from Blocked people."
|
|
24703
|
+
),
|
|
24436
24704
|
[
|
|
24437
|
-
{ text: "Cancel", style: "cancel" },
|
|
24705
|
+
{ text: t("Cancel"), style: "cancel" },
|
|
24438
24706
|
{
|
|
24439
|
-
text: "Block",
|
|
24707
|
+
text: t("Block"),
|
|
24440
24708
|
onPress: () => void d.block(comment.author.id, true)
|
|
24441
24709
|
}
|
|
24442
24710
|
]
|
|
@@ -24459,7 +24727,7 @@ var EventDiscussionBody = ({
|
|
|
24459
24727
|
Boolean(reporting),
|
|
24460
24728
|
() => setReporting(null),
|
|
24461
24729
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
24462
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24730
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: t("Report comment") }),
|
|
24463
24731
|
[
|
|
24464
24732
|
["spam", "Spam"],
|
|
24465
24733
|
["abuse", "Harassment or abuse"],
|
|
@@ -24477,16 +24745,16 @@ var EventDiscussionBody = ({
|
|
|
24477
24745
|
Boolean(moderating),
|
|
24478
24746
|
() => setModerating(null),
|
|
24479
24747
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
24480
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24748
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: (moderating == null ? void 0 : moderating.status) === "published" ? t("Approve comment") : t("Hide comment") }),
|
|
24481
24749
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24482
24750
|
import_react_native37.TextInput,
|
|
24483
24751
|
{
|
|
24484
|
-
accessibilityLabel: "Moderation reason",
|
|
24485
|
-
placeholder: "Reason",
|
|
24752
|
+
accessibilityLabel: t("Moderation reason"),
|
|
24753
|
+
placeholder: t("Reason"),
|
|
24486
24754
|
placeholderTextColor: theme.muted,
|
|
24487
24755
|
value: reason,
|
|
24488
24756
|
onChangeText: setReason,
|
|
24489
|
-
style: [
|
|
24757
|
+
style: [text4, s3.reason]
|
|
24490
24758
|
}
|
|
24491
24759
|
),
|
|
24492
24760
|
actionButton("Confirm", () => {
|
|
@@ -24501,13 +24769,15 @@ var EventDiscussionBody = ({
|
|
|
24501
24769
|
blocksVisible,
|
|
24502
24770
|
() => setBlocksVisible(false),
|
|
24503
24771
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
24504
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style:
|
|
24772
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native37.Text, { style: text4, children: t("Blocked people") }),
|
|
24505
24773
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
24506
24774
|
import_react_native37.FlatList,
|
|
24507
24775
|
{
|
|
24508
24776
|
data: d.blockedAuthors,
|
|
24509
24777
|
keyExtractor: (person) => person.id,
|
|
24510
|
-
renderItem: ({ item: person }) => actionButton(
|
|
24778
|
+
renderItem: ({ item: person }) => actionButton("Unblock {{name}}", () => void d.block(person.id, false), {
|
|
24779
|
+
name: person.name
|
|
24780
|
+
})
|
|
24511
24781
|
}
|
|
24512
24782
|
)
|
|
24513
24783
|
] })
|
|
@@ -25141,7 +25411,7 @@ var StreamingView = ({
|
|
|
25141
25411
|
});
|
|
25142
25412
|
const local = stored.scope === session.sessionScope ? stored : { scope: session.sessionScope, busy: false, error: "" };
|
|
25143
25413
|
const busy = flow.busy || local.busy;
|
|
25144
|
-
const
|
|
25414
|
+
const text4 = { color: theme.text, fontFamily: theme.fontFamily };
|
|
25145
25415
|
const muted = { color: theme.muted, fontFamily: theme.fontFamily };
|
|
25146
25416
|
const connect = async (provider) => {
|
|
25147
25417
|
try {
|
|
@@ -25217,13 +25487,13 @@ var StreamingView = ({
|
|
|
25217
25487
|
disabled,
|
|
25218
25488
|
onPress,
|
|
25219
25489
|
style: [s4.button, { borderColor: theme.accent }, disabled && s4.disabled],
|
|
25220
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [
|
|
25490
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [text4, { color: theme.accent, fontSize: theme.fontSize }], children: t(label) })
|
|
25221
25491
|
}
|
|
25222
25492
|
);
|
|
25223
25493
|
const music = (_a = flow.query.data) == null ? void 0 : _a.music;
|
|
25224
25494
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: [s4.container, style], children: [
|
|
25225
|
-
showHeader && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.title,
|
|
25226
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.intro,
|
|
25495
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.title, text4], children: t("Streaming") }),
|
|
25496
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.intro, text4], children: t("Choose which artist and genre names to use for event suggestions.") }),
|
|
25227
25497
|
flow.query.isPending && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
25228
25498
|
import_react_native43.ActivityIndicator,
|
|
25229
25499
|
{
|
|
@@ -25243,7 +25513,7 @@ var StreamingView = ({
|
|
|
25243
25513
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.identity, children: [
|
|
25244
25514
|
renderProviderIcon == null ? void 0 : renderProviderIcon(key4),
|
|
25245
25515
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.names, children: [
|
|
25246
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.name,
|
|
25516
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.name, text4], children: name }),
|
|
25247
25517
|
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.status, muted], children: connection.connected ? t("Connected") : connection.available ? t("Not connected") : t(connection.reason || "Not available yet") })
|
|
25248
25518
|
] })
|
|
25249
25519
|
] }),
|
|
@@ -25324,7 +25594,7 @@ var AccountDeletionView = ({
|
|
|
25324
25594
|
[inherited, override]
|
|
25325
25595
|
);
|
|
25326
25596
|
const assertOwner = hooks_exports.useSessionAction();
|
|
25327
|
-
const
|
|
25597
|
+
const text4 = { color: theme.text, fontFamily: theme.fontFamily };
|
|
25328
25598
|
const muted = { color: theme.muted, fontFamily: theme.fontFamily };
|
|
25329
25599
|
const action = (label, execute, danger = false, disabled = flow.busy) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
25330
25600
|
import_react_native44.Pressable,
|
|
@@ -25344,7 +25614,7 @@ var AccountDeletionView = ({
|
|
|
25344
25614
|
{ borderColor: danger ? theme.error : theme.accent },
|
|
25345
25615
|
disabled && s5.disabled
|
|
25346
25616
|
],
|
|
25347
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [
|
|
25617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [text4, { color: danger ? theme.error : theme.accent }], children: t(label) })
|
|
25348
25618
|
}
|
|
25349
25619
|
);
|
|
25350
25620
|
const openTeam = async (url2) => {
|
|
@@ -25364,8 +25634,8 @@ var AccountDeletionView = ({
|
|
|
25364
25634
|
};
|
|
25365
25635
|
if (flow.deleted)
|
|
25366
25636
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: [s5.container, style], children: [
|
|
25367
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.title,
|
|
25368
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { accessibilityLiveRegion: "polite", style: [s5.body,
|
|
25637
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.title, text4], children: t("Account deleted") }),
|
|
25638
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { accessibilityLiveRegion: "polite", style: [s5.body, text4], children: t("Your Ticket Fairy account has been closed. You are signed out.") }),
|
|
25369
25639
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, muted], children: t("Financial and transaction records are retained where required.") }),
|
|
25370
25640
|
onDone && action("Continue browsing", onDone, false, false)
|
|
25371
25641
|
] });
|
|
@@ -25383,7 +25653,7 @@ var AccountDeletionView = ({
|
|
|
25383
25653
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { accessibilityRole: "alert", style: [s5.body, { color: theme.error }], children: t(flow.error) }),
|
|
25384
25654
|
action("Try again", () => void flow.retry())
|
|
25385
25655
|
] }),
|
|
25386
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body,
|
|
25656
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, text4], children: t("Sign in to review and delete your Ticket Fairy account.") }),
|
|
25387
25657
|
onSignIn && action("Sign in", onSignIn, false, false)
|
|
25388
25658
|
] });
|
|
25389
25659
|
if (flow.query.isPending)
|
|
@@ -25402,16 +25672,16 @@ var AccountDeletionView = ({
|
|
|
25402
25672
|
const status = flow.status;
|
|
25403
25673
|
const password = status.verification === "password";
|
|
25404
25674
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: [s5.container, style], children: [
|
|
25405
|
-
showHeader && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.title,
|
|
25675
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.title, text4], children: t("Delete account") }),
|
|
25406
25676
|
showExplanation && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
25407
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body,
|
|
25677
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, text4], children: t(
|
|
25408
25678
|
"This closes your Ticket Fairy account across the app, website and organiser dashboard."
|
|
25409
25679
|
) }),
|
|
25410
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading,
|
|
25680
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading, text4], children: t("What is removed") }),
|
|
25411
25681
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, muted], children: t(
|
|
25412
25682
|
"Your personal profile, sign-in access, friends, saved preferences and the content you posted are removed or anonymised."
|
|
25413
25683
|
) }),
|
|
25414
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading,
|
|
25684
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading, text4], children: t("What is kept") }),
|
|
25415
25685
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, muted], children: t(
|
|
25416
25686
|
"Financial and transaction records are retained where required. Deleting your account does not refund or cancel orders, and does not delete other ticket holders\u2019 details."
|
|
25417
25687
|
) })
|
|
@@ -25420,11 +25690,11 @@ var AccountDeletionView = ({
|
|
|
25420
25690
|
"If Ticket Fairy still appears in your Apple Account after deletion, remove its access there too."
|
|
25421
25691
|
) }),
|
|
25422
25692
|
status.blockers.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: [s5.panel, { borderColor: theme.border }], children: [
|
|
25423
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading,
|
|
25693
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading, text4], children: t("Before you delete your account") }),
|
|
25424
25694
|
status.blockers.map((blocker) => {
|
|
25425
25695
|
var _a;
|
|
25426
25696
|
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: s5.container, children: [
|
|
25427
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body,
|
|
25697
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, text4], children: t(blocker.message) }),
|
|
25428
25698
|
(_a = blocker.brands) == null ? void 0 : _a.map(
|
|
25429
25699
|
(brand2) => brand2.teamUrl ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
25430
25700
|
import_react_native44.Pressable,
|
|
@@ -25451,8 +25721,8 @@ var AccountDeletionView = ({
|
|
|
25451
25721
|
accessibilityLabel: t("Confirm account deletion"),
|
|
25452
25722
|
style: [s5.panel, { borderColor: theme.border }],
|
|
25453
25723
|
children: [
|
|
25454
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading,
|
|
25455
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body,
|
|
25724
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading, text4], children: t("Delete your account permanently?") }),
|
|
25725
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, text4], children: t("This cannot be undone. Confirm that you want to close this account.") }),
|
|
25456
25726
|
!password && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
25457
25727
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.body, muted], children: t("We will email a deletion code to {{email}}.", {
|
|
25458
25728
|
email: status.email
|
|
@@ -25469,7 +25739,7 @@ var AccountDeletionView = ({
|
|
|
25469
25739
|
}) })
|
|
25470
25740
|
] }),
|
|
25471
25741
|
flow.retryAfter > 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { accessibilityLiveRegion: "polite", style: [s5.body, muted], children: t("Try again in {{seconds}} seconds.", { seconds: flow.retryAfter }) }),
|
|
25472
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading,
|
|
25742
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [s5.heading, text4], children: t(password ? "Current password" : "Deletion code") }),
|
|
25473
25743
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
25474
25744
|
import_react_native44.TextInput,
|
|
25475
25745
|
{
|
|
@@ -25486,7 +25756,7 @@ var AccountDeletionView = ({
|
|
|
25486
25756
|
editable: !flow.busy,
|
|
25487
25757
|
style: [
|
|
25488
25758
|
s5.input,
|
|
25489
|
-
|
|
25759
|
+
text4,
|
|
25490
25760
|
{ borderColor: theme.border, backgroundColor: theme.background }
|
|
25491
25761
|
]
|
|
25492
25762
|
}
|
|
@@ -25574,8 +25844,8 @@ var ForgotPasswordForm = ({
|
|
|
25574
25844
|
Input,
|
|
25575
25845
|
{
|
|
25576
25846
|
value: email,
|
|
25577
|
-
onChangeText: (
|
|
25578
|
-
setEmail(
|
|
25847
|
+
onChangeText: (text4) => {
|
|
25848
|
+
setEmail(text4);
|
|
25579
25849
|
onFieldChange == null ? void 0 : onFieldChange();
|
|
25580
25850
|
},
|
|
25581
25851
|
placeholder: "Email",
|
|
@@ -25667,8 +25937,8 @@ var LoginForm = ({
|
|
|
25667
25937
|
Input,
|
|
25668
25938
|
{
|
|
25669
25939
|
value: email,
|
|
25670
|
-
onChangeText: (
|
|
25671
|
-
setEmail(
|
|
25940
|
+
onChangeText: (text4) => {
|
|
25941
|
+
setEmail(text4);
|
|
25672
25942
|
onFieldChange == null ? void 0 : onFieldChange("email");
|
|
25673
25943
|
},
|
|
25674
25944
|
placeholder: "Email",
|
|
@@ -25681,8 +25951,8 @@ var LoginForm = ({
|
|
|
25681
25951
|
PasswordInput,
|
|
25682
25952
|
{
|
|
25683
25953
|
value: password,
|
|
25684
|
-
onChangeText: (
|
|
25685
|
-
setPassword(
|
|
25954
|
+
onChangeText: (text4) => {
|
|
25955
|
+
setPassword(text4);
|
|
25686
25956
|
onFieldChange == null ? void 0 : onFieldChange("password");
|
|
25687
25957
|
},
|
|
25688
25958
|
placeholder: "Password",
|
|
@@ -25798,7 +26068,7 @@ var RegisterForm = ({
|
|
|
25798
26068
|
Input,
|
|
25799
26069
|
{
|
|
25800
26070
|
value: values2.firstName,
|
|
25801
|
-
onChangeText: (
|
|
26071
|
+
onChangeText: (text4) => setField("firstName", text4),
|
|
25802
26072
|
placeholder: "First Name",
|
|
25803
26073
|
autoCapitalize: "words",
|
|
25804
26074
|
invalid: Boolean(errors.firstName)
|
|
@@ -25808,7 +26078,7 @@ var RegisterForm = ({
|
|
|
25808
26078
|
Input,
|
|
25809
26079
|
{
|
|
25810
26080
|
value: values2.lastName,
|
|
25811
|
-
onChangeText: (
|
|
26081
|
+
onChangeText: (text4) => setField("lastName", text4),
|
|
25812
26082
|
placeholder: "Last Name",
|
|
25813
26083
|
autoCapitalize: "words",
|
|
25814
26084
|
invalid: Boolean(errors.lastName)
|
|
@@ -25820,7 +26090,7 @@ var RegisterForm = ({
|
|
|
25820
26090
|
{
|
|
25821
26091
|
value: values2.email,
|
|
25822
26092
|
editable: !requireTerms,
|
|
25823
|
-
onChangeText: (
|
|
26093
|
+
onChangeText: (text4) => setField("email", text4),
|
|
25824
26094
|
placeholder: "Email",
|
|
25825
26095
|
keyboardType: "email-address",
|
|
25826
26096
|
autoCapitalize: "none",
|
|
@@ -25832,7 +26102,7 @@ var RegisterForm = ({
|
|
|
25832
26102
|
Input,
|
|
25833
26103
|
{
|
|
25834
26104
|
value: (_a = values2.streetAddress) != null ? _a : "",
|
|
25835
|
-
onChangeText: (
|
|
26105
|
+
onChangeText: (text4) => setField("streetAddress", text4),
|
|
25836
26106
|
placeholder: "Street Address",
|
|
25837
26107
|
invalid: Boolean(errors.streetAddress)
|
|
25838
26108
|
}
|
|
@@ -25841,7 +26111,7 @@ var RegisterForm = ({
|
|
|
25841
26111
|
Input,
|
|
25842
26112
|
{
|
|
25843
26113
|
value: (_b = values2.zip) != null ? _b : "",
|
|
25844
|
-
onChangeText: (
|
|
26114
|
+
onChangeText: (text4) => setField("zip", text4),
|
|
25845
26115
|
placeholder: "Zip / Postal Code",
|
|
25846
26116
|
invalid: Boolean(errors.zip)
|
|
25847
26117
|
}
|
|
@@ -25883,7 +26153,7 @@ var RegisterForm = ({
|
|
|
25883
26153
|
Input,
|
|
25884
26154
|
{
|
|
25885
26155
|
value: (_e = values2.city) != null ? _e : "",
|
|
25886
|
-
onChangeText: (
|
|
26156
|
+
onChangeText: (text4) => setField("city", text4),
|
|
25887
26157
|
placeholder: "City",
|
|
25888
26158
|
invalid: Boolean(errors.city)
|
|
25889
26159
|
}
|
|
@@ -25893,7 +26163,7 @@ var RegisterForm = ({
|
|
|
25893
26163
|
Input,
|
|
25894
26164
|
{
|
|
25895
26165
|
value: (_f = values2.phone) != null ? _f : "",
|
|
25896
|
-
onChangeText: (
|
|
26166
|
+
onChangeText: (text4) => setField("phone", text4),
|
|
25897
26167
|
placeholder: "Phone",
|
|
25898
26168
|
keyboardType: "phone-pad",
|
|
25899
26169
|
autoCapitalize: "none"
|
|
@@ -25903,7 +26173,7 @@ var RegisterForm = ({
|
|
|
25903
26173
|
PasswordInput,
|
|
25904
26174
|
{
|
|
25905
26175
|
value: values2.password,
|
|
25906
|
-
onChangeText: (
|
|
26176
|
+
onChangeText: (text4) => setField("password", text4),
|
|
25907
26177
|
placeholder: "Password",
|
|
25908
26178
|
invalid: Boolean(errors.password)
|
|
25909
26179
|
}
|
|
@@ -25912,7 +26182,7 @@ var RegisterForm = ({
|
|
|
25912
26182
|
PasswordInput,
|
|
25913
26183
|
{
|
|
25914
26184
|
value: values2.passwordConfirmation,
|
|
25915
|
-
onChangeText: (
|
|
26185
|
+
onChangeText: (text4) => setField("passwordConfirmation", text4),
|
|
25916
26186
|
placeholder: "Confirm Password",
|
|
25917
26187
|
invalid: Boolean(errors.passwordConfirmation)
|
|
25918
26188
|
}
|