@tiledev/sdk-apptile-live-selling 0.15.4 → 0.16.0-beta.0
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/README.md +44 -5
- package/dist/checkoutRefused.d.ts +9 -0
- package/dist/checkoutRefused.d.ts.map +1 -0
- package/dist/checkoutRefused.js +16 -0
- package/dist/checkoutRefused.js.map +1 -0
- package/dist/clips.d.ts +4 -2
- package/dist/clips.d.ts.map +1 -1
- package/dist/clips.js +76 -15
- package/dist/clips.js.map +1 -1
- package/dist/giveawayPrizes.d.ts +20 -0
- package/dist/giveawayPrizes.d.ts.map +1 -0
- package/dist/giveawayPrizes.js +50 -0
- package/dist/giveawayPrizes.js.map +1 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -3
- package/dist/index.js.map +1 -1
- package/dist/livePages.d.ts +11 -1
- package/dist/livePages.d.ts.map +1 -1
- package/dist/livePages.js +29 -0
- package/dist/livePages.js.map +1 -1
- package/dist/pageOptions.d.ts +16 -0
- package/dist/pageOptions.d.ts.map +1 -1
- package/dist/pageOptions.js +4 -1
- package/dist/pageOptions.js.map +1 -1
- package/dist/pageTypes.d.ts +1 -1
- package/dist/pageTypes.d.ts.map +1 -1
- package/dist/react/LiveSellingProvider.d.ts +8 -2
- package/dist/react/LiveSellingProvider.d.ts.map +1 -1
- package/dist/react/LiveSellingProvider.js +10 -2
- package/dist/react/LiveSellingProvider.js.map +1 -1
- package/dist/react/index.d.ts +6 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +6 -2
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.web.d.ts +5 -4
- package/dist/react/index.web.d.ts.map +1 -1
- package/dist/react/index.web.js +5 -2
- package/dist/react/index.web.js.map +1 -1
- package/dist/react/replayPlayer.d.ts +2 -0
- package/dist/react/replayPlayer.d.ts.map +1 -1
- package/dist/react/replayPlayer.js +11 -1
- package/dist/react/replayPlayer.js.map +1 -1
- package/dist/react/shopifyProviders.d.ts +10 -5
- package/dist/react/shopifyProviders.d.ts.map +1 -1
- package/dist/react/shopifyProviders.js +14 -4
- package/dist/react/shopifyProviders.js.map +1 -1
- package/dist/react/showPages.d.ts.map +1 -1
- package/dist/react/showPages.js +4 -2
- package/dist/react/showPages.js.map +1 -1
- package/dist/react/useAuctionBidGate.d.ts +8 -2
- package/dist/react/useAuctionBidGate.d.ts.map +1 -1
- package/dist/react/useAuctionBidGate.js +59 -2
- package/dist/react/useAuctionBidGate.js.map +1 -1
- package/dist/react/useAuctionWins.d.ts +5 -3
- package/dist/react/useAuctionWins.d.ts.map +1 -1
- package/dist/react/useAuctionWins.js +7 -2
- package/dist/react/useAuctionWins.js.map +1 -1
- package/dist/react/useClips.d.ts +7 -1
- package/dist/react/useClips.d.ts.map +1 -1
- package/dist/react/useClips.js +20 -7
- package/dist/react/useClips.js.map +1 -1
- package/dist/react/useFeaturedClip.d.ts +5 -1
- package/dist/react/useFeaturedClip.d.ts.map +1 -1
- package/dist/react/useFeaturedClip.js +6 -4
- package/dist/react/useFeaturedClip.js.map +1 -1
- package/dist/react/useGiveawayPrizes.d.ts +4 -0
- package/dist/react/useGiveawayPrizes.d.ts.map +1 -0
- package/dist/react/useGiveawayPrizes.js +58 -0
- package/dist/react/useGiveawayPrizes.js.map +1 -0
- package/dist/react/useLiveAuction.d.ts.map +1 -1
- package/dist/react/useLiveAuction.js +9 -5
- package/dist/react/useLiveAuction.js.map +1 -1
- package/dist/react/useLiveChat.d.ts +6 -1
- package/dist/react/useLiveChat.d.ts.map +1 -1
- package/dist/react/useLiveChat.js +31 -9
- package/dist/react/useLiveChat.js.map +1 -1
- package/dist/react/useLivePage.d.ts +12 -6
- package/dist/react/useLivePage.d.ts.map +1 -1
- package/dist/react/useLivePage.js +33 -18
- package/dist/react/useLivePage.js.map +1 -1
- package/dist/react/useReplayPage.d.ts +22 -3
- package/dist/react/useReplayPage.d.ts.map +1 -1
- package/dist/react/useReplayPage.js +102 -97
- package/dist/react/useReplayPage.js.map +1 -1
- package/dist/react/useSilentAuctionLot.d.ts +2 -0
- package/dist/react/useSilentAuctionLot.d.ts.map +1 -1
- package/dist/react/useSilentAuctionLot.js +17 -1
- package/dist/react/useSilentAuctionLot.js.map +1 -1
- package/dist/react/useSilentAuctionLots.d.ts +2 -0
- package/dist/react/useSilentAuctionLots.d.ts.map +1 -1
- package/dist/react/useSilentAuctionLots.js +1 -0
- package/dist/react/useSilentAuctionLots.js.map +1 -1
- package/dist/react/useSilentAuctionRounds.d.ts +2 -1
- package/dist/react/useSilentAuctionRounds.d.ts.map +1 -1
- package/dist/react/useSilentAuctionRounds.js +1 -1
- package/dist/react/useSilentAuctionRounds.js.map +1 -1
- package/dist/shopifyCommerce.d.ts +18 -5
- package/dist/shopifyCommerce.d.ts.map +1 -1
- package/dist/shopifyCommerce.js +42 -11
- package/dist/shopifyCommerce.js.map +1 -1
- package/dist/silentAuctionFeed.d.ts +2 -0
- package/dist/silentAuctionFeed.d.ts.map +1 -1
- package/dist/silentAuctionFeed.js +12 -2
- package/dist/silentAuctionFeed.js.map +1 -1
- package/dist/silentAuctionRules.d.ts +29 -0
- package/dist/silentAuctionRules.d.ts.map +1 -1
- package/dist/silentAuctionRules.js +53 -0
- package/dist/silentAuctionRules.js.map +1 -1
- package/dist/storeData.d.ts +45 -0
- package/dist/storeData.d.ts.map +1 -0
- package/dist/storeData.js +35 -0
- package/dist/storeData.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/viewerRules.d.ts +39 -0
- package/dist/viewerRules.d.ts.map +1 -0
- package/dist/viewerRules.js +46 -0
- package/dist/viewerRules.js.map +1 -0
- package/dist/zegoEngine.d.ts.map +1 -1
- package/dist/zegoEngine.js +14 -7
- package/dist/zegoEngine.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { ClipItem } from '../types';
|
|
2
|
+
export interface UseFeaturedClipOptions {
|
|
3
|
+
/** Read it (0.16.0). Default true; false reads nothing and gives no clip (a product page not showing one). */
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
}
|
|
2
6
|
export interface UseFeaturedClipState {
|
|
3
7
|
/** The featured clip, or null: none featured, not read yet, or the read failed. */
|
|
4
8
|
clip: ClipItem | null;
|
|
5
9
|
/** True while this product's clip is being read for the first time. */
|
|
6
10
|
loading: boolean;
|
|
7
11
|
}
|
|
8
|
-
export declare function useFeaturedClip(productId: string | null | undefined): UseFeaturedClipState;
|
|
12
|
+
export declare function useFeaturedClip(productId: string | null | undefined, options?: UseFeaturedClipOptions): UseFeaturedClipState;
|
|
9
13
|
/** Forgets every product's answer (tests, and a sign-out that changes what the store shows). */
|
|
10
14
|
export declare function forgetFeaturedClips(): void;
|
|
11
15
|
//# sourceMappingURL=useFeaturedClip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeaturedClip.d.ts","sourceRoot":"","sources":["../../src/react/useFeaturedClip.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useFeaturedClip.d.ts","sourceRoot":"","sources":["../../src/react/useFeaturedClip.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,MAAM,WAAW,sBAAsB;IACrC,8GAA8G;IAC9G,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,GAAE,sBAA2B,GAAG,oBAAoB,CAyBhI;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -15,12 +15,14 @@ const liveSelling_1 = require("../liveSelling");
|
|
|
15
15
|
const LiveSellingProvider_1 = require("./LiveSellingProvider");
|
|
16
16
|
/** Each product's answer this session, `null` (none featured) included. */
|
|
17
17
|
const featured = new Map();
|
|
18
|
-
function useFeaturedClip(productId) {
|
|
18
|
+
function useFeaturedClip(productId, options = {}) {
|
|
19
|
+
var _a;
|
|
19
20
|
const { ready } = (0, LiveSellingProvider_1.useLiveSelling)();
|
|
21
|
+
const enabled = (_a = options.enabled) !== null && _a !== void 0 ? _a : true;
|
|
20
22
|
const known = productId ? featured.get(productId) : undefined;
|
|
21
23
|
const [state, setState] = (0, react_1.useState)({ productId: null, clip: null });
|
|
22
24
|
(0, react_1.useEffect)(() => {
|
|
23
|
-
if (!ready || !productId || featured.has(productId))
|
|
25
|
+
if (!ready || !enabled || !productId || featured.has(productId))
|
|
24
26
|
return;
|
|
25
27
|
let current = true;
|
|
26
28
|
liveSelling_1.liveSelling.clips
|
|
@@ -34,8 +36,8 @@ function useFeaturedClip(productId) {
|
|
|
34
36
|
return () => {
|
|
35
37
|
current = false;
|
|
36
38
|
};
|
|
37
|
-
}, [ready, productId]);
|
|
38
|
-
if (!productId)
|
|
39
|
+
}, [ready, enabled, productId]);
|
|
40
|
+
if (!productId || !enabled)
|
|
39
41
|
return { clip: null, loading: false };
|
|
40
42
|
if (known !== undefined)
|
|
41
43
|
return { clip: known, loading: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeaturedClip.js","sourceRoot":"","sources":["../../src/react/useFeaturedClip.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useFeaturedClip.js","sourceRoot":"","sources":["../../src/react/useFeaturedClip.ts"],"names":[],"mappings":";;AA6BA,0CAyBC;AAGD,kDAEC;AA3DD;;;;;;;GAOG;AACH,iCAA4C;AAE5C,gDAA6C;AAE7C,+DAAuD;AAEvD,2EAA2E;AAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AAcpD,SAAgB,eAAe,CAAC,SAAoC,EAAE,UAAkC,EAAE;;IACxG,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oCAAc,GAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAsD,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QACxE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,yBAAW,CAAC,KAAK;aACd,kBAAkB,CAAC,SAAS,CAAC;aAC7B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,OAAO;gBAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAChE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,gGAAgG;AAChG,SAAgB,mBAAmB;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGiveawayPrizes.d.ts","sourceRoot":"","sources":["../../src/react/useGiveawayPrizes.ts"],"names":[],"mappings":"AAeA,wBAAgB,iBAAiB,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAqC1E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useGiveawayPrizes = useGiveawayPrizes;
|
|
4
|
+
/**
|
|
5
|
+
* `useGiveawayPrizes({ active })` — collects the signed-in shopper's giveaway prizes into their cart each
|
|
6
|
+
* time the cart comes on screen (0.16.0, `collectGiveawayPrizes`), and re-reads the cart when one landed.
|
|
7
|
+
* Owed something with no cart yet, it makes one, adopts it, and collects into it. At most once per 5 s.
|
|
8
|
+
* `active` defaults to the screen's focus, so a cart tab that stays mounted collects on every visit (as
|
|
9
|
+
* 33.2.0 did); pass it to decide yourself.
|
|
10
|
+
*/
|
|
11
|
+
const sdk_shopify_1 = require("@tiledev/sdk-shopify");
|
|
12
|
+
const navigation_1 = require("./navigation");
|
|
13
|
+
const react_1 = require("react");
|
|
14
|
+
const giveawayPrizes_1 = require("../giveawayPrizes");
|
|
15
|
+
const MIN_GAP_MS = 5000;
|
|
16
|
+
function useGiveawayPrizes(options = {}) {
|
|
17
|
+
var _a, _b, _c, _d, _e;
|
|
18
|
+
const focused = (0, navigation_1.useIsFocused)();
|
|
19
|
+
const active = (_a = options.active) !== null && _a !== void 0 ? _a : focused;
|
|
20
|
+
const { ready } = (0, sdk_shopify_1.useShopify)();
|
|
21
|
+
const { cart, adopt, refresh, loading } = (0, sdk_shopify_1.useCart)();
|
|
22
|
+
const customer = (0, sdk_shopify_1.useCustomer)();
|
|
23
|
+
const customerId = customer.loggedIn ? (_c = (_b = customer.customer) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : null : null;
|
|
24
|
+
// Read through refs, so a line changing while the cart is open doesn't collect again.
|
|
25
|
+
const latest = (0, react_1.useRef)({ cartId: (_d = cart === null || cart === void 0 ? void 0 : cart.id) !== null && _d !== void 0 ? _d : null, adopt, refresh });
|
|
26
|
+
latest.current = { cartId: (_e = cart === null || cart === void 0 ? void 0 : cart.id) !== null && _e !== void 0 ? _e : null, adopt, refresh };
|
|
27
|
+
const lastAt = (0, react_1.useRef)(0);
|
|
28
|
+
const busy = (0, react_1.useRef)(false);
|
|
29
|
+
// "No cart" is only true once the saved cart has been restored.
|
|
30
|
+
const settled = ready && !loading;
|
|
31
|
+
const collect = (0, react_1.useCallback)(async () => {
|
|
32
|
+
if (!customerId || !settled || busy.current || Date.now() - lastAt.current < MIN_GAP_MS)
|
|
33
|
+
return;
|
|
34
|
+
busy.current = true;
|
|
35
|
+
try {
|
|
36
|
+
let result = await (0, giveawayPrizes_1.collectGiveawayPrizes)(customerId, latest.current.cartId);
|
|
37
|
+
if (result && result.pending > 0 && !latest.current.cartId) {
|
|
38
|
+
const created = await sdk_shopify_1.shopify.cart.create({});
|
|
39
|
+
await latest.current.adopt(created.id);
|
|
40
|
+
result = await (0, giveawayPrizes_1.collectGiveawayPrizes)(customerId, created.id);
|
|
41
|
+
}
|
|
42
|
+
if (result === null || result === void 0 ? void 0 : result.delivered.length)
|
|
43
|
+
await latest.current.refresh();
|
|
44
|
+
lastAt.current = Date.now();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// A prize that didn't arrive arrives next time.
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
busy.current = false;
|
|
51
|
+
}
|
|
52
|
+
}, [customerId, settled]);
|
|
53
|
+
(0, react_1.useEffect)(() => {
|
|
54
|
+
if (active)
|
|
55
|
+
void collect();
|
|
56
|
+
}, [active, collect]);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useGiveawayPrizes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGiveawayPrizes.js","sourceRoot":"","sources":["../../src/react/useGiveawayPrizes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveAuction.d.ts","sourceRoot":"","sources":["../../src/react/useLiveAuction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKzF,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiBnI,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useLiveAuction.d.ts","sourceRoot":"","sources":["../../src/react/useLiveAuction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKzF,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiBnI,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,cAAc,CAAC,EAAE,eAAe,EAAE,EAAE,iBAAiB;;;;;;;;;;;;;;;;wBAsFxD,MAAM;;;;;;;;;;;;;;;;;;IAyGf,2EAA2E;;;;IAE3E,qEAAqE;;;;EAGxE;AAED,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -75,7 +75,8 @@ function useLiveAuction({ openItemsYouWon }) {
|
|
|
75
75
|
const { placeBid, dismissAuctionWin } = session.actions;
|
|
76
76
|
const customer = (0, sdk_shopify_1.useCustomer)();
|
|
77
77
|
const nav = (0, navigation_1.useNavigation)();
|
|
78
|
-
const { routes, shopName, canOpenLinks } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
78
|
+
const { routes, shopName, canOpenLinks, viewerRestrictions } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
79
|
+
const bidding = viewerRestrictions.bidding;
|
|
79
80
|
const signIn = (0, sdk_shopify_1.useSignIn)({ onOpenSignInPage: (method) => routes.openSignIn(method, nav) });
|
|
80
81
|
const { auction } = session;
|
|
81
82
|
// ─── Which show ────────────────────────────────────────────────────────────────────────────────
|
|
@@ -204,13 +205,15 @@ function useLiveAuction({ openItemsYouWon }) {
|
|
|
204
205
|
return null;
|
|
205
206
|
const state = stateOf(featured.storeProductId);
|
|
206
207
|
const onThisLot = state === 'open';
|
|
208
|
+
// Barred by the store (0.16.0): never shown leading, whatever the room says.
|
|
209
|
+
const barred = bidding === 'blocked';
|
|
207
210
|
return {
|
|
208
211
|
state,
|
|
209
212
|
highestBid: onThisLot && auction.highestBid > 0 ? money(auction.highestBid) : null,
|
|
210
|
-
leaderName: onThisLot ? auction.leaderName || null : null,
|
|
211
|
-
leaderIsYou: onThisLot && auction.isLeading,
|
|
213
|
+
leaderName: onThisLot && !barred ? auction.leaderName || null : null,
|
|
214
|
+
leaderIsYou: onThisLot && !barred && auction.isLeading,
|
|
212
215
|
};
|
|
213
|
-
}, [isAuction, featured, stateOf, auction.highestBid, auction.leaderName, auction.isLeading, money]);
|
|
216
|
+
}, [isAuction, featured, stateOf, auction.highestBid, auction.leaderName, auction.isLeading, money, bidding]);
|
|
214
217
|
return {
|
|
215
218
|
bidBar: {
|
|
216
219
|
visible: roundOpen,
|
|
@@ -220,7 +223,8 @@ function useLiveAuction({ openItemsYouWon }) {
|
|
|
220
223
|
closesAt: auction.closesAt,
|
|
221
224
|
extended: auction.extended,
|
|
222
225
|
extendedSeconds: Math.round(auction.extendedBiddingMs / 1000),
|
|
223
|
-
|
|
226
|
+
// Barred by the store: never shown leading here either, as on the product card.
|
|
227
|
+
isLeading: bidding !== 'blocked' && auction.isLeading,
|
|
224
228
|
bidCap: auction.bidCap,
|
|
225
229
|
busy: gate.bidOnItsWay && !lastBidFailed,
|
|
226
230
|
step: roundOpen ? step : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveAuction.js","sourceRoot":"","sources":["../../src/react/useLiveAuction.ts"],"names":[],"mappings":";;AA6FA,
|
|
1
|
+
{"version":3,"file":"useLiveAuction.js","sourceRoot":"","sources":["../../src/react/useLiveAuction.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,12 @@ export declare function useLiveChat({ onAir, canComment, canReact, openLink, auc
|
|
|
93
93
|
};
|
|
94
94
|
reactionButton: {
|
|
95
95
|
visible: boolean;
|
|
96
|
-
onReact: (reactionUrl: string) =>
|
|
96
|
+
onReact: (reactionUrl: string) => void;
|
|
97
|
+
/** A tap past the reaction limit (0.16.0): a new `id` each time, for the screen to say `message` once. */
|
|
98
|
+
limitNotice: {
|
|
99
|
+
id: number;
|
|
100
|
+
message: string;
|
|
101
|
+
} | null;
|
|
97
102
|
};
|
|
98
103
|
reactions: {
|
|
99
104
|
visible: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveChat.d.ts","sourceRoot":"","sources":["../../src/react/useLiveChat.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useLiveChat.d.ts","sourceRoot":"","sources":["../../src/react/useLiveChat.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASvD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,sIAAsI;IACtI,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAe,EAAE,EAAE,YAAY;;IAkIhG,wGAAwG;;;;;;;6BAjDvE,MAAM;2BAnIxB,MAAM,KAAK,IAAI;;;;;;;;;;;;;;uBAsGjB,MAAM;2BAaqB,MAAM;uCAO5B,MAAM,YAAY,MAAM;8BATH,MAAM;;;;;+BAqC/B,MAAM;QA+DlB,0GAA0G;;gBAjEzD,MAAM;qBAAW,MAAM;;;;;;;;;;;;EA8E7E;AAED,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -12,6 +12,7 @@ const react_native_1 = require("react-native");
|
|
|
12
12
|
const livePages_1 = require("../livePages");
|
|
13
13
|
const showNames_1 = require("../showNames");
|
|
14
14
|
const viewer_1 = require("../viewer");
|
|
15
|
+
const viewerRules_1 = require("../viewerRules");
|
|
15
16
|
const LiveSellingProvider_1 = require("./LiveSellingProvider");
|
|
16
17
|
const platformSession_1 = require("./platformSession");
|
|
17
18
|
const useAccountName_1 = require("./useAccountName");
|
|
@@ -62,13 +63,15 @@ const navigation_1 = require("./navigation");
|
|
|
62
63
|
* away (iOS has no key for that).
|
|
63
64
|
*/
|
|
64
65
|
function useLiveChat({ onAir, canComment, canReact, openLink, auction = false }) {
|
|
65
|
-
var _a, _b, _c, _d, _e;
|
|
66
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
66
67
|
// The session changes only on the room's events, never on a clock.
|
|
67
68
|
const session = (0, platformSession_1.useLiveSession)();
|
|
68
69
|
const { sendComment, sendReaction, chooseViewerName } = session.actions;
|
|
69
70
|
const { loggedIn, restoring } = (0, sdk_shopify_1.useCustomer)();
|
|
70
71
|
const { accountLoading, nameToComplete, saveNameToAccount } = (0, useAccountName_1.useAccountName)();
|
|
71
|
-
const { routes, blockedNames, canOpenLinks } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
72
|
+
const { routes, blockedNames, canOpenLinks, viewerRestrictions } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
73
|
+
// The store's mute (`APPBLOCKED`, 0.16.0): the viewer sees their own comments, nobody else does.
|
|
74
|
+
const muted = viewerRestrictions.commentsMuted;
|
|
72
75
|
// ─── Who the shopper is in the room ──────────────────────────────────────────────────────────────
|
|
73
76
|
// A stored sign-in is still being read on app open: not a signed-out shopper to ask.
|
|
74
77
|
const signedIn = !!loggedIn || !!restoring;
|
|
@@ -113,12 +116,12 @@ function useLiveChat({ onAir, canComment, canReact, openLink, auction = false })
|
|
|
113
116
|
const send = (0, react_1.useCallback)(async (text) => {
|
|
114
117
|
setSending(true);
|
|
115
118
|
try {
|
|
116
|
-
await sendComment(text);
|
|
119
|
+
await (muted ? sendComment(text, { forceMuted: true }) : sendComment(text));
|
|
117
120
|
}
|
|
118
121
|
finally {
|
|
119
122
|
setSending(false);
|
|
120
123
|
}
|
|
121
|
-
}, [sendComment]);
|
|
124
|
+
}, [sendComment, muted]);
|
|
122
125
|
/** False for a name the show's team goes by: the sheet says so before Save. */
|
|
123
126
|
const isNameAllowed = (0, react_1.useCallback)((name) => !(0, showNames_1.isBlockedViewerName)(name, blockedNames), [blockedNames]);
|
|
124
127
|
/** Signed out: true once the session has saved the name on this phone, and the engine has it for the comment that follows. */
|
|
@@ -141,7 +144,24 @@ function useLiveChat({ onAir, canComment, canReact, openLink, auction = false })
|
|
|
141
144
|
const [commentsHidden, setCommentsHidden] = (0, react_1.useState)(false);
|
|
142
145
|
const toggleComments = (0, react_1.useCallback)(() => setCommentsHidden((hidden) => !hidden), []);
|
|
143
146
|
// ─── Reacting ───────────────────────────────────────────────────────────────────────────────────
|
|
144
|
-
|
|
147
|
+
// The reaction limit (0.16.0; decided 2026-10-22 for every app, as 33.2.0's Live): so many taps a visit,
|
|
148
|
+
// topped back up when the host moves on to another product; a tap past it sends nothing and says so.
|
|
149
|
+
const budget = (0, react_1.useRef)(null);
|
|
150
|
+
(_b = budget.current) !== null && _b !== void 0 ? _b : (budget.current = (0, viewerRules_1.createReactionBudget)());
|
|
151
|
+
const featuredId = (_d = (_c = session.activeProduct) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : null;
|
|
152
|
+
(0, react_1.useEffect)(() => {
|
|
153
|
+
var _a;
|
|
154
|
+
(_a = budget.current) === null || _a === void 0 ? void 0 : _a.productChanged();
|
|
155
|
+
}, [featuredId]);
|
|
156
|
+
const [limitNotice, setLimitNotice] = (0, react_1.useState)(null);
|
|
157
|
+
const react = (0, react_1.useCallback)((reactionUrl) => {
|
|
158
|
+
var _a;
|
|
159
|
+
if (!((_a = budget.current) === null || _a === void 0 ? void 0 : _a.take())) {
|
|
160
|
+
setLimitNotice((last) => { var _a; return ({ id: ((_a = last === null || last === void 0 ? void 0 : last.id) !== null && _a !== void 0 ? _a : 0) + 1, message: viewerRules_1.REACTION_LIMIT_MESSAGE }); });
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
void sendReaction(reactionUrl);
|
|
164
|
+
}, [sendReaction]);
|
|
145
165
|
// ─── The keyboard ───────────────────────────────────────────────────────────────────────────────
|
|
146
166
|
const [keyboardUp, setKeyboardUp] = (0, react_1.useState)(false);
|
|
147
167
|
/**
|
|
@@ -165,7 +185,7 @@ function useLiveChat({ onAir, canComment, canReact, openLink, auction = false })
|
|
|
165
185
|
typing: commentBoxShown && typing,
|
|
166
186
|
comments: {
|
|
167
187
|
visible: onAir,
|
|
168
|
-
comments: (
|
|
188
|
+
comments: (_e = session.comments) !== null && _e !== void 0 ? _e : [],
|
|
169
189
|
hidden: commentsHidden,
|
|
170
190
|
onToggleHidden: toggleComments,
|
|
171
191
|
// Only with a comment box to reply into.
|
|
@@ -194,15 +214,17 @@ function useLiveChat({ onAir, canComment, canReact, openLink, auction = false })
|
|
|
194
214
|
reactionButton: {
|
|
195
215
|
visible: onAir && canReact,
|
|
196
216
|
onReact: react,
|
|
217
|
+
/** A tap past the reaction limit (0.16.0): a new `id` each time, for the screen to say `message` once. */
|
|
218
|
+
limitNotice,
|
|
197
219
|
},
|
|
198
220
|
reactions: {
|
|
199
221
|
visible: onAir,
|
|
200
|
-
reactions: (
|
|
201
|
-
reactionStyle: (
|
|
222
|
+
reactions: (_f = session.reactions) !== null && _f !== void 0 ? _f : [],
|
|
223
|
+
reactionStyle: (_g = session.reactionStyle) !== null && _g !== void 0 ? _g : 'single',
|
|
202
224
|
},
|
|
203
225
|
pinnedComment: {
|
|
204
226
|
visible: onAir,
|
|
205
|
-
pinnedComment: (
|
|
227
|
+
pinnedComment: (_h = session.pinnedComment) !== null && _h !== void 0 ? _h : null,
|
|
206
228
|
},
|
|
207
229
|
};
|
|
208
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveChat.js","sourceRoot":"","sources":["../../src/react/useLiveChat.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useLiveChat.js","sourceRoot":"","sources":["../../src/react/useLiveChat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** How often the Live screen reads the store's restrictions again while on show. */
|
|
2
|
+
export declare const RESTRICTIONS_REFRESH_MS = 60000;
|
|
1
3
|
/**
|
|
2
4
|
* Everything the Live screen wires, so the screen stays plain tiles. Call it from the Live screen and
|
|
3
5
|
* from each of its tiles' wiring: every call reads the same session.
|
|
@@ -20,11 +22,11 @@
|
|
|
20
22
|
* the bubble: this screen shows the picture again.
|
|
21
23
|
* - **Back, every kind** (the header's arrow, the iOS swipe, Android's back; decided 2026-10-05,
|
|
22
24
|
* amore-v2's Head of Engineering) shrinks a show that is playing or waiting for its host into the
|
|
23
|
-
* bubble as the screen leaves, and closes one that has ended
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* bubble as the screen leaves, and closes one that has ended: the screen's `beforeRemove`, for the
|
|
26
|
+
* navigation's back actions (`BACK_ACTIONS`). **Where back goes: Home, for every app** (decided
|
|
27
|
+
* 2026-10-22; `routes.openHome`): the arrow, ✕ and Android's back, the show shrinking first. The iOS
|
|
28
|
+
* swipe back is turned off on this screen (`gestureEnabled: false`), so no path goes to the screen behind. Picture-in-picture is a back that always shrinks; the cart shrinks the
|
|
29
|
+
* show and opens the Cart over this screen (Items You Won on an auction show: `routes.openCart`).
|
|
28
30
|
* - **A link from the show** (`openLink`, 0.15.0; decided 2026-10-19 by amore-v2's Head of Engineering)
|
|
29
31
|
* opens inside the app, never the phone's browser: the show goes into the bubble, as for the cart, and
|
|
30
32
|
* the app's `routes.openLink` opens the page (amore-v2: the store's product or collection on its
|
|
@@ -114,7 +116,11 @@ export declare function useLivePage(): {
|
|
|
114
116
|
};
|
|
115
117
|
reactionButton: {
|
|
116
118
|
visible: boolean;
|
|
117
|
-
onReact: (reactionUrl: string) =>
|
|
119
|
+
onReact: (reactionUrl: string) => void;
|
|
120
|
+
limitNotice: {
|
|
121
|
+
id: number;
|
|
122
|
+
message: string;
|
|
123
|
+
} | null;
|
|
118
124
|
};
|
|
119
125
|
reactions: {
|
|
120
126
|
visible: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLivePage.d.ts","sourceRoot":"","sources":["../../src/react/useLivePage.ts"],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,WAAW;
|
|
1
|
+
{"version":3,"file":"useLivePage.d.ts","sourceRoot":"","sources":["../../src/react/useLivePage.ts"],"names":[],"mappings":"AA8CA,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,WAAW;IAyMvB;;;;;;OAMG;;IAEH,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;IAgC5F,8GAA8G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE9G,8GAA8G;oBA3IxG,MAAM,UAAU,MAAM,GAAG,IAAI;EA8ItC;AAED,8DAA8D;AAC9D,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESTRICTIONS_REFRESH_MS = void 0;
|
|
3
4
|
exports.useLivePage = useLivePage;
|
|
4
5
|
/**
|
|
5
6
|
* The Live screen's page model (0.14.0, moved from amore-v2's `src/core/hooks/useLivePage.ts`:
|
|
@@ -31,6 +32,8 @@ const navigation_1 = require("./navigation");
|
|
|
31
32
|
* L5: production reported on every viewer-count tick).
|
|
32
33
|
*/
|
|
33
34
|
const joinedThisRun = new Set();
|
|
35
|
+
/** How often the Live screen reads the store's restrictions again while on show. */
|
|
36
|
+
exports.RESTRICTIONS_REFRESH_MS = 60000;
|
|
34
37
|
/**
|
|
35
38
|
* Everything the Live screen wires, so the screen stays plain tiles. Call it from the Live screen and
|
|
36
39
|
* from each of its tiles' wiring: every call reads the same session.
|
|
@@ -53,11 +56,11 @@ const joinedThisRun = new Set();
|
|
|
53
56
|
* the bubble: this screen shows the picture again.
|
|
54
57
|
* - **Back, every kind** (the header's arrow, the iOS swipe, Android's back; decided 2026-10-05,
|
|
55
58
|
* amore-v2's Head of Engineering) shrinks a show that is playing or waiting for its host into the
|
|
56
|
-
* bubble as the screen leaves, and closes one that has ended
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
59
|
+
* bubble as the screen leaves, and closes one that has ended: the screen's `beforeRemove`, for the
|
|
60
|
+
* navigation's back actions (`BACK_ACTIONS`). **Where back goes: Home, for every app** (decided
|
|
61
|
+
* 2026-10-22; `routes.openHome`): the arrow, ✕ and Android's back, the show shrinking first. The iOS
|
|
62
|
+
* swipe back is turned off on this screen (`gestureEnabled: false`), so no path goes to the screen behind. Picture-in-picture is a back that always shrinks; the cart shrinks the
|
|
63
|
+
* show and opens the Cart over this screen (Items You Won on an auction show: `routes.openCart`).
|
|
61
64
|
* - **A link from the show** (`openLink`, 0.15.0; decided 2026-10-19 by amore-v2's Head of Engineering)
|
|
62
65
|
* opens inside the app, never the phone's browser: the show goes into the bubble, as for the cart, and
|
|
63
66
|
* the app's `routes.openLink` opens the page (amore-v2: the store's product or collection on its
|
|
@@ -87,7 +90,7 @@ function useLivePage() {
|
|
|
87
90
|
const route = (0, navigation_1.useRoute)();
|
|
88
91
|
const streamId = (_b = (_a = route.params) === null || _a === void 0 ? void 0 : _a.streamId) !== null && _b !== void 0 ? _b : '';
|
|
89
92
|
const isFocused = (0, navigation_1.useIsFocused)();
|
|
90
|
-
const { routes, track, canOpenLinks } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
93
|
+
const { routes, track, canOpenLinks, viewerRestrictions } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
91
94
|
// The session changes only on the room's events, never on a clock: the header and the auction tiles keep their own.
|
|
92
95
|
const session = (0, platformSession_1.useLiveSession)();
|
|
93
96
|
const { holdStream, releaseStream, enterPip, exitPip, setMuted } = session.actions;
|
|
@@ -201,12 +204,24 @@ function useLivePage() {
|
|
|
201
204
|
(0, react_1.useEffect)(() => nav.addListener('beforeRemove', (event) => {
|
|
202
205
|
if (!livePages_1.BACK_ACTIONS.has(event.data.action.type))
|
|
203
206
|
return;
|
|
204
|
-
if (leavingForGood.current || !canShrinkNow.current || pipModeNow.current !== 'none')
|
|
207
|
+
if (leavingForGood.current || shrunk.current || !canShrinkNow.current || pipModeNow.current !== 'none')
|
|
205
208
|
return;
|
|
206
209
|
shrunk.current = true;
|
|
207
210
|
enterPip();
|
|
208
211
|
}), [nav, enterPip]);
|
|
209
212
|
(0, useKeepScreenAwake_1.useKeepScreenAwake)(showing && onAir, 'live');
|
|
213
|
+
// ─── The store's restrictions, kept current while the show is on screen (0.16.0) ───────────────
|
|
214
|
+
// Read again as the screen comes on show and every `RESTRICTIONS_REFRESH_MS` while it stays: a customer
|
|
215
|
+
// blocked from the admin mid-show stops at once (33.2.0's SPR-87), not at their next app start.
|
|
216
|
+
const restrictionsNow = (0, react_1.useRef)(viewerRestrictions);
|
|
217
|
+
restrictionsNow.current = viewerRestrictions;
|
|
218
|
+
(0, react_1.useEffect)(() => {
|
|
219
|
+
if (!isFocused)
|
|
220
|
+
return;
|
|
221
|
+
restrictionsNow.current.refresh();
|
|
222
|
+
const timer = setInterval(() => restrictionsNow.current.refresh(), exports.RESTRICTIONS_REFRESH_MS);
|
|
223
|
+
return () => clearInterval(timer);
|
|
224
|
+
}, [isFocused]);
|
|
210
225
|
// ─── liveJoin, once per show per app run ───────────────────────────────────────────────────────
|
|
211
226
|
const viewerCount = session.viewerCount;
|
|
212
227
|
(0, react_1.useEffect)(() => {
|
|
@@ -218,13 +233,12 @@ function useLivePage() {
|
|
|
218
233
|
track(sdk_analytics_core_1.DefaultEvents.LIVE_JOIN, (0, sdk_analytics_core_1.liveJoinParams)(sessionShow.streamingId, viewerCount));
|
|
219
234
|
}, [isFocused, sessionShow, viewerCount, track]);
|
|
220
235
|
// ─── The header's buttons ──────────────────────────────────────────────────────────────────────
|
|
221
|
-
/** Back:
|
|
236
|
+
/** Back: Home, for every app (decided 2026-10-22), a show on air shrinking into the bubble first. */
|
|
222
237
|
const goBack = (0, react_1.useCallback)(() => {
|
|
223
|
-
if (
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}, [nav, routes]);
|
|
238
|
+
if (!leavingForGood.current && !shrunk.current)
|
|
239
|
+
shrinkForAnotherPage();
|
|
240
|
+
routes.openHome(nav);
|
|
241
|
+
}, [nav, routes, shrinkForAnotherPage]);
|
|
228
242
|
const close = (0, react_1.useCallback)(() => {
|
|
229
243
|
leavingForGood.current = true;
|
|
230
244
|
// Stopped outright: without `stopVideo` the room plays on with no surface.
|
|
@@ -233,19 +247,20 @@ function useLivePage() {
|
|
|
233
247
|
goBack();
|
|
234
248
|
}, [exitPip, releaseStream, goBack]);
|
|
235
249
|
const back = canShrink ? goBack : close;
|
|
236
|
-
// Android's back
|
|
237
|
-
// what the arrow does instead. With a screen behind, the navigator goes back, through `beforeRemove`.
|
|
250
|
+
// Android's back does what the arrow does: Home, the show shrinking first.
|
|
238
251
|
const backNow = (0, react_1.useRef)(back);
|
|
239
252
|
backNow.current = back;
|
|
240
253
|
(0, navigation_1.useFocusEffect)((0, react_1.useCallback)(() => {
|
|
241
254
|
const subscription = react_native_1.BackHandler.addEventListener('hardwareBackPress', () => {
|
|
242
|
-
if (nav.canGoBack())
|
|
243
|
-
return false;
|
|
244
255
|
backNow.current();
|
|
245
256
|
return true;
|
|
246
257
|
});
|
|
247
258
|
return () => subscription.remove();
|
|
248
|
-
}, [
|
|
259
|
+
}, []));
|
|
260
|
+
// The iOS swipe back would go to the screen behind: off here, so every back goes Home.
|
|
261
|
+
(0, react_1.useEffect)(() => {
|
|
262
|
+
nav.setOptions({ gestureEnabled: false });
|
|
263
|
+
}, [nav]);
|
|
249
264
|
const isAuction = capabilities.canBid;
|
|
250
265
|
const openCart = (0, react_1.useCallback)(() => {
|
|
251
266
|
shrinkForAnotherPage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLivePage.js","sourceRoot":"","sources":["../../src/react/useLivePage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLivePage.js","sourceRoot":"","sources":["../../src/react/useLivePage.ts"],"names":[],"mappings":"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"}
|