@opexa/portal-components 0.0.98 → 0.0.100

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 (509) hide show
  1. package/dist/client/hooks/useAccountQuery.js +3 -3
  2. package/dist/client/hooks/useAuthenticateMutation.d.ts +1 -1
  3. package/dist/client/hooks/useAuthenticateMutation.js +3 -2
  4. package/dist/client/hooks/useAvailablePromosQuery.d.ts +1 -1
  5. package/dist/client/hooks/useAvailablePromosQuery.js +3 -3
  6. package/dist/client/hooks/useAvailableQuestsCountQuery.js +3 -3
  7. package/dist/client/hooks/useAvailableQuestsQuery.js +3 -3
  8. package/dist/client/hooks/useBetRecordsQuery.d.ts +1 -1
  9. package/dist/client/hooks/useBetRecordsQuery.js +3 -3
  10. package/dist/client/hooks/useBonusQuery.js +3 -3
  11. package/dist/client/hooks/useBonusesCountQuery.js +3 -3
  12. package/dist/client/hooks/useBonusesQuery.js +3 -3
  13. package/dist/client/hooks/useCashbackBonusQuery.js +3 -3
  14. package/dist/client/hooks/useCashbackBonusesCountQuery.js +3 -3
  15. package/dist/client/hooks/useCashbackBonusesQuery.js +3 -3
  16. package/dist/client/hooks/useCashbackQuery.js +2 -2
  17. package/dist/client/hooks/useCashbacksQuery.js +2 -2
  18. package/dist/client/hooks/useCheckInDailyCheckInQuestMutation.js +3 -3
  19. package/dist/client/hooks/useClaimCashbackBonusMutation.js +4 -3
  20. package/dist/client/hooks/useClaimSpotBonusMutation.js +4 -3
  21. package/dist/client/hooks/useCreateGCashDepositMutation.d.ts +1 -1
  22. package/dist/client/hooks/useCreateGCashDepositMutation.js +5 -3
  23. package/dist/client/hooks/useCreateGCashWithdrawalMutation.d.ts +1 -1
  24. package/dist/client/hooks/useCreateGCashWithdrawalMutation.js +3 -3
  25. package/dist/client/hooks/useCreateGameSessionMutation.js +5 -3
  26. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.d.ts +1 -1
  27. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.js +3 -3
  28. package/dist/client/hooks/useCreateMayaAppDepositMutation.d.ts +1 -1
  29. package/dist/client/hooks/useCreateMayaAppDepositMutation.js +5 -3
  30. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.d.ts +1 -1
  31. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.js +3 -3
  32. package/dist/client/hooks/useCreateMayaDepositMutation.d.ts +1 -1
  33. package/dist/client/hooks/useCreateMayaDepositMutation.js +5 -3
  34. package/dist/client/hooks/useCreateMayaWithdrawalMutation.d.ts +1 -1
  35. package/dist/client/hooks/useCreateMayaWithdrawalMutation.js +3 -3
  36. package/dist/client/hooks/useCreateOnlineBankDepositMutation.d.ts +1 -1
  37. package/dist/client/hooks/useCreateOnlineBankDepositMutation.js +5 -3
  38. package/dist/client/hooks/useCreateQRPHDepositMutation.d.ts +1 -1
  39. package/dist/client/hooks/useCreateQRPHDepositMutation.js +5 -3
  40. package/dist/client/hooks/useDepositQuery.js +3 -3
  41. package/dist/client/hooks/useDepositRecordsQuery.d.ts +1 -1
  42. package/dist/client/hooks/useDepositRecordsQuery.js +3 -3
  43. package/dist/client/hooks/useDepositsCountQuery.js +3 -3
  44. package/dist/client/hooks/useEndGameSessionMutation.js +4 -3
  45. package/dist/client/hooks/useFavoriteGamesQuery.js +3 -3
  46. package/dist/client/hooks/useGamesQuery.d.ts +1 -1
  47. package/dist/client/hooks/useGamesQuery.js +2 -2
  48. package/dist/client/hooks/useGlobalStore.d.ts +3 -0
  49. package/dist/client/hooks/useGlobalStore.js +41 -1
  50. package/dist/client/hooks/useInstapayBankListQuery.js +3 -3
  51. package/dist/client/hooks/useIsMayaSessionValidQuery.js +5 -5
  52. package/dist/client/hooks/useJackpotPayoutsQuery.d.ts +1 -1
  53. package/dist/client/hooks/useJackpotPayoutsQuery.js +2 -2
  54. package/dist/client/hooks/useJackpotsCountQuery.d.ts +1 -1
  55. package/dist/client/hooks/useJackpotsCountQuery.js +2 -2
  56. package/dist/client/hooks/useJackpotsQuery.d.ts +1 -1
  57. package/dist/client/hooks/useJackpotsQuery.js +2 -2
  58. package/dist/client/hooks/useLocaleInfo.d.ts +1 -1
  59. package/dist/client/hooks/useLocaleInfo.js +1 -1
  60. package/dist/client/hooks/useMarkGameAsFavoriteMutation.js +4 -3
  61. package/dist/client/hooks/useMarkMessageAsReadMutation.js +4 -3
  62. package/dist/client/hooks/useMemberVerificationQuery.js +3 -3
  63. package/dist/client/hooks/useMessagesQuery.d.ts +1 -1
  64. package/dist/client/hooks/useMessagesQuery.js +3 -3
  65. package/dist/client/hooks/usePaymentSettingsQuery.js +3 -3
  66. package/dist/client/hooks/usePlatformQuery.js +2 -2
  67. package/dist/client/hooks/useProfileCompletionQuery.js +3 -3
  68. package/dist/client/hooks/usePromoQuery.js +2 -2
  69. package/dist/client/hooks/usePromosQuery.js +2 -2
  70. package/dist/client/hooks/useSendVerificationCodeMutation.d.ts +1 -1
  71. package/dist/client/hooks/useSendVerificationCodeMutation.js +2 -2
  72. package/dist/client/hooks/useSessionQuery.js +4 -4
  73. package/dist/client/hooks/useSignInMutation.d.ts +1 -1
  74. package/dist/client/hooks/useSignInMutation.js +3 -2
  75. package/dist/client/hooks/useSignOutMutation.js +3 -2
  76. package/dist/client/hooks/useSignUpMutation.d.ts +1 -1
  77. package/dist/client/hooks/useSignUpMutation.js +2 -2
  78. package/dist/client/hooks/useTopWinsQuery.js +2 -2
  79. package/dist/client/hooks/useTournamentsCountQuery.d.ts +1 -1
  80. package/dist/client/hooks/useTournamentsCountQuery.js +2 -2
  81. package/dist/client/hooks/useTournamentsQuery.d.ts +1 -1
  82. package/dist/client/hooks/useTournamentsQuery.js +2 -2
  83. package/dist/client/hooks/useTransactionRecordsQuery.d.ts +1 -1
  84. package/dist/client/hooks/useTransactionRecordsQuery.js +3 -3
  85. package/dist/client/hooks/useUnmarkGameAsFavoriteMutation.js +4 -3
  86. package/dist/client/hooks/useUnreadMessagesCountQuery.d.ts +1 -1
  87. package/dist/client/hooks/useUnreadMessagesCountQuery.js +3 -3
  88. package/dist/client/hooks/useUpdateAccountMutation.d.ts +1 -1
  89. package/dist/client/hooks/useUpdateAccountMutation.js +4 -3
  90. package/dist/client/hooks/useWalletQuery.js +3 -3
  91. package/dist/client/hooks/useWithdrawalRecordsQuery.d.ts +1 -1
  92. package/dist/client/hooks/useWithdrawalRecordsQuery.js +3 -3
  93. package/dist/client/services/authenticate.d.ts +1 -1
  94. package/dist/client/services/signIn.d.ts +1 -1
  95. package/dist/client/utils/createRecipeContext.js +1 -1
  96. package/dist/client/utils/toaster.d.ts +1 -1
  97. package/dist/client/utils/toaster.js +1 -1
  98. package/dist/components/Account/Account.d.ts +3 -23
  99. package/dist/components/Account/Account.js +10 -115
  100. package/dist/components/Account/Account.lazy.d.ts +23 -0
  101. package/dist/components/Account/Account.lazy.js +138 -0
  102. package/dist/components/Account/AccountTrigger.js +2 -2
  103. package/dist/components/AccountInfo/AccountInfo.js +10 -4
  104. package/dist/components/AccountSecurity/AccountSecurity.js +13 -4
  105. package/dist/components/AccountVerification/AccountVerification.js +12 -3
  106. package/dist/components/Banner/Banner.d.ts +2 -2
  107. package/dist/components/Banner/Banner.js +2 -2
  108. package/dist/components/BetRecords/BetRecords.client.d.ts +7 -0
  109. package/dist/components/BetRecords/BetRecords.client.js +189 -0
  110. package/dist/components/BetRecords/BetRecords.d.ts +3 -7
  111. package/dist/components/BetRecords/BetRecords.js +8 -174
  112. package/dist/components/Bonus/Bonus.client.d.ts +9 -1
  113. package/dist/components/Bonus/Bonus.client.js +13 -4
  114. package/dist/components/Bonus/Bonus.d.ts +2 -9
  115. package/dist/components/Bonus/Bonus.js +22 -6
  116. package/dist/components/Bonuses/Bonuses.client.d.ts +9 -1
  117. package/dist/components/Bonuses/Bonuses.client.js +14 -4
  118. package/dist/components/Bonuses/Bonuses.d.ts +2 -9
  119. package/dist/components/Bonuses/Bonuses.js +3 -2
  120. package/dist/components/Bonuses/BonusesTrigger.js +7 -6
  121. package/dist/components/Cashback/Cashback.client.d.ts +6 -1
  122. package/dist/components/Cashback/Cashback.client.js +7 -3
  123. package/dist/components/Cashback/Cashback.d.ts +2 -6
  124. package/dist/components/Cashback/Cashback.js +11 -6
  125. package/dist/components/DepositWithdrawal/AmountChoices.js +5 -3
  126. package/dist/components/DepositWithdrawal/Deposit/AvailablePromos.js +5 -3
  127. package/dist/components/DepositWithdrawal/Deposit/Deposit.js +6 -3
  128. package/dist/components/DepositWithdrawal/Deposit/GCashDeposit/GCashDeposit.js +15 -4
  129. package/dist/components/DepositWithdrawal/Deposit/MayaAppDeposit/MayaAppDeposit.js +15 -4
  130. package/dist/components/DepositWithdrawal/Deposit/MayaDeposit/MayaDeposit.js +15 -4
  131. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositAlert.js +5 -2
  132. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  133. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.js +1 -1
  134. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositDetails.js +5 -2
  135. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositForm.js +10 -4
  136. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  137. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.js +2 -1
  138. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.js +5 -2
  139. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
  140. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.js +1 -1
  141. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.js +4 -2
  142. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.js +10 -4
  143. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
  144. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.js +2 -1
  145. package/dist/components/DepositWithdrawal/DepositWithdrawal.d.ts +1 -1
  146. package/dist/components/DepositWithdrawal/DepositWithdrawal.js +10 -27
  147. package/dist/components/DepositWithdrawal/DepositWithdrawal.lazy.d.ts +1 -0
  148. package/dist/components/DepositWithdrawal/DepositWithdrawal.lazy.js +36 -0
  149. package/dist/components/DepositWithdrawal/DepositWithdrawalTrigger.js +5 -2
  150. package/dist/components/DepositWithdrawal/PaymentMethods.js +4 -3
  151. package/dist/components/DepositWithdrawal/Withdrawal/GCashWithdrawal/GCashWithdrawal.js +17 -4
  152. package/dist/components/DepositWithdrawal/Withdrawal/InstapayWithdrawal/InstapayWithdrawal.js +18 -4
  153. package/dist/components/DepositWithdrawal/Withdrawal/MayaAppWithdrawal/MayaAppWithdrawal.js +15 -4
  154. package/dist/components/DepositWithdrawal/Withdrawal/MayaWithdrawal/MayaWithdrawal.js +17 -4
  155. package/dist/components/DepositWithdrawal/Withdrawal/Withdrawal.js +11 -4
  156. package/dist/components/Disclaimer/DisclaimerV1.js +2 -1
  157. package/dist/components/Disclaimer/DisclaimerV2.js +2 -1
  158. package/dist/components/Disclaimer/ResponsibleGaming.js +2 -1
  159. package/dist/components/Disclaimer/TermsOfUse.js +3 -2
  160. package/dist/components/Empty.d.ts +1 -2
  161. package/dist/components/FavoriteGames/FavoriteGames.client.d.ts +5 -1
  162. package/dist/components/FavoriteGames/FavoriteGames.client.js +8 -4
  163. package/dist/components/FavoriteGames/FavoriteGames.d.ts +2 -5
  164. package/dist/components/FavoriteGames/FavoriteGames.js +2 -2
  165. package/dist/components/GameLaunch/GameLaunch.d.ts +1 -1
  166. package/dist/components/GameLaunch/GameLaunch.js +10 -71
  167. package/dist/components/GameLaunch/GameLaunch.lazy.d.ts +1 -0
  168. package/dist/components/GameLaunch/GameLaunch.lazy.js +90 -0
  169. package/dist/components/GameLaunch/GameLaunchTrigger.js +4 -2
  170. package/dist/components/GameProviders/GameProvidersCarousel.js +5 -3
  171. package/dist/components/GameProviders/GameProvidersList.js +4 -3
  172. package/dist/components/Games/Game.js +14 -5
  173. package/dist/components/Games/GamesCarousel.client.d.ts +24 -1
  174. package/dist/components/Games/GamesCarousel.client.js +7 -3
  175. package/dist/components/Games/GamesCarousel.d.ts +2 -23
  176. package/dist/components/Games/GamesCarousel.js +2 -2
  177. package/dist/components/Games/GamesContext.js +1 -1
  178. package/dist/components/Games/GamesList.client.d.ts +19 -1
  179. package/dist/components/Games/GamesList.client.js +6 -3
  180. package/dist/components/Games/GamesList.d.ts +2 -18
  181. package/dist/components/Games/GamesList.js +1 -1
  182. package/dist/components/GamesSearch/GamesSearch.d.ts +1 -1
  183. package/dist/components/GamesSearch/GamesSearch.js +10 -4
  184. package/dist/components/Jackpots/Jackpots.js +1 -1
  185. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarousel.js +6 -4
  186. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselContext.js +1 -1
  187. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.js +9 -3
  188. package/dist/components/Jackpots/JackpotsList/JackpotsList.js +2 -2
  189. package/dist/components/Jackpots/JackpotsList/JackpotsListContext.js +1 -1
  190. package/dist/components/Jackpots/JackpotsList/JackpotsListItemDesktop.js +8 -2
  191. package/dist/components/Jackpots/JackpotsList/JackpotsListItemGameProviders.js +3 -2
  192. package/dist/components/Jackpots/JackpotsList/JackpotsListItemMobile.js +12 -3
  193. package/dist/components/Jackpots/JackpotsList/JackpotsListItemRules.js +2 -2
  194. package/dist/components/Jackpots/JackpotsList/useJackpotsListItemData.d.ts +1 -1
  195. package/dist/components/Jackpots/JackpotsList/useJackpotsListItemData.js +3 -2
  196. package/dist/components/KYC/Header.js +4 -2
  197. package/dist/components/KYC/Indicator.js +2 -2
  198. package/dist/components/KYC/KYC.d.ts +1 -1
  199. package/dist/components/KYC/KYC.js +10 -22
  200. package/dist/components/KYC/KYC.lazy.d.ts +1 -0
  201. package/dist/components/KYC/KYC.lazy.js +26 -0
  202. package/dist/components/KYC/KYCContext.js +1 -1
  203. package/dist/components/KYC/KYCTrigger.js +1 -1
  204. package/dist/components/KYC/Step1.js +3 -2
  205. package/dist/components/KYC/Step2.js +3 -2
  206. package/dist/components/KYC/Step3.js +4 -2
  207. package/dist/components/KYC/Step4.js +3 -2
  208. package/dist/components/Messages/Message.js +3 -1
  209. package/dist/components/Messages/MessageContext.js +1 -1
  210. package/dist/components/Messages/MessagePopup.js +3 -3
  211. package/dist/components/Messages/MessageTrigger.js +2 -1
  212. package/dist/components/Messages/Messages.d.ts +3 -13
  213. package/dist/components/Messages/Messages.js +10 -35
  214. package/dist/components/Messages/Messages.lazy.d.ts +13 -0
  215. package/dist/components/Messages/Messages.lazy.js +48 -0
  216. package/dist/components/Messages/MessagesTrigger.js +7 -4
  217. package/dist/components/Messages/utils.d.ts +1 -1
  218. package/dist/components/Messages/utils.js +1 -1
  219. package/dist/components/PortalProvider/PortalProvider.js +8 -5
  220. package/dist/components/PortalProvider/Providers.js +1 -1
  221. package/dist/components/PortalProvider/Snackbar.js +4 -3
  222. package/dist/components/Promo/Promo.client.d.ts +6 -1
  223. package/dist/components/Promo/Promo.client.js +7 -3
  224. package/dist/components/Promo/Promo.d.ts +2 -6
  225. package/dist/components/Promo/Promo.js +11 -6
  226. package/dist/components/Promos/Cashback.js +3 -2
  227. package/dist/components/Promos/Promo.js +3 -2
  228. package/dist/components/Promos/Promos.js +3 -2
  229. package/dist/components/Promos/PromosCarousel.js +7 -3
  230. package/dist/components/Promos/PromosGrid.js +2 -1
  231. package/dist/components/Protected/Protected.d.ts +1 -2
  232. package/dist/components/Protected/Protected.js +1 -1
  233. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.js +10 -5
  234. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.js +3 -2
  235. package/dist/components/Quests/Quests.client.d.ts +5 -1
  236. package/dist/components/Quests/Quests.client.js +2 -2
  237. package/dist/components/Quests/Quests.d.ts +2 -5
  238. package/dist/components/Quests/Quests.js +1 -1
  239. package/dist/components/Quests/WageringQuest/WageringQuest.js +3 -2
  240. package/dist/components/Quests/WageringQuest/WageringQuestModal.js +3 -2
  241. package/dist/components/Search/Search.d.ts +3 -21
  242. package/dist/components/Search/Search.js +10 -64
  243. package/dist/components/Search/Search.lazy.d.ts +20 -0
  244. package/dist/components/Search/Search.lazy.js +78 -0
  245. package/dist/components/Search/SearchTrigger.js +1 -1
  246. package/dist/components/SignIn/MobileNumberSignIn.js +16 -5
  247. package/dist/components/SignIn/NameAndPasswordSignIn.js +16 -7
  248. package/dist/components/SignIn/SignIn.d.ts +3 -7
  249. package/dist/components/SignIn/SignIn.js +10 -14
  250. package/dist/components/SignIn/SignIn.lazy.d.ts +7 -0
  251. package/dist/components/SignIn/SignIn.lazy.js +18 -0
  252. package/dist/components/SignIn/SignInContext.js +1 -1
  253. package/dist/components/SignIn/SignInMethod.js +1 -1
  254. package/dist/components/SignIn/SignInTrigger.js +1 -1
  255. package/dist/components/SignUp/SignUp.d.ts +3 -7
  256. package/dist/components/SignUp/SignUp.js +10 -12
  257. package/dist/components/SignUp/SignUp.lazy.d.ts +7 -0
  258. package/dist/components/SignUp/SignUp.lazy.js +16 -0
  259. package/dist/components/SignUp/SignUpForm.js +15 -5
  260. package/dist/components/SignUp/SignUpTrigger.js +1 -1
  261. package/dist/components/TopWins/TopWins.client.d.ts +5 -1
  262. package/dist/components/TopWins/TopWins.client.js +8 -3
  263. package/dist/components/TopWins/TopWins.d.ts +2 -5
  264. package/dist/components/TopWins/TopWins.js +1 -1
  265. package/dist/components/Tournaments/Tournaments.js +1 -1
  266. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarousel.js +6 -4
  267. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselContext.js +1 -1
  268. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.js +8 -3
  269. package/dist/components/Tournaments/TournamentsList/TournamentsList.js +2 -2
  270. package/dist/components/Tournaments/TournamentsList/TournamentsListContext.js +1 -1
  271. package/dist/components/Tournaments/TournamentsList/TournamentsListItemDesktop.js +7 -2
  272. package/dist/components/Tournaments/TournamentsList/TournamentsListItemGameProviders.js +3 -2
  273. package/dist/components/Tournaments/TournamentsList/TournamentsListItemMobile.js +10 -3
  274. package/dist/components/Tournaments/TournamentsList/TournamentsListItemRules.js +3 -2
  275. package/dist/components/Tournaments/TournamentsList/useTournamentListItemData.d.ts +1 -1
  276. package/dist/components/Tournaments/TournamentsList/useTournamentListItemData.js +1 -1
  277. package/dist/components/TransactionRecords/DepositRecordsTable.js +12 -4
  278. package/dist/components/TransactionRecords/TableFilters.js +9 -4
  279. package/dist/components/TransactionRecords/TransactionRecords.d.ts +1 -1
  280. package/dist/components/TransactionRecords/TransactionRecords.js +7 -2
  281. package/dist/components/TransactionRecords/TransactionRecordsTable.js +11 -4
  282. package/dist/components/TransactionRecords/WithdrawalRecordsTable.js +12 -4
  283. package/dist/constants/endpoints.js +2 -2
  284. package/dist/handlers.js +1 -1
  285. package/dist/middleware.js +1 -1
  286. package/dist/server/services/authenticate.d.ts +1 -1
  287. package/dist/server/services/authenticate.js +1 -1
  288. package/dist/server/services/signIn.d.ts +1 -1
  289. package/dist/server/services/signIn.js +1 -1
  290. package/dist/server/services/signOut.js +1 -1
  291. package/dist/server/utils/prefetchAccountQuery.js +3 -2
  292. package/dist/server/utils/prefetchAvailablePromosQuery.d.ts +1 -1
  293. package/dist/server/utils/prefetchAvailablePromosQuery.js +3 -2
  294. package/dist/server/utils/prefetchAvailableQuestsCountQuery.js +3 -2
  295. package/dist/server/utils/prefetchAvailableQuestsQuery.js +3 -2
  296. package/dist/server/utils/prefetchBetRecordsQuery.d.ts +1 -1
  297. package/dist/server/utils/prefetchBetRecordsQuery.js +3 -2
  298. package/dist/server/utils/prefetchBonusQuery.js +3 -2
  299. package/dist/server/utils/prefetchBonusesCountQuery.js +3 -2
  300. package/dist/server/utils/prefetchBonusesQuery.js +3 -2
  301. package/dist/server/utils/prefetchCashbackBonusQuery.js +3 -2
  302. package/dist/server/utils/prefetchCashbackBonusesCountQuery.js +4 -3
  303. package/dist/server/utils/prefetchCashbackBonusesQuery.js +4 -3
  304. package/dist/server/utils/prefetchCashbackQuery.js +3 -2
  305. package/dist/server/utils/prefetchCashbacksQuery.js +3 -2
  306. package/dist/server/utils/prefetchDepositQuery.js +3 -2
  307. package/dist/server/utils/prefetchDepositRecordsQuery.d.ts +1 -1
  308. package/dist/server/utils/prefetchDepositRecordsQuery.js +3 -2
  309. package/dist/server/utils/prefetchDepositsCountQuery.js +3 -2
  310. package/dist/server/utils/prefetchFavoriteGamesQuery.js +4 -3
  311. package/dist/server/utils/prefetchGamesQuery.d.ts +1 -1
  312. package/dist/server/utils/prefetchGamesQuery.js +3 -2
  313. package/dist/server/utils/prefetchInstapayBankListQuery.js +3 -2
  314. package/dist/server/utils/prefetchIsMayaSessionValidQuery.js +3 -2
  315. package/dist/server/utils/prefetchJackpotsCountQuery.d.ts +1 -1
  316. package/dist/server/utils/prefetchJackpotsCountQuery.js +3 -2
  317. package/dist/server/utils/prefetchJackpotsQuery.d.ts +1 -1
  318. package/dist/server/utils/prefetchJackpotsQuery.js +3 -2
  319. package/dist/server/utils/prefetchMemberVerificationQuery.js +3 -2
  320. package/dist/server/utils/prefetchPaymentSettingsQuery.js +3 -2
  321. package/dist/server/utils/prefetchPlatformQuery.js +3 -2
  322. package/dist/server/utils/prefetchProfileCompletionQuery.js +3 -2
  323. package/dist/server/utils/prefetchPromoQuery.js +3 -2
  324. package/dist/server/utils/prefetchPromosQuery.js +3 -2
  325. package/dist/server/utils/prefetchSessionQuery.js +2 -1
  326. package/dist/server/utils/prefetchTopWinsQuery.js +3 -2
  327. package/dist/server/utils/prefetchTournamentsCountQuery.d.ts +1 -1
  328. package/dist/server/utils/prefetchTournamentsCountQuery.js +3 -2
  329. package/dist/server/utils/prefetchTournamentsQuery.d.ts +1 -1
  330. package/dist/server/utils/prefetchTournamentsQuery.js +3 -2
  331. package/dist/server/utils/prefetchTransactionRecordsQuery.d.ts +1 -1
  332. package/dist/server/utils/prefetchTransactionRecordsQuery.js +3 -2
  333. package/dist/server/utils/prefetchUnreadMessagesCountQuery.d.ts +1 -1
  334. package/dist/server/utils/prefetchUnreadMessagesCountQuery.js +3 -2
  335. package/dist/server/utils/prefetchWalletQuery.js +3 -2
  336. package/dist/server/utils/prefetchWithdrawalRecordsQuery.d.ts +1 -1
  337. package/dist/server/utils/prefetchWithdrawalRecordsQuery.js +3 -2
  338. package/dist/services/account.d.ts +341 -0
  339. package/dist/services/account.js +233 -0
  340. package/dist/services/auth.d.ts +80 -0
  341. package/dist/services/auth.js +152 -0
  342. package/dist/services/cmsPortal.d.ts +43 -0
  343. package/dist/services/cmsPortal.js +148 -0
  344. package/dist/services/file.d.ts +33 -0
  345. package/dist/services/file.js +18 -0
  346. package/dist/services/game.d.ts +44 -0
  347. package/dist/services/game.js +33 -0
  348. package/dist/services/graphqlRequest.js +0 -16
  349. package/dist/services/httpRequest.js +0 -10
  350. package/dist/services/portal.d.ts +37 -0
  351. package/dist/services/portal.js +44 -0
  352. package/dist/services/report.d.ts +223 -0
  353. package/dist/services/report.js +72 -0
  354. package/dist/services/trigger.d.ts +94 -0
  355. package/dist/services/trigger.js +88 -0
  356. package/dist/services/wallet.d.ts +475 -0
  357. package/dist/services/wallet.js +365 -0
  358. package/dist/ui/AlertDialog/AlertDialog.d.ts +154 -154
  359. package/dist/ui/AlertDialog/AlertDialog.js +1 -1
  360. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +14 -14
  361. package/dist/ui/AlertDialog/alertDialog.recipe.js +1 -1
  362. package/dist/ui/Avatar/Avatar.js +1 -1
  363. package/dist/ui/Avatar/avatar.recipe.js +1 -1
  364. package/dist/ui/Badge/Badge.d.ts +12 -12
  365. package/dist/ui/Badge/Badge.js +1 -1
  366. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  367. package/dist/ui/Badge/badge.recipe.js +1 -1
  368. package/dist/ui/Button/Button.js +2 -1
  369. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  370. package/dist/ui/Checkbox/Checkbox.js +1 -1
  371. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  372. package/dist/ui/Checkbox/checkbox.recipe.js +1 -1
  373. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  374. package/dist/ui/Clipboard/Clipboard.js +1 -1
  375. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  376. package/dist/ui/Clipboard/clipboard.recipe.js +1 -1
  377. package/dist/ui/Collapsible/Collapsible.d.ts +32 -32
  378. package/dist/ui/Collapsible/Collapsible.js +1 -1
  379. package/dist/ui/Collapsible/collapsible.recipe.d.ts +8 -8
  380. package/dist/ui/Collapsible/collapsible.recipe.js +1 -1
  381. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  382. package/dist/ui/Combobox/Combobox.js +1 -1
  383. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  384. package/dist/ui/Combobox/combobox.recipe.js +1 -1
  385. package/dist/ui/DatePicker/DatePicker.d.ts +336 -336
  386. package/dist/ui/DatePicker/DatePicker.js +1 -1
  387. package/dist/ui/DatePicker/datePicker.recipe.d.ts +14 -14
  388. package/dist/ui/DatePicker/datePicker.recipe.js +1 -1
  389. package/dist/ui/Dialog/Dialog.d.ts +154 -154
  390. package/dist/ui/Dialog/Dialog.js +1 -1
  391. package/dist/ui/Dialog/dialog.recipe.d.ts +14 -14
  392. package/dist/ui/Dialog/dialog.recipe.js +1 -1
  393. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  394. package/dist/ui/Drawer/Drawer.js +1 -1
  395. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  396. package/dist/ui/Drawer/drawer.recipe.js +1 -1
  397. package/dist/ui/Field/Field.d.ts +21 -21
  398. package/dist/ui/Field/Field.js +1 -1
  399. package/dist/ui/Field/field.recipe.d.ts +3 -3
  400. package/dist/ui/Field/field.recipe.js +1 -1
  401. package/dist/ui/IconButton/IconButton.js +2 -1
  402. package/dist/ui/NumberInput/NumberInput.js +1 -1
  403. package/dist/ui/NumberInput/numberInput.recipe.js +1 -1
  404. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  405. package/dist/ui/PasswordInput/PasswordInput.js +1 -1
  406. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  407. package/dist/ui/PasswordInput/passwordInput.recipe.js +1 -1
  408. package/dist/ui/PinInput/PinInput.js +1 -1
  409. package/dist/ui/PinInput/pinInput.recipe.js +1 -1
  410. package/dist/ui/Popover/Popover.d.ts +121 -121
  411. package/dist/ui/Popover/Popover.js +1 -1
  412. package/dist/ui/Popover/popover.recipe.d.ts +11 -11
  413. package/dist/ui/Popover/popover.recipe.js +1 -1
  414. package/dist/ui/Presence.d.ts +1 -1
  415. package/dist/ui/Presence.js +1 -1
  416. package/dist/ui/Progress/Progress.d.ts +27 -27
  417. package/dist/ui/Progress/Progress.js +1 -1
  418. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  419. package/dist/ui/Progress/progress.recipe.js +1 -1
  420. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  421. package/dist/ui/SegmentGroup/SegmentGroup.js +1 -1
  422. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  423. package/dist/ui/SegmentGroup/segmentGroup.recipe.js +1 -1
  424. package/dist/ui/Select/Select.d.ts +45 -45
  425. package/dist/ui/Select/Select.js +1 -1
  426. package/dist/ui/Select/select.recipe.d.ts +3 -3
  427. package/dist/ui/Select/select.recipe.js +1 -1
  428. package/dist/ui/Table/Table.d.ts +21 -21
  429. package/dist/ui/Table/Table.js +1 -1
  430. package/dist/ui/Table/table.recipe.d.ts +3 -3
  431. package/dist/ui/Table/table.recipe.js +1 -1
  432. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  433. package/dist/ui/Tabs/Tabs.js +1 -1
  434. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  435. package/dist/ui/Tabs/tabs.recipe.js +1 -1
  436. package/dist/utils/getQueryClient.js +2 -2
  437. package/dist/utils/onMobileDevice.d.ts +5 -0
  438. package/dist/utils/onMobileDevice.js +9 -0
  439. package/dist/utils/queryKeys.d.ts +4 -1
  440. package/package.json +29 -30
  441. package/dist/client/hooks/index.d.ts +0 -70
  442. package/dist/client/hooks/index.js +0 -70
  443. package/dist/client/services/index.d.ts +0 -4
  444. package/dist/client/services/index.js +0 -4
  445. package/dist/client/utils/index.d.ts +0 -3
  446. package/dist/client/utils/index.js +0 -3
  447. package/dist/components/JackpotCounter/JackpotCounter.client.d.ts +0 -2
  448. package/dist/components/JackpotCounter/JackpotCounter.client.js +0 -66
  449. package/dist/components/JackpotCounter/JackpotCounter.d.ts +0 -17
  450. package/dist/components/JackpotCounter/JackpotCounter.js +0 -21
  451. package/dist/components/JackpotCounter/JackpotCounterItem.d.ts +0 -18
  452. package/dist/components/JackpotCounter/JackpotCounterItem.js +0 -109
  453. package/dist/components/JackpotCounter/JackpotCounterItem.module.css +0 -184
  454. package/dist/components/JackpotCounter/index.d.ts +0 -1
  455. package/dist/components/JackpotCounter/index.js +0 -1
  456. package/dist/components/Jackpots/JackpotDesktop.d.ts +0 -1
  457. package/dist/components/Jackpots/JackpotDesktop.js +0 -45
  458. package/dist/components/Jackpots/JackpotGameProviders.d.ts +0 -5
  459. package/dist/components/Jackpots/JackpotGameProviders.js +0 -41
  460. package/dist/components/Jackpots/JackpotMobile.d.ts +0 -1
  461. package/dist/components/Jackpots/JackpotMobile.js +0 -46
  462. package/dist/components/Jackpots/JackpotRules.d.ts +0 -5
  463. package/dist/components/Jackpots/JackpotRules.js +0 -11
  464. package/dist/components/Jackpots/Jackpots.client.d.ts +0 -2
  465. package/dist/components/Jackpots/Jackpots.client.js +0 -29
  466. package/dist/components/Jackpots/JackpotsContext.d.ts +0 -4
  467. package/dist/components/Jackpots/JackpotsContext.js +0 -3
  468. package/dist/components/Jackpots/useJackpotData.d.ts +0 -14
  469. package/dist/components/Jackpots/useJackpotData.js +0 -92
  470. package/dist/components/PortalProvider/WebVitals.d.ts +0 -1
  471. package/dist/components/PortalProvider/WebVitals.js +0 -8
  472. package/dist/components/TournamentCounter/TournamentCounter.client.d.ts +0 -2
  473. package/dist/components/TournamentCounter/TournamentCounter.client.js +0 -50
  474. package/dist/components/TournamentCounter/TournamentCounter.d.ts +0 -8
  475. package/dist/components/TournamentCounter/TournamentCounter.js +0 -21
  476. package/dist/components/TournamentCounter/TournamentCounterItem.d.ts +0 -8
  477. package/dist/components/TournamentCounter/TournamentCounterItem.js +0 -106
  478. package/dist/components/TournamentCounter/index.d.ts +0 -1
  479. package/dist/components/TournamentCounter/index.js +0 -1
  480. package/dist/components/Tournaments/TournamentDesktop.d.ts +0 -1
  481. package/dist/components/Tournaments/TournamentDesktop.js +0 -57
  482. package/dist/components/Tournaments/TournamentGameProviders.d.ts +0 -5
  483. package/dist/components/Tournaments/TournamentGameProviders.js +0 -38
  484. package/dist/components/Tournaments/TournamentMobile.d.ts +0 -1
  485. package/dist/components/Tournaments/TournamentMobile.js +0 -55
  486. package/dist/components/Tournaments/TournamentRules.d.ts +0 -5
  487. package/dist/components/Tournaments/TournamentRules.js +0 -11
  488. package/dist/components/Tournaments/Tournaments.client.d.ts +0 -2
  489. package/dist/components/Tournaments/Tournaments.client.js +0 -20
  490. package/dist/components/Tournaments/TournamentsContext.d.ts +0 -4
  491. package/dist/components/Tournaments/TournamentsContext.js +0 -3
  492. package/dist/components/Tournaments/useTournamentData.d.ts +0 -10
  493. package/dist/components/Tournaments/useTournamentData.js +0 -71
  494. package/dist/components/index.d.ts +0 -31
  495. package/dist/components/index.js +0 -31
  496. package/dist/icons/index.d.ts +0 -66
  497. package/dist/icons/index.js +0 -66
  498. package/dist/server/services/index.d.ts +0 -4
  499. package/dist/server/services/index.js +0 -4
  500. package/dist/server/utils/index.d.ts +0 -34
  501. package/dist/server/utils/index.js +0 -34
  502. package/dist/services/ObjectId.d.ts +0 -10
  503. package/dist/services/ObjectId.js +0 -72
  504. package/dist/services/index.d.ts +0 -13
  505. package/dist/services/index.js +0 -13
  506. package/dist/ui/index.d.ts +0 -26
  507. package/dist/ui/index.js +0 -26
  508. package/dist/utils/index.d.ts +0 -18
  509. package/dist/utils/index.js +0 -18
