@opexa/portal-components 0.0.83 β†’ 0.0.85

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 (292) hide show
  1. package/dist/client/hooks/useAccountQuery.d.ts +1 -2
  2. package/dist/client/hooks/useAccountQuery.js +3 -10
  3. package/dist/client/hooks/useAuthenticateMutation.d.ts +1 -1
  4. package/dist/client/hooks/useAvailablePromosQuery.d.ts +2 -2
  5. package/dist/client/hooks/useAvailablePromosQuery.js +3 -10
  6. package/dist/client/hooks/useAvailableQuestsQuery.d.ts +1 -2
  7. package/dist/client/hooks/useAvailableQuestsQuery.js +3 -10
  8. package/dist/client/hooks/useBetRecordsQuery.d.ts +2 -2
  9. package/dist/client/hooks/useBetRecordsQuery.js +3 -10
  10. package/dist/client/hooks/useBonusQuery.d.ts +1 -2
  11. package/dist/client/hooks/useBonusQuery.js +5 -14
  12. package/dist/client/hooks/useBonusesQuery.d.ts +1 -2
  13. package/dist/client/hooks/useBonusesQuery.js +3 -10
  14. package/dist/client/hooks/useCashbackBonusQuery.d.ts +1 -2
  15. package/dist/client/hooks/useCashbackBonusQuery.js +3 -10
  16. package/dist/client/hooks/useCashbackBonusesQuery.d.ts +1 -2
  17. package/dist/client/hooks/useCashbackBonusesQuery.js +3 -10
  18. package/dist/client/hooks/useCashbackQuery.d.ts +1 -2
  19. package/dist/client/hooks/useCashbackQuery.js +3 -12
  20. package/dist/client/hooks/useCashbacksQuery.d.ts +1 -2
  21. package/dist/client/hooks/useCashbacksQuery.js +2 -9
  22. package/dist/client/hooks/useCheckInDailyCheckInQuestMutation.js +4 -11
  23. package/dist/client/hooks/useClaimCashbackBonusMutation.js +3 -9
  24. package/dist/client/hooks/useClaimSpotBonusMutation.js +3 -9
  25. package/dist/client/hooks/useCreateGCashDepositMutation.d.ts +2 -2
  26. package/dist/client/hooks/useCreateGCashDepositMutation.js +5 -16
  27. package/dist/client/hooks/useCreateGCashWithdrawalMutation.d.ts +1 -1
  28. package/dist/client/hooks/useCreateGCashWithdrawalMutation.js +4 -11
  29. package/dist/client/hooks/useCreateGameSessionMutation.d.ts +1 -2
  30. package/dist/client/hooks/useCreateGameSessionMutation.js +7 -25
  31. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.d.ts +1 -1
  32. package/dist/client/hooks/useCreateInstapayWithdrawalMutation.js +4 -11
  33. package/dist/client/hooks/useCreateMayaAppDepositMutation.d.ts +2 -2
  34. package/dist/client/hooks/useCreateMayaAppDepositMutation.js +5 -16
  35. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.d.ts +1 -1
  36. package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.js +4 -11
  37. package/dist/client/hooks/useCreateMayaDepositMutation.d.ts +2 -2
  38. package/dist/client/hooks/useCreateMayaDepositMutation.js +5 -16
  39. package/dist/client/hooks/useCreateMayaWithdrawalMutation.d.ts +1 -1
  40. package/dist/client/hooks/useCreateMayaWithdrawalMutation.js +4 -11
  41. package/dist/client/hooks/useCreateOnlineBankDepositMutation.d.ts +2 -2
  42. package/dist/client/hooks/useCreateOnlineBankDepositMutation.js +5 -16
  43. package/dist/client/hooks/useCreateQRPHDepositMutation.d.ts +3 -3
  44. package/dist/client/hooks/useCreateQRPHDepositMutation.js +5 -16
  45. package/dist/client/hooks/useDepositQuery.d.ts +1 -2
  46. package/dist/client/hooks/useDepositQuery.js +5 -11
  47. package/dist/client/hooks/useDepositRecordsQuery.d.ts +2 -2
  48. package/dist/client/hooks/useDepositRecordsQuery.js +3 -10
  49. package/dist/client/hooks/useDepositsCountQuery.js +5 -11
  50. package/dist/client/hooks/useEndGameSessionMutation.d.ts +1 -2
  51. package/dist/client/hooks/useEndGameSessionMutation.js +4 -12
  52. package/dist/client/hooks/useFavoriteGamesQuery.d.ts +1 -2
  53. package/dist/client/hooks/useFavoriteGamesQuery.js +5 -11
  54. package/dist/client/hooks/useGamesQuery.d.ts +2 -2
  55. package/dist/client/hooks/useGamesQuery.js +1 -7
  56. package/dist/client/hooks/useGlobalStore.d.ts +1 -1
  57. package/dist/client/hooks/useInfiniteQueryHelper.d.ts +1 -2
  58. package/dist/client/hooks/useInstapayBankListQuery.d.ts +1 -2
  59. package/dist/client/hooks/useInstapayBankListQuery.js +5 -11
  60. package/dist/client/hooks/useIsMayaSessionValidQuery.js +3 -10
  61. package/dist/client/hooks/useJackpotPayoutsQuery.d.ts +2 -2
  62. package/dist/client/hooks/useJackpotPayoutsQuery.js +2 -9
  63. package/dist/client/hooks/useJackpotsQuery.d.ts +2 -2
  64. package/dist/client/hooks/useJackpotsQuery.js +2 -9
  65. package/dist/client/hooks/useMarkGameAsFavoriteMutation.js +3 -9
  66. package/dist/client/hooks/useMarkMessageAsReadMutation.js +3 -9
  67. package/dist/client/hooks/useMemberVerificationQuery.d.ts +1 -2
  68. package/dist/client/hooks/useMemberVerificationQuery.js +3 -10
  69. package/dist/client/hooks/useMessagesQuery.d.ts +2 -2
  70. package/dist/client/hooks/useMessagesQuery.js +3 -10
  71. package/dist/client/hooks/usePaymentSettingsQuery.d.ts +1 -2
  72. package/dist/client/hooks/usePaymentSettingsQuery.js +3 -10
  73. package/dist/client/hooks/usePlatformQuery.d.ts +1 -2
  74. package/dist/client/hooks/usePlatformQuery.js +3 -8
  75. package/dist/client/hooks/useProfileCompletionQuery.d.ts +1 -2
  76. package/dist/client/hooks/useProfileCompletionQuery.js +3 -10
  77. package/dist/client/hooks/usePromoQuery.d.ts +1 -2
  78. package/dist/client/hooks/usePromoQuery.js +3 -12
  79. package/dist/client/hooks/usePromosQuery.d.ts +1 -2
  80. package/dist/client/hooks/usePromosQuery.js +2 -9
  81. package/dist/client/hooks/useSendVerificationCodeMutation.d.ts +1 -1
  82. package/dist/client/hooks/useSendVerificationCodeMutation.js +2 -8
  83. package/dist/client/hooks/useSessionQuery.js +2 -2
  84. package/dist/client/hooks/useSignInMutation.d.ts +1 -2
  85. package/dist/client/hooks/useSignUpMutation.d.ts +1 -1
  86. package/dist/client/hooks/useSignUpMutation.js +2 -11
  87. package/dist/client/hooks/useTopWinsQuery.d.ts +1 -2
  88. package/dist/client/hooks/useTopWinsQuery.js +3 -9
  89. package/dist/client/hooks/useTournamentsQuery.d.ts +2 -2
  90. package/dist/client/hooks/useTournamentsQuery.js +2 -9
  91. package/dist/client/hooks/useTransactionRecordsQuery.d.ts +2 -2
  92. package/dist/client/hooks/useTransactionRecordsQuery.js +3 -10
  93. package/dist/client/hooks/useUnmarkGameAsFavoriteMutation.js +3 -9
  94. package/dist/client/hooks/useUnreadMessagesCountQuery.d.ts +1 -1
  95. package/dist/client/hooks/useUnreadMessagesCountQuery.js +3 -10
  96. package/dist/client/hooks/useUpdateAccountMutation.d.ts +1 -1
  97. package/dist/client/hooks/useUpdateAccountMutation.js +3 -9
  98. package/dist/client/hooks/useWalletQuery.d.ts +1 -2
  99. package/dist/client/hooks/useWalletQuery.js +5 -11
  100. package/dist/client/hooks/useWithdrawalRecordsQuery.d.ts +2 -2
  101. package/dist/client/hooks/useWithdrawalRecordsQuery.js +3 -10
  102. package/dist/client/services/authenticate.d.ts +3 -2
  103. package/dist/client/services/authenticate.js +5 -12
  104. package/dist/client/services/getSession.d.ts +2 -1
  105. package/dist/client/services/getSession.js +4 -11
  106. package/dist/client/services/signIn.d.ts +4 -2
  107. package/dist/client/services/signIn.js +6 -13
  108. package/dist/client/services/signOut.d.ts +2 -1
  109. package/dist/client/services/signOut.js +15 -13
  110. package/dist/components/AccountSecurity/AccountSecurity.js +2 -25
  111. package/dist/components/BetRecords/BetRecords.d.ts +1 -1
  112. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  113. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  114. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
  115. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
  116. package/dist/components/GameLaunch/GameLaunchTrigger.d.ts +1 -1
  117. package/dist/components/GameProviders/GameProvidersCarousel.d.ts +1 -2
  118. package/dist/components/GameProviders/GameProvidersList.d.ts +1 -2
  119. package/dist/components/Games/GamesCarousel.d.ts +1 -1
  120. package/dist/components/Games/GamesContext.d.ts +1 -1
  121. package/dist/components/Games/GamesList.d.ts +1 -1
  122. package/dist/components/GamesSearch/GamesSearch.d.ts +1 -1
  123. package/dist/components/JackpotCounter/JackpotCounterItem.d.ts +1 -1
  124. package/dist/components/JackpotCounter/JackpotCounterItem.module.css +184 -184
  125. package/dist/components/Jackpots/Jackpots.d.ts +1 -1
  126. package/dist/components/Jackpots/JackpotsContext.d.ts +1 -1
  127. package/dist/components/Jackpots/useJackpotData.d.ts +2 -2
  128. package/dist/components/Jackpots/useJackpotData.js +0 -1
  129. package/dist/components/Messages/Message.d.ts +4 -0
  130. package/dist/components/Messages/{MessageItem.js β†’ Message.js} +2 -2
  131. package/dist/components/Messages/MessageTrigger.d.ts +1 -1
  132. package/dist/components/Messages/Messages.js +2 -2
  133. package/dist/components/Messages/utils.d.ts +1 -1
  134. package/dist/components/Promos/Cashback.d.ts +1 -1
  135. package/dist/components/Promos/Promo.d.ts +1 -1
  136. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +1 -1
  137. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +1 -1
  138. package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +1 -1
  139. package/dist/components/Search/Search.d.ts +1 -2
  140. package/dist/components/SignUp/SignUpForm.js +1 -1
  141. package/dist/components/TournamentCounter/TournamentCounterItem.d.ts +1 -1
  142. package/dist/components/Tournaments/Tournaments.d.ts +1 -1
  143. package/dist/components/Tournaments/TournamentsContext.d.ts +1 -1
  144. package/dist/components/Tournaments/useTournamentData.js +0 -1
  145. package/dist/components/TransactionRecords/DepositRecordsTable.js +0 -1
  146. package/dist/components/TransactionRecords/TableFilters.d.ts +1 -2
  147. package/dist/constants/endpoints.d.ts +10 -0
  148. package/dist/constants/endpoints.js +41 -0
  149. package/dist/constants/gameProviders.d.ts +1 -2
  150. package/dist/constants/gameTypes.d.ts +1 -2
  151. package/dist/constants/headerKeys.d.ts +1 -0
  152. package/dist/constants/headerKeys.js +1 -0
  153. package/dist/constants/index.d.ts +1 -0
  154. package/dist/constants/index.js +1 -0
  155. package/dist/constants/secretQuestions.d.ts +1 -1
  156. package/dist/handlers.js +2 -12
  157. package/dist/middleware.d.ts +1 -1
  158. package/dist/middleware.js +2 -3
  159. package/dist/server/services/authenticate.d.ts +1 -1
  160. package/dist/server/services/authenticate.js +3 -8
  161. package/dist/server/services/signIn.d.ts +2 -1
  162. package/dist/server/services/signIn.js +3 -8
  163. package/dist/server/services/signOut.js +2 -3
  164. package/dist/server/utils/prefetchAccountQuery.js +1 -4
  165. package/dist/server/utils/prefetchAvailablePromosQuery.d.ts +1 -1
  166. package/dist/server/utils/prefetchAvailablePromosQuery.js +1 -4
  167. package/dist/server/utils/prefetchAvailableQuestsQuery.js +1 -4
  168. package/dist/server/utils/prefetchBetRecordsQuery.d.ts +1 -1
  169. package/dist/server/utils/prefetchBetRecordsQuery.js +1 -4
  170. package/dist/server/utils/prefetchBonusQuery.js +3 -8
  171. package/dist/server/utils/prefetchBonusesQuery.js +1 -4
  172. package/dist/server/utils/prefetchCashbackBonusQuery.js +1 -4
  173. package/dist/server/utils/prefetchCashbackBonusesQuery.js +1 -4
  174. package/dist/server/utils/prefetchCashbackQuery.js +3 -12
  175. package/dist/server/utils/prefetchCashbacksQuery.js +1 -6
  176. package/dist/server/utils/prefetchDepositQuery.js +3 -5
  177. package/dist/server/utils/prefetchDepositRecordsQuery.d.ts +1 -1
  178. package/dist/server/utils/prefetchDepositRecordsQuery.js +1 -4
  179. package/dist/server/utils/prefetchDepositsCountQuery.js +3 -5
  180. package/dist/server/utils/prefetchFavoriteGamesQuery.js +3 -5
  181. package/dist/server/utils/prefetchGamesQuery.d.ts +1 -1
  182. package/dist/server/utils/prefetchGamesQuery.js +2 -10
  183. package/dist/server/utils/prefetchInstapayBankListQuery.js +3 -5
  184. package/dist/server/utils/prefetchIsMayaSessionValidQuery.js +1 -4
  185. package/dist/server/utils/prefetchJackpotsQuery.d.ts +1 -1
  186. package/dist/server/utils/prefetchJackpotsQuery.js +2 -9
  187. package/dist/server/utils/prefetchMemberVerificationQuery.js +1 -4
  188. package/dist/server/utils/prefetchPaymentSettingsQuery.js +1 -4
  189. package/dist/server/utils/prefetchPlatformQuery.js +2 -9
  190. package/dist/server/utils/prefetchProfileCompletionQuery.js +1 -4
  191. package/dist/server/utils/prefetchPromoQuery.js +3 -12
  192. package/dist/server/utils/prefetchPromosQuery.js +2 -9
  193. package/dist/server/utils/prefetchTopWinsQuery.js +2 -9
  194. package/dist/server/utils/prefetchTournamentsQuery.d.ts +1 -1
  195. package/dist/server/utils/prefetchTournamentsQuery.js +2 -9
  196. package/dist/server/utils/prefetchTransactionRecordsQuery.d.ts +1 -1
  197. package/dist/server/utils/prefetchTransactionRecordsQuery.js +1 -4
  198. package/dist/server/utils/prefetchUnreadMessagesCountQuery.d.ts +1 -1
  199. package/dist/server/utils/prefetchUnreadMessagesCountQuery.js +1 -4
  200. package/dist/server/utils/prefetchWalletQuery.js +3 -5
  201. package/dist/server/utils/prefetchWithdrawalRecordsQuery.d.ts +1 -1
  202. package/dist/server/utils/prefetchWithdrawalRecordsQuery.js +1 -4
  203. package/dist/services/ObjectId.d.ts +24 -0
  204. package/dist/services/ObjectId.js +86 -0
  205. package/dist/services/account.service.d.ts +341 -0
  206. package/dist/services/account.service.js +233 -0
  207. package/dist/services/auth.service.d.ts +80 -0
  208. package/dist/services/auth.service.js +152 -0
  209. package/dist/services/cmsPortal.service.d.ts +43 -0
  210. package/dist/services/cmsPortal.service.js +148 -0
  211. package/dist/services/file.service.d.ts +33 -0
  212. package/dist/services/file.service.js +18 -0
  213. package/dist/services/game.service.d.ts +44 -0
  214. package/dist/services/game.service.js +33 -0
  215. package/dist/services/graphqlRequest.d.ts +4 -0
  216. package/dist/services/graphqlRequest.js +255 -0
  217. package/dist/services/httpRequest.d.ts +23 -0
  218. package/dist/services/httpRequest.js +93 -0
  219. package/dist/services/index.d.ts +12 -0
  220. package/dist/services/index.js +12 -0
  221. package/dist/services/portal.service.d.ts +37 -0
  222. package/dist/services/portal.service.js +44 -0
  223. package/dist/services/queries.d.ts +115 -0
  224. package/dist/services/queries.js +2319 -0
  225. package/dist/services/report.service.d.ts +203 -0
  226. package/dist/services/report.service.js +64 -0
  227. package/dist/services/sha256.d.ts +4 -0
  228. package/dist/services/sha256.js +16 -0
  229. package/dist/services/trigger.service.d.ts +88 -0
  230. package/dist/services/trigger.service.js +84 -0
  231. package/dist/services/wallet.service.d.ts +463 -0
  232. package/dist/services/wallet.service.js +357 -0
  233. package/dist/styles/theme.css +697 -697
  234. package/dist/types/index.d.ts +752 -6
  235. package/dist/ui/AlertDialog/AlertDialog.d.ts +88 -88
  236. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +8 -8
  237. package/dist/ui/Badge/Badge.d.ts +12 -12
  238. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  239. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  240. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  241. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  242. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  243. package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
  244. package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
  245. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  246. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  247. package/dist/ui/DatePicker/DatePicker.d.ts +264 -264
  248. package/dist/ui/DatePicker/datePicker.recipe.d.ts +11 -11
  249. package/dist/ui/Dialog/Dialog.d.ts +88 -88
  250. package/dist/ui/Dialog/dialog.recipe.d.ts +8 -8
  251. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  252. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  253. package/dist/ui/Popover/Popover.d.ts +55 -55
  254. package/dist/ui/Popover/popover.recipe.d.ts +5 -5
  255. package/dist/ui/Progress/Progress.d.ts +27 -27
  256. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  257. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  258. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  259. package/dist/ui/Select/Select.d.ts +45 -45
  260. package/dist/ui/Select/select.recipe.d.ts +3 -3
  261. package/dist/ui/Table/Table.d.ts +21 -21
  262. package/dist/ui/Table/table.recipe.d.ts +3 -3
  263. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  264. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  265. package/dist/utils/getGameImageUrl.d.ts +1 -1
  266. package/dist/utils/getGameImageUrl.js +3 -5
  267. package/dist/utils/getGameProviderData.d.ts +1 -2
  268. package/dist/utils/getGameTypeData.d.ts +1 -2
  269. package/dist/utils/graphqlRequest.d.ts +4 -0
  270. package/dist/utils/graphqlRequest.js +255 -0
  271. package/dist/utils/httpRequest.d.ts +6 -0
  272. package/dist/utils/httpRequest.js +87 -0
  273. package/dist/utils/queryKeys.d.ts +1 -1
  274. package/dist/utils/sha256.d.ts +4 -0
  275. package/dist/utils/sha256.js +16 -0
  276. package/package.json +166 -160
  277. package/dist/components/Games/GameContext.d.ts +0 -2
  278. package/dist/components/Games/GameContext.js +0 -2
  279. package/dist/components/Jackpots/JackpotItemDesktop.d.ts +0 -9
  280. package/dist/components/Jackpots/JackpotItemDesktop.js +0 -43
  281. package/dist/components/Jackpots/JackpotItemMobile.d.ts +0 -9
  282. package/dist/components/Jackpots/JackpotItemMobile.js +0 -44
  283. package/dist/components/Jackpots/useJackpotItemData.d.ts +0 -20
  284. package/dist/components/Jackpots/useJackpotItemData.js +0 -87
  285. package/dist/components/Messages/MessageItem.d.ts +0 -4
  286. package/dist/components/Tournaments/TournamentItemDesktop.d.ts +0 -7
  287. package/dist/components/Tournaments/TournamentItemDesktop.js +0 -56
  288. package/dist/components/Tournaments/TournamentItemMobile.d.ts +0 -7
  289. package/dist/components/Tournaments/TournamentItemMobile.js +0 -54
  290. package/dist/components/Tournaments/useTournamentItemData.d.ts +0 -16
  291. package/dist/components/Tournaments/useTournamentItemData.js +0 -64
  292. package/dist/images/hacksaw-gaming.png +0 -0
