@opexa/portal-components 0.0.83 β 0.0.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/hooks/useAccountQuery.d.ts +1 -2
- package/dist/client/hooks/useAccountQuery.js +1 -4
- package/dist/client/hooks/useAuthenticateMutation.d.ts +1 -1
- package/dist/client/hooks/useAvailablePromosQuery.d.ts +2 -2
- package/dist/client/hooks/useAvailablePromosQuery.js +1 -4
- package/dist/client/hooks/useAvailableQuestsQuery.d.ts +1 -2
- package/dist/client/hooks/useAvailableQuestsQuery.js +1 -4
- package/dist/client/hooks/useBetRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useBetRecordsQuery.js +1 -4
- package/dist/client/hooks/useBonusQuery.d.ts +1 -2
- package/dist/client/hooks/useBonusQuery.js +3 -8
- package/dist/client/hooks/useBonusesQuery.d.ts +1 -2
- package/dist/client/hooks/useBonusesQuery.js +1 -4
- package/dist/client/hooks/useCashbackBonusQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackBonusQuery.js +1 -4
- package/dist/client/hooks/useCashbackBonusesQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackBonusesQuery.js +1 -4
- package/dist/client/hooks/useCashbackQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbackQuery.js +3 -12
- package/dist/client/hooks/useCashbacksQuery.d.ts +1 -2
- package/dist/client/hooks/useCashbacksQuery.js +1 -6
- package/dist/client/hooks/useCheckInDailyCheckInQuestMutation.js +3 -6
- package/dist/client/hooks/useClaimCashbackBonusMutation.js +1 -4
- package/dist/client/hooks/useClaimSpotBonusMutation.js +1 -4
- package/dist/client/hooks/useCreateGCashDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateGCashDepositMutation.js +2 -7
- package/dist/client/hooks/useCreateGCashWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateGCashWithdrawalMutation.js +2 -5
- package/dist/client/hooks/useCreateGameSessionMutation.d.ts +1 -2
- package/dist/client/hooks/useCreateGameSessionMutation.js +3 -11
- package/dist/client/hooks/useCreateInstapayWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateInstapayWithdrawalMutation.js +2 -5
- package/dist/client/hooks/useCreateMayaAppDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateMayaAppDepositMutation.js +2 -7
- package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateMayaAppWithdrawalMutation.js +2 -5
- package/dist/client/hooks/useCreateMayaDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateMayaDepositMutation.js +2 -7
- package/dist/client/hooks/useCreateMayaWithdrawalMutation.d.ts +1 -1
- package/dist/client/hooks/useCreateMayaWithdrawalMutation.js +2 -5
- package/dist/client/hooks/useCreateOnlineBankDepositMutation.d.ts +2 -2
- package/dist/client/hooks/useCreateOnlineBankDepositMutation.js +2 -7
- package/dist/client/hooks/useCreateQRPHDepositMutation.d.ts +3 -3
- package/dist/client/hooks/useCreateQRPHDepositMutation.js +2 -7
- package/dist/client/hooks/useDepositQuery.d.ts +1 -2
- package/dist/client/hooks/useDepositQuery.js +3 -5
- package/dist/client/hooks/useDepositRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useDepositRecordsQuery.js +1 -4
- package/dist/client/hooks/useDepositsCountQuery.js +3 -5
- package/dist/client/hooks/useEndGameSessionMutation.d.ts +1 -2
- package/dist/client/hooks/useEndGameSessionMutation.js +2 -6
- package/dist/client/hooks/useFavoriteGamesQuery.d.ts +1 -2
- package/dist/client/hooks/useFavoriteGamesQuery.js +3 -5
- package/dist/client/hooks/useGamesQuery.d.ts +2 -2
- package/dist/client/hooks/useGamesQuery.js +1 -7
- package/dist/client/hooks/useGlobalStore.d.ts +1 -1
- package/dist/client/hooks/useInfiniteQueryHelper.d.ts +1 -2
- package/dist/client/hooks/useInstapayBankListQuery.d.ts +1 -2
- package/dist/client/hooks/useInstapayBankListQuery.js +3 -5
- package/dist/client/hooks/useIsMayaSessionValidQuery.js +1 -4
- package/dist/client/hooks/useJackpotPayoutsQuery.d.ts +2 -2
- package/dist/client/hooks/useJackpotPayoutsQuery.js +2 -9
- package/dist/client/hooks/useJackpotsQuery.d.ts +2 -2
- package/dist/client/hooks/useJackpotsQuery.js +2 -9
- package/dist/client/hooks/useMarkGameAsFavoriteMutation.js +1 -4
- package/dist/client/hooks/useMarkMessageAsReadMutation.js +1 -4
- package/dist/client/hooks/useMemberVerificationQuery.d.ts +1 -2
- package/dist/client/hooks/useMemberVerificationQuery.js +1 -4
- package/dist/client/hooks/useMessagesQuery.d.ts +2 -2
- package/dist/client/hooks/useMessagesQuery.js +1 -4
- package/dist/client/hooks/usePaymentSettingsQuery.d.ts +1 -2
- package/dist/client/hooks/usePaymentSettingsQuery.js +1 -4
- package/dist/client/hooks/usePlatformQuery.d.ts +1 -2
- package/dist/client/hooks/usePlatformQuery.js +3 -8
- package/dist/client/hooks/useProfileCompletionQuery.d.ts +1 -2
- package/dist/client/hooks/useProfileCompletionQuery.js +1 -4
- package/dist/client/hooks/usePromoQuery.d.ts +1 -2
- package/dist/client/hooks/usePromoQuery.js +3 -12
- package/dist/client/hooks/usePromosQuery.d.ts +1 -2
- package/dist/client/hooks/usePromosQuery.js +2 -9
- package/dist/client/hooks/useSendVerificationCodeMutation.d.ts +1 -1
- package/dist/client/hooks/useSendVerificationCodeMutation.js +2 -8
- package/dist/client/hooks/useSessionQuery.js +2 -2
- package/dist/client/hooks/useSignInMutation.d.ts +1 -2
- package/dist/client/hooks/useSignUpMutation.d.ts +1 -1
- package/dist/client/hooks/useSignUpMutation.js +2 -11
- package/dist/client/hooks/useTopWinsQuery.d.ts +1 -2
- package/dist/client/hooks/useTopWinsQuery.js +3 -9
- package/dist/client/hooks/useTournamentsQuery.d.ts +2 -2
- package/dist/client/hooks/useTournamentsQuery.js +2 -9
- package/dist/client/hooks/useTransactionRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useTransactionRecordsQuery.js +1 -4
- package/dist/client/hooks/useUnmarkGameAsFavoriteMutation.js +1 -4
- package/dist/client/hooks/useUnreadMessagesCountQuery.d.ts +1 -1
- package/dist/client/hooks/useUnreadMessagesCountQuery.js +1 -4
- package/dist/client/hooks/useUpdateAccountMutation.d.ts +1 -1
- package/dist/client/hooks/useUpdateAccountMutation.js +1 -4
- package/dist/client/hooks/useWalletQuery.d.ts +1 -2
- package/dist/client/hooks/useWalletQuery.js +3 -10
- package/dist/client/hooks/useWithdrawalRecordsQuery.d.ts +2 -2
- package/dist/client/hooks/useWithdrawalRecordsQuery.js +1 -4
- package/dist/client/services/authenticate.d.ts +3 -2
- package/dist/client/services/authenticate.js +5 -12
- package/dist/client/services/getSession.d.ts +2 -1
- package/dist/client/services/getSession.js +4 -11
- package/dist/client/services/signIn.d.ts +4 -2
- package/dist/client/services/signIn.js +6 -13
- package/dist/client/services/signOut.d.ts +2 -1
- package/dist/client/services/signOut.js +15 -13
- package/dist/components/AccountSecurity/AccountSecurity.js +2 -25
- package/dist/components/BetRecords/BetRecords.d.ts +1 -1
- package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/OnlineBankDepositContext.d.ts +2 -2
- package/dist/components/DepositWithdrawal/Deposit/OnlineBankDeposit/useOnlineBankDeposit.d.ts +1 -1
- package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositContext.d.ts +2 -2
- package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/useQRPHDeposit.d.ts +1 -1
- package/dist/components/GameLaunch/GameLaunchTrigger.d.ts +1 -1
- package/dist/components/GameProviders/GameProvidersCarousel.d.ts +1 -2
- package/dist/components/GameProviders/GameProvidersList.d.ts +1 -2
- package/dist/components/Games/GamesCarousel.d.ts +1 -1
- package/dist/components/Games/GamesContext.d.ts +1 -1
- package/dist/components/Games/GamesList.d.ts +1 -1
- package/dist/components/GamesSearch/GamesSearch.d.ts +1 -1
- package/dist/components/JackpotCounter/JackpotCounterItem.d.ts +1 -1
- package/dist/components/JackpotCounter/JackpotCounterItem.module.css +184 -184
- package/dist/components/Jackpots/Jackpots.d.ts +1 -1
- package/dist/components/Jackpots/JackpotsContext.d.ts +1 -1
- package/dist/components/Jackpots/useJackpotData.d.ts +2 -2
- package/dist/components/Jackpots/useJackpotData.js +0 -1
- package/dist/components/Messages/Message.d.ts +4 -0
- package/dist/components/Messages/{MessageItem.js β Message.js} +2 -2
- package/dist/components/Messages/MessageTrigger.d.ts +1 -1
- package/dist/components/Messages/Messages.js +2 -2
- package/dist/components/Messages/utils.d.ts +1 -1
- package/dist/components/Promos/Cashback.d.ts +1 -1
- package/dist/components/Promos/Promo.d.ts +1 -1
- package/dist/components/Quests/DailyCheckInQuest/DailyCheckInQuest.d.ts +1 -1
- package/dist/components/Quests/OnboardingQuest/OnboardingQuest.d.ts +1 -1
- package/dist/components/Quests/WageringQuest/WageringQuest.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +1 -2
- package/dist/components/SignUp/SignUpForm.js +1 -1
- package/dist/components/TournamentCounter/TournamentCounterItem.d.ts +1 -1
- package/dist/components/Tournaments/Tournaments.d.ts +1 -1
- package/dist/components/Tournaments/TournamentsContext.d.ts +1 -1
- package/dist/components/Tournaments/useTournamentData.js +0 -1
- package/dist/components/TransactionRecords/DepositRecordsTable.js +0 -1
- package/dist/components/TransactionRecords/TableFilters.d.ts +1 -2
- package/dist/constants/endpoints.d.ts +10 -0
- package/dist/constants/endpoints.js +41 -0
- package/dist/constants/gameProviders.d.ts +1 -2
- package/dist/constants/gameTypes.d.ts +1 -2
- package/dist/constants/headerKeys.d.ts +1 -0
- package/dist/constants/headerKeys.js +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/secretQuestions.d.ts +1 -1
- package/dist/handlers.js +2 -12
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +2 -3
- package/dist/server/services/authenticate.d.ts +1 -1
- package/dist/server/services/authenticate.js +3 -8
- package/dist/server/services/signIn.d.ts +2 -1
- package/dist/server/services/signIn.js +3 -8
- package/dist/server/services/signOut.js +2 -3
- package/dist/server/utils/prefetchAccountQuery.js +1 -4
- package/dist/server/utils/prefetchAvailablePromosQuery.d.ts +1 -1
- package/dist/server/utils/prefetchAvailablePromosQuery.js +1 -4
- package/dist/server/utils/prefetchAvailableQuestsQuery.js +1 -4
- package/dist/server/utils/prefetchBetRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchBetRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchBonusQuery.js +3 -8
- package/dist/server/utils/prefetchBonusesQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackBonusQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackBonusesQuery.js +1 -4
- package/dist/server/utils/prefetchCashbackQuery.js +3 -12
- package/dist/server/utils/prefetchCashbacksQuery.js +1 -6
- package/dist/server/utils/prefetchDepositQuery.js +3 -5
- package/dist/server/utils/prefetchDepositRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchDepositRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchDepositsCountQuery.js +3 -5
- package/dist/server/utils/prefetchFavoriteGamesQuery.js +3 -5
- package/dist/server/utils/prefetchGamesQuery.d.ts +1 -1
- package/dist/server/utils/prefetchGamesQuery.js +2 -10
- package/dist/server/utils/prefetchInstapayBankListQuery.js +3 -5
- package/dist/server/utils/prefetchIsMayaSessionValidQuery.js +1 -4
- package/dist/server/utils/prefetchJackpotsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchJackpotsQuery.js +2 -9
- package/dist/server/utils/prefetchMemberVerificationQuery.js +1 -4
- package/dist/server/utils/prefetchPaymentSettingsQuery.js +1 -4
- package/dist/server/utils/prefetchPlatformQuery.js +2 -9
- package/dist/server/utils/prefetchProfileCompletionQuery.js +1 -4
- package/dist/server/utils/prefetchPromoQuery.js +3 -12
- package/dist/server/utils/prefetchPromosQuery.js +2 -9
- package/dist/server/utils/prefetchTopWinsQuery.js +2 -9
- package/dist/server/utils/prefetchTournamentsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchTournamentsQuery.js +2 -9
- package/dist/server/utils/prefetchTransactionRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchTransactionRecordsQuery.js +1 -4
- package/dist/server/utils/prefetchUnreadMessagesCountQuery.d.ts +1 -1
- package/dist/server/utils/prefetchUnreadMessagesCountQuery.js +1 -4
- package/dist/server/utils/prefetchWalletQuery.js +3 -5
- package/dist/server/utils/prefetchWithdrawalRecordsQuery.d.ts +1 -1
- package/dist/server/utils/prefetchWithdrawalRecordsQuery.js +1 -4
- package/dist/services/ObjectId.d.ts +24 -0
- package/dist/services/ObjectId.js +86 -0
- package/dist/services/account.service.d.ts +341 -0
- package/dist/services/account.service.js +233 -0
- package/dist/services/auth.service.d.ts +80 -0
- package/dist/services/auth.service.js +152 -0
- package/dist/services/cmsPortal.service.d.ts +43 -0
- package/dist/services/cmsPortal.service.js +148 -0
- package/dist/services/file.service.d.ts +33 -0
- package/dist/services/file.service.js +18 -0
- package/dist/services/game.service.d.ts +44 -0
- package/dist/services/game.service.js +33 -0
- package/dist/services/graphqlRequest.d.ts +4 -0
- package/dist/services/graphqlRequest.js +255 -0
- package/dist/services/httpRequest.d.ts +23 -0
- package/dist/services/httpRequest.js +93 -0
- package/dist/services/index.d.ts +12 -0
- package/dist/services/index.js +12 -0
- package/dist/services/portal.service.d.ts +37 -0
- package/dist/services/portal.service.js +44 -0
- package/dist/services/queries.d.ts +115 -0
- package/dist/services/queries.js +2319 -0
- package/dist/services/report.service.d.ts +203 -0
- package/dist/services/report.service.js +64 -0
- package/dist/services/sha256.d.ts +4 -0
- package/dist/services/sha256.js +16 -0
- package/dist/services/trigger.service.d.ts +88 -0
- package/dist/services/trigger.service.js +84 -0
- package/dist/services/wallet.service.d.ts +463 -0
- package/dist/services/wallet.service.js +357 -0
- package/dist/styles/theme.css +697 -697
- package/dist/types/index.d.ts +752 -6
- package/dist/ui/AlertDialog/AlertDialog.d.ts +88 -88
- package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +8 -8
- package/dist/ui/Badge/Badge.d.ts +12 -12
- package/dist/ui/Badge/badge.recipe.d.ts +3 -3
- package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
- package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
- package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
- package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
- package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
- package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
- package/dist/ui/Combobox/Combobox.d.ts +42 -42
- package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
- package/dist/ui/DatePicker/DatePicker.d.ts +264 -264
- package/dist/ui/DatePicker/datePicker.recipe.d.ts +11 -11
- package/dist/ui/Dialog/Dialog.d.ts +88 -88
- package/dist/ui/Dialog/dialog.recipe.d.ts +8 -8
- package/dist/ui/Drawer/Drawer.d.ts +33 -33
- package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
- package/dist/ui/Popover/Popover.d.ts +55 -55
- package/dist/ui/Popover/popover.recipe.d.ts +5 -5
- package/dist/ui/Progress/Progress.d.ts +27 -27
- package/dist/ui/Progress/progress.recipe.d.ts +3 -3
- package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
- package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
- package/dist/ui/Select/Select.d.ts +45 -45
- package/dist/ui/Select/select.recipe.d.ts +3 -3
- package/dist/ui/Table/Table.d.ts +21 -21
- package/dist/ui/Table/table.recipe.d.ts +3 -3
- package/dist/ui/Tabs/Tabs.d.ts +15 -15
- package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
- package/dist/utils/getGameImageUrl.d.ts +1 -1
- package/dist/utils/getGameImageUrl.js +3 -5
- package/dist/utils/getGameProviderData.d.ts +1 -2
- package/dist/utils/getGameTypeData.d.ts +1 -2
- package/dist/utils/graphqlRequest.d.ts +4 -0
- package/dist/utils/graphqlRequest.js +255 -0
- package/dist/utils/httpRequest.d.ts +6 -0
- package/dist/utils/httpRequest.js +87 -0
- package/dist/utils/queryKeys.d.ts +1 -1
- package/dist/utils/sha256.d.ts +4 -0
- package/dist/utils/sha256.js +16 -0
- package/package.json +166 -160
- package/dist/components/Games/GameContext.d.ts +0 -2
- package/dist/components/Games/GameContext.js +0 -2
- package/dist/components/Jackpots/JackpotItemDesktop.d.ts +0 -9
- package/dist/components/Jackpots/JackpotItemDesktop.js +0 -43
- package/dist/components/Jackpots/JackpotItemMobile.d.ts +0 -9
- package/dist/components/Jackpots/JackpotItemMobile.js +0 -44
- package/dist/components/Jackpots/useJackpotItemData.d.ts +0 -20
- package/dist/components/Jackpots/useJackpotItemData.js +0 -87
- package/dist/components/Messages/MessageItem.d.ts +0 -4
- package/dist/components/Tournaments/TournamentItemDesktop.d.ts +0 -7
- package/dist/components/Tournaments/TournamentItemDesktop.js +0 -56
- package/dist/components/Tournaments/TournamentItemMobile.d.ts +0 -7
- package/dist/components/Tournaments/TournamentItemMobile.js +0 -54
- package/dist/components/Tournaments/useTournamentItemData.d.ts +0 -16
- package/dist/components/Tournaments/useTournamentItemData.js +0 -64
- 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.
|
|
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
|
-
"./
|
|
34
|
-
"types": "./dist/
|
|
35
|
-
"default": "./dist/
|
|
36
|
-
},
|
|
37
|
-
"./client-
|
|
38
|
-
"types": "./dist/client/
|
|
39
|
-
"default": "./dist/client/
|
|
40
|
-
},
|
|
41
|
-
"./client-
|
|
42
|
-
"types": "./dist/client/
|
|
43
|
-
"default": "./dist/client/
|
|
44
|
-
},
|
|
45
|
-
"./
|
|
46
|
-
"types": "./dist/
|
|
47
|
-
"default": "./dist/
|
|
48
|
-
},
|
|
49
|
-
"./server-
|
|
50
|
-
"types": "./dist/server/
|
|
51
|
-
"default": "./dist/server/
|
|
52
|
-
},
|
|
53
|
-
"./
|
|
54
|
-
"types": "./dist/
|
|
55
|
-
"default": "./dist/
|
|
56
|
-
},
|
|
57
|
-
"./
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"dist",
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"@
|
|
104
|
-
"@
|
|
105
|
-
"@
|
|
106
|
-
"@
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"react
|
|
113
|
-
"react-
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
"
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@opexa/portal-components",
|
|
3
|
+
"version": "0.0.84",
|
|
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,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,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;
|