@opexa/portal-components 0.0.892 → 0.0.894

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 (214) hide show
  1. package/dist/components/DepositWithdrawal/Deposit/AurixPayQRPHDeposit/AurixPayQRPHDepositContext.d.ts +2 -2
  2. package/dist/components/DepositWithdrawal/Deposit/AurixPayQRPHDeposit/useAurixPayQRPHDeposit.d.ts +1 -1
  3. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  4. package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  5. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
  6. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
  7. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.d.ts +2 -2
  8. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.d.ts +1 -1
  9. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Confirmed.d.ts +1 -0
  10. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Confirmed.js +11 -0
  11. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Failed.d.ts +1 -0
  12. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Failed.js +11 -0
  13. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Form.d.ts +1 -0
  14. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/Form.js +126 -0
  15. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/GeneratingQrCode.d.ts +1 -0
  16. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/GeneratingQrCode.js +10 -0
  17. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QRPHDeposit.d.ts +1 -0
  18. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QRPHDeposit.js +12 -0
  19. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QRPHDepositContext.d.ts +17 -0
  20. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QRPHDepositContext.js +2 -0
  21. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QrCodeGenerated.d.ts +1 -0
  22. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/QrCodeGenerated.js +41 -0
  23. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/useQRPHDeposit.d.ts +13 -0
  24. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__next/useQRPHDeposit.js +91 -0
  25. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
  26. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
  27. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
  28. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
  29. package/dist/components/DigitainLauncher/Loading.js +1 -1
  30. package/dist/components/Disclaimer/DisclaimerV3.js +8 -1
  31. package/dist/components/Disclaimer/ResponsibleGaming.d.ts +10 -0
  32. package/dist/components/Disclaimer/ResponsibleGaming.js +13 -0
  33. package/dist/components/Disclaimer/TermsOfUse.d.ts +11 -0
  34. package/dist/components/Disclaimer/TermsOfUse.js +13 -0
  35. package/dist/components/FeatureFlag/FeatureFlag.d.ts +1 -0
  36. package/dist/components/FeatureFlag/FeatureFlag.js +29 -0
  37. package/dist/components/FeatureFlag/index.d.ts +1 -0
  38. package/dist/components/FeatureFlag/index.js +1 -0
  39. package/dist/components/ForgotPassword/Crazywin/ForgotPassword.module.css +42 -42
  40. package/dist/components/Jackpots/Jackpots.module.css +288 -288
  41. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +184 -184
  42. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +184 -184
  43. package/dist/components/KYC/AutoOpen.d.ts +1 -0
  44. package/dist/components/KYC/AutoOpen.js +40 -0
  45. package/dist/components/KYC/BasicInformation.js +1 -1
  46. package/dist/components/KYC/CaptureIdDocument.d.ts +1 -0
  47. package/dist/components/KYC/CaptureIdDocument.js +219 -0
  48. package/dist/components/KYC/CaptureSelfie.d.ts +1 -0
  49. package/dist/components/KYC/CaptureSelfie.js +285 -0
  50. package/dist/components/KYC/DisplayImage.d.ts +5 -0
  51. package/dist/components/KYC/DisplayImage.js +8 -0
  52. package/dist/components/KYC/FileUpload.d.ts +10 -0
  53. package/dist/components/KYC/FileUpload.js +72 -0
  54. package/dist/components/KYC/IdentityVerification.js +1 -1
  55. package/dist/components/KYC/KYC.lazy.js +1 -1
  56. package/dist/components/KYC/KYCDefault/KYCVerificationStatus.lazy.js +2 -2
  57. package/dist/components/KYC/KYCNonPagCor/KYCVerificationStatus.lazy.js +2 -2
  58. package/dist/components/KYC/KYCVerificationStatus.lazy.js +8 -5
  59. package/dist/components/KYC/NoCameraError.d.ts +7 -0
  60. package/dist/components/KYC/NoCameraError.js +6 -0
  61. package/dist/components/KYC/PersonOverlayDesktop.d.ts +7 -0
  62. package/dist/components/KYC/PersonOverlayDesktop.js +9 -0
  63. package/dist/components/KYC/PersonalInformation.js +1 -1
  64. package/dist/components/KYC/backup/Header.d.ts +1 -0
  65. package/dist/components/KYC/backup/Header.js +8 -0
  66. package/dist/components/KYC/backup/Indicator.d.ts +1 -0
  67. package/dist/components/KYC/backup/Indicator.js +9 -0
  68. package/dist/components/KYC/backup/KYC.d.ts +1 -0
  69. package/dist/components/KYC/backup/KYC.js +14 -0
  70. package/dist/components/KYC/backup/KYC.lazy.d.ts +1 -0
  71. package/dist/components/KYC/backup/KYC.lazy.js +26 -0
  72. package/dist/components/KYC/backup/KYCContext.d.ts +6 -0
  73. package/dist/components/KYC/backup/KYCContext.js +2 -0
  74. package/dist/components/KYC/backup/Step1.d.ts +1 -0
  75. package/dist/components/KYC/backup/Step1.js +13 -0
  76. package/dist/components/KYC/backup/Step2.d.ts +1 -0
  77. package/dist/components/KYC/backup/Step2.js +13 -0
  78. package/dist/components/KYC/backup/Step3.d.ts +1 -0
  79. package/dist/components/KYC/backup/Step3.js +13 -0
  80. package/dist/components/KYC/backup/Step4.d.ts +1 -0
  81. package/dist/components/KYC/backup/Step4.js +7 -0
  82. package/dist/components/KYC/backup/useKYC.d.ts +10 -0
  83. package/dist/components/KYC/backup/useKYC.js +8 -0
  84. package/dist/components/KYC/loadModels.d.ts +1 -0
  85. package/dist/components/KYC/loadModels.js +9 -0
  86. package/dist/components/KYC/utils.d.ts +9 -0
  87. package/dist/components/KYC/utils.js +79 -0
  88. package/dist/components/Messages/Message.d.ts +1 -0
  89. package/dist/components/Messages/Message.js +35 -0
  90. package/dist/components/Messages/MessageContext.d.ts +6 -0
  91. package/dist/components/Messages/MessageContext.js +2 -0
  92. package/dist/components/Messages/MessagePopup.d.ts +1 -0
  93. package/dist/components/Messages/MessagePopup.js +20 -0
  94. package/dist/components/Messages/MessageTrigger.d.ts +8 -0
  95. package/dist/components/Messages/MessageTrigger.js +19 -0
  96. package/dist/components/PortalProvider/CXDTokenObserver.js +11 -11
  97. package/dist/components/Quests/CountdownTimer.d.ts +15 -0
  98. package/dist/components/Quests/CountdownTimer.js +33 -0
  99. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +4 -0
  100. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.js +78 -0
  101. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.d.ts +8 -0
  102. package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuestModal.js +9 -0
  103. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +4 -0
  104. package/dist/components/Quests/OnboardingQuest/OnboardingQuest.js +4 -0
  105. package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +4 -0
  106. package/dist/components/Quests/WageringQuest/WageringQuest.js +20 -0
  107. package/dist/components/Quests/WageringQuest/WageringQuestModal.d.ts +9 -0
  108. package/dist/components/Quests/WageringQuest/WageringQuestModal.js +9 -0
  109. package/dist/components/SignIn/MobileNumberSignInternational.js +1 -1
  110. package/dist/components/SignUp/SignUp.lazy.d.ts +12 -0
  111. package/dist/components/SignUp/SignUp.lazy.js +18 -0
  112. package/dist/components/SignUp/SignUpContext.d.ts +6 -0
  113. package/dist/components/SignUp/SignUpContext.js +2 -0
  114. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.d.ts +17 -0
  115. package/dist/components/SignUp/SignUpDefault/SignUp.lazy.js +18 -0
  116. package/dist/components/SignUp/SignUpDefault/SignUpContext.d.ts +6 -0
  117. package/dist/components/SignUp/SignUpDefault/SignUpContext.js +2 -0
  118. package/dist/components/SignUp/SignUpDefault/SignUpDefaultFormInternational.js +1 -1
  119. package/dist/components/SignUp/SignUpDefault/SignUpForm.d.ts +1 -0
  120. package/dist/components/SignUp/SignUpDefault/SignUpForm.js +310 -0
  121. package/dist/components/SignUp/SignUpForm.d.ts +1 -0
  122. package/dist/components/SignUp/SignUpForm.js +284 -0
  123. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.d.ts +1 -0
  124. package/dist/components/SignUp/SignUpKYC/CaptureIdDocument.js +198 -0
  125. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.d.ts +1 -0
  126. package/dist/components/SignUp/SignUpKYC/CaptureSelfie.js +251 -0
  127. package/dist/components/SignUp/SignUpKYC/ImageUploader.d.ts +10 -0
  128. package/dist/components/SignUp/SignUpKYC/ImageUploader.js +42 -0
  129. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.d.ts +7 -0
  130. package/dist/components/SignUp/SignUpKYC/PersonOverlayDesktop.js +9 -0
  131. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.d.ts +1 -0
  132. package/dist/components/SignUp/SignUpKYC/SignUpFormKYC.js +464 -0
  133. package/dist/components/SignUp/SignUpKYC/useImageUploader.d.ts +11 -0
  134. package/dist/components/SignUp/SignUpKYC/useImageUploader.js +20 -0
  135. package/dist/components/SignUp/SignUpKYC/utils.d.ts +9 -0
  136. package/dist/components/SignUp/SignUpKYC/utils.js +79 -0
  137. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.d.ts +1 -0
  138. package/dist/components/SignUp/SignUpPagcor/CaptureIdDocument.js +198 -0
  139. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.d.ts +1 -0
  140. package/dist/components/SignUp/SignUpPagcor/CaptureSelfie.js +251 -0
  141. package/dist/components/SignUp/SignUpPagcor/ImageUploader.d.ts +10 -0
  142. package/dist/components/SignUp/SignUpPagcor/ImageUploader.js +41 -0
  143. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.d.ts +1 -0
  144. package/dist/components/SignUp/SignUpPagcor/SignUpFormPagcor.js +429 -0
  145. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.d.ts +13 -0
  146. package/dist/components/SignUp/SignUpPagcor/SignUpPagcor.lazy.js +26 -0
  147. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.d.ts +7 -0
  148. package/dist/components/SignUp/SignUpPagcor/SignUpPagcorContext.js +2 -0
  149. package/dist/components/SignUp/SignUpPagcor/useImageUploader.d.ts +11 -0
  150. package/dist/components/SignUp/SignUpPagcor/useImageUploader.js +20 -0
  151. package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
  152. package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
  153. package/dist/components/Tournaments/TournamentsList/TournamentListItemTable.CrazyWin.d.ts +9 -0
  154. package/dist/components/Tournaments/TournamentsList/TournamentListItemTable.CrazyWin.js +94 -0
  155. package/dist/components/Tournaments/TournamentsList/TournamentListItemTable.HappyBingo.d.ts +9 -0
  156. package/dist/components/Tournaments/TournamentsList/TournamentListItemTable.HappyBingo.js +94 -0
  157. package/dist/components/Tournaments/TournamentsList/TournamentsList.d.ts +1 -0
  158. package/dist/components/Tournaments/TournamentsList/TournamentsList.js +5 -3
  159. package/dist/components/Tournaments/TournamentsList/TournamentsListItem.CrazyWin.d.ts +3 -0
  160. package/dist/components/Tournaments/TournamentsList/TournamentsListItem.CrazyWin.js +37 -0
  161. package/dist/components/Tournaments/TournamentsList/TournamentsListItem.HappyBingo.d.ts +3 -0
  162. package/dist/components/Tournaments/TournamentsList/TournamentsListItem.HappyBingo.js +37 -0
  163. package/dist/components/Tournaments/utils.d.ts +31 -0
  164. package/dist/components/Tournaments/utils.js +106 -0
  165. package/dist/components/shared/IdDocumentField.client.d.ts +25 -0
  166. package/dist/components/shared/IdDocumentField.client.js +204 -0
  167. package/dist/components/shared/IdDocumentField.d.ts +2 -0
  168. package/dist/components/shared/IdDocumentField.js +11 -0
  169. package/dist/components/shared/SelfieField.client.d.ts +20 -0
  170. package/dist/components/shared/SelfieField.client.js +327 -0
  171. package/dist/components/shared/SelfieField.d.ts +2 -0
  172. package/dist/components/shared/SelfieField.js +11 -0
  173. package/dist/constants/BranchCode.d.ts +4 -0
  174. package/dist/constants/BranchCode.js +42 -0
  175. package/dist/handlers/postTransformIdFrontImage.d.ts +3 -0
  176. package/dist/handlers/postTransformIdFrontImage.js +67 -0
  177. package/dist/handlers/postTransformSelfieImage.d.ts +3 -0
  178. package/dist/handlers/postTransformSelfieImage.js +71 -0
  179. package/dist/handlers.d.ts +43 -0
  180. package/dist/handlers.js +297 -0
  181. package/dist/icons/BellRingIcon.d.ts +2 -0
  182. package/dist/icons/BellRingIcon.js +4 -0
  183. package/dist/images/phone-icon.svg +10 -10
  184. package/dist/images/star-trophy.webp +0 -0
  185. package/dist/images/tournament-bg-1.webp +0 -0
  186. package/dist/images/tournament-bg-2.webp +0 -0
  187. package/dist/images/tournament-bg-3.webp +0 -0
  188. package/dist/schemas/forgotPasswordSchema.d.ts +8 -8
  189. package/dist/services/queries.js +3339 -3339
  190. package/dist/styles/theme.css +776 -776
  191. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  192. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  193. package/dist/ui/Menu/Menu.d.ts +198 -198
  194. package/dist/ui/Menu/menu.recipe.d.ts +11 -11
  195. package/dist/ui/Select/Select.d.ts +45 -45
  196. package/dist/ui/Select/select.recipe.d.ts +3 -3
  197. package/dist/ui/Table/Table.d.ts +21 -21
  198. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  199. package/dist/ui/Table/table.recipe.d.ts +3 -3
  200. package/dist/utils/dataUrlToBlob.d.ts +1 -0
  201. package/dist/utils/dataUrlToBlob.js +11 -0
  202. package/dist/utils/gamesAvailable3pmTo3am.d.ts +1 -0
  203. package/dist/utils/gamesAvailable3pmTo3am.js +1 -0
  204. package/dist/utils/getGameName.d.ts +1 -0
  205. package/dist/utils/getGameName.js +6 -0
  206. package/dist/utils/isBetween3amAnd3pm.d.ts +1 -0
  207. package/dist/utils/isBetween3amAnd3pm.js +5 -0
  208. package/dist/utils/resizeImageSize.d.ts +2 -0
  209. package/dist/utils/resizeImageSize.js +11 -0
  210. package/package.json +177 -177
  211. package/dist/components/Banner/Banner.client.d.ts +0 -12
  212. package/dist/components/Banner/Banner.client.js +0 -49
  213. package/dist/components/PortalProvider/AndroidOnlyComponents.d.ts +0 -1
  214. package/dist/components/PortalProvider/AndroidOnlyComponents.js +0 -12
