tf-checkout-react-native 2.0.0-beta.5 → 2.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +36 -2
- package/dist/index.d.ts +36 -2
- package/dist/index.js +783 -489
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +777 -476
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/sections/EventDiscussionView.tsx +4 -0
- package/src/sections/Streaming.tsx +278 -0
- package/src/sections/discussion/CommentImages.tsx +34 -10
- package/src/sections/index.ts +6 -0
package/dist/index.js
CHANGED
|
@@ -102,6 +102,8 @@ __export(index_exports, {
|
|
|
102
102
|
SeatMap: () => SeatMap,
|
|
103
103
|
SectionHeader: () => SectionHeader,
|
|
104
104
|
Select: () => Select,
|
|
105
|
+
Streaming: () => Streaming,
|
|
106
|
+
StreamingView: () => StreamingView,
|
|
105
107
|
TICKET_CHANGE_PAYMENT_WINDOW_MS: () => TICKET_CHANGE_PAYMENT_WINDOW_MS,
|
|
106
108
|
TicketChange: () => TicketChange,
|
|
107
109
|
TicketGift: () => TicketGift,
|
|
@@ -4178,15 +4180,15 @@ var ticketChangeDoneCopy = (result2) => {
|
|
|
4178
4180
|
var slotAlternativesFromError = (error) => {
|
|
4179
4181
|
const e = error != null ? error : {};
|
|
4180
4182
|
const payload = e.data && typeof e.data === "object" ? e.data : e;
|
|
4181
|
-
return list(payload.alternatives).map((
|
|
4183
|
+
return list(payload.alternatives).map((s5) => {
|
|
4182
4184
|
var _a, _b, _c, _d, _e;
|
|
4183
4185
|
return {
|
|
4184
|
-
ticketTypeId: String((_a =
|
|
4185
|
-
label: String((_c = (_b =
|
|
4186
|
-
startsAt: String((_d =
|
|
4187
|
-
slotValue: String((_e =
|
|
4186
|
+
ticketTypeId: String((_a = s5.ticketTypeId) != null ? _a : ""),
|
|
4187
|
+
label: String((_c = (_b = s5.label) != null ? _b : s5.startsAt) != null ? _c : ""),
|
|
4188
|
+
startsAt: String((_d = s5.startsAt) != null ? _d : ""),
|
|
4189
|
+
slotValue: String((_e = s5.slotValue) != null ? _e : "")
|
|
4188
4190
|
};
|
|
4189
|
-
}).filter((
|
|
4191
|
+
}).filter((s5) => s5.ticketTypeId !== "" && s5.label !== "").slice(0, 3);
|
|
4190
4192
|
};
|
|
4191
4193
|
var ticketChangeView = (options) => options.canChange ? "choose" : "closed";
|
|
4192
4194
|
var resolveSiteUrl = (path3, origin) => /^https?:\/\//i.test(path3) ? path3 : `${origin.replace(/\/+$/, "")}/${path3.replace(/^\/+/, "")}`;
|
|
@@ -4387,8 +4389,8 @@ var signaturePngDataUrl = (strokes, { padWidth, padHeight, width = 600, lineWidt
|
|
|
4387
4389
|
const a = points[i - 1];
|
|
4388
4390
|
const b = points[i];
|
|
4389
4391
|
const steps = Math.max(1, Math.ceil(Math.hypot(b.x - a.x, b.y - a.y) * 2));
|
|
4390
|
-
for (let
|
|
4391
|
-
ink(a.x + (b.x - a.x) *
|
|
4392
|
+
for (let s5 = 0; s5 <= steps; s5++) {
|
|
4393
|
+
ink(a.x + (b.x - a.x) * s5 / steps, a.y + (b.y - a.y) * s5 / steps);
|
|
4392
4394
|
}
|
|
4393
4395
|
}
|
|
4394
4396
|
}
|
|
@@ -4651,23 +4653,23 @@ var waiverSignaturesAttribute = (waiver, signatures, holders, billing, backfille
|
|
|
4651
4653
|
backfilledHolderIndexes
|
|
4652
4654
|
);
|
|
4653
4655
|
if (!waiver || !counted) return [];
|
|
4654
|
-
return Object.entries(counted).map(([index,
|
|
4656
|
+
return Object.entries(counted).map(([index, s5]) => [Number(index), s5]).filter(([index]) => Number.isInteger(index) && index >= 0 && index < holders.length).sort(([a], [b]) => a - b).map(([index, s5]) => {
|
|
4655
4657
|
var _a, _b, _c, _d;
|
|
4656
4658
|
return {
|
|
4657
4659
|
holder_index: index,
|
|
4658
4660
|
version_id: waiver.versionId,
|
|
4659
4661
|
body_sha256: waiver.bodySha256,
|
|
4660
|
-
signer_role:
|
|
4661
|
-
first_name:
|
|
4662
|
-
last_name:
|
|
4663
|
-
...
|
|
4664
|
-
minor_name: (_a =
|
|
4665
|
-
guardian_relationship: (_b =
|
|
4666
|
-
...
|
|
4662
|
+
signer_role: s5.signerRole,
|
|
4663
|
+
first_name: s5.firstName,
|
|
4664
|
+
last_name: s5.lastName,
|
|
4665
|
+
...s5.signerRole === "guardian" ? {
|
|
4666
|
+
minor_name: (_a = s5.minorName) != null ? _a : "",
|
|
4667
|
+
guardian_relationship: (_b = s5.guardianRelationship) != null ? _b : "",
|
|
4668
|
+
...s5.minorDob ? { minor_dob: s5.minorDob } : {}
|
|
4667
4669
|
} : {},
|
|
4668
|
-
method:
|
|
4669
|
-
...
|
|
4670
|
-
agree_electronic:
|
|
4670
|
+
method: s5.method,
|
|
4671
|
+
...s5.method === "typed" ? { typed_name: (_c = s5.typedName) != null ? _c : "" } : { image_reference: (_d = s5.imageReference) != null ? _d : "" },
|
|
4672
|
+
agree_electronic: s5.agreeElectronic
|
|
4671
4673
|
};
|
|
4672
4674
|
});
|
|
4673
4675
|
};
|
|
@@ -4745,7 +4747,7 @@ var checkoutIsBusy = (snapshot) => {
|
|
|
4745
4747
|
};
|
|
4746
4748
|
var cartTicketCount = (cart) => {
|
|
4747
4749
|
var _a, _b;
|
|
4748
|
-
return cart.selections.reduce((n,
|
|
4750
|
+
return cart.selections.reduce((n, s5) => n + s5.quantity, 0) || ((_b = (_a = cart.breakdown) == null ? void 0 : _a.tickets) != null ? _b : []).reduce((n, line) => n + line.quantity, 0) || 1;
|
|
4749
4751
|
};
|
|
4750
4752
|
var cartTicketSlots = (cart) => {
|
|
4751
4753
|
var _a, _b;
|
|
@@ -5838,6 +5840,7 @@ __export2(api_exports, {
|
|
|
5838
5840
|
confirmPreRegistration: () => confirmPreRegistration,
|
|
5839
5841
|
confirmRedirect: () => confirmRedirect,
|
|
5840
5842
|
connectAppleMusic: () => connectAppleMusic,
|
|
5843
|
+
connectSpotify: () => connectSpotify,
|
|
5841
5844
|
createEventComment: () => createEventComment,
|
|
5842
5845
|
createOrder: () => createOrder,
|
|
5843
5846
|
createPack: () => createPack,
|
|
@@ -5846,6 +5849,7 @@ __export2(api_exports, {
|
|
|
5846
5849
|
decodeShareActionToken: () => decodeShareActionToken,
|
|
5847
5850
|
disconnectAccount: () => disconnectAccount,
|
|
5848
5851
|
disconnectAppleMusic: () => disconnectAppleMusic,
|
|
5852
|
+
disconnectSpotify: () => disconnectSpotify,
|
|
5849
5853
|
exchangeBrowserSignIn: () => exchangeBrowserSignIn,
|
|
5850
5854
|
exchangeCheckoutBrowserCode: () => exchangeCheckoutBrowserCode,
|
|
5851
5855
|
filterAddonsForTickets: () => filterAddonsForTickets,
|
|
@@ -6875,30 +6879,30 @@ var getEventTimeSlotTickets = async (eventId, date, options) => {
|
|
|
6875
6879
|
for (const hourKey of Object.keys(hours != null ? hours : {}).sort()) {
|
|
6876
6880
|
const times = (_e = hours[hourKey]) != null ? _e : {};
|
|
6877
6881
|
for (const timeKey of Object.keys(times).sort()) {
|
|
6878
|
-
for (const
|
|
6879
|
-
if (!(
|
|
6880
|
-
const stock = Number((_h = (_g =
|
|
6882
|
+
for (const s5 of Object.values((_f = times[timeKey]) != null ? _f : {})) {
|
|
6883
|
+
if (!(s5 == null ? void 0 : s5.matrix_record_id)) continue;
|
|
6884
|
+
const stock = Number((_h = (_g = s5.in_stock) != null ? _g : s5.real_stock) != null ? _h : 0);
|
|
6881
6885
|
out.push({
|
|
6882
|
-
id: String(
|
|
6883
|
-
name:
|
|
6884
|
-
groupName: (_j = (_i =
|
|
6885
|
-
optionName: String((_k =
|
|
6886
|
-
price: Number((_l =
|
|
6887
|
-
priceWithFees: Number((_n = (_m =
|
|
6888
|
-
priceSymbol: (_p = (_o =
|
|
6886
|
+
id: String(s5.matrix_record_id),
|
|
6887
|
+
name: s5.display_name || s5.option_value || "Ticket",
|
|
6888
|
+
groupName: (_j = (_i = s5.group_name) != null ? _i : s5.groupName) != null ? _j : null,
|
|
6889
|
+
optionName: String((_k = s5.option_key) != null ? _k : ""),
|
|
6890
|
+
price: Number((_l = s5.base_price) != null ? _l : 0),
|
|
6891
|
+
priceWithFees: Number((_n = (_m = s5.price_with_fees) != null ? _m : s5.base_price) != null ? _n : 0),
|
|
6892
|
+
priceSymbol: (_p = (_o = s5.price_symbol) != null ? _o : s5.priceSymbol) != null ? _p : "",
|
|
6889
6893
|
currency: "",
|
|
6890
6894
|
feeIncluded: false,
|
|
6891
|
-
depositPercent:
|
|
6892
|
-
soldOut: Boolean(
|
|
6893
|
-
salesStarted:
|
|
6894
|
-
salesEnded: Boolean(
|
|
6895
|
-
minQuantity: Number((_q =
|
|
6896
|
-
maxQuantity: Number((_r =
|
|
6897
|
-
multiplier: Number((_s =
|
|
6898
|
-
isTable: Boolean(
|
|
6895
|
+
depositPercent: s5.deposit_percent != null ? Number(s5.deposit_percent) : null,
|
|
6896
|
+
soldOut: Boolean(s5.sold_out) || stock <= 0,
|
|
6897
|
+
salesStarted: s5.sales_started != null ? Boolean(s5.sales_started) : true,
|
|
6898
|
+
salesEnded: Boolean(s5.sales_ended),
|
|
6899
|
+
minQuantity: Number((_q = s5.min_quantity) != null ? _q : 1) || 1,
|
|
6900
|
+
maxQuantity: Number((_r = s5.max_quantity) != null ? _r : 10) || 10,
|
|
6901
|
+
multiplier: Number((_s = s5.multiplier) != null ? _s : 1) || 1,
|
|
6902
|
+
isTable: Boolean(s5.is_table),
|
|
6899
6903
|
allowDirectPurchase: true,
|
|
6900
|
-
descriptionRich: (_t =
|
|
6901
|
-
badgeText: badgeOf((_u =
|
|
6904
|
+
descriptionRich: (_t = s5.description) != null ? _t : null,
|
|
6905
|
+
badgeText: badgeOf((_u = s5.badge_text) != null ? _u : s5.badgeText),
|
|
6902
6906
|
timeSlot: { date: slotDate, time: timeKey }
|
|
6903
6907
|
});
|
|
6904
6908
|
}
|
|
@@ -7417,8 +7421,8 @@ var mapProfileToBilling = (profile) => {
|
|
|
7417
7421
|
var _a, _b, _c, _d;
|
|
7418
7422
|
const str = (v) => v == null || v === "" ? void 0 : String(v);
|
|
7419
7423
|
const idStr = (v) => {
|
|
7420
|
-
const
|
|
7421
|
-
return
|
|
7424
|
+
const s5 = str(v);
|
|
7425
|
+
return s5 === void 0 || s5 === "0" || s5 === "-1" ? void 0 : s5;
|
|
7422
7426
|
};
|
|
7423
7427
|
const dobParts = /^(\d{4})-(\d{2})-(\d{2})/.exec((_a = profile.dateOfBirth) != null ? _a : "");
|
|
7424
7428
|
const dob = dobParts && Number(dobParts[1]) > 1900 ? {
|
|
@@ -8439,6 +8443,29 @@ var disconnectAppleMusic = async (revision) => {
|
|
|
8439
8443
|
})
|
|
8440
8444
|
);
|
|
8441
8445
|
};
|
|
8446
|
+
var connectSpotify = async () => {
|
|
8447
|
+
const epoch = getSessionEpoch();
|
|
8448
|
+
const security2 = await sessionWriteSecurity(epoch);
|
|
8449
|
+
assertSessionEpoch(epoch);
|
|
8450
|
+
return unwrap2(
|
|
8451
|
+
await post(
|
|
8452
|
+
"/customer/music/spotify/connect",
|
|
8453
|
+
{},
|
|
8454
|
+
security2
|
|
8455
|
+
)
|
|
8456
|
+
);
|
|
8457
|
+
};
|
|
8458
|
+
var disconnectSpotify = async (revision) => {
|
|
8459
|
+
const epoch = getSessionEpoch();
|
|
8460
|
+
const security2 = await sessionWriteSecurity(epoch);
|
|
8461
|
+
assertSessionEpoch(epoch);
|
|
8462
|
+
return unwrap2(
|
|
8463
|
+
await del("/customer/music/spotify", {
|
|
8464
|
+
...security2,
|
|
8465
|
+
data: { revision }
|
|
8466
|
+
})
|
|
8467
|
+
);
|
|
8468
|
+
};
|
|
8442
8469
|
var endpoint = (postId) => {
|
|
8443
8470
|
if (!/^[1-9][0-9]*$/.test(String(postId)))
|
|
8444
8471
|
throw new TtfError("This article is not available.", 422, "VALIDATION_ERROR");
|
|
@@ -10289,7 +10316,7 @@ var bundleFlowAvailable = (draft, catalog, catalogState) => {
|
|
|
10289
10316
|
];
|
|
10290
10317
|
const slots = bundleHolderSlots(catalog, bundleSelectionAttribute(qty));
|
|
10291
10318
|
const holders = draft.holders.filter(
|
|
10292
|
-
(h) => !changed.includes(h.bundleId) || slots.some((
|
|
10319
|
+
(h) => !changed.includes(h.bundleId) || slots.some((s5) => s5.bundleId === h.bundleId && s5.ticketIndex === h.ticketIndex)
|
|
10293
10320
|
);
|
|
10294
10321
|
return { draft: { ...draft, qty, holders }, removed, reduced, belowMinimum };
|
|
10295
10322
|
};
|
|
@@ -10334,7 +10361,7 @@ var bundleDraftWithHolder = (draft, slot, next) => {
|
|
|
10334
10361
|
var bundleFlowInput = (eventId, draft, slots) => {
|
|
10335
10362
|
const selection = bundleSelectionAttribute(draft.qty);
|
|
10336
10363
|
const holders = draft.holders.filter(
|
|
10337
|
-
(h) => slots.some((
|
|
10364
|
+
(h) => slots.some((s5) => s5.bundleId === h.bundleId && s5.ticketIndex === h.ticketIndex) && (h.firstName.trim() || h.lastName.trim())
|
|
10338
10365
|
);
|
|
10339
10366
|
const buyer2 = holders.length ? { ...draft.buyer, holders } : { ...draft.buyer };
|
|
10340
10367
|
return {
|
|
@@ -10916,7 +10943,9 @@ var ttf = {
|
|
|
10916
10943
|
get: getPreferences,
|
|
10917
10944
|
save: saveInterests,
|
|
10918
10945
|
connectAppleMusic,
|
|
10919
|
-
disconnectAppleMusic
|
|
10946
|
+
disconnectAppleMusic,
|
|
10947
|
+
connectSpotify,
|
|
10948
|
+
disconnectSpotify
|
|
10920
10949
|
},
|
|
10921
10950
|
comments: {
|
|
10922
10951
|
list: getEventComments,
|
|
@@ -14654,7 +14683,12 @@ var useAccountPreferences = (enabled = true) => {
|
|
|
14654
14683
|
const ownedEpoch = (0, import_react22.useMemo)(() => getSessionEpoch(), [scope]);
|
|
14655
14684
|
const pending2 = (0, import_react22.useRef)({ scope, locked: false });
|
|
14656
14685
|
const client = (0, import_react_query12.useQueryClient)();
|
|
14657
|
-
const query = useSessionQuery({
|
|
14686
|
+
const query = useSessionQuery({
|
|
14687
|
+
queryKey: key2,
|
|
14688
|
+
queryFn: getPreferences,
|
|
14689
|
+
retry: false,
|
|
14690
|
+
enabled
|
|
14691
|
+
});
|
|
14658
14692
|
const perform = async (action, message) => {
|
|
14659
14693
|
if (getSessionCacheScope() !== scope || getSessionEpoch() !== ownedEpoch || pending2.current.scope === scope && pending2.current.locked)
|
|
14660
14694
|
return;
|
|
@@ -14690,10 +14724,19 @@ var useAccountPreferences = (enabled = true) => {
|
|
|
14690
14724
|
"Your interests have been updated."
|
|
14691
14725
|
) : Promise.resolve(void 0),
|
|
14692
14726
|
connectAppleMusic: () => perform(connectAppleMusic),
|
|
14727
|
+
connectSpotify: () => perform(connectSpotify),
|
|
14693
14728
|
disconnectAppleMusic: () => query.data ? perform(
|
|
14694
14729
|
() => disconnectAppleMusic(query.data.revision),
|
|
14695
14730
|
"Apple Music disconnected. Your saved interests stay."
|
|
14696
|
-
) : Promise.resolve(void 0)
|
|
14731
|
+
) : Promise.resolve(void 0),
|
|
14732
|
+
disconnectSpotify: () => {
|
|
14733
|
+
var _a;
|
|
14734
|
+
const revision = (_a = query.data) == null ? void 0 : _a.revision;
|
|
14735
|
+
return revision === void 0 ? Promise.resolve(void 0) : perform(
|
|
14736
|
+
() => disconnectSpotify(revision),
|
|
14737
|
+
"Spotify disconnected. Your saved interests stay."
|
|
14738
|
+
);
|
|
14739
|
+
}
|
|
14697
14740
|
};
|
|
14698
14741
|
};
|
|
14699
14742
|
var useInterestSelection = () => {
|
|
@@ -16467,6 +16510,46 @@ Object.assign(accountEs, {
|
|
|
16467
16510
|
"account.choose_images_totaling_no_more_than_5_mib_after_processing": "Elige im\xE1genes que no sumen m\xE1s de 5 MiB despu\xE9s del procesamiento.",
|
|
16468
16511
|
"account.write_a_comment_or_choose_an_image": "Escribe un comentario o elige una imagen."
|
|
16469
16512
|
});
|
|
16513
|
+
Object.assign(accountEn, {
|
|
16514
|
+
"account.spotify_disconnected_your_saved_interests_stay": "Spotify disconnected. Your saved interests stay.",
|
|
16515
|
+
"account.choose_which_artist_and_genre_names_to_use_for_event_suggestions": "Choose which artist and genre names to use for event suggestions.",
|
|
16516
|
+
"account.disconnect_spotify_and_remove_its_imported_data_and_approved_names_your_saved_interests_stay": "Disconnect Spotify and remove its imported data and approved names? Your saved interests stay.",
|
|
16517
|
+
"account.review_choices": "Review choices",
|
|
16518
|
+
"account.no_artist_or_genre_names_approved_yet": "No artist or genre names approved yet.",
|
|
16519
|
+
"account.refresh_connections": "Refresh connections",
|
|
16520
|
+
"account.only_the_artist_and_genre_names_you_approve_are_used_for_these_event_suggestions": "Only the artist and genre names you approve are used for these event suggestions.",
|
|
16521
|
+
"account.continue_in_a_new_tab_to_review_your_spotify_choices_return_here_when_you_finish": "Continue in a new tab to review your Spotify choices. Return here when you finish.",
|
|
16522
|
+
"account.continue_to_spotify": "Continue to Spotify",
|
|
16523
|
+
"account.spotify_connections_are_not_available_right_now": "Spotify connections are not available right now.",
|
|
16524
|
+
"account.spotify_could_not_confirm_this_account_please_try_again": "Spotify could not confirm this account. Please try again.",
|
|
16525
|
+
"account.this_spotify_connection_expired_open_a_new_connection": "This Spotify connection expired. Open a new connection.",
|
|
16526
|
+
"account.your_account_changed_open_a_new_spotify_connection": "Your account changed. Open a new Spotify connection.",
|
|
16527
|
+
"account.choose_only_the_spotify_names_shown_for_this_connection": "Choose only the Spotify names shown for this connection.",
|
|
16528
|
+
"account.spotify_artist_names_could_not_be_loaded_please_try_again": "Spotify artist names could not be loaded. Please try again.",
|
|
16529
|
+
"account.disconnect_spotify": "Disconnect Spotify?",
|
|
16530
|
+
"account.your_imported_spotify_data_and_approved_names_will_be_removed_your_saved_interests_stay": "Your imported Spotify data and approved names will be removed. Your saved interests stay.",
|
|
16531
|
+
"account.sign_in_to_manage_your_music_connections": "Sign in to manage your music connections."
|
|
16532
|
+
});
|
|
16533
|
+
Object.assign(accountEs, {
|
|
16534
|
+
"account.spotify_disconnected_your_saved_interests_stay": "Spotify se desconect\xF3. Tus intereses guardados se conservan.",
|
|
16535
|
+
"account.choose_which_artist_and_genre_names_to_use_for_event_suggestions": "Elige qu\xE9 nombres de artistas y g\xE9neros usar para sugerirte eventos.",
|
|
16536
|
+
"account.disconnect_spotify_and_remove_its_imported_data_and_approved_names_your_saved_interests_stay": "\xBFDesconectar Spotify y eliminar sus datos importados y los nombres aprobados? Tus intereses guardados se conservan.",
|
|
16537
|
+
"account.review_choices": "Revisar selecciones",
|
|
16538
|
+
"account.no_artist_or_genre_names_approved_yet": "A\xFAn no has aprobado nombres de artistas o g\xE9neros.",
|
|
16539
|
+
"account.refresh_connections": "Actualizar conexiones",
|
|
16540
|
+
"account.only_the_artist_and_genre_names_you_approve_are_used_for_these_event_suggestions": "Solo se usan los nombres de artistas y g\xE9neros que apruebas para estas sugerencias de eventos.",
|
|
16541
|
+
"account.continue_in_a_new_tab_to_review_your_spotify_choices_return_here_when_you_finish": "Contin\xFAa en una pesta\xF1a nueva para revisar tus selecciones de Spotify. Vuelve aqu\xED cuando termines.",
|
|
16542
|
+
"account.continue_to_spotify": "Continuar a Spotify",
|
|
16543
|
+
"account.spotify_connections_are_not_available_right_now": "Las conexiones de Spotify no est\xE1n disponibles en este momento.",
|
|
16544
|
+
"account.spotify_could_not_confirm_this_account_please_try_again": "Spotify no pudo confirmar esta cuenta. Int\xE9ntalo de nuevo.",
|
|
16545
|
+
"account.this_spotify_connection_expired_open_a_new_connection": "Esta conexi\xF3n de Spotify ha caducado. Abre una nueva conexi\xF3n.",
|
|
16546
|
+
"account.your_account_changed_open_a_new_spotify_connection": "Tu cuenta ha cambiado. Abre una nueva conexi\xF3n de Spotify.",
|
|
16547
|
+
"account.choose_only_the_spotify_names_shown_for_this_connection": "Elige solo los nombres de Spotify que se muestran para esta conexi\xF3n.",
|
|
16548
|
+
"account.spotify_artist_names_could_not_be_loaded_please_try_again": "No se pudieron cargar los nombres de artistas de Spotify. Int\xE9ntalo de nuevo.",
|
|
16549
|
+
"account.disconnect_spotify": "\xBFDesconectar Spotify?",
|
|
16550
|
+
"account.your_imported_spotify_data_and_approved_names_will_be_removed_your_saved_interests_stay": "Se eliminar\xE1n tus datos importados de Spotify y los nombres aprobados. Tus intereses guardados se conservan.",
|
|
16551
|
+
"account.sign_in_to_manage_your_music_connections": "Inicia sesi\xF3n para gestionar tus conexiones de m\xFAsica."
|
|
16552
|
+
});
|
|
16470
16553
|
var en = {
|
|
16471
16554
|
"auth.completionAgree": "I agree to the Terms of Service and Privacy Policy.",
|
|
16472
16555
|
"auth.completionTerms": "Read Terms of Service",
|
|
@@ -17608,48 +17691,48 @@ var Card = ({
|
|
|
17608
17691
|
style
|
|
17609
17692
|
}) => {
|
|
17610
17693
|
const theme = useTheme();
|
|
17611
|
-
const
|
|
17612
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: [
|
|
17694
|
+
const s5 = useStyles(theme);
|
|
17695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: [s5.card, style], children });
|
|
17613
17696
|
};
|
|
17614
17697
|
var SectionHeader = ({
|
|
17615
17698
|
title,
|
|
17616
17699
|
subtitle
|
|
17617
17700
|
}) => {
|
|
17618
17701
|
const theme = useTheme();
|
|
17619
|
-
const
|
|
17620
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_native.View, { style:
|
|
17621
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style:
|
|
17622
|
-
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style:
|
|
17702
|
+
const s5 = useStyles(theme);
|
|
17703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_native.View, { style: s5.sectionHeader, children: [
|
|
17704
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s5.sectionTitle, children: title }),
|
|
17705
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: s5.sectionSubtitle, children: subtitle }) : null
|
|
17623
17706
|
] });
|
|
17624
17707
|
};
|
|
17625
17708
|
var Divider = () => {
|
|
17626
17709
|
const theme = useTheme();
|
|
17627
|
-
const
|
|
17628
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style:
|
|
17710
|
+
const s5 = useStyles(theme);
|
|
17711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.View, { style: s5.divider });
|
|
17629
17712
|
};
|
|
17630
17713
|
var BodyText = ({
|
|
17631
17714
|
children,
|
|
17632
17715
|
style
|
|
17633
17716
|
}) => {
|
|
17634
17717
|
const theme = useTheme();
|
|
17635
|
-
const
|
|
17636
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [
|
|
17718
|
+
const s5 = useStyles(theme);
|
|
17719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.body, style], children });
|
|
17637
17720
|
};
|
|
17638
17721
|
var MutedText = ({
|
|
17639
17722
|
children,
|
|
17640
17723
|
style
|
|
17641
17724
|
}) => {
|
|
17642
17725
|
const theme = useTheme();
|
|
17643
|
-
const
|
|
17644
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [
|
|
17726
|
+
const s5 = useStyles(theme);
|
|
17727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.muted, style], children });
|
|
17645
17728
|
};
|
|
17646
17729
|
var ErrorText = ({ children }) => {
|
|
17647
17730
|
const theme = useTheme();
|
|
17648
|
-
const
|
|
17731
|
+
const s5 = useStyles(theme);
|
|
17649
17732
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
17650
17733
|
import_react_native.Text,
|
|
17651
17734
|
{
|
|
17652
|
-
style:
|
|
17735
|
+
style: s5.errorText,
|
|
17653
17736
|
accessibilityRole: "alert",
|
|
17654
17737
|
accessibilityLiveRegion: "assertive",
|
|
17655
17738
|
children
|
|
@@ -17664,7 +17747,7 @@ var Button = ({
|
|
|
17664
17747
|
variant = "primary"
|
|
17665
17748
|
}) => {
|
|
17666
17749
|
const theme = useTheme();
|
|
17667
|
-
const
|
|
17750
|
+
const s5 = useStyles(theme);
|
|
17668
17751
|
const frozen = useFrozen();
|
|
17669
17752
|
const isDisabled = disabled || loading || frozen;
|
|
17670
17753
|
const ghost = variant === "ghost";
|
|
@@ -17676,10 +17759,10 @@ var Button = ({
|
|
|
17676
17759
|
disabled: isDisabled,
|
|
17677
17760
|
onPress,
|
|
17678
17761
|
style: ({ pressed }) => [
|
|
17679
|
-
|
|
17680
|
-
ghost &&
|
|
17681
|
-
isDisabled &&
|
|
17682
|
-
pressed && !isDisabled &&
|
|
17762
|
+
s5.button,
|
|
17763
|
+
ghost && s5.buttonGhost,
|
|
17764
|
+
isDisabled && s5.buttonDisabled,
|
|
17765
|
+
pressed && !isDisabled && s5.buttonPressed
|
|
17683
17766
|
],
|
|
17684
17767
|
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
17685
17768
|
import_react_native.ActivityIndicator,
|
|
@@ -17687,7 +17770,7 @@ var Button = ({
|
|
|
17687
17770
|
size: "small",
|
|
17688
17771
|
color: ghost ? theme.accent : theme.accentContrast
|
|
17689
17772
|
}
|
|
17690
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [
|
|
17773
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native.Text, { style: [s5.buttonLabel, ghost && s5.buttonLabelGhost], children })
|
|
17691
17774
|
}
|
|
17692
17775
|
);
|
|
17693
17776
|
};
|
|
@@ -17773,7 +17856,7 @@ var useInstallmentPicker = () => {
|
|
|
17773
17856
|
};
|
|
17774
17857
|
var InstallmentModal = ({ offers, onChoose, onClose }) => {
|
|
17775
17858
|
const theme = useTheme();
|
|
17776
|
-
const
|
|
17859
|
+
const s5 = useStyles2(theme);
|
|
17777
17860
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
17778
17861
|
import_react_native2.Modal,
|
|
17779
17862
|
{
|
|
@@ -17781,25 +17864,25 @@ var InstallmentModal = ({ offers, onChoose, onClose }) => {
|
|
|
17781
17864
|
transparent: true,
|
|
17782
17865
|
animationType: "fade",
|
|
17783
17866
|
onRequestClose: onClose,
|
|
17784
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Pressable, { style:
|
|
17867
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Pressable, { style: s5.backdrop, onPress: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Pressable, { style: s5.box, onPress: () => {
|
|
17785
17868
|
}, children: [
|
|
17786
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Text, { style:
|
|
17787
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.View, { style:
|
|
17869
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.Text, { style: s5.title, accessibilityRole: "header", children: "Pay in installments?" }),
|
|
17870
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native2.View, { style: s5.list, children: (offers != null ? offers : []).map((offer, i) => {
|
|
17788
17871
|
var _a;
|
|
17789
17872
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
17790
17873
|
import_react_native2.Pressable,
|
|
17791
17874
|
{
|
|
17792
17875
|
accessibilityRole: "button",
|
|
17793
|
-
style: ({ pressed }) => [
|
|
17876
|
+
style: ({ pressed }) => [s5.option, pressed && s5.optionPressed],
|
|
17794
17877
|
onPress: () => onChoose(offer),
|
|
17795
17878
|
children: [
|
|
17796
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style:
|
|
17879
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s5.optionMain, children: [
|
|
17797
17880
|
offer.count,
|
|
17798
17881
|
" \xD7",
|
|
17799
17882
|
" ",
|
|
17800
17883
|
(_a = offer.per_installment_formatted) != null ? _a : offer.per_installment
|
|
17801
17884
|
] }),
|
|
17802
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style:
|
|
17885
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native2.Text, { style: s5.optionMeta, children: [
|
|
17803
17886
|
offer.total_formatted ? `${offer.total_formatted} total` : "",
|
|
17804
17887
|
offer.diff_from_original_formatted ? ` \xB7 ${offer.diff_from_original_formatted}` : ""
|
|
17805
17888
|
] })
|
|
@@ -18389,14 +18472,14 @@ var import_react_native6 = require("react-native");
|
|
|
18389
18472
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
18390
18473
|
var Field = ({ label, error, required, children }) => {
|
|
18391
18474
|
const theme = useTheme();
|
|
18392
|
-
const
|
|
18393
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.View, { style:
|
|
18394
|
-
label ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.Text, { style:
|
|
18475
|
+
const s5 = useFieldStyles(theme);
|
|
18476
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.View, { style: s5.field, children: [
|
|
18477
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_native6.Text, { style: s5.label, children: [
|
|
18395
18478
|
label,
|
|
18396
|
-
required ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style:
|
|
18479
|
+
required ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.required, children: " *" }) : null
|
|
18397
18480
|
] }) : null,
|
|
18398
18481
|
children,
|
|
18399
|
-
error ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style:
|
|
18482
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.error, children: error }) : null
|
|
18400
18483
|
] });
|
|
18401
18484
|
};
|
|
18402
18485
|
var Input = ({
|
|
@@ -18414,17 +18497,17 @@ var Input = ({
|
|
|
18414
18497
|
const frozen = useFrozen();
|
|
18415
18498
|
const editable = editableProp && !frozen;
|
|
18416
18499
|
const theme = useTheme();
|
|
18417
|
-
const
|
|
18500
|
+
const s5 = useFieldStyles(theme);
|
|
18418
18501
|
const [focused, setFocused] = (0, import_react38.useState)(false);
|
|
18419
18502
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
18420
18503
|
import_react_native6.TextInput,
|
|
18421
18504
|
{
|
|
18422
18505
|
...nativeProps,
|
|
18423
18506
|
style: [
|
|
18424
|
-
|
|
18425
|
-
focused &&
|
|
18426
|
-
invalid &&
|
|
18427
|
-
!editable &&
|
|
18507
|
+
s5.input,
|
|
18508
|
+
focused && s5.inputFocused,
|
|
18509
|
+
invalid && s5.inputInvalid,
|
|
18510
|
+
!editable && s5.inputDisabled
|
|
18428
18511
|
],
|
|
18429
18512
|
value: value6,
|
|
18430
18513
|
onChangeText,
|
|
@@ -18445,7 +18528,7 @@ var Input = ({
|
|
|
18445
18528
|
};
|
|
18446
18529
|
var Checkbox = ({ checked, onChange, label, invalid = false }) => {
|
|
18447
18530
|
const theme = useTheme();
|
|
18448
|
-
const
|
|
18531
|
+
const s5 = useFieldStyles(theme);
|
|
18449
18532
|
const frozen = useFrozen();
|
|
18450
18533
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
18451
18534
|
import_react_native6.Pressable,
|
|
@@ -18454,20 +18537,20 @@ var Checkbox = ({ checked, onChange, label, invalid = false }) => {
|
|
|
18454
18537
|
accessibilityState: { checked, disabled: frozen },
|
|
18455
18538
|
disabled: frozen,
|
|
18456
18539
|
onPress: () => onChange(!checked),
|
|
18457
|
-
style:
|
|
18540
|
+
style: s5.checkboxRow,
|
|
18458
18541
|
children: [
|
|
18459
18542
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
18460
18543
|
import_react_native6.View,
|
|
18461
18544
|
{
|
|
18462
18545
|
style: [
|
|
18463
|
-
|
|
18464
|
-
checked &&
|
|
18465
|
-
invalid && !checked &&
|
|
18546
|
+
s5.checkboxBox,
|
|
18547
|
+
checked && s5.checkboxBoxChecked,
|
|
18548
|
+
invalid && !checked && s5.checkboxBoxInvalid
|
|
18466
18549
|
],
|
|
18467
|
-
children: checked ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style:
|
|
18550
|
+
children: checked ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.checkboxMark, children: "\u2713" }) : null
|
|
18468
18551
|
}
|
|
18469
18552
|
),
|
|
18470
|
-
typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style:
|
|
18553
|
+
typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_native6.Text, { style: s5.checkboxLabel, children: label }) : label
|
|
18471
18554
|
]
|
|
18472
18555
|
}
|
|
18473
18556
|
);
|
|
@@ -18536,7 +18619,7 @@ function Select({
|
|
|
18536
18619
|
const frozen = useFrozen();
|
|
18537
18620
|
const disabled = disabledProp || frozen;
|
|
18538
18621
|
const theme = useTheme();
|
|
18539
|
-
const
|
|
18622
|
+
const s5 = useSelectStyles(theme);
|
|
18540
18623
|
const [open, setOpen] = (0, import_react39.useState)(false);
|
|
18541
18624
|
const selected = options.find((o) => o.value === value6);
|
|
18542
18625
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
|
|
@@ -18546,10 +18629,10 @@ function Select({
|
|
|
18546
18629
|
accessibilityRole: "button",
|
|
18547
18630
|
disabled,
|
|
18548
18631
|
onPress: () => setOpen(true),
|
|
18549
|
-
style: [
|
|
18632
|
+
style: [s5.control, invalid && s5.controlInvalid, disabled && s5.controlDisabled],
|
|
18550
18633
|
children: [
|
|
18551
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [
|
|
18552
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style:
|
|
18634
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s5.value, !selected && s5.placeholder], numberOfLines: 1, children: selected ? selected.label : placeholder }),
|
|
18635
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s5.chevron, children: "\u25BE" })
|
|
18553
18636
|
]
|
|
18554
18637
|
}
|
|
18555
18638
|
),
|
|
@@ -18560,7 +18643,7 @@ function Select({
|
|
|
18560
18643
|
transparent: true,
|
|
18561
18644
|
animationType: "fade",
|
|
18562
18645
|
onRequestClose: () => setOpen(false),
|
|
18563
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style:
|
|
18646
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s5.backdrop, onPress: () => setOpen(false), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Pressable, { style: s5.sheet, onPress: () => {
|
|
18564
18647
|
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
18565
18648
|
import_react_native7.FlatList,
|
|
18566
18649
|
{
|
|
@@ -18572,19 +18655,19 @@ function Select({
|
|
|
18572
18655
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
18573
18656
|
import_react_native7.Pressable,
|
|
18574
18657
|
{
|
|
18575
|
-
style:
|
|
18658
|
+
style: s5.option,
|
|
18576
18659
|
onPress: () => {
|
|
18577
18660
|
onChange(item.value);
|
|
18578
18661
|
setOpen(false);
|
|
18579
18662
|
},
|
|
18580
18663
|
children: [
|
|
18581
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [
|
|
18582
|
-
isSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style:
|
|
18664
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: [s5.optionLabel, isSelected && s5.optionLabelSelected], children: item.label }),
|
|
18665
|
+
isSelected ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.Text, { style: s5.optionCheck, children: "\u2713" }) : null
|
|
18583
18666
|
]
|
|
18584
18667
|
}
|
|
18585
18668
|
);
|
|
18586
18669
|
},
|
|
18587
|
-
ItemSeparatorComponent: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.View, { style:
|
|
18670
|
+
ItemSeparatorComponent: () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_native7.View, { style: s5.sep })
|
|
18588
18671
|
}
|
|
18589
18672
|
) }) })
|
|
18590
18673
|
}
|
|
@@ -18667,7 +18750,7 @@ var QuantitySelect = ({
|
|
|
18667
18750
|
const frozen = useFrozen();
|
|
18668
18751
|
const disabled = disabledProp || frozen;
|
|
18669
18752
|
const theme = useTheme();
|
|
18670
|
-
const
|
|
18753
|
+
const s5 = useQuantityStyles(theme);
|
|
18671
18754
|
const lo = Math.max(1, min);
|
|
18672
18755
|
const cap = Math.min(max, 50);
|
|
18673
18756
|
const atZero = value6 <= 0;
|
|
@@ -18683,7 +18766,7 @@ var QuantitySelect = ({
|
|
|
18683
18766
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
18684
18767
|
import_react_native8.View,
|
|
18685
18768
|
{
|
|
18686
|
-
style:
|
|
18769
|
+
style: s5.stepper,
|
|
18687
18770
|
accessible: Boolean(label),
|
|
18688
18771
|
accessibilityRole: label ? "adjustable" : void 0,
|
|
18689
18772
|
accessibilityLabel: label,
|
|
@@ -18702,11 +18785,11 @@ var QuantitySelect = ({
|
|
|
18702
18785
|
accessibilityLabel: "Remove one",
|
|
18703
18786
|
disabled: disabled || atZero,
|
|
18704
18787
|
onPress: dec,
|
|
18705
|
-
style: [
|
|
18706
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style:
|
|
18788
|
+
style: [s5.btn, (disabled || atZero) && s5.btnDisabled],
|
|
18789
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.glyph, children: "\u2212" })
|
|
18707
18790
|
}
|
|
18708
18791
|
),
|
|
18709
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style:
|
|
18792
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.value, children: value6 }),
|
|
18710
18793
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
18711
18794
|
import_react_native8.Pressable,
|
|
18712
18795
|
{
|
|
@@ -18714,8 +18797,8 @@ var QuantitySelect = ({
|
|
|
18714
18797
|
accessibilityLabel: "Add one",
|
|
18715
18798
|
disabled: disabled || atCap,
|
|
18716
18799
|
onPress: inc,
|
|
18717
|
-
style: [
|
|
18718
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style:
|
|
18800
|
+
style: [s5.btn, (disabled || atCap) && s5.btnDisabled],
|
|
18801
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_native8.Text, { style: s5.glyph, children: "+" })
|
|
18719
18802
|
}
|
|
18720
18803
|
)
|
|
18721
18804
|
]
|
|
@@ -18752,8 +18835,8 @@ var useQuantityStyles = (theme) => (0, import_react40.useMemo)(
|
|
|
18752
18835
|
var import_react41 = require("react");
|
|
18753
18836
|
var import_react_native9 = require("react-native");
|
|
18754
18837
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
18755
|
-
var clock = (
|
|
18756
|
-
const v = Math.max(0, Math.floor(
|
|
18838
|
+
var clock = (s5) => {
|
|
18839
|
+
const v = Math.max(0, Math.floor(s5));
|
|
18757
18840
|
return v >= 3600 ? `${Math.floor(v / 3600)}:${String(Math.floor(v % 3600 / 60)).padStart(
|
|
18758
18841
|
2,
|
|
18759
18842
|
"0"
|
|
@@ -18761,11 +18844,11 @@ var clock = (s4) => {
|
|
|
18761
18844
|
};
|
|
18762
18845
|
var Timer = ({ seconds, urgentAt = 60, label }) => {
|
|
18763
18846
|
const theme = useTheme();
|
|
18764
|
-
const
|
|
18847
|
+
const s5 = useTimerStyles(theme);
|
|
18765
18848
|
const urgent = seconds <= urgentAt;
|
|
18766
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native9.View, { style:
|
|
18767
|
-
label != null ? typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style:
|
|
18768
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: [
|
|
18849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_react_native9.View, { style: s5.row, children: [
|
|
18850
|
+
label != null ? typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: s5.label, children: label }) : label : null,
|
|
18851
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_native9.Text, { style: [s5.clock, urgent && s5.clockUrgent], children: clock(seconds) })
|
|
18769
18852
|
] });
|
|
18770
18853
|
};
|
|
18771
18854
|
var useTimerStyles = (theme) => (0, import_react41.useMemo)(
|
|
@@ -18796,9 +18879,9 @@ var import_jsx_runtime11 = (
|
|
|
18796
18879
|
// `role="status"` — announce the countdown without stealing focus.
|
|
18797
18880
|
require("react/jsx-runtime")
|
|
18798
18881
|
);
|
|
18799
|
-
var clock2 = (
|
|
18800
|
-
const m = String(Math.floor(
|
|
18801
|
-
const ss = String(
|
|
18882
|
+
var clock2 = (s5) => {
|
|
18883
|
+
const m = String(Math.floor(s5 / 60)).padStart(2, "0");
|
|
18884
|
+
const ss = String(s5 % 60).padStart(2, "0");
|
|
18802
18885
|
return `${m}:${ss}`;
|
|
18803
18886
|
};
|
|
18804
18887
|
var TimerBanner = ({
|
|
@@ -18807,13 +18890,13 @@ var TimerBanner = ({
|
|
|
18807
18890
|
message = "Please complete your purchase before the timer reaches zero."
|
|
18808
18891
|
}) => {
|
|
18809
18892
|
const theme = useTheme();
|
|
18810
|
-
const
|
|
18893
|
+
const s5 = useBannerStyles(theme);
|
|
18811
18894
|
const [dismissed, setDismissed] = (0, import_react42.useState)(false);
|
|
18812
18895
|
if (seconds === void 0 || seconds <= 0 || dismissed) return null;
|
|
18813
18896
|
const urgent = seconds <= urgentAt;
|
|
18814
|
-
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native10.View, { accessibilityLiveRegion: "polite", style: [
|
|
18815
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [
|
|
18816
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [
|
|
18897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_react_native10.View, { accessibilityLiveRegion: "polite", style: [s5.banner, urgent && s5.bannerUrgent], children: [
|
|
18898
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.msg, urgent && s5.textUrgent], children: message }),
|
|
18899
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.clock, urgent && s5.textUrgent], children: clock2(seconds) }),
|
|
18817
18900
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
18818
18901
|
import_react_native10.Pressable,
|
|
18819
18902
|
{
|
|
@@ -18821,8 +18904,8 @@ var TimerBanner = ({
|
|
|
18821
18904
|
accessibilityLabel: "Dismiss",
|
|
18822
18905
|
hitSlop: 8,
|
|
18823
18906
|
onPress: () => setDismissed(true),
|
|
18824
|
-
style:
|
|
18825
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [
|
|
18907
|
+
style: s5.close,
|
|
18908
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_native10.Text, { style: [s5.closeGlyph, urgent && s5.textUrgent], children: "\xD7" })
|
|
18826
18909
|
}
|
|
18827
18910
|
)
|
|
18828
18911
|
] });
|
|
@@ -18886,14 +18969,14 @@ var PaymentMethods = ({
|
|
|
18886
18969
|
}) => {
|
|
18887
18970
|
const theme = useTheme();
|
|
18888
18971
|
const frozen = useFrozen();
|
|
18889
|
-
const
|
|
18890
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style:
|
|
18972
|
+
const s5 = useStyles3(theme);
|
|
18973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s5.list, accessibilityRole: "radiogroup", children: options.map((option) => {
|
|
18891
18974
|
var _a, _b;
|
|
18892
18975
|
const active2 = option.value === selected;
|
|
18893
18976
|
const extraValue = option.extra === "phoneNumber" ? (_a = extraValues[option.value]) == null ? void 0 : _a.phoneNumber : (_b = extraValues[option.value]) == null ? void 0 : _b.cashtag;
|
|
18894
18977
|
const extraInvalid = Boolean(active2 && option.extra && showValidation) && !(extraValue == null ? void 0 : extraValue.trim());
|
|
18895
18978
|
const showBody = active2 && (option.value === inputSlotFor || Boolean(option.extra));
|
|
18896
|
-
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: [
|
|
18979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: [s5.row, active2 && s5.rowActive], children: [
|
|
18897
18980
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
18898
18981
|
import_react_native11.Pressable,
|
|
18899
18982
|
{
|
|
@@ -18903,23 +18986,23 @@ var PaymentMethods = ({
|
|
|
18903
18986
|
onPress: () => {
|
|
18904
18987
|
if (!frozen) onSelect(option.value);
|
|
18905
18988
|
},
|
|
18906
|
-
style:
|
|
18989
|
+
style: s5.rowHead,
|
|
18907
18990
|
children: [
|
|
18908
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: [
|
|
18991
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: [s5.radio, active2 && s5.radioActive], children: active2 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.View, { style: s5.radioDot }) : null }),
|
|
18909
18992
|
option.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
18910
18993
|
import_react_native11.Image,
|
|
18911
18994
|
{
|
|
18912
18995
|
source: { uri: option.iconUrl },
|
|
18913
|
-
style:
|
|
18996
|
+
style: s5.icon,
|
|
18914
18997
|
resizeMode: "contain",
|
|
18915
18998
|
accessibilityIgnoresInvertColors: true
|
|
18916
18999
|
}
|
|
18917
19000
|
) : null,
|
|
18918
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.Text, { style:
|
|
19001
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_native11.Text, { style: s5.rowLabel, children: option.label })
|
|
18919
19002
|
]
|
|
18920
19003
|
}
|
|
18921
19004
|
),
|
|
18922
|
-
showBody ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style:
|
|
19005
|
+
showBody ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react_native11.View, { style: s5.slot, children: [
|
|
18923
19006
|
option.value === inputSlotFor ? children : null,
|
|
18924
19007
|
option.extra ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
18925
19008
|
Field,
|
|
@@ -19065,7 +19148,7 @@ var Tickets = ({
|
|
|
19065
19148
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
19066
19149
|
const checkout = useCheckoutContext();
|
|
19067
19150
|
const theme = useTheme();
|
|
19068
|
-
const
|
|
19151
|
+
const s5 = useTicketStyles(theme);
|
|
19069
19152
|
const ticketsQuery = hooks_exports.useTicketsWithMeta(eventId);
|
|
19070
19153
|
const bundleWait = hooks_exports.useTicketGatewayWait(checkout.store);
|
|
19071
19154
|
const bundleStarting = bundleWait !== null;
|
|
@@ -19200,13 +19283,13 @@ var Tickets = ({
|
|
|
19200
19283
|
const ticketIndex = tickets.findIndex((candidate) => candidate.id === t.id);
|
|
19201
19284
|
const previousTicket = ticketIndex > 0 ? tickets[ticketIndex - 1] : void 0;
|
|
19202
19285
|
const startsNamedGroup = Boolean(t.groupName) && t.groupName !== (previousTicket == null ? void 0 : previousTicket.groupName);
|
|
19203
|
-
const groupHeading = startsNamedGroup ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19286
|
+
const groupHeading = startsNamedGroup ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.group, children: t.groupName }) : t.id === firstTableId ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
19204
19287
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Divider, {}),
|
|
19205
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19288
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.group, children: "Reserve tables" })
|
|
19206
19289
|
] }) : null;
|
|
19207
19290
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react44.Fragment, { children: [
|
|
19208
19291
|
groupHeading,
|
|
19209
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: renderTicket ? void 0 :
|
|
19292
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: renderTicket ? void 0 : s5.rowWrap, children: [
|
|
19210
19293
|
renderTicket ? renderTicket({
|
|
19211
19294
|
ticket: t,
|
|
19212
19295
|
quantity: (_a2 = qty[t.id]) != null ? _a2 : 0,
|
|
@@ -19217,36 +19300,36 @@ var Tickets = ({
|
|
|
19217
19300
|
if (!checkout.orderFixed) selectQty(t, value6);
|
|
19218
19301
|
}
|
|
19219
19302
|
}) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
19220
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19221
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19222
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19223
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19303
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.row, children: [
|
|
19304
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.info, children: [
|
|
19305
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.nameRow, children: [
|
|
19306
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.name, children: t.name }),
|
|
19224
19307
|
t.descriptionRich ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19225
19308
|
import_react_native12.Pressable,
|
|
19226
19309
|
{
|
|
19227
19310
|
accessibilityRole: "button",
|
|
19228
19311
|
onPress: () => setVisibleDescription((cur) => cur === t.id ? null : t.id),
|
|
19229
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19312
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.infoToggle, children: visibleDescription === t.id ? "Hide info" : "View info" })
|
|
19230
19313
|
}
|
|
19231
19314
|
) : null
|
|
19232
19315
|
] }),
|
|
19233
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19234
|
-
discounted && original != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19235
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: [
|
|
19236
|
-
t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19237
|
-
!isFree && !t.soldOut ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style:
|
|
19316
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.priceRow, children: [
|
|
19317
|
+
discounted && original != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.oldPrice, children: money(sym, original) }) : null,
|
|
19318
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: [s5.amount, isFree && s5.amountFree], children: isFree ? "FREE" : money(sym, t.price) }),
|
|
19319
|
+
t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.perTable, children: "\xB7 per table" }) : null,
|
|
19320
|
+
!isFree && !t.soldOut ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s5.fees, children: [
|
|
19238
19321
|
"(",
|
|
19239
19322
|
money(sym, t.priceWithFees),
|
|
19240
19323
|
" with fees)"
|
|
19241
19324
|
] }) : null,
|
|
19242
|
-
t.depositPercent != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style:
|
|
19325
|
+
t.depositPercent != null ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.Text, { style: s5.deposit, children: [
|
|
19243
19326
|
t.depositPercent.toFixed(2),
|
|
19244
19327
|
"% DEPOSIT"
|
|
19245
19328
|
] }) : null
|
|
19246
19329
|
] })
|
|
19247
19330
|
] }),
|
|
19248
|
-
seatMapRow(t) ? null : unavailable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19249
|
-
t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19331
|
+
seatMapRow(t) ? null : unavailable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.soldout, children: t.soldOut ? "Sold out" : notStarted ? "Sales not started" : "Sales Ended" }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.qtyWrap, children: [
|
|
19332
|
+
t.isTable ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.guests, children: "Guests" }) : null,
|
|
19250
19333
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19251
19334
|
QuantitySelect,
|
|
19252
19335
|
{
|
|
@@ -19259,7 +19342,7 @@ var Tickets = ({
|
|
|
19259
19342
|
)
|
|
19260
19343
|
] })
|
|
19261
19344
|
] }),
|
|
19262
|
-
t.descriptionRich && visibleDescription === t.id ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19345
|
+
t.descriptionRich && visibleDescription === t.id ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.description, children: htmlToPlainText(t.descriptionRich) }) : null
|
|
19263
19346
|
] }),
|
|
19264
19347
|
canWaitlist ? wlOpen[t.id] ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19265
19348
|
WaitingListForm,
|
|
@@ -19272,7 +19355,7 @@ var Tickets = ({
|
|
|
19272
19355
|
{
|
|
19273
19356
|
accessibilityRole: "button",
|
|
19274
19357
|
onPress: () => setWlOpen((w) => ({ ...w, [t.id]: true })),
|
|
19275
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19358
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.wlToggle, children: "Join the waiting list" })
|
|
19276
19359
|
}
|
|
19277
19360
|
) : null
|
|
19278
19361
|
] })
|
|
@@ -19290,10 +19373,10 @@ var Tickets = ({
|
|
|
19290
19373
|
const continueTitle = checkout.isBusy ? "Reserving\u2026" : selectionIsTable ? "Reserve tables" : buttonLabel;
|
|
19291
19374
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FrozenFields, { frozen: checkout.orderFixed, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Container, { children: [
|
|
19292
19375
|
title ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SectionHeader, { title }) : null,
|
|
19293
|
-
listQuery.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style:
|
|
19376
|
+
listQuery.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s5.loading, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, {}) }) : null,
|
|
19294
19377
|
listQuery.error ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ErrorText, { children: listQuery.error.message }) : null,
|
|
19295
|
-
isTimeSlot && dates.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19296
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19378
|
+
isTimeSlot && dates.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.selectBlock, children: [
|
|
19379
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.selectLabel, children: "Date" }),
|
|
19297
19380
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19298
19381
|
Select,
|
|
19299
19382
|
{
|
|
@@ -19306,8 +19389,8 @@ var Tickets = ({
|
|
|
19306
19389
|
}
|
|
19307
19390
|
)
|
|
19308
19391
|
] }) : null,
|
|
19309
|
-
currency && currency.available.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style:
|
|
19310
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19392
|
+
currency && currency.available.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react_native12.View, { style: s5.selectBlock, children: [
|
|
19393
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.selectLabel, children: "Currency" }),
|
|
19311
19394
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19312
19395
|
Select,
|
|
19313
19396
|
{
|
|
@@ -19322,10 +19405,10 @@ var Tickets = ({
|
|
|
19322
19405
|
] }) : null,
|
|
19323
19406
|
isTimeSlot && !slotQuery.isLoading && tickets.length === 0 && slotDate ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MutedText, { children: "No sessions available on this date." }) : null,
|
|
19324
19407
|
isTimeSlot ? timeGroups.map((g) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react44.Fragment, { children: [
|
|
19325
|
-
g.time ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style:
|
|
19408
|
+
g.time ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.slotTime, children: g.time }) : null,
|
|
19326
19409
|
g.items.map(renderRow)
|
|
19327
19410
|
] }, g.time)) : tickets.map(renderRow),
|
|
19328
|
-
showCodeInput ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style:
|
|
19411
|
+
showCodeInput ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.View, { style: s5.promo, children: !isAccess && !promoOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Pressable, { accessibilityRole: "button", onPress: () => setPromoOpen(true), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_native12.Text, { style: s5.promoToggle, children: "Got a promo code? Tap here" }) }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
19329
19412
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Field, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
19330
19413
|
Input,
|
|
19331
19414
|
{
|
|
@@ -19890,7 +19973,7 @@ var AddOns = ({
|
|
|
19890
19973
|
var _a, _b;
|
|
19891
19974
|
const checkout = useCheckoutContext();
|
|
19892
19975
|
const theme = useTheme();
|
|
19893
|
-
const
|
|
19976
|
+
const s5 = useAddonStyles(theme);
|
|
19894
19977
|
const {
|
|
19895
19978
|
query: addonsQuery,
|
|
19896
19979
|
addons,
|
|
@@ -19906,15 +19989,15 @@ var AddOns = ({
|
|
|
19906
19989
|
save,
|
|
19907
19990
|
skip
|
|
19908
19991
|
} = hooks_exports.useAddOnSelection(eventId, checkout, { onContinue, onSkip });
|
|
19909
|
-
const head = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style:
|
|
19910
|
-
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
19911
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
19912
|
-
onSkip && !hasRequired ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Pressable, { accessibilityRole: "button", onPress: skip, style:
|
|
19992
|
+
const head = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.head, children: [
|
|
19993
|
+
eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.eyebrow, children: eyebrow }) : null,
|
|
19994
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.heading, children: heading }),
|
|
19995
|
+
onSkip && !hasRequired ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Pressable, { accessibilityRole: "button", onPress: skip, style: s5.skipBtn, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.skip, children: "Skip" }) }) : null
|
|
19913
19996
|
] });
|
|
19914
19997
|
if (addonsQuery.isLoading) {
|
|
19915
19998
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { children: [
|
|
19916
19999
|
head,
|
|
19917
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style:
|
|
20000
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s5.sectionLoader, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Loader, {}) })
|
|
19918
20001
|
] });
|
|
19919
20002
|
}
|
|
19920
20003
|
if (addonsQuery.isError)
|
|
@@ -19937,30 +20020,30 @@ var AddOns = ({
|
|
|
19937
20020
|
const selectedCount = Object.values(qty).filter((n) => n > 0).length;
|
|
19938
20021
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FrozenFields, { frozen: checkout.orderFixed, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { children: [
|
|
19939
20022
|
head,
|
|
19940
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20023
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.subtitle, children: "PLEASE SELECT FROM THE OPTIONAL ADD-ONS BELOW" }),
|
|
19941
20024
|
groups.map((g, gi) => {
|
|
19942
20025
|
var _a2;
|
|
19943
20026
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react47.Fragment, { children: [
|
|
19944
|
-
g.heading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20027
|
+
g.heading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.group, children: g.heading }) : null,
|
|
19945
20028
|
g.items.map((a) => {
|
|
19946
20029
|
var _a3, _b2;
|
|
19947
20030
|
const n = (_a3 = qty[a.id]) != null ? _a3 : 0;
|
|
19948
20031
|
const group = fieldGroups[a.id];
|
|
19949
20032
|
const desc = a.description ? htmlToPlainText(a.description) : "";
|
|
19950
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style:
|
|
19951
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style:
|
|
19952
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style:
|
|
19953
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style:
|
|
20033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.item, children: [
|
|
20034
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.row, children: [
|
|
20035
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.View, { style: s5.info, children: [
|
|
20036
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s5.name, children: [
|
|
19954
20037
|
a.name,
|
|
19955
|
-
a.required ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20038
|
+
a.required ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.req, children: " \xB7 required" }) : null
|
|
19956
20039
|
] }),
|
|
19957
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style:
|
|
20040
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_native16.Text, { style: s5.price, children: [
|
|
19958
20041
|
money2(a.currency, a.price),
|
|
19959
|
-
a.feeIncluded ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20042
|
+
a.feeIncluded ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.priceNote, children: " incl. fees" }) : null
|
|
19960
20043
|
] }),
|
|
19961
|
-
desc ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20044
|
+
desc ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.desc, children: desc }) : null
|
|
19962
20045
|
] }),
|
|
19963
|
-
soldOut(a) ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style:
|
|
20046
|
+
soldOut(a) ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.Text, { style: s5.soldOut, children: "Sold out" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
19964
20047
|
QuantitySelect,
|
|
19965
20048
|
{
|
|
19966
20049
|
value: n,
|
|
@@ -19970,7 +20053,7 @@ var AddOns = ({
|
|
|
19970
20053
|
}
|
|
19971
20054
|
)
|
|
19972
20055
|
] }),
|
|
19973
|
-
n > 0 && group ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style:
|
|
20056
|
+
n > 0 && group ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native16.View, { style: s5.fields, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
19974
20057
|
CustomFieldGroupFields,
|
|
19975
20058
|
{
|
|
19976
20059
|
group,
|
|
@@ -20104,7 +20187,7 @@ var Bundles = ({
|
|
|
20104
20187
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
20105
20188
|
const checkout = useCheckoutContext();
|
|
20106
20189
|
const theme = useTheme();
|
|
20107
|
-
const
|
|
20190
|
+
const s5 = useBundleStyles(theme);
|
|
20108
20191
|
const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
|
|
20109
20192
|
const flow = hooks_exports.useBundleFlow(rnConfirmer, eventId, {
|
|
20110
20193
|
claimCard: claimCardField,
|
|
@@ -20120,7 +20203,7 @@ var Bundles = ({
|
|
|
20120
20203
|
onPurchased
|
|
20121
20204
|
});
|
|
20122
20205
|
if (flow.view === "loading") {
|
|
20123
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.View, { style:
|
|
20206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.View, { style: s5.loader, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {}) }) });
|
|
20124
20207
|
}
|
|
20125
20208
|
if (flow.view === "catalogError") {
|
|
20126
20209
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
|
|
@@ -20138,11 +20221,11 @@ var Bundles = ({
|
|
|
20138
20221
|
] });
|
|
20139
20222
|
}
|
|
20140
20223
|
if (flow.view === "hidden") return null;
|
|
20141
|
-
const title = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20224
|
+
const title = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.heading, children: heading != null ? heading : t("bundles.heading") });
|
|
20142
20225
|
if (flow.view === "redirecting") {
|
|
20143
20226
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
|
|
20144
20227
|
title,
|
|
20145
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20228
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.redirecting") }),
|
|
20146
20229
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {})
|
|
20147
20230
|
] });
|
|
20148
20231
|
}
|
|
@@ -20150,10 +20233,10 @@ var Bundles = ({
|
|
|
20150
20233
|
const { result: result2 } = flow;
|
|
20151
20234
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
|
|
20152
20235
|
title,
|
|
20153
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20154
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20155
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20156
|
-
flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20236
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.done.title") }),
|
|
20237
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: result2.pending ? t("bundles.done.pending") : result2.email ? t("bundles.done.email", { email: result2.email }) : t("bundles.done.emailUnknown") }),
|
|
20238
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.done.order", { orderHash: result2.orderHash }) }),
|
|
20239
|
+
flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
|
|
20157
20240
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
20158
20241
|
Button,
|
|
20159
20242
|
{
|
|
@@ -20170,8 +20253,8 @@ var Bundles = ({
|
|
|
20170
20253
|
const amount = money3(flow.payAmount.currency || flow.currency, flow.payAmount.amount);
|
|
20171
20254
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
|
|
20172
20255
|
title,
|
|
20173
|
-
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20174
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20256
|
+
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
|
|
20257
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.buyerHeading") }),
|
|
20175
20258
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Field, { label: t("bundles.firstName"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
20176
20259
|
Input,
|
|
20177
20260
|
{
|
|
@@ -20201,8 +20284,8 @@ var Bundles = ({
|
|
|
20201
20284
|
}
|
|
20202
20285
|
) }),
|
|
20203
20286
|
flow.slots.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
20204
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20205
|
-
!flow.namesRequired ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20287
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.holdersHeading") }),
|
|
20288
|
+
!flow.namesRequired ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.holdersOptional") }) : null,
|
|
20206
20289
|
flow.slots.map((slot) => {
|
|
20207
20290
|
var _a2, _b2;
|
|
20208
20291
|
const value6 = flow.holderValue(slot);
|
|
@@ -20233,17 +20316,17 @@ var Bundles = ({
|
|
|
20233
20316
|
})
|
|
20234
20317
|
] }) : null,
|
|
20235
20318
|
flow.problems.map((key4) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ErrorText, { children: t(key4) }, key4)),
|
|
20236
|
-
flow.awaitingCard ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style:
|
|
20237
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20319
|
+
flow.awaitingCard ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s5.card, children: [
|
|
20320
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.cardHeading") }),
|
|
20238
20321
|
flow.cardElsewhere ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
20239
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20322
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.payingElsewhere") }),
|
|
20240
20323
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { variant: "ghost", onPress: flow.payHere, children: t("bundles.payHere") })
|
|
20241
20324
|
] }) : flow.cardFailed ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { variant: "ghost", onPress: flow.retryCard, children: t("bundles.retryCard") }) : flow.cardReady && visible ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CardInput, { owner: flow.cardOwner, visible }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Loader, {})
|
|
20242
20325
|
] }) : null,
|
|
20243
|
-
flow.stillSaving ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20244
|
-
flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20245
|
-
flow.waitingForTickets ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20246
|
-
flow.waitingForBundle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20326
|
+
flow.stillSaving ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
|
|
20327
|
+
flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
|
|
20328
|
+
flow.waitingForTickets ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.waitTickets") }) : null,
|
|
20329
|
+
flow.waitingForBundle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t((_g = flow.gatewayWait) != null ? _g : "bundles.waitOtherBundle") }) : null,
|
|
20247
20330
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
20248
20331
|
Button,
|
|
20249
20332
|
{
|
|
@@ -20278,13 +20361,13 @@ var Bundles = ({
|
|
|
20278
20361
|
const ticketsInCart = checkout.selections.length > 0;
|
|
20279
20362
|
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Card, { children: [
|
|
20280
20363
|
title,
|
|
20281
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20282
|
-
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20364
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.subtitle") }),
|
|
20365
|
+
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.notice.key, flow.notice.values) }) : null,
|
|
20283
20366
|
flow.view === "heldOrder" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
20284
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20367
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.heldOrder") }),
|
|
20285
20368
|
flow.error ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ErrorText, { children: t(flow.error) }) : null,
|
|
20286
|
-
flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20287
|
-
flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20369
|
+
flow.checkingAttempt ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("bundles.checkingAttempt") }) : null,
|
|
20370
|
+
flow.gatewayWait ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t(flow.gatewayWait) }) : null,
|
|
20288
20371
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
20289
20372
|
Button,
|
|
20290
20373
|
{
|
|
@@ -20309,18 +20392,18 @@ var Bundles = ({
|
|
|
20309
20392
|
const stock = bundleAvailabilityCopy(bundle);
|
|
20310
20393
|
const contents = bundleContentsLine(bundle);
|
|
20311
20394
|
const desc = htmlToPlainText((_a2 = bundle.description) != null ? _a2 : "");
|
|
20312
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: [
|
|
20313
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style:
|
|
20314
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20315
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20316
|
-
contents ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20317
|
-
bundle.bookingFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: [s5.item, { borderTopColor: theme.border }], children: [
|
|
20396
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_react_native17.View, { style: s5.info, children: [
|
|
20397
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.name, children: bundle.name }),
|
|
20398
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.price, children: money3(bundle.currency, bundle.price) }),
|
|
20399
|
+
contents ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.includes", { contents }) }) : null,
|
|
20400
|
+
bundle.bookingFee > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.bookingFee", {
|
|
20318
20401
|
amount: money3(bundle.currency, bundle.bookingFee)
|
|
20319
20402
|
}) }),
|
|
20320
|
-
desc ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20321
|
-
stock && stock.key !== "bundles.soldOut" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: [
|
|
20403
|
+
desc ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: desc }) : null,
|
|
20404
|
+
stock && stock.key !== "bundles.soldOut" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: [s5.muted, s5.stock], children: t(stock.key, stock.values) }) : null
|
|
20322
20405
|
] }),
|
|
20323
|
-
range.max === 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20406
|
+
range.max === 0 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.soldOut, children: t("bundles.soldOut") }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
20324
20407
|
QuantitySelect,
|
|
20325
20408
|
{
|
|
20326
20409
|
label: t("bundles.quantity", { name: bundle.name }),
|
|
@@ -20332,8 +20415,8 @@ var Bundles = ({
|
|
|
20332
20415
|
)
|
|
20333
20416
|
] }, bundle.id);
|
|
20334
20417
|
}),
|
|
20335
|
-
anySelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20336
|
-
anySelected && ticketsInCart ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style:
|
|
20418
|
+
anySelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.strong, children: t("bundles.total", { amount: money3(flow.currency, flow.total) }) }) : null,
|
|
20419
|
+
anySelected && ticketsInCart ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native17.Text, { style: s5.muted, children: t("bundles.boughtSeparately") }) : null,
|
|
20337
20420
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { onPress: flow.continueToDetails, disabled: !anySelected, children: t("bundles.continue") })
|
|
20338
20421
|
] });
|
|
20339
20422
|
};
|
|
@@ -20875,7 +20958,7 @@ var BillingInfo = ({
|
|
|
20875
20958
|
const checkout = useCheckoutContext();
|
|
20876
20959
|
const validation = useCheckoutValidation();
|
|
20877
20960
|
const theme = useTheme();
|
|
20878
|
-
const
|
|
20961
|
+
const s5 = useStyles4(theme);
|
|
20879
20962
|
const profile = hooks_exports.useCheckoutBuyerProfile(eventId);
|
|
20880
20963
|
const event = hooks_exports.useEvent(eventId);
|
|
20881
20964
|
const combined = !onContinue;
|
|
@@ -21147,9 +21230,9 @@ var BillingInfo = ({
|
|
|
21147
21230
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(FrozenFields, { frozen: checkout.orderFixed, children: [
|
|
21148
21231
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Card, { children: [
|
|
21149
21232
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(SectionHeader, { title: heading }),
|
|
21150
|
-
onLogin && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style:
|
|
21151
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style:
|
|
21152
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Pressable, { onPress: () => onLogin(), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style:
|
|
21233
|
+
onLogin && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.loginRow, children: [
|
|
21234
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.note, children: "Login & skip ahead:" }),
|
|
21235
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Pressable, { onPress: () => onLogin(), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.link, children: "Login" }) })
|
|
21153
21236
|
] }) : null,
|
|
21154
21237
|
gates.phoneFirstCheckout && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21155
21238
|
BillingPhoneIdentity,
|
|
@@ -21160,8 +21243,8 @@ var BillingInfo = ({
|
|
|
21160
21243
|
whatsappAvailable: Boolean(gates.phoneFirstWhatsapp)
|
|
21161
21244
|
}
|
|
21162
21245
|
) : null,
|
|
21163
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style:
|
|
21164
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style:
|
|
21246
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.row, children: [
|
|
21247
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("First name", "First name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21165
21248
|
Input,
|
|
21166
21249
|
{
|
|
21167
21250
|
placeholder: "First name *",
|
|
@@ -21171,7 +21254,7 @@ var BillingInfo = ({
|
|
|
21171
21254
|
invalid: Boolean(fieldError("First name"))
|
|
21172
21255
|
}
|
|
21173
21256
|
) }) }),
|
|
21174
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style:
|
|
21257
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Field, { error: fieldError("Last name", "Last name is required."), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21175
21258
|
Input,
|
|
21176
21259
|
{
|
|
21177
21260
|
placeholder: "Last name *",
|
|
@@ -21182,8 +21265,8 @@ var BillingInfo = ({
|
|
|
21182
21265
|
}
|
|
21183
21266
|
) }) })
|
|
21184
21267
|
] }),
|
|
21185
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style:
|
|
21186
|
-
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style:
|
|
21268
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.row, children: [
|
|
21269
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21187
21270
|
Field,
|
|
21188
21271
|
{
|
|
21189
21272
|
error: fieldError("Valid email address", "Enter a valid email address."),
|
|
@@ -21200,7 +21283,7 @@ var BillingInfo = ({
|
|
|
21200
21283
|
)
|
|
21201
21284
|
}
|
|
21202
21285
|
) }),
|
|
21203
|
-
requireEmailConfirmation && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style:
|
|
21286
|
+
requireEmailConfirmation && !checkout.isLoggedIn ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.View, { style: s5.col, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21204
21287
|
Field,
|
|
21205
21288
|
{
|
|
21206
21289
|
error: fieldError(
|
|
@@ -21222,10 +21305,10 @@ var BillingInfo = ({
|
|
|
21222
21305
|
) }) : null
|
|
21223
21306
|
] }),
|
|
21224
21307
|
!showValidation && requireEmailConfirmation && billing.confirmEmail && billing.confirmEmail.trim().toLowerCase() !== billing.email.trim().toLowerCase() ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ErrorText, { children: "The email addresses do not match." }) : null,
|
|
21225
|
-
emailTaken ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style:
|
|
21308
|
+
emailTaken ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s5.note, children: [
|
|
21226
21309
|
"This email is already registered.",
|
|
21227
21310
|
" ",
|
|
21228
|
-
onLogin ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style:
|
|
21311
|
+
onLogin ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.link, onPress: () => onLogin(billing.email), children: "Log in to autofill your details" }) : "Log in to autofill your details."
|
|
21229
21312
|
] }) : null,
|
|
21230
21313
|
checkout.buyerFields.map((f) => {
|
|
21231
21314
|
var _a2;
|
|
@@ -21289,7 +21372,7 @@ var BillingInfo = ({
|
|
|
21289
21372
|
}
|
|
21290
21373
|
) : null,
|
|
21291
21374
|
orderGroups.map((g) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react51.Fragment, { children: [
|
|
21292
|
-
g.label ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style:
|
|
21375
|
+
g.label ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_native22.Text, { style: s5.sectionLabel, children: g.label }) : null,
|
|
21293
21376
|
renderGroupFields(
|
|
21294
21377
|
g,
|
|
21295
21378
|
dataCapture,
|
|
@@ -21304,21 +21387,21 @@ var BillingInfo = ({
|
|
|
21304
21387
|
label: brandOptInLabel
|
|
21305
21388
|
}
|
|
21306
21389
|
) : null,
|
|
21307
|
-
privacyPolicy ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style:
|
|
21390
|
+
privacyPolicy ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.View, { style: s5.consent, children: [
|
|
21308
21391
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21309
21392
|
Checkbox,
|
|
21310
21393
|
{
|
|
21311
21394
|
checked: consent.ttfOptIn,
|
|
21312
21395
|
onChange: (ttfOptIn) => setConsent((c) => ({ ...c, ttfOptIn })),
|
|
21313
21396
|
invalid: privacyInvalid,
|
|
21314
|
-
label: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style:
|
|
21397
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_react_native22.Text, { style: s5.consentLabel, children: [
|
|
21315
21398
|
"I have read and agree to ",
|
|
21316
21399
|
privacyPolicy.brandName,
|
|
21317
21400
|
" ",
|
|
21318
21401
|
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
21319
21402
|
import_react_native22.Text,
|
|
21320
21403
|
{
|
|
21321
|
-
style:
|
|
21404
|
+
style: s5.link,
|
|
21322
21405
|
onPress: () => import_react_native22.Linking.openURL(privacyPolicy.url).catch(() => void 0),
|
|
21323
21406
|
children: privacyPolicy.linkLabel || "Privacy Policy."
|
|
21324
21407
|
}
|
|
@@ -21803,7 +21886,7 @@ var Payment = ({
|
|
|
21803
21886
|
selected,
|
|
21804
21887
|
onSelect: setSelected,
|
|
21805
21888
|
extraValues: extras,
|
|
21806
|
-
onExtraChange: (v, patch2) => setExtras((
|
|
21889
|
+
onExtraChange: (v, patch2) => setExtras((s5) => ({ ...s5, [v]: { ...s5[v], ...patch2 } })),
|
|
21807
21890
|
showValidation: validation.attempt > 0,
|
|
21808
21891
|
inputSlotFor: isPlanSelected ? reuseSavedCard ? void 0 : "paymentPlan" : cardValue,
|
|
21809
21892
|
children: paymentInput
|
|
@@ -22032,7 +22115,7 @@ var WaiverSigning = ({
|
|
|
22032
22115
|
const checkout = useCheckoutContext();
|
|
22033
22116
|
const locked = Boolean(checkout.orderFixed);
|
|
22034
22117
|
const theme = useTheme();
|
|
22035
|
-
const
|
|
22118
|
+
const s5 = useWaiverStyles(theme);
|
|
22036
22119
|
const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
|
|
22037
22120
|
const waiver = checkout.waiver;
|
|
22038
22121
|
const signing = hooks_exports.useWaiverSigning(
|
|
@@ -22066,16 +22149,16 @@ var WaiverSigning = ({
|
|
|
22066
22149
|
if (!waiverSignableAtCheckout(waiver)) {
|
|
22067
22150
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Card, { children: [
|
|
22068
22151
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SectionHeader, { title: waiver.title || t("waivers.heading") }),
|
|
22069
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22152
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, children: t("waivers.signLater") })
|
|
22070
22153
|
] });
|
|
22071
22154
|
}
|
|
22072
22155
|
const signatures = (_b = checkout.waiverSignatures) != null ? _b : {};
|
|
22073
22156
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Card, { children: [
|
|
22074
22157
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SectionHeader, { title: waiver.title || t("waivers.heading") }),
|
|
22075
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22158
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, children: t(
|
|
22076
22159
|
waiver.checkoutMode === "required" ? "waivers.intro.required" : "waivers.intro.optional"
|
|
22077
22160
|
) }),
|
|
22078
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.ScrollView, { style: [
|
|
22161
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.ScrollView, { style: [s5.textBox, { borderColor: theme.border }], nestedScrollEnabled: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: htmlToPlainText(waiver.bodyHtml) }) }),
|
|
22079
22162
|
tickets.map((ticket) => {
|
|
22080
22163
|
const signed = signatures[ticket.index];
|
|
22081
22164
|
const formKey = waiverTicketFormKey(checkout.eventId, waiver, ticket);
|
|
@@ -22088,10 +22171,10 @@ var WaiverSigning = ({
|
|
|
22088
22171
|
number: ticket.ticketNumber,
|
|
22089
22172
|
name: ticket.holderName
|
|
22090
22173
|
}) : t("waivers.ticket", { number: ticket.ticketNumber });
|
|
22091
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: [
|
|
22092
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22093
|
-
signed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style:
|
|
22094
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: [s5.ticket, { borderTopColor: theme.border }], children: [
|
|
22175
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.strong, children: label }),
|
|
22176
|
+
signed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s5.row, children: [
|
|
22177
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(
|
|
22095
22178
|
!forHolder ? "waivers.signedForSomeoneElse" : signed.signerRole === "guardian" ? "waivers.signedByGuardian" : "waivers.signedBy",
|
|
22096
22179
|
{ name: signed.signerName }
|
|
22097
22180
|
) }),
|
|
@@ -22135,7 +22218,7 @@ var WaiverSigning = ({
|
|
|
22135
22218
|
var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error, onSign }) => {
|
|
22136
22219
|
var _a, _b, _c, _d;
|
|
22137
22220
|
const theme = useTheme();
|
|
22138
|
-
const
|
|
22221
|
+
const s5 = useWaiverStyles(theme);
|
|
22139
22222
|
const [heldDraft, setDraft] = (0, import_react54.useState)(
|
|
22140
22223
|
() => emptyWaiverDraft(
|
|
22141
22224
|
{ firstName: ticket.holderFirstName, lastName: ticket.holderLastName },
|
|
@@ -22152,8 +22235,8 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
|
|
|
22152
22235
|
if (!frozen) setDraft((d) => ({ ...d, ...next }));
|
|
22153
22236
|
};
|
|
22154
22237
|
const guardian = draft.signerRole === "guardian";
|
|
22155
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style:
|
|
22156
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_react_native27.View, { style: s5.form, children: [
|
|
22239
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.strong, children: t("waivers.role.label") }),
|
|
22157
22240
|
["holder", "guardian"].map((role) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
22158
22241
|
import_react_native27.Pressable,
|
|
22159
22242
|
{
|
|
@@ -22169,19 +22252,19 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
|
|
|
22169
22252
|
} : { signerRole: role }
|
|
22170
22253
|
);
|
|
22171
22254
|
},
|
|
22172
|
-
style:
|
|
22255
|
+
style: s5.choice,
|
|
22173
22256
|
children: [
|
|
22174
22257
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
22175
22258
|
import_react_native27.View,
|
|
22176
22259
|
{
|
|
22177
22260
|
style: [
|
|
22178
|
-
|
|
22261
|
+
s5.radio,
|
|
22179
22262
|
{ borderColor: theme.accent },
|
|
22180
22263
|
draft.signerRole === role && { backgroundColor: theme.accent }
|
|
22181
22264
|
]
|
|
22182
22265
|
}
|
|
22183
22266
|
),
|
|
22184
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22267
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(`waivers.role.${role}`) })
|
|
22185
22268
|
]
|
|
22186
22269
|
},
|
|
22187
22270
|
role
|
|
@@ -22241,19 +22324,19 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
|
|
|
22241
22324
|
accessibilityState: { selected: draft.method === method },
|
|
22242
22325
|
disabled: frozen,
|
|
22243
22326
|
onPress: () => setDraft((d) => withSignatureMethod(d, method)),
|
|
22244
|
-
style:
|
|
22327
|
+
style: s5.choice,
|
|
22245
22328
|
children: [
|
|
22246
22329
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
22247
22330
|
import_react_native27.View,
|
|
22248
22331
|
{
|
|
22249
22332
|
style: [
|
|
22250
|
-
|
|
22333
|
+
s5.radio,
|
|
22251
22334
|
{ borderColor: theme.accent },
|
|
22252
22335
|
draft.method === method && { backgroundColor: theme.accent }
|
|
22253
22336
|
]
|
|
22254
22337
|
}
|
|
22255
22338
|
),
|
|
22256
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22339
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.body, children: t(`waivers.method.${method}`) })
|
|
22257
22340
|
]
|
|
22258
22341
|
},
|
|
22259
22342
|
method
|
|
@@ -22285,7 +22368,7 @@ var TicketForm = ({ ticket, consentText, t, methods, busy, locked = false, error
|
|
|
22285
22368
|
),
|
|
22286
22369
|
problems.map((key4) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ErrorText, { children: t(key4) }, key4)),
|
|
22287
22370
|
error ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ErrorText, { children: error }) : null,
|
|
22288
|
-
busy && !pressed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style:
|
|
22371
|
+
busy && !pressed ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native27.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null,
|
|
22289
22372
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
22290
22373
|
Button,
|
|
22291
22374
|
{
|
|
@@ -22870,17 +22953,17 @@ var TicketChange = ({
|
|
|
22870
22953
|
}) => {
|
|
22871
22954
|
var _a;
|
|
22872
22955
|
const theme = useTheme();
|
|
22873
|
-
const
|
|
22956
|
+
const s5 = useChangeStyles(theme);
|
|
22874
22957
|
const t = translate2 != null ? translate2 : createTranslator({ locale, messages });
|
|
22875
22958
|
const open = openUrl != null ? openUrl : rnPorts.openUrl;
|
|
22876
22959
|
const flow = hooks_exports.useTicketChange({ ticketHash, orderHash }, open);
|
|
22877
22960
|
const options = flow.query.data;
|
|
22878
22961
|
const signInLine = flow.signInRequired ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { children: [
|
|
22879
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
22962
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.signInRequired") }),
|
|
22880
22963
|
onLogin ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { onPress: () => flow.signIn(onLogin), children: t("ticketChange.signIn") }) : null
|
|
22881
22964
|
] }) : null;
|
|
22882
22965
|
const label = (option) => option.eventName ? t("ticketChange.otherEvent", { name: option.name, event: option.eventName }) : option.name;
|
|
22883
|
-
const savingLine = flow.saving && flow.step !== "submitting" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
22966
|
+
const savingLine = flow.saving && flow.step !== "submitting" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("common.stillSaving") }) : null;
|
|
22884
22967
|
const refreshLine = flow.refreshFailed ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { children: [
|
|
22885
22968
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t("ticketChange.refreshFailed") }),
|
|
22886
22969
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
@@ -22901,7 +22984,7 @@ var TicketChange = ({
|
|
|
22901
22984
|
if (flow.paymentInProgress) {
|
|
22902
22985
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
22903
22986
|
header,
|
|
22904
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
22987
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, accessibilityLiveRegion: "polite", children: t("ticketChange.paymentInProgress") }),
|
|
22905
22988
|
flow.canContinuePayment ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { onPress: flow.continuePayment, children: t("ticketChange.continuePayment") }) : null,
|
|
22906
22989
|
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t(flow.notice) }) : null,
|
|
22907
22990
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { variant: "ghost", onPress: flow.startAgain, children: t("ticketChange.startAgain") })
|
|
@@ -22910,7 +22993,7 @@ var TicketChange = ({
|
|
|
22910
22993
|
if (flow.query.isLoading) {
|
|
22911
22994
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
22912
22995
|
header,
|
|
22913
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style:
|
|
22996
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s5.loader, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, {}) })
|
|
22914
22997
|
] });
|
|
22915
22998
|
}
|
|
22916
22999
|
if (!options) {
|
|
@@ -22924,8 +23007,8 @@ var TicketChange = ({
|
|
|
22924
23007
|
const priceText = flow.result && "priceText" in flow.result ? flow.result.priceText : "";
|
|
22925
23008
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
22926
23009
|
header,
|
|
22927
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
22928
|
-
priceText ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23010
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: "text" in done ? done.text : t(done.key, done.values) }),
|
|
23011
|
+
priceText ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: priceText }) : null,
|
|
22929
23012
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
22930
23013
|
Button,
|
|
22931
23014
|
{
|
|
@@ -22938,7 +23021,7 @@ var TicketChange = ({
|
|
|
22938
23021
|
if (flow.step === "payment" && ((_a = flow.result) == null ? void 0 : _a.status) === "payment_required") {
|
|
22939
23022
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
22940
23023
|
header,
|
|
22941
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23024
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.payment") }),
|
|
22942
23025
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { disabled: !flow.can.pay, onPress: flow.openPayment, children: t("ticketChange.paymentOpen") }),
|
|
22943
23026
|
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: t(flow.notice) }) : null,
|
|
22944
23027
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
@@ -22958,12 +23041,12 @@ var TicketChange = ({
|
|
|
22958
23041
|
const submitting = flow.step === "submitting";
|
|
22959
23042
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
22960
23043
|
header,
|
|
22961
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
22962
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23044
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: t("ticketChange.confirmTitle", { name: label(option) }) }),
|
|
23045
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.price, children: option.priceText }),
|
|
22963
23046
|
(() => {
|
|
22964
23047
|
const charge = ticketChangeCharge(option);
|
|
22965
23048
|
if (!charge || option.fee <= 0) return null;
|
|
22966
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.Text, { style:
|
|
23049
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.Text, { style: s5.muted, children: [
|
|
22967
23050
|
t("ticketChange.fee", {
|
|
22968
23051
|
amount: `${option.currency} ${option.fee.toFixed(2)}`
|
|
22969
23052
|
}),
|
|
@@ -22974,10 +23057,10 @@ var TicketChange = ({
|
|
|
22974
23057
|
] });
|
|
22975
23058
|
})(),
|
|
22976
23059
|
flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
|
|
22977
|
-
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23060
|
+
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null,
|
|
22978
23061
|
signInLine,
|
|
22979
|
-
flow.alternatives.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { style:
|
|
22980
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23062
|
+
flow.alternatives.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_native33.View, { style: s5.slots, children: [
|
|
23063
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.slotFull") }),
|
|
22981
23064
|
flow.alternatives.map((slot) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
22982
23065
|
Button,
|
|
22983
23066
|
{
|
|
@@ -23004,7 +23087,7 @@ var TicketChange = ({
|
|
|
23004
23087
|
if (ticketChangeView(options) === "choose") {
|
|
23005
23088
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
23006
23089
|
header,
|
|
23007
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23090
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.choose") }),
|
|
23008
23091
|
options.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
23009
23092
|
import_react_native33.Pressable,
|
|
23010
23093
|
{
|
|
@@ -23013,31 +23096,31 @@ var TicketChange = ({
|
|
|
23013
23096
|
disabled: !flow.can.select,
|
|
23014
23097
|
onPress: () => flow.select(option),
|
|
23015
23098
|
style: [
|
|
23016
|
-
|
|
23099
|
+
s5.option,
|
|
23017
23100
|
{ borderColor: theme.border },
|
|
23018
|
-
!flow.can.select &&
|
|
23101
|
+
!flow.can.select && s5.optionDisabled
|
|
23019
23102
|
],
|
|
23020
23103
|
children: [
|
|
23021
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23022
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23104
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.strong, children: label(option) }),
|
|
23105
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.price, children: option.priceText })
|
|
23023
23106
|
]
|
|
23024
23107
|
},
|
|
23025
23108
|
option.ticketTypeId
|
|
23026
23109
|
)),
|
|
23027
23110
|
flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
|
|
23028
|
-
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23111
|
+
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null,
|
|
23029
23112
|
signInLine
|
|
23030
23113
|
] });
|
|
23031
23114
|
}
|
|
23032
23115
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { children: [
|
|
23033
23116
|
header,
|
|
23034
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23117
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: options.message || t("ticketChange.closed") }),
|
|
23035
23118
|
options.sellInstead.available ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
23036
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23119
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t("ticketChange.sellInsteadNote") }),
|
|
23037
23120
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Button, { disabled: !flow.can.sellInstead, onPress: flow.sellInstead, children: t("ticketChange.sellInstead") })
|
|
23038
23121
|
] }) : null,
|
|
23039
|
-
options.waitlistOptions.map((wait) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style:
|
|
23040
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23122
|
+
options.waitlistOptions.map((wait) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.View, { style: s5.waitlist, children: wait.entry ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
23123
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(
|
|
23041
23124
|
wait.entry.status === "offered" ? "ticketChange.waitlist.offered" : "ticketChange.waitlist.waiting",
|
|
23042
23125
|
{ name: wait.name }
|
|
23043
23126
|
) }),
|
|
@@ -23062,7 +23145,7 @@ var TicketChange = ({
|
|
|
23062
23145
|
}
|
|
23063
23146
|
) }, wait.ticketTypeId)),
|
|
23064
23147
|
flow.error ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ErrorText, { children: flow.error }) : null,
|
|
23065
|
-
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style:
|
|
23148
|
+
flow.notice ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_native33.Text, { style: s5.muted, children: t(flow.notice) }) : null
|
|
23066
23149
|
] });
|
|
23067
23150
|
};
|
|
23068
23151
|
var useChangeStyles = (theme) => (0, import_react60.useMemo)(
|
|
@@ -23213,6 +23296,12 @@ var LoadedImage = ({
|
|
|
23213
23296
|
import_react_native35.Image,
|
|
23214
23297
|
{
|
|
23215
23298
|
source: { uri: image.data },
|
|
23299
|
+
accessible: full,
|
|
23300
|
+
accessibilityLabel: full ? t("Image {{number}} of {{total}}", {
|
|
23301
|
+
number: index + 1,
|
|
23302
|
+
total: comment.images.length
|
|
23303
|
+
}) : void 0,
|
|
23304
|
+
accessibilityLiveRegion: full ? "polite" : void 0,
|
|
23216
23305
|
style: s.image,
|
|
23217
23306
|
resizeMode: full ? "contain" : "cover"
|
|
23218
23307
|
}
|
|
@@ -23223,7 +23312,8 @@ var CommentImages = ({
|
|
|
23223
23312
|
comment,
|
|
23224
23313
|
previewKey,
|
|
23225
23314
|
onPreviewChange,
|
|
23226
|
-
locale
|
|
23315
|
+
locale,
|
|
23316
|
+
renderCloseIcon
|
|
23227
23317
|
}) => {
|
|
23228
23318
|
const t = useAccountT(locale);
|
|
23229
23319
|
const theme = useTheme();
|
|
@@ -23280,22 +23370,24 @@ var CommentImages = ({
|
|
|
23280
23370
|
animationType: "fade",
|
|
23281
23371
|
onRequestClose: () => setSelected(null),
|
|
23282
23372
|
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react_native35.View, { style: s.preview, children: [
|
|
23283
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.
|
|
23284
|
-
|
|
23285
|
-
|
|
23286
|
-
|
|
23287
|
-
|
|
23288
|
-
|
|
23289
|
-
|
|
23290
|
-
|
|
23291
|
-
|
|
23292
|
-
|
|
23293
|
-
|
|
23294
|
-
|
|
23295
|
-
|
|
23296
|
-
|
|
23297
|
-
|
|
23298
|
-
|
|
23373
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.View, { style: s.toolbar, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
23374
|
+
import_react_native35.Pressable,
|
|
23375
|
+
{
|
|
23376
|
+
accessibilityRole: "button",
|
|
23377
|
+
accessibilityLabel: t("Close image"),
|
|
23378
|
+
style: s.closeButton,
|
|
23379
|
+
onPress: () => setSelected(null),
|
|
23380
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
23381
|
+
import_react_native35.View,
|
|
23382
|
+
{
|
|
23383
|
+
pointerEvents: "none",
|
|
23384
|
+
accessible: false,
|
|
23385
|
+
importantForAccessibility: "no-hide-descendants",
|
|
23386
|
+
children: renderCloseIcon ? renderCloseIcon("#9F9CB0") : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.Text, { style: [white, s.closeGlyph], children: "\xD7" })
|
|
23387
|
+
}
|
|
23388
|
+
)
|
|
23389
|
+
}
|
|
23390
|
+
) }),
|
|
23299
23391
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native35.View, { style: s.full, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
23300
23392
|
LoadedImage,
|
|
23301
23393
|
{
|
|
@@ -23439,11 +23531,19 @@ var s = import_react_native35.StyleSheet.create({
|
|
|
23439
23531
|
preview: {
|
|
23440
23532
|
flex: 1,
|
|
23441
23533
|
backgroundColor: "rgba(11,10,21,0.96)",
|
|
23442
|
-
paddingTop:
|
|
23534
|
+
paddingTop: 53,
|
|
23443
23535
|
paddingBottom: 40,
|
|
23444
23536
|
paddingHorizontal: 16
|
|
23445
23537
|
},
|
|
23446
|
-
toolbar: { flexDirection: "row", justifyContent: "
|
|
23538
|
+
toolbar: { flexDirection: "row", justifyContent: "flex-end" },
|
|
23539
|
+
closeButton: {
|
|
23540
|
+
width: 44,
|
|
23541
|
+
height: 44,
|
|
23542
|
+
marginRight: -10,
|
|
23543
|
+
alignItems: "center",
|
|
23544
|
+
justifyContent: "center"
|
|
23545
|
+
},
|
|
23546
|
+
closeGlyph: { fontSize: 28, lineHeight: 28, color: "#9F9CB0", textAlign: "center" },
|
|
23447
23547
|
full: { flex: 1, width: "100%" },
|
|
23448
23548
|
white: { color: "#EBEBEE", fontSize: 16 },
|
|
23449
23549
|
navButton: {
|
|
@@ -23560,6 +23660,7 @@ var EventDiscussionBody = ({
|
|
|
23560
23660
|
previewKey,
|
|
23561
23661
|
locale,
|
|
23562
23662
|
renderReplyIcon,
|
|
23663
|
+
renderImageCloseIcon,
|
|
23563
23664
|
onModerationFilter,
|
|
23564
23665
|
renderReactionIcon
|
|
23565
23666
|
}) => {
|
|
@@ -23663,7 +23764,8 @@ var EventDiscussionBody = ({
|
|
|
23663
23764
|
comment,
|
|
23664
23765
|
previewKey,
|
|
23665
23766
|
locale,
|
|
23666
|
-
onPreviewChange: setImageOpen
|
|
23767
|
+
onPreviewChange: setImageOpen,
|
|
23768
|
+
renderCloseIcon: renderImageCloseIcon
|
|
23667
23769
|
},
|
|
23668
23770
|
`${comment.id}:${comment.revision}`
|
|
23669
23771
|
),
|
|
@@ -24584,14 +24686,206 @@ var styles13 = import_react_native42.StyleSheet.create({
|
|
|
24584
24686
|
retry: { color: "#C4B5FF", textDecorationLine: "underline" }
|
|
24585
24687
|
});
|
|
24586
24688
|
|
|
24587
|
-
// src/
|
|
24588
|
-
var import_react70 = require("react");
|
|
24589
|
-
var import_react_native48 = require("react-native");
|
|
24590
|
-
|
|
24591
|
-
// src/auth/ForgotPasswordForm.tsx
|
|
24689
|
+
// src/sections/Streaming.tsx
|
|
24592
24690
|
var import_react65 = require("react");
|
|
24593
24691
|
var import_react_native43 = require("react-native");
|
|
24594
24692
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
24693
|
+
var Streaming = (props) => {
|
|
24694
|
+
const preferences = hooks_exports.useAccountPreferences();
|
|
24695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StreamingView, { ...props, preferences });
|
|
24696
|
+
};
|
|
24697
|
+
var StreamingView = ({
|
|
24698
|
+
preferences: flow,
|
|
24699
|
+
onOpenMusic,
|
|
24700
|
+
onSignIn,
|
|
24701
|
+
locale,
|
|
24702
|
+
translate: translate2,
|
|
24703
|
+
renderProviderIcon,
|
|
24704
|
+
showHeader = true,
|
|
24705
|
+
theme: override,
|
|
24706
|
+
style
|
|
24707
|
+
}) => {
|
|
24708
|
+
var _a, _b;
|
|
24709
|
+
const defaultT = useAccountT(locale);
|
|
24710
|
+
const t = translate2 != null ? translate2 : defaultT;
|
|
24711
|
+
const inherited = useTheme();
|
|
24712
|
+
const theme = (0, import_react65.useMemo)(
|
|
24713
|
+
() => override ? resolveTheme({ ...inherited, ...override }) : inherited,
|
|
24714
|
+
[inherited, override]
|
|
24715
|
+
);
|
|
24716
|
+
const session = hooks_exports.useAuthSession();
|
|
24717
|
+
const assertOwner = hooks_exports.useSessionAction();
|
|
24718
|
+
const pendingBrowser = (0, import_react65.useRef)({ scope: session.sessionScope, locked: false });
|
|
24719
|
+
const [stored, setStored] = (0, import_react65.useState)({
|
|
24720
|
+
scope: session.sessionScope,
|
|
24721
|
+
busy: false,
|
|
24722
|
+
error: ""
|
|
24723
|
+
});
|
|
24724
|
+
const local = stored.scope === session.sessionScope ? stored : { scope: session.sessionScope, busy: false, error: "" };
|
|
24725
|
+
const busy = flow.busy || local.busy;
|
|
24726
|
+
const text3 = { color: theme.text, fontFamily: theme.fontFamily };
|
|
24727
|
+
const muted = { color: theme.muted, fontFamily: theme.fontFamily };
|
|
24728
|
+
const connect = async (provider) => {
|
|
24729
|
+
try {
|
|
24730
|
+
assertOwner();
|
|
24731
|
+
} catch (e) {
|
|
24732
|
+
return;
|
|
24733
|
+
}
|
|
24734
|
+
if (pendingBrowser.current.scope === session.sessionScope && pendingBrowser.current.locked)
|
|
24735
|
+
return;
|
|
24736
|
+
pendingBrowser.current = { scope: session.sessionScope, locked: true };
|
|
24737
|
+
setStored({ scope: session.sessionScope, busy: true, error: "" });
|
|
24738
|
+
try {
|
|
24739
|
+
const link = await (provider === "spotify" ? flow.connectSpotify() : flow.connectAppleMusic());
|
|
24740
|
+
assertOwner();
|
|
24741
|
+
if (!link) return;
|
|
24742
|
+
await onOpenMusic(link.url, provider);
|
|
24743
|
+
assertOwner();
|
|
24744
|
+
await flow.query.refetch();
|
|
24745
|
+
assertOwner();
|
|
24746
|
+
} catch (e) {
|
|
24747
|
+
try {
|
|
24748
|
+
assertOwner();
|
|
24749
|
+
setStored({
|
|
24750
|
+
scope: session.sessionScope,
|
|
24751
|
+
busy: false,
|
|
24752
|
+
error: "Unable to open the connection page. Please try again."
|
|
24753
|
+
});
|
|
24754
|
+
} catch (e2) {
|
|
24755
|
+
}
|
|
24756
|
+
} finally {
|
|
24757
|
+
try {
|
|
24758
|
+
assertOwner();
|
|
24759
|
+
if (pendingBrowser.current.scope === session.sessionScope)
|
|
24760
|
+
pendingBrowser.current.locked = false;
|
|
24761
|
+
setStored((state) => ({ ...state, scope: session.sessionScope, busy: false }));
|
|
24762
|
+
} catch (e) {
|
|
24763
|
+
}
|
|
24764
|
+
}
|
|
24765
|
+
};
|
|
24766
|
+
const disconnect = (provider) => {
|
|
24767
|
+
try {
|
|
24768
|
+
assertOwner();
|
|
24769
|
+
} catch (e) {
|
|
24770
|
+
return;
|
|
24771
|
+
}
|
|
24772
|
+
import_react_native43.Alert.alert(
|
|
24773
|
+
t(provider === "spotify" ? "Disconnect Spotify?" : "Disconnect Apple Music?"),
|
|
24774
|
+
t(
|
|
24775
|
+
provider === "spotify" ? "Your imported Spotify data and approved names will be removed. Your saved interests stay." : "Your imported artists and genres will be removed. Your saved interests will stay."
|
|
24776
|
+
),
|
|
24777
|
+
[
|
|
24778
|
+
{ text: t("Cancel"), style: "cancel" },
|
|
24779
|
+
{
|
|
24780
|
+
text: t("Disconnect"),
|
|
24781
|
+
style: "destructive",
|
|
24782
|
+
onPress: () => {
|
|
24783
|
+
try {
|
|
24784
|
+
assertOwner();
|
|
24785
|
+
void (provider === "spotify" ? flow.disconnectSpotify() : flow.disconnectAppleMusic());
|
|
24786
|
+
} catch (e) {
|
|
24787
|
+
}
|
|
24788
|
+
}
|
|
24789
|
+
}
|
|
24790
|
+
]
|
|
24791
|
+
);
|
|
24792
|
+
};
|
|
24793
|
+
const action = (label, provider, onPress, disabled = busy) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
24794
|
+
import_react_native43.Pressable,
|
|
24795
|
+
{
|
|
24796
|
+
accessibilityRole: "button",
|
|
24797
|
+
accessibilityLabel: provider ? t("{{action}} {{provider}}", { action: t(label), provider }) : t(label),
|
|
24798
|
+
accessibilityState: { disabled, busy },
|
|
24799
|
+
disabled,
|
|
24800
|
+
onPress,
|
|
24801
|
+
style: [s4.button, { borderColor: theme.accent }, disabled && s4.disabled],
|
|
24802
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [text3, { color: theme.accent, fontSize: theme.fontSize }], children: t(label) })
|
|
24803
|
+
}
|
|
24804
|
+
);
|
|
24805
|
+
const music = (_a = flow.query.data) == null ? void 0 : _a.music;
|
|
24806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: [s4.container, style], children: [
|
|
24807
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.title, text3], children: t("Streaming") }),
|
|
24808
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.intro, text3], children: t("Choose which artist and genre names to use for event suggestions.") }),
|
|
24809
|
+
flow.query.isPending && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
24810
|
+
import_react_native43.ActivityIndicator,
|
|
24811
|
+
{
|
|
24812
|
+
accessibilityLabel: t("Loading streaming connections\u2026"),
|
|
24813
|
+
color: theme.accent
|
|
24814
|
+
}
|
|
24815
|
+
),
|
|
24816
|
+
music && [
|
|
24817
|
+
{ key: "spotify", name: "Spotify", connection: music.spotify },
|
|
24818
|
+
{ key: "appleMusic", name: "Apple Music", connection: music.appleMusic },
|
|
24819
|
+
{
|
|
24820
|
+
key: "youtubeMusic",
|
|
24821
|
+
name: "YouTube Music",
|
|
24822
|
+
connection: music.youtubeMusic
|
|
24823
|
+
}
|
|
24824
|
+
].map(({ key: key4, name, connection }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: [s4.provider, { borderBottomColor: theme.border }], children: [
|
|
24825
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.identity, children: [
|
|
24826
|
+
renderProviderIcon == null ? void 0 : renderProviderIcon(key4),
|
|
24827
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.names, children: [
|
|
24828
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.name, text3], children: name }),
|
|
24829
|
+
/* @__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") })
|
|
24830
|
+
] })
|
|
24831
|
+
] }),
|
|
24832
|
+
key4 !== "youtubeMusic" && /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_react_native43.View, { style: s4.actions, children: [
|
|
24833
|
+
connection.available && action(
|
|
24834
|
+
connection.connected ? "Review choices" : "Connect",
|
|
24835
|
+
name,
|
|
24836
|
+
() => void connect(key4)
|
|
24837
|
+
),
|
|
24838
|
+
connection.connected && action("Disconnect", name, () => disconnect(key4))
|
|
24839
|
+
] }),
|
|
24840
|
+
connection.connected && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.approved, muted], children: connection.artists.length || connection.genres.length ? [...connection.artists, ...connection.genres].join(", ") : t("No artist or genre names approved yet.") })
|
|
24841
|
+
] }, key4)),
|
|
24842
|
+
(local.error || flow.error || flow.query.error) && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { accessibilityRole: "alert", style: [s4.note, { color: theme.error }], children: t(local.error || flow.error || ((_b = flow.query.error) == null ? void 0 : _b.message) || "") }),
|
|
24843
|
+
flow.message && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { accessibilityLiveRegion: "polite", style: [s4.note, muted], children: t(flow.message) }),
|
|
24844
|
+
action("Refresh connections", "", () => void flow.query.refetch()),
|
|
24845
|
+
!music && onSignIn && action("Sign in", "", onSignIn),
|
|
24846
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_native43.Text, { style: [s4.note, muted], children: t(
|
|
24847
|
+
"Only the artist and genre names you approve are used for these event suggestions."
|
|
24848
|
+
) })
|
|
24849
|
+
] });
|
|
24850
|
+
};
|
|
24851
|
+
var s4 = import_react_native43.StyleSheet.create({
|
|
24852
|
+
container: { width: "100%" },
|
|
24853
|
+
title: { fontSize: 20, fontWeight: "500", marginBottom: 16 },
|
|
24854
|
+
intro: { fontSize: 20, lineHeight: 28, marginVertical: 24 },
|
|
24855
|
+
provider: { borderBottomWidth: import_react_native43.StyleSheet.hairlineWidth, paddingVertical: 20, gap: 16 },
|
|
24856
|
+
identity: { flexDirection: "row", alignItems: "center", gap: 16 },
|
|
24857
|
+
names: { flex: 1 },
|
|
24858
|
+
name: { fontSize: 16, lineHeight: 24 },
|
|
24859
|
+
status: { fontSize: 14, lineHeight: 20, marginTop: 4 },
|
|
24860
|
+
actions: {
|
|
24861
|
+
flexDirection: "row",
|
|
24862
|
+
flexWrap: "wrap",
|
|
24863
|
+
justifyContent: "flex-end",
|
|
24864
|
+
gap: 10
|
|
24865
|
+
},
|
|
24866
|
+
button: {
|
|
24867
|
+
alignSelf: "flex-end",
|
|
24868
|
+
borderWidth: 1,
|
|
24869
|
+
borderRadius: 24,
|
|
24870
|
+
paddingVertical: 10,
|
|
24871
|
+
paddingHorizontal: 20,
|
|
24872
|
+
minHeight: 44,
|
|
24873
|
+
justifyContent: "center",
|
|
24874
|
+
marginTop: 4
|
|
24875
|
+
},
|
|
24876
|
+
disabled: { opacity: 0.5 },
|
|
24877
|
+
approved: { fontSize: 14, lineHeight: 20 },
|
|
24878
|
+
note: { fontSize: 14, lineHeight: 20, marginTop: 24 }
|
|
24879
|
+
});
|
|
24880
|
+
|
|
24881
|
+
// src/auth/AuthModal.tsx
|
|
24882
|
+
var import_react71 = require("react");
|
|
24883
|
+
var import_react_native49 = require("react-native");
|
|
24884
|
+
|
|
24885
|
+
// src/auth/ForgotPasswordForm.tsx
|
|
24886
|
+
var import_react66 = require("react");
|
|
24887
|
+
var import_react_native44 = require("react-native");
|
|
24888
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
24595
24889
|
var ForgotPasswordForm = ({
|
|
24596
24890
|
initialEmail = "",
|
|
24597
24891
|
errors = {},
|
|
@@ -24603,21 +24897,21 @@ var ForgotPasswordForm = ({
|
|
|
24603
24897
|
onFieldChange
|
|
24604
24898
|
}) => {
|
|
24605
24899
|
const theme = useTheme();
|
|
24606
|
-
const [email, setEmail] = (0,
|
|
24607
|
-
(0,
|
|
24900
|
+
const [email, setEmail] = (0, import_react66.useState)(initialEmail);
|
|
24901
|
+
(0, import_react66.useEffect)(() => {
|
|
24608
24902
|
if (initialEmail && !email) setEmail(initialEmail);
|
|
24609
24903
|
}, [email, initialEmail]);
|
|
24610
24904
|
const submit = () => void onSubmit(email);
|
|
24611
24905
|
if (successMessage) {
|
|
24612
|
-
return /* @__PURE__ */ (0,
|
|
24613
|
-
/* @__PURE__ */ (0,
|
|
24614
|
-
/* @__PURE__ */ (0,
|
|
24906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: styles14.form, children: [
|
|
24907
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [styles14.success, { color: theme.success }], children: successMessage }),
|
|
24908
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { onPress: () => onBackToLogin(email), children: "Back to log in" })
|
|
24615
24909
|
] });
|
|
24616
24910
|
}
|
|
24617
|
-
return /* @__PURE__ */ (0,
|
|
24618
|
-
/* @__PURE__ */ (0,
|
|
24619
|
-
error ? /* @__PURE__ */ (0,
|
|
24620
|
-
/* @__PURE__ */ (0,
|
|
24911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_react_native44.View, { style: styles14.form, children: [
|
|
24912
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MutedText, { children: "Enter your email and we\u2019ll send you instructions to reset your password." }),
|
|
24913
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ErrorText, { children: error }) : null,
|
|
24914
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
24621
24915
|
Input,
|
|
24622
24916
|
{
|
|
24623
24917
|
value: email,
|
|
@@ -24631,20 +24925,20 @@ var ForgotPasswordForm = ({
|
|
|
24631
24925
|
invalid: Boolean(errors.email)
|
|
24632
24926
|
}
|
|
24633
24927
|
) }),
|
|
24634
|
-
/* @__PURE__ */ (0,
|
|
24635
|
-
/* @__PURE__ */ (0,
|
|
24636
|
-
|
|
24928
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { onPress: submit, loading, children: "Send reset instructions" }),
|
|
24929
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
24930
|
+
import_react_native44.Pressable,
|
|
24637
24931
|
{
|
|
24638
24932
|
accessibilityRole: "button",
|
|
24639
24933
|
onPress: () => onBackToLogin(email),
|
|
24640
24934
|
hitSlop: 8,
|
|
24641
24935
|
style: styles14.link,
|
|
24642
|
-
children: /* @__PURE__ */ (0,
|
|
24936
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_native44.Text, { style: [styles14.linkText, { color: theme.accent }], children: "Back to log in" })
|
|
24643
24937
|
}
|
|
24644
24938
|
)
|
|
24645
24939
|
] });
|
|
24646
24940
|
};
|
|
24647
|
-
var styles14 =
|
|
24941
|
+
var styles14 = import_react_native44.StyleSheet.create({
|
|
24648
24942
|
form: { gap: 14 },
|
|
24649
24943
|
success: { fontSize: 15, fontWeight: "600" },
|
|
24650
24944
|
link: { alignItems: "center", paddingVertical: 4 },
|
|
@@ -24652,19 +24946,19 @@ var styles14 = import_react_native43.StyleSheet.create({
|
|
|
24652
24946
|
});
|
|
24653
24947
|
|
|
24654
24948
|
// src/auth/LoginForm.tsx
|
|
24655
|
-
var
|
|
24656
|
-
var
|
|
24949
|
+
var import_react68 = require("react");
|
|
24950
|
+
var import_react_native46 = require("react-native");
|
|
24657
24951
|
|
|
24658
24952
|
// src/auth/PasswordInput.tsx
|
|
24659
|
-
var
|
|
24660
|
-
var
|
|
24661
|
-
var
|
|
24953
|
+
var import_react67 = require("react");
|
|
24954
|
+
var import_react_native45 = require("react-native");
|
|
24955
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
24662
24956
|
var PasswordInput = (props) => {
|
|
24663
|
-
const [visible, setVisible] = (0,
|
|
24664
|
-
return /* @__PURE__ */ (0,
|
|
24665
|
-
/* @__PURE__ */ (0,
|
|
24666
|
-
/* @__PURE__ */ (0,
|
|
24667
|
-
|
|
24957
|
+
const [visible, setVisible] = (0, import_react67.useState)(false);
|
|
24958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_react_native45.View, { style: styles15.wrap, children: [
|
|
24959
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Input, { ...props, autoCapitalize: "none", secureTextEntry: !visible }),
|
|
24960
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
24961
|
+
import_react_native45.Pressable,
|
|
24668
24962
|
{
|
|
24669
24963
|
accessibilityRole: "button",
|
|
24670
24964
|
accessibilityLabel: visible ? "Hide password" : "Show password",
|
|
@@ -24672,12 +24966,12 @@ var PasswordInput = (props) => {
|
|
|
24672
24966
|
onPress: () => setVisible((current4) => !current4),
|
|
24673
24967
|
hitSlop: 10,
|
|
24674
24968
|
style: styles15.toggle,
|
|
24675
|
-
children: /* @__PURE__ */ (0,
|
|
24969
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_native45.Text, { style: styles15.icon, children: visible ? "\u{1F648}" : "\u{1F441}" })
|
|
24676
24970
|
}
|
|
24677
24971
|
)
|
|
24678
24972
|
] });
|
|
24679
24973
|
};
|
|
24680
|
-
var styles15 =
|
|
24974
|
+
var styles15 = import_react_native45.StyleSheet.create({
|
|
24681
24975
|
wrap: { position: "relative", justifyContent: "center" },
|
|
24682
24976
|
toggle: {
|
|
24683
24977
|
position: "absolute",
|
|
@@ -24690,7 +24984,7 @@ var styles15 = import_react_native44.StyleSheet.create({
|
|
|
24690
24984
|
});
|
|
24691
24985
|
|
|
24692
24986
|
// src/auth/LoginForm.tsx
|
|
24693
|
-
var
|
|
24987
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
24694
24988
|
var LoginForm = ({
|
|
24695
24989
|
initialEmail = "",
|
|
24696
24990
|
errors = {},
|
|
@@ -24702,15 +24996,15 @@ var LoginForm = ({
|
|
|
24702
24996
|
onFieldChange
|
|
24703
24997
|
}) => {
|
|
24704
24998
|
const theme = useTheme();
|
|
24705
|
-
const [email, setEmail] = (0,
|
|
24706
|
-
const [password, setPassword] = (0,
|
|
24707
|
-
(0,
|
|
24999
|
+
const [email, setEmail] = (0, import_react68.useState)(initialEmail);
|
|
25000
|
+
const [password, setPassword] = (0, import_react68.useState)("");
|
|
25001
|
+
(0, import_react68.useEffect)(() => {
|
|
24708
25002
|
if (initialEmail && !email) setEmail(initialEmail);
|
|
24709
25003
|
}, [email, initialEmail]);
|
|
24710
25004
|
const submit = () => void onSubmit({ email, password });
|
|
24711
|
-
return /* @__PURE__ */ (0,
|
|
24712
|
-
error ? /* @__PURE__ */ (0,
|
|
24713
|
-
/* @__PURE__ */ (0,
|
|
25005
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_react_native46.View, { style: styles16.form, children: [
|
|
25006
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ErrorText, { children: error }) : null,
|
|
25007
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
24714
25008
|
Input,
|
|
24715
25009
|
{
|
|
24716
25010
|
value: email,
|
|
@@ -24724,7 +25018,7 @@ var LoginForm = ({
|
|
|
24724
25018
|
invalid: Boolean(errors.email)
|
|
24725
25019
|
}
|
|
24726
25020
|
) }),
|
|
24727
|
-
/* @__PURE__ */ (0,
|
|
25021
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
24728
25022
|
PasswordInput,
|
|
24729
25023
|
{
|
|
24730
25024
|
value: password,
|
|
@@ -24736,29 +25030,29 @@ var LoginForm = ({
|
|
|
24736
25030
|
invalid: Boolean(errors.password)
|
|
24737
25031
|
}
|
|
24738
25032
|
) }),
|
|
24739
|
-
/* @__PURE__ */ (0,
|
|
24740
|
-
allowPasswordReset && onForgotPassword ? /* @__PURE__ */ (0,
|
|
24741
|
-
|
|
25033
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { onPress: submit, loading, children: "Login" }),
|
|
25034
|
+
allowPasswordReset && onForgotPassword ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
25035
|
+
import_react_native46.Pressable,
|
|
24742
25036
|
{
|
|
24743
25037
|
accessibilityRole: "button",
|
|
24744
25038
|
onPress: () => onForgotPassword(email),
|
|
24745
25039
|
hitSlop: 8,
|
|
24746
25040
|
style: styles16.link,
|
|
24747
|
-
children: /* @__PURE__ */ (0,
|
|
25041
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_native46.Text, { style: [styles16.linkText, { color: theme.accent }], children: "Forgot password?" })
|
|
24748
25042
|
}
|
|
24749
25043
|
) : null
|
|
24750
25044
|
] });
|
|
24751
25045
|
};
|
|
24752
|
-
var styles16 =
|
|
25046
|
+
var styles16 = import_react_native46.StyleSheet.create({
|
|
24753
25047
|
form: { gap: 14 },
|
|
24754
25048
|
link: { alignItems: "center", paddingVertical: 4 },
|
|
24755
25049
|
linkText: { fontSize: 14, fontWeight: "600" }
|
|
24756
25050
|
});
|
|
24757
25051
|
|
|
24758
25052
|
// src/auth/RegisterForm.tsx
|
|
24759
|
-
var
|
|
24760
|
-
var
|
|
24761
|
-
var
|
|
25053
|
+
var import_react69 = require("react");
|
|
25054
|
+
var import_react_native47 = require("react-native");
|
|
25055
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
24762
25056
|
var emptyRegistration = (email) => ({
|
|
24763
25057
|
firstName: "",
|
|
24764
25058
|
lastName: "",
|
|
@@ -24785,30 +25079,30 @@ var RegisterForm = ({
|
|
|
24785
25079
|
onFieldChange
|
|
24786
25080
|
}) => {
|
|
24787
25081
|
var _a, _b, _c, _d, _e, _f;
|
|
24788
|
-
const t = (0,
|
|
24789
|
-
const [values2, setValues] = (0,
|
|
25082
|
+
const t = (0, import_react69.useMemo)(() => createTranslator({ locale }), [locale]);
|
|
25083
|
+
const [values2, setValues] = (0, import_react69.useState)(
|
|
24790
25084
|
() => emptyRegistration(initialEmail)
|
|
24791
25085
|
);
|
|
24792
|
-
const [termsAccepted, setTermsAccepted] = (0,
|
|
24793
|
-
const [refreshingProof, setRefreshingProof] = (0,
|
|
24794
|
-
const [refreshCode, setRefreshCode] = (0,
|
|
25086
|
+
const [termsAccepted, setTermsAccepted] = (0, import_react69.useState)(false);
|
|
25087
|
+
const [refreshingProof, setRefreshingProof] = (0, import_react69.useState)(false);
|
|
25088
|
+
const [refreshCode, setRefreshCode] = (0, import_react69.useState)("");
|
|
24795
25089
|
const countriesQuery = hooks_exports.useCountries();
|
|
24796
|
-
const countries = (0,
|
|
25090
|
+
const countries = (0, import_react69.useMemo)(() => {
|
|
24797
25091
|
var _a2;
|
|
24798
25092
|
return (_a2 = countriesQuery.data) != null ? _a2 : [];
|
|
24799
25093
|
}, [countriesQuery.data]);
|
|
24800
25094
|
const statesQuery = hooks_exports.useStates(values2.countryId, {
|
|
24801
25095
|
enabled: requireAddress && Boolean(values2.countryId)
|
|
24802
25096
|
});
|
|
24803
|
-
const states = (0,
|
|
25097
|
+
const states = (0, import_react69.useMemo)(() => {
|
|
24804
25098
|
var _a2;
|
|
24805
25099
|
return (_a2 = statesQuery.data) != null ? _a2 : [];
|
|
24806
25100
|
}, [statesQuery.data]);
|
|
24807
|
-
(0,
|
|
25101
|
+
(0, import_react69.useEffect)(() => {
|
|
24808
25102
|
if (initialEmail && !values2.email)
|
|
24809
25103
|
setValues((current4) => ({ ...current4, email: initialEmail }));
|
|
24810
25104
|
}, [initialEmail, values2.email]);
|
|
24811
|
-
(0,
|
|
25105
|
+
(0, import_react69.useEffect)(() => {
|
|
24812
25106
|
var _a2;
|
|
24813
25107
|
if (!requireAddress || values2.countryId || countries.length === 0) return;
|
|
24814
25108
|
const preferred = (_a2 = countries.find((country) => {
|
|
@@ -24829,19 +25123,19 @@ var RegisterForm = ({
|
|
|
24829
25123
|
setValues((current4) => ({ ...current4, [field]: value6 }));
|
|
24830
25124
|
onFieldChange == null ? void 0 : onFieldChange(field);
|
|
24831
25125
|
};
|
|
24832
|
-
const countryOptions = (0,
|
|
25126
|
+
const countryOptions = (0, import_react69.useMemo)(
|
|
24833
25127
|
() => countries.map((country) => ({ label: country.name, value: String(country.id) })),
|
|
24834
25128
|
[countries]
|
|
24835
25129
|
);
|
|
24836
|
-
const stateOptions = (0,
|
|
25130
|
+
const stateOptions = (0, import_react69.useMemo)(
|
|
24837
25131
|
() => states.map((state) => ({ label: state.name, value: String(state.id) })),
|
|
24838
25132
|
[states]
|
|
24839
25133
|
);
|
|
24840
25134
|
const submit = () => void onSubmit(values2, { requireState: states.length > 0, termsAccepted });
|
|
24841
|
-
return /* @__PURE__ */ (0,
|
|
24842
|
-
error ? /* @__PURE__ */ (0,
|
|
24843
|
-
/* @__PURE__ */ (0,
|
|
24844
|
-
/* @__PURE__ */ (0,
|
|
25135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: styles17.form, children: [
|
|
25136
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ErrorText, { children: error }) : null,
|
|
25137
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: styles17.row, children: [
|
|
25138
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_native47.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "First name", required: true, error: errors.firstName, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24845
25139
|
Input,
|
|
24846
25140
|
{
|
|
24847
25141
|
value: values2.firstName,
|
|
@@ -24851,7 +25145,7 @@ var RegisterForm = ({
|
|
|
24851
25145
|
invalid: Boolean(errors.firstName)
|
|
24852
25146
|
}
|
|
24853
25147
|
) }) }),
|
|
24854
|
-
/* @__PURE__ */ (0,
|
|
25148
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_native47.View, { style: styles17.flex, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Last name", required: true, error: errors.lastName, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24855
25149
|
Input,
|
|
24856
25150
|
{
|
|
24857
25151
|
value: values2.lastName,
|
|
@@ -24862,7 +25156,7 @@ var RegisterForm = ({
|
|
|
24862
25156
|
}
|
|
24863
25157
|
) }) })
|
|
24864
25158
|
] }),
|
|
24865
|
-
/* @__PURE__ */ (0,
|
|
25159
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Email", required: true, error: errors.email, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24866
25160
|
Input,
|
|
24867
25161
|
{
|
|
24868
25162
|
value: values2.email,
|
|
@@ -24874,8 +25168,8 @@ var RegisterForm = ({
|
|
|
24874
25168
|
invalid: Boolean(errors.email)
|
|
24875
25169
|
}
|
|
24876
25170
|
) }),
|
|
24877
|
-
requireAddress ? /* @__PURE__ */ (0,
|
|
24878
|
-
/* @__PURE__ */ (0,
|
|
25171
|
+
requireAddress ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
|
|
25172
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Street address", required: true, error: errors.streetAddress, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24879
25173
|
Input,
|
|
24880
25174
|
{
|
|
24881
25175
|
value: (_a = values2.streetAddress) != null ? _a : "",
|
|
@@ -24884,7 +25178,7 @@ var RegisterForm = ({
|
|
|
24884
25178
|
invalid: Boolean(errors.streetAddress)
|
|
24885
25179
|
}
|
|
24886
25180
|
) }),
|
|
24887
|
-
/* @__PURE__ */ (0,
|
|
25181
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "ZIP / postcode", required: true, error: errors.zip, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24888
25182
|
Input,
|
|
24889
25183
|
{
|
|
24890
25184
|
value: (_b = values2.zip) != null ? _b : "",
|
|
@@ -24893,7 +25187,7 @@ var RegisterForm = ({
|
|
|
24893
25187
|
invalid: Boolean(errors.zip)
|
|
24894
25188
|
}
|
|
24895
25189
|
) }),
|
|
24896
|
-
/* @__PURE__ */ (0,
|
|
25190
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Country", required: true, error: errors.countryId, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24897
25191
|
Select,
|
|
24898
25192
|
{
|
|
24899
25193
|
value: (_c = values2.countryId) != null ? _c : "",
|
|
@@ -24907,13 +25201,13 @@ var RegisterForm = ({
|
|
|
24907
25201
|
}
|
|
24908
25202
|
}
|
|
24909
25203
|
) }),
|
|
24910
|
-
/* @__PURE__ */ (0,
|
|
25204
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24911
25205
|
Field,
|
|
24912
25206
|
{
|
|
24913
25207
|
label: "State / Province",
|
|
24914
25208
|
required: states.length > 0,
|
|
24915
25209
|
error: errors.stateId,
|
|
24916
|
-
children: /* @__PURE__ */ (0,
|
|
25210
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24917
25211
|
Select,
|
|
24918
25212
|
{
|
|
24919
25213
|
value: (_d = values2.stateId) != null ? _d : "",
|
|
@@ -24926,7 +25220,7 @@ var RegisterForm = ({
|
|
|
24926
25220
|
)
|
|
24927
25221
|
}
|
|
24928
25222
|
),
|
|
24929
|
-
/* @__PURE__ */ (0,
|
|
25223
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "City", required: true, error: errors.city, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24930
25224
|
Input,
|
|
24931
25225
|
{
|
|
24932
25226
|
value: (_e = values2.city) != null ? _e : "",
|
|
@@ -24936,7 +25230,7 @@ var RegisterForm = ({
|
|
|
24936
25230
|
}
|
|
24937
25231
|
) })
|
|
24938
25232
|
] }) : null,
|
|
24939
|
-
/* @__PURE__ */ (0,
|
|
25233
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Phone", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24940
25234
|
Input,
|
|
24941
25235
|
{
|
|
24942
25236
|
value: (_f = values2.phone) != null ? _f : "",
|
|
@@ -24946,7 +25240,7 @@ var RegisterForm = ({
|
|
|
24946
25240
|
autoCapitalize: "none"
|
|
24947
25241
|
}
|
|
24948
25242
|
) }),
|
|
24949
|
-
/* @__PURE__ */ (0,
|
|
25243
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Password", required: true, error: errors.password, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24950
25244
|
PasswordInput,
|
|
24951
25245
|
{
|
|
24952
25246
|
value: values2.password,
|
|
@@ -24955,7 +25249,7 @@ var RegisterForm = ({
|
|
|
24955
25249
|
invalid: Boolean(errors.password)
|
|
24956
25250
|
}
|
|
24957
25251
|
) }),
|
|
24958
|
-
/* @__PURE__ */ (0,
|
|
25252
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: "Confirm password", required: true, error: errors.passwordConfirmation, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24959
25253
|
PasswordInput,
|
|
24960
25254
|
{
|
|
24961
25255
|
value: values2.passwordConfirmation,
|
|
@@ -24964,8 +25258,8 @@ var RegisterForm = ({
|
|
|
24964
25258
|
invalid: Boolean(errors.passwordConfirmation)
|
|
24965
25259
|
}
|
|
24966
25260
|
) }),
|
|
24967
|
-
completionRefresh ? /* @__PURE__ */ (0,
|
|
24968
|
-
/* @__PURE__ */ (0,
|
|
25261
|
+
completionRefresh ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: { gap: 12 }, children: [
|
|
25262
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
24969
25263
|
Button,
|
|
24970
25264
|
{
|
|
24971
25265
|
disabled: loading || completionRefresh.retryAfter > 0,
|
|
@@ -24979,8 +25273,8 @@ var RegisterForm = ({
|
|
|
24979
25273
|
]
|
|
24980
25274
|
}
|
|
24981
25275
|
),
|
|
24982
|
-
refreshingProof ? /* @__PURE__ */ (0,
|
|
24983
|
-
/* @__PURE__ */ (0,
|
|
25276
|
+
refreshingProof ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
|
|
25277
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Field, { label: t("auth.completionNewCode"), children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24984
25278
|
Input,
|
|
24985
25279
|
{
|
|
24986
25280
|
value: refreshCode,
|
|
@@ -24990,7 +25284,7 @@ var RegisterForm = ({
|
|
|
24990
25284
|
onChangeText: (value6) => setRefreshCode(value6.replace(/\D/g, "").slice(0, 6))
|
|
24991
25285
|
}
|
|
24992
25286
|
) }),
|
|
24993
|
-
/* @__PURE__ */ (0,
|
|
25287
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
24994
25288
|
Button,
|
|
24995
25289
|
{
|
|
24996
25290
|
disabled: loading || !/^\d{6}$/.test(refreshCode),
|
|
@@ -25000,38 +25294,38 @@ var RegisterForm = ({
|
|
|
25000
25294
|
)
|
|
25001
25295
|
] }) : null
|
|
25002
25296
|
] }) : null,
|
|
25003
|
-
requireTerms ? /* @__PURE__ */ (0,
|
|
25004
|
-
/* @__PURE__ */ (0,
|
|
25005
|
-
|
|
25297
|
+
requireTerms ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_react_native47.View, { style: { gap: 8 }, children: [
|
|
25298
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
25299
|
+
import_react_native47.Pressable,
|
|
25006
25300
|
{
|
|
25007
25301
|
accessibilityRole: "checkbox",
|
|
25008
25302
|
accessibilityState: { checked: termsAccepted },
|
|
25009
25303
|
onPress: () => setTermsAccepted((current4) => !current4),
|
|
25010
|
-
children: /* @__PURE__ */ (0,
|
|
25304
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(MutedText, { children: [
|
|
25011
25305
|
termsAccepted ? "\u2611" : "\u2610",
|
|
25012
25306
|
" ",
|
|
25013
25307
|
t("auth.completionAgree")
|
|
25014
25308
|
] })
|
|
25015
25309
|
}
|
|
25016
25310
|
),
|
|
25017
|
-
/* @__PURE__ */ (0,
|
|
25018
|
-
|
|
25311
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
25312
|
+
import_react_native47.Pressable,
|
|
25019
25313
|
{
|
|
25020
25314
|
accessibilityRole: "link",
|
|
25021
|
-
onPress: () => void
|
|
25022
|
-
children: /* @__PURE__ */ (0,
|
|
25315
|
+
onPress: () => void import_react_native47.Linking.openURL("https://www.ticketfairy.com/terms-of-service"),
|
|
25316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: t("auth.completionTerms") })
|
|
25023
25317
|
}
|
|
25024
25318
|
),
|
|
25025
|
-
/* @__PURE__ */ (0,
|
|
25026
|
-
|
|
25319
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
25320
|
+
import_react_native47.Pressable,
|
|
25027
25321
|
{
|
|
25028
25322
|
accessibilityRole: "link",
|
|
25029
|
-
onPress: () => void
|
|
25030
|
-
children: /* @__PURE__ */ (0,
|
|
25323
|
+
onPress: () => void import_react_native47.Linking.openURL("https://www.ticketfairy.com/privacy"),
|
|
25324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MutedText, { children: t("auth.completionPrivacy") })
|
|
25031
25325
|
}
|
|
25032
25326
|
)
|
|
25033
25327
|
] }) : null,
|
|
25034
|
-
/* @__PURE__ */ (0,
|
|
25328
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
25035
25329
|
Button,
|
|
25036
25330
|
{
|
|
25037
25331
|
onPress: submit,
|
|
@@ -25042,16 +25336,16 @@ var RegisterForm = ({
|
|
|
25042
25336
|
)
|
|
25043
25337
|
] });
|
|
25044
25338
|
};
|
|
25045
|
-
var styles17 =
|
|
25339
|
+
var styles17 = import_react_native47.StyleSheet.create({
|
|
25046
25340
|
form: { gap: 14 },
|
|
25047
25341
|
row: { flexDirection: "row", gap: 10 },
|
|
25048
25342
|
flex: { flex: 1 }
|
|
25049
25343
|
});
|
|
25050
25344
|
|
|
25051
25345
|
// src/auth/EmailCodeForm.tsx
|
|
25052
|
-
var
|
|
25053
|
-
var
|
|
25054
|
-
var
|
|
25346
|
+
var import_react70 = require("react");
|
|
25347
|
+
var import_react_native48 = require("react-native");
|
|
25348
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
25055
25349
|
var EmailCodeForm = ({
|
|
25056
25350
|
initialEmail,
|
|
25057
25351
|
sent,
|
|
@@ -25064,13 +25358,13 @@ var EmailCodeForm = ({
|
|
|
25064
25358
|
onVerify,
|
|
25065
25359
|
onBack
|
|
25066
25360
|
}) => {
|
|
25067
|
-
const [email, setEmail] = (0,
|
|
25068
|
-
const [code, setCode] = (0,
|
|
25069
|
-
return /* @__PURE__ */ (0,
|
|
25070
|
-
/* @__PURE__ */ (0,
|
|
25071
|
-
error ? /* @__PURE__ */ (0,
|
|
25072
|
-
successMessage ? /* @__PURE__ */ (0,
|
|
25073
|
-
/* @__PURE__ */ (0,
|
|
25361
|
+
const [email, setEmail] = (0, import_react70.useState)(initialEmail);
|
|
25362
|
+
const [code, setCode] = (0, import_react70.useState)("");
|
|
25363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_react_native48.View, { style: { gap: 14 }, children: [
|
|
25364
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MutedText, { children: sent ? `Enter the sign-in code sent to ${target}.` : "Receive a one-time sign-in code by email." }),
|
|
25365
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ErrorText, { children: error }) : null,
|
|
25366
|
+
successMessage ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MutedText, { children: successMessage }) : null,
|
|
25367
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: "Email", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
25074
25368
|
Input,
|
|
25075
25369
|
{
|
|
25076
25370
|
value: email,
|
|
@@ -25081,8 +25375,8 @@ var EmailCodeForm = ({
|
|
|
25081
25375
|
accessibilityLabel: "Email"
|
|
25082
25376
|
}
|
|
25083
25377
|
) }),
|
|
25084
|
-
sent ? /* @__PURE__ */ (0,
|
|
25085
|
-
/* @__PURE__ */ (0,
|
|
25378
|
+
sent ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
|
|
25379
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Field, { label: "Sign-in code", required: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
25086
25380
|
Input,
|
|
25087
25381
|
{
|
|
25088
25382
|
value: code,
|
|
@@ -25096,7 +25390,7 @@ var EmailCodeForm = ({
|
|
|
25096
25390
|
editable: !loading
|
|
25097
25391
|
}
|
|
25098
25392
|
) }),
|
|
25099
|
-
/* @__PURE__ */ (0,
|
|
25393
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
25100
25394
|
Button,
|
|
25101
25395
|
{
|
|
25102
25396
|
loading,
|
|
@@ -25106,7 +25400,7 @@ var EmailCodeForm = ({
|
|
|
25106
25400
|
}
|
|
25107
25401
|
)
|
|
25108
25402
|
] }) : null,
|
|
25109
|
-
/* @__PURE__ */ (0,
|
|
25403
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
25110
25404
|
Button,
|
|
25111
25405
|
{
|
|
25112
25406
|
loading: !sent && loading,
|
|
@@ -25116,26 +25410,26 @@ var EmailCodeForm = ({
|
|
|
25116
25410
|
children: retryAfter > 0 ? `Send another code in ${retryAfter}s` : sent ? "Resend code" : "Send sign-in code"
|
|
25117
25411
|
}
|
|
25118
25412
|
),
|
|
25119
|
-
/* @__PURE__ */ (0,
|
|
25413
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", disabled: loading, onPress: onBack, children: "Use password instead" })
|
|
25120
25414
|
] });
|
|
25121
25415
|
};
|
|
25122
25416
|
|
|
25123
25417
|
// src/auth/AuthModal.tsx
|
|
25124
|
-
var
|
|
25418
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
25125
25419
|
var Tab = ({
|
|
25126
25420
|
label,
|
|
25127
25421
|
active: active2,
|
|
25128
25422
|
onPress
|
|
25129
25423
|
}) => {
|
|
25130
25424
|
const theme = useTheme();
|
|
25131
|
-
return /* @__PURE__ */ (0,
|
|
25132
|
-
|
|
25425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25426
|
+
import_react_native49.Pressable,
|
|
25133
25427
|
{
|
|
25134
25428
|
accessibilityRole: "tab",
|
|
25135
25429
|
accessibilityState: { selected: active2 },
|
|
25136
25430
|
onPress,
|
|
25137
25431
|
style: [styles18.tab, { borderBottomColor: active2 ? theme.accent : "transparent" }],
|
|
25138
|
-
children: /* @__PURE__ */ (0,
|
|
25432
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.tabText, { color: active2 ? theme.text : theme.muted }], children: label })
|
|
25139
25433
|
}
|
|
25140
25434
|
);
|
|
25141
25435
|
};
|
|
@@ -25153,7 +25447,7 @@ var AuthModal = ({
|
|
|
25153
25447
|
message
|
|
25154
25448
|
}) => {
|
|
25155
25449
|
const theme = useTheme();
|
|
25156
|
-
const closeAfterAuth = (0,
|
|
25450
|
+
const closeAfterAuth = (0, import_react71.useCallback)(
|
|
25157
25451
|
(profile) => {
|
|
25158
25452
|
onAuthenticated == null ? void 0 : onAuthenticated(profile);
|
|
25159
25453
|
onClose();
|
|
@@ -25177,35 +25471,35 @@ var AuthModal = ({
|
|
|
25177
25471
|
if (auth.twoFactorChallenge) await auth.cancelTwoFactor();
|
|
25178
25472
|
onClose();
|
|
25179
25473
|
};
|
|
25180
|
-
return /* @__PURE__ */ (0,
|
|
25181
|
-
|
|
25474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Modal, { visible: open, animationType: "slide", transparent: true, onRequestClose: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Pressable, { style: styles18.backdrop, onPress: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
25475
|
+
import_react_native49.Pressable,
|
|
25182
25476
|
{
|
|
25183
25477
|
style: [styles18.sheet, { backgroundColor: theme.surface }],
|
|
25184
25478
|
onPress: () => {
|
|
25185
25479
|
},
|
|
25186
25480
|
children: [
|
|
25187
|
-
/* @__PURE__ */ (0,
|
|
25188
|
-
/* @__PURE__ */ (0,
|
|
25189
|
-
/* @__PURE__ */ (0,
|
|
25190
|
-
|
|
25481
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: styles18.header, children: [
|
|
25482
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.title, { color: theme.text }], children: isPasswordReset ? "Password reset" : auth.view === "two-factor" ? "Verify your sign in" : "Ticket Fairy account" }),
|
|
25483
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25484
|
+
import_react_native49.Pressable,
|
|
25191
25485
|
{
|
|
25192
25486
|
accessibilityRole: "button",
|
|
25193
25487
|
accessibilityLabel: "Close",
|
|
25194
25488
|
disabled: auth.isSubmitting,
|
|
25195
25489
|
onPress: () => void requestClose(),
|
|
25196
25490
|
hitSlop: 12,
|
|
25197
|
-
children: /* @__PURE__ */ (0,
|
|
25491
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: [styles18.close, { color: theme.muted }], children: "\u2715" })
|
|
25198
25492
|
}
|
|
25199
25493
|
)
|
|
25200
25494
|
] }),
|
|
25201
|
-
/* @__PURE__ */ (0,
|
|
25202
|
-
|
|
25495
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
25496
|
+
import_react_native49.ScrollView,
|
|
25203
25497
|
{
|
|
25204
25498
|
contentContainerStyle: styles18.body,
|
|
25205
25499
|
keyboardShouldPersistTaps: "handled",
|
|
25206
25500
|
children: [
|
|
25207
|
-
logoUrl ? /* @__PURE__ */ (0,
|
|
25208
|
-
|
|
25501
|
+
logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25502
|
+
import_react_native49.Image,
|
|
25209
25503
|
{
|
|
25210
25504
|
accessibilityLabel: "The Ticket Fairy",
|
|
25211
25505
|
source: { uri: logoUrl },
|
|
@@ -25213,8 +25507,8 @@ var AuthModal = ({
|
|
|
25213
25507
|
resizeMode: "contain"
|
|
25214
25508
|
}
|
|
25215
25509
|
) : null,
|
|
25216
|
-
showTabs ? /* @__PURE__ */ (0,
|
|
25217
|
-
/* @__PURE__ */ (0,
|
|
25510
|
+
showTabs ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_react_native49.View, { style: [styles18.tabs, { borderBottomColor: theme.border }], children: [
|
|
25511
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25218
25512
|
Tab,
|
|
25219
25513
|
{
|
|
25220
25514
|
label: "Login",
|
|
@@ -25222,7 +25516,7 @@ var AuthModal = ({
|
|
|
25222
25516
|
onPress: () => auth.showLogin(auth.suggestedEmail)
|
|
25223
25517
|
}
|
|
25224
25518
|
),
|
|
25225
|
-
/* @__PURE__ */ (0,
|
|
25519
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25226
25520
|
Tab,
|
|
25227
25521
|
{
|
|
25228
25522
|
label: "Sign Up",
|
|
@@ -25231,8 +25525,8 @@ var AuthModal = ({
|
|
|
25231
25525
|
}
|
|
25232
25526
|
)
|
|
25233
25527
|
] }) : null,
|
|
25234
|
-
message && !isPasswordReset ? /* @__PURE__ */ (0,
|
|
25235
|
-
auth.view === "email-code" ? /* @__PURE__ */ (0,
|
|
25528
|
+
message && !isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MutedText, { children: message }) : null,
|
|
25529
|
+
auth.view === "email-code" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25236
25530
|
EmailCodeForm,
|
|
25237
25531
|
{
|
|
25238
25532
|
initialEmail: auth.suggestedEmail,
|
|
@@ -25247,7 +25541,7 @@ var AuthModal = ({
|
|
|
25247
25541
|
onBack: () => auth.showLogin(auth.suggestedEmail)
|
|
25248
25542
|
}
|
|
25249
25543
|
) : null,
|
|
25250
|
-
auth.view === "two-factor" && auth.twoFactorChallenge ? /* @__PURE__ */ (0,
|
|
25544
|
+
auth.view === "two-factor" && auth.twoFactorChallenge ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25251
25545
|
TwoFactorForm,
|
|
25252
25546
|
{
|
|
25253
25547
|
loading: auth.isSubmitting,
|
|
@@ -25260,7 +25554,7 @@ var AuthModal = ({
|
|
|
25260
25554
|
onCancel: auth.cancelTwoFactor
|
|
25261
25555
|
}
|
|
25262
25556
|
) : null,
|
|
25263
|
-
auth.view === "login" ? /* @__PURE__ */ (0,
|
|
25557
|
+
auth.view === "login" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25264
25558
|
LoginForm,
|
|
25265
25559
|
{
|
|
25266
25560
|
initialEmail: auth.suggestedEmail,
|
|
@@ -25273,18 +25567,18 @@ var AuthModal = ({
|
|
|
25273
25567
|
onFieldChange: auth.clearFieldError
|
|
25274
25568
|
}
|
|
25275
25569
|
) : null,
|
|
25276
|
-
auth.view === "login" && auth.browserSignInAvailable ? /* @__PURE__ */ (0,
|
|
25277
|
-
|
|
25570
|
+
auth.view === "login" && auth.browserSignInAvailable ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.View, { style: { gap: 12 }, children: ["google", "apple", "facebook", "passkey"].map((provider) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25571
|
+
import_react_native49.Pressable,
|
|
25278
25572
|
{
|
|
25279
25573
|
accessibilityRole: "button",
|
|
25280
25574
|
disabled: auth.isSubmitting,
|
|
25281
25575
|
onPress: () => void auth.submitBrowserSignIn(provider),
|
|
25282
|
-
children: /* @__PURE__ */ (0,
|
|
25576
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: { color: theme.accent }, children: provider === "passkey" ? "Sign in with a passkey" : `Sign in with ${provider === "google" ? "Google" : provider === "apple" ? "Apple" : "Facebook"}` })
|
|
25283
25577
|
},
|
|
25284
25578
|
provider
|
|
25285
25579
|
)) }) : null,
|
|
25286
|
-
auth.view === "login" && auth.emailCodeAvailable ? /* @__PURE__ */ (0,
|
|
25287
|
-
auth.view === "register" && allowRegistration ? /* @__PURE__ */ (0,
|
|
25580
|
+
auth.view === "login" && auth.emailCodeAvailable ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Pressable, { onPress: () => auth.showEmailCode(auth.suggestedEmail), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_native49.Text, { style: { color: theme.accent }, children: "Sign in with an email code" }) }) : null,
|
|
25581
|
+
auth.view === "register" && allowRegistration ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25288
25582
|
RegisterForm,
|
|
25289
25583
|
{
|
|
25290
25584
|
initialEmail: auth.suggestedEmail,
|
|
@@ -25302,7 +25596,7 @@ var AuthModal = ({
|
|
|
25302
25596
|
onFieldChange: auth.clearFieldError
|
|
25303
25597
|
}
|
|
25304
25598
|
) : null,
|
|
25305
|
-
isPasswordReset ? /* @__PURE__ */ (0,
|
|
25599
|
+
isPasswordReset ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
25306
25600
|
ForgotPasswordForm,
|
|
25307
25601
|
{
|
|
25308
25602
|
initialEmail: auth.suggestedEmail,
|
|
@@ -25322,7 +25616,7 @@ var AuthModal = ({
|
|
|
25322
25616
|
}
|
|
25323
25617
|
) }) });
|
|
25324
25618
|
};
|
|
25325
|
-
var styles18 =
|
|
25619
|
+
var styles18 = import_react_native49.StyleSheet.create({
|
|
25326
25620
|
backdrop: { flex: 1, justifyContent: "flex-end", backgroundColor: "rgba(0,0,0,0.4)" },
|
|
25327
25621
|
sheet: {
|
|
25328
25622
|
borderTopLeftRadius: 20,
|
|
@@ -25342,7 +25636,7 @@ var styles18 = import_react_native48.StyleSheet.create({
|
|
|
25342
25636
|
logo: { width: "100%", height: 44, alignSelf: "center" },
|
|
25343
25637
|
tabs: {
|
|
25344
25638
|
flexDirection: "row",
|
|
25345
|
-
borderBottomWidth:
|
|
25639
|
+
borderBottomWidth: import_react_native49.StyleSheet.hairlineWidth
|
|
25346
25640
|
},
|
|
25347
25641
|
tab: {
|
|
25348
25642
|
flex: 1,
|
|
@@ -25354,20 +25648,20 @@ var styles18 = import_react_native48.StyleSheet.create({
|
|
|
25354
25648
|
});
|
|
25355
25649
|
|
|
25356
25650
|
// src/auth/ResetPasswordForm.tsx
|
|
25357
|
-
var
|
|
25358
|
-
var
|
|
25359
|
-
var
|
|
25651
|
+
var import_react72 = require("react");
|
|
25652
|
+
var import_react_native50 = require("react-native");
|
|
25653
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
25360
25654
|
var ResetPasswordForm = ({
|
|
25361
25655
|
token,
|
|
25362
25656
|
onSuccess,
|
|
25363
25657
|
onBackToLogin
|
|
25364
25658
|
}) => {
|
|
25365
25659
|
const theme = useTheme();
|
|
25366
|
-
const [password, setPassword] = (0,
|
|
25367
|
-
const [confirmation, setConfirmation] = (0,
|
|
25368
|
-
const [submitted, setSubmitted] = (0,
|
|
25369
|
-
const [success, setSuccess] = (0,
|
|
25370
|
-
const validation = (0,
|
|
25660
|
+
const [password, setPassword] = (0, import_react72.useState)("");
|
|
25661
|
+
const [confirmation, setConfirmation] = (0, import_react72.useState)("");
|
|
25662
|
+
const [submitted, setSubmitted] = (0, import_react72.useState)(false);
|
|
25663
|
+
const [success, setSuccess] = (0, import_react72.useState)(false);
|
|
25664
|
+
const validation = (0, import_react72.useMemo)(() => {
|
|
25371
25665
|
if (!submitted)
|
|
25372
25666
|
return {};
|
|
25373
25667
|
return {
|
|
@@ -25389,16 +25683,16 @@ var ResetPasswordForm = ({
|
|
|
25389
25683
|
reset.mutate({ token, password, passwordConfirmation: confirmation });
|
|
25390
25684
|
};
|
|
25391
25685
|
if (success) {
|
|
25392
|
-
return /* @__PURE__ */ (0,
|
|
25393
|
-
/* @__PURE__ */ (0,
|
|
25394
|
-
onBackToLogin ? /* @__PURE__ */ (0,
|
|
25686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles19.form, children: [
|
|
25687
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles19.success, { color: theme.success }], children: "Your password has been changed. You can now log in." }),
|
|
25688
|
+
onBackToLogin ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Button, { onPress: onBackToLogin, children: "Log in" }) : null
|
|
25395
25689
|
] });
|
|
25396
25690
|
}
|
|
25397
|
-
return /* @__PURE__ */ (0,
|
|
25398
|
-
/* @__PURE__ */ (0,
|
|
25399
|
-
validation.token ? /* @__PURE__ */ (0,
|
|
25400
|
-
reset.error ? /* @__PURE__ */ (0,
|
|
25401
|
-
/* @__PURE__ */ (0,
|
|
25691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_react_native50.View, { style: styles19.form, children: [
|
|
25692
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_native50.Text, { style: [styles19.title, { color: theme.text }], children: "Change Password" }),
|
|
25693
|
+
validation.token ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ErrorText, { children: validation.token }) : null,
|
|
25694
|
+
reset.error ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ErrorText, { children: errorMessage(reset.error) }) : null,
|
|
25695
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field, { label: "New Password", required: true, error: validation.password, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
25402
25696
|
PasswordInput,
|
|
25403
25697
|
{
|
|
25404
25698
|
value: password,
|
|
@@ -25407,7 +25701,7 @@ var ResetPasswordForm = ({
|
|
|
25407
25701
|
invalid: Boolean(validation.password)
|
|
25408
25702
|
}
|
|
25409
25703
|
) }),
|
|
25410
|
-
/* @__PURE__ */ (0,
|
|
25704
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field, { label: "Confirm Password", required: true, error: validation.confirmation, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
25411
25705
|
PasswordInput,
|
|
25412
25706
|
{
|
|
25413
25707
|
value: confirmation,
|
|
@@ -25416,19 +25710,19 @@ var ResetPasswordForm = ({
|
|
|
25416
25710
|
invalid: Boolean(validation.confirmation)
|
|
25417
25711
|
}
|
|
25418
25712
|
) }),
|
|
25419
|
-
/* @__PURE__ */ (0,
|
|
25713
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Button, { onPress: submit, loading: reset.isPending, disabled: !token, children: "Submit" })
|
|
25420
25714
|
] });
|
|
25421
25715
|
};
|
|
25422
|
-
var styles19 =
|
|
25716
|
+
var styles19 = import_react_native50.StyleSheet.create({
|
|
25423
25717
|
form: { gap: 14 },
|
|
25424
25718
|
title: { fontSize: 18, fontWeight: "700" },
|
|
25425
25719
|
success: { fontSize: 15, fontWeight: "600" }
|
|
25426
25720
|
});
|
|
25427
25721
|
|
|
25428
25722
|
// src/EmbeddedCheckout.tsx
|
|
25429
|
-
var
|
|
25430
|
-
var
|
|
25431
|
-
var
|
|
25723
|
+
var import_react73 = require("react");
|
|
25724
|
+
var import_react_native51 = require("react-native");
|
|
25725
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
25432
25726
|
var Flow = ({
|
|
25433
25727
|
eventId,
|
|
25434
25728
|
onComplete,
|
|
@@ -25454,13 +25748,13 @@ var Flow = ({
|
|
|
25454
25748
|
var _a;
|
|
25455
25749
|
const checkout = useCheckoutContext();
|
|
25456
25750
|
const theme = useTheme();
|
|
25457
|
-
const [view, setView] = (0,
|
|
25458
|
-
const [selectionView, setSelectionView] = (0,
|
|
25459
|
-
const editedDetailsRef = (0,
|
|
25460
|
-
const [authRequest, setAuthRequest] = (0,
|
|
25751
|
+
const [view, setView] = (0, import_react73.useState)(initialView);
|
|
25752
|
+
const [selectionView, setSelectionView] = (0, import_react73.useState)(initialView);
|
|
25753
|
+
const editedDetailsRef = (0, import_react73.useRef)(null);
|
|
25754
|
+
const [authRequest, setAuthRequest] = (0, import_react73.useState)(
|
|
25461
25755
|
null
|
|
25462
25756
|
);
|
|
25463
|
-
const [privacyAttempted, setPrivacyAttempted] = (0,
|
|
25757
|
+
const [privacyAttempted, setPrivacyAttempted] = (0, import_react73.useState)(false);
|
|
25464
25758
|
const openBuiltInAuth = (email) => setAuthRequest((current4) => {
|
|
25465
25759
|
var _a2;
|
|
25466
25760
|
return { email, key: ((_a2 = current4 == null ? void 0 : current4.key) != null ? _a2 : 0) + 1 };
|
|
@@ -25473,7 +25767,7 @@ var Flow = ({
|
|
|
25473
25767
|
orderFixed: checkout.orderFixed
|
|
25474
25768
|
});
|
|
25475
25769
|
const leaveAllowed = canLeavePayment(checkout);
|
|
25476
|
-
(0,
|
|
25770
|
+
(0, import_react73.useEffect)(() => {
|
|
25477
25771
|
if (visibleView === view) return;
|
|
25478
25772
|
if (visibleView === "checkout") setView("checkout");
|
|
25479
25773
|
else {
|
|
@@ -25481,7 +25775,7 @@ var Flow = ({
|
|
|
25481
25775
|
setSelectionView("tickets");
|
|
25482
25776
|
}
|
|
25483
25777
|
}, [view, visibleView]);
|
|
25484
|
-
(0,
|
|
25778
|
+
(0, import_react73.useEffect)(() => {
|
|
25485
25779
|
onViewChange == null ? void 0 : onViewChange(visibleView);
|
|
25486
25780
|
}, [onViewChange, visibleView]);
|
|
25487
25781
|
const enterCheckout = (from) => {
|
|
@@ -25513,18 +25807,18 @@ var Flow = ({
|
|
|
25513
25807
|
const formattedTotal = breakdown ? breakdown.currencySymbol ? `${breakdown.currencySymbol}${Number(selectedTicketsTotal).toFixed(2)}` : `${breakdown.currencyCode} ${Number(selectedTicketsTotal).toFixed(2)}` : null;
|
|
25514
25808
|
const succeeded = checkout.status === "succeeded" && Boolean(checkout.order);
|
|
25515
25809
|
if (visibleView === "checkout" && succeeded && confirmationMode === "inline") {
|
|
25516
|
-
return /* @__PURE__ */ (0,
|
|
25517
|
-
/* @__PURE__ */ (0,
|
|
25518
|
-
/* @__PURE__ */ (0,
|
|
25810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.ScrollView, { contentContainerStyle: styles20.content, children: [
|
|
25811
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(IDVerification, {}),
|
|
25812
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Confirmation, { children: confirmationChildren })
|
|
25519
25813
|
] });
|
|
25520
25814
|
}
|
|
25521
|
-
return /* @__PURE__ */ (0,
|
|
25522
|
-
|
|
25815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
25816
|
+
import_react_native51.ScrollView,
|
|
25523
25817
|
{
|
|
25524
25818
|
contentContainerStyle: styles20.content,
|
|
25525
25819
|
keyboardShouldPersistTaps: "handled",
|
|
25526
25820
|
children: [
|
|
25527
|
-
/* @__PURE__ */ (0,
|
|
25821
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.View, { style: visibleView === "tickets" ? styles20.stack : styles20.hidden, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25528
25822
|
Bundles,
|
|
25529
25823
|
{
|
|
25530
25824
|
eventId,
|
|
@@ -25533,7 +25827,7 @@ var Flow = ({
|
|
|
25533
25827
|
confirmationMode
|
|
25534
25828
|
}
|
|
25535
25829
|
) }),
|
|
25536
|
-
visibleView === "tickets" && /* @__PURE__ */ (0,
|
|
25830
|
+
visibleView === "tickets" && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.View, { style: styles20.stack, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25537
25831
|
Tickets,
|
|
25538
25832
|
{
|
|
25539
25833
|
eventId,
|
|
@@ -25544,29 +25838,29 @@ var Flow = ({
|
|
|
25544
25838
|
readAttributionFromUrl
|
|
25545
25839
|
}
|
|
25546
25840
|
) }),
|
|
25547
|
-
visibleView === "seats" && /* @__PURE__ */ (0,
|
|
25548
|
-
/* @__PURE__ */ (0,
|
|
25549
|
-
/* @__PURE__ */ (0,
|
|
25841
|
+
visibleView === "seats" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: styles20.stack, children: [
|
|
25842
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Pressable, { onPress: () => setView("tickets"), style: styles20.back, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Text, { style: [styles20.backText, { color: theme.accent }], children: "\u2190 Back to tickets" }) }),
|
|
25843
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SeatMap, { eventId, onContinue: () => enterCheckout("seats") })
|
|
25550
25844
|
] }),
|
|
25551
|
-
visibleView === "checkout" && /* @__PURE__ */ (0,
|
|
25552
|
-
/* @__PURE__ */ (0,
|
|
25553
|
-
/* @__PURE__ */ (0,
|
|
25554
|
-
/* @__PURE__ */ (0,
|
|
25845
|
+
visibleView === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: styles20.stack, children: [
|
|
25846
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TimerBanner, { seconds: checkout.secondsLeft }),
|
|
25847
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.View, { style: [styles20.selection, { borderColor: theme.border }], children: [
|
|
25848
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_react_native51.Text, { style: [styles20.selectionText, { color: theme.text }], children: [
|
|
25555
25849
|
selectedCount,
|
|
25556
25850
|
" ",
|
|
25557
25851
|
selectedCount === 1 ? "ticket" : "tickets",
|
|
25558
25852
|
" selected",
|
|
25559
25853
|
formattedTotal ? ` \xB7 ${formattedTotal}` : ""
|
|
25560
25854
|
] }),
|
|
25561
|
-
/* @__PURE__ */ (0,
|
|
25562
|
-
|
|
25855
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25856
|
+
import_react_native51.Pressable,
|
|
25563
25857
|
{
|
|
25564
25858
|
onPress: editSelection,
|
|
25565
25859
|
disabled: !leaveAllowed,
|
|
25566
25860
|
accessibilityRole: "button",
|
|
25567
25861
|
accessibilityState: { disabled: !leaveAllowed },
|
|
25568
|
-
children: /* @__PURE__ */ (0,
|
|
25569
|
-
|
|
25862
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25863
|
+
import_react_native51.Text,
|
|
25570
25864
|
{
|
|
25571
25865
|
style: [
|
|
25572
25866
|
styles20.editText,
|
|
@@ -25579,8 +25873,8 @@ var Flow = ({
|
|
|
25579
25873
|
}
|
|
25580
25874
|
)
|
|
25581
25875
|
] }),
|
|
25582
|
-
/* @__PURE__ */ (0,
|
|
25583
|
-
/* @__PURE__ */ (0,
|
|
25876
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AddOns, { eventId }),
|
|
25877
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25584
25878
|
BillingInfo,
|
|
25585
25879
|
{
|
|
25586
25880
|
eventId,
|
|
@@ -25595,8 +25889,8 @@ var Flow = ({
|
|
|
25595
25889
|
showPrivacyError: privacyAttempted
|
|
25596
25890
|
}
|
|
25597
25891
|
),
|
|
25598
|
-
/* @__PURE__ */ (0,
|
|
25599
|
-
/* @__PURE__ */ (0,
|
|
25892
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(WaiverSigning, { eventId }),
|
|
25893
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25600
25894
|
Payment,
|
|
25601
25895
|
{
|
|
25602
25896
|
onComplete,
|
|
@@ -25611,7 +25905,7 @@ var Flow = ({
|
|
|
25611
25905
|
}
|
|
25612
25906
|
)
|
|
25613
25907
|
] }),
|
|
25614
|
-
authRequest && auth !== false && !onLogin && /* @__PURE__ */ (0,
|
|
25908
|
+
authRequest && auth !== false && !onLogin && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25615
25909
|
AuthModal,
|
|
25616
25910
|
{
|
|
25617
25911
|
checkoutEventId: eventId,
|
|
@@ -25640,20 +25934,20 @@ var EventFlow = (flow) => {
|
|
|
25640
25934
|
const flowProps = embeddedCheckoutProps(checkout.store, flow);
|
|
25641
25935
|
const heldEvent = hooks_exports.useEvent(shown.waitingFor ? shown.eventId : void 0).data;
|
|
25642
25936
|
const notice = shown.waitingFor ? heldOrderNotice(heldEvent == null ? void 0 : heldEvent.name) : null;
|
|
25643
|
-
return /* @__PURE__ */ (0,
|
|
25644
|
-
notice && /* @__PURE__ */ (0,
|
|
25645
|
-
|
|
25937
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
|
25938
|
+
notice && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
25939
|
+
import_react_native51.View,
|
|
25646
25940
|
{
|
|
25647
25941
|
accessibilityLiveRegion: "polite",
|
|
25648
25942
|
style: [styles20.notice, { borderColor: theme.accent }],
|
|
25649
|
-
children: /* @__PURE__ */ (0,
|
|
25943
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_native51.Text, { style: [styles20.noticeText, { color: theme.text }], children: translate(notice.key, notice.params) })
|
|
25650
25944
|
}
|
|
25651
25945
|
),
|
|
25652
|
-
/* @__PURE__ */ (0,
|
|
25946
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Flow, { ...flowProps }, flowProps.eventId)
|
|
25653
25947
|
] });
|
|
25654
25948
|
};
|
|
25655
|
-
var EmbeddedCheckout = ({ theme, ...flow }) => /* @__PURE__ */ (0,
|
|
25656
|
-
var styles20 =
|
|
25949
|
+
var EmbeddedCheckout = ({ theme, ...flow }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CheckoutProvider, { theme, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(EventFlow, { ...flow }) });
|
|
25950
|
+
var styles20 = import_react_native51.StyleSheet.create({
|
|
25657
25951
|
content: { padding: 16, gap: 12 },
|
|
25658
25952
|
hidden: { display: "none" },
|
|
25659
25953
|
stack: { gap: 12 },
|
|
@@ -25663,7 +25957,7 @@ var styles20 = import_react_native50.StyleSheet.create({
|
|
|
25663
25957
|
flexDirection: "row",
|
|
25664
25958
|
alignItems: "center",
|
|
25665
25959
|
justifyContent: "space-between",
|
|
25666
|
-
borderWidth:
|
|
25960
|
+
borderWidth: import_react_native51.StyleSheet.hairlineWidth,
|
|
25667
25961
|
borderRadius: 10,
|
|
25668
25962
|
paddingVertical: 10,
|
|
25669
25963
|
paddingHorizontal: 14
|
|
@@ -25674,7 +25968,7 @@ var styles20 = import_react_native50.StyleSheet.create({
|
|
|
25674
25968
|
notice: {
|
|
25675
25969
|
marginHorizontal: 16,
|
|
25676
25970
|
marginTop: 16,
|
|
25677
|
-
borderWidth:
|
|
25971
|
+
borderWidth: import_react_native51.StyleSheet.hairlineWidth,
|
|
25678
25972
|
borderRadius: 10,
|
|
25679
25973
|
paddingVertical: 10,
|
|
25680
25974
|
paddingHorizontal: 14
|