@tiledev/sdk-apptile-live-selling 0.8.1 → 0.9.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 (184) hide show
  1. package/README.md +443 -34
  2. package/dist/auctionComments.d.ts +25 -0
  3. package/dist/auctionComments.d.ts.map +1 -0
  4. package/dist/auctionComments.js +28 -0
  5. package/dist/auctionComments.js.map +1 -0
  6. package/dist/auctionRules.d.ts +76 -0
  7. package/dist/auctionRules.d.ts.map +1 -0
  8. package/dist/auctionRules.js +106 -0
  9. package/dist/auctionRules.js.map +1 -0
  10. package/dist/auctions.d.ts.map +1 -1
  11. package/dist/auctions.js +19 -10
  12. package/dist/auctions.js.map +1 -1
  13. package/dist/client.d.ts +51 -2
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +123 -23
  16. package/dist/client.js.map +1 -1
  17. package/dist/commentHistory.d.ts +66 -0
  18. package/dist/commentHistory.d.ts.map +1 -0
  19. package/dist/commentHistory.js +125 -0
  20. package/dist/commentHistory.js.map +1 -0
  21. package/dist/engine.native.d.ts.map +1 -1
  22. package/dist/engine.native.js +17 -845
  23. package/dist/engine.native.js.map +1 -1
  24. package/dist/giveawayPrize.d.ts +13 -0
  25. package/dist/giveawayPrize.d.ts.map +1 -0
  26. package/dist/giveawayPrize.js +18 -0
  27. package/dist/giveawayPrize.js.map +1 -0
  28. package/dist/giveawayPrizeLines.d.ts +67 -0
  29. package/dist/giveawayPrizeLines.d.ts.map +1 -0
  30. package/dist/giveawayPrizeLines.js +48 -0
  31. package/dist/giveawayPrizeLines.js.map +1 -0
  32. package/dist/giveawayRoster.d.ts +53 -0
  33. package/dist/giveawayRoster.d.ts.map +1 -0
  34. package/dist/giveawayRoster.js +93 -0
  35. package/dist/giveawayRoster.js.map +1 -0
  36. package/dist/heldComments.d.ts +29 -0
  37. package/dist/heldComments.d.ts.map +1 -0
  38. package/dist/heldComments.js +61 -0
  39. package/dist/heldComments.js.map +1 -0
  40. package/dist/hiddenShows.d.ts +34 -0
  41. package/dist/hiddenShows.d.ts.map +1 -0
  42. package/dist/hiddenShows.js +42 -0
  43. package/dist/hiddenShows.js.map +1 -0
  44. package/dist/index.d.ts +17 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +86 -3
  47. package/dist/index.js.map +1 -1
  48. package/dist/liveShow.d.ts +58 -0
  49. package/dist/liveShow.d.ts.map +1 -0
  50. package/dist/liveShow.js +55 -0
  51. package/dist/liveShow.js.map +1 -0
  52. package/dist/pipWindow.d.ts +85 -0
  53. package/dist/pipWindow.d.ts.map +1 -0
  54. package/dist/pipWindow.js +88 -0
  55. package/dist/pipWindow.js.map +1 -0
  56. package/dist/polls.d.ts.map +1 -1
  57. package/dist/polls.js +3 -0
  58. package/dist/polls.js.map +1 -1
  59. package/dist/react/LiveSellingProvider.d.ts +10 -1
  60. package/dist/react/LiveSellingProvider.d.ts.map +1 -1
  61. package/dist/react/LiveSellingProvider.js +6 -2
  62. package/dist/react/LiveSellingProvider.js.map +1 -1
  63. package/dist/react/LiveVideoTarget.d.ts.map +1 -1
  64. package/dist/react/LiveVideoTarget.js +41 -3
  65. package/dist/react/LiveVideoTarget.js.map +1 -1
  66. package/dist/react/clocks.d.ts +29 -0
  67. package/dist/react/clocks.d.ts.map +1 -0
  68. package/dist/react/clocks.js +124 -0
  69. package/dist/react/clocks.js.map +1 -0
  70. package/dist/react/index.d.ts +7 -2
  71. package/dist/react/index.d.ts.map +1 -1
  72. package/dist/react/index.js +15 -1
  73. package/dist/react/index.js.map +1 -1
  74. package/dist/react/index.web.d.ts +9 -2
  75. package/dist/react/index.web.d.ts.map +1 -1
  76. package/dist/react/index.web.js +27 -4
  77. package/dist/react/index.web.js.map +1 -1
  78. package/dist/react/startSignIn.d.ts +3 -0
  79. package/dist/react/startSignIn.d.ts.map +1 -0
  80. package/dist/react/startSignIn.js +19 -0
  81. package/dist/react/startSignIn.js.map +1 -0
  82. package/dist/react/useAuctionBidGate.d.ts +54 -4
  83. package/dist/react/useAuctionBidGate.d.ts.map +1 -1
  84. package/dist/react/useAuctionBidGate.js +169 -25
  85. package/dist/react/useAuctionBidGate.js.map +1 -1
  86. package/dist/react/useAuctionWins.d.ts +9 -1
  87. package/dist/react/useAuctionWins.d.ts.map +1 -1
  88. package/dist/react/useAuctionWins.js +9 -3
  89. package/dist/react/useAuctionWins.js.map +1 -1
  90. package/dist/react/useGiveawayEntry.d.ts +59 -0
  91. package/dist/react/useGiveawayEntry.d.ts.map +1 -0
  92. package/dist/react/useGiveawayEntry.js +170 -0
  93. package/dist/react/useGiveawayEntry.js.map +1 -0
  94. package/dist/react/useGiveawayPrize.d.ts +12 -0
  95. package/dist/react/useGiveawayPrize.d.ts.map +1 -0
  96. package/dist/react/useGiveawayPrize.js +53 -0
  97. package/dist/react/useGiveawayPrize.js.map +1 -0
  98. package/dist/react/useHiddenShows.d.ts +10 -0
  99. package/dist/react/useHiddenShows.d.ts.map +1 -0
  100. package/dist/react/useHiddenShows.js +30 -0
  101. package/dist/react/useHiddenShows.js.map +1 -0
  102. package/dist/react/useLiveSession.d.ts +7 -3
  103. package/dist/react/useLiveSession.d.ts.map +1 -1
  104. package/dist/react/useLiveSession.js +522 -157
  105. package/dist/react/useLiveSession.js.map +1 -1
  106. package/dist/react/useLiveShow.d.ts +3 -0
  107. package/dist/react/useLiveShow.d.ts.map +1 -0
  108. package/dist/react/useLiveShow.js +21 -0
  109. package/dist/react/useLiveShow.js.map +1 -0
  110. package/dist/react/useLiveStreams.d.ts.map +1 -1
  111. package/dist/react/useLiveStreams.js +6 -2
  112. package/dist/react/useLiveStreams.js.map +1 -1
  113. package/dist/react/useOngoingLive.d.ts +1 -0
  114. package/dist/react/useOngoingLive.d.ts.map +1 -1
  115. package/dist/react/useOngoingLive.js +7 -1
  116. package/dist/react/useOngoingLive.js.map +1 -1
  117. package/dist/react/useReplays.d.ts +12 -0
  118. package/dist/react/useReplays.d.ts.map +1 -1
  119. package/dist/react/useReplays.js +56 -24
  120. package/dist/react/useReplays.js.map +1 -1
  121. package/dist/react/useStreamInfo.d.ts +13 -2
  122. package/dist/react/useStreamInfo.d.ts.map +1 -1
  123. package/dist/react/useStreamInfo.js +31 -5
  124. package/dist/react/useStreamInfo.js.map +1 -1
  125. package/dist/replayPages.d.ts +31 -0
  126. package/dist/replayPages.d.ts.map +1 -0
  127. package/dist/replayPages.js +34 -0
  128. package/dist/replayPages.js.map +1 -0
  129. package/dist/replays.d.ts +7 -0
  130. package/dist/replays.d.ts.map +1 -1
  131. package/dist/replays.js +52 -22
  132. package/dist/replays.js.map +1 -1
  133. package/dist/session.d.ts +39 -6
  134. package/dist/session.d.ts.map +1 -1
  135. package/dist/session.js +209 -22
  136. package/dist/session.js.map +1 -1
  137. package/dist/sessionTypes.d.ts +190 -14
  138. package/dist/sessionTypes.d.ts.map +1 -1
  139. package/dist/sessionTypes.js +2 -1
  140. package/dist/sessionTypes.js.map +1 -1
  141. package/dist/shopifyCommerce.d.ts +149 -0
  142. package/dist/shopifyCommerce.d.ts.map +1 -0
  143. package/dist/shopifyCommerce.js +123 -0
  144. package/dist/shopifyCommerce.js.map +1 -0
  145. package/dist/shopifyIdentity.d.ts +51 -0
  146. package/dist/shopifyIdentity.d.ts.map +1 -0
  147. package/dist/shopifyIdentity.js +52 -0
  148. package/dist/shopifyIdentity.js.map +1 -0
  149. package/dist/shopifyIds.d.ts +9 -0
  150. package/dist/shopifyIds.d.ts.map +1 -0
  151. package/dist/shopifyIds.js +18 -0
  152. package/dist/shopifyIds.js.map +1 -0
  153. package/dist/showLinks.d.ts +24 -0
  154. package/dist/showLinks.d.ts.map +1 -0
  155. package/dist/showLinks.js +23 -0
  156. package/dist/showLinks.js.map +1 -0
  157. package/dist/showLots.d.ts +28 -0
  158. package/dist/showLots.d.ts.map +1 -0
  159. package/dist/showLots.js +51 -0
  160. package/dist/showLots.js.map +1 -0
  161. package/dist/showNames.d.ts +45 -0
  162. package/dist/showNames.d.ts.map +1 -0
  163. package/dist/showNames.js +74 -0
  164. package/dist/showNames.js.map +1 -0
  165. package/dist/streams.d.ts +27 -1
  166. package/dist/streams.d.ts.map +1 -1
  167. package/dist/streams.js +84 -21
  168. package/dist/streams.js.map +1 -1
  169. package/dist/types.d.ts +192 -8
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js +2 -1
  172. package/dist/types.js.map +1 -1
  173. package/dist/wire.d.ts +31 -0
  174. package/dist/wire.d.ts.map +1 -1
  175. package/dist/wire.js +25 -0
  176. package/dist/wire.js.map +1 -1
  177. package/dist/zego.d.ts +3 -1
  178. package/dist/zego.d.ts.map +1 -1
  179. package/dist/zego.js +1 -1
  180. package/dist/zegoEngine.d.ts +168 -0
  181. package/dist/zegoEngine.d.ts.map +1 -0
  182. package/dist/zegoEngine.js +1052 -0
  183. package/dist/zegoEngine.js.map +1 -0
  184. package/package.json +3 -2