@@ -1,3 +1,3 @@
1
- import { BellRingIcon } from '../../icons';
1
+ import { BellRingIcon } from '../../icons/BellRingIcon';
2
2
  import type { MessageIcon } from '../../types';
3
3
  export declare function getMessageIcon(logo: MessageIcon): typeof BellRingIcon;
@@ -1,4 +1,4 @@
1
- import { BellRingIcon } from '../../icons/index.js';
1
+ import { BellRingIcon } from '../../icons/BellRingIcon.js';
2
2
  // TODO: request icon assets for each type of MessageIcon
3
3
  const IMAGES = {
4
4
  BELL: BellRingIcon,
@@ -1,18 +1,21 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { GoogleAnalytics, GoogleTagManager } from '@next/third-parties/google';
3
3
  import { dehydrate, HydrationBoundary } from '@tanstack/react-query';
4
- import { prefetchAccountQuery, prefetchSessionQuery, prefetchWalletQuery, } from '../../server/utils/index.js';
4
+ import { prefetchAccountQuery } from '../../server/utils/prefetchAccountQuery.js';
5
+ import { prefetchPlatformQuery } from '../../server/utils/prefetchPlatformQuery.js';
6
+ import { prefetchSessionQuery } from '../../server/utils/prefetchSessionQuery.js';
7
+ import { prefetchWalletQuery } from '../../server/utils/prefetchWalletQuery.js';
5
8
  import { FacebookPixel, GoogleRecaptcha } from '../../third-parties/index.js';
6
- import { getQueryClient } from '../../utils/index.js';
9
+ import { getQueryClient } from '../../utils/getQueryClient.js';
7
10
  import { Providers } from './Providers.js';
8
11
  import { Snackbar } from './Snackbar.js';
9
- import { WebVitals } from './WebVitals.js';
10
12
  export async function PortalProvider({ children, facebookPixelId, googleAnalyticsId, googleTagManagerId, googleRecaptchaSiteKey, }) {
11
13
  const queryClient = getQueryClient();
12
- await Promise.all([
14
+ await Promise.allSettled([
15
+ prefetchPlatformQuery(),
13
16
  prefetchSessionQuery(),
14
17
  prefetchAccountQuery(),
15
18
  prefetchWalletQuery(),
16
19
  ]);
17
- return (_jsxs(_Fragment, { children: [_jsx(Providers, { children: _jsx(HydrationBoundary, { state: dehydrate(queryClient), children: children }) }), _jsx(Snackbar, {}), _jsx(WebVitals, {}), facebookPixelId && _jsx(FacebookPixel, { fbId: facebookPixelId }), googleAnalyticsId && _jsx(GoogleAnalytics, { gaId: googleAnalyticsId }), googleTagManagerId && _jsx(GoogleTagManager, { gtmId: googleTagManagerId }), googleRecaptchaSiteKey && (_jsx(GoogleRecaptcha, { siteKey: googleRecaptchaSiteKey }))] }));
20
+ return (_jsxs(_Fragment, { children: [_jsx(Providers, { children: _jsx(HydrationBoundary, { state: dehydrate(queryClient), children: children }) }), _jsx(Snackbar, {}), facebookPixelId && _jsx(FacebookPixel, { fbId: facebookPixelId }), googleAnalyticsId && _jsx(GoogleAnalytics, { gaId: googleAnalyticsId }), googleTagManagerId && _jsx(GoogleTagManager, { gtmId: googleTagManagerId }), googleRecaptchaSiteKey && (_jsx(GoogleRecaptcha, { siteKey: googleRecaptchaSiteKey }))] }));
18
21
  }
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { QueryClientProvider } from '@tanstack/react-query';
4
- import { getQueryClient } from '../../utils/index.js';
4
+ import { getQueryClient } from '../../utils/getQueryClient.js';
5
5
  export function Providers({ children }) {
6
6
  const queryClient = getQueryClient();
7
7
  return (_jsx(QueryClientProvider, { client: queryClient, children: children }));
@@ -1,9 +1,10 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Toast, Toaster } from '@ark-ui/react';
3
+ import { Toast, Toaster } from '@ark-ui/react/toast';
4
4
  import { twMerge } from 'tailwind-merge';
5
- import { toaster } from '../../client/utils/index.js';
6
- import { AlertCircleIcon, XIcon } from '../../icons/index.js';
5
+ import { toaster } from '../../client/utils/toaster.js';
6
+ import { AlertCircleIcon } from '../../icons/AlertCircleIcon.js';
7
+ import { XIcon } from '../../icons/XIcon.js';
7
8
  export function Snackbar() {
8
9
  return (_jsx(Toaster, { toaster: toaster, children: (toast) => (_jsxs(Toast.Root, { className: twMerge('group', 'p-xl', 'border', 'border-border-primary', 'bg-bg-primary-alt', 'flex', 'items-start', 'gap-lg', 'w-[21.438rem]', 'lg:w-[1200px]', 'max-w-full', 'rounded-xl', 'shadow-xs', 'h-[var(--height)]', 'z-[var(--z-index)]', 'scale-[var(--scale)]', 'opacity-[var(--opacity)]', '[translate:var(--x)_var(--y)_0]', 'transition-all', 'duration-300'), children: [_jsxs("div", { className: "flex grow flex-col gap-xl lg:flex-row lg:gap-lg", children: [_jsx("div", { className: twMerge('flex', 'items-center', 'justify-center', 'size-9.5', 'border-2', 'rounded-full', toast.type === 'success' && 'border-text-success-primary/15', toast.type === 'warning' && 'border-text-warning-primary/15', toast.type === 'error' && 'border-text-error-primary/15'), children: _jsx("div", { className: twMerge('flex', 'items-center', 'justify-center', 'size-7', 'border-2', 'rounded-full', toast.type === 'success' && 'border-text-success-primary/35', toast.type === 'warning' && 'border-text-warning-primary/35', toast.type === 'error' && 'border-text-error-primary/35'), children: _jsx(AlertCircleIcon, { className: twMerge('size-5', toast.type === 'success' && 'text-text-success-primary', toast.type === 'warning' && 'text-text-warning-primary', toast.type === 'error' && 'text-text-error-primary') }) }) }), _jsxs("div", { className: "grow text-sm leading-none", children: [_jsx(Toast.Title, { className: "text-text-secondary-700 font-semibold", children: toast.title
9
10
  ? toast.title
@@ -1,2 +1,7 @@
1
- import type { PromoProps } from './Promo';
1
+ export interface PromoProps {
2
+ id: string;
3
+ /** @default '/promos' */
4
+ viewAllPromosUrl?: string;
5
+ className?: string;
6
+ }
2
7
  export declare function Promo__client(props: PromoProps): import("react/jsx-runtime").JSX.Element | null;
@@ -5,9 +5,13 @@ import { format } from 'date-fns';
5
5
  import Image from 'next/image';
6
6
  import Link from 'next/link';
7
7
  import { useShallow } from 'zustand/shallow';
8
- import { useAvailablePromosQuery, useGlobalStore, useLocaleInfo, usePromoQuery, } from '../../client/hooks/index.js';
9
- import { ChevronLeftIcon } from '../../icons/index.js';
10
- import { Button, Prose } from '../../ui/index.js';
8
+ import { useAvailablePromosQuery } from '../../client/hooks/useAvailablePromosQuery.js';
9
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
10
+ import { useLocaleInfo } from '../../client/hooks/useLocaleInfo.js';
11
+ import { usePromoQuery } from '../../client/hooks/usePromoQuery.js';
12
+ import { ChevronLeftIcon } from '../../icons/ChevronLeftIcon.js';
13
+ import { Button } from '../../ui/Button/index.js';
14
+ import { Prose } from '../../ui/Prose.js';
11
15
  export function Promo__client(props) {
12
16
  const localeInfo = useLocaleInfo();
13
17
  const availablePromosQuery = useAvailablePromosQuery();
@@ -1,7 +1,3 @@
1
- export interface PromoProps {
2
- id: string;
3
- /** @default '/promos' */
4
- viewAllPromosUrl?: string;
5
- className?: string;
6
- }
1
+ import { type PromoProps } from './Promo.client';
7
2
  export declare function Promo(props: PromoProps): Promise<import("react/jsx-runtime").JSX.Element>;
3
+ export type { PromoProps };
@@ -1,12 +1,17 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { notFound } from 'next/navigation';
3
- import { prefetchPromoQuery } from '../../server/utils/index.js';
4
- import { getPromoQueryKey, getQueryClient } from '../../utils/index.js';
3
+ import { prefetchPromoQuery } from '../../server/utils/prefetchPromoQuery.js';
4
+ import { getPromo } from '../../services/wallet.js';
5
5
  import { Promo__client } from './Promo.client.js';
6
6
  export async function Promo(props) {
7
- await prefetchPromoQuery(props.id);
8
- const promo = getQueryClient().getQueryData(getPromoQueryKey(props.id));
9
- if (!promo)
7
+ const [result] = await Promise.allSettled([
8
+ getPromo(props.id),
9
+ prefetchPromoQuery(props.id),
10
+ ]);
11
+ if (result.status === 'fulfilled' && result.value) {
12
+ return _jsx(Promo__client, { ...props });
13
+ }
14
+ else {
10
15
  return notFound();
11
- return _jsx(Promo__client, { ...props });
16
+ }
12
17
  }
@@ -2,8 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Image from 'next/image';
3
3
  import Link from 'next/link';
4
4
  import { useShallow } from 'zustand/shallow';
5
- import { useAvailablePromosQuery, useGlobalStore } from '../../client/hooks/index.js';
6
- import { Button } from '../../ui/index.js';
5
+ import { useAvailablePromosQuery } from '../../client/hooks/useAvailablePromosQuery.js';
6
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
7
+ import { Button } from '../../ui/Button/index.js';
7
8
  export function Cashback({ data, viewDetailsUrl = '/promos/cashback', }) {
8
9
  const globalStore = useGlobalStore(useShallow((ctx) => ({
9
10
  depositWithdrawal: ctx.depositWithdrawal,
@@ -2,8 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Image from 'next/image';
3
3
  import Link from 'next/link';
4
4
  import { useShallow } from 'zustand/shallow';
5
- import { useAvailablePromosQuery, useGlobalStore } from '../../client/hooks/index.js';
6
- import { Button } from '../../ui/index.js';
5
+ import { useAvailablePromosQuery } from '../../client/hooks/useAvailablePromosQuery.js';
6
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
7
+ import { Button } from '../../ui/Button/index.js';
7
8
  export function Promo({ data, viewDetailsUrl = '/promos' }) {
8
9
  const globalStore = useGlobalStore(useShallow((ctx) => ({
9
10
  depositWithdrawal: ctx.depositWithdrawal,
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { prefetchCashbacksQuery, prefetchPromosQuery, } from '../../server/utils/index.js';
2
+ import { prefetchCashbacksQuery } from '../../server/utils/prefetchCashbacksQuery.js';
3
+ import { prefetchPromosQuery } from '../../server/utils/prefetchPromosQuery.js';
3
4
  import { PromosCarousel } from './PromosCarousel.js';
4
5
  import { PromosGrid } from './PromosGrid.js';
5
6
  export async function Promos(props) {
6
- await Promise.all([prefetchPromosQuery(), prefetchCashbacksQuery()]);
7
+ await Promise.allSettled([prefetchPromosQuery(), prefetchCashbacksQuery()]);
7
8
  if (props.layout === 'grid') {
8
9
  return _jsx(PromosGrid, { ...props });
9
10
  }
@@ -4,9 +4,13 @@ import useEmblaCarousel, {} from 'embla-carousel-react';
4
4
  import Link from 'next/link';
5
5
  import { useCallback, useEffect, useState } from 'react';
6
6
  import { twMerge } from 'tailwind-merge';
7
- import { useCashbacksQuery, usePromosQuery } from '../../client/hooks/index.js';
8
- import { ArrowLeftIcon, ArrowRightIcon, ChevronRightIcon, Gift01Icon, } from '../../icons/index.js';
9
- import { Button } from '../../ui/index.js';
7
+ import { useCashbacksQuery } from '../../client/hooks/useCashbacksQuery.js';
8
+ import { usePromosQuery } from '../../client/hooks/usePromosQuery.js';
9
+ import { ArrowLeftIcon } from '../../icons/ArrowLeftIcon.js';
10
+ import { ArrowRightIcon } from '../../icons/ArrowRightIcon.js';
11
+ import { ChevronRightIcon } from '../../icons/ChevronRightIcon.js';
12
+ import { Gift01Icon } from '../../icons/Gift01Icon.js';
13
+ import { Button } from '../../ui/Button/index.js';
10
14
  import { Empty } from '../Empty.js';
11
15
  import { Cashback } from './Cashback.js';
12
16
  import { Promo } from './Promo.js';
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useCashbacksQuery, usePromosQuery } from '../../client/hooks/index.js';
3
+ import { useCashbacksQuery } from '../../client/hooks/useCashbacksQuery.js';
4
+ import { usePromosQuery } from '../../client/hooks/usePromosQuery.js';
4
5
  import { Cashback } from './Cashback.js';
5
6
  import { Promo } from './Promo.js';
6
7
  export function PromosGrid(props) {
@@ -1,6 +1,5 @@
1
- interface ProtectedProps {
1
+ export interface ProtectedProps {
2
2
  children: React.ReactNode;
3
3
  fallback?: React.ReactNode;
4
4
  }
5
5
  export declare function Protected(props: ProtectedProps): import("react").ReactNode;
6
- export {};
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { useSessionQuery } from '../../client/hooks/index.js';
2
+ import { useSessionQuery } from '../../client/hooks/useSessionQuery.js';
3
3
  export function Protected(props) {
4
4
  const query = useSessionQuery();
5
5
  return query.data?.status === 'authenticated'
@@ -3,11 +3,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { addDays, isEqual, startOfDay } from 'date-fns';
4
4
  import { useState } from 'react';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { useCheckInDailyCheckInQuestMutation } from '../../../client/hooks/index.js';
7
- import { toaster } from '../../../client/utils/index.js';
8
- import { CalendarIcon, CheckIcon, ClockStopWatchIcon, InfoCircleIcon, } from '../../../icons/index.js';
9
- import { Badge, Button } from '../../../ui/index.js';
10
- import { getAvailableQuestsQueryKey, getQueryClient } from '../../../utils/index.js';
6
+ import { useCheckInDailyCheckInQuestMutation } from '../../../client/hooks/useCheckInDailyCheckInQuestMutation.js';
7
+ import { toaster } from '../../../client/utils/toaster.js';
8
+ import { CalendarIcon } from '../../../icons/CalendarIcon.js';
9
+ import { CheckIcon } from '../../../icons/CheckIcon.js';
10
+ import { ClockStopWatchIcon } from '../../../icons/ClockStopWatchIcon.js';
11
+ import { InfoCircleIcon } from '../../../icons/InfoCircleIcon.js';
12
+ import { Badge } from '../../../ui/Badge/index.js';
13
+ import { Button } from '../../../ui/Button/index.js';
14
+ import { getQueryClient } from '../../../utils/getQueryClient.js';
15
+ import { getAvailableQuestsQueryKey } from '../../../utils/queryKeys.js';
11
16
  import CountdownTimer from '../CountdownTimer.js';
12
17
  import { DailyCheckInQuestModal } from './DailyCheckInQuestModal.js';
13
18
  export function DailyCheckInQuest({ quest }) {
@@ -1,8 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Portal } from '@ark-ui/react';
4
- import { XIcon } from '../../../icons/index.js';
5
- import { Button, Dialog } from '../../../ui/index.js';
4
+ import { XIcon } from '../../../icons/XIcon.js';
5
+ import { Button } from '../../../ui/Button/index.js';
6
+ import { Dialog } from '../../../ui/Dialog/index.js';
6
7
  export function DailyCheckInQuestModal(props) {
7
8
  return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: props.modalState.isOpen, onOpenChange: ({ open }) => props.modalState.setIsOpen(open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto max-w-[343px] rounded-xl px-4 pb-0 pt-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("p", { className: "text-text-primary-900 text-lg font-semibold", children: "Daily Check-In Rules" }), _jsxs("ul", { className: "text-text-tertiary-600 group list-disc text-wrap pl-4 text-sm font-normal", children: [_jsx("li", { children: "Earn rewards just for checking in each day!" }), _jsx("li", { children: "Stay consistent to unlock special rewards on the 3rd, 5th, and 7th day." }), _jsx("li", { children: "Missing a day will reset your streak, starting again from Day 1." }), _jsx("li", { children: "Each check-in unlocks the next one on the following day." }), _jsx("li", { children: "Successfully check in for 7 consecutive days to complete the quest and reset the cycle." })] })] }), _jsx("div", { className: "pb-4 pt-6", children: _jsx(Button, { onClick: () => props.modalState.setIsOpen(false), children: "Ok" }) })] }) })] }) }));
8
9
  }
@@ -1,2 +1,6 @@
1
- import type { QuestsProps } from './Quests';
1
+ export interface QuestsProps {
2
+ /** @default "Quests" */
3
+ heading?: string;
4
+ className?: string;
5
+ }
2
6
  export declare function Quests__client(props: QuestsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Image from 'next/image';
4
- import { useAvailableQuestsQuery } from '../../client/hooks/index.js';
5
- import { SpinnerIcon } from '../../icons/index.js';
4
+ import { useAvailableQuestsQuery } from '../../client/hooks/useAvailableQuestsQuery.js';
5
+ import { SpinnerIcon } from '../../icons/SpinnerIcon.js';
6
6
  import closeChest from '../../images/close-chest.png';
7
7
  import { DailyCheckInQuest } from './DailyCheckInQuest/DailyCheckInQuest.js';
8
8
  import { OnboardingQuest } from './OnboardingQuest/OnboardingQuest.js';
@@ -1,6 +1,3 @@
1
- export interface QuestsProps {
2
- /** @default "Quests" */
3
- heading?: string;
4
- className?: string;
5
- }
1
+ import { type QuestsProps } from './Quests.client';
6
2
  export declare function Quests(props: QuestsProps): Promise<import("react/jsx-runtime").JSX.Element>;
3
+ export type { QuestsProps };
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { prefetchAvailableQuestsQuery } from '../../server/utils/index.js';
2
+ import { prefetchAvailableQuestsQuery } from '../../server/utils/prefetchAvailableQuestsQuery.js';
3
3
  import { Quests__client } from './Quests.client.js';
4
4
  export async function Quests(props) {
5
5
  await prefetchAvailableQuestsQuery();
@@ -2,8 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
4
  import { twMerge } from 'tailwind-merge';
5
- import { ClockStopWatchIcon, InfoCircleIcon } from '../../../icons/index.js';
6
- import { Badge } from '../../../ui/index.js';
5
+ import { ClockStopWatchIcon } from '../../../icons/ClockStopWatchIcon.js';
6
+ import { InfoCircleIcon } from '../../../icons/InfoCircleIcon.js';
7
+ import { Badge } from '../../../ui/Badge/index.js';
7
8
  import CountdownTimer from '../CountdownTimer.js';
8
9
  import { WageringQuestModal } from './WageringQuestModal.js';
9
10
  export function WageringQuest({ quest }) {
@@ -1,8 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Portal } from '@ark-ui/react';
4
- import { XIcon } from '../../../icons/index.js';
5
- import { Button, Dialog } from '../../../ui/index.js';
4
+ import { XIcon } from '../../../icons/XIcon.js';
5
+ import { Button } from '../../../ui/Button/index.js';
6
+ import { Dialog } from '../../../ui/Dialog/index.js';
6
7
  export function WageringQuestModal(props) {
7
8
  return (_jsx(Dialog.Root, { lazyMount: true, unmountOnExit: true, open: props.modalState.isOpen, onOpenChange: ({ open }) => props.modalState.setIsOpen(open), closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+1)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+2)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "min-h-auto mx-auto max-w-[343px] rounded-xl px-4 pb-0 pt-5", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "flex flex-col space-y-5", children: [_jsx("p", { className: "text-text-primary-900 text-lg font-semibold", children: props.questName }), _jsxs("ul", { className: "text-text-tertiary-600 group list-disc text-wrap pl-4 text-sm font-normal", children: [_jsx("li", { children: "Earn extra rewards just by playing Slots, every bet counts, win or lose!" }), _jsx("li", { children: "Reach the wagering requirement in bets to complete the quest and claim your reward." })] })] }), _jsx("div", { className: "pb-4 pt-6", children: _jsx(Button, { onClick: () => props.modalState.setIsOpen(false), children: "Ok" }) })] }) })] }) }));
8
9
  }
@@ -1,21 +1,3 @@
1
- import { type ImageProps } from 'next/image';
2
- import type { GameProvider, GameProviderData, GameType } from '../../types';
3
- interface SearchProps {
4
- logo: ImageProps['src'];
5
- gameTypes: GameType[];
6
- gameProviders: GameProvider[];
7
- /**
8
- * @default '/providers/<slug>'
9
- * @example
10
- * ```ts
11
- * '/bingo/:slug' // '/bingo/jili'
12
- * '/bingo/:id' // '/bingo/JILI'
13
- * // or using a function
14
- * ({slug}) => `/bingo/${slug}`
15
- * ```
16
- */
17
- viewGamesUrl?: string | ((gameProvider: GameProviderData) => string);
18
- gameProviderImages?: Partial<Record<GameProvider, ImageProps['src']>>;
19
- }
20
- export declare function Search(props: SearchProps): import("react/jsx-runtime").JSX.Element;
21
- export {};
1
+ import type { SearchProps } from './Search.lazy';
2
+ export declare function Search(props: SearchProps): import("react/jsx-runtime").JSX.Element | undefined;
3
+ export type { SearchProps };
@@ -1,68 +1,14 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Portal } from '@ark-ui/react';
4
- import Image, {} from 'next/image';
5
- import Link from 'next/link';
6
- import { useRef, useState } from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import dynamic from 'next/dynamic';
7
4
  import { useShallow } from 'zustand/shallow';
8
- import { useGamesQuery, useGlobalStore } from '../../client/hooks/index.js';
9
- import { GAME_PROVIDER_DATA } from '../../constants/index.js';
10
- import { SearchLgIcon, XIcon } from '../../icons/index.js';
11
- import { Button, Dialog, Field, IconButton, Presence } from '../../ui/index.js';
12
- import { callIfFn } from '../../utils/index.js';
13
- import { GameLaunchTrigger } from '../GameLaunch/index.js';
5
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
6
+ const Component = dynamic(() => import('./Search.lazy.js').then((m) => m.Search), {
7
+ ssr: false,
8
+ loading: () => null,
9
+ });
14
10
  export function Search(props) {
15
- const globalStore = useGlobalStore(useShallow((ctx) => ({
16
- search: ctx.search,
17
- })));
18
- const inputRef = useRef(null);
19
- const [search, setSearch] = useState('');
20
- const gamesQuery = useGamesQuery({
21
- first: 18,
22
- search,
23
- filter: {
24
- type: {
25
- in: props.gameTypes,
26
- },
27
- provider: {
28
- in: props.gameProviders,
29
- },
30
- },
31
- }, {
32
- enabled: search.length >= 3,
33
- });
34
- const games = gamesQuery.data?.pages
35
- .map((page) => page.edges.map((edge) => edge.node))
36
- .flat() ?? [];
37
- const gameProviders = props.gameProviders
38
- .map((provider) => GAME_PROVIDER_DATA[provider])
39
- .filter((provider) => provider.name
40
- .toLowerCase()
41
- .replace(/\s+/g, '')
42
- .includes(search.toLowerCase().replace(/\s+/g, '')));
43
- const empty = games.length <= 0 && gameProviders.length <= 0;
44
- const viewGamesUrl = (data) => {
45
- return props.viewGamesUrl
46
- ? callIfFn(props.viewGamesUrl, data)
47
- .replace(':id', data.id)
48
- .replace(':slug', data.slug)
49
- : `/providers/${data.slug}`;
50
- };
51
- return (_jsx(Dialog.Root, { open: globalStore.search.open, onOpenChange: (details) => {
52
- globalStore.search.setOpen(details.open);
53
- setSearch('');
54
- }, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: "bg-bg-primary lg:min-h-auto mx-auto min-h-full w-full pt-xl lg:mt-[132px] lg:max-w-[1136px] lg:bg-unset lg:pt-0", children: [_jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex items-center justify-between px-4 lg:hidden", children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 40, className: "h-8 w-auto" }), _jsx(IconButton, { size: "sm", colorScheme: "gray", onClick: () => api.setOpen(false), children: _jsx(XIcon, { className: "text-text-quinary size-6" }) })] })) }), _jsx("div", { className: "flex justify-end", children: _jsx(Dialog.Context, { children: (api) => (_jsx("button", { type: "button", onClick: () => api.setOpen(false), className: "hidden size-9 items-center justify-center rounded-md bg-white/20 lg:flex", children: _jsx(XIcon, { className: "size-5 text-white" }) })) }) }), _jsx("div", { className: "mt-2xl px-4 lg:mt-xl lg:px-0", children: _jsxs("div", { className: "relative", children: [_jsx(SearchLgIcon, { className: "text-text-quinary pointer-events-none absolute left-3.5 top-1/2 size-5 -translate-y-1/2" }), _jsx(Field.Input, { ref: inputRef, type: "search", value: search, onChange: (e) => {
55
- setSearch(e.target.value);
56
- }, className: "pl-10 pr-16", placeholder: "Search", autoComplete: "off" }), _jsx(Presence, { present: search.length > 0, asChild: true, lazyMount: true, children: _jsx("button", { type: "button", className: "text-text-secondary-700 absolute right-3.5 top-1/2 -translate-y-1/2 font-semibold", onClick: () => {
57
- setSearch('');
58
- inputRef.current?.focus();
59
- }, children: "Clear" }) })] }) }), _jsx("div", { className: "lg:bg-bg-primary lg:border-border-primary mt-2xl p-xl pb-3xl lg:mt-2 lg:rounded-xl lg:border", children: search.length <= 0 ? (_jsx(Alert, { message: "Search for your favorite game or provider." })) : search.length >= 1 && search.length <= 2 ? (_jsx(Alert, { message: "Search requires at least 3 characters." })) : (_jsxs(_Fragment, { children: [empty && _jsx(Alert, { message: "No results found" }), !empty && (_jsxs(_Fragment, { children: [gameProviders.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Providers" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: gameProviders.map((provider) => (_jsx(Link, { href: viewGamesUrl(provider), "aria-label": `View ${provider.name} games`, className: "bg-gray-800 flex h-14 w-full items-center rounded-md", onClick: () => {
60
- globalStore.search.setOpen(false);
61
- }, children: _jsx(Image, { src: props.gameProviderImages?.[provider.id] ??
62
- provider.logo, alt: "", width: 100, height: 50, className: "mx-auto h-auto w-full" }) }, provider.id))) })] })), games.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-3xl text-lg font-semibold", children: "Games" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: games.map((game) => (_jsxs(GameLaunchTrigger, { game: game, className: "block w-full shadow-sm", onClick: () => {
63
- globalStore.search.setOpen(false);
64
- }, children: [_jsx(Image, { src: game.image, alt: "", width: 200, height: 200, priority: true, className: "aspect-square w-full rounded-t-md object-cover" }), _jsx("span", { className: "bg-bg-tertiary text-text-primary-brand block w-full truncate rounded-b-md px-2 py-2.5 text-center text-xs font-semibold", children: game.name })] }, game.id))) })] })), _jsx(Presence, { present: gamesQuery.hasNextPage, children: _jsx(Button, { variant: "outline", className: "mx-auto mt-12 w-fit", onClick: () => gamesQuery.fetchNextPage(), children: "Load More" }) })] }))] })) })] }) })] }) }));
65
- }
66
- function Alert({ message }) {
67
- return (_jsxs("div", { className: "py-lg", role: "alert", "aria-live": "polite", children: [_jsx("div", { className: "bg-bg-secondary shadow-xs border-border-primary mx-auto flex size-12 items-center justify-center rounded-lg border", children: _jsx(SearchLgIcon, { className: "text-text-secondary-700 size-6" }) }), _jsx("p", { className: "text-text-secondary-700 mt-4 text-center", children: message })] }));
11
+ const touched = useGlobalStore(useShallow((ctx) => ctx.search['~touched']));
12
+ if (touched)
13
+ return _jsx(Component, { ...props });
68
14
  }
