@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.
Files changed (124) hide show
  1. package/README.md +44 -5
  2. package/dist/checkoutRefused.d.ts +9 -0
  3. package/dist/checkoutRefused.d.ts.map +1 -0
  4. package/dist/checkoutRefused.js +16 -0
  5. package/dist/checkoutRefused.js.map +1 -0
  6. package/dist/clips.d.ts +4 -2
  7. package/dist/clips.d.ts.map +1 -1
  8. package/dist/clips.js +76 -15
  9. package/dist/clips.js.map +1 -1
  10. package/dist/giveawayPrizes.d.ts +20 -0
  11. package/dist/giveawayPrizes.d.ts.map +1 -0
  12. package/dist/giveawayPrizes.js +50 -0
  13. package/dist/giveawayPrizes.js.map +1 -0
  14. package/dist/index.d.ts +8 -4
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +28 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/livePages.d.ts +11 -1
  19. package/dist/livePages.d.ts.map +1 -1
  20. package/dist/livePages.js +29 -0
  21. package/dist/livePages.js.map +1 -1
  22. package/dist/pageOptions.d.ts +16 -0
  23. package/dist/pageOptions.d.ts.map +1 -1
  24. package/dist/pageOptions.js +4 -1
  25. package/dist/pageOptions.js.map +1 -1
  26. package/dist/pageTypes.d.ts +1 -1
  27. package/dist/pageTypes.d.ts.map +1 -1
  28. package/dist/react/LiveSellingProvider.d.ts +8 -2
  29. package/dist/react/LiveSellingProvider.d.ts.map +1 -1
  30. package/dist/react/LiveSellingProvider.js +10 -2
  31. package/dist/react/LiveSellingProvider.js.map +1 -1
  32. package/dist/react/index.d.ts +6 -5
  33. package/dist/react/index.d.ts.map +1 -1
  34. package/dist/react/index.js +6 -2
  35. package/dist/react/index.js.map +1 -1
  36. package/dist/react/index.web.d.ts +5 -4
  37. package/dist/react/index.web.d.ts.map +1 -1
  38. package/dist/react/index.web.js +5 -2
  39. package/dist/react/index.web.js.map +1 -1
  40. package/dist/react/replayPlayer.d.ts +2 -0
  41. package/dist/react/replayPlayer.d.ts.map +1 -1
  42. package/dist/react/replayPlayer.js +11 -1
  43. package/dist/react/replayPlayer.js.map +1 -1
  44. package/dist/react/shopifyProviders.d.ts +10 -5
  45. package/dist/react/shopifyProviders.d.ts.map +1 -1
  46. package/dist/react/shopifyProviders.js +14 -4
  47. package/dist/react/shopifyProviders.js.map +1 -1
  48. package/dist/react/showPages.d.ts.map +1 -1
  49. package/dist/react/showPages.js +4 -2
  50. package/dist/react/showPages.js.map +1 -1
  51. package/dist/react/useAuctionBidGate.d.ts +8 -2
  52. package/dist/react/useAuctionBidGate.d.ts.map +1 -1
  53. package/dist/react/useAuctionBidGate.js +59 -2
  54. package/dist/react/useAuctionBidGate.js.map +1 -1
  55. package/dist/react/useAuctionWins.d.ts +5 -3
  56. package/dist/react/useAuctionWins.d.ts.map +1 -1
  57. package/dist/react/useAuctionWins.js +7 -2
  58. package/dist/react/useAuctionWins.js.map +1 -1
  59. package/dist/react/useClips.d.ts +7 -1
  60. package/dist/react/useClips.d.ts.map +1 -1
  61. package/dist/react/useClips.js +20 -7
  62. package/dist/react/useClips.js.map +1 -1
  63. package/dist/react/useFeaturedClip.d.ts +5 -1
  64. package/dist/react/useFeaturedClip.d.ts.map +1 -1
  65. package/dist/react/useFeaturedClip.js +6 -4
  66. package/dist/react/useFeaturedClip.js.map +1 -1
  67. package/dist/react/useGiveawayPrizes.d.ts +4 -0
  68. package/dist/react/useGiveawayPrizes.d.ts.map +1 -0
  69. package/dist/react/useGiveawayPrizes.js +58 -0
  70. package/dist/react/useGiveawayPrizes.js.map +1 -0
  71. package/dist/react/useLiveAuction.d.ts.map +1 -1
  72. package/dist/react/useLiveAuction.js +9 -5
  73. package/dist/react/useLiveAuction.js.map +1 -1
  74. package/dist/react/useLiveChat.d.ts +6 -1
  75. package/dist/react/useLiveChat.d.ts.map +1 -1
  76. package/dist/react/useLiveChat.js +31 -9
  77. package/dist/react/useLiveChat.js.map +1 -1
  78. package/dist/react/useLivePage.d.ts +12 -6
  79. package/dist/react/useLivePage.d.ts.map +1 -1
  80. package/dist/react/useLivePage.js +33 -18
  81. package/dist/react/useLivePage.js.map +1 -1
  82. package/dist/react/useReplayPage.d.ts +22 -3
  83. package/dist/react/useReplayPage.d.ts.map +1 -1
  84. package/dist/react/useReplayPage.js +102 -97
  85. package/dist/react/useReplayPage.js.map +1 -1
  86. package/dist/react/useSilentAuctionLot.d.ts +2 -0
  87. package/dist/react/useSilentAuctionLot.d.ts.map +1 -1
  88. package/dist/react/useSilentAuctionLot.js +17 -1
  89. package/dist/react/useSilentAuctionLot.js.map +1 -1
  90. package/dist/react/useSilentAuctionLots.d.ts +2 -0
  91. package/dist/react/useSilentAuctionLots.d.ts.map +1 -1
  92. package/dist/react/useSilentAuctionLots.js +1 -0
  93. package/dist/react/useSilentAuctionLots.js.map +1 -1
  94. package/dist/react/useSilentAuctionRounds.d.ts +2 -1
  95. package/dist/react/useSilentAuctionRounds.d.ts.map +1 -1
  96. package/dist/react/useSilentAuctionRounds.js +1 -1
  97. package/dist/react/useSilentAuctionRounds.js.map +1 -1
  98. package/dist/shopifyCommerce.d.ts +18 -5
  99. package/dist/shopifyCommerce.d.ts.map +1 -1
  100. package/dist/shopifyCommerce.js +42 -11
  101. package/dist/shopifyCommerce.js.map +1 -1
  102. package/dist/silentAuctionFeed.d.ts +2 -0
  103. package/dist/silentAuctionFeed.d.ts.map +1 -1
  104. package/dist/silentAuctionFeed.js +12 -2
  105. package/dist/silentAuctionFeed.js.map +1 -1
  106. package/dist/silentAuctionRules.d.ts +29 -0
  107. package/dist/silentAuctionRules.d.ts.map +1 -1
  108. package/dist/silentAuctionRules.js +53 -0
  109. package/dist/silentAuctionRules.js.map +1 -1
  110. package/dist/storeData.d.ts +45 -0
  111. package/dist/storeData.d.ts.map +1 -0
  112. package/dist/storeData.js +35 -0
  113. package/dist/storeData.js.map +1 -0
  114. package/dist/types.d.ts +27 -0
  115. package/dist/types.d.ts.map +1 -1
  116. package/dist/types.js.map +1 -1
  117. package/dist/viewerRules.d.ts +39 -0
  118. package/dist/viewerRules.d.ts.map +1 -0
  119. package/dist/viewerRules.js +46 -0
  120. package/dist/viewerRules.js.map +1 -0
  121. package/dist/zegoEngine.d.ts.map +1 -1
  122. package/dist/zegoEngine.js +14 -7
  123. package/dist/zegoEngine.js.map +1 -1
  124. 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