@@ -1,3 +1,5 @@
1
+ import { type BidRound } from '../auctionRules';
2
+ import type { BidResult } from '../sessionTypes';
1
3
  /**
2
4
  * How long to leave between one panel closing and the next opening.
3
5
  *
@@ -11,6 +13,17 @@
11
13
  export declare const SHEET_HANDOFF_MS = 380;
12
14
  /** What is standing between the viewer and the bid they asked for. */
13
15
  export type BidBlocker = 'signIn' | 'unpaidWins' | 'terms' | 'variant' | null;
16
+ /**
17
+ * A bid the gate didn't send, and why (0.9.0, `atAmountShown`): the room moved past it (`outbid`), or
18
+ * it is over the host's ceiling (`overCap`).
19
+ */
20
+ export interface BidRefusal {
21
+ /** A new number for each refusal, so the same reason twice is shown twice. */
22
+ id: number;
23
+ reason: 'outbid' | 'overCap';
24
+ /** What to tell the shopper: the round's next bid now (`outbid`), or the ceiling (`overCap`). */
25
+ amount: number;
26
+ }
14
27
  export interface AuctionBidGate {
15
28
  blocker: BidBlocker;
16
29
  /** The variant chosen for this round, once asked. */
@@ -31,18 +44,55 @@ export interface AuctionBidGate {
31
44
  * cannot hook navigation focus itself.
32
45
  */
33
46
  refreshUnpaidWins: () => void;
47
+ /** The last bid not sent because the room moved past it or it passed the ceiling (`atAmountShown`). 0.9.0. */
48
+ refusal: BidRefusal | null;
49
+ /** A bid was just handed to `placeBid`: true for `BID_ON_ITS_WAY_MS`, so the bar takes no other. 0.9.0. */
50
+ bidOnItsWay: boolean;
34
51
  }
35
- export interface UseAuctionBidGateOptions {
52
+ interface GateOptions {
36
53
  streamingId: string | null;
37
54
  isLoggedIn: boolean;
38
- /** True while a round is open. Closing one forgets the chosen variant. */
55
+ /** True while a round is open. Closing one forgets the chosen variant, and drops a held bid. */
39
56
  biddingOpen: boolean;
40
57
  /** How many variants the lot under the hammer has. 1 or 0 skips the variant step. */
41
58
  variantCount: number;
59
+ /** The session's `actions.placeBid`, or a wrapper round it. */
42
60
  placeBid: (options?: {
43
61
  amount?: number;
44
62
  variantId?: string | null;
45
- }) => Promise<void>;
63
+ }) => Promise<BidResult | void>;
64
+ /**
65
+ * Starts the app's sign-in (0.9.0). With it the gate never stops at `signIn`: it holds the bid and
66
+ * calls this, then comes back to the bid once `isLoggedIn`, if bidding on its lot is still open.
67
+ * Without it the gate stops at `signIn`, as in 0.8, and the app decides.
68
+ */
69
+ startSignIn?: () => unknown;
70
+ /**
71
+ * Signed in, the bidder still loading (a stored sign-in being read, a customer on its way): a bid
72
+ * asked for now waits for them, and no sign-in is started. 0.9.0, with `startSignIn`.
73
+ */
74
+ signInLoading?: boolean;
75
+ /**
76
+ * The screen is on show, with nothing over it (navigation focus). When it comes back on show and the
77
+ * shopper is still signed out (the app's Sign In page closed without a sign-in), a bid waiting for
78
+ * the sign-in is dropped. A sign-in that never leaves the screen (a system sheet) keeps it until the
79
+ * lot closes. Defaults to true. 0.9.0, with `startSignIn`.
80
+ */
81
+ screenOnShow?: boolean;
46
82
  }
