@opexa/portal-components 0.0.216 → 0.0.218
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/components/Bonuses/Bonuses.client.js +6 -3
- package/dist/components/GameLaunch/GameLaunchTrigger.js +0 -6
- package/dist/components/KYC/KYCReminder.lazy.js +11 -4
- package/dist/services/queries.d.ts +1 -1
- package/dist/services/queries.js +10 -0
- package/dist/utils/getGameImageUrl.d.ts +1 -1
- package/dist/utils/getGameImageUrl.js +11 -7
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { clamp } from 'lodash-es';
|
|
|
4
4
|
import Image from 'next/image';
|
|
5
5
|
import Link from 'next/link';
|
|
6
6
|
import { usePathname, useRouter, useSearchParams } from 'next/navigation';
|
|
7
|
+
import { useMemo } from 'react';
|
|
7
8
|
import { z } from 'zod';
|
|
8
9
|
import { useShallow } from 'zustand/shallow';
|
|
9
10
|
import { useBonusesQuery } from '../../client/hooks/useBonusesQuery.js';
|
|
@@ -41,11 +42,12 @@ export function Bonuses__client(props) {
|
|
|
41
42
|
params.set('tab', tab);
|
|
42
43
|
router.push(`${pathname}?${params.toString()}`);
|
|
43
44
|
};
|
|
45
|
+
const currentDate = useMemo(() => new Date(), []);
|
|
44
46
|
const bonusesQuery = useBonusesQuery({
|
|
45
47
|
...(tab === 'active' && {
|
|
46
48
|
filter: {
|
|
47
49
|
expiration: {
|
|
48
|
-
greaterThanOrEqual:
|
|
50
|
+
greaterThanOrEqual: currentDate,
|
|
49
51
|
},
|
|
50
52
|
},
|
|
51
53
|
}),
|
|
@@ -60,7 +62,8 @@ export function Bonuses__client(props) {
|
|
|
60
62
|
const cashbackBonuses = cashbackBonusesQuery.data ?? [];
|
|
61
63
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: props.className, children: [_jsx("h2", { className: "text-lg font-semibold", children: props.heading ?? 'Rewards' }), _jsxs(SegmentGroup.Root, { value: tab, onValueChange: (details) => {
|
|
62
64
|
setTab(TabSchema.parse(details.value));
|
|
63
|
-
}, className: "mt-3", children: [_jsxs(SegmentGroup.Item, { value: "all", children: [_jsx(SegmentGroup.ItemText, { children: "All" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "active", children: [_jsx(SegmentGroup.ItemText, { children: "Active" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "cashbacks", children: [_jsx(SegmentGroup.ItemText, { children: "Cashbacks" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(SegmentGroup.Indicator, {})] }), _jsxs("div", { className: "mt-3xl grid gap-3xl lg:mt-lg lg:grid-cols-3", children: [tab === 'all' && _jsx(SpotBonus, {}),
|
|
65
|
+
}, className: "mt-3", children: [_jsxs(SegmentGroup.Item, { value: "all", children: [_jsx(SegmentGroup.ItemText, { children: "All" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "active", children: [_jsx(SegmentGroup.ItemText, { children: "Active" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "cashbacks", children: [_jsx(SegmentGroup.ItemText, { children: "Cashbacks" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(SegmentGroup.Indicator, {})] }), _jsxs("div", { className: "mt-3xl grid gap-3xl lg:mt-lg lg:grid-cols-3", children: [tab === 'all' && _jsx(SpotBonus, {}), tab !== 'cashbacks' &&
|
|
66
|
+
bonuses.map((bonus) => (_jsx(Bonus, { data: bonus, viewDetailsUrl: props.viewBonusDetailsUrl ?? '/rewards' }, bonus.id))), cashbackBonuses.map((cashbackBonus) => (_jsx(CashbackBonus, { data: cashbackBonus }, cashbackBonus.id)))] })] }), _jsx(ClaimSpotBonus, {})] }));
|
|
64
67
|
}
|
|
65
68
|
function Bonus(props) {
|
|
66
69
|
const bonus = props.data;
|
|
@@ -75,7 +78,7 @@ function Bonus(props) {
|
|
|
75
78
|
currency: localeInfo.currency.code,
|
|
76
79
|
}) }), _jsxs("p", { className: "text-text-secondary-700 text-xl font-semibold leading-none", children: ["/\u00A0", formatNumber(bonus.amount, {
|
|
77
80
|
currency: localeInfo.currency.code,
|
|
78
|
-
})] })] }), _jsxs("div", { className: "text-text-primary-brand mt-md flex justify-between", children: [_jsxs("p", { children: ["Wagering ", currentTurnoverRequirementContributionPercentage, "%"] }), _jsxs("p", { children: [
|
|
81
|
+
})] })] }), _jsxs("div", { className: "text-text-primary-brand mt-md flex justify-between", children: [_jsxs("p", { children: ["Wagering ", currentTurnoverRequirementContributionPercentage, "%"] }), _jsxs("p", { children: [bonus.currentTurnoverRequirementContribution, "/", turnoverRequirement] })] }), _jsx(Progress.Root, { min: 0, max: 100, value: clamp(currentTurnoverRequirementContributionPercentage, 0, 100), className: "mt-2", children: _jsx(Progress.Track, { children: _jsx(Progress.Range, {}) }) }), _jsx("div", { className: "grow" }), _jsx(Button, { size: "sm", variant: "outline", className: "mt-6", asChild: true, children: _jsx(Link, { href: `${props.viewDetailsUrl}/${bonus.id}`, children: "See More" }) })] })] }));
|
|
79
82
|
}
|
|
80
83
|
function CashbackBonus(props) {
|
|
81
84
|
const bonus = props.data;
|
|
@@ -6,7 +6,6 @@ import { useCreateGameSessionMutation } from '../../client/hooks/useCreateGameSe
|
|
|
6
6
|
import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
|
|
7
7
|
import { useSessionQuery } from '../../client/hooks/useSessionQuery.js';
|
|
8
8
|
import { toaster } from '../../client/utils/toaster.js';
|
|
9
|
-
import { isBetween3amAnd3pm } from '../../utils/isBetween3amAnd3pm.js';
|
|
10
9
|
export function GameLaunchTrigger(props) {
|
|
11
10
|
const sessionQuery = useSessionQuery();
|
|
12
11
|
const createGameSessionMutation = useCreateGameSessionMutation();
|
|
@@ -26,11 +25,6 @@ export function GameLaunchTrigger(props) {
|
|
|
26
25
|
: globalStore.gameLaunch.details.status === 'WAITING'
|
|
27
26
|
? 'closed'
|
|
28
27
|
: 'open', ...props, disabled: disabled, onClick: async (e) => {
|
|
29
|
-
const OFFLINE_BEFORE_3_GAMES = ['Marble Race', 'Rainbow Ball'];
|
|
30
|
-
if (OFFLINE_BEFORE_3_GAMES.includes(props.game.name) &&
|
|
31
|
-
!isBetween3amAnd3pm()) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
28
|
if (sessionQuery.data?.status === 'unauthenticated') {
|
|
35
29
|
globalStore.signIn.setOpen(true);
|
|
36
30
|
return props.onClick?.(e);
|
|
@@ -3,6 +3,7 @@ import { useShallow } from 'zustand/shallow';
|
|
|
3
3
|
import { useAccountQuery } from '../../client/hooks/useAccountQuery.js';
|
|
4
4
|
import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
|
|
5
5
|
import { useMemberVerificationQuery } from '../../client/hooks/useMemberVerificationQuery.js';
|
|
6
|
+
import { useSessionQuery } from '../../client/hooks/useSessionQuery.js';
|
|
6
7
|
import { FileCheck02Icon } from '../../icons/FileCheck02Icon.js';
|
|
7
8
|
import { XIcon } from '../../icons/XIcon.js';
|
|
8
9
|
import { Button } from '../../ui/Button/index.js';
|
|
@@ -13,15 +14,21 @@ export function KYCReminder(props) {
|
|
|
13
14
|
kyc: ctx.kyc,
|
|
14
15
|
kycReminder: ctx.kycReminder,
|
|
15
16
|
})));
|
|
16
|
-
const { data:
|
|
17
|
-
const { data:
|
|
17
|
+
const { data: session, isLoading: sessionLoading } = useSessionQuery();
|
|
18
|
+
const { data: account, isLoading: accountLoading } = useAccountQuery();
|
|
19
|
+
const { data: verification, isLoading: verificationLoading } = useMemberVerificationQuery();
|
|
18
20
|
const isBasicInfoCompleted = account?.realName !== null && account?.birthDay !== null;
|
|
19
21
|
const isUploadCompleted = verification &&
|
|
20
22
|
verification.idFrontImage !== null &&
|
|
21
23
|
verification.selfieImage !== null;
|
|
22
|
-
const isRejected =
|
|
24
|
+
const isRejected = verification?.status === 'REJECTED';
|
|
23
25
|
const hasMissingData = !isBasicInfoCompleted || !isUploadCompleted || isRejected;
|
|
24
|
-
return (_jsx(Dialog.Root, { open: globalStore.kycReminder.open &&
|
|
26
|
+
return (_jsx(Dialog.Root, { open: globalStore.kycReminder.open &&
|
|
27
|
+
!sessionLoading &&
|
|
28
|
+
!accountLoading &&
|
|
29
|
+
!verificationLoading &&
|
|
30
|
+
session?.status === 'authenticated' &&
|
|
31
|
+
hasMissingData, onOpenChange: (details) => {
|
|
25
32
|
globalStore.kycReminder.setOpen(details.open);
|
|
26
33
|
}, closeOnEscape: false, closeOnInteractOutside: false, lazyMount: true, unmountOnExit: true, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+3)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+4)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "bg-bg-primary-alt mx-auto h-fit max-w-[400px]", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs("div", { className: "p-3xl text-center", children: [_jsx("div", { className: "bg-bg-warning-secondary mx-auto w-fit rounded-full p-2", children: _jsx(FileCheck02Icon, { className: "text-[#FEDF89]" }) }), _jsx("h2", { className: "text-lg text-white", children: "Personal Verification" }), _jsxs("p", { className: "text-text-tertiary-600 mt-xs text-sm", children: ["All new users are required to complete identity verification to access the full range of ", props.siteName, " services, including withdrawals."] }), _jsx(Dialog.Context, { children: (api) => (_jsxs("div", { className: "mt-3xl space-y-lg", children: [_jsx(Button, { onClick: () => {
|
|
27
34
|
api.setOpen(false);
|
|
@@ -83,7 +83,7 @@ export declare const UPDATE_MEMBER_VERIFICATION__NEXT = "\n mutation UpdateMemb
|
|
|
83
83
|
export declare const PROFILE_COMPLETION = "\n query ProfileCompletion {\n profileCompletion {\n completionPercentage\n personalInformation\n accountVerification\n mobileNumberVerification\n transactionPassword\n accountPassword\n }\n }\n";
|
|
84
84
|
export declare const REGISTER_MEMBER_ACCOUNT_BY_MOBILE_NUMBER = "\n mutation RegisterMemberAccountByMobileNumber(\n $input: RegisterMemberAccountByMobileNumberInput!\n $mobileNumberVerificationCode: String!\n ) {\n registerMemberAccountByMobileNumber(\n input: $input\n mobileNumberVerificationCode: $mobileNumberVerificationCode\n ) {\n ... on MobileNumberNotAvailableError {\n name: __typename\n message\n }\n ... on InvalidSMSVerificationCodeError {\n name: __typename\n message\n }\n ... on InvalidPlatformError {\n name: __typename\n message\n }\n }\n }\n";
|
|
85
85
|
export declare const PLATFORM = "\n query Platform {\n timezone\n currency\n }\n";
|
|
86
|
-
export declare const PAYMENT_SETTINGS = "\n fragment DepositGatewaySettingsCoreData on DepositGatewaySettings {\n minimumAmount\n maximumAmount\n webEnabled\n mobileWebEnabled\n androidEnabled\n iosEnabled\n bankAccountName\n bankAccountNumber\n bankIFSCCode\n upiId\n upiQRCode {\n id\n url\n }\n }\n\n fragment WithdrawalGatewaySettingsCoreData on WithdrawalGatewaySettings {\n minimumAmount\n maximumAmount\n webEnabled\n mobileWebEnabled\n androidEnabled\n iosEnabled\n }\n\n query PaymentSettings {\n minimumFirstDepositAmount\n restrictWithdrawalsToVerifiedMembers\n bankDepositGatewaySettings: depositGatewaySettings(gateway: BANK) {\n ...DepositGatewaySettingsCoreData\n }\n libanganDepositGatewaySettings: depositGatewaySettings(gateway: LIBANGAN) {\n ...DepositGatewaySettingsCoreData\n }\n gcashDepositGatewaySettings: depositGatewaySettings(gateway: GCASH) {\n ...DepositGatewaySettingsCoreData\n }\n mayaDepositGatewaySettings: depositGatewaySettings(gateway: MAYA) {\n ...DepositGatewaySettingsCoreData\n }\n mayaAppDepositGatewaySettings: depositGatewaySettings(gateway: MAYA_APP) {\n ...DepositGatewaySettingsCoreData\n }\n onlineBankDepositGatewaySettings: depositGatewaySettings(\n gateway: ONLINE_BANK\n ) {\n ...DepositGatewaySettingsCoreData\n }\n qrphDepositGatewaySettings: depositGatewaySettings(gateway: QR_PH) {\n ...DepositGatewaySettingsCoreData\n }\n manualBankDepositGatewaySettings: depositGatewaySettings(\n gateway: MANUAL_BANK\n ) {\n ...DepositGatewaySettingsCoreData\n }\n manualUPIDepositGatewaySettings: depositGatewaySettings(\n gateway: MANUAL_UPI\n ) {\n ...DepositGatewaySettingsCoreData\n }\n bankWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: BANK) {\n ...WithdrawalGatewaySettingsCoreData\n }\n gcashWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: GCASH) {\n ...WithdrawalGatewaySettingsCoreData\n }\n mayaWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: MAYA) {\n ...WithdrawalGatewaySettingsCoreData\n }\n mayaAppWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MAYA_APP\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n instapayWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: INSTAPAY\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n manualBankWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MANUAL_BANK\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n manualUPIWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MANUAL_UPI\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n ventajaWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: VENTAJA\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n }\n";
|
|
86
|
+
export declare const PAYMENT_SETTINGS = "\n fragment DepositGatewaySettingsCoreData on DepositGatewaySettings {\n minimumAmount\n maximumAmount\n webEnabled\n mobileWebEnabled\n androidEnabled\n iosEnabled\n bankAccountName\n bankAccountNumber\n bankIFSCCode\n upiId\n upiQRCode {\n id\n url\n }\n }\n\n fragment WithdrawalGatewaySettingsCoreData on WithdrawalGatewaySettings {\n minimumAmount\n maximumAmount\n webEnabled\n mobileWebEnabled\n androidEnabled\n iosEnabled\n }\n\n query PaymentSettings {\n minimumFirstDepositAmount\n restrictWithdrawalsToVerifiedMembers\n bankDepositGatewaySettings: depositGatewaySettings(gateway: BANK) {\n ...DepositGatewaySettingsCoreData\n }\n libanganDepositGatewaySettings: depositGatewaySettings(gateway: LIBANGAN) {\n ...DepositGatewaySettingsCoreData\n }\n gcashDepositGatewaySettings: depositGatewaySettings(gateway: GCASH) {\n ...DepositGatewaySettingsCoreData\n }\n mayaDepositGatewaySettings: depositGatewaySettings(gateway: MAYA) {\n ...DepositGatewaySettingsCoreData\n }\n mayaAppDepositGatewaySettings: depositGatewaySettings(gateway: MAYA_APP) {\n ...DepositGatewaySettingsCoreData\n }\n onlineBankDepositGatewaySettings: depositGatewaySettings(\n gateway: ONLINE_BANK\n ) {\n ...DepositGatewaySettingsCoreData\n }\n qrphDepositGatewaySettings: depositGatewaySettings(gateway: QR_PH) {\n ...DepositGatewaySettingsCoreData\n }\n manualBankDepositGatewaySettings: depositGatewaySettings(\n gateway: MANUAL_BANK\n ) {\n ...DepositGatewaySettingsCoreData\n }\n manualUPIDepositGatewaySettings: depositGatewaySettings(\n gateway: MANUAL_UPI\n ) {\n ...DepositGatewaySettingsCoreData\n }\n pisoPayDepositGatewaySettings: depositGatewaySettings(\n gateway: PISO_PAY_CHECKOUT\n ) {\n ...DepositGatewaySettingsCoreData\n }\n bankWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: BANK) {\n ...WithdrawalGatewaySettingsCoreData\n }\n gcashWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: GCASH) {\n ...WithdrawalGatewaySettingsCoreData\n }\n mayaWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: MAYA) {\n ...WithdrawalGatewaySettingsCoreData\n }\n mayaAppWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MAYA_APP\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n instapayWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: INSTAPAY\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n manualBankWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MANUAL_BANK\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n manualUPIWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: MANUAL_UPI\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n ventajaWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: VENTAJA\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n pisoPayWithdrawalGatewaySettings: withdrawalGatewaySettings(\n gateway: PISO_PAY_REMITTANCE\n ) {\n ...WithdrawalGatewaySettingsCoreData\n }\n }\n";
|
|
87
87
|
export declare const MAYA_SESSION = "\n query MayaSession($id: ObjectId!) {\n mayaSession(id: $id) {\n id\n member\n dateTimeCreated\n }\n }\n";
|
|
88
88
|
export declare const VALIDATE_MAYA_SESSION = "\n mutation ValidateMayaSession {\n validateMayaSession: validMayaSession\n }\n";
|
|
89
89
|
export declare const ACTIVITY_RECORDS = "\n query ActivityRecords(\n $after: Cursor\n $first: Int\n $filter: ActivityRecordsFilterInput\n ) {\n member {\n activityRecords(after: $after, first: $first, filter: $filter) {\n edges {\n cursor\n node {\n ... on MemberActivity {\n id\n type\n amount\n details\n dateTimeCreated\n }\n }\n }\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n";
|
package/dist/services/queries.js
CHANGED
|
@@ -1891,6 +1891,11 @@ export const PAYMENT_SETTINGS = /* GraphQL */ `
|
|
|
1891
1891
|
) {
|
|
1892
1892
|
...DepositGatewaySettingsCoreData
|
|
1893
1893
|
}
|
|
1894
|
+
pisoPayDepositGatewaySettings: depositGatewaySettings(
|
|
1895
|
+
gateway: PISO_PAY_CHECKOUT
|
|
1896
|
+
) {
|
|
1897
|
+
...DepositGatewaySettingsCoreData
|
|
1898
|
+
}
|
|
1894
1899
|
bankWithdrawalGatewaySettings: withdrawalGatewaySettings(gateway: BANK) {
|
|
1895
1900
|
...WithdrawalGatewaySettingsCoreData
|
|
1896
1901
|
}
|
|
@@ -1925,6 +1930,11 @@ export const PAYMENT_SETTINGS = /* GraphQL */ `
|
|
|
1925
1930
|
) {
|
|
1926
1931
|
...WithdrawalGatewaySettingsCoreData
|
|
1927
1932
|
}
|
|
1933
|
+
pisoPayWithdrawalGatewaySettings: withdrawalGatewaySettings(
|
|
1934
|
+
gateway: PISO_PAY_REMITTANCE
|
|
1935
|
+
) {
|
|
1936
|
+
...WithdrawalGatewaySettingsCoreData
|
|
1937
|
+
}
|
|
1928
1938
|
}
|
|
1929
1939
|
`;
|
|
1930
1940
|
export const MAYA_SESSION = /* GraphQL */ `
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
1
2
|
import { STATIC_ENDPOINT } from '../constants/index.js';
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
const MARBLE_GAME_REFERENCE = 'Hwd1wEWHU6Gvfwecuh';
|
|
4
|
+
const RAINBOW_BALL_REFERENCE = 'HwdcKd7wDpwSPHGksq';
|
|
4
5
|
const VERSION = '1';
|
|
5
|
-
export
|
|
6
|
+
export const getGameImageUrl = cache((args) => {
|
|
6
7
|
const id = args.id ?? args.reference;
|
|
7
8
|
const provider = args.provider.toLocaleLowerCase();
|
|
8
9
|
const version = args.version ?? VERSION;
|
|
10
|
+
const now = new Date();
|
|
11
|
+
const hour = now.getHours();
|
|
12
|
+
const isBetween3amAnd3pm = hour >= 15 || hour < 3;
|
|
9
13
|
const marbleGameOffline = `${STATIC_ENDPOINT}/images/${provider}/marble-game-offline.webp?_v=${version}`;
|
|
10
14
|
const marbleGameOnline = `${STATIC_ENDPOINT}/images/${provider}/marble-game.webp?_v=${version}`;
|
|
11
15
|
const rainbowBallOffline = `${STATIC_ENDPOINT}/images/${provider}/rainbow-ball-offline.webp?_v=${version}`;
|
|
12
16
|
const rainbowBallOnline = `${STATIC_ENDPOINT}/images/${provider}/rainbow-ball-online.webp?_v=${version}`;
|
|
13
17
|
switch (id) {
|
|
14
|
-
case
|
|
15
|
-
return isBetween3amAnd3pm
|
|
18
|
+
case MARBLE_GAME_REFERENCE:
|
|
19
|
+
return isBetween3amAnd3pm ? marbleGameOnline : marbleGameOffline;
|
|
16
20
|
case RAINBOW_BALL_REFERENCE:
|
|
17
|
-
return isBetween3amAnd3pm
|
|
21
|
+
return isBetween3amAnd3pm ? rainbowBallOnline : rainbowBallOffline;
|
|
18
22
|
default:
|
|
19
23
|
return `${STATIC_ENDPOINT}/images/${provider}/thumbnail-${id}.webp?_v=${version}`;
|
|
20
24
|
}
|
|
21
|
-
}
|
|
25
|
+
});
|