@@ -0,0 +1,20 @@
1
+ import { type ImageProps } from 'next/image';
2
+ import type { GameProvider, GameProviderData, GameType } from '../../types';
3
+ export interface SearchProps {
4
+ logo: ImageProps['src'];
5
+ gameTypes: GameType[];
6
+ gameProviders: GameProvider[];
7
+ /**
8
+ * @default '/providers/<slug>'
9
+ * @example
10
+ * ```ts
11
+ * '/bingo/:slug' // '/bingo/jili'
12
+ * '/bingo/:id' // '/bingo/JILI'
13
+ * // or using a function
14
+ * ({slug}) => `/bingo/${slug}`
15
+ * ```
16
+ */
17
+ viewGamesUrl?: string | ((gameProvider: GameProviderData) => string);
18
+ gameProviderImages?: Partial<Record<GameProvider, ImageProps['src']>>;
19
+ }
20
+ export declare function Search(props: SearchProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,78 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Portal } from '@ark-ui/react';
4
+ import Image, {} from 'next/image';
5
+ import Link from 'next/link';
6
+ import { useRef, useState } from 'react';
7
+ import { useShallow } from 'zustand/shallow';
8
+ import { useGamesQuery } from '../../client/hooks/useGamesQuery.js';
9
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
10
+ import { GAME_PROVIDER_DATA } from '../../constants/index.js';
11
+ import { SearchLgIcon } from '../../icons/SearchLgIcon.js';
12
+ import { XIcon } from '../../icons/XIcon.js';
13
+ import { Button } from '../../ui/Button/index.js';
14
+ import { Dialog } from '../../ui/Dialog/index.js';
15
+ import { Field } from '../../ui/Field/index.js';
16
+ import { IconButton } from '../../ui/IconButton/index.js';
17
+ import { Presence } from '../../ui/Presence.js';
18
+ import { callIfFn } from '../../utils/callIfFn.js';
19
+ import { getGameImageUrl } from '../../utils/getGameImageUrl.js';
20
+ import { GameLaunchTrigger } from '../GameLaunch/index.js';
21
+ export function Search(props) {
22
+ const globalStore = useGlobalStore(useShallow((ctx) => ({
23
+ search: ctx.search,
24
+ })));
25
+ const inputRef = useRef(null);
26
+ const [search, setSearch] = useState('');
27
+ const gamesQuery = useGamesQuery({
28
+ first: 18,
29
+ search,
30
+ filter: {
31
+ type: {
32
+ in: props.gameTypes,
33
+ },
34
+ provider: {
35
+ in: props.gameProviders,
36
+ },
37
+ },
38
+ }, {
39
+ enabled: search.length >= 3,
40
+ });
41
+ const games = gamesQuery.data?.pages
42
+ .map((page) => page.edges.map((edge) => edge.node))
43
+ .flat() ?? [];
44
+ const gameProviders = props.gameProviders
45
+ .map((provider) => GAME_PROVIDER_DATA[provider])
46
+ .filter((provider) => provider.name
47
+ .toLowerCase()
48
+ .replace(/\s+/g, '')
49
+ .includes(search.toLowerCase().replace(/\s+/g, '')));
50
+ const empty = games.length <= 0 && gameProviders.length <= 0;
51
+ const viewGamesUrl = (data) => {
52
+ return props.viewGamesUrl
53
+ ? callIfFn(props.viewGamesUrl, data)
54
+ .replace(':id', data.id)
55
+ .replace(':slug', data.slug)
56
+ : `/providers/${data.slug}`;
57
+ };
58
+ return (_jsx(Dialog.Root, { open: globalStore.search.open, onOpenChange: (details) => {
59
+ globalStore.search.setOpen(details.open);
60
+ setSearch('');
61
+ }, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { children: _jsxs(Dialog.Content, { className: "bg-bg-primary lg:min-h-auto mx-auto min-h-full w-full pt-xl lg:mt-[132px] lg:max-w-[1136px] lg:bg-unset lg:pt-0", children: [_jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "flex items-center justify-between px-4 lg:hidden", children: [_jsx(Image, { src: props.logo, alt: "", width: 200, height: 40, className: "h-8 w-auto" }), _jsx(IconButton, { size: "sm", colorScheme: "gray", onClick: () => api.setOpen(false), children: _jsx(XIcon, { className: "text-text-quinary size-6" }) })] })) }), _jsx("div", { className: "flex justify-end", children: _jsx(Dialog.Context, { children: (api) => (_jsx("button", { type: "button", onClick: () => api.setOpen(false), className: "hidden size-9 items-center justify-center rounded-md bg-white/20 lg:flex", children: _jsx(XIcon, { className: "size-5 text-white" }) })) }) }), _jsx("div", { className: "mt-2xl px-4 lg:mt-xl lg:px-0", children: _jsxs("div", { className: "relative", children: [_jsx(SearchLgIcon, { className: "text-text-quinary pointer-events-none absolute left-3.5 top-1/2 size-5 -translate-y-1/2" }), _jsx(Field.Input, { ref: inputRef, type: "search", value: search, onChange: (e) => {
62
+ setSearch(e.target.value);
63
+ }, className: "pl-10 pr-16", placeholder: "Search", autoComplete: "off" }), _jsx(Presence, { present: search.length > 0, asChild: true, lazyMount: true, children: _jsx("button", { type: "button", className: "text-text-secondary-700 absolute right-3.5 top-1/2 -translate-y-1/2 font-semibold", onClick: () => {
64
+ setSearch('');
65
+ inputRef.current?.focus();
66
+ }, children: "Clear" }) })] }) }), _jsx("div", { className: "lg:bg-bg-primary lg:border-border-primary mt-2xl p-xl pb-3xl lg:mt-2 lg:rounded-xl lg:border", children: search.length <= 0 ? (_jsx(Alert, { message: "Search for your favorite game or provider." })) : search.length >= 1 && search.length <= 2 ? (_jsx(Alert, { message: "Search requires at least 3 characters." })) : (_jsxs(_Fragment, { children: [empty && _jsx(Alert, { message: "No results found" }), !empty && (_jsxs(_Fragment, { children: [gameProviders.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "text-lg font-semibold", children: "Providers" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: gameProviders.map((provider) => (_jsx(Link, { href: viewGamesUrl(provider), "aria-label": `View ${provider.name} games`, className: "bg-gray-800 flex h-14 w-full items-center rounded-md", onClick: () => {
67
+ globalStore.search.setOpen(false);
68
+ }, children: _jsx(Image, { src: props.gameProviderImages?.[provider.id] ??
69
+ provider.logo, alt: "", width: 100, height: 50, className: "mx-auto h-auto w-full" }) }, provider.id))) })] })), games.length > 0 && (_jsxs(_Fragment, { children: [_jsx("h2", { className: "mt-3xl text-lg font-semibold", children: "Games" }), _jsx("div", { className: "mt-3.5 grid grid-cols-3 gap-1.5 lg:grid-cols-9 lg:gap-3.5", children: games.map((game) => (_jsxs(GameLaunchTrigger, { game: game, className: "block w-full shadow-sm", onClick: () => {
70
+ globalStore.search.setOpen(false);
71
+ }, children: [_jsx(Image, { src: getGameImageUrl({
72
+ reference: game.reference,
73
+ provider: game.provider,
74
+ }), alt: "", width: 200, height: 200, priority: true, className: "aspect-square w-full rounded-t-md object-cover" }), _jsx("span", { className: "bg-bg-tertiary text-text-primary-brand block w-full truncate rounded-b-md px-2 py-2.5 text-center text-xs font-semibold", children: game.name })] }, game.id))) })] })), _jsx(Presence, { present: gamesQuery.hasNextPage, children: _jsx(Button, { variant: "outline", className: "mx-auto mt-12 w-fit", onClick: () => gamesQuery.fetchNextPage(), children: "Load More" }) })] }))] })) })] }) })] }) }));
75
+ }
76
+ function Alert({ message }) {
77
+ return (_jsxs("div", { className: "py-lg", role: "alert", "aria-live": "polite", children: [_jsx("div", { className: "bg-bg-secondary shadow-xs border-border-primary mx-auto flex size-12 items-center justify-center rounded-lg border", children: _jsx(SearchLgIcon, { className: "text-text-secondary-700 size-6" }) }), _jsx("p", { className: "text-text-secondary-700 mt-4 text-center", children: message })] }));
78
+ }
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { ark } from '@ark-ui/react';
4
4
  import { useShallow } from 'zustand/shallow';