47
- export declare function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount, placeBid, }: UseAuctionBidGateOptions): AuctionBidGate;
83
+ export type UseAuctionBidGateOptions = GateOptions & ({
84
+ /**
85
+ * A bid goes out at the amount the shopper saw, or not at all (0.9.0): `requestBid()` holds the
86
+ * round's next bid as it is at the tap, and every bid gets a last look at the round as it goes
87
+ * (`bidRefusal`). Needs `round`.
88
+ */
89
+ atAmountShown: true;
90
+ /** The round as the shopper sees it: `session.auction`. */
91
+ round: BidRound;
92
+ } | {
93
+ atAmountShown?: false;
94
+ round?: BidRound;
95
+ });
96
+ export declare function useAuctionBidGate(options: UseAuctionBidGateOptions): AuctionBidGate;
97
+ export {};
48
98
  //# sourceMappingURL=useAuctionBidGate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAuctionBidGate.d.ts","sourceRoot":"","sources":["../../src/react/useAuctionBidGate.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,UAAU,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6DAA6D;IAC7D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oDAAoD;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,WAAW,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvF;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,EAAE,wBAAwB,GAAG,cAAc,CAyH3C"}
1
+ {"version":3,"file":"useAuctionBidGate.d.ts","sourceRoot":"","sources":["../../src/react/useAuctionBidGate.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAiC,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,UAAU,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6DAA6D;IAC7D,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oDAAoD;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,8GAA8G;IAC9G,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,2GAA2G;IAC3G,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,gGAAgG;IAChG,WAAW,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAClG;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAChD,CACI;IACE;;;;OAIG;IACH,aAAa,EAAE,IAAI,CAAC;IACpB,2DAA2D;IAC3D,KAAK,EAAE,QAAQ,CAAC;CACjB,GACD;IAAE,aAAa,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,CAC9C,CAAC;AASJ,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CAmPnF"}
@@ -21,14 +21,31 @@ exports.useAuctionBidGate = useAuctionBidGate;
21
21
  * in the last ten seconds must not be asked their size three times.
22
22
  *
23
23
  * The requested bid is held while the blocker is resolved and then placed, so clearing the last panel
24
- * completes the bid the viewer originally asked for rather than making them start again.
24
+ * completes the bid the viewer originally asked for rather than making them start again. A bid held
25
+ * behind a panel belongs to its round: when the round closes it is dropped and the panel closed (0.9.0).
26
+ *
27
+ * New in 0.9.0, all optional (without them the gate is 0.8's):
28
+ *
29
+ * - **`atAmountShown`, with `round`:** a bid goes out at the amount the shopper saw, or not at all.
30
+ * `requestBid()` holds the round's next bid as it is at the tap; as the bid is about to go it gets a
31
+ * last look at the round as it is then (`bidRefusal`). A closed round sends nothing; outbid or over
32
+ * the ceiling sends nothing and says why (`refusal`).
33
+ * - **`startSignIn`:** the gate never stops at `signIn`. It holds the bid and starts the app's sign-in
34
+ * (unless `signInLoading`), and once `isLoggedIn`, if bidding on that lot is still open, reads the
35
+ * unpaid wins fresh and goes through the gate again from there. Dropped when the lot closes, when
36
+ * another bid is asked for, or when `screenOnShow` comes back with the shopper still signed out.
37
+ * - **`bidOnItsWay`** (no option needed): true for `BID_ON_ITS_WAY_MS` after a bid is handed to
38
+ * `placeBid`.
25
39
  *
26
40
  * The hook owns the *decisions*, never the UI: it reports which blocker is current and the host app
27
- * renders whatever it likes for each.
41
+ * renders whatever it likes for each. It reads no session: the round comes in as a value, so it runs
42
+ * on a stand-in session in an app's own tests, as the clocks do.
28
43
  */
29
44
  const react_1 = require("react");
45
+ const auctionRules_1 = require("../auctionRules");
30
46
  const client_1 = require("../client");
31
47
  const liveSelling_1 = require("../liveSelling");
48
+ const startSignIn_1 = require("./startSignIn");
32
49
  /**
33
50
  * How long to leave between one panel closing and the next opening.
34
51
  *
@@ -40,16 +57,35 @@ const liveSelling_1 = require("../liveSelling");
40
57
  * Long enough to outlast a slide-out, short enough not to read as a pause.
41
58
  */
42
59
  exports.SHEET_HANDOFF_MS = 380;
43
- function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount, placeBid, }) {
60
+ function useAuctionBidGate(options) {
61
+ var _a, _b;
62
+ const { streamingId, isLoggedIn, biddingOpen, variantCount } = options;
63
+ const screenOnShow = (_a = options.screenOnShow) !== null && _a !== void 0 ? _a : true;
64
+ const signInLoading = (_b = options.signInLoading) !== null && _b !== void 0 ? _b : false;
44
65
  const [blocker, setBlocker] = (0, react_1.useState)(null);
45
66
  const [variantId, setVariantId] = (0, react_1.useState)(null);
46
67
  const [termsAccepted, setTermsAccepted] = (0, react_1.useState)(null);
47
68
  const [unpaidStreamIds, setUnpaidStreamIds] = (0, react_1.useState)([]);
48
- /** The bid being held behind a blocker. Undefined means "the round's minimum". */
49
- const pendingRef = (0, react_1.useRef)(undefined);
69
+ const [refusal, setRefusal] = (0, react_1.useState)(null);
70
+ const [bidOnItsWay, setBidOnItsWay] = (0, react_1.useState)(false);
71
+ /** A bid asked for while signed out, waiting for the sign-in (`startSignIn`). */
72
+ const [waitingForSignIn, setWaitingForSignIn] = (0, react_1.useState)(null);
73
+ /** The bid being held behind a blocker. */
74
+ const heldBidRef = (0, react_1.useRef)(null);
75
+ const refusalsSoFar = (0, react_1.useRef)(0);
76
+ /**
77
+ * What the gate reads when it acts, as it is now: through a ref, so a bid from the room (a new round
78
+ * object) draws nothing here, and the callbacks below keep their identity.
79
+ */
80
+ const latest = (0, react_1.useRef)({ options, signInLoading });
81
+ latest.current = { options, signInLoading };
82
+ const blockerNow = (0, react_1.useRef)(blocker);
83
+ blockerNow.current = blocker;
50
84
  /** Pending handoff, so unmounting mid-chain does not set state on a dead hook. */
51
85
  const handoffRef = (0, react_1.useRef)(null);
86
+ const mounted = (0, react_1.useRef)(true);
52
87
  (0, react_1.useEffect)(() => () => {
88
+ mounted.current = false;
53
89
  if (handoffRef.current)
54
90
  clearTimeout(handoffRef.current);
55
91
  }, []);
@@ -75,13 +111,13 @@ function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount,
75
111
  });