@@ -1,184 +1,184 @@
1
- @keyframes arrow-green-flash {
2
- 0% {
3
- color: #abefc6;
4
- }
5
- 100% {
6
- color: #079455;
7
- }
8
- }
9
-
10
- .animate-arrow-green-flash-1 {
11
- animation: arrow-green-flash 0.4s infinite;
12
- animation-delay: -0.2s;
13
- }
14
-
15
- .animate-arrow-green-flash-2 {
16
- animation: arrow-green-flash 0.4s infinite;
17
- animation-delay: -0.1s;
18
- }
19
-
20
- .animate-arrow-green-flash-3 {
21
- animation: arrow-green-flash 0.4s infinite;
22
- }
23
-
24
- @keyframes arrow-red-flash {
25
- 0%,
26
- 100% {
27
- color: #f97066;
28
- }
29
- 50% {
30
- color: #fecdca;
31
- }
32
- }
33
-
34
- .animate-arrow-red-flash-1 {
35
- animation: arrow-red-flash 0.4s infinite;
36
- }
37
-
38
- .animate-arrow-red-flash-2 {
39
- animation: arrow-red-flash 0.4s infinite;
40
- animation-delay: -0.1s;
41
- }
42
-
43
- .animate-arrow-red-flash-3 {
44
- animation: arrow-red-flash 0.4s infinite;
45
- animation-delay: -0.2s;
46
- }
47
-
48
- /* Animated BG */
49
- @keyframes rotate {
50
- to {
51
- transform: rotate(1turn);
52
- }
53
- }
54
-
55
- .light-rays {
56
- position: absolute;
57
- top: 0;
58
- left: 0;
59
- right: 0;
60
- bottom: 0;
61
- overflow: hidden;
62
-
63
- --first: var(--color-bg-tertiary);
64
- --second: var(--color-bg-quaternary);
65
- }
66
-
67
- .light-rays::before,
68
- .light-rays::after {
69
- content: '';
70
- position: absolute;
71
- top: var(--light-rays-top, 150px);
72
- left: calc(50% - 90px);
73
- margin: -100vmax;
74
- width: 200vmax;
75
- height: 200vmax;
76
- opacity: 0.6;
77
- transform-origin: center;
78
- }
79
-
80
- .light-rays::before {
81
- background: conic-gradient(
82
- var(--first) 0deg 7.2deg,
83
- var(--second) 7.2deg 14.4deg,
84
- var(--first) 14.4deg 21.6deg,
85
- var(--second) 21.6deg 28.8deg,
86
- var(--first) 28.8deg 36deg,
87
- var(--second) 36deg 43.2deg,
88
- var(--first) 43.2deg 50.4deg,
89
- var(--second) 50.4deg 57.6deg,
90
- var(--first) 57.6deg 64.8deg,
91
- var(--second) 64.8deg 72deg,
92
- var(--first) 72deg 79.2deg,
93
- var(--second) 79.2deg 86.4deg,
94
- var(--first) 86.4deg 93.6deg,
95
- var(--second) 93.6deg 100.8deg,
96
- var(--first) 100.8deg 108deg,
97
- var(--second) 108deg 115.2deg,
98
- var(--first) 115.2deg 122.4deg,
99
- var(--second) 122.4deg 129.6deg,
100
- var(--first) 129.6deg 136.8deg,
101
- var(--second) 136.8deg 144deg,
102
- var(--first) 144deg 151.2deg,
103
- var(--second) 151.2deg 158.4deg,
104
- var(--first) 158.4deg 165.6deg,
105
- var(--second) 165.6deg 172.8deg,
106
- var(--first) 172.8deg 180deg,
107
- var(--second) 180deg 187.2deg,
108
- var(--first) 187.2deg 194.4deg,
109
- var(--second) 194.4deg 201.6deg,
110
- var(--first) 201.6deg 208.8deg,
111
- var(--second) 208.8deg 216deg,
112
- var(--first) 216deg 223.2deg,
113
- var(--second) 223.2deg 230.4deg,
114
- var(--first) 230.4deg 237.6deg,
115
- var(--second) 237.6deg 244.8deg,
116
- var(--first) 244.8deg 252deg,
117
- var(--second) 252deg 259.2deg,
118
- var(--first) 259.2deg 266.4deg,
119
- var(--second) 266.4deg 273.6deg,
120
- var(--first) 273.6deg 280.8deg,
121
- var(--second) 280.8deg 288deg,
122
- var(--first) 288deg 295.2deg,
123
- var(--second) 295.2deg 302.4deg,
124
- var(--first) 302.4deg 309.6deg,
125
- var(--second) 309.6deg 316.8deg,
126
- var(--first) 316.8deg 324deg,
127
- var(--second) 324deg 331.2deg,
128
- var(--first) 331.2deg 338.4deg,
129
- var(--second) 338.4deg 345.6deg,
130
- var(--first) 345.6deg 352.8deg,
131
- var(--second) 352.8deg 360deg
132
- );
133
- animation: rotate 20s linear infinite;
134
- }
135
-
136
- @media (max-width: 1024px) {
137
- .light-rays::before,
138
- .light-rays::after {
139
- left: auto;
140
- right: 11%;
141
- }
142
- }
143
-
144
- /* ScrollArea.module.css */
145
- .scrollArea {
146
- overflow-y: scroll;
147
- padding-right: 4px;
148
- }
149
-
150
- /* WebKit-based browsers */
151
- .scrollArea::-webkit-scrollbar {
152
- width: 8px;
153
- }
154
-
155
- .scrollArea::-webkit-scrollbar-track {
156
- background: var(--color-bg-primary-alt);
157
- border-radius: 9999px;
158
- }
159
-
160
- .scrollArea::-webkit-scrollbar-thumb {
161
- background-color: var(--color-bg-quaternary);
162
- border-radius: 9999px;
163
- }
164
-
165
- @keyframes waveColor {
166
- 0%,
167
- 2.5% {
168
- color: var(--wave-highlight-color);
169
- }
170
- 2.51%,
171
- 100% {
172
- color: var(--color-brand-300);
173
- }
174
- }
175
-
176
- .animate-wave-color-success {
177
- --wave-highlight-color: var(--color-success-800);
178
- animation: waveColor 4s ease-in-out infinite;
179
- }
180
-
181
- .animate-wave-color-error {
182
- --wave-highlight-color: var(--color-error-600);
183
- animation: waveColor 4s ease-in-out infinite;
184
- }
1
+ @keyframes arrow-green-flash {
2
+ 0% {
3
+ color: #abefc6;
4
+ }
5
+ 100% {
6
+ color: #079455;
7
+ }
8
+ }
9
+
10
+ .animate-arrow-green-flash-1 {
11
+ animation: arrow-green-flash 0.4s infinite;
12
+ animation-delay: -0.2s;
13
+ }
14
+
15
+ .animate-arrow-green-flash-2 {
16
+ animation: arrow-green-flash 0.4s infinite;
17
+ animation-delay: -0.1s;
18
+ }
19
+
20
+ .animate-arrow-green-flash-3 {
21
+ animation: arrow-green-flash 0.4s infinite;
22
+ }
23
+
24
+ @keyframes arrow-red-flash {
25
+ 0%,
26
+ 100% {
27
+ color: #f97066;
28
+ }
29
+ 50% {
30
+ color: #fecdca;
31
+ }
32
+ }
33
+
34
+ .animate-arrow-red-flash-1 {
35
+ animation: arrow-red-flash 0.4s infinite;
36
+ }
37
+
38
+ .animate-arrow-red-flash-2 {
39
+ animation: arrow-red-flash 0.4s infinite;
40
+ animation-delay: -0.1s;
41
+ }
42
+
43
+ .animate-arrow-red-flash-3 {
44
+ animation: arrow-red-flash 0.4s infinite;
45
+ animation-delay: -0.2s;
46
+ }
47
+
48
+ /* Animated BG */
49
+ @keyframes rotate {
50
+ to {
51
+ transform: rotate(1turn);
52
+ }
53
+ }
54
+
55
+ .light-rays {
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ right: 0;
60
+ bottom: 0;
61
+ overflow: hidden;
62
+
63
+ --first: var(--color-bg-tertiary);
64
+ --second: var(--color-bg-quaternary);
65
+ }
66
+
67
+ .light-rays::before,
68
+ .light-rays::after {
69
+ content: '';
70
+ position: absolute;
71
+ top: var(--light-rays-top, 150px);
72
+ left: calc(50% - 90px);
73
+ margin: -100vmax;
74
+ width: 200vmax;
75
+ height: 200vmax;
76
+ opacity: 0.6;
77
+ transform-origin: center;
78
+ }
79
+
80
+ .light-rays::before {
81
+ background: conic-gradient(
82
+ var(--first) 0deg 7.2deg,
83
+ var(--second) 7.2deg 14.4deg,
84
+ var(--first) 14.4deg 21.6deg,
85
+ var(--second) 21.6deg 28.8deg,
86
+ var(--first) 28.8deg 36deg,
87
+ var(--second) 36deg 43.2deg,
88
+ var(--first) 43.2deg 50.4deg,
89
+ var(--second) 50.4deg 57.6deg,
90
+ var(--first) 57.6deg 64.8deg,
91
+ var(--second) 64.8deg 72deg,
92
+ var(--first) 72deg 79.2deg,
93
+ var(--second) 79.2deg 86.4deg,
94
+ var(--first) 86.4deg 93.6deg,
95
+ var(--second) 93.6deg 100.8deg,
96
+ var(--first) 100.8deg 108deg,
97
+ var(--second) 108deg 115.2deg,
98
+ var(--first) 115.2deg 122.4deg,
99
+ var(--second) 122.4deg 129.6deg,
100
+ var(--first) 129.6deg 136.8deg,
101
+ var(--second) 136.8deg 144deg,
102
+ var(--first) 144deg 151.2deg,
103
+ var(--second) 151.2deg 158.4deg,
104
+ var(--first) 158.4deg 165.6deg,
105
+ var(--second) 165.6deg 172.8deg,
106
+ var(--first) 172.8deg 180deg,
107
+ var(--second) 180deg 187.2deg,
108
+ var(--first) 187.2deg 194.4deg,
109
+ var(--second) 194.4deg 201.6deg,
110
+ var(--first) 201.6deg 208.8deg,
111
+ var(--second) 208.8deg 216deg,
112
+ var(--first) 216deg 223.2deg,
113
+ var(--second) 223.2deg 230.4deg,
114
+ var(--first) 230.4deg 237.6deg,
115
+ var(--second) 237.6deg 244.8deg,
116
+ var(--first) 244.8deg 252deg,
117
+ var(--second) 252deg 259.2deg,
118
+ var(--first) 259.2deg 266.4deg,
119
+ var(--second) 266.4deg 273.6deg,
120
+ var(--first) 273.6deg 280.8deg,
121
+ var(--second) 280.8deg 288deg,
122
+ var(--first) 288deg 295.2deg,
123
+ var(--second) 295.2deg 302.4deg,
124
+ var(--first) 302.4deg 309.6deg,
125
+ var(--second) 309.6deg 316.8deg,
126
+ var(--first) 316.8deg 324deg,
127
+ var(--second) 324deg 331.2deg,
128
+ var(--first) 331.2deg 338.4deg,
129
+ var(--second) 338.4deg 345.6deg,
130
+ var(--first) 345.6deg 352.8deg,
131
+ var(--second) 352.8deg 360deg
132
+ );
133
+ animation: rotate 20s linear infinite;
134
+ }
135
+
136
+ @media (max-width: 1024px) {
137
+ .light-rays::before,
138
+ .light-rays::after {
139
+ left: auto;
140
+ right: 11%;
141
+ }
142
+ }
143
+
144
+ /* ScrollArea.module.css */
145
+ .scrollArea {
146
+ overflow-y: scroll;
147
+ padding-right: 4px;
148
+ }
149
+
150
+ /* WebKit-based browsers */
151
+ .scrollArea::-webkit-scrollbar {
152
+ width: 8px;
153
+ }
154
+
155
+ .scrollArea::-webkit-scrollbar-track {
156
+ background: var(--color-bg-primary-alt);
157
+ border-radius: 9999px;
158
+ }
159
+
160
+ .scrollArea::-webkit-scrollbar-thumb {
161
+ background-color: var(--color-bg-quaternary);
162
+ border-radius: 9999px;
163
+ }
164
+
165
+ @keyframes waveColor {
166
+ 0%,
167
+ 2.5% {
168
+ color: var(--wave-highlight-color);
169
+ }
170
+ 2.51%,
171
+ 100% {
172
+ color: var(--color-brand-300);
173
+ }
174
+ }
175
+
176
+ .animate-wave-color-success {
177
+ --wave-highlight-color: var(--color-success-800);
178
+ animation: waveColor 4s ease-in-out infinite;
179
+ }
180
+
181
+ .animate-wave-color-error {
182
+ --wave-highlight-color: var(--color-error-600);
183
+ animation: waveColor 4s ease-in-out infinite;
184
+ }
@@ -0,0 +1,9 @@
1
+ import type React from 'react';
2
+ import type { TournamentLeaderboard } from '../../../types';
3
+ interface TournamentTableProps {
4
+ leaderboard: TournamentLeaderboard[];
5
+ rewardSettings: Partial<Record<string, string>>;
6
+ winnersCount: number;
7
+ }
8
+ export declare const TournamentTable: React.FC<TournamentTableProps>;
9
+ export default TournamentTable;
@@ -0,0 +1,94 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { ArrowLeftIcon } from '../../../icons/ArrowLeftIcon.js';
5
+ import { ArrowRightIcon } from '../../../icons/ArrowRightIcon.js';
6
+ import { maskName } from '../../Jackpots/utils.js';
7
+ export const TournamentTable = ({ leaderboard, rewardSettings, winnersCount, }) => {
8
+ // State
9
+ const [isMobile, setIsMobile] = useState(false);
10
+ const [currentPage, setCurrentPage] = useState(1);
11
+ // Memoized values
12
+ const prizeAmountsByRank = useMemo(() => Object.values(rewardSettings).map(Number), [rewardSettings]);
13
+ const itemsPerTable = useMemo(() => (isMobile ? 10 : 5), [isMobile]);
14
+ const tablesPerPage = useMemo(() => (isMobile ? 1 : 2), [isMobile]);
15
+ const itemsPerPage = useMemo(() => tablesPerPage * itemsPerTable, [tablesPerPage, itemsPerTable]);
16
+ const numberOfPages = useMemo(() => Math.ceil(leaderboard.length / itemsPerPage) || 1, [leaderboard.length, itemsPerPage]);
17
+ const canGoPrev = useMemo(() => currentPage > 1, [currentPage]);
18
+ const canGoNext = useMemo(() => currentPage < numberOfPages, [currentPage, numberOfPages]);
19
+ // Format currency
20
+ const formatCurrency = useCallback((amount) => new Intl.NumberFormat('en-US', {
21
+ style: 'currency',
22
+ currency: 'PHP',
23
+ minimumFractionDigits: 2,
24
+ maximumFractionDigits: 2,
25
+ }).format(amount), []);
26
+ // Pagination functions
27
+ const goPrev = useCallback(() => {
28
+ if (canGoPrev)
29
+ setCurrentPage((prev) => prev - 1);
30
+ }, [canGoPrev]);
31
+ const goNext = useCallback(() => {
32
+ if (canGoNext)
33
+ setCurrentPage((prev) => prev + 1);
34
+ }, [canGoNext]);
35
+ // Responsive check
36
+ useEffect(() => {
37
+ if (typeof window === 'undefined')
38
+ return;
39
+ const checkWidth = () => {
40
+ setIsMobile(window.innerWidth < 1024);
41
+ };
42
+ checkWidth();
43
+ window.addEventListener('resize', checkWidth);
44
+ return () => window.removeEventListener('resize', checkWidth);
45
+ }, []);
46
+ // Get table data for specific table
47
+ const getTableData = useCallback((tableIndex) => {
48
+ const startIndex = (currentPage - 1) * itemsPerPage + tableIndex * itemsPerTable;
49
+ const endIndex = (currentPage - 1) * itemsPerPage + (tableIndex + 1) * itemsPerTable;
50
+ if (leaderboard.length > 0) {
51
+ return leaderboard.slice(startIndex, endIndex);
52
+ }
53
+ // Return empty rows if no leaderboard data
54
+ return Array(itemsPerTable)
55
+ .fill(null)
56
+ .map((_, i) => ({
57
+ id: `empty-${startIndex + i}`,
58
+ rank: startIndex + i + 1,
59
+ isEmpty: true,
60
+ }));
61
+ }, [currentPage, itemsPerPage, itemsPerTable, leaderboard]);
62
+ // Table row component
63
+ const TableRow = ({ winner, rank, isEmpty = false, idx }) => {
64
+ const isWinner = rank <= winnersCount;
65
+ const isOddRow = (idx + 1) % 2 === 1;
66
+ const rowClass = twMerge('h-[72px] text-center text-[#94969C] text-sm lg:h-[57px]', isWinner
67
+ ? isOddRow
68
+ ? 'bg-[#041B27] text-[#F5F5F6]'
69
+ : 'bg-[#071724] text-[#F5F5F6]'
70
+ : 'bg-[#0C111D]');
71
+ if (isEmpty) {
72
+ return (_jsxs("tr", { className: rowClass, children: [_jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: rank }), _jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: "-" }), _jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: "-" }), _jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: "-" }), _jsx("td", { className: twMerge('border-[#1F242F] border-b px-4 py-2', isMobile && 'hidden'), children: "-" })] }));
73
+ }
74
+ return (_jsxs("tr", { className: rowClass, children: [_jsx("td", { className: "w-[57px] border-[#1F242F] border-b px-4 py-2", children: rank }), _jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: maskName(winner?.username || '') }), _jsxs("td", { className: "border-[#1F242F] border-b px-4 py-2", children: [winner?.multiplier, "x"] }), _jsx("td", { className: "border-[#1F242F] border-b px-4 py-2", children: rank <= prizeAmountsByRank.length
75
+ ? formatCurrency(prizeAmountsByRank[rank - 1])
76
+ : '' }), _jsx("td", { className: twMerge('border-[#1F242F] border-b px-4 py-2', isMobile && 'hidden'), children: winner?.dateTimeCreated
77
+ ? new Date(winner.dateTimeCreated).toLocaleString()
78
+ : '-' })] }));
79
+ };
80
+ // Single table component
81
+ const Table = ({ tableIndex }) => {
82
+ const tableData = getTableData(tableIndex);
83
+ const baseIndex = (currentPage - 1) * itemsPerPage + tableIndex * itemsPerTable;
84
+ return (_jsx("div", { className: "flex-1 overflow-hidden rounded-t-lg border border-[#1f242f] bg-[#0C111D] shadow-xs lg:rounded-lg", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "h-[44px] bg-[#0C111D] text-[#94969C] text-xs", children: [_jsx("th", { className: "w-[57px] border-[#1F242F] border-b", children: "#" }), _jsx("th", { className: "border-[#1F242F] border-b", children: "Player" }), _jsx("th", { className: "border-[#1F242F] border-b", children: "Multiplier" }), _jsx("th", { className: "border-[#1F242F] border-b", children: "Prize" }), _jsx("th", { className: twMerge('border-[#1F242F] border-b', isMobile && 'hidden'), children: "Timestamp" })] }) }), _jsx("tbody", { children: tableData.map((item, idx) => {
85
+ const globalRank = baseIndex + idx + 1;
86
+ if ('isEmpty' in item) {
87
+ return (_jsx(TableRow, { rank: globalRank, isEmpty: true, idx: idx }, `empty-${globalRank}`));
88
+ }
89
+ return (_jsx(TableRow, { winner: item, rank: globalRank, idx: idx }, item.id || `winner-${globalRank}`));
90
+ }) })] }) }));
91
+ };
92
+ return (_jsxs("div", { className: "mt-4 flex flex-col gap-0 lg:gap-7", children: [_jsx("div", { className: "flex gap-[10px]", children: Array.from({ length: tablesPerPage }, (_, tableIndex) => (_jsx(Table, { tableIndex: tableIndex }, tableIndex))) }), _jsxs("div", { className: 'hidden items-center justify-between pb-4 pl-1 text-[#CECFD2] text-sm lg:flex', children: [_jsxs("div", { className: "font-medium", children: ["Page ", currentPage, " of ", numberOfPages] }), _jsxs("div", { className: "flex gap-3 font-semibold", children: [_jsx("button", { type: "button", onClick: goPrev, disabled: !canGoPrev, className: "rounded-lg border border-[#333741] px-[14px] py-2 disabled:cursor-not-allowed disabled:text-[#98A2B3]", children: "Previous" }), _jsx("button", { type: "button", onClick: goNext, disabled: !canGoNext, className: "rounded-lg border border-[#333741] px-[14px] py-2 disabled:cursor-not-allowed disabled:text-[#98A2B3]", children: "Next" })] })] }), _jsxs("div", { className: "flex items-center justify-between rounded-b-lg border-none bg-[#0C111D] px-4 py-3 text-sm lg:hidden", children: [_jsxs("button", { type: "button", onClick: goPrev, disabled: !canGoPrev, className: "flex h-9 w-9 items-center justify-center rounded-lg border border-[#333741] bg-[#0C111D] text-[#CECFD2] disabled:cursor-not-allowed disabled:text-[#85888E]", children: [_jsx("span", { className: "sr-only", children: "Previous" }), _jsx(ArrowLeftIcon, { className: "size-5" })] }), _jsxs("p", { className: "text-[#CECFD2]", children: ["Page ", currentPage, " of ", numberOfPages] }), _jsxs("button", { type: "button", onClick: goNext, disabled: !canGoNext, className: "flex h-9 w-9 items-center justify-center rounded-lg border border-[#333741] bg-[#0C111D] text-[#CECFD2] disabled:cursor-not-allowed disabled:text-[#85888E]", children: [_jsx("span", { className: "sr-only", children: "Next" }), _jsx(ArrowRightIcon, { className: "size-5" })] })] })] }));
93
+ };
94
+ export default TournamentTable;
@@ -0,0 +1,9 @@
1
+ import type React from 'react';
2
+ import type { TournamentLeaderboard } from '../../../types';
3
+ interface TournamentTableProps {
4
+ leaderboard: TournamentLeaderboard[];
5
+ rewardSettings: Partial<Record<string, string>>;
6
+ winnersCount: number;
7
+ }
8
+ export declare const TournamentTable: React.FC<TournamentTableProps>;
9
+ export default TournamentTable;
@@ -0,0 +1,94 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { ArrowLeftIcon } from '../../../icons/ArrowLeftIcon.js';
5
+ import { ArrowRightIcon } from '../../../icons/ArrowRightIcon.js';
6
+ import { maskName } from '../../Jackpots/utils.js';
7
+ export const TournamentTable = ({ leaderboard, rewardSettings, winnersCount, }) => {
8
+ // State
9
+ const [isMobile, setIsMobile] = useState(false);
10
+ const [currentPage, setCurrentPage] = useState(1);
11
+ // Memoized values
12
+ const prizeAmountsByRank = useMemo(() => Object.values(rewardSettings).map(Number), [rewardSettings]);
13
+ const itemsPerTable = useMemo(() => (isMobile ? 10 : 5), [isMobile]);
14
+ const tablesPerPage = useMemo(() => (isMobile ? 1 : 2), [isMobile]);
15
+ const itemsPerPage = useMemo(() => tablesPerPage * itemsPerTable, [tablesPerPage, itemsPerTable]);
16
+ const numberOfPages = useMemo(() => Math.ceil(leaderboard.length / itemsPerPage) || 1, [leaderboard.length, itemsPerPage]);
17
+ const canGoPrev = useMemo(() => currentPage > 1, [currentPage]);
18
+ const canGoNext = useMemo(() => currentPage < numberOfPages, [currentPage, numberOfPages]);
19
+ // Format currency
20
+ const formatCurrency = useCallback((amount) => new Intl.NumberFormat('en-US', {
21
+ style: 'currency',
22
+ currency: 'PHP',
23
+ minimumFractionDigits: 2,
24
+ maximumFractionDigits: 2,
25
+ }).format(amount), []);
26
+ // Pagination functions
27
+ const goPrev = useCallback(() => {
28
+ if (canGoPrev)
29
+ setCurrentPage((prev) => prev - 1);
30
+ }, [canGoPrev]);
31
+ const goNext = useCallback(() => {
32
+ if (canGoNext)
33
+ setCurrentPage((prev) => prev + 1);
34
+ }, [canGoNext]);
35
+ // Responsive check
36
+ useEffect(() => {
37
+ if (typeof window === 'undefined')
38
+ return;
39
+ const checkWidth = () => {
40
+ setIsMobile(window.innerWidth < 1024);
41
+ };
42
+ checkWidth();
43
+ window.addEventListener('resize', checkWidth);
44
+ return () => window.removeEventListener('resize', checkWidth);
45
+ }, []);
46
+ // Get table data for specific table
47
+ const getTableData = useCallback((tableIndex) => {
48
+ const startIndex = (currentPage - 1) * itemsPerPage + tableIndex * itemsPerTable;
49
+ const endIndex = (currentPage - 1) * itemsPerPage + (tableIndex + 1) * itemsPerTable;
50
+ if (leaderboard.length > 0) {
51
+ return leaderboard.slice(startIndex, endIndex);
52
+ }
53
+ // Return empty rows if no leaderboard data
54
+ return Array(itemsPerTable)
55
+ .fill(null)
56
+ .map((_, i) => ({
57
+ id: `empty-${startIndex + i}`,
58
+ rank: startIndex + i + 1,
59
+ isEmpty: true,
60
+ }));
61
+ }, [currentPage, itemsPerPage, itemsPerTable, leaderboard]);
62
+ // Table row component
63
+ const TableRow = ({ winner, rank, isEmpty = false, idx }) => {
64
+ const isWinner = rank <= winnersCount;
65
+ const isOddRow = (idx + 1) % 2 === 1;
66
+ const rowClass = twMerge('h-[72px] text-center text-[#475467] text-sm lg:h-[57px] dark:text-[#94969C]', isWinner
67
+ ? isOddRow
68
+ ? 'bg-[#FEEE95] dark:bg-[#854A0E] dark:text-[#F5F5F6]'
69
+ : 'bg-[#FEF7C3] dark:bg-[#CA8504] dark:text-[#F5F5F6]'
70
+ : 'dark:bg-[#0C111D]');
71
+ if (isEmpty) {
72
+ return (_jsxs("tr", { className: rowClass, children: [_jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: rank }), _jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: "-" }), _jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: "-" }), _jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: "-" }), _jsx("td", { className: twMerge('border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]', isMobile && 'hidden'), children: "-" })] }));
73
+ }
74
+ return (_jsxs("tr", { className: rowClass, children: [_jsx("td", { className: "w-[57px] border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: rank }), _jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: maskName(winner?.username || '') }), _jsxs("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: [winner?.multiplier, "x"] }), _jsx("td", { className: "border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]", children: rank <= prizeAmountsByRank.length
75
+ ? formatCurrency(prizeAmountsByRank[rank - 1])
76
+ : '' }), _jsx("td", { className: twMerge('border-[#EAECF0] border-b px-4 py-2 dark:border-[#1F242F]', isMobile && 'hidden'), children: winner?.dateTimeCreated
77
+ ? new Date(winner.dateTimeCreated).toLocaleString()
78
+ : '-' })] }));
79
+ };
80
+ // Single table component
81
+ const Table = ({ tableIndex }) => {
82
+ const tableData = getTableData(tableIndex);
83
+ const baseIndex = (currentPage - 1) * itemsPerPage + tableIndex * itemsPerTable;
84
+ return (_jsx("div", { className: "flex-1 overflow-hidden rounded-t-lg border border-[#eaecf0] shadow-xs lg:rounded-lg dark:border-[#1f242f] dark:bg-[#0C111D]", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { children: _jsxs("tr", { className: "h-[44px] text-[#475467] text-xs dark:bg-[#0C111D] dark:text-[#94969C]", children: [_jsx("th", { className: "w-[57px] border-[#EAECF0] border-b dark:border-[#1F242F]", children: "#" }), _jsx("th", { className: "border-[#EAECF0] border-b dark:border-[#1F242F]", children: "Player" }), _jsx("th", { className: "border-[#EAECF0] border-b dark:border-[#1F242F]", children: "Multiplier" }), _jsx("th", { className: "border-[#EAECF0] border-b dark:border-[#1F242F]", children: "Prize" }), _jsx("th", { className: twMerge('border-[#EAECF0] border-b dark:border-[#1F242F]', isMobile && 'hidden'), children: "Timestamp" })] }) }), _jsx("tbody", { children: tableData.map((item, idx) => {
85
+ const globalRank = baseIndex + idx + 1;
86
+ if ('isEmpty' in item) {
87
+ return (_jsx(TableRow, { rank: globalRank, isEmpty: true, idx: idx }, `empty-${globalRank}`));
88
+ }
89
+ return (_jsx(TableRow, { winner: item, rank: globalRank, idx: idx }, item.id || `winner-${globalRank}`));
90
+ }) })] }) }));
91
+ };
92
+ return (_jsxs("div", { className: "mt-4 flex flex-col gap-0 lg:gap-7", children: [_jsx("div", { className: "flex gap-[10px]", children: Array.from({ length: tablesPerPage }, (_, tableIndex) => (_jsx(Table, { tableIndex: tableIndex }, tableIndex))) }), _jsxs("div", { className: "hidden items-center justify-between pl-1 text-[#344054] text-sm lg:flex dark:text-[#CECFD2]", children: [_jsxs("div", { className: "font-medium", children: ["Page ", currentPage, " of ", numberOfPages] }), _jsxs("div", { className: "flex gap-3 font-semibold", children: [_jsx("button", { type: "button", onClick: goPrev, disabled: !canGoPrev, className: "rounded-lg border border-[#D0D5DD] px-[14px] py-2 disabled:cursor-not-allowed disabled:text-[#98A2B3] dark:border-[#333741]", children: "Previous" }), _jsx("button", { type: "button", onClick: goNext, disabled: !canGoNext, className: "rounded-lg border border-[#D0D5DD] px-[14px] py-2 disabled:cursor-not-allowed disabled:text-[#98A2B3] dark:border-[#333741]", children: "Next" })] })] }), _jsxs("div", { className: "flex items-center justify-between rounded-b-lg border border-[#eaecf0] px-4 py-3 text-sm lg:hidden dark:border-none dark:bg-[#0C111D]", children: [_jsxs("button", { type: "button", onClick: goPrev, disabled: !canGoPrev, className: "flex h-9 w-9 items-center justify-center rounded-lg border border-[#D0D5DD] bg-white text-[#344054] disabled:cursor-not-allowed disabled:text-[#98A2B3] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#CECFD2] dark:disabled:text-[#85888E]", children: [_jsx("span", { className: "sr-only", children: "Previous" }), _jsx(ArrowLeftIcon, { className: "size-5" })] }), _jsxs("p", { className: "text-[#344054] dark:text-[#CECFD2]", children: ["Page ", currentPage, " of ", numberOfPages] }), _jsxs("button", { type: "button", onClick: goNext, disabled: !canGoNext, className: "flex h-9 w-9 items-center justify-center rounded-lg border border-[#D0D5DD] bg-white text-[#344054] disabled:cursor-not-allowed disabled:text-[#98A2B3] dark:border-[#333741] dark:bg-[#0C111D] dark:text-[#CECFD2] dark:disabled:text-[#85888E]", children: [_jsx("span", { className: "sr-only", children: "Next" }), _jsx(ArrowRightIcon, { className: "size-5" })] })] })] }));
93
+ };
94
+ export default TournamentTable;
@@ -29,6 +29,7 @@ interface StyleEntries {
29
29
  leaderboardSection?: CSSProperties;
30
30
  }
