@tiledev/sdk-apptile-live-selling 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attribution.d.ts +2 -16
- package/dist/attribution.d.ts.map +1 -1
- package/dist/attribution.js +4 -10
- package/dist/attribution.js.map +1 -1
- package/dist/auctions.d.ts.map +1 -1
- package/dist/auctions.js +11 -42
- package/dist/auctions.js.map +1 -1
- package/dist/cartAttributes.d.ts +0 -10
- package/dist/cartAttributes.d.ts.map +1 -1
- package/dist/cartAttributes.js +1 -20
- package/dist/cartAttributes.js.map +1 -1
- package/dist/client.d.ts +2 -51
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +23 -123
- package/dist/client.js.map +1 -1
- package/dist/clips.d.ts +1 -12
- package/dist/clips.d.ts.map +1 -1
- package/dist/clips.js +6 -114
- package/dist/clips.js.map +1 -1
- package/dist/commentLinks.d.ts +0 -29
- package/dist/commentLinks.d.ts.map +1 -1
- package/dist/commentLinks.js.map +1 -1
- package/dist/engine.native.d.ts.map +1 -1
- package/dist/engine.native.js +845 -17
- package/dist/engine.native.js.map +1 -1
- package/dist/index.d.ts +4 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -240
- package/dist/index.js.map +1 -1
- package/dist/polls.d.ts.map +1 -1
- package/dist/polls.js +0 -3
- package/dist/polls.js.map +1 -1
- package/dist/react/LiveSellingProvider.d.ts +1 -54
- package/dist/react/LiveSellingProvider.d.ts.map +1 -1
- package/dist/react/LiveSellingProvider.js +3 -60
- package/dist/react/LiveSellingProvider.js.map +1 -1
- package/dist/react/LiveVideoTarget.d.ts.map +1 -1
- package/dist/react/LiveVideoTarget.js +3 -41
- package/dist/react/LiveVideoTarget.js.map +1 -1
- package/dist/react/index.d.ts +3 -30
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -79
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.web.d.ts +32 -36
- package/dist/react/index.web.d.ts.map +1 -1
- package/dist/react/index.web.js +122 -102
- package/dist/react/index.web.js.map +1 -1
- package/dist/react/useAuctionBidGate.d.ts +6 -62
- package/dist/react/useAuctionBidGate.d.ts.map +1 -1
- package/dist/react/useAuctionBidGate.js +27 -228
- package/dist/react/useAuctionBidGate.js.map +1 -1
- package/dist/react/useAuctionWins.d.ts +4 -14
- package/dist/react/useAuctionWins.d.ts.map +1 -1
- package/dist/react/useAuctionWins.js +5 -16
- package/dist/react/useAuctionWins.js.map +1 -1
- package/dist/react/useClips.d.ts +1 -7
- package/dist/react/useClips.d.ts.map +1 -1
- package/dist/react/useClips.js +7 -20
- package/dist/react/useClips.js.map +1 -1
- package/dist/react/useLiveSession.d.ts +3 -15
- package/dist/react/useLiveSession.d.ts.map +1 -1
- package/dist/react/useLiveSession.js +199 -612
- package/dist/react/useLiveSession.js.map +1 -1
- package/dist/react/useLiveStreams.d.ts.map +1 -1
- package/dist/react/useLiveStreams.js +2 -6
- package/dist/react/useLiveStreams.js.map +1 -1
- package/dist/react/useOngoingLive.d.ts +0 -1
- package/dist/react/useOngoingLive.d.ts.map +1 -1
- package/dist/react/useOngoingLive.js +1 -7
- package/dist/react/useOngoingLive.js.map +1 -1
- package/dist/react/useReplays.d.ts +0 -12
- package/dist/react/useReplays.d.ts.map +1 -1
- package/dist/react/useReplays.js +24 -56
- package/dist/react/useReplays.js.map +1 -1
- package/dist/react/useStreamInfo.d.ts +2 -13
- package/dist/react/useStreamInfo.d.ts.map +1 -1
- package/dist/react/useStreamInfo.js +8 -36
- package/dist/react/useStreamInfo.js.map +1 -1
- package/dist/replays.d.ts +0 -14
- package/dist/replays.d.ts.map +1 -1
- package/dist/replays.js +22 -68
- package/dist/replays.js.map +1 -1
- package/dist/session.d.ts +6 -39
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +22 -209
- package/dist/session.js.map +1 -1
- package/dist/sessionTypes.d.ts +18 -217
- package/dist/sessionTypes.d.ts.map +1 -1
- package/dist/sessionTypes.js +1 -2
- package/dist/sessionTypes.js.map +1 -1
- package/dist/streams.d.ts +1 -27
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +21 -84
- package/dist/streams.js.map +1 -1
- package/dist/types.d.ts +10 -288
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/wire.d.ts +0 -31
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +0 -25
- package/dist/wire.js.map +1 -1
- package/dist/zego.d.ts +1 -3
- package/dist/zego.d.ts.map +1 -1
- package/dist/zego.js +1 -1
- package/package.json +1 -1
- package/dist/auctionComments.d.ts +0 -25
- package/dist/auctionComments.d.ts.map +0 -1
- package/dist/auctionComments.js +0 -28
- package/dist/auctionComments.js.map +0 -1
- package/dist/auctionRules.d.ts +0 -77
- package/dist/auctionRules.d.ts.map +0 -1
- package/dist/auctionRules.js +0 -107
- package/dist/auctionRules.js.map +0 -1
- package/dist/cartExtension.d.ts +0 -39
- package/dist/cartExtension.d.ts.map +0 -1
- package/dist/cartExtension.js +0 -51
- package/dist/cartExtension.js.map +0 -1
- package/dist/checkoutRefused.d.ts +0 -9
- package/dist/checkoutRefused.d.ts.map +0 -1
- package/dist/checkoutRefused.js +0 -16
- package/dist/checkoutRefused.js.map +0 -1
- package/dist/clipsPage.d.ts +0 -29
- package/dist/clipsPage.d.ts.map +0 -1
- package/dist/clipsPage.js +0 -49
- package/dist/clipsPage.js.map +0 -1
- package/dist/commentHistory.d.ts +0 -70
- package/dist/commentHistory.d.ts.map +0 -1
- package/dist/commentHistory.js +0 -133
- package/dist/commentHistory.js.map +0 -1
- package/dist/commentLinkCards.d.ts +0 -11
- package/dist/commentLinkCards.d.ts.map +0 -1
- package/dist/commentLinkCards.js +0 -70
- package/dist/commentLinkCards.js.map +0 -1
- package/dist/giveawayPrize.d.ts +0 -13
- package/dist/giveawayPrize.d.ts.map +0 -1
- package/dist/giveawayPrize.js +0 -18
- package/dist/giveawayPrize.js.map +0 -1
- package/dist/giveawayPrizeLines.d.ts +0 -120
- package/dist/giveawayPrizeLines.d.ts.map +0 -1
- package/dist/giveawayPrizeLines.js +0 -97
- package/dist/giveawayPrizeLines.js.map +0 -1
- package/dist/giveawayPrizes.d.ts +0 -20
- package/dist/giveawayPrizes.d.ts.map +0 -1
- package/dist/giveawayPrizes.js +0 -50
- package/dist/giveawayPrizes.js.map +0 -1
- package/dist/giveawayRoster.d.ts +0 -53
- package/dist/giveawayRoster.d.ts.map +0 -1
- package/dist/giveawayRoster.js +0 -93
- package/dist/giveawayRoster.js.map +0 -1
- package/dist/heldComments.d.ts +0 -40
- package/dist/heldComments.d.ts.map +0 -1
- package/dist/heldComments.js +0 -75
- package/dist/heldComments.js.map +0 -1
- package/dist/hiddenShows.d.ts +0 -44
- package/dist/hiddenShows.d.ts.map +0 -1
- package/dist/hiddenShows.js +0 -53
- package/dist/hiddenShows.js.map +0 -1
- package/dist/linkLots.d.ts +0 -64
- package/dist/linkLots.d.ts.map +0 -1
- package/dist/linkLots.js +0 -84
- package/dist/linkLots.js.map +0 -1
- package/dist/liveHaptics.d.ts +0 -7
- package/dist/liveHaptics.d.ts.map +0 -1
- package/dist/liveHaptics.js +0 -11
- package/dist/liveHaptics.js.map +0 -1
- package/dist/liveHaptics.native.d.ts +0 -7
- package/dist/liveHaptics.native.d.ts.map +0 -1
- package/dist/liveHaptics.native.js +0 -12
- package/dist/liveHaptics.native.js.map +0 -1
- package/dist/livePages.d.ts +0 -176
- package/dist/livePages.d.ts.map +0 -1
- package/dist/livePages.js +0 -216
- package/dist/livePages.js.map +0 -1
- package/dist/liveRoom.d.ts +0 -21
- package/dist/liveRoom.d.ts.map +0 -1
- package/dist/liveRoom.js +0 -28
- package/dist/liveRoom.js.map +0 -1
- package/dist/liveShow.d.ts +0 -65
- package/dist/liveShow.d.ts.map +0 -1
- package/dist/liveShow.js +0 -65
- package/dist/liveShow.js.map +0 -1
- package/dist/missedPolls.d.ts +0 -27
- package/dist/missedPolls.d.ts.map +0 -1
- package/dist/missedPolls.js +0 -16
- package/dist/missedPolls.js.map +0 -1
- package/dist/pageOptions.d.ts +0 -149
- package/dist/pageOptions.d.ts.map +0 -1
- package/dist/pageOptions.js +0 -123
- package/dist/pageOptions.js.map +0 -1
- package/dist/pageTypes.d.ts +0 -185
- package/dist/pageTypes.d.ts.map +0 -1
- package/dist/pageTypes.js +0 -3
- package/dist/pageTypes.js.map +0 -1
- package/dist/phoneTaps.d.ts +0 -25
- package/dist/phoneTaps.d.ts.map +0 -1
- package/dist/phoneTaps.js +0 -47
- package/dist/phoneTaps.js.map +0 -1
- package/dist/pipWindow.d.ts +0 -85
- package/dist/pipWindow.d.ts.map +0 -1
- package/dist/pipWindow.js +0 -88
- package/dist/pipWindow.js.map +0 -1
- package/dist/react/clocks.d.ts +0 -29
- package/dist/react/clocks.d.ts.map +0 -1
- package/dist/react/clocks.js +0 -124
- package/dist/react/clocks.js.map +0 -1
- package/dist/react/navigation.d.ts +0 -13
- package/dist/react/navigation.d.ts.map +0 -1
- package/dist/react/navigation.js +0 -7
- package/dist/react/navigation.js.map +0 -1
- package/dist/react/platformSession.d.ts +0 -16
- package/dist/react/platformSession.d.ts.map +0 -1
- package/dist/react/platformSession.js +0 -28
- package/dist/react/platformSession.js.map +0 -1
- package/dist/react/platformSession.web.d.ts +0 -35
- package/dist/react/platformSession.web.d.ts.map +0 -1
- package/dist/react/platformSession.web.js +0 -148
- package/dist/react/platformSession.web.js.map +0 -1
- package/dist/react/replayPlayer.d.ts +0 -83
- package/dist/react/replayPlayer.d.ts.map +0 -1
- package/dist/react/replayPlayer.js +0 -315
- package/dist/react/replayPlayer.js.map +0 -1
- package/dist/react/share.d.ts +0 -22
- package/dist/react/share.d.ts.map +0 -1
- package/dist/react/share.js +0 -45
- package/dist/react/share.js.map +0 -1
- package/dist/react/shopifyProviders.d.ts +0 -82
- package/dist/react/shopifyProviders.d.ts.map +0 -1
- package/dist/react/shopifyProviders.js +0 -113
- package/dist/react/shopifyProviders.js.map +0 -1
- package/dist/react/showPages.d.ts +0 -106
- package/dist/react/showPages.d.ts.map +0 -1
- package/dist/react/showPages.js +0 -166
- package/dist/react/showPages.js.map +0 -1
- package/dist/react/showPagesOnDevice.d.ts +0 -18
- package/dist/react/showPagesOnDevice.d.ts.map +0 -1
- package/dist/react/showPagesOnDevice.js +0 -31
- package/dist/react/showPagesOnDevice.js.map +0 -1
- package/dist/react/startSignIn.d.ts +0 -3
- package/dist/react/startSignIn.d.ts.map +0 -1
- package/dist/react/startSignIn.js +0 -19
- package/dist/react/startSignIn.js.map +0 -1
- package/dist/react/systemPictureInPicture.d.ts +0 -34
- package/dist/react/systemPictureInPicture.d.ts.map +0 -1
- package/dist/react/systemPictureInPicture.js +0 -93
- package/dist/react/systemPictureInPicture.js.map +0 -1
- package/dist/react/useAccountName.d.ts +0 -8
- package/dist/react/useAccountName.d.ts.map +0 -1
- package/dist/react/useAccountName.js +0 -49
- package/dist/react/useAccountName.js.map +0 -1
- package/dist/react/useClipsPage.d.ts +0 -47
- package/dist/react/useClipsPage.d.ts.map +0 -1
- package/dist/react/useClipsPage.js +0 -130
- package/dist/react/useClipsPage.js.map +0 -1
- package/dist/react/useCommentLinkCards.d.ts +0 -6
- package/dist/react/useCommentLinkCards.d.ts.map +0 -1
- package/dist/react/useCommentLinkCards.js +0 -67
- package/dist/react/useCommentLinkCards.js.map +0 -1
- package/dist/react/useFeaturedClip.d.ts +0 -15
- package/dist/react/useFeaturedClip.d.ts.map +0 -1
- package/dist/react/useFeaturedClip.js +0 -52
- package/dist/react/useFeaturedClip.js.map +0 -1
- package/dist/react/useGiveawayEntry.d.ts +0 -59
- package/dist/react/useGiveawayEntry.d.ts.map +0 -1
- package/dist/react/useGiveawayEntry.js +0 -170
- package/dist/react/useGiveawayEntry.js.map +0 -1
- package/dist/react/useGiveawayPrize.d.ts +0 -12
- package/dist/react/useGiveawayPrize.d.ts.map +0 -1
- package/dist/react/useGiveawayPrize.js +0 -53
- package/dist/react/useGiveawayPrize.js.map +0 -1
- package/dist/react/useGiveawayPrizes.d.ts +0 -4
- package/dist/react/useGiveawayPrizes.d.ts.map +0 -1
- package/dist/react/useGiveawayPrizes.js +0 -58
- package/dist/react/useGiveawayPrizes.js.map +0 -1
- package/dist/react/useHiddenShows.d.ts +0 -10
- package/dist/react/useHiddenShows.d.ts.map +0 -1
- package/dist/react/useHiddenShows.js +0 -30
- package/dist/react/useHiddenShows.js.map +0 -1
- package/dist/react/useKeepScreenAwake.d.ts +0 -2
- package/dist/react/useKeepScreenAwake.d.ts.map +0 -1
- package/dist/react/useKeepScreenAwake.js +0 -34
- package/dist/react/useKeepScreenAwake.js.map +0 -1
- package/dist/react/useLiveAuction.d.ts +0 -106
- package/dist/react/useLiveAuction.d.ts.map +0 -1
- package/dist/react/useLiveAuction.js +0 -255
- package/dist/react/useLiveAuction.js.map +0 -1
- package/dist/react/useLiveChat.d.ts +0 -110
- package/dist/react/useLiveChat.d.ts.map +0 -1
- package/dist/react/useLiveChat.js +0 -230
- package/dist/react/useLiveChat.js.map +0 -1
- package/dist/react/useLiveGiveawaysAndPolls.d.ts +0 -95
- package/dist/react/useLiveGiveawaysAndPolls.d.ts.map +0 -1
- package/dist/react/useLiveGiveawaysAndPolls.js +0 -225
- package/dist/react/useLiveGiveawaysAndPolls.js.map +0 -1
- package/dist/react/useLivePage.d.ts +0 -136
- package/dist/react/useLivePage.d.ts.map +0 -1
- package/dist/react/useLivePage.js +0 -319
- package/dist/react/useLivePage.js.map +0 -1
- package/dist/react/useLiveShop.d.ts +0 -97
- package/dist/react/useLiveShop.d.ts.map +0 -1
- package/dist/react/useLiveShop.js +0 -197
- package/dist/react/useLiveShop.js.map +0 -1
- package/dist/react/useLiveShow.d.ts +0 -3
- package/dist/react/useLiveShow.d.ts.map +0 -1
- package/dist/react/useLiveShow.js +0 -21
- package/dist/react/useLiveShow.js.map +0 -1
- package/dist/react/useMySilentAuctionBids.d.ts +0 -29
- package/dist/react/useMySilentAuctionBids.d.ts.map +0 -1
- package/dist/react/useMySilentAuctionBids.js +0 -157
- package/dist/react/useMySilentAuctionBids.js.map +0 -1
- package/dist/react/useReplayPage.d.ts +0 -155
- package/dist/react/useReplayPage.d.ts.map +0 -1
- package/dist/react/useReplayPage.js +0 -580
- package/dist/react/useReplayPage.js.map +0 -1
- package/dist/react/useSilentAuctionLot.d.ts +0 -44
- package/dist/react/useSilentAuctionLot.d.ts.map +0 -1
- package/dist/react/useSilentAuctionLot.js +0 -168
- package/dist/react/useSilentAuctionLot.js.map +0 -1
- package/dist/react/useSilentAuctionLots.d.ts +0 -41
- package/dist/react/useSilentAuctionLots.d.ts.map +0 -1
- package/dist/react/useSilentAuctionLots.js +0 -64
- package/dist/react/useSilentAuctionLots.js.map +0 -1
- package/dist/react/useSilentAuctionRounds.d.ts +0 -15
- package/dist/react/useSilentAuctionRounds.d.ts.map +0 -1
- package/dist/react/useSilentAuctionRounds.js +0 -44
- package/dist/react/useSilentAuctionRounds.js.map +0 -1
- package/dist/replayPages.d.ts +0 -31
- package/dist/replayPages.d.ts.map +0 -1
- package/dist/replayPages.js +0 -34
- package/dist/replayPages.js.map +0 -1
- package/dist/shopifyCommerce.d.ts +0 -204
- package/dist/shopifyCommerce.d.ts.map +0 -1
- package/dist/shopifyCommerce.js +0 -217
- package/dist/shopifyCommerce.js.map +0 -1
- package/dist/shopifyIdentity.d.ts +0 -61
- package/dist/shopifyIdentity.d.ts.map +0 -1
- package/dist/shopifyIdentity.js +0 -61
- package/dist/shopifyIdentity.js.map +0 -1
- package/dist/shopifyIds.d.ts +0 -9
- package/dist/shopifyIds.d.ts.map +0 -1
- package/dist/shopifyIds.js +0 -18
- package/dist/shopifyIds.js.map +0 -1
- package/dist/showCredit.d.ts +0 -89
- package/dist/showCredit.d.ts.map +0 -1
- package/dist/showCredit.js +0 -120
- package/dist/showCredit.js.map +0 -1
- package/dist/showLinks.d.ts +0 -24
- package/dist/showLinks.d.ts.map +0 -1
- package/dist/showLinks.js +0 -23
- package/dist/showLinks.js.map +0 -1
- package/dist/showLots.d.ts +0 -44
- package/dist/showLots.d.ts.map +0 -1
- package/dist/showLots.js +0 -70
- package/dist/showLots.js.map +0 -1
- package/dist/showNames.d.ts +0 -77
- package/dist/showNames.d.ts.map +0 -1
- package/dist/showNames.js +0 -143
- package/dist/showNames.js.map +0 -1
- package/dist/showPages.d.ts +0 -56
- package/dist/showPages.d.ts.map +0 -1
- package/dist/showPages.js +0 -48
- package/dist/showPages.js.map +0 -1
- package/dist/silentAuctionFeed.d.ts +0 -49
- package/dist/silentAuctionFeed.d.ts.map +0 -1
- package/dist/silentAuctionFeed.js +0 -242
- package/dist/silentAuctionFeed.js.map +0 -1
- package/dist/silentAuctionRules.d.ts +0 -253
- package/dist/silentAuctionRules.d.ts.map +0 -1
- package/dist/silentAuctionRules.js +0 -489
- package/dist/silentAuctionRules.js.map +0 -1
- package/dist/silentAuctions.d.ts +0 -65
- package/dist/silentAuctions.d.ts.map +0 -1
- package/dist/silentAuctions.js +0 -272
- package/dist/silentAuctions.js.map +0 -1
- package/dist/storeData.d.ts +0 -16
- package/dist/storeData.d.ts.map +0 -1
- package/dist/storeData.js +0 -19
- package/dist/storeData.js.map +0 -1
- package/dist/ui/BubbleFrame.d.ts +0 -38
- package/dist/ui/BubbleFrame.d.ts.map +0 -1
- package/dist/ui/BubbleFrame.js +0 -181
- package/dist/ui/BubbleFrame.js.map +0 -1
- package/dist/ui/LiveBubble.d.ts +0 -43
- package/dist/ui/LiveBubble.d.ts.map +0 -1
- package/dist/ui/LiveBubble.js +0 -116
- package/dist/ui/LiveBubble.js.map +0 -1
- package/dist/ui/ReplayBubble.d.ts +0 -23
- package/dist/ui/ReplayBubble.d.ts.map +0 -1
- package/dist/ui/ReplayBubble.js +0 -71
- package/dist/ui/ReplayBubble.js.map +0 -1
- package/dist/ui.d.ts +0 -27
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -34
- package/dist/ui.js.map +0 -1
- package/dist/unreadRoomMessages.d.ts +0 -26
- package/dist/unreadRoomMessages.d.ts.map +0 -1
- package/dist/unreadRoomMessages.js +0 -62
- package/dist/unreadRoomMessages.js.map +0 -1
- package/dist/viewerRules.d.ts +0 -38
- package/dist/viewerRules.d.ts.map +0 -1
- package/dist/viewerRules.js +0 -46
- package/dist/viewerRules.js.map +0 -1
- package/dist/winsAttribution.d.ts +0 -22
- package/dist/winsAttribution.d.ts.map +0 -1
- package/dist/winsAttribution.js +0 -49
- package/dist/winsAttribution.js.map +0 -1
- package/dist/zegoEngine.d.ts +0 -173
- package/dist/zegoEngine.d.ts.map +0 -1
- package/dist/zegoEngine.js +0 -1069
- package/dist/zegoEngine.js.map +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type BidCapState, type SilentAuctionLot, type SilentAuctionPhase } from '../silentAuctionRules';
|
|
2
|
-
export interface UseSilentAuctionLotOptions {
|
|
3
|
-
/** The signed-in customer's id (GID or bare), or null. A bid needs it; reading the lot doesn't. */
|
|
4
|
-
customerId: string | null;
|
|
5
|
-
/** Whether the shopper is signed in (the customer id may still be on its way). */
|
|
6
|
-
signedIn: boolean;
|
|
7
|
-
/** Sent with a bid; the service returns it as the winner's contact. */
|
|
8
|
-
email?: string | null;
|
|
9
|
-
/** The variant the shopper has chosen, which a bid is placed on. */
|
|
10
|
-
variantId?: string | null;
|
|
11
|
-
/** The screen is showing: reads only then. */
|
|
12
|
-
screenOnShow: boolean;
|
|
13
|
-
/** How often the lot is read again, ms. Default 4 000; never under 1 000. */
|
|
14
|
-
pollMs?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface SilentAuctionLotConsole {
|
|
17
|
-
/** The product's lot, or null when it isn't in a round. */
|
|
18
|
-
lot: SilentAuctionLot | null;
|
|
19
|
-
/** `failed` only before any answer. */
|
|
20
|
-
status: 'loading' | 'ready' | 'failed';
|
|
21
|
-
phase: SilentAuctionPhase | null;
|
|
22
|
-
timeLeftMs: number;
|
|
23
|
-
/** What the one-tap bid offers. */
|
|
24
|
-
nextBid: number;
|
|
25
|
-
/** The bid cap, against `nextBid`. */
|
|
26
|
-
bidCap: BidCapState;
|
|
27
|
-
/** This customer holds the leading bid. */
|
|
28
|
-
leading: boolean;
|
|
29
|
-
/** For a closed lot: won, lost, or unknown while the signed-in customer's id is on its way. */
|
|
30
|
-
outcome: 'won' | 'lost' | 'unknown';
|
|
31
|
-
/** The close was pushed back by a late bid, or the service flagged a bidding war. */
|
|
32
|
-
extended: boolean;
|
|
33
|
-
/** A bid now would push the close back. */
|
|
34
|
-
inExtensionWindow: boolean;
|
|
35
|
-
/** A bid is on its way. */
|
|
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;
|
|
39
|
-
placeBid(amount?: number): Promise<void>;
|
|
40
|
-
rebidOnVariant(): Promise<void>;
|
|
41
|
-
refresh(): void;
|
|
42
|
-
}
|
|
43
|
-
export declare function useSilentAuctionLot(productId: string | null, options: UseSilentAuctionLotOptions): SilentAuctionLotConsole;
|
|
44
|
-
//# sourceMappingURL=useSilentAuctionLot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSilentAuctionLot = useSilentAuctionLot;
|
|
4
|
-
/**
|
|
5
|
-
* One product's silent-auction lot, for its product page's bid console (0.12.0, moved from Sparkl's
|
|
6
|
-
* `useAuctionConsole` on 2026-10-17).
|
|
7
|
-
*
|
|
8
|
-
* - **Reads the lot every `pollMs`** (4 000) on a one-second tick while `screenOnShow`, one read at a
|
|
9
|
-
* time; a failed read keeps the last lot shown (a second stale beats a console that blinks out
|
|
10
|
-
* mid-round) and is `failed` only before any answer.
|
|
11
|
-
* - **A new product starts from nothing:** another product's answer says nothing about this one.
|
|
12
|
-
* - **`extended`:** the close moved later inside the anti-sniping window (`wasExtended`), or the service
|
|
13
|
-
* flagged a bidding war.
|
|
14
|
-
* - **`placeBid(amount?)`:** the one-tap bid (`nextBid`) or a typed amount, to the service; then, not
|
|
15
|
-
* awaited, the customer's bid record (`silentAuctions.recordBid`, which My Bids reads) and the variant
|
|
16
|
-
* it was placed on (`rememberBidVariant`); then a fresh read. Rejects when the service refuses.
|
|
17
|
-
* - **`rebidOnVariant()`:** the leader picked another size: the bid again at the standing amount, never
|
|
18
|
-
* `nextBid`, so changing size doesn't cost more.
|
|
19
|
-
*
|
|
20
|
-
* Which bottom bar the page draws is `productPageBuyBar`; whether this customer may bid (terms, tags,
|
|
21
|
-
* unpaid wins) stays the app's gate. No words or formatting.
|
|
22
|
-
*/
|
|
23
|
-
const react_1 = require("react");
|
|
24
|
-
const shopifyIds_1 = require("../shopifyIds");
|
|
25
|
-
const silentAuctionRules_1 = require("../silentAuctionRules");
|
|
26
|
-
const silentAuctions_1 = require("../silentAuctions");
|
|
27
|
-
const client_1 = require("../client");
|
|
28
|
-
const LiveSellingProvider_1 = require("./LiveSellingProvider");
|
|
29
|
-
function useSilentAuctionLot(productId, options) {
|
|
30
|
-
var _a;
|
|
31
|
-
const { customerId, signedIn, email = null, variantId = null, screenOnShow, pollMs = 4000 } = options;
|
|
32
|
-
// Reads only once the provider has configured the client: before that a read answers "not in a round"
|
|
33
|
-
// without asking (a product page opened from a link, on a cold start).
|
|
34
|
-
const { ready } = (0, LiveSellingProvider_1.useLiveSelling)();
|
|
35
|
-
const [lot, setLot] = (0, react_1.useState)(null);
|
|
36
|
-
const [status, setStatus] = (0, react_1.useState)('loading');
|
|
37
|
-
const [extendedSeen, setExtendedSeen] = (0, react_1.useState)(false);
|
|
38
|
-
const [bidding, setBidding] = (0, react_1.useState)(false);
|
|
39
|
-
const [now, setNow] = (0, react_1.useState)(() => Date.now());
|
|
40
|
-
const [bidVariant, setBidVariant] = (0, react_1.useState)(null);
|
|
41
|
-
/** When the last answer landed; the tick compares against it. */
|
|
42
|
-
const lastRead = (0, react_1.useRef)(0);
|
|
43
|
-
const reading = (0, react_1.useRef)(false);
|
|
44
|
-
/** The close time last shown, so an extension can be told from a first read. */
|
|
45
|
-
const previousEndsAt = (0, react_1.useRef)(null);
|
|
46
|
-
/** The product the answers are for, so one for a product the page has left is dropped. */
|
|
47
|
-
const forProduct = (0, react_1.useRef)(productId);
|
|
48
|
-
forProduct.current = productId;
|
|
49
|
-
const load = (0, react_1.useCallback)(async () => {
|
|
50
|
-
var _a;
|
|
51
|
-
if (!productId || reading.current)
|
|
52
|
-
return;
|
|
53
|
-
reading.current = true;
|
|
54
|
-
try {
|
|
55
|
-
const next = await silentAuctions_1.silentAuctions.lot(productId);
|
|
56
|
-
if (forProduct.current !== productId)
|
|
57
|
-
return;
|
|
58
|
-
const before = previousEndsAt.current;
|
|
59
|
-
setLot(next);
|
|
60
|
-
previousEndsAt.current = (_a = next === null || next === void 0 ? void 0 : next.endsAt) !== null && _a !== void 0 ? _a : null;
|
|
61
|
-
if (next && (0, silentAuctionRules_1.wasExtended)(before, next, Date.now()))
|
|
62
|
-
setExtendedSeen(true);
|
|
63
|
-
// An answer, so whatever it said is now known, "no round" included.
|
|
64
|
-
setStatus('ready');
|
|
65
|
-
}
|
|
66
|
-
catch (caught) {
|
|
67
|
-
(0, client_1.getLogger)().error(caught, { at: 'useSilentAuctionLot.read', productId });
|
|
68
|
-
if (forProduct.current === productId)
|
|
69
|
-
setStatus((previous) => (previousEndsAt.current === null ? 'failed' : previous));
|
|
70
|
-
}
|
|
71
|
-
finally {
|
|
72
|
-
reading.current = false;
|
|
73
|
-
lastRead.current = Date.now();
|
|
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]);
|
|
88
|
-
// A new product: back to knowing nothing, and read it.
|
|
89
|
-
(0, react_1.useEffect)(() => {
|
|
90
|
-
setLot(null);
|
|
91
|
-
setExtendedSeen(false);
|
|
92
|
-
previousEndsAt.current = null;
|
|
93
|
-
lastRead.current = 0;
|
|
94
|
-
if (!productId) {
|
|
95
|
-
// No product to ask about isn't a failed read.
|
|
96
|
-
setStatus('ready');
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
setStatus('loading');
|
|
100
|
-
if (ready)
|
|
101
|
-
void load();
|
|
102
|
-
}, [ready, productId, load]);
|
|
103
|
-
// The tick: the clock moves once a second, and the lot is read again every `pollMs`.
|
|
104
|
-
(0, react_1.useEffect)(() => {
|
|
105
|
-
if (!productId || !screenOnShow)
|
|
106
|
-
return undefined;
|
|
107
|
-
const timer = setInterval(() => setNow(Date.now()), 1000);
|
|
108
|
-
return () => clearInterval(timer);
|
|
109
|
-
}, [productId, screenOnShow]);
|
|
110
|
-
(0, react_1.useEffect)(() => {
|
|
111
|
-
if (!ready || !productId || !screenOnShow)
|
|
112
|
-
return;
|
|
113
|
-
if (Date.now() - lastRead.current < Math.max(pollMs, 1000))
|
|
114
|
-
return;
|
|
115
|
-
void load();
|
|
116
|
-
}, [ready, now, productId, screenOnShow, pollMs, load]);
|
|
117
|
-
const submit = (0, react_1.useCallback)(async (amount) => {
|
|
118
|
-
if (!productId || !customerId || bidding)
|
|
119
|
-
return;
|
|
120
|
-
setBidding(true);
|
|
121
|
-
try {
|
|
122
|
-
await silentAuctions_1.silentAuctions.bid({ productId, customerId, amount, variantId, email });
|
|
123
|
-
// The record My Bids reads, and the size to reopen on. Neither holds the bid up or fails it.
|
|
124
|
-
void silentAuctions_1.silentAuctions.recordBid(productId, lot === null || lot === void 0 ? void 0 : lot.auctionId);
|
|
125
|
-
if (variantId) {
|
|
126
|
-
void silentAuctions_1.silentAuctions.rememberBidVariant(productId, variantId);
|
|
127
|
-
setBidVariant({ productId, variantId });
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
finally {
|
|
131
|
-
setBidding(false);
|
|
132
|
-
lastRead.current = 0;
|
|
133
|
-
void load();
|
|
134
|
-
}
|
|
135
|
-
}, [productId, customerId, bidding, variantId, email, lot === null || lot === void 0 ? void 0 : lot.auctionId, load]);
|
|
136
|
-
const offer = lot ? (0, silentAuctionRules_1.nextBid)(lot) : 0;
|
|
137
|
-
const leading = !!lot && (0, silentAuctionRules_1.isLeading)(lot, customerId);
|
|
138
|
-
const placeBid = (0, react_1.useCallback)((amount) => submit(amount !== null && amount !== void 0 ? amount : offer), [submit, offer]);
|
|
139
|
-
const rebidOnVariant = (0, react_1.useCallback)(async () => {
|
|
140
|
-
var _a, _b;
|
|
141
|
-
if (!lot)
|
|
142
|
-
return;
|
|
143
|
-
await submit(((_a = lot.highestBid) !== null && _a !== void 0 ? _a : 0) > 0 ? lot.highestBid : ((_b = lot.startingPrice) !== null && _b !== void 0 ? _b : 0));
|
|
144
|
-
}, [lot, submit]);
|
|
145
|
-
const refresh = (0, react_1.useCallback)(() => {
|
|
146
|
-
lastRead.current = 0;
|
|
147
|
-
void load();
|
|
148
|
-
}, [load]);
|
|
149
|
-
const phase = lot ? (0, silentAuctionRules_1.lotPhase)(lot, now) : null;
|
|
150
|
-
return {
|
|
151
|
-
lot,
|
|
152
|
-
status,
|
|
153
|
-
phase,
|
|
154
|
-
timeLeftMs: lot ? (0, silentAuctionRules_1.timeLeftMs)(lot, now) : 0,
|
|
155
|
-
nextBid: offer,
|
|
156
|
-
bidCap: (0, silentAuctionRules_1.bidCapState)(offer, (_a = lot === null || lot === void 0 ? void 0 : lot.biddingCap) !== null && _a !== void 0 ? _a : null),
|
|
157
|
-
leading,
|
|
158
|
-
outcome: leading ? 'won' : signedIn && !(customerId && (0, shopifyIds_1.bareId)(customerId)) ? 'unknown' : 'lost',
|
|
159
|
-
extended: extendedSeen || !!(lot === null || lot === void 0 ? void 0 : lot.biddingWarAt),
|
|
160
|
-
inExtensionWindow: lot ? phase === 'live' && (0, silentAuctionRules_1.inExtensionWindow)(lot, now) : false,
|
|
161
|
-
bidding,
|
|
162
|
-
bidVariantId: bidVariant && bidVariant.productId === productId ? bidVariant.variantId : null,
|
|
163
|
-
placeBid,
|
|
164
|
-
rebidOnVariant,
|
|
165
|
-
refresh,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=useSilentAuctionLot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionLot.js","sourceRoot":"","sources":["../../src/react/useSilentAuctionLot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { type SilentAuctionFeedOptions, type SilentAuctionItem } from '../silentAuctionFeed';
|
|
2
|
-
import { type SilentAuctionOrder } from '../silentAuctionRules';
|
|
3
|
-
export interface UseSilentAuctionLotsOptions {
|
|
4
|
-
/** `newest` (default), `endingSoon`, `wishlisted` or `upcoming`: see `orderLots`. */
|
|
5
|
-
order?: SilentAuctionOrder;
|
|
6
|
-
/** The screen is showing: reads and polls only then. */
|
|
7
|
-
screenOnShow: boolean;
|
|
8
|
-
/** Read the shown lots' bids again this often, ms. 0 (default) doesn't poll. */
|
|
9
|
-
pollIntervalMs?: number;
|
|
10
|
-
/** The shopper's wishlisted products (bare ids or GIDs), for `order: 'wishlisted'`. */
|
|
11
|
-
wishlistedProductIds?: string[];
|
|
12
|
-
/** Read past the first page in the background. Default true; false for a rail. */
|
|
13
|
-
readAhead?: boolean;
|
|
14
|
-
/** The order pages are read in. Default the service's. */
|
|
15
|
-
pageOrder?: SilentAuctionFeedOptions['pageOrder'];
|
|
16
|
-
/** Keep sold-out lots. Default false. */
|
|
17
|
-
keepSoldOut?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface SilentAuctionLotsPage<TRaw = unknown> {
|
|
20
|
-
/** `loading` until the first page; `empty` when the order has nothing (and nothing is still being read). */
|
|
21
|
-
status: 'loading' | 'failed' | 'empty' | 'ready';
|
|
22
|
-
/** The lots, in `order`. */
|
|
23
|
-
items: SilentAuctionItem<TRaw>[];
|
|
24
|
-
/** For `order: 'upcoming'`: the lots by round, the soonest first. Empty otherwise. */
|
|
25
|
-
upcoming: {
|
|
26
|
-
auctionId: string;
|
|
27
|
-
startsAt: number | null;
|
|
28
|
-
items: SilentAuctionItem<TRaw>[];
|
|
29
|
-
}[];
|
|
30
|
-
/** A pull to refresh is running. */
|
|
31
|
-
refreshing: boolean;
|
|
32
|
-
/** More lots are being read in the background: a list footer, never the spinner. */
|
|
33
|
-
readingAhead: boolean;
|
|
34
|
-
hasMore: boolean;
|
|
35
|
-
/** The last refresh failed over lots already shown: they may be out of date (0.16.0). */
|
|
36
|
-
refreshFailed: boolean;
|
|
37
|
-
/** Pull to refresh. */
|
|
38
|
-
refresh(): void;
|
|
39
|
-
}
|
|
40
|
-
export declare function useSilentAuctionLots<TRaw = unknown>(options: UseSilentAuctionLotsOptions): SilentAuctionLotsPage<TRaw>;
|
|
41
|
-
//# sourceMappingURL=useSilentAuctionLots.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionLots.d.ts","sourceRoot":"","sources":["../../src/react/useSilentAuctionLots.ts"],"names":[],"mappings":"AAWA,OAAO,EAA2B,KAAK,wBAAwB,EAA+B,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnJ,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3F,MAAM,WAAW,2BAA2B;IAC1C,qFAAqF;IACrF,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAClD,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,GAAG,OAAO;IACnD,4GAA4G;IAC5G,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACjD,4BAA4B;IAC5B,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC,sFAAsF;IACtF,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAA;KAAE,EAAE,CAAC;IAC7F,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,yFAAyF;IACzF,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,2BAA2B,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAuDtH"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSilentAuctionLots = useSilentAuctionLots;
|
|
4
|
-
/**
|
|
5
|
-
* The silent-auction lots page as a page model (0.12.0, moved from Sparkl's `CurrentSilentAuction` and
|
|
6
|
-
* `useAuctionProducts` on 2026-10-17). Also a home rail's (`order: 'upcoming'`, `readAhead: false`).
|
|
7
|
-
*
|
|
8
|
-
* The lots and their products come from `createSilentAuctionFeed`; this orders them (`orderLots`) and
|
|
9
|
-
* groups the upcoming ones by round (`upcomingGroups`). It reads while `screenOnShow`, polls every
|
|
10
|
-
* `pollIntervalMs` (Sparkl's grid: 2 000), and stops when the screen goes. Changing `order` between
|
|
11
|
-
* `upcoming` and the rest reads the other list from scratch, as Sparkl does. No words or formatting.
|
|
12
|
-
*/
|
|
13
|
-
const react_1 = require("react");
|
|
14
|
-
const silentAuctionFeed_1 = require("../silentAuctionFeed");
|
|
15
|
-
const silentAuctionRules_1 = require("../silentAuctionRules");
|
|
16
|
-
const LiveSellingProvider_1 = require("./LiveSellingProvider");
|
|
17
|
-
function useSilentAuctionLots(options) {
|
|
18
|
-
const { order = 'newest', screenOnShow, pollIntervalMs = 0, wishlistedProductIds, readAhead = true, pageOrder, keepSoldOut = false } = options;
|
|
19
|
-
const { ready } = (0, LiveSellingProvider_1.useLiveSelling)();
|
|
20
|
-
const filter = order === 'upcoming' ? 'upcoming' : 'current';
|
|
21
|
-
const feed = (0, react_1.useMemo)(() => (0, silentAuctionFeed_1.createSilentAuctionFeed)({ filter, readAhead, pageOrder, keepSoldOut }), [filter, readAhead, pageOrder, keepSoldOut]);
|
|
22
|
-
const [state, setState] = (0, react_1.useState)(feed.getState());
|
|
23
|
-
(0, react_1.useEffect)(() => {
|
|
24
|
-
setState(feed.getState());
|
|
25
|
-
return feed.subscribe(() => setState(feed.getState()));
|
|
26
|
-
}, [feed]);
|
|
27
|
-
// Only once the provider has configured the client: before that a read answers "no lots" without
|
|
28
|
-
// asking, and on the app's first screen nothing would read again.
|
|
29
|
-
(0, react_1.useEffect)(() => {
|
|
30
|
-
if (!ready || !screenOnShow)
|
|
31
|
-
return undefined;
|
|
32
|
-
void feed.load();
|
|
33
|
-
const timer = pollIntervalMs > 0 ? setInterval(() => void feed.poll(), pollIntervalMs) : null;
|
|
34
|
-
return () => {
|
|
35
|
-
if (timer)
|
|
36
|
-
clearInterval(timer);
|
|
37
|
-
feed.stop();
|
|
38
|
-
};
|
|
39
|
-
}, [ready, feed, screenOnShow, pollIntervalMs]);
|
|
40
|
-
const wishlistKey = (wishlistedProductIds !== null && wishlistedProductIds !== void 0 ? wishlistedProductIds : []).join(',');
|
|
41
|
-
const items = (0, react_1.useMemo)(() => (0, silentAuctionRules_1.orderLots)(state.items, order, Date.now(), wishlistedProductIds !== null && wishlistedProductIds !== void 0 ? wishlistedProductIds : []),
|
|
42
|
-
// The ids by value: a fresh array each render mustn't reorder the list.
|
|
43
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
-
[state.items, order, wishlistKey]);
|
|
45
|
-
const upcoming = (0, react_1.useMemo)(() => (order === 'upcoming' ? (0, silentAuctionRules_1.upcomingGroups)(items) : []), [items, order]);
|
|
46
|
-
const status = state.status === 'idle' || state.status === 'loading'
|
|
47
|
-
? 'loading'
|
|
48
|
-
: state.status === 'failed'
|
|
49
|
-
? 'failed'
|
|
50
|
-
: items.length === 0 && !state.readingAhead
|
|
51
|
-
? 'empty'
|
|
52
|
-
: 'ready';
|
|
53
|
-
return {
|
|
54
|
-
status,
|
|
55
|
-
items,
|
|
56
|
-
upcoming,
|
|
57
|
-
refreshing: state.refreshing,
|
|
58
|
-
readingAhead: state.readingAhead,
|
|
59
|
-
hasMore: state.hasMore,
|
|
60
|
-
refreshFailed: state.refreshFailed,
|
|
61
|
-
refresh: () => void feed.load({ userInitiated: true }),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=useSilentAuctionLots.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionLots.js","sourceRoot":"","sources":["../../src/react/useSilentAuctionLots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { SilentAuctionRound } from '../silentAuctionRules';
|
|
2
|
-
export interface UseSilentAuctionRoundsOptions {
|
|
3
|
-
/** `active` (default) or `upcoming`. */
|
|
4
|
-
filter?: 'active' | 'upcoming';
|
|
5
|
-
/** The screen is showing: reads only then. */
|
|
6
|
-
screenOnShow: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface SilentAuctionRounds {
|
|
9
|
-
status: 'loading' | 'failed' | 'empty' | 'ready';
|
|
10
|
-
rounds: SilentAuctionRound[];
|
|
11
|
-
/** Reads again. Resolves once the read has answered (0.16.0), so a pull can hold its spinner; stable. */
|
|
12
|
-
refresh(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export declare function useSilentAuctionRounds(options: UseSilentAuctionRoundsOptions): SilentAuctionRounds;
|
|
15
|
-
//# sourceMappingURL=useSilentAuctionRounds.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionRounds.d.ts","sourceRoot":"","sources":["../../src/react/useSilentAuctionRounds.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,MAAM,WAAW,6BAA6B;IAC5C,wCAAwC;IACxC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACjD,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,yGAAyG;IACzG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,CA6BlG"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSilentAuctionRounds = useSilentAuctionRounds;
|
|
4
|
-
/**
|
|
5
|
-
* A store's silent-auction rounds, for the home page's banner and its countdown (0.12.0, moved from
|
|
6
|
-
* Sparkl's Home on 2026-10-17): `active` (bidding open) or `upcoming` rounds, each with its name, times,
|
|
7
|
-
* notification and lots. Read each time the screen shows. No words or formatting.
|
|
8
|
-
*/
|
|
9
|
-
const react_1 = require("react");
|
|
10
|
-
const client_1 = require("../client");
|
|
11
|
-
const silentAuctions_1 = require("../silentAuctions");
|
|
12
|
-
const LiveSellingProvider_1 = require("./LiveSellingProvider");
|
|
13
|
-
function useSilentAuctionRounds(options) {
|
|
14
|
-
const { filter = 'active', screenOnShow } = options;
|
|
15
|
-
const { ready } = (0, LiveSellingProvider_1.useLiveSelling)();
|
|
16
|
-
const [rounds, setRounds] = (0, react_1.useState)([]);
|
|
17
|
-
const [status, setStatus] = (0, react_1.useState)('loading');
|
|
18
|
-
const generation = (0, react_1.useRef)(0);
|
|
19
|
-
const load = (0, react_1.useCallback)(async () => {
|
|
20
|
-
const mine = ++generation.current;
|
|
21
|
-
try {
|
|
22
|
-
const next = await silentAuctions_1.silentAuctions.rounds(filter);
|
|
23
|
-
if (mine !== generation.current)
|
|
24
|
-
return;
|
|
25
|
-
setRounds(next);
|
|
26
|
-
setStatus(next.length ? 'ready' : 'empty');
|
|
27
|
-
}
|
|
28
|
-
catch (caught) {
|
|
29
|
-
if (mine !== generation.current)
|
|
30
|
-
return;
|
|
31
|
-
(0, client_1.getLogger)().error(caught, { at: 'useSilentAuctionRounds', filter });
|
|
32
|
-
// A failed read keeps rounds already shown.
|
|
33
|
-
setStatus((previous) => (previous === 'ready' ? previous : 'failed'));
|
|
34
|
-
}
|
|
35
|
-
}, [filter]);
|
|
36
|
-
// Only once the provider has configured the client: before that a read answers "no rounds" without
|
|
37
|
-
// asking, and on the app's first screen nothing would read again.
|
|
38
|
-
(0, react_1.useEffect)(() => {
|
|
39
|
-
if (ready && screenOnShow)
|
|
40
|
-
void load();
|
|
41
|
-
}, [ready, screenOnShow, load]);
|
|
42
|
-
return { status, rounds, refresh: load };
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=useSilentAuctionRounds.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSilentAuctionRounds.js","sourceRoot":"","sources":["../../src/react/useSilentAuctionRounds.ts"],"names":[],"mappings":";;AA0BA,wDA6BC;AAvDD;;;;GAIG;AACH,iCAAiE;AAEjE,sCAAsC;AAEtC,sDAAmD;AACnD,+DAAuD;AAgBvD,SAAgB,sBAAsB,CAAC,OAAsC;IAC3E,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,oCAAc,GAAE,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAuB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAgC,SAAS,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,+BAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACxC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO;gBAAE,OAAO;YACxC,IAAA,kBAAS,GAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,4CAA4C;YAC5C,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,mGAAmG;IACnG,kEAAkE;IAClE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,YAAY;YAAE,KAAK,IAAI,EAAE,CAAC;IACzC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC"}
|
package/dist/replayPages.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The replay archive read a page at a time, by offset: the bookkeeping behind `useReplays`.
|
|
3
|
-
*
|
|
4
|
-
* The gateway pages by offset over every entry it holds; `replays.list` then drops what can't be shown
|
|
5
|
-
* (no playlist, not a finished livestream). So the next page starts after everything the gateway SENT
|
|
6
|
-
* (`ReplayFeed.receivedCount`), never after what was kept. Moving by the kept count (what `useReplays`
|
|
7
|
-
* did until 0.9.0) asks again for entries already read, so pages overlap; and after a page where
|
|
8
|
-
* nothing was kept the offset doesn't move at all, so that same page is asked for again, forever.
|
|
9
|
-
*
|
|
10
|
-
* Kept free of React so it loads in plain Node for tests.
|
|
11
|
-
*/
|
|
12
|
-
import type { Replay, ReplayFeed } from './types';
|
|
13
|
-
export interface ReplayPages {
|
|
14
|
-
/** Every recording read so far, in the gateway's order, each once. */
|
|
15
|
-
replays: Replay[];
|
|
16
|
-
/** Where the next page starts: how many entries the gateway has sent so far. */
|
|
17
|
-
nextOffset: number;
|
|
18
|
-
/** The gateway has more. True before anything is read. */
|
|
19
|
-
hasMore: boolean;
|
|
20
|
-
}
|
|
21
|
-
/** Nothing read yet. */
|
|
22
|
-
export declare const NO_REPLAY_PAGES: ReplayPages;
|
|
23
|
-
/** The first page, read (again): it replaces everything read before. */
|
|
24
|
-
export declare function firstReplayPage(feed: ReplayFeed): ReplayPages;
|
|
25
|
-
/**
|
|
26
|
-
* The pages so far with the next one after them. A recording read before isn't added twice: an
|
|
27
|
-
* archive that gains a recording while it is being paged shifts every later entry down by one, so the
|
|
28
|
-
* next page starts with the last one already held.
|
|
29
|
-
*/
|
|
30
|
-
export declare function addReplayPage(pages: ReplayPages, feed: ReplayFeed): ReplayPages;
|
|
31
|
-
//# sourceMappingURL=replayPages.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replayPages.d.ts","sourceRoot":"","sources":["../src/replayPages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAwB;AACxB,eAAO,MAAM,eAAe,EAAE,WAA2D,CAAC;AAE1F,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAe/E"}
|
package/dist/replayPages.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NO_REPLAY_PAGES = void 0;
|
|
4
|
-
exports.firstReplayPage = firstReplayPage;
|
|
5
|
-
exports.addReplayPage = addReplayPage;
|
|
6
|
-
/** Nothing read yet. */
|
|
7
|
-
exports.NO_REPLAY_PAGES = { replays: [], nextOffset: 0, hasMore: true };
|
|
8
|
-
/** The first page, read (again): it replaces everything read before. */
|
|
9
|
-
function firstReplayPage(feed) {
|
|
10
|
-
return addReplayPage({ ...exports.NO_REPLAY_PAGES, replays: [] }, feed);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* The pages so far with the next one after them. A recording read before isn't added twice: an
|
|
14
|
-
* archive that gains a recording while it is being paged shifts every later entry down by one, so the
|
|
15
|
-
* next page starts with the last one already held.
|
|
16
|
-
*/
|
|
17
|
-
function addReplayPage(pages, feed) {
|
|
18
|
-
const held = new Set(pages.replays.map((replay) => replay.id));
|
|
19
|
-
const added = [];
|
|
20
|
-
for (const replay of feed.replays) {
|
|
21
|
-
if (held.has(replay.id))
|
|
22
|
-
continue;
|
|
23
|
-
held.add(replay.id);
|
|
24
|
-
added.push(replay);
|
|
25
|
-
}
|
|
26
|
-
// A feed made without `receivedCount` (a host's own stand-in) moves by what it holds, as before.
|
|
27
|
-
const received = Number.isFinite(feed.receivedCount) ? Math.max(0, feed.receivedCount) : feed.replays.length;
|
|
28
|
-
return {
|
|
29
|
-
replays: added.length ? [...pages.replays, ...added] : pages.replays,
|
|
30
|
-
nextOffset: pages.nextOffset + received,
|
|
31
|
-
hasMore: feed.hasMore,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=replayPages.js.map
|
package/dist/replayPages.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replayPages.js","sourceRoot":"","sources":["../src/replayPages.ts"],"names":[],"mappings":";;;AA0BA,0CAEC;AAOD,sCAeC;AA5BD,wBAAwB;AACX,QAAA,eAAe,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAE1F,wEAAwE;AACxE,SAAgB,eAAe,CAAC,IAAgB;IAC9C,OAAO,aAAa,CAAC,EAAE,GAAG,uBAAe,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAkB,EAAE,IAAgB;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,iGAAiG;IACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7G,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;QACpE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,QAAQ;QACvC,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
|