76
112
  }, []);
77
113
  (0, react_1.useEffect)(() => {
78
- let alive = true;
114
+ let stillWanted = true;
79
115
  void liveSelling_1.liveSelling.auctions.hasAcceptedTerms().then((accepted) => {
80
- if (alive)
116
+ if (stillWanted)
81
117
  setTermsAccepted(accepted);
82
118
  });
83
119
  return () => {
84
- alive = false;
120
+ stillWanted = false;
85
121
  };
86
122
  }, []);
87
123
  // Read on demand rather than per bid: it is a customer metafield, it only changes when they check
@@ -94,21 +130,78 @@ function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount,
94
130
  void liveSelling_1.liveSelling.auctions.unpaidStreamIds().then(setUnpaidStreamIds);
95
131
  }, [isLoggedIn]);
96
132
  (0, react_1.useEffect)(refreshUnpaidWins, [refreshUnpaidWins]);
97
- // A variant choice belongs to one lot. Carrying it into the next round would bid on a size the
98
- // viewer chose for something else.
133
+ // A held bid and a variant choice belong to one round. Carrying the variant into the next would bid
134
+ // on a size chosen for something else; carrying a bid would send it into a round for another lot,
135
+ // and bring its panel back with that round.
99
136
  (0, react_1.useEffect)(() => {
100
- if (!biddingOpen)
101
- setVariantId(null);
102
- }, [biddingOpen]);
103
- const send = (0, react_1.useCallback)((amount, variant) => {
104
- pendingRef.current = undefined;
137
+ if (biddingOpen)
138
+ return;
139
+ setVariantId(null);
140
+ setWaitingForSignIn(null);
141
+ if (heldBidRef.current || blockerNow.current !== null || handoffRef.current) {
142
+ heldBidRef.current = null;
143
+ show(null);
144
+ }
145
+ }, [biddingOpen, show]);
146
+ // The lock after a bid goes: the host answers on the room, not to the bid.
147
+ (0, react_1.useEffect)(() => {
148
+ if (!bidOnItsWay)
149
+ return;
150
+ const timer = setTimeout(() => setBidOnItsWay(false), auctionRules_1.BID_ON_ITS_WAY_MS);
151
+ return () => clearTimeout(timer);
152
+ }, [bidOnItsWay]);
153
+ /**
154
+ * Sends a held bid. With `atAmountShown`, after a last look at the round as it is now: a closed
155
+ * round sends nothing; outbid or over the ceiling sends nothing and says why.
156
+ */
157
+ const send = (0, react_1.useCallback)((held, variant) => {
158
+ var _a;
159
+ heldBidRef.current = null;
105
160
  show(null);
106
- void placeBid({ amount, variantId: variant }).catch((caught) => (0, client_1.getLogger)().error(caught, { at: 'auctionGate.placeBid' }));
107
- }, [placeBid, show]);
161
+ const now = latest.current.options;
162
+ let amount = held === null || held === void 0 ? void 0 : held.amount;
163
+ if (now.atAmountShown) {
164
+ const round = now.round;
165
+ const asked = amount !== null && amount !== void 0 ? amount : round.nextBid;
166
+ const refused = (0, auctionRules_1.bidRefusal)(asked, round, Date.now());
167
+ if (refused === 'closed')
168
+ return;
169
+ if (refused) {
170
+ refusalsSoFar.current += 1;
171
+ setRefusal({
172
+ id: refusalsSoFar.current,
173
+ reason: refused,
174
+ amount: refused === 'overCap' ? ((_a = round.bidCap) !== null && _a !== void 0 ? _a : asked) : round.nextBid,
175
+ });
176
+ return;
177
+ }
178
+ amount = asked;
179
+ }
180
+ setBidOnItsWay(true);
181
+ void Promise.resolve(now.placeBid({ amount, variantId: variant })).catch((caught) => (0, client_1.getLogger)().error(caught, { at: 'auctionGate.placeBid' }));
182
+ }, [show]);
108
183
  const requestBid = (0, react_1.useCallback)((amount) => {
109
- pendingRef.current = amount;
110
- if (!isLoggedIn)
111
- return show('signIn');
184
+ var _a, _b;
185
+ const now = latest.current.options;
186
+ const held = {
187
+ // At the amount shown: the round's minimum as it is now, not as it will be once the panels close.
188
+ amount: now.atAmountShown ? (amount !== null && amount !== void 0 ? amount : now.round.nextBid) : amount,
189
+ lotId: (_b = (_a = now.round) === null || _a === void 0 ? void 0 : _a.storeProductId) !== null && _b !== void 0 ? _b : null,
190
+ };
191
+ heldBidRef.current = held;
192
+ if (!isLoggedIn) {
193
+ const startSignIn = now.startSignIn;
194
+ if (!startSignIn)
195
+ return show('signIn');
196
+ // The gate signs the shopper in itself: the bid waits here, with no panel, for the sign-in.
197
+ heldBidRef.current = null;
198
+ show(null);
199
+ setWaitingForSignIn(held);
200
+ // Signed in already, the bidder still loading: the bid waits for them, with no sign-in to start.
201
+ if (!latest.current.signInLoading)
202
+ (0, startSignIn_1.startTheSignIn)(startSignIn, 'auctionGate.startSignIn');
203
+ return;
204
+ }
112
205
  if (liveSelling_1.liveSelling.auctions.isBiddingBlocked(unpaidStreamIds, streamingId)) {
113
206
  return show('unpaidWins');
114
207
  }
@@ -118,8 +211,49 @@ function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount,
118
211
  return show('terms');
119
212
  if (variantCount > 1 && !variantId)
120
213
  return show('variant');
121
- send(amount, variantId);
214
+ send(held, variantId);
122
215
  }, [isLoggedIn, unpaidStreamIds, streamingId, termsAccepted, variantCount, variantId, send, show]);
