@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
|
@@ -17,6 +17,12 @@ import type { ReplayCommentItem, ReplayNowProduct, ReplayShopLink, ReplayShow }
|
|
|
17
17
|
* reaches the last one or two read so far. Hidden shows a shopper can't see are left out
|
|
18
18
|
* (`hiddenShows`), as on the Live tab: one opened by its id reads the archive to its end, then "This
|
|
19
19
|
* show has ended".
|
|
20
|
+
* - **A clip** (0.16.0: the route's `clip`, e.g. a product page's `useProductClip`) plays on its own: its
|
|
21
|
+
* recording isn't looked for in the archive (nor hidden as a rehearsal: whoever was shown the clip
|
|
22
|
+
* plays it), there is nothing to swipe to, and only its window plays. The bar is the clip's, from 0 to
|
|
23
|
+
* its length; the recording stops at the clip's end (`finished`), and Play there starts the clip again.
|
|
24
|
+
* The products are the clip's own (`productIds`), with no time windows, so the first is on screen and
|
|
25
|
+
* a pick from the sheet only opens its variant page; the chat is the recording's, at the recording's time.
|
|
20
26
|
* - **One player** (expo-video) for the whole app, borrowed from `ReplayPlayerProvider`, which owns it
|
|
21
27
|
* above the navigator so it outlives this screen: a new recording replaces the source, one source per
|
|
22
28
|
* recording, and its poster covers the picture until the video has a frame. It plays while the screen
|
|
@@ -24,7 +30,8 @@ import type { ReplayCommentItem, ReplayNowProduct, ReplayShopLink, ReplayShow }
|
|
|
24
30
|
* pauses under anything else.
|
|
25
31
|
* - **Picture-in-picture, in the app** (decided 2026-10-05, amore-v2's Head of Engineering): the
|
|
26
32
|
* header's picture-in-picture button shrinks the show into a floating bubble over the app and goes
|
|
27
|
-
*
|
|
33
|
+
* Home; ✕ and Android's back stop it and go Home (every app, decided 2026-10-22: `routes.openHome`; the
|
|
34
|
+
* iOS swipe back is off on this screen); its cart button shrinks it the
|
|
28
35
|
* same way and opens the Cart (`routes.openCart`). Arriving on this screen ends the bubble, and the
|
|
29
36
|
* screen shows the video where the bubble had it; ✕ stops the show, with no bubble. Opening another
|
|
30
37
|
* recording replaces the bubble's. No system picture-in-picture. One shrunk show at a time: arriving
|
|
@@ -32,7 +39,8 @@ import type { ReplayCommentItem, ReplayNowProduct, ReplayShopLink, ReplayShow }
|
|
|
32
39
|
* - **The playhead** is read twice a second. A seek is held until the player reports arriving there,
|
|
33
40
|
* so the bar never jumps back to where it was.
|
|
34
41
|
* - **A tap on the video pauses or plays** (0.15.0; decided 2026-10-20 by amore-v2's Head of
|
|
35
|
-
* Engineering, as the clips reel's
|
|
42
|
+
* Engineering, as the clips reel's), or with `tapVideo: 'showControls'` (0.16.0) brings the controls
|
|
43
|
+
* back for `controlsShowMs`, kept up while paused: the controls' own
|
|
36
44
|
* Play and Pause, which shows the controls for their 4 s, so the skips and the bar are in reach.
|
|
37
45
|
* While the shopper has paused, the player draws the reel's play mark (`player.paused`).
|
|
38
46
|
* - **The product on screen** is the one whose time window covers the playhead
|
|
@@ -57,7 +65,17 @@ import type { ReplayCommentItem, ReplayNowProduct, ReplayShopLink, ReplayShow }
|
|
|
57
65
|
* - **A read that fails** (the products, the time windows, the chat) goes to `onWarning`; a failed
|
|
58
66
|
* products or windows read is tried again when the shopper comes back to the recording.
|
|
59
67
|
*/
|
|
60
|
-
export
|
|
68
|
+
export interface UseReplayPageOptions {
|
|
69
|
+
/**
|
|
70
|
+
* What a tap on the video does (0.16.0): `playPause` (the default, 0.15.0's, as the clips reel), or
|
|
71
|
+
* `showControls`: the controls come back for `controlsShowMs`, and stay up while the video is paused, so
|
|
72
|
+
* a paused recording always shows its play button.
|
|
73
|
+
*/
|
|
74
|
+
tapVideo?: 'playPause' | 'showControls';
|
|
75
|
+
/** How long the controls stay after they show or are touched, ms, 1000–15000 (default 4000). 0.16.0. */
|
|
76
|
+
controlsShowMs?: number;
|
|
77
|
+
}
|
|
78
|
+
export declare function useReplayPage({ tapVideo, controlsShowMs }?: UseReplayPageOptions): {
|
|
61
79
|
/** The video is on screen: light status bar text over it. */
|
|
62
80
|
darkBehindStatusBar: boolean;
|
|
63
81
|
player: {
|
|
@@ -69,6 +87,7 @@ export declare function useReplayPage(): {
|
|
|
69
87
|
videoReady: boolean;
|
|
70
88
|
buffering: boolean;
|
|
71
89
|
paused: boolean;
|
|
90
|
+
finished: boolean;
|
|
72
91
|
onVideoFirstFrame: () => void;
|
|
73
92
|
startsPictureInPictureAutomatically: boolean;
|
|
74
93
|
onPictureInPictureStart: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReplayPage.d.ts","sourceRoot":"","sources":["../../src/react/useReplayPage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useReplayPage.d.ts","sourceRoot":"","sources":["../../src/react/useReplayPage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAQL,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAuCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACxC,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAsB,EAAE,cAAc,EAAE,GAAE,oBAAyB;IAsc/F,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqD3C,MAAM;uBAIP,MAAM;2BAIF,MAAM;;;;;;;;;;;;;;;;;;;;QAgCzB,2FAA2F;;;;;kCArLnF,OAAO;2BA6EV,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC;oCA+Gd,OAAO;;;;;;;;EASxC;AAED,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -11,6 +11,7 @@ const sdk_shopify_1 = require("@tiledev/sdk-shopify");
|
|
|
11
11
|
const react_1 = require("react");
|
|
12
12
|
const react_native_1 = require("react-native");
|
|
13
13
|
const client_1 = require("../client");
|
|
14
|
+
const viewerRules_1 = require("../viewerRules");
|
|
14
15
|
const linkLots_1 = require("../linkLots");
|
|
15
16
|
const liveSelling_1 = require("../liveSelling");
|
|
16
17
|
const livePages_1 = require("../livePages");
|
|
@@ -31,63 +32,16 @@ const POSITION_CHECK_MS = 500;
|
|
|
31
32
|
const SEEK_LANDED_WITHIN_MS = 600;
|
|
32
33
|
/** Checks a seek is held for before the player is believed anyway (about 3 s): one that never lands mustn't freeze the bar. */
|
|
33
34
|
const SEEK_GIVE_UP_CHECKS = 6;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Everything the Replay screen wires, so the screen stays plain tiles. Call it from the Replay screen
|
|
38
|
-
* and from each of its tiles' wiring.
|
|
39
|
-
*
|
|
40
|
-
* - **A feed over the archive.** The route names where the shopper comes in (`feedId` from a card,
|
|
41
|
-
* `streamId` from a push or link); `useReplays` (playable recordings, 20 a read) is paged until that
|
|
42
|
-
* recording turns up. A swipe moves along the archive, and the next page is read when the shopper
|
|
43
|
-
* reaches the last one or two read so far. Hidden shows a shopper can't see are left out
|
|
44
|
-
* (`hiddenShows`), as on the Live tab: one opened by its id reads the archive to its end, then "This
|
|
45
|
-
* show has ended".
|
|
46
|
-
* - **One player** (expo-video) for the whole app, borrowed from `ReplayPlayerProvider`, which owns it
|
|
47
|
-
* above the navigator so it outlives this screen: a new recording replaces the source, one source per
|
|
48
|
-
* recording, and its poster covers the picture until the video has a frame. It plays while the screen
|
|
49
|
-
* is on show, or only covered by a sheet (`routes.sheets`: the variant page), or in the bubble, and
|
|
50
|
-
* pauses under anything else.
|
|
51
|
-
* - **Picture-in-picture, in the app** (decided 2026-10-05, amore-v2's Head of Engineering): the
|
|
52
|
-
* header's picture-in-picture button shrinks the show into a floating bubble over the app and goes
|
|
53
|
-
* back (Home when there's nothing to go back to: `routes.openHome`); its cart button shrinks it the
|
|
54
|
-
* same way and opens the Cart (`routes.openCart`). Arriving on this screen ends the bubble, and the
|
|
55
|
-
* screen shows the video where the bubble had it; ✕ stops the show, with no bubble. Opening another
|
|
56
|
-
* recording replaces the bubble's. No system picture-in-picture. One shrunk show at a time: arriving
|
|
57
|
-
* here stops a live show's bubble, as the Live screen stops this one's.
|
|
58
|
-
* - **The playhead** is read twice a second. A seek is held until the player reports arriving there,
|
|
59
|
-
* so the bar never jumps back to where it was.
|
|
60
|
-
* - **A tap on the video pauses or plays** (0.15.0; decided 2026-10-20 by amore-v2's Head of
|
|
61
|
-
* Engineering, as the clips reel's; until then a tap showed or hid the controls): the controls' own
|
|
62
|
-
* Play and Pause, which shows the controls for their 4 s, so the skips and the bar are in reach.
|
|
63
|
-
* While the shopper has paused, the player draws the reel's play mark (`player.paused`).
|
|
64
|
-
* - **The product on screen** is the one whose time window covers the playhead
|
|
65
|
-
* (`liveSelling.replays.segments`, `productOnScreen`); before the first window, the first tagged
|
|
66
|
-
* product. Picking a product in the shop sheet goes to where the host first showed it, playing, then
|
|
67
|
-
* opens the variant page (`routes.openVariantPage`); a product the host never showed (tagged, no time
|
|
68
|
-
* window) leaves the player untouched, where it was and playing or paused, and only opens the variant
|
|
69
|
-
* page. Every add from there is credited to the recording (`replayShowCredit`): `_replay_id` on the
|
|
70
|
-
* line, `replayAddToCart` (`track`), and the cart's `_apptile_attribution` count against the show's
|
|
71
|
-
* `streamingId`, never the replay's feed id. Products are read at sdk-shopify's `CARD_IMAGE`.
|
|
72
|
-
* - **Links the host added** (0.15.0; amore-v2, 2026-10-19: lots that are web addresses, mostly
|
|
73
|
-
* affiliate links): the feed lists only products, so the show's record (`liveSelling.streams.byId`) is
|
|
74
|
-
* read with them, once per recording per visit, and gives the shop its order, the links among the
|
|
75
|
-
* products (`recordingShopItems`). A link can be the lot on screen (its time window, by its id) and is
|
|
76
|
-
* a card in the sheet (`ReplayShopLink`); a tap opens it inside the app, the show in the bubble as for
|
|
77
|
-
* the cart (`routes.openLink`), and share shares its address. An unreadable record leaves the products
|
|
78
|
-
* alone, as before, and is reported.
|
|
79
|
-
* - **The chat** is the show's comments file (`liveSelling.replays.comments`), revealed up to the
|
|
80
|
-
* playhead, the newest 60 (`replayCommentsAt`).
|
|
81
|
-
* - **A view** is counted once per recording per visit (not on the web, where the Tile preview would
|
|
82
|
-
* count on the merchant's real counter); a show back from the bubble isn't a new view.
|
|
83
|
-
* - **A read that fails** (the products, the time windows, the chat) goes to `onWarning`; a failed
|
|
84
|
-
* products or windows read is tried again when the shopper comes back to the recording.
|
|
85
|
-
*/
|
|
86
|
-
function useReplayPage() {
|
|
87
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
35
|
+
function useReplayPage({ tapVideo = 'playPause', controlsShowMs } = {}) {
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
88
37
|
const nav = (0, navigation_1.useNavigation)();
|
|
89
38
|
const route = (0, navigation_1.useRoute)();
|
|
90
|
-
|
|
39
|
+
// A clip plays on its own, at its recording's id (0.16.0).
|
|
40
|
+
const routeClip = (_b = (_a = route.params) === null || _a === void 0 ? void 0 : _a.clip) !== null && _b !== void 0 ? _b : null;
|
|
41
|
+
const clipShow = (0, react_1.useMemo)(() => (routeClip ? (0, livePages_1.replayOfClip)(routeClip) : null), [routeClip]);
|
|
42
|
+
const clipWindow = (0, react_1.useMemo)(() => (routeClip && clipShow ? (0, livePages_1.replayClipWindow)(routeClip) : null), [routeClip, clipShow]);
|
|
43
|
+
const offsetMs = (_c = clipWindow === null || clipWindow === void 0 ? void 0 : clipWindow.startMs) !== null && _c !== void 0 ? _c : 0;
|
|
44
|
+
const linkedId = (_h = (_f = (_d = clipShow === null || clipShow === void 0 ? void 0 : clipShow.id) !== null && _d !== void 0 ? _d : (_e = route.params) === null || _e === void 0 ? void 0 : _e.feedId) !== null && _f !== void 0 ? _f : (_g = route.params) === null || _g === void 0 ? void 0 : _g.streamId) !== null && _h !== void 0 ? _h : '';
|
|
91
45
|
const { ready } = (0, LiveSellingProvider_1.useLiveSelling)();
|
|
92
46
|
const { routes, track, canOpenLinks } = (0, LiveSellingProvider_1.useLivePageOptions)();
|
|
93
47
|
const wishlist = (0, sdk_shopify_1.useWishlist)();
|
|
@@ -108,24 +62,31 @@ function useReplayPage() {
|
|
|
108
62
|
// A recording back from the bubble shows at once: the player holds it, and a new screen reads the
|
|
109
63
|
// archive from the start, so it would otherwise wait for that read to find it again.
|
|
110
64
|
const heldRecording = replayPlayer.recording;
|
|
111
|
-
const show =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
65
|
+
const show = clipShow
|
|
66
|
+
? clipShow
|
|
67
|
+
: index >= 0
|
|
68
|
+
? shows[index]
|
|
69
|
+
: heldRecording && currentId && (0, livePages_1.isTheShow)(heldRecording, currentId)
|
|
70
|
+
? heldRecording
|
|
71
|
+
: null;
|
|
72
|
+
// A clip has nothing to swipe to.
|
|
73
|
+
const previousShow = !clipShow && index > 0 ? shows[index - 1] : null;
|
|
74
|
+
const nextShow = !clipShow && index >= 0 ? ((_j = shows[index + 1]) !== null && _j !== void 0 ? _j : null) : null;
|
|
75
|
+
// Read on until the recording turns up (not a clip's). One read at a time: `useReplays` ignores a second.
|
|
115
76
|
const readSoFar = !!currentId && archive.replays.some((replay) => (0, livePages_1.isTheShow)(replay, currentId));
|
|
116
|
-
const searching = !!currentId && !readSoFar && hasMore && !readFailed;
|
|
77
|
+
const searching = !clipShow && !!currentId && !readSoFar && hasMore && !readFailed;
|
|
117
78
|
(0, react_1.useEffect)(() => {
|
|
118
79
|
if (ready && firstReadDone && searching && !reading)
|
|
119
80
|
void loadMore();
|
|
120
81
|
}, [ready, firstReadDone, searching, reading, loadMore]);
|
|
121
82
|
// The next page before the shopper reaches the end, so the swipe after the last one lands.
|
|
122
|
-
const nearTheEnd = index >= 0 && index >= shows.length - 2;
|
|
83
|
+
const nearTheEnd = !clipShow && index >= 0 && index >= shows.length - 2;
|
|
123
84
|
(0, react_1.useEffect)(() => {
|
|
124
85
|
if (nearTheEnd && hasMore && !reading && !readFailed)
|
|
125
86
|
void loadMore();
|
|
126
87
|
}, [nearTheEnd, hasMore, reading, readFailed, loadMore]);
|
|
127
88
|
// Not in the archive (or a hidden show this shopper can't see), or the archive couldn't be read.
|
|
128
|
-
const missing = !currentId || (firstReadDone && !show && !searching && !reading);
|
|
89
|
+
const missing = !clipShow && (!currentId || (firstReadDone && !show && !searching && !reading));
|
|
129
90
|
const goTo = (0, react_1.useCallback)((target) => {
|
|
130
91
|
if (!target)
|
|
131
92
|
return;
|
|
@@ -137,7 +98,7 @@ function useReplayPage() {
|
|
|
137
98
|
const isFocused = (0, navigation_1.useIsFocused)();
|
|
138
99
|
const coveredOnlyBySheet = (0, navigation_1.useNavigationState)((state) => (0, livePages_1.isCoveredOnlyBySheet)(state, route.key, routes.sheets));
|
|
139
100
|
const onScreen = isFocused || coveredOnlyBySheet;
|
|
140
|
-
const videoUrl = (
|
|
101
|
+
const videoUrl = (_k = show === null || show === void 0 ? void 0 : show.videoUrl) !== null && _k !== void 0 ? _k : null;
|
|
141
102
|
/** The player holds this screen's recording. It may hold another (the bubble's, until this screen takes over) or none. */
|
|
142
103
|
const holdsThisShow = !!videoUrl && replayPlayer.videoUrl === videoUrl;
|
|
143
104
|
// Put away with the video on this screen, the phone takes it into its own window (0.15.2, ENG-941): armed
|
|
@@ -147,14 +108,16 @@ function useReplayPage() {
|
|
|
147
108
|
const status = holdsThisShow ? replayPlayer.status : 'loading';
|
|
148
109
|
const videoReady = holdsThisShow && replayPlayer.videoReady;
|
|
149
110
|
// Back from the bubble, the player is already somewhere in the recording: start from there.
|
|
150
|
-
const [positionMs, setPositionMs] = (0, react_1.useState)(() => (holdsThisShow ? (0, livePages_1.playerMs)(player.currentTime) : 0));
|
|
111
|
+
const [positionMs, setPositionMs] = (0, react_1.useState)(() => (holdsThisShow ? Math.max(0, (0, livePages_1.playerMs)(player.currentTime) - offsetMs) : 0));
|
|
151
112
|
/** While the shopper drags the bar: the product card and chat follow the finger, not the playhead. */
|
|
152
113
|
const [scrubMs, setScrubMs] = (0, react_1.useState)(null);
|
|
153
114
|
const [durationMs, setDurationMs] = (0, react_1.useState)(() => (holdsThisShow ? (0, livePages_1.playerMs)(player.duration) : 0));
|
|
154
115
|
/** A seek asked for and not yet reported back: the player keeps saying the old time until it lands. */
|
|
155
116
|
const pendingSeek = (0, react_1.useRef)(null);
|
|
156
|
-
const latest = (0, react_1.useRef)({ durationMs, holdsThisShow });
|
|
157
|
-
latest.current = { durationMs, holdsThisShow };
|
|
117
|
+
const latest = (0, react_1.useRef)({ durationMs, holdsThisShow, clipWindow });
|
|
118
|
+
latest.current = { durationMs, holdsThisShow, clipWindow };
|
|
119
|
+
/** This screen just opened a clip: it goes into the clip's window once the player can seek. */
|
|
120
|
+
const intoClip = (0, react_1.useRef)(false);
|
|
158
121
|
/** ✕ was pressed: the show has stopped, and the screen slides away on its poster. */
|
|
159
122
|
const [closing, setClosing] = (0, react_1.useState)(false);
|
|
160
123
|
// On show here, this screen's recording goes into the player, from the start, unless the player
|
|
@@ -173,6 +136,7 @@ function useReplayPage() {
|
|
|
173
136
|
setDurationMs(0);
|
|
174
137
|
// Held at 0 until the player stops reporting the last recording's time.
|
|
175
138
|
pendingSeek.current = { targetMs: 0, checks: 0 };
|
|
139
|
+
intoClip.current = !!latest.current.clipWindow;
|
|
176
140
|
openRecording(target);
|
|
177
141
|
}, [closing, onScreen, bubbleShown, videoUrl, holdsVideo, openRecording]);
|
|
178
142
|
// Arriving here ends the bubble, however the shopper came (its tap, a link, back from the cart): the
|
|
@@ -204,11 +168,22 @@ function useReplayPage() {
|
|
|
204
168
|
// The playhead, read rather than subscribed: product windows only need to land within half a second.
|
|
205
169
|
(0, react_1.useEffect)(() => {
|
|
206
170
|
const timer = setInterval(() => {
|
|
171
|
+
var _a, _b;
|
|
207
172
|
// Another recording's time (the player holds the bubble's, or nothing) isn't this one's.
|
|
208
173
|
if (!latest.current.holdsThisShow)
|
|
209
174
|
return;
|
|
210
175
|
try {
|
|
211
|
-
const
|
|
176
|
+
const clip = latest.current.clipWindow;
|
|
177
|
+
const recordingMs = (player.currentTime || 0) * 1000;
|
|
178
|
+
// Past a clip's end it is over, though the recording runs on: stopped there (not while a seek lands).
|
|
179
|
+
if ((clip === null || clip === void 0 ? void 0 : clip.endMs) != null && recordingMs >= clip.endMs && !pendingSeek.current && !intoClip.current) {
|
|
180
|
+
player.pause();
|
|
181
|
+
setPositionMs(clip.endMs - clip.startMs);
|
|
182
|
+
setDurationMs(clip.endMs - clip.startMs);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
// The clip's time, from its start; a recording's own time otherwise.
|
|
186
|
+
const reportedMs = Math.max(0, recordingMs - ((_a = clip === null || clip === void 0 ? void 0 : clip.startMs) !== null && _a !== void 0 ? _a : 0));
|
|
212
187
|
const pending = pendingSeek.current;
|
|
213
188
|
if (!pending)
|
|
214
189
|
setPositionMs(reportedMs);
|
|
@@ -220,8 +195,10 @@ function useReplayPage() {
|
|
|
220
195
|
pendingSeek.current = { targetMs: pending.targetMs, checks: pending.checks + 1 };
|
|
221
196
|
// A length that arrives late, or that the playlist revises.
|
|
222
197
|
const lengthSeconds = player.duration;
|
|
223
|
-
if (
|
|
224
|
-
setDurationMs(
|
|
198
|
+
if ((clip === null || clip === void 0 ? void 0 : clip.endMs) != null)
|
|
199
|
+
setDurationMs(clip.endMs - clip.startMs);
|
|
200
|
+
else if (Number.isFinite(lengthSeconds) && lengthSeconds > 0)
|
|
201
|
+
setDurationMs(Math.max(0, lengthSeconds * 1000 - ((_b = clip === null || clip === void 0 ? void 0 : clip.startMs) !== null && _b !== void 0 ? _b : 0)));
|
|
225
202
|
}
|
|
226
203
|
catch {
|
|
227
204
|
// The player was released under the timer (the app is closing).
|
|
@@ -230,13 +207,15 @@ function useReplayPage() {
|
|
|
230
207
|
return () => clearInterval(timer);
|
|
231
208
|
}, [player]);
|
|
232
209
|
const seekTo = (0, react_1.useCallback)((targetMs) => {
|
|
210
|
+
var _a, _b;
|
|
233
211
|
if (!latest.current.holdsThisShow)
|
|
234
212
|
return;
|
|
235
213
|
const length = latest.current.durationMs;
|
|
236
214
|
const target = Math.max(0, length > 0 ? Math.min(targetMs, length) : targetMs);
|
|
237
215
|
pendingSeek.current = { targetMs: target, checks: 0 };
|
|
238
216
|
try {
|
|
239
|
-
|
|
217
|
+
// A clip's time is from its start; the player's is the recording's.
|
|
218
|
+
player.currentTime = (target + ((_b = (_a = latest.current.clipWindow) === null || _a === void 0 ? void 0 : _a.startMs) !== null && _b !== void 0 ? _b : 0)) / 1000;
|
|
240
219
|
}
|
|
241
220
|
catch {
|
|
242
221
|
pendingSeek.current = null;
|
|
@@ -246,19 +225,29 @@ function useReplayPage() {
|
|
|
246
225
|
setScrubMs(null);
|
|
247
226
|
}, [player]);
|
|
248
227
|
const shownPositionMs = scrubMs !== null && scrubMs !== void 0 ? scrubMs : positionMs;
|
|
249
|
-
//
|
|
228
|
+
// A clip this screen opened goes to its start once the player has the recording: a time set before
|
|
229
|
+
// that is dropped, and the clip would play the top of the show.
|
|
230
|
+
(0, react_1.useEffect)(() => {
|
|
231
|
+
if (!intoClip.current || !clipWindow || !holdsThisShow || status !== 'readyToPlay')
|
|
232
|
+
return;
|
|
233
|
+
intoClip.current = false;
|
|
234
|
+
seekTo(0);
|
|
235
|
+
}, [clipWindow, holdsThisShow, status, seekTo]);
|
|
236
|
+
// ─── The controls: up for 4 s (`controlsShowMs`) after they show or are touched ───────────────
|
|
250
237
|
const [controlsVisible, setControlsVisible] = (0, react_1.useState)(true);
|
|
251
238
|
const [controlsTouches, setControlsTouches] = (0, react_1.useState)(0);
|
|
252
239
|
const showControls = (0, react_1.useCallback)(() => {
|
|
253
240
|
setControlsVisible(true);
|
|
254
241
|
setControlsTouches((count) => count + 1);
|
|
255
242
|
}, []);
|
|
243
|
+
// `showControls` taps: a paused recording keeps its controls, so its play button is always there.
|
|
244
|
+
const { tapShowsControls, keptWhilePaused, showForMs } = (0, viewerRules_1.replayControlsRule)({ tapVideo, controlsShowMs }, playing);
|
|
256
245
|
(0, react_1.useEffect)(() => {
|
|
257
|
-
if (!controlsVisible)
|
|
246
|
+
if (!controlsVisible || keptWhilePaused)
|
|
258
247
|
return;
|
|
259
|
-
const timer = setTimeout(() => setControlsVisible(false),
|
|
248
|
+
const timer = setTimeout(() => setControlsVisible(false), showForMs);
|
|
260
249
|
return () => clearTimeout(timer);
|
|
261
|
-
}, [controlsVisible, controlsTouches]);
|
|
250
|
+
}, [controlsVisible, controlsTouches, keptWhilePaused, showForMs]);
|
|
262
251
|
/**
|
|
263
252
|
* Pause or play: the controls' middle button, and a tap on the video, as the clips reel's (0.15.0;
|
|
264
253
|
* decided 2026-10-20 by amore-v2's Head of Engineering; until then a tap showed or hid the controls).
|
|
@@ -281,15 +270,17 @@ function useReplayPage() {
|
|
|
281
270
|
// ─── What the show sells, and its chat ─────────────────────────────────────────────────────────
|
|
282
271
|
const shoppingRead = (0, react_1.useRef)(new Map());
|
|
283
272
|
const [shopping, setShopping] = (0, react_1.useState)({ showId: '', products: [], segments: [], recordLots: null });
|
|
284
|
-
const showId = (
|
|
273
|
+
const showId = (_l = show === null || show === void 0 ? void 0 : show.id) !== null && _l !== void 0 ? _l : null;
|
|
274
|
+
// A clip's reads (its own products, no windows) are kept apart from its recording's.
|
|
275
|
+
const shoppingKey = showId ? (clipShow ? `clip:${showId}` : showId) : null;
|
|
285
276
|
const productIds = show === null || show === void 0 ? void 0 : show.productIds;
|
|
286
|
-
const streamingId = (
|
|
277
|
+
const streamingId = (_m = show === null || show === void 0 ? void 0 : show.streamingId) !== null && _m !== void 0 ? _m : null;
|
|
287
278
|
(0, react_1.useEffect)(() => {
|
|
288
|
-
if (!showId)
|
|
279
|
+
if (!showId || !shoppingKey)
|
|
289
280
|
return;
|
|
290
|
-
const kept = shoppingRead.current.get(
|
|
281
|
+
const kept = shoppingRead.current.get(shoppingKey);
|
|
291
282
|
if (kept) {
|
|
292
|
-
setShopping({ showId, ...kept });
|
|
283
|
+
setShopping({ showId: shoppingKey, ...kept });
|
|
293
284
|
return;
|
|
294
285
|
}
|
|
295
286
|
let stillThisShow = true;
|
|
@@ -301,7 +292,8 @@ function useReplayPage() {
|
|
|
301
292
|
};
|
|
302
293
|
void Promise.all([
|
|
303
294
|
(productIds === null || productIds === void 0 ? void 0 : productIds.length) ? sdk_shopify_1.shopify.products.byIds(productIds, { imageTransform: sdk_shopify_1.CARD_IMAGE }).catch(failed('replay.products')) : Promise.resolve([]),
|
|
304
|
-
|
|
295
|
+
// A clip has no time windows: its own products, the first on screen.
|
|
296
|
+
clipShow ? Promise.resolve([]) : liveSelling_1.liveSelling.replays.segments(showId).catch(failed('replay.segments')),
|
|
305
297
|
// The record lists the links the host added, which the feed doesn't, and the host's order.
|
|
306
298
|
streamingId
|
|
307
299
|
? liveSelling_1.liveSelling.streams
|
|
@@ -316,17 +308,17 @@ function useReplayPage() {
|
|
|
316
308
|
const read = { products, segments, recordLots };
|
|
317
309
|
// Kept for the visit only when it all came back: a failed read is tried again when the shopper returns.
|
|
318
310
|
if (everythingRead)
|
|
319
|
-
shoppingRead.current.set(
|
|
311
|
+
shoppingRead.current.set(shoppingKey, read);
|
|
320
312
|
if (stillThisShow)
|
|
321
|
-
setShopping({ showId, ...read });
|
|
313
|
+
setShopping({ showId: shoppingKey, ...read });
|
|
322
314
|
});
|
|
323
315
|
return () => {
|
|
324
316
|
stillThisShow = false;
|
|
325
317
|
};
|
|
326
|
-
}, [showId, productIds, streamingId]);
|
|
327
|
-
const products = shopping.showId ===
|
|
328
|
-
const segments = shopping.showId ===
|
|
329
|
-
const recordLots = shopping.showId ===
|
|
318
|
+
}, [showId, shoppingKey, productIds, streamingId, clipShow]);
|
|
319
|
+
const products = shopping.showId === shoppingKey ? shopping.products : [];
|
|
320
|
+
const segments = shopping.showId === shoppingKey ? shopping.segments : [];
|
|
321
|
+
const recordLots = shopping.showId === shoppingKey ? shopping.recordLots : null;
|
|
330
322
|
/** The shop in the host's order: the products and the links the host added among them. */
|
|
331
323
|
const shopItems = (0, react_1.useMemo)(() => (0, linkLots_1.recordingShopItems)(products, recordLots, client_1.toProductGid, { canOpen: canOpenLinks }), [products, recordLots, canOpenLinks]);
|
|
332
324
|
// A link's window is keyed by its lot's id, as a product's is.
|
|
@@ -358,7 +350,7 @@ function useReplayPage() {
|
|
|
358
350
|
};
|
|
359
351
|
}, [streamingId]);
|
|
360
352
|
const allComments = chat.streamingId === streamingId ? chat.comments : [];
|
|
361
|
-
const saidSoFar = (0, react_1.useMemo)(() => (0, livePages_1.replayCommentsAt)(allComments, shownPositionMs), [allComments, shownPositionMs]);
|
|
353
|
+
const saidSoFar = (0, react_1.useMemo)(() => (0, livePages_1.replayCommentsAt)(allComments, shownPositionMs + offsetMs), [allComments, shownPositionMs, offsetMs]);
|
|
362
354
|
const [chatHidden, setChatHidden] = (0, react_1.useState)(false);
|
|
363
355
|
// A swipe is a new show: its own controls showing, its chat out.
|
|
364
356
|
(0, react_1.useEffect)(() => {
|
|
@@ -419,18 +411,27 @@ function useReplayPage() {
|
|
|
419
411
|
}, [onScreenProduct, onScreenLink]);
|
|
420
412
|
const auctionProductIds = (0, react_1.useMemo)(() => products.filter(sdk_shopify_1.isAuctioned).map((product) => product.id), [products]);
|
|
421
413
|
const poster = (replay) => (replay ? { id: replay.id, posterUrl: replay.thumbnailUrl } : null);
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
nav.goBack();
|
|
425
|
-
else
|
|
426
|
-
routes.openHome(nav);
|
|
427
|
-
}, [nav, routes]);
|
|
414
|
+
// ✕, Android's back and picture-in-picture: Home, for every app (decided 2026-10-22).
|
|
415
|
+
const leave = (0, react_1.useCallback)(() => routes.openHome(nav), [nav, routes]);
|
|
428
416
|
// ✕: the show stops, with no bubble.
|
|
429
417
|
const close = (0, react_1.useCallback)(() => {
|
|
430
418
|
setClosing(true);
|
|
431
419
|
stop();
|
|
432
420
|
leave();
|
|
433
421
|
}, [stop, leave]);
|
|
422
|
+
// Android's back does what ✕ does; the iOS swipe back, which would go to the screen behind, is off here.
|
|
423
|
+
const closeNow = (0, react_1.useRef)(close);
|
|
424
|
+
closeNow.current = close;
|
|
425
|
+
(0, navigation_1.useFocusEffect)((0, react_1.useCallback)(() => {
|
|
426
|
+
const subscription = react_native_1.BackHandler.addEventListener('hardwareBackPress', () => {
|
|
427
|
+
closeNow.current();
|
|
428
|
+
return true;
|
|
429
|
+
});
|
|
430
|
+
return () => subscription.remove();
|
|
431
|
+
}, []));
|
|
432
|
+
(0, react_1.useEffect)(() => {
|
|
433
|
+
nav.setOptions({ gestureEnabled: false });
|
|
434
|
+
}, [nav]);
|
|
434
435
|
// Picture-in-picture: the show shrinks into the bubble, and the shopper goes back.
|
|
435
436
|
const shrinkIntoBubble = (0, react_1.useCallback)(() => {
|
|
436
437
|
if (holdsVideo(videoUrl))
|
|
@@ -475,6 +476,10 @@ function useReplayPage() {
|
|
|
475
476
|
buffering: !closing && !!videoUrl && status !== 'error' && (status === 'loading' || !videoReady),
|
|
476
477
|
// The reel's play mark while the shopper has paused it (0.15.0).
|
|
477
478
|
paused: holdsThisShow && replayPlayer.pausedByShopper,
|
|
479
|
+
// The recording played to its end and stopped there (0.16.0, the player's `playToEnd`, so a pause in its
|
|
480
|
+
// last second isn't the end), or a clip reached its own end: for an "end of the replay" overlay. Play
|
|
481
|
+
// starts it again from the top.
|
|
482
|
+
finished: holdsThisShow && !playing && (clipWindow ? durationMs > 0 && positionMs >= durationMs - 1000 : replayPlayer.playedToEnd),
|
|
478
483
|
onVideoFirstFrame: () => {
|
|
479
484
|
if (holdsThisShow)
|
|
480
485
|
markVideoReady();
|
|
@@ -483,12 +488,12 @@ function useReplayPage() {
|
|
|
483
488
|
startsPictureInPictureAutomatically,
|
|
484
489
|
onPictureInPictureStart: () => noteSystemPictureInPicture(true),
|
|
485
490
|
onPictureInPictureStop: () => noteSystemPictureInPicture(false),
|
|
486
|
-
onTapVideo: togglePlay,
|
|
491
|
+
onTapVideo: tapShowsControls ? showControls : togglePlay,
|
|
487
492
|
onSwipeToNext: () => goTo(nextShow),
|
|
488
493
|
onSwipeToPrevious: () => goTo(previousShow),
|
|
489
494
|
},
|
|
490
495
|
header: {
|
|
491
|
-
title: (
|
|
496
|
+
title: (_o = show === null || show === void 0 ? void 0 : show.title) !== null && _o !== void 0 ? _o : null,
|
|
492
497
|
muted,
|
|
493
498
|
canMute: showing,
|
|
494
499
|
// Something to shrink: the player holds this recording.
|
|
@@ -503,7 +508,7 @@ function useReplayPage() {
|
|
|
503
508
|
onCart: openCart,
|
|
504
509
|
},
|
|
505
510
|
controls: {
|
|
506
|
-
visible: showing && controlsVisible,
|
|
511
|
+
visible: showing && (controlsVisible || keptWhilePaused),
|
|
507
512
|
positionMs: shownPositionMs,
|
|
508
513
|
durationMs,
|
|
509
514
|
playing,
|
|
@@ -555,7 +560,7 @@ function useReplayPage() {
|
|
|
555
560
|
visible: showing,
|
|
556
561
|
/** The products and the links the host added (`ReplayShopLink`), in the record's order. */
|
|
557
562
|
products: shopItems,
|
|
558
|
-
onScreenProductId: (
|
|
563
|
+
onScreenProductId: (_p = onScreenItem === null || onScreenItem === void 0 ? void 0 : onScreenItem.id) !== null && _p !== void 0 ? _p : null,
|
|
559
564
|
favoriteIds: wishlist.ids,
|
|
560
565
|
auctionProductIds,
|
|
561
566
|
onPressProduct: pickFromSheet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReplayPage.js","sourceRoot":"","sources":["../../src/react/useReplayPage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useReplayPage.js","sourceRoot":"","sources":["../../src/react/useReplayPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ export interface SilentAuctionLotConsole {
|
|
|
34
34
|
inExtensionWindow: boolean;
|
|
35
35
|
/** A bid is on its way. */
|
|
36
36
|
bidding: boolean;
|
|
37
|
+
/** The variant this device last bid on for the product (`rememberBidVariant`), to reopen on; null if none. 0.16.0. */
|
|
38
|
+
bidVariantId: string | null;
|
|
37
39
|
placeBid(amount?: number): Promise<void>;
|
|
38
40
|
rebidOnVariant(): Promise<void>;
|
|
39
41
|
refresh(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionLot.d.ts","sourceRoot":"","sources":["../../src/react/useSilentAuctionLot.ts"],"names":[],"mappings":"AAsBA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,0BAA0B;IACzC,mGAAmG;IACnG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,0BAA0B,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"useSilentAuctionLot.d.ts","sourceRoot":"","sources":["../../src/react/useSilentAuctionLot.ts"],"names":[],"mappings":"AAsBA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,0BAA0B;IACzC,mGAAmG;IACnG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,sHAAsH;IACtH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,0BAA0B,GAAG,uBAAuB,CAmI1H"}
|
|
@@ -37,6 +37,7 @@ function useSilentAuctionLot(productId, options) {
|
|
|
37
37
|
const [extendedSeen, setExtendedSeen] = (0, react_1.useState)(false);
|
|
38
38
|
const [bidding, setBidding] = (0, react_1.useState)(false);
|
|
39
39
|
const [now, setNow] = (0, react_1.useState)(() => Date.now());
|
|
40
|
+
const [bidVariant, setBidVariant] = (0, react_1.useState)(null);
|
|
40
41
|
/** When the last answer landed; the tick compares against it. */
|
|
41
42
|
const lastRead = (0, react_1.useRef)(0);
|
|
42
43
|
const reading = (0, react_1.useRef)(false);
|
|
@@ -72,6 +73,18 @@ function useSilentAuctionLot(productId, options) {
|
|
|
72
73
|
lastRead.current = Date.now();
|
|
73
74
|
}
|
|
74
75
|
}, [productId]);
|
|
76
|
+
(0, react_1.useEffect)(() => {
|
|
77
|
+
if (!ready || !productId)
|
|
78
|
+
return;
|
|
79
|
+
let current = true;
|
|
80
|
+
void silentAuctions_1.silentAuctions.bidVariant(productId).then((id) => {
|
|
81
|
+
if (current)
|
|
82
|
+
setBidVariant({ productId, variantId: id });
|
|
83
|
+
});
|
|
84
|
+
return () => {
|
|
85
|
+
current = false;
|
|
86
|
+
};
|
|
87
|
+
}, [ready, productId]);
|
|
75
88
|
// A new product: back to knowing nothing, and read it.
|
|
76
89
|
(0, react_1.useEffect)(() => {
|
|
77
90
|
setLot(null);
|
|
@@ -109,8 +122,10 @@ function useSilentAuctionLot(productId, options) {
|
|
|
109
122
|
await silentAuctions_1.silentAuctions.bid({ productId, customerId, amount, variantId, email });
|
|
110
123
|
// The record My Bids reads, and the size to reopen on. Neither holds the bid up or fails it.
|
|
111
124
|
void silentAuctions_1.silentAuctions.recordBid(productId, lot === null || lot === void 0 ? void 0 : lot.auctionId);
|
|
112
|
-
if (variantId)
|
|
125
|
+
if (variantId) {
|
|
113
126
|
void silentAuctions_1.silentAuctions.rememberBidVariant(productId, variantId);
|
|
127
|
+
setBidVariant({ productId, variantId });
|
|
128
|
+
}
|
|
114
129
|
}
|
|
115
130
|
finally {
|
|
116
131
|
setBidding(false);
|
|
@@ -144,6 +159,7 @@ function useSilentAuctionLot(productId, options) {
|
|
|
144
159
|
extended: extendedSeen || !!(lot === null || lot === void 0 ? void 0 : lot.biddingWarAt),
|
|
145
160
|
inExtensionWindow: lot ? phase === 'live' && (0, silentAuctionRules_1.inExtensionWindow)(lot, now) : false,
|
|
146
161
|
bidding,
|
|
162
|
+
bidVariantId: bidVariant && bidVariant.productId === productId ? bidVariant.variantId : null,
|
|
147
163
|
placeBid,
|
|
148
164
|
rebidOnVariant,
|
|
149
165
|
refresh,
|