- * back (Home when there's nothing to go back to: `routes.openHome`); its cart button shrinks it the
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; until then a tap showed or hid the controls): the controls' own
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 declare function useReplayPage(): {
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;AAM9B,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAwCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,aAAa;IAkZzB,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgD3C,MAAM;uBAIP,MAAM;2BAIF,MAAM;;;;;;;;;;;;;;;;;;;;QAgCzB,2FAA2F;;;;;kCAnKnF,OAAO;2BAgEV,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC;oCA0Gd,OAAO;;;;;;;;EASxC;AAED,kEAAkE;AAClE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,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
- /** The playback controls fade this long after they last showed or were touched. */
35
- const CONTROLS_SHOW_MS = 4000;
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
- const linkedId = (_d = (_b = (_a = route.params) === null || _a === void 0 ? void 0 : _a.feedId) !== null && _b !== void 0 ? _b : (_c = route.params) === null || _c === void 0 ? void 0 : _c.streamId) !== null && _d !== void 0 ? _d : '';
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 = index >= 0 ? shows[index] : heldRecording && currentId && (0, livePages_1.isTheShow)(heldRecording, currentId) ? heldRecording : null;
112
- const previousShow = index > 0 ? shows[index - 1] : null;
113
- const nextShow = index >= 0 ? ((_e = shows[index + 1]) !== null && _e !== void 0 ? _e : null) : null;
114
- // Read on until the recording turns up. One read at a time: `useReplays` ignores a second.
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 = (_f = show === null || show === void 0 ? void 0 : show.videoUrl) !== null && _f !== void 0 ? _f : null;
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 reportedMs = (player.currentTime || 0) * 1000;
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 (Number.isFinite(lengthSeconds) && lengthSeconds > 0)
224
- setDurationMs(lengthSeconds * 1000);
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
- player.currentTime = target / 1000;
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
- // ─── The controls: up for 4 s after they show or are touched; a tap on the video shows them ───
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), CONTROLS_SHOW_MS);
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 = (_g = show === null || show === void 0 ? void 0 : show.id) !== null && _g !== void 0 ? _g : null;
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 = (_h = show === null || show === void 0 ? void 0 : show.streamingId) !== null && _h !== void 0 ? _h : null;
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(showId);
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
- liveSelling_1.liveSelling.replays.segments(showId).catch(failed('replay.segments')),
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(showId, read);
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 === showId ? shopping.products : [];
328
- const segments = shopping.showId === showId ? shopping.segments : [];
329
- const recordLots = shopping.showId === showId ? shopping.recordLots : null;
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
- const leave = (0, react_1.useCallback)(() => {
423
- if (nav.canGoBack())
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: (_j = show === null || show === void 0 ? void 0 : show.title) !== null && _j !== void 0 ? _j : null,
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: (_k = onScreenItem === null || onScreenItem === void 0 ? void 0 : onScreenItem.id) !== null && _k !== void 0 ? _k : null,
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,CAmH1H"}
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,