216
+ const requestBidNow = (0, react_1.useRef)(requestBid);
217
+ requestBidNow.current = requestBid;
218
+ /** Bidding on the held bid's lot is still open: a round is, on the same lot when both name one. */
219
+ const stillOpenFor = (0, react_1.useCallback)((waiting) => {
220
+ var _a, _b;
221
+ const now = latest.current.options;
222
+ const lotNow = (_b = (_a = now.round) === null || _a === void 0 ? void 0 : _a.storeProductId) !== null && _b !== void 0 ? _b : null;
223
+ return now.biddingOpen && (waiting.lotId === null || lotNow === null || lotNow === waiting.lotId);
224
+ }, []);
225
+ // Signed in: back to the bid, if bidding on its lot is still open, through the gate from where the
226
+ // sign-in stopped it. Unpaid wins are read fresh first: the gate's own read, started by the sign-in,
227
+ // may not have landed, and a bid must not slip past it.
228
+ (0, react_1.useEffect)(() => {
229
+ if (!waitingForSignIn || !isLoggedIn)
230
+ return;
231
+ const waiting = waitingForSignIn;
232
+ setWaitingForSignIn(null);
233
+ if (!stillOpenFor(waiting))
234
+ return;
235
+ const streamingIdThen = latest.current.options.streamingId;
236
+ void (async () => {
237
+ const unpaid = await liveSelling_1.liveSelling.auctions.unpaidStreamIds().catch(() => []);
238
+ if (!mounted.current || !stillOpenFor(waiting))
239
+ return;
240
+ if (liveSelling_1.liveSelling.auctions.isBiddingBlocked(unpaid, streamingIdThen)) {
241
+ setUnpaidStreamIds(unpaid);
242
+ heldBidRef.current = waiting;
243
+ show('unpaidWins');
244
+ return;
245
+ }
246
+ requestBidNow.current(waiting.amount);
247
+ })();
248
+ }, [waitingForSignIn, isLoggedIn, stillOpenFor, show]);
249
+ // Back on show still signed out (the app's Sign In page closed without a sign-in): the bid is dropped.
250
+ const wasOnShow = (0, react_1.useRef)(screenOnShow);
251
+ (0, react_1.useEffect)(() => {
252
+ const cameBack = screenOnShow && !wasOnShow.current;
253
+ wasOnShow.current = screenOnShow;
254
+ if (cameBack && !isLoggedIn && !signInLoading)
255
+ setWaitingForSignIn(null);
256
+ }, [screenOnShow, isLoggedIn, signInLoading]);
123
257
  const acceptTerms = (0, react_1.useCallback)(() => {
124
258
  setTermsAccepted(true);
125
259
  void liveSelling_1.liveSelling.auctions
@@ -129,16 +263,26 @@ function useAuctionBidGate({ streamingId, isLoggedIn, biddingOpen, variantCount,
129
263
  // rules was a step in that, not the end of it. `show` waits for this panel to go first.
130
264
  if (variantCount > 1 && !variantId)
131
265
  return show('variant');
132
- send(pendingRef.current, variantId);
266
+ send(heldBidRef.current, variantId);
133
267
  }, [variantCount, variantId, send, show]);
134
268
  const chooseVariant = (0, react_1.useCallback)((chosen) => {
135
269
  setVariantId(chosen);
136
- send(pendingRef.current, chosen);
270
+ send(heldBidRef.current, chosen);
137
271
  }, [send]);
138
272
  const dismiss = (0, react_1.useCallback)(() => {
139
- pendingRef.current = undefined;
273
+ heldBidRef.current = null;
140
274
  show(null);
141
275
  }, [show]);
142
- return { blocker, variantId, requestBid, acceptTerms, chooseVariant, dismiss, refreshUnpaidWins };
276
+ return {
277
+ blocker,
278
+ variantId,
279
+ requestBid,
280
+ acceptTerms,
281
+ chooseVariant,
282
+ dismiss,
283
+ refreshUnpaidWins,
284
+ refusal,
285
+ bidOnItsWay,
286
+ };
143
287
  }
144
288
  //# sourceMappingURL=useAuctionBidGate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAuctionBidGate.js","sourceRoot":"","sources":["../../src/react/useAuctionBidGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAuctionBidGate.js","sourceRoot":"","sources":["../../src/react/useAuctionBidGate.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,17 @@ export interface AuctionWinRow<TRaw = unknown> {
20
20
  }