package/package.json CHANGED
@@ -1,160 +1,166 @@
1
- {
2
- "name": "@opexa/portal-components",
3
- "version": "0.0.83",
4
- "exports": {
5
- ".": {
6
- "types": "./dist/components/index.d.ts",
7
- "default": "./dist/components/index.js"
8
- },
9
- "./ui": {
10
- "types": "./dist/ui/index.d.ts",
11
- "default": "./dist/ui/index.js"
12
- },
13
- "./utils": {
14
- "types": "./dist/utils/index.d.ts",
15
- "import": "./dist/utils/index.js"
16
- },
17
- "./types": {
18
- "types": "./dist/types/index.d.ts",
19
- "import": "./dist/types/index.js"
20
- },
21
- "./handlers": {
22
- "types": "./dist/handlers.d.ts",
23
- "default": "./dist/handlers.js"
24
- },
25
- "./middleware": {
26
- "types": "./dist/middleware.d.ts",
27
- "default": "./dist/middleware.js"
28
- },
29
- "./constants": {
30
- "types": "./dist/constants/index.d.ts",
31
- "default": "./dist/constants/index.js"
32
- },
33
- "./client-utils": {
34
- "types": "./dist/client/utils/index.d.ts",
35
- "default": "./dist/client/utils/index.js"
36
- },
37
- "./client-hooks": {
38
- "types": "./dist/client/hooks/index.d.ts",
39
- "default": "./dist/client/hooks/index.js"
40
- },
41
- "./client-services": {
42
- "types": "./dist/client/services/index.d.ts",
43
- "default": "./dist/client/services/index.js"
44
- },
45
- "./server-utils": {
46
- "types": "./dist/server/utils/index.d.ts",
47
- "default": "./dist/server/utils/index.js"
48
- },
49
- "./server-services": {
50
- "types": "./dist/server/services/index.d.ts",
51
- "default": "./dist/server/services/index.js"
52
- },
53
- "./next.config": {
54
- "types": "./dist/next.config.d.ts",
55
- "default": "./dist/next.config.js"
56
- },
57
- "./theme.css": "./dist/styles/theme.css",
58
- "./package.json": "./package.json"
59
- },
60
- "files": [
61
- "dist",
62
- "!dist/tsconfig.tsbuildinfo",
63
- "!dist/tsconfig.build.tsbuildinfo"
64
- ],
65
- "publishConfig": {
66
- "access": "public"
67
- },
68
- "scripts": {
69
- "dev": "next dev --port 4000 --turbopack",
70
- "build": "tsc --project tsconfig.build.json && tsc-alias -p tsconfig.build.json && copy-files-from-to",
71
- "build:app": "next build",
72
- "start": "next start",
73
- "lint": "next lint",
74
- "release": "release-it"
75
- },
76
- "dependencies": {
77
- "@ark-ui/react": "5.13.0",
78
- "@date-fns/tz": "1.2.0",
79
- "@next/third-parties": "15.3.3",
80
- "@tailwindcss/typography": "0.5.16",
81
- "date-fns": "4.1.0",
82
- "embla-carousel-autoplay": "8.6.0",
83
- "embla-carousel-react": "8.6.0",
84
- "is-mobile": "5.0.0",
85
- "lodash-es": "4.17.21",
86
- "next-themes": "0.4.6",
87
- "tailwind-merge": "3.3.0",
88
- "tailwind-variants": "1.0.0",
89
- "tailwindcss-plugin-zag": "0.1.0",
90
- "tiny-invariant": "1.3.3",
91
- "type-fest": "4.41.0",
92
- "usehooks-ts": "3.1.1",
93
- "zustand": "5.0.5"
94
- },
95
- "devDependencies": {
96
- "@eslint/eslintrc": "3",
97
- "@hookform/resolvers": "5.0.1",
98
- "@opexa/portal-sdk-core": "0.0.35",
99
- "@tailwindcss/postcss": "4",
100
- "@tanstack/react-query": "5.80.0",
101
- "@tanstack/react-query-devtools": "5.80.0",
102
- "@total-typescript/ts-reset": "0.6.1",
103
- "@types/lodash-es": "4.17.12",
104
- "@types/node": "22",
105
- "@types/react": "19",
106
- "@types/react-dom": "19",
107
- "copy-files-from-to": "^3.12.1",
108
- "eslint": "9",
109
- "eslint-config-next": "15.3.3",
110
- "next": "15.4.0-canary.61",
111
- "react": "19.1.0",
112
- "react-dom": "19.1.0",
113
- "react-hook-form": "7.57.0",
114
- "release-it": "19.0.3",
115
- "tailwindcss": "4.1.8",
116
- "tsc-alias": "^1.8.16",
117
- "typescript": "5",
118
- "zod": "3.25.49"
119
- },
120
- "peerDependencies": {
121
- "@hookform/resolvers": "^4.0.0 || ^5.0.0",
122
- "@opexa/portal-sdk-core": "^0.0.35",
123
- "@tanstack/react-query": "^5.0.0",
124
- "next": "^15.4.0-canary.1",
125
- "react": "^19.0.0",
126
- "react-dom": "^19.0.0",
127
- "react-hook-form": "^7.0.0",
128
- "tailwindcss": "^4.0.0",
129
- "zod": "^3.0.0"
130
- },
131
- "release-it": {
132
- "git": {
133
- "commitMessage": "chore: release ${npm.name} v${version}",
134
- "tagName": "${npm.name}@${version}"
135
- },
136
- "github": {
137
- "release": false
138
- },
139
- "hooks": {
140
- "before:bump": [
141
- "pnpm lint"
142
- ],
143
- "after:bump": [
144
- "pnpm build"
145
- ]
146
- }
147
- },
148
- "copyFiles": [
149
- {
150
- "from": "src/lib/**/*.{png,jpg,jpeg,gif,svg,css,json}",
151
- "to": "dist/",
152
- "toFlat": false
153
- }
154
- ],
155
- "copyFilesSettings": {
156
- "whenFileExists": "overwrite",
157
- "removeSourceMappingURL": true,
158
- "ignoreDotFilesAndFolders": false
159
- }
160
- }
1
+ {
2
+ "name": "@opexa/portal-components",
3
+ "version": "0.0.85",
4
+ "exports": {
5
+ ".": {
6
+ "types": "./dist/components/index.d.ts",
7
+ "default": "./dist/components/index.js"
8
+ },
9
+ "./ui": {
10
+ "types": "./dist/ui/index.d.ts",
11
+ "default": "./dist/ui/index.js"
12
+ },
13
+ "./utils": {
14
+ "types": "./dist/utils/index.d.ts",
15
+ "import": "./dist/utils/index.js"
16
+ },
17
+ "./types": {
18
+ "types": "./dist/types/index.d.ts",
19
+ "import": "./dist/types/index.js"
20
+ },
21
+ "./handlers": {
22
+ "types": "./dist/handlers.d.ts",
23
+ "default": "./dist/handlers.js"
24
+ },
25
+ "./middleware": {
26
+ "types": "./dist/middleware.d.ts",
27
+ "default": "./dist/middleware.js"
28
+ },
29
+ "./constants": {
30
+ "types": "./dist/constants/index.d.ts",
31
+ "default": "./dist/constants/index.js"
32
+ },
33
+ "./services": {
34
+ "types": "./dist/services/index.d.ts",
35
+ "default": "./dist/services/index.js"
36
+ },
37
+ "./client-utils": {
38
+ "types": "./dist/client/utils/index.d.ts",
39
+ "default": "./dist/client/utils/index.js"
40
+ },
41
+ "./client-hooks": {
42
+ "types": "./dist/client/hooks/index.d.ts",
43
+ "default": "./dist/client/hooks/index.js"
44
+ },
45
+ "./client-services": {
46
+ "types": "./dist/client/services/index.d.ts",
47
+ "default": "./dist/client/services/index.js"
48
+ },
49
+ "./server-utils": {
50
+ "types": "./dist/server/utils/index.d.ts",
51
+ "default": "./dist/server/utils/index.js"
52
+ },
53
+ "./server-services": {
54
+ "types": "./dist/server/services/index.d.ts",
55
+ "default": "./dist/server/services/index.js"
56
+ },
57
+ "./next.config": {
58
+ "types": "./dist/next.config.d.ts",
59
+ "default": "./dist/next.config.js"
60
+ },
61
+ "./theme.css": "./dist/styles/theme.css",
62
+ "./package.json": "./package.json"
63
+ },
64
+ "files": [
65
+ "dist",
66
+ "!dist/tsconfig.tsbuildinfo",
67
+ "!dist/tsconfig.build.tsbuildinfo"
68
+ ],
69
+ "publishConfig": {
70
+ "access": "public"
71
+ },
72
+ "scripts": {
73
+ "dev": "next dev --port 4000 --turbopack",
74
+ "build": "tsc --project tsconfig.build.json && tsc-alias -p tsconfig.build.json && copy-files-from-to",
75
+ "build:app": "next build",
76
+ "start": "next start",
77
+ "lint": "next lint",
78
+ "release": "release-it"
79
+ },
80
+ "dependencies": {
81
+ "@ark-ui/react": "5.13.0",
82
+ "@date-fns/tz": "1.2.0",
83
+ "@next/third-parties": "15.3.3",
84
+ "@tailwindcss/typography": "0.5.16",
85
+ "bs58": "5.0.0",
86
+ "crypto-hash": "1.3.0",
87
+ "date-fns": "4.1.0",
88
+ "embla-carousel-autoplay": "8.6.0",
89
+ "embla-carousel-react": "8.6.0",
90
+ "is-mobile": "5.0.0",
91
+ "lodash-es": "4.17.21",
92
+ "next-themes": "0.4.6",
93
+ "randombytes": "2.1.0",
94
+ "tailwind-merge": "3.3.0",
95
+ "tailwind-variants": "1.0.0",
96
+ "tailwindcss-plugin-zag": "0.1.0",
97
+ "tiny-invariant": "1.3.3",
98
+ "type-fest": "4.41.0",
99
+ "usehooks-ts": "3.1.1",
100
+ "zustand": "5.0.5"
101
+ },
102
+ "devDependencies": {
103
+ "@eslint/eslintrc": "3",
104
+ "@hookform/resolvers": "5.0.1",
105
+ "@tailwindcss/postcss": "4",
106
+ "@tanstack/react-query": "5.80.0",
107
+ "@tanstack/react-query-devtools": "5.80.0",
108
+ "@total-typescript/ts-reset": "0.6.1",
109
+ "@types/lodash-es": "4.17.12",
110
+ "@types/node": "22",
111
+ "@types/randombytes": "^2.0.3",
112
+ "@types/react": "19",
113
+ "@types/react-dom": "19",
114
+ "copy-files-from-to": "^3.12.1",
115
+ "eslint": "9",
116
+ "eslint-config-next": "15.3.3",
117
+ "next": "15.4.0-canary.61",
118
+ "react": "19.1.0",
119
+ "react-dom": "19.1.0",
120
+ "react-hook-form": "7.57.0",
121
+ "release-it": "19.0.3",
122
+ "tailwindcss": "4.1.8",
123
+ "tsc-alias": "^1.8.16",
124
+ "typescript": "5",
125
+ "zod": "3.25.49"
126
+ },
127
+ "peerDependencies": {
128
+ "@hookform/resolvers": "^4.0.0 || ^5.0.0",
129
+ "@tanstack/react-query": "^5.0.0",
130
+ "next": "^15.4.0-canary.1",
131
+ "react": "^19.0.0",
132
+ "react-dom": "^19.0.0",
133
+ "react-hook-form": "^7.0.0",
134
+ "tailwindcss": "^4.0.0",
135
+ "zod": "^3.0.0"
136
+ },
137
+ "release-it": {
138
+ "git": {
139
+ "commitMessage": "chore: release ${npm.name} v${version}",
140
+ "tagName": "${npm.name}@${version}"
141
+ },
142
+ "github": {
143
+ "release": false
144
+ },
145
+ "hooks": {
146
+ "before:bump": [
147
+ "pnpm lint"
148
+ ],
149
+ "after:bump": [
150
+ "pnpm build"
151
+ ]
152
+ }
153
+ },
154
+ "copyFiles": [
155
+ {
156
+ "from": "src/lib/**/*.{png,jpg,jpeg,gif,svg,css,json}",
157
+ "to": "dist/",
158
+ "toFlat": false
159
+ }
160
+ ],
161
+ "copyFilesSettings": {
162
+ "whenFileExists": "overwrite",
163
+ "removeSourceMappingURL": true,
164
+ "ignoreDotFilesAndFolders": false
165
+ }
166
+ }
@@ -1,2 +0,0 @@
1
- import type { Game } from '@opexa/portal-sdk-core';
2
- export declare const GameContext: import("react").Context<Game>, useGameContext: () => Game;
@@ -1,2 +0,0 @@
1
- import { createContext } from '../../client/utils/index.js';
2
- export const [GameContext, useGameContext] = createContext();
@@ -1,9 +0,0 @@
1
- import type { Jackpot } from '@opexa/portal-sdk-core';
2
- import type { GameProviderData } from '../../types';
3
- export interface JackpotItemProps {
4
- jackpot: Jackpot;
5
- /** @default "/jackpots" */
6
- viewAllUrl?: string;
7
- gameProviders: GameProviderData[];
8
- }
9
- export declare function JackpotItemDesktop({ jackpot, gameProviders, }: JackpotItemProps): import("react/jsx-runtime").JSX.Element;
@@ -1,43 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Progress } from '@ark-ui/react';
4
- import Image from 'next/image';
5
- import { twMerge } from 'tailwind-merge';
6
- import { ArrowNarrowUpRightIcon, ChevronLeftIcon, ChevronRightIcon, Trophy01Icon, User01Icon, } from '../../icons/index.js';
7
- import { StarIcon } from '../../icons/StarIcon.js';
8
- import closeChest from '../../images/close-chest.png';
9
- import firstPlace from '../../images/first-place.png';
10
- import leaderboard from '../../images/leaderboard.png';
11
- import openChest from '../../images/open-chest.png';
12
- import { formatNumber, getPercentage, mask } from '../../utils/index.js';
13
- import styles from '../JackpotCounter/JackpotCounterItem.module.css';
14
- import { JackpotGameProviders } from './JackpotGameProviders.js';
15
- import { JackpotRules } from './JackpotRules.js';
16
- import { useJackpotItemData } from './useJackpotItemData.js';
17
- export function JackpotItemDesktop({ jackpot, gameProviders, }) {
18
- const { jackpotPayouts, topJackpotPayout, filteredGameProviders, localeInfo, isPayingOut, jackpotAmount, arrowImages, getAccumulatingJackpotDescription, starTierStyles, } = useJackpotItemData({ jackpot, gameProviders });
19
- return (_jsxs("div", { className: twMerge('bg-bg-tertiary border-border-primary rounded-2xl border'), children: [_jsxs("div", { className: twMerge('relative flex shrink-0 p-3 text-center lg:gap-4 lg:p-5'), children: [_jsxs("div", { className: "z-1 relative flex flex-1 flex-col", children: [_jsx("div", { className: "flex h-full flex-col justify-between", children: _jsx("div", { className: "flex w-full justify-between", children: _jsxs("div", { className: "flex w-full flex-col", children: [_jsxs("div", { className: "relative flex w-full justify-between", children: [_jsxs("div", { children: [isPayingOut ? (_jsxs("div", { className: "border-utility-success-200 bg-utility-success-50 text-utility-success-700 flex w-fit items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium", children: [_jsx("span", { className: "full bg-utility-success-500 size-1.5 animate-pulse rounded" }), "Paying Out"] })) : (_jsxs("div", { className: "border-utility-blue-200 bg-utility-blue-50 text-utility-blue-700 flex w-fit items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium", children: [_jsx(ArrowNarrowUpRightIcon, { className: "text-utility-blue-500 size-3.5" }), "Accumulating"] })), _jsx("div", { className: "text-text-primary-900 mt-1 text-left text-lg font-medium lg:mt-5 lg:text-2xl", children: jackpot.name }), _jsx("div", { className: "bg-bg-primary text-brand-400 mt-1.5 w-fit rounded-md px-2 py-1 text-2xl font-bold lg:mt-2 lg:text-4xl", children: formatNumber(jackpotAmount, {
20
- currency: localeInfo.currency.code,
21
- minDecimalPlaces: 2,
22
- maxDecimalPlaces: 2,
23
- }) })] }), _jsx("div", { className: "z-1 bottom-[-60] right-0 block lg:absolute", children: _jsx(Image, { width: 150, height: 150, src: isPayingOut ? openChest : closeChest, alt: "closeChest", quality: 100, className: "h-25 w-25 lg:h-37.5 lg:w-37.5 size-full p-2" }) })] }), topJackpotPayout.amount ? (_jsx("div", { children: _jsxs("div", { className: "bg-bg-primary relative mt-4 hidden w-full gap-4 rounded-lg p-4 lg:flex", children: [_jsxs("div", { className: "bg-bg-tertiary relative flex h-18 w-18 items-center justify-center rounded-full", children: [_jsx(User01Icon, { className: "text-text-quarterary-500 size-9" }), _jsx("div", { className: "bg-yellow-400 text-brand-950 border-bg-primary absolute bottom-0 right-0 flex h-6 w-6 items-center justify-center rounded-full border-[1.5px] text-xs font-bold", children: "1st" })] }), _jsxs("div", { className: "flex flex-col gap-1 text-left", children: [_jsxs("div", { className: "border-utility-brand-200 bg-utility-brand-50 text-utility-brand-700 flex h-fit w-fit items-center gap-1 rounded-sm border px-2 py-0.5 text-xs font-medium", children: [_jsx(Trophy01Icon, { className: "text-utility-brand-600 size-3.5" }), "Top Payout"] }), _jsx("div", { className: "font-semibold", children: mask(topJackpotPayout.member.name) }), _jsx("div", { className: "text-brand-400 text-2xl", children: formatNumber(topJackpotPayout.amount, {
24
- currency: localeInfo.currency.code,
25
- minDecimalPlaces: 2,
26
- maxDecimalPlaces: 2,
27
- }) })] })] }) })) : (_jsxs("div", { className: "bg-bg-primary relative mt-4 hidden w-full gap-4 rounded-lg p-4 lg:flex", children: [_jsx(Image, { width: 66, height: 87, src: firstPlace, alt: "closeChest", className: "size-full h-auto w-[66px] mix-blend-luminosity" }), _jsxs("div", { className: "flex flex-col gap-1 text-left", children: [_jsxs("div", { className: "border-utility-brand-200 bg-utility-brand-50 text-utility-brand-700 flex h-fit w-fit items-center gap-1 rounded-sm border px-2 py-0.5 text-xs font-medium", children: [_jsx(Trophy01Icon, { className: "text-utility-brand-600 size-3.5" }), "Top Payout"] }), _jsx("div", { className: "font-semibold", children: "No winners yet" }), _jsx("div", { className: "text-text-secondary-700 text-xs", children: "You could be the first to win the tournament!" })] })] }))] }) }) }), _jsxs("div", { className: "mt-3 lg:mt-4", children: [_jsxs("div", { className: "mb-1 flex justify-between", children: [_jsx("div", { className: "text-text-primary-900 text-xs font-semibold", children: formatNumber(0, {
28
- currency: localeInfo.currency.code,
29
- compact: true,
30
- }) }), _jsxs("div", { className: "relative flex items-center justify-end gap-1.5", children: [isPayingOut ? (_jsxs("div", { className: "flex w-6 items-center", children: [_jsx("div", { className: twMerge('absolute left-0', styles['animate-arrow-red-flash-1']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-1.5', styles['animate-arrow-red-flash-2']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-3', styles['animate-arrow-red-flash-3']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) })] })) : (_jsxs("div", { className: "flex w-6 items-center", children: [_jsx("div", { className: twMerge('absolute left-0', styles['animate-arrow-green-flash-1']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-1.5', styles['animate-arrow-green-flash-2']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-3', styles['animate-arrow-green-flash-3']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) })] })), _jsx("div", { className: "text-text-primary-900 text-xs font-semibold", children: formatNumber(jackpot?.maximumJackpotPoolLimit, {
31
- currency: localeInfo.currency.code,
32
- compact: true,
33
- }) })] })] }), _jsx(Progress.Root, { className: "bg-bg-primary h-2 w-full rounded-full lg:h-4", max: 100, value: getPercentage(jackpot.pool, jackpot.maximumJackpotPoolLimit), children: _jsx(Progress.Track, { className: "bg-bg-primary h-full overflow-hidden rounded-full", children: _jsx(Progress.Range, { className: "bg-brand-500 relative h-full overflow-hidden rounded-full pl-1.5", children: _jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-start pl-1.5", "aria-hidden": "true", children: arrowImages }) }) }) }), _jsx("div", { className: "mt-1 block text-start text-2xs lg:hidden", children: isPayingOut
34
- ? `The pot has hit ${formatNumber(jackpot?.maximumJackpotPoolLimit, {
35
- currency: localeInfo.currency.code,
36
- compact: true,
37
- })} Play now for your chance to win big! πŸ”₯`
38
- : getAccumulatingJackpotDescription(Number(jackpot?.pool) ?? 0, Number(jackpot?.maximumJackpotPoolLimit) ?? 0) })] })] }), _jsxs("div", { className: "z-1 hidden flex-1 space-y-4 lg:block", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex gap-2", children: [_jsx(Image, { width: 24, height: 24, src: leaderboard, quality: 100, alt: "leaderboardIcon", className: "size-full h-auto w-6" }), _jsx("div", { className: "text-text-primary-900 text-lg font-semibold", children: jackpotPayouts.length ? 'Leaderboard' : 'Starting soon!' })] }), _jsx(JackpotRules, { jackpotRules: jackpot.description })] }), _jsx("div", { className: twMerge('max-h-[272px] overflow-y-scroll', styles['scrollArea']), children: _jsx("div", { className: "border-gray-200 overflow-hidden rounded-xl", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-bg-secondary text-text-tertiary-600 h-8 text-xs font-medium", children: [_jsx("th", { className: "w-[52px]", children: "#" }), _jsx("th", { children: "Player" }), _jsx("th", { children: "Multiplier" }), _jsx("th", { children: "Prize" })] }) }), _jsx("tbody", { children: jackpotPayouts.length ? (_jsx(_Fragment, { children: jackpotPayouts.map((jackpotPayout, i) => (_jsxs("tr", { className: "bg-bg-primary text-text-secondary-700 text-sm", children: [_jsx("td", { className: "border-border-secondary h-12 w-[52px] border-t-2", children: i + 1 < 6 ? (_jsxs("div", { className: "relative", children: [_jsx(StarIcon, { className: twMerge('mx-auto size-6.5', starTierStyles[i].starColor) }), _jsx("span", { className: twMerge('absolute inset-0 mt-0.5 flex items-center justify-center text-2xs font-bold', starTierStyles[i].numberColor), children: i + 1 })] })) : (i + 1) }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: mask(jackpotPayout.member.name) }), _jsxs("td", { className: "border-border-secondary h-12 border-t-2", children: [jackpotPayout.multiplier, "x"] }), _jsx("td", { className: "border-border-secondary text-brand-400 h-12 border-t-2", children: formatNumber(jackpotPayout.amount, {
39
- currency: localeInfo.currency.code,
40
- minDecimalPlaces: 2,
41
- maxDecimalPlaces: 2,
42
- }) })] }, i))) })) : (_jsx(_Fragment, { children: Array.from({ length: 10 }).map((_, i) => (_jsxs("tr", { className: "bg-bg-primary text-text-secondary-700 text-sm", children: [_jsx("td", { className: "border-border-secondary h-12 w-[52px] border-t-2", children: i + 1 < 6 ? (_jsxs("div", { className: "relative", children: [_jsx(StarIcon, { className: twMerge('mx-auto size-6.5', starTierStyles[i].starColor) }), _jsx("span", { className: twMerge('absolute inset-0 mt-0.5 flex items-center justify-center text-2xs font-bold', starTierStyles[i].numberColor), children: i + 1 })] })) : (i + 1) }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" })] }, i))) })) })] }) }) })] }), isPayingOut && (_jsx("div", { className: twMerge(styles['light-rays'], 'absolute right-0 top-0 rounded-2xl') }))] }), Boolean(filteredGameProviders.length) && (_jsx(JackpotGameProviders, { gameProviders: filteredGameProviders }))] }));
43
- }
@@ -1,9 +0,0 @@
1
- import type { Jackpot } from '@opexa/portal-sdk-core';
2
- import type { GameProviderData } from '../../types';
3
- export interface JackpotItemMobileProps {
4
- jackpot: Jackpot;
5
- /** @default "/jackpots" */
6
- viewAllUrl?: string;
7
- gameProviders: GameProviderData[];
8
- }
9
- export declare function JackpotItemMobile({ jackpot, gameProviders, }: JackpotItemMobileProps): import("react/jsx-runtime").JSX.Element;
@@ -1,44 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Progress } from '@ark-ui/react';
4
- import Image from 'next/image';
5
- import { useState } from 'react';
6
- import { twMerge } from 'tailwind-merge';
7
- import { ArrowNarrowDownIcon, ArrowNarrowUpIcon, ArrowNarrowUpRightIcon, ChevronLeftIcon, ChevronRightIcon, StarIcon, Trophy01Icon, User01Icon, } from '../../icons/index.js';
8
- import closeChest from '../../images/close-chest.png';
9
- import firstPlace from '../../images/first-place.png';
10
- import openChest from '../../images/open-chest.png';
11
- import { Button } from '../../ui/index.js';
12
- import { formatNumber, getPercentage, mask } from '../../utils/index.js';
13
- import styles from '../JackpotCounter/JackpotCounterItem.module.css';
14
- import { JackpotGameProviders } from './JackpotGameProviders.js';
15
- import { JackpotRules } from './JackpotRules.js';
16
- import { useJackpotItemData } from './useJackpotItemData.js';
17
- export function JackpotItemMobile({ jackpot, gameProviders, }) {
18
- const { jackpotPayouts, topJackpotPayout, filteredGameProviders, localeInfo, isPayingOut, jackpotAmount, arrowImages, getAccumulatingJackpotDescription, starTierStyles, } = useJackpotItemData({ jackpot, gameProviders });
19
- const [isDetailsVisible, setIsDetailsVisible] = useState(false);
20
- return (_jsxs("div", { className: "bg-bg-primary border-border-primary rounded-2xl border", children: [_jsxs("div", { className: twMerge('bg-bg-tertiary relative flex shrink-0 rounded-2xl p-3 text-center lg:gap-4 lg:p-5'), children: [_jsxs("div", { className: "z-1 relative flex flex-1 flex-col", children: [_jsx("div", { className: "flex h-full flex-col justify-between", children: _jsx("div", { className: "flex w-full justify-between", children: _jsx("div", { className: "flex w-full flex-col", children: _jsxs("div", { className: "relative flex w-full justify-between", children: [_jsxs("div", { children: [isPayingOut ? (_jsxs("div", { className: "border-utility-success-200 bg-utility-success-50 text-utility-success-700 flex w-fit items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium", children: [_jsx("span", { className: "full bg-utility-success-500 size-1.5 animate-pulse rounded" }), "Paying Out"] })) : (_jsxs("div", { className: "border-utility-blue-200 bg-utility-blue-50 text-utility-blue-700 flex w-fit items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium", children: [_jsx(ArrowNarrowUpRightIcon, { className: "text-utility-blue-500 size-3.5" }), "Accumulating"] })), _jsx("div", { className: "text-text-primary-900 mt-1 text-left text-lg font-medium lg:mt-5 lg:text-2xl", children: jackpot.name }), _jsx("div", { className: "bg-bg-primary text-brand-400 mt-1.5 w-fit rounded-md px-2 py-1 text-2xl font-bold lg:mt-2 lg:text-4xl", children: formatNumber(jackpotAmount, {
21
- currency: localeInfo.currency.code,
22
- minDecimalPlaces: 2,
23
- maxDecimalPlaces: 2,
24
- }) })] }), _jsx("div", { className: "z-1 bottom-[-60] right-0 block lg:absolute", children: _jsx(Image, { width: 100, height: 100, src: isPayingOut ? openChest : closeChest, alt: "closeChest", quality: 100, className: "size-full h-auto w-[100px]" }) })] }) }) }) }), _jsxs("div", { className: "mt-3 lg:mt-4", children: [_jsxs("div", { className: "mb-1 flex justify-between", children: [_jsx("div", { className: "text-text-primary-900 text-xs font-semibold", children: formatNumber(0, {
25
- currency: localeInfo.currency.code,
26
- compact: true,
27
- }) }), _jsxs("div", { className: "relative flex items-center justify-end gap-1.5", children: [isPayingOut ? (_jsxs("div", { className: "flex w-6 items-center", children: [_jsx("div", { className: twMerge('absolute left-0', styles['animate-arrow-red-flash-1']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-1.5', styles['animate-arrow-red-flash-2']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-3', styles['animate-arrow-red-flash-3']), children: _jsx(ChevronLeftIcon, { className: "size-4.5" }) })] })) : (_jsxs("div", { className: "flex w-6 items-center", children: [_jsx("div", { className: twMerge('absolute left-0', styles['animate-arrow-green-flash-1']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-1.5', styles['animate-arrow-green-flash-2']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) }), _jsx("div", { className: twMerge('absolute left-3', styles['animate-arrow-green-flash-3']), children: _jsx(ChevronRightIcon, { className: "size-4.5" }) })] })), _jsx("div", { className: "text-text-primary-900 text-xs font-semibold", children: formatNumber(jackpot?.maximumJackpotPoolLimit, {
28
- currency: localeInfo.currency.code,
29
- compact: true,
30
- }) })] })] }), _jsx(Progress.Root, { className: "bg-bg-primary h-2 w-full rounded-full lg:h-4", max: 100, value: getPercentage(jackpot.pool, jackpot.maximumJackpotPoolLimit), children: _jsx(Progress.Track, { className: "bg-bg-primary h-full overflow-hidden rounded-full", children: _jsx(Progress.Range, { className: "bg-brand-500 relative h-full overflow-hidden rounded-full pl-1.5", children: _jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-start pl-1.5", "aria-hidden": "true", children: arrowImages }) }) }) }), _jsx("div", { className: "mt-1 block text-start text-2xs lg:hidden", children: isPayingOut
31
- ? `The pot has hit ${formatNumber(jackpot?.maximumJackpotPoolLimit, {
32
- currency: localeInfo.currency.code,
33
- compact: true,
34
- })} Play now for your chance to win big! πŸ”₯`
35
- : getAccumulatingJackpotDescription(Number(jackpot?.pool) ?? 0, Number(jackpot?.maximumJackpotPoolLimit) ?? 0) })] }), topJackpotPayout.amount ? (_jsx("div", { children: _jsxs("div", { className: "bg-bg-primary relative mt-4 flex w-full gap-4 rounded-lg p-4", children: [_jsxs("div", { className: "bg-bg-tertiary relative flex h-18 w-18 items-center justify-center rounded-full", children: [_jsx(User01Icon, { className: "text-text-quarterary-500 size-9" }), _jsx("div", { className: "bg-yellow-400 text-brand-950 border-bg-primary absolute bottom-0 right-0 flex h-6 w-6 items-center justify-center rounded-full border-[1.5px] text-xs font-bold", children: "1st" })] }), _jsxs("div", { className: "flex flex-col gap-1 text-left", children: [_jsxs("div", { className: "border-utility-brand-200 bg-utility-brand-50 text-utility-brand-700 flex h-fit w-fit items-center gap-1 rounded-sm border px-2 py-0.5 text-xs font-medium", children: [_jsx(Trophy01Icon, { className: "text-utility-brand-600 size-3.5" }), "Top Payout"] }), _jsx("div", { className: "font-semibold", children: mask(topJackpotPayout.member.name) }), _jsx("div", { className: "text-brand-400 text-2xl", children: formatNumber(topJackpotPayout.amount, {
36
- currency: localeInfo.currency.code,
37
- minDecimalPlaces: 2,
38
- maxDecimalPlaces: 2,
39
- }) })] })] }) })) : (_jsxs("div", { className: "bg-bg-primary relative mt-4 flex w-full gap-4 rounded-lg p-4", children: [_jsx(Image, { width: 66, height: 87, src: firstPlace, alt: "closeChest", className: "size-full h-auto w-[66px] mix-blend-luminosity" }), _jsxs("div", { className: "flex flex-col gap-1 text-left", children: [_jsxs("div", { className: "border-utility-brand-200 bg-utility-brand-50 text-utility-brand-700 flex h-fit w-fit items-center gap-1 rounded-sm border px-2 py-0.5 text-xs font-medium", children: [_jsx(Trophy01Icon, { className: "text-utility-brand-600 size-3.5" }), "Top Payout"] }), _jsx("div", { className: "font-semibold", children: "No winners yet" }), _jsx("div", { className: "text-text-secondary-700 text-xs", children: "You could be the first to win the tournament!" })] })] })), _jsx(Button, { variant: "outline", className: twMerge('mt-5.5 px-3.5 py-2.5 text-sm', isDetailsVisible ? 'hidden' : 'flex'), onClick: () => setIsDetailsVisible(!isDetailsVisible), children: _jsxs("div", { className: "flex gap-1.5", children: ["See Details", _jsx(ArrowNarrowDownIcon, { className: "size-5" })] }) })] }), isPayingOut && (_jsx("div", { className: twMerge(styles['light-rays'], 'absolute right-0 top-0 rounded-2xl [--light-rays-top:15%] lg:[--light-rays-top:150px]') }))] }), isDetailsVisible && (_jsxs("div", { children: [_jsxs("div", { className: "z-1 flex-1", children: [_jsxs("div", { className: "flex items-center justify-between p-3", children: [_jsx("div", { className: "flex gap-2", children: _jsx("div", { className: "text-text-primary-900 text-lg font-semibold", children: jackpotPayouts.length ? 'Leaderboard' : 'Starting soon!' }) }), _jsx(JackpotRules, { jackpotRules: jackpot.description })] }), _jsx("div", { children: _jsx("div", { className: "border-gray-200 overflow-hidden", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-bg-secondary text-text-tertiary-600 h-8 text-center text-xs font-medium", children: [_jsx("th", { className: "w-[52px]", children: "#" }), _jsx("th", { children: "Player" }), _jsx("th", { children: "Multiplier" }), _jsx("th", { children: "Prize" })] }) }), _jsx("tbody", { children: jackpotPayouts.length ? (_jsx(_Fragment, { children: jackpotPayouts.map((jackpotPayout, i) => (_jsxs("tr", { className: "bg-bg-primary text-text-secondary-700 text-center text-sm", children: [_jsx("td", { className: "border-border-secondary h-12 w-[52px] border-t-2", children: i + 1 < 6 ? (_jsxs("div", { className: "relative", children: [_jsx(StarIcon, { className: twMerge('mx-auto size-6.5', starTierStyles[i].starColor) }), _jsx("span", { className: twMerge('absolute inset-0 mt-0.5 flex items-center justify-center text-2xs font-bold', starTierStyles[i].numberColor), children: i + 1 })] })) : (i + 1) }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: mask(jackpotPayout.member.name) }), _jsxs("td", { className: "border-border-secondary h-12 border-t-2", children: [jackpotPayout.multiplier, "x"] }), _jsx("td", { className: "border-border-secondary text-brand-400 h-12 border-t-2", children: formatNumber(jackpotPayout.amount, {
40
- currency: localeInfo.currency.code,
41
- minDecimalPlaces: 2,
42
- maxDecimalPlaces: 2,
43
- }) })] }, i))) })) : (_jsx(_Fragment, { children: Array.from({ length: 10 }).map((_, i) => (_jsxs("tr", { className: "bg-bg-primary text-text-secondary-700 text-center text-sm", children: [_jsx("td", { className: "border-border-secondary h-12 w-[52px] border-t-2", children: i + 1 < 6 ? (_jsxs("div", { className: "relative", children: [_jsx(StarIcon, { className: twMerge('mx-auto size-6.5', starTierStyles[i].starColor) }), _jsx("span", { className: twMerge('absolute inset-0 mt-0.5 flex items-center justify-center text-2xs font-bold', starTierStyles[i].numberColor), children: i + 1 })] })) : (i + 1) }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" }), _jsx("td", { className: "border-border-secondary h-12 border-t-2", children: "-" })] }, i))) })) })] }) }) })] }), Boolean(filteredGameProviders.length) && (_jsx(JackpotGameProviders, { gameProviders: filteredGameProviders })), _jsx("div", { className: "m-3", children: _jsx(Button, { variant: "outline", className: twMerge('px-3.5 py-2.5 text-sm', !isDetailsVisible ? 'hidden' : 'flex'), onClick: () => setIsDetailsVisible(!isDetailsVisible), children: _jsxs("div", { className: "flex gap-1.5", children: ["Hide", _jsx(ArrowNarrowUpIcon, { className: "size-5" })] }) }) })] }))] }));
44
- }
@@ -1,20 +0,0 @@
1
- import type { Jackpot } from '@opexa/portal-sdk-core';
2
- import type { GameProviderData } from '../../types';
3
- export interface JackpotItemProps {
4
- jackpot: Jackpot;
5
- gameProviders: GameProviderData[];
6
- }
7
- export declare function useJackpotItemData({ jackpot, gameProviders, }: JackpotItemProps): {
8
- jackpotPayouts: import("@opexa/portal-sdk-core").JackpotPayout[];
9
- topJackpotPayout: import("@opexa/portal-sdk-core").JackpotPayout;
10
- filteredGameProviders: GameProviderData[];
11
- localeInfo: import("../../utils").LocaleInfo;
12
- isPayingOut: boolean;
13
- jackpotAmount: string;
14
- arrowImages: import("react/jsx-runtime").JSX.Element[];
15
- getAccumulatingJackpotDescription: (part: number, total: number) => string;
16
- starTierStyles: {
17
- starColor: string;
18
- numberColor: string;
19
- }[];
20
- };
@@ -1,87 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useMemo } from 'react';
3
- import { twMerge } from 'tailwind-merge';
4
- import { useLocaleInfo } from '../../client/hooks/index.js';
5
- import { useJackpotPayoutsQuery } from '../../client/hooks/useJackpotPayoutsQuery.js';
6
- import { ChevronLeftIcon, ChevronRightIcon } from '../../icons/index.js';
7
- import styles from '../JackpotCounter/JackpotCounterItem.module.css';
8
- export function useJackpotItemData({ jackpot, gameProviders, }) {
9
- const jackpotPayoutsQuery = useJackpotPayoutsQuery({
10
- first: 30,
11
- filter: {
12
- jackpot: {
13
- equal: jackpot.id,
14
- },
15
- },
16
- sort: {
17
- cursor: 'AMOUNT',
18
- order: 'DESC',
19
- },
20
- }, {
21
- enabled: typeof window !== 'undefined',
22
- });
23
- const jackpotPayouts = jackpotPayoutsQuery.data?.pages[0].edges.map((edge) => edge.node) ?? [];
24
- const topJackpotPayout = jackpotPayouts[0] ?? [];
25
- const enabledJackpotGameProviders = useMemo(() => {
26
- const gameProvider = Object.entries(jackpot?.jackpotTurnoverContributionPercentagePerGameProvider ?? {})
27
- .filter(([, value]) => Number(value) > 0)
28
- .map(([key]) => key);
29
- return gameProvider;
30
- }, [jackpot]);
31
- const filteredGameProviders = gameProviders.filter((provider) => enabledJackpotGameProviders.includes(provider.id));
32
- const localeInfo = useLocaleInfo();
33
- const isPayingOut = jackpot.drawing;
34
- const jackpotAmount = isPayingOut
35
- ? jackpot.maximumJackpotPoolLimit
36
- : jackpot.pool;
37
- const Arrow = useCallback(({ index }) => {
38
- const Icon = isPayingOut ? ChevronLeftIcon : ChevronRightIcon;
39
- return (_jsx(Icon, { className: twMerge('scale-400 lg:scale-250 text-brand-300 min-w-2.5 lg:min-w-4', isPayingOut
40
- ? styles['animate-wave-color-error']
41
- : styles['animate-wave-color-success']), style: {
42
- animationDelay: isPayingOut
43
- ? `${(40 - index - 1) * 0.1}s`
44
- : `${index * 0.1}s`,
45
- } }));
46
- }, [isPayingOut]);
47
- const arrowImages = useMemo(() => Array.from({ length: 40 }, (_, i) => (_jsx(Arrow, { isFirst: i === 0, index: i }, i))), [Arrow]);
48
- const getAccumulatingJackpotDescription = (part, total) => {
49
- const percentage = total === 0 ? 0 : (part / total) * 100;
50
- return percentage <= 90
51
- ? 'The jackpot is heating up! Keep playing to stay in the action and watch it grow!'
52
- : 'πŸ”₯ It’s about to pop! Stay in the game for your shot at the prize!';
53
- };
54
- const starTierStyles = [
55
- {
56
- starColor: 'text-yellow-400',
57
- numberColor: 'text-bg-primary',
58
- },
59
- {
60
- starColor: 'text-utility-gray-700',
61
- numberColor: 'text-bg-primary',
62
- },
63
- {
64
- starColor: 'text-yellow-700',
65
- numberColor: 'text-bg-primary',
66
- },
67
- {
68
- starColor: 'text-bg-quaternary',
69
- numberColor: 'text-text-primary-900',
70
- },
71
- {
72
- starColor: 'text-bg-quaternary',
73
- numberColor: 'text-text-primary-900',
74
- },
75
- ];
76
- return {
77
- jackpotPayouts,
78
- topJackpotPayout,
79
- filteredGameProviders,
80
- localeInfo,
81
- isPayingOut,
82
- jackpotAmount,
83
- arrowImages,
84
- getAccumulatingJackpotDescription,
85
- starTierStyles,
86
- };
87
- }
@@ -1,4 +0,0 @@
1
- import type { Message } from '@opexa/portal-sdk-core';
2
- export declare function MessageItem({ message }: {
3
- message: Message;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
1
- import type { Tournament } from '@opexa/portal-sdk-core';
2
- import type { GameProviderData } from '../../types';
3
- export interface TournamentItemProps {
4
- tournament: Tournament;
5
- gameProviders: GameProviderData[];
6
- }
7
- export declare function TournamentItemDesktop({ tournament, gameProviders, }: TournamentItemProps): import("react/jsx-runtime").JSX.Element;