31
31
  export interface TournamentsListProps {
32
+ variant?: 'happybingo' | 'crazywin';
32
33
  layout: 'list';
33
34
  /** @default "Tournaments" */
34
35
  heading?: string | ReactNode;
@@ -6,6 +6,8 @@ import { useTournamentsQuery } from '../../../client/hooks/useTournamentsQuery.j
6
6
  import closeChest from '../../../images/close-chest.png';
7
7
  import { isStyleEntries } from '../../../utils/isStyleEntries.js';
8
8
  import { TournamentsListItemContext, TournamentsListPropsContext, } from './TournamentsListContext.js';
9
+ import { TournamentsListItemCrazyWin } from './TournamentsListItem.CrazyWin.js';
10
+ import { TournamentsListItemHappyBingo } from './TournamentsListItem.HappyBingo.js';
9
11
  import { TournamentsListItemDesktop } from './TournamentsListItemDesktop.js';
10
12
  import { TournamentsListItemMobile } from './TournamentsListItemMobile.js';
11
13
  export function TournamentsList({ style, className, ...props }) {
@@ -30,7 +32,7 @@ export function TournamentsList({ style, className, ...props }) {
30
32
  const classNames = isString(className)
31
33
  ? { root: className }
32
34
  : (className ?? {});
33
- return (_jsx(TournamentsListPropsContext, { value: props, children: _jsxs("div", { style: styles.root, className: classNames.root, children: [_jsx("div", { className: "mb-3 font-semibold text-lg lg:mb-4.5", children: props.heading ?? 'Tournaments' }), tournaments.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden flex-col gap-6 lg:flex", children: tournaments.map((tournament) => (_jsx(TournamentsListItemContext, { value: tournament, children: _jsx(TournamentsListItemDesktop, { style: {
35
+ return (_jsx(TournamentsListPropsContext, { value: props, children: _jsxs("div", { style: styles.root, className: classNames.root, children: [_jsx("div", { className: "mb-3 font-semibold text-lg lg:mb-4.5", children: props.heading ?? 'Tournaments' }), tournaments.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden flex-col gap-6 lg:flex", children: tournaments.map((tournament, index) => (_jsx(TournamentsListItemContext, { value: tournament, children: props.variant === 'happybingo' ? (_jsx(TournamentsListItemHappyBingo, { index: index })) : props.variant === 'crazywin' ? (_jsx(TournamentsListItemCrazyWin, { index: index })) : (_jsx(TournamentsListItemDesktop, { style: {
34
36
  ...styles,
35
37
  root: styles.itemRoot,
36
38
  outerRoot: styles.itemOuterRoot,
@@ -44,7 +46,7 @@ export function TournamentsList({ style, className, ...props }) {
44
46
  badgeRoot: classNames.itemBadgeRoot,
45
47
  badgeLabel: classNames.itemBadgeLabel,
46
48
  badgeIcon: classNames.itemBadgeIcon,
47
- }, startStyle: props.startStyle }) }, tournament.id))) }), _jsx("div", { className: "flex flex-col gap-6 lg:hidden", children: tournaments.map((tournament) => (_jsx(TournamentsListItemContext, { value: tournament, children: _jsx(TournamentsListItemMobile, { style: {
49
+ }, startStyle: props.startStyle })) }, tournament.id))) }), _jsx("div", { className: "flex flex-col gap-6 lg:hidden", children: tournaments.map((tournament, index) => (_jsx(TournamentsListItemContext, { value: tournament, children: props.variant === 'happybingo' ? (_jsx(TournamentsListItemHappyBingo, { index: index })) : props.variant === 'crazywin' ? (_jsx(TournamentsListItemCrazyWin, { index: index })) : (_jsx(TournamentsListItemMobile, { style: {
48
50
  ...styles,
49
51
  root: styles.itemRoot,
50
52
  outerRoot: styles.itemOuterRoot,
@@ -58,5 +60,5 @@ export function TournamentsList({ style, className, ...props }) {
58
60
  badgeRoot: classNames.itemBadgeRoot,
59
61
  badgeLabel: classNames.itemBadgeLabel,
60
62
  badgeIcon: classNames.itemBadgeIcon,
61
- }, startStyle: props.startStyle }) }, tournament.id))) })] })) : (_jsxs("div", { className: "mt-11 flex flex-col items-center justify-center", children: [_jsx(Image, { width: 100, height: 100, src: closeChest, alt: "closeChest", className: "size-full h-29.5 w-29.5 mix-blend-luminosity lg:h-25 lg:w-25" }), _jsx("div", { className: "mt-4 font-semibold text-base text-text-primary-900", children: "No Tournaments" }), _jsxs("div", { className: "mt-1 text-center text-sm text-text-tertiary-600", children: ["No tournaments are running at the moment. ", _jsx("br", {}), "Please check back later!"] })] }))] }) }));
63
+ }, startStyle: props.startStyle })) }, tournament.id))) })] })) : (_jsxs("div", { className: "mt-11 flex flex-col items-center justify-center", children: [_jsx(Image, { width: 100, height: 100, src: closeChest, alt: "closeChest", className: "size-full h-29.5 w-29.5 mix-blend-luminosity lg:h-25 lg:w-25" }), _jsx("div", { className: "mt-4 font-semibold text-base text-text-primary-900", children: "No Tournaments" }), _jsxs("div", { className: "mt-1 text-center text-sm text-text-tertiary-600", children: ["No tournaments are running at the moment. ", _jsx("br", {}), "Please check back later!"] })] }))] }) }));
62
64
  }
@@ -0,0 +1,3 @@
1
+ export declare function TournamentsListItemCrazyWin({ index }: {
2
+ index: number;
3
+ }): import("react/jsx-runtime").JSX.Element;