21
21
  export interface UseAuctionWinsState<TRaw = unknown> {
22
22
  rows: AuctionWinRow<TRaw>[];
23
+ /**
24
+ * The variant ids of the prizes in `rows` (0.9.0), so a cart can show a prize line as a prize even
25
+ * when the host put it in the shopping cart with no stamp. A new set only when `rows` changes.
26
+ */
27
+ giveawayVariantIds: ReadonlySet<string>;
23
28
  /** Sum of the bids. Giveaways contribute nothing. */
24
29
  totalBids: number;
25
- /** The stream the tab settles against — `auction_id` on the cart. */
30
+ /**
31
+ * The stream the tab settles against — `auction_id` on the cart. The first stream with something
32
+ * payable; `rows` cover every stream, and `row.item.streamingId` names each row's own.
33
+ */
26
34
  streamingId: string | null;
27
35
  loading: boolean;
28
36
  /** Minting the cart. Hold the button while it is true so a double tap cannot mint two. */
@@ -1 +1 @@
1
- {"version":3,"file":"useAuctionWins.d.ts","sourceRoot":"","sources":["../../src/react/useAuctionWins.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,iCAAiC;AACjC,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO;IAC3C;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0FAA0F;IAC1F,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,OAAO;IACjD,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAyHD,wBAAgB,cAAc,CAAC,IAAI,GAAG,OAAO,EAC3C,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,IAAI,CAAC,CAkI3B"}
1
+ {"version":3,"file":"useAuctionWins.d.ts","sourceRoot":"","sources":["../../src/react/useAuctionWins.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,iCAAiC;AACjC,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO;IAC3C;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0FAA0F;IAC1F,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,OAAO;IACjD,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B;;;OAGG;IACH,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6HD,wBAAgB,cAAc,CAAC,IAAI,GAAG,OAAO,EAC3C,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAAC,IAAI,CAAC,CAmI3B"}
@@ -29,6 +29,7 @@ exports.useAuctionWins = useAuctionWins;
29
29
  */
30
30
  const react_1 = require("react");
31
31
  const client_1 = require("../client");
32
+ const giveawayPrizeLines_1 = require("../giveawayPrizeLines");
32
33
  const liveSelling_1 = require("../liveSelling");
33
34
  const LOAD_FAILED = 'Could not load your auction wins';
34
35
  const CHECKOUT_FAILED = 'Could not start checkout. Please try again.';
@@ -69,8 +70,11 @@ const reportedMismatches = new Set();
69
70
  *
70
71
  * A read builds new row objects every time, so writing them unconditionally re-renders the list — and
71
72
  * any caller whose refresh is driven by a re-render then has a loop with a new array on each turn. The
72
- * ledger is small and its identity is exactly these four fields, so comparing them is cheaper than the
73
+ * ledger is small and its identity is exactly these five fields, so comparing them is cheaper than the
73
74
  * render it avoids.
75
+ *
76
+ * The stream is one of the five because rows come from every stream: a kept row is what `checkout()`
77
+ * hands the adapter, so it must not carry a stream the fresh read no longer says.
74
78
  */
75
79
  function sameRows(a, b) {
76
80
  if (a.length !== b.length)
@@ -80,7 +84,8 @@ function sameRows(a, b) {
80
84
  return (row.product.id === other.product.id &&
81
85
  row.variant.id === other.variant.id &&
82
86
  row.winningBid === other.winningBid &&
83
- row.isGiveaway === other.isGiveaway);
87
+ row.isGiveaway === other.isGiveaway &&
88
+ row.item.streamingId === other.item.streamingId);
84
89
  });
85
90
  }
86
91
  /**
@@ -263,6 +268,7 @@ function useAuctionWins(options = {}) {
263
268
  }
264
269
  }, [rows, streamingId, commerce]);
265
270
  const totalBids = rows.reduce((sum, row) => sum + (row.isGiveaway ? 0 : row.winningBid), 0);
266
- return { rows, totalBids, streamingId, loading, checkingOut, error, refresh, checkout };
271
+ const giveawayVariantIds = (0, react_1.useMemo)(() => (0, giveawayPrizeLines_1.giveawayVariantIdsOf)(rows), [rows]);
272
+ return { rows, giveawayVariantIds, totalBids, streamingId, loading, checkingOut, error, refresh, checkout };
267
273
  }
268
274
  //# sourceMappingURL=useAuctionWins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAuctionWins.js","sourceRoot":"","sources":["../../src/react/useAuctionWins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAuctionWins.js","sourceRoot":"","sources":["../../src/react/useAuctionWins.ts"],"names":[],"mappings":";;AAoNA,wCAqIC;AAzVD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iCAA0E;AAE1E,sCAA4E;AAC5E,8DAA6D;AAC7D,gDAA6C;AA2D7C,MAAM,WAAW,GAAG,kCAAkC,CAAC;AACvD,MAAM,eAAe,GAAG,6CAA6C,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAAG,IAAK,CAAC;AAEhC,gEAAgE;AAChE,SAAS,MAAM,CAAC,EAAU;;IACxB,OAAO,MAAA,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,SAAS,QAAQ,CAAC,CAA2B,EAAE,CAA2B;IACxE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CACL,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;YACnC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;YACnC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACnC,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;YACnC,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,WAAW,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,cAAc,CACrB,OAA6B,EAC7B,IAAoB;;IAEpB;;;;;;;;;;;;OAYG;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE,eACpB,OAAA,MAAA,MAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAA,EAAA,CAAC;IAEvF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;QAChF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB;;;;;;WAMG;QACH,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAA,mBAAU,EAAC,IAAI,KAAK,CAAC,oDAAoD,CAAC,EAAE;gBAC1E,EAAE,EAAE,+BAA+B;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,MAAA,MAAA,QAAQ,EAAE,0CAAE,EAAE,mCAAI,IAAI;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,cAAc,CAC5B,UAAiC,EAAE;;IAEnC,MAAM,QAAQ,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,CAAA,MAAA,MAAA,IAAA,oBAAW,GAAE,0CAAE,QAAQ,kDAAI,CAAA,CAAC;IACjD,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,UAAU,CAAC;IAE9C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAwB,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IAExD,+FAA+F;IAC/F,MAAM,SAAS,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAC5B,oFAAoF;IACpF,MAAM,WAAW,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;QACnC,MAAM,MAAM,GAAG,CAAC,IAA2B,EAAE,MAAqB,EAAE,EAAE;YACpE,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM;gBAAE,OAAO;YACzC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,sFAAsF;YACtF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;gBAC5C,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aAC9D,CAAC,CAAC;YAEH,MAAM,QAAQ,GAA0B,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC;gBAClF,wFAAwF;gBACxF,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,OAAO,KAAK,EAAE;oBAClB,OAAO,EAAE,OAA4B;oBACrC,OAAO;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,4EAA4E;oBAC5E,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;iBACzC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAA,kBAAS,GAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACzD,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM;gBAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,GAAkB,EAAE;QAC3C,IAAI,WAAW,CAAC,OAAO;YAAE,OAAO,WAAW,CAAC,OAAO,CAAC;QACpD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,OAAO,GAAG,iBAAiB;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACrF,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX;;;;;;OAMG;IACH,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,CAAA;YAAE,OAAO,IAAI,CAAC;QAClF,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,qBAAqB,CACzC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAC3B,WAAW,CACZ,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAA,kBAAS,GAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC7D,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,yCAAoB,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9G,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { GiveawayState, LiveSessionActions } from '../sessionTypes';
2
+ import type { LiveGiveaway } from '../types';
3
+ /** What `useGiveawayEntry` reads of the session. `useLiveSession()` is one. */
4
+ export interface SessionForGiveaway {
5
+ giveaway?: GiveawayState | null;
6
+ /** The name the room knows the shopper by (`session.viewerName`); null when it has none yet. */
7
+ viewerName?: string | null;
8
+ actions: Pick<LiveSessionActions, 'enterGiveaway' | 'chooseViewerName' | 'dismissGiveawayResult'>;
9
+ }
10
+ export interface UseGiveawayEntryOptions {
11
+ /** The session the screen reads: `useLiveSession()`. */
12
+ session: SessionForGiveaway;
13
+ /**
14
+ * This screen's show is on air and takes entries: `useLiveShow`'s `onAir` (with its record held) and
15
+ * `capabilities.canEnterGiveaway`. Off: no giveaway is open here.
16
+ */
17
+ canEnter: boolean;
18
+ /** The shopper is signed in: the entry is written to a customer. */
19
+ isLoggedIn: boolean;
20
+ /** Starts the app's sign-in. */
21
+ startSignIn: () => unknown;
22
+ /**
23
+ * The screen is on show with nothing over it (navigation focus, and no sign-in sheet up). The sheet
24
+ * reopens after a sign-in only then; coming back on show still signed out drops the reopen. Defaults
25
+ * to true.
26
+ */
27
+ screenOnShow?: boolean;
28
+ /** The shopper's ordinary cart, which the gateway ties the entry to. Not how the prize arrives. */
29
+ cartId?: string | null;
30
+ }
31
+ /** A draw ready to show: the winner, and the names to roll through to them. */
32
+ export interface GiveawayDraw {
33
+ winnerName: string;
34
+ entrantNames: string[];
35
+ }
36
+ export interface UseGiveawayEntryState {
37
+ /** The giveaway open for entries now: active, not drawn, on a show that takes entries. Else null. */
38
+ open: LiveGiveaway | null;
39
+ /** The entry sheet is open (never while no giveaway is open). */
40
+ sheetOpen: boolean;
41
+ openSheet: () => void;
42
+ closeSheet: () => void;
43
+ /** Enters the open giveaway; with a typed name, saves it first and enters once the session holds it. */
44
+ enter: (typedName?: string) => void;
45
+ /** An entry is on its way. */
46
+ entering: boolean;
47
+ /** The host didn't take the last entry, or the typed name couldn't be saved. Cleared by the next try. */
48
+ entryFailed: boolean;
49
+ /** Starts the sign-in; back here signed in, the sheet opens again. Close the sheet first. */
50
+ signInToEnter: () => void;
51
+ /** The draw to show, once its roster is ready; never one from before this screen opened. */
52
+ draw: GiveawayDraw | null;
53
+ /** This shopper won the draw (`giveaway.result.isYou`). */
54
+ youWon: boolean;
55
+ /** The draw has been shown: the session lets it go. */
56
+ drawDone: () => void;
57
+ }
58
+ export declare function useGiveawayEntry(options: UseGiveawayEntryOptions): UseGiveawayEntryState;
59
+ //# sourceMappingURL=useGiveawayEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGiveawayEntry.d.ts","sourceRoot":"","sources":["../../src/react/useGiveawayEntry.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,kBAAkB,GAAG,uBAAuB,CAAC,CAAC;CACnG;AAED,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,OAAO,EAAE,kBAAkB,CAAC;IAC5B;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,qGAAqG;IACrG,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,wGAAwG;IACxG,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,yGAAyG;IACzG,WAAW,EAAE,OAAO,CAAC;IACrB,6FAA6F;IAC7F,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,4FAA4F;IAC5F,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,qBAAqB,CA2IxF"}