5
- import { useGlobalStore } from '../../client/hooks/index.js';
5
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
6
6
  export function SearchTrigger(props) {
7
7
  const globalStore = useGlobalStore(useShallow((ctx) => ({
8
8
  search: ctx.search,
@@ -5,15 +5,26 @@ import { useRef } from 'react';
5
5
  import { Controller, useForm } from 'react-hook-form';
6
6
  import { z } from 'zod';
7
7
  import { useShallow } from 'zustand/shallow';
8
- import { useCooldown, useGlobalStore, useLocaleInfo, useMobileNumberParser, useSendVerificationCodeMutation, useSignInMutation, } from '../../client/hooks/index.js';
9
- import { toaster } from '../../client/utils/index.js';
10
- import { ArrowLeftIcon, CheckIcon, FacebookIcon, GoogleIcon, } from '../../icons/index.js';
11
- import { Button, Checkbox, Field, PinInput } from '../../ui/index.js';
8
+ import { useCooldown } from '../../client/hooks/useCooldown.js';
9
+ import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
10
+ import { useLocaleInfo } from '../../client/hooks/useLocaleInfo.js';
11
+ import { useMobileNumberParser } from '../../client/hooks/useMobileNumberParser.js';
12
+ import { useSendVerificationCodeMutation } from '../../client/hooks/useSendVerificationCodeMutation.js';
13
+ import { useSignInMutation } from '../../client/hooks/useSignInMutation.js';
14
+ import { toaster } from '../../client/utils/toaster.js';
15
+ import { ArrowLeftIcon } from '../../icons/ArrowLeftIcon.js';
16
+ import { CheckIcon } from '../../icons/CheckIcon.js';
17
+ import { FacebookIcon } from '../../icons/FacebookIcon.js';
18
+ import { GoogleIcon } from '../../icons/GoogleIcon.js';
19
+ import { Button } from '../../ui/Button/index.js';
20
+ import { Checkbox } from '../../ui/Checkbox/index.js';
21
+ import { Field } from '../../ui/Field/index.js';
22
+ import { PinInput } from '../../ui/PinInput/index.js';
12
23
  import { useSignInContext } from './SignInContext.js';
13
24
  export function MobileNumberSignIn() {
14
25
  const context = useSignInContext();
15
26
  const dialog = useDialogContext();
16
- const signUpStore = useGlobalStore(useShallow((popups) => popups.signUp));
27
+ const signUpStore = useGlobalStore(useShallow((ctx) => ctx.signUp));
17
28
  const signInMutation = useSignInMutation();
18
29
  const sendVerificationCodeMutation = useSendVerificationCodeMutation();
19
30
  const localeInfo = useLocaleInfo();