@opexa/portal-components 0.0.70 → 0.0.72
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/useGamesQuery.d.ts +2 -2
- package/dist/client/hooks/useGamesQuery.js +2 -2
- package/dist/components/BetRecords/BetRecords.js +10 -15
- package/dist/components/CashbackBonus/CashbackBonus.client.d.ts +2 -0
- package/dist/components/CashbackBonus/CashbackBonus.client.js +9 -0
- package/dist/components/CashbackBonus/CashbackBonus.d.ts +10 -0
- package/dist/components/CashbackBonus/CashbackBonus.js +5 -0
- package/dist/components/CashbackBonus/index.d.ts +1 -0
- package/dist/components/CashbackBonus/index.js +1 -0
- package/dist/components/GameProviders/GameProviders.d.ts +14 -2
- package/dist/components/GameProviders/GameProviders.js +12 -2
- package/dist/components/JackpotCounter/JackpotCounterItem.module.css +184 -184
- package/dist/components/Jackpots/JackpotItemDesktop.d.ts +1 -9
- package/dist/components/Jackpots/JackpotItemDesktop.js +5 -3
- package/dist/components/Jackpots/JackpotItemMobile.d.ts +1 -9
- package/dist/components/Jackpots/JackpotItemMobile.js +5 -3
- package/dist/components/Jackpots/JackpotRules.d.ts +0 -1
- package/dist/components/Jackpots/JackpotRules.js +3 -1
- package/dist/components/Jackpots/Jackpots.client.js +2 -1
- package/dist/components/Jackpots/Jackpots.d.ts +3 -5
- package/dist/components/Jackpots/JackpotsContext.d.ts +4 -0
- package/dist/components/Jackpots/JackpotsContext.js +3 -0
- package/dist/components/Jackpots/useJackpotItemData.d.ts +2 -8
- package/dist/components/Jackpots/useJackpotItemData.js +7 -1
- package/dist/components/Search/Search.d.ts +15 -0
- package/dist/components/Search/Search.js +32 -5
- package/dist/components/TopWins/TopWins.client.js +3 -3
- package/dist/components/Tournaments/TournamentDesktop.d.ts +1 -0
- package/dist/components/Tournaments/TournamentDesktop.js +57 -0
- package/dist/components/Tournaments/TournamentMobile.d.ts +1 -0
- package/dist/components/Tournaments/TournamentMobile.js +55 -0
- package/dist/components/Tournaments/TournamentRules.d.ts +0 -1
- package/dist/components/Tournaments/TournamentRules.js +3 -1
- package/dist/components/Tournaments/Tournaments.client.js +4 -3
- package/dist/components/Tournaments/Tournaments.d.ts +2 -4
- package/dist/components/Tournaments/TournamentsContext.d.ts +4 -0
- package/dist/components/Tournaments/TournamentsContext.js +3 -0
- package/dist/components/Tournaments/useTournamentData.d.ts +10 -0
- package/dist/components/Tournaments/useTournamentData.js +72 -0
- package/dist/components/TransactionRecords/DepositRecordsTable.js +1 -0
- package/dist/components/TransactionRecords/TableFilters.d.ts +1 -7
- package/dist/components/TransactionRecords/TableFilters.js +1 -53
- package/dist/components/TransactionRecords/TransactionRecords.d.ts +0 -3
- package/dist/components/TransactionRecords/TransactionRecords.js +0 -1
- package/dist/components/TransactionRecords/TransactionRecordsTable.js +1 -0
- package/dist/components/TransactionRecords/WithdrawalRecordsTable.js +1 -0
- package/dist/constants/envVars.d.ts +5 -0
- package/dist/constants/envVars.js +28 -0
- package/dist/constants/gameProviders.d.ts +4 -0
- package/dist/constants/gameProviders.js +319 -0
- package/dist/constants/gameTypes.d.ts +4 -0
- package/dist/constants/gameTypes.js +64 -0
- package/dist/constants/headerKeys.d.ts +1 -0
- package/dist/constants/headerKeys.js +1 -0
- package/dist/constants/index.d.ts +6 -12
- package/dist/constants/index.js +6 -88
- package/dist/constants/secretQuestions.d.ts +3 -0
- package/dist/constants/secretQuestions.js +24 -0
- package/dist/constants/storageKeys.d.ts +2 -0
- package/dist/constants/storageKeys.js +2 -0
- package/dist/images/game-providers/ALIZE.png +0 -0
- package/dist/images/game-providers/BGAMING.png +0 -0
- package/dist/images/game-providers/BOOOONGO.png +0 -0
- package/dist/images/game-providers/BTI.png +0 -0
- package/dist/images/game-providers/CQ9.png +0 -0
- package/dist/images/game-providers/DARWIN.png +0 -0
- package/dist/images/game-providers/DG.png +0 -0
- package/dist/images/game-providers/DRBINGO.png +0 -0
- package/dist/images/game-providers/E2E.png +0 -0
- package/dist/images/game-providers/EVOLUTION.png +0 -0
- package/dist/images/game-providers/EVOLUTION_NETENT.png +0 -0
- package/dist/images/game-providers/EVOLUTION_REDTIGER.png +0 -0
- package/dist/images/game-providers/EVOPLAY.png +0 -0
- package/dist/images/game-providers/EZUGI.png +0 -0
- package/dist/images/game-providers/FACHAI.png +0 -0
- package/dist/images/game-providers/HABANERO.png +0 -0
- package/dist/images/game-providers/HACKSAW.png +0 -0
- package/dist/images/game-providers/HOLLYWOODTV.png +0 -0
- package/dist/images/game-providers/JDB.png +0 -0
- package/dist/images/game-providers/JDB_GTF.png +0 -0
- package/dist/images/game-providers/JDB_SPRIBE.png +0 -0
- package/dist/images/game-providers/JILI.png +0 -0
- package/dist/images/game-providers/JOKER.png +0 -0
- package/dist/images/game-providers/KINGMAKER.png +0 -0
- package/dist/images/game-providers/KINGMIDAS.png +0 -0
- package/dist/images/game-providers/MEGA2SPIN.png +0 -0
- package/dist/images/game-providers/MEGABALL.png +0 -0
- package/dist/images/game-providers/MICROGAMING.png +0 -0
- package/dist/images/game-providers/ONEAPI.png +0 -0
- package/dist/images/game-providers/PGSOFT.png +0 -0
- package/dist/images/game-providers/PLAYTECH.png +0 -0
- package/dist/images/game-providers/PRAGMATIC_PLAY.png +0 -0
- package/dist/images/game-providers/RELAX_GAMING.png +0 -0
- package/dist/images/game-providers/RTG.png +0 -0
- package/dist/images/game-providers/SABA.png +0 -0
- package/dist/images/game-providers/SPINIX.png +0 -0
- package/dist/images/game-providers/SPRIBE.png +0 -0
- package/dist/images/game-providers/YELLOWBAT.png +0 -0
- package/dist/middleware.d.ts +3 -2
- package/dist/middleware.js +7 -4
- package/dist/server/utils/prefetchGamesQuery.d.ts +2 -2
- package/dist/server/utils/prefetchGamesQuery.js +2 -2
- package/dist/styles/theme.css +696 -696
- package/dist/types/index.d.ts +6 -1
- 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 +336 -336
- package/dist/ui/DatePicker/datePicker.recipe.d.ts +14 -14
- 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/PasswordInput/PasswordInput.d.ts +18 -18
- package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
- package/dist/ui/Popover/Popover.d.ts +88 -88
- package/dist/ui/Popover/popover.recipe.d.ts +8 -8
- 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/callIfFn.d.ts +1 -0
- package/dist/utils/callIfFn.js +6 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/queryKeys.d.ts +2 -2
- package/package.json +160 -157
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import type { DepositStatus,
|
|
1
|
+
import type { DepositStatus, TransactionType, WithdrawalStatus } from '@opexa/portal-sdk-core';
|
|
2
2
|
import type { DateRange } from '../../types';
|
|
3
3
|
interface EnabledFilters {
|
|
4
4
|
timestamp?: boolean;
|
|
5
|
-
gameType?: boolean;
|
|
6
|
-
gameProvider?: boolean;
|
|
7
5
|
depositStatus?: boolean;
|
|
8
6
|
withdrawalStatus?: boolean;
|
|
9
7
|
transactionType?: boolean;
|
|
10
8
|
}
|
|
11
9
|
interface Value {
|
|
12
10
|
timestamp?: Partial<DateRange> | null;
|
|
13
|
-
gameType?: GameType | null;
|
|
14
|
-
gameProvider?: GameProvider | null;
|
|
15
11
|
depositStatus?: DepositStatus | null;
|
|
16
12
|
withdrawalStatus?: WithdrawalStatus | null;
|
|
17
13
|
transactionType?: TransactionType | null;
|
|
@@ -21,8 +17,6 @@ interface TableFiltersProps {
|
|
|
21
17
|
defaultValue?: Value;
|
|
22
18
|
onChange?: (value: Value) => void;
|
|
23
19
|
enabledFilters?: EnabledFilters;
|
|
24
|
-
gameTypeOptions?: GameType[];
|
|
25
|
-
gameProviderOptions?: GameProvider[];
|
|
26
20
|
}
|
|
27
21
|
export declare function TableFilters(props: TableFiltersProps): import("react/jsx-runtime").JSX.Element;
|
|
28
22
|
export {};
|
|
@@ -33,20 +33,6 @@ const TRANSACTION_TYPES = [
|
|
|
33
33
|
];
|
|
34
34
|
const deviceTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
35
35
|
export function TableFilters(props) {
|
|
36
|
-
const gameTypeCollection = createListCollection({
|
|
37
|
-
items: props.gameTypeOptions ?? [],
|
|
38
|
-
itemToValue: (item) => item,
|
|
39
|
-
itemToString: (item) => capitalize(item, {
|
|
40
|
-
delimiter: capitalize.delimiters.UNDERSCORE,
|
|
41
|
-
}),
|
|
42
|
-
});
|
|
43
|
-
const gameProviderCollection = createListCollection({
|
|
44
|
-
items: props.gameProviderOptions ?? [],
|
|
45
|
-
itemToValue: (item) => item,
|
|
46
|
-
itemToString: (item) => capitalize(item, {
|
|
47
|
-
delimiter: capitalize.delimiters.UNDERSCORE,
|
|
48
|
-
}),
|
|
49
|
-
});
|
|
50
36
|
const depositStatusCollection = createListCollection({
|
|
51
37
|
items: DEPOSIT_STATUSES,
|
|
52
38
|
itemToValue: (item) => item,
|
|
@@ -72,8 +58,6 @@ export function TableFilters(props) {
|
|
|
72
58
|
const handleChange = (next) => {
|
|
73
59
|
const prev = {
|
|
74
60
|
timestamp,
|
|
75
|
-
gameType,
|
|
76
|
-
gameProvider,
|
|
77
61
|
depositStatus,
|
|
78
62
|
withdrawalStatus,
|
|
79
63
|
};
|
|
@@ -89,20 +73,6 @@ export function TableFilters(props) {
|
|
|
89
73
|
handleChange({ timestamp });
|
|
90
74
|
},
|
|
91
75
|
});
|
|
92
|
-
const [gameType, setGameType] = useControllableState({
|
|
93
|
-
value: props.value?.gameType,
|
|
94
|
-
defaultValue: props.defaultValue?.gameType ?? null,
|
|
95
|
-
onChange(gameType) {
|
|
96
|
-
handleChange({ gameType });
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
const [gameProvider, setGameProvider] = useControllableState({
|
|
100
|
-
value: props.value?.gameProvider,
|
|
101
|
-
defaultValue: props.defaultValue?.gameProvider ?? null,
|
|
102
|
-
onChange(gameProvider) {
|
|
103
|
-
handleChange({ gameProvider });
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
76
|
const [depositStatus, setDepositStatus] = useControllableState({
|
|
107
77
|
value: props.value?.depositStatus,
|
|
108
78
|
defaultValue: props.defaultValue?.depositStatus ?? null,
|
|
@@ -153,29 +123,7 @@ export function TableFilters(props) {
|
|
|
153
123
|
setTimestamp(null);
|
|
154
124
|
}
|
|
155
125
|
setTab(value);
|
|
156
|
-
}, className: "w-full lg:w-fit", children: [_jsxs(SegmentGroup.Item, { value: "all", className: "w-full lg:w-auto", children: [_jsx(SegmentGroup.ItemText, { children: "All" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "today", className: "w-full lg:w-auto", children: [_jsx(SegmentGroup.ItemText, { children: "Today" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(DatePicker.Context, { children: (api) => (_jsx(SegmentGroup.Item, { value: "custom", onClick: () => api.setOpen(true), className: "w-full lg:w-auto", children: _jsxs(DatePicker.Control, { children: [_jsx(SegmentGroup.ItemText, { children: "Custom" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }) })) }), _jsx(SegmentGroup.Indicator, {})] }), _jsx(Portal, { children: _jsx(DatePicker.Positioner, { children: _jsx(DatePicker.Content, { children: _jsx(DatePicker.View, { view: "day", children: _jsx(DatePicker.Context, { children: (api) => (_jsxs(_Fragment, { children: [_jsxs(DatePicker.ViewControl, { children: [_jsx(DatePicker.PrevTrigger, { children: _jsx(ChevronLeftIcon, {}) }), _jsx(DatePicker.ViewTrigger, { children: _jsx(DatePicker.RangeText, {}) }), _jsx(DatePicker.NextTrigger, { children: _jsx(ChevronRightIcon, {}) })] }), _jsxs(DatePicker.Table, { children: [_jsx(DatePicker.TableHead, { children: _jsx(DatePicker.TableRow, { children: api.weekDays.map((weekDay, id) => (_jsx(DatePicker.TableHeader, { children: weekDay.short.substring(0, 2) }, id))) }) }), _jsx(DatePicker.TableBody, { children: api.weeks.map((week, id) => (_jsx(DatePicker.TableRow, { children: week.map((day, id) => (_jsx(DatePicker.TableCell, { value: day, children: _jsx(DatePicker.TableCellTrigger, { children: day.day }) }, id))) }, id))) })] })] })) }) }) }) }) })] }), _jsx("div", { className: "hidden grow lg:block" }), props.enabledFilters?.
|
|
157
|
-
const value = z
|
|
158
|
-
.enum((props.gameTypeOptions ?? []))
|
|
159
|
-
.safeParse(details.value.at(0)).data;
|
|
160
|
-
setGameType(value ?? null);
|
|
161
|
-
}, lazyMount: true, deselectable: true, positioning: {
|
|
162
|
-
sameWidth: true,
|
|
163
|
-
}, children: [_jsxs(Select.Trigger, { className: "w-full lg:w-[14rem]", children: [_jsx(Select.ValueText, { placeholder: "Game Type" }), _jsx(Select.Context, { children: (api) => (_jsx(_Fragment, { children: api.value.length ? (_jsx(Select.ClearTrigger, { asChild: true, children: _jsx("span", { onClick: (e) => {
|
|
164
|
-
e.stopPropagation();
|
|
165
|
-
}, children: "Clear" }) })) : (_jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })) })) })] }), _jsx(Portal, { children: _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: _jsx(Select.ItemGroup, { children: gameTypeCollection.items.map((type) => (_jsxs(Select.Item, { item: type, children: [_jsx(Select.ItemText, { children: capitalize(type, {
|
|
166
|
-
delimiter: capitalize.delimiters.UNDERSCORE,
|
|
167
|
-
}) }), _jsx(Select.ItemIndicator, { asChild: true, children: _jsx(CheckIcon, {}) })] }, type))) }) }) }) })] })), props.enabledFilters?.gameProvider && (_jsxs(Select.Root, { collection: gameProviderCollection, value: gameProvider ? [gameProvider] : [], onValueChange: (details) => {
|
|
168
|
-
const value = z
|
|
169
|
-
.enum((props.gameProviderOptions ?? []))
|
|
170
|
-
.safeParse(details.value.at(0)).data;
|
|
171
|
-
setGameProvider(value ?? null);
|
|
172
|
-
}, lazyMount: true, deselectable: true, positioning: {
|
|
173
|
-
sameWidth: true,
|
|
174
|
-
}, children: [_jsxs(Select.Trigger, { className: "w-full lg:w-[14rem]", children: [_jsx(Select.ValueText, { placeholder: "Game Vendor" }), _jsx(Select.Context, { children: (api) => (_jsx(_Fragment, { children: api.value.length ? (_jsx(Select.ClearTrigger, { asChild: true, children: _jsx("span", { onClick: (e) => {
|
|
175
|
-
e.stopPropagation();
|
|
176
|
-
}, children: "Clear" }) })) : (_jsx(Select.Indicator, { asChild: true, children: _jsx(ChevronDownIcon, {}) })) })) })] }), _jsx(Portal, { children: _jsx(Select.Positioner, { children: _jsx(Select.Content, { children: _jsx(Select.ItemGroup, { children: gameProviderCollection.items.map((provider) => (_jsxs(Select.Item, { item: provider, children: [_jsx(Select.ItemText, { children: capitalize(provider, {
|
|
177
|
-
delimiter: capitalize.delimiters.UNDERSCORE,
|
|
178
|
-
}) }), _jsx(Select.ItemIndicator, { asChild: true, children: _jsx(CheckIcon, {}) })] }, provider))) }) }) }) })] })), props.enabledFilters?.depositStatus && (_jsxs(Select.Root, { collection: depositStatusCollection, value: depositStatus ? [depositStatus] : [], onValueChange: (details) => {
|
|
126
|
+
}, className: "w-full lg:w-fit", children: [_jsxs(SegmentGroup.Item, { value: "all", className: "w-full lg:w-auto", children: [_jsx(SegmentGroup.ItemText, { children: "All" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsxs(SegmentGroup.Item, { value: "today", className: "w-full lg:w-auto", children: [_jsx(SegmentGroup.ItemText, { children: "Today" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }), _jsx(DatePicker.Context, { children: (api) => (_jsx(SegmentGroup.Item, { value: "custom", onClick: () => api.setOpen(true), className: "w-full lg:w-auto", children: _jsxs(DatePicker.Control, { children: [_jsx(SegmentGroup.ItemText, { children: "Custom" }), _jsx(SegmentGroup.ItemControl, {}), _jsx(SegmentGroup.ItemHiddenInput, {})] }) })) }), _jsx(SegmentGroup.Indicator, {})] }), _jsx(Portal, { children: _jsx(DatePicker.Positioner, { children: _jsx(DatePicker.Content, { children: _jsx(DatePicker.View, { view: "day", children: _jsx(DatePicker.Context, { children: (api) => (_jsxs(_Fragment, { children: [_jsxs(DatePicker.ViewControl, { children: [_jsx(DatePicker.PrevTrigger, { children: _jsx(ChevronLeftIcon, {}) }), _jsx(DatePicker.ViewTrigger, { children: _jsx(DatePicker.RangeText, {}) }), _jsx(DatePicker.NextTrigger, { children: _jsx(ChevronRightIcon, {}) })] }), _jsxs(DatePicker.Table, { children: [_jsx(DatePicker.TableHead, { children: _jsx(DatePicker.TableRow, { children: api.weekDays.map((weekDay, id) => (_jsx(DatePicker.TableHeader, { children: weekDay.short.substring(0, 2) }, id))) }) }), _jsx(DatePicker.TableBody, { children: api.weeks.map((week, id) => (_jsx(DatePicker.TableRow, { children: week.map((day, id) => (_jsx(DatePicker.TableCell, { value: day, children: _jsx(DatePicker.TableCellTrigger, { children: day.day }) }, id))) }, id))) })] })] })) }) }) }) }) })] }), _jsx("div", { className: "hidden grow lg:block" }), props.enabledFilters?.depositStatus && (_jsxs(Select.Root, { collection: depositStatusCollection, value: depositStatus ? [depositStatus] : [], onValueChange: (details) => {
|
|
179
127
|
const value = z
|
|
180
128
|
.enum(DEPOSIT_STATUSES)
|
|
181
129
|
.safeParse(details.value.at(0)).data;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type { GameProvider, GameType } from '@opexa/portal-sdk-core';
|
|
2
1
|
export interface TransactionRecordsProps {
|
|
3
|
-
gameTypes: GameType[];
|
|
4
|
-
gameProviders: GameProvider[];
|
|
5
2
|
className?: string;
|
|
6
3
|
}
|
|
7
4
|
export declare function TransactionRecords(props: TransactionRecordsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const SITE_ID = z
|
|
3
|
+
.string()
|
|
4
|
+
.min(1, 'Environment variable "NEXT_PUBLIC_SITE_ID" must be 1 or more characters')
|
|
5
|
+
.max(32, 'Environment variable "NEXT_PUBLIC_SITE_ID" must not be more than 32 characters')
|
|
6
|
+
.trim()
|
|
7
|
+
.parse(process.env.NEXT_PUBLIC_SITE_ID);
|
|
8
|
+
export const PLATFORM_ID = z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Environment variable "NEXT_PUBLIC_PLATFORM_ID" must be 1 or more characters')
|
|
11
|
+
.max(32, 'Environment variable "NEXT_PUBLIC_PLATFORM_ID" must not be more than 32 characters')
|
|
12
|
+
.trim()
|
|
13
|
+
.parse(process.env.NEXT_PUBLIC_PLATFORM_ID);
|
|
14
|
+
export const PLATFORM_CODE = z
|
|
15
|
+
.string()
|
|
16
|
+
.min(4, 'Environment variable "NEXT_PUBLIC_PLATFORM_CODE" must be at least 4 characters')
|
|
17
|
+
.max(8, 'Environment variable "NEXT_PUBLIC_PLATFORM_CODE" must not be more than 8 characters')
|
|
18
|
+
.trim()
|
|
19
|
+
.parse(process.env.NEXT_PUBLIC_PLATFORM_CODE);
|
|
20
|
+
export const ENVIRONMENT = z
|
|
21
|
+
.enum(['production', 'development'])
|
|
22
|
+
.catch('development')
|
|
23
|
+
.parse(process.env.NEXT_PUBLIC_ENVIRONMENT);
|
|
24
|
+
export const BYPASS_RECAPTCHA = z
|
|
25
|
+
.any()
|
|
26
|
+
.transform(Boolean)
|
|
27
|
+
.catch(false)
|
|
28
|
+
.parse(process.env.NEXT_PUBLIC_BYPASS_RECAPTCHA);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GameProvider } from '@opexa/portal-sdk-core';
|
|
2
|
+
import type { GameProviderData } from '../types';
|
|
3
|
+
export declare const GAME_PROVIDER_DATA: Record<GameProvider, GameProviderData>;
|
|
4
|
+
export declare const LEGACY_GAME_PROVIDERS: ["JILI", "PGSOFT", "FACHAI", "BTI", "DG", "PLAYTECH", "E2E", "ONEAPI_EVOLUTION", "CQ9", "JDB", "HABANERO", "SPINIX", "JOKER", "HACKSAW", "EVOLUTIONNETENT", "JDBGTF", "JDBSPRIBE", "MICROGAMING", "RELAXGAMING", "EVOPLAY", "BOOONGO", "BGAMING", "KINGMAKER", "KINGMIDAS", "YELLOWBAT", "ETENGJUE", "SABA", "PRAGMATICPLAY", "SPRIBE", "EZUGI", "ALIZE"];
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import alize from '../images/game-providers/ALIZE.png';
|
|
2
|
+
import bgaming from '../images/game-providers/BGAMING.png';
|
|
3
|
+
import booongo from '../images/game-providers/BOOOONGO.png';
|
|
4
|
+
import bti from '../images/game-providers/BTI.png';
|
|
5
|
+
import cq9 from '../images/game-providers/CQ9.png';
|
|
6
|
+
import darwin from '../images/game-providers/DARWIN.png';
|
|
7
|
+
import dg from '../images/game-providers/DG.png';
|
|
8
|
+
import drbingo from '../images/game-providers/DRBINGO.png';
|
|
9
|
+
import e2e from '../images/game-providers/E2E.png';
|
|
10
|
+
import evolution from '../images/game-providers/EVOLUTION.png';
|
|
11
|
+
import evolutionNetent from '../images/game-providers/EVOLUTION_NETENT.png';
|
|
12
|
+
import evolutionRedTiger from '../images/game-providers/EVOLUTION_REDTIGER.png';
|
|
13
|
+
import evoplay from '../images/game-providers/EVOPLAY.png';
|
|
14
|
+
import ezugi from '../images/game-providers/EZUGI.png';
|
|
15
|
+
import fachai from '../images/game-providers/FACHAI.png';
|
|
16
|
+
import habanero from '../images/game-providers/HABANERO.png';
|
|
17
|
+
import hacksaw from '../images/game-providers/HACKSAW.png';
|
|
18
|
+
import hollywoodtv from '../images/game-providers/HOLLYWOODTV.png';
|
|
19
|
+
import jdb from '../images/game-providers/JDB.png';
|
|
20
|
+
import jdbGtf from '../images/game-providers/JDB_GTF.png';
|
|
21
|
+
import jdbSpribe from '../images/game-providers/JDB_SPRIBE.png';
|
|
22
|
+
import jili from '../images/game-providers/JILI.png';
|
|
23
|
+
import joker from '../images/game-providers/JOKER.png';
|
|
24
|
+
import kingmaker from '../images/game-providers/KINGMAKER.png';
|
|
25
|
+
import kingmidas from '../images/game-providers/KINGMIDAS.png';
|
|
26
|
+
import mega2spin from '../images/game-providers/MEGA2SPIN.png';
|
|
27
|
+
import megaball from '../images/game-providers/MEGABALL.png';
|
|
28
|
+
import microgaming from '../images/game-providers/MICROGAMING.png';
|
|
29
|
+
import oneapi from '../images/game-providers/ONEAPI.png';
|
|
30
|
+
import pgsoft from '../images/game-providers/PGSOFT.png';
|
|
31
|
+
import playtech from '../images/game-providers/PLAYTECH.png';
|
|
32
|
+
import pragmaticplay from '../images/game-providers/PRAGMATIC_PLAY.png';
|
|
33
|
+
import relaxgaming from '../images/game-providers/RELAX_GAMING.png';
|
|
34
|
+
import rtg from '../images/game-providers/RTG.png';
|
|
35
|
+
import saba from '../images/game-providers/SABA.png';
|
|
36
|
+
import spinix from '../images/game-providers/SPINIX.png';
|
|
37
|
+
import spribe from '../images/game-providers/SPRIBE.png';
|
|
38
|
+
import yellowbat from '../images/game-providers/YELLOWBAT.png';
|
|
39
|
+
export const GAME_PROVIDER_DATA = {
|
|
40
|
+
ALIZE: {
|
|
41
|
+
id: 'ALIZE',
|
|
42
|
+
name: 'Alize',
|
|
43
|
+
slug: 'alize',
|
|
44
|
+
logo: alize,
|
|
45
|
+
},
|
|
46
|
+
BGAMING: {
|
|
47
|
+
id: 'BGAMING',
|
|
48
|
+
name: 'BGaming',
|
|
49
|
+
slug: 'bgaming',
|
|
50
|
+
logo: bgaming,
|
|
51
|
+
},
|
|
52
|
+
BOOONGO: {
|
|
53
|
+
id: 'BOOONGO',
|
|
54
|
+
name: 'Booongo',
|
|
55
|
+
slug: 'booongo',
|
|
56
|
+
logo: booongo,
|
|
57
|
+
},
|
|
58
|
+
EVOPLAY: {
|
|
59
|
+
id: 'EVOPLAY',
|
|
60
|
+
name: 'Evoplay',
|
|
61
|
+
slug: 'evoplay',
|
|
62
|
+
logo: evoplay,
|
|
63
|
+
},
|
|
64
|
+
BTI: {
|
|
65
|
+
id: 'BTI',
|
|
66
|
+
name: 'BTI',
|
|
67
|
+
slug: 'bti',
|
|
68
|
+
logo: bti,
|
|
69
|
+
},
|
|
70
|
+
CQ9: {
|
|
71
|
+
id: 'CQ9',
|
|
72
|
+
name: 'CQ9',
|
|
73
|
+
slug: 'cq9',
|
|
74
|
+
logo: cq9,
|
|
75
|
+
},
|
|
76
|
+
DARWIN: {
|
|
77
|
+
id: 'DARWIN',
|
|
78
|
+
name: 'Darwin',
|
|
79
|
+
slug: 'darwin',
|
|
80
|
+
logo: darwin,
|
|
81
|
+
},
|
|
82
|
+
DG: {
|
|
83
|
+
id: 'DG',
|
|
84
|
+
name: 'DG',
|
|
85
|
+
slug: 'dg',
|
|
86
|
+
logo: dg,
|
|
87
|
+
},
|
|
88
|
+
DRBINGO: {
|
|
89
|
+
id: 'DRBINGO',
|
|
90
|
+
name: 'DrBingo',
|
|
91
|
+
slug: 'drbingo',
|
|
92
|
+
logo: drbingo,
|
|
93
|
+
},
|
|
94
|
+
E2E: {
|
|
95
|
+
id: 'E2E',
|
|
96
|
+
name: 'E2E',
|
|
97
|
+
slug: 'e2e',
|
|
98
|
+
logo: e2e,
|
|
99
|
+
},
|
|
100
|
+
ETENGJUE: {
|
|
101
|
+
id: 'ETENGJUE',
|
|
102
|
+
name: 'Etengjue',
|
|
103
|
+
slug: 'etengjue',
|
|
104
|
+
logo: '' /* FIXME */,
|
|
105
|
+
},
|
|
106
|
+
EVOLUTION: {
|
|
107
|
+
id: 'EVOLUTION',
|
|
108
|
+
name: 'Evolution',
|
|
109
|
+
slug: 'evolution',
|
|
110
|
+
logo: evolution,
|
|
111
|
+
},
|
|
112
|
+
EVOLUTION_REDTIGER: {
|
|
113
|
+
id: 'EVOLUTION_REDTIGER',
|
|
114
|
+
name: 'Evolution RedTiger',
|
|
115
|
+
slug: 'evolution-redtiger',
|
|
116
|
+
logo: evolutionRedTiger,
|
|
117
|
+
},
|
|
118
|
+
EZUGI: {
|
|
119
|
+
id: 'EZUGI',
|
|
120
|
+
name: 'Ezugi',
|
|
121
|
+
slug: 'ezugi',
|
|
122
|
+
logo: ezugi,
|
|
123
|
+
},
|
|
124
|
+
FACHAI: {
|
|
125
|
+
id: 'FACHAI',
|
|
126
|
+
name: 'Fachai',
|
|
127
|
+
slug: 'fachai',
|
|
128
|
+
logo: fachai,
|
|
129
|
+
},
|
|
130
|
+
HABANERO: {
|
|
131
|
+
id: 'HABANERO',
|
|
132
|
+
name: 'Habanero',
|
|
133
|
+
slug: 'habanero',
|
|
134
|
+
logo: habanero,
|
|
135
|
+
},
|
|
136
|
+
HACKSAW: {
|
|
137
|
+
id: 'HACKSAW',
|
|
138
|
+
name: 'Hacksaw',
|
|
139
|
+
slug: 'hacksaw',
|
|
140
|
+
logo: hacksaw,
|
|
141
|
+
},
|
|
142
|
+
HOLLYWOODTV: {
|
|
143
|
+
id: 'HOLLYWOODTV',
|
|
144
|
+
name: 'HollywoodTV',
|
|
145
|
+
slug: 'hollywoodtv',
|
|
146
|
+
logo: hollywoodtv,
|
|
147
|
+
},
|
|
148
|
+
JDB: {
|
|
149
|
+
id: 'JDB',
|
|
150
|
+
name: 'JDB',
|
|
151
|
+
slug: 'jdb',
|
|
152
|
+
logo: jdb,
|
|
153
|
+
},
|
|
154
|
+
JILI: {
|
|
155
|
+
id: 'JILI',
|
|
156
|
+
name: 'Jili',
|
|
157
|
+
slug: 'jili',
|
|
158
|
+
logo: jili,
|
|
159
|
+
},
|
|
160
|
+
JDBGTF: {
|
|
161
|
+
id: 'JDBGTF',
|
|
162
|
+
name: 'JDB GTF',
|
|
163
|
+
slug: 'jdb-gtf',
|
|
164
|
+
logo: jdbGtf,
|
|
165
|
+
},
|
|
166
|
+
JOKER: {
|
|
167
|
+
id: 'JOKER',
|
|
168
|
+
name: 'Joker',
|
|
169
|
+
slug: 'joker',
|
|
170
|
+
logo: joker,
|
|
171
|
+
},
|
|
172
|
+
JDBSPRIBE: {
|
|
173
|
+
id: 'JDBSPRIBE',
|
|
174
|
+
name: 'JDB Spribe',
|
|
175
|
+
slug: 'jdb-spribe',
|
|
176
|
+
logo: jdbSpribe,
|
|
177
|
+
},
|
|
178
|
+
JILI_BINGO: {
|
|
179
|
+
id: 'JILI_BINGO',
|
|
180
|
+
name: 'Jili Bingo',
|
|
181
|
+
slug: 'jili-bingo',
|
|
182
|
+
logo: jili,
|
|
183
|
+
},
|
|
184
|
+
KINGMAKER: {
|
|
185
|
+
id: 'KINGMAKER',
|
|
186
|
+
name: 'Kingmaker',
|
|
187
|
+
slug: 'kingmaker',
|
|
188
|
+
logo: kingmaker,
|
|
189
|
+
},
|
|
190
|
+
KINGMIDAS: {
|
|
191
|
+
id: 'KINGMIDAS',
|
|
192
|
+
name: 'King Midas',
|
|
193
|
+
slug: 'kingmidas',
|
|
194
|
+
logo: kingmidas,
|
|
195
|
+
},
|
|
196
|
+
MEGA2SPIN: {
|
|
197
|
+
id: 'MEGA2SPIN',
|
|
198
|
+
name: 'Mega2Spin',
|
|
199
|
+
slug: 'mega2spin',
|
|
200
|
+
logo: mega2spin,
|
|
201
|
+
},
|
|
202
|
+
MICROGAMING: {
|
|
203
|
+
id: 'MICROGAMING',
|
|
204
|
+
name: 'Microgaming',
|
|
205
|
+
slug: 'microgaming',
|
|
206
|
+
logo: microgaming,
|
|
207
|
+
},
|
|
208
|
+
MEGABALL: {
|
|
209
|
+
id: 'MEGABALL',
|
|
210
|
+
name: 'MegaBall',
|
|
211
|
+
slug: 'megaball',
|
|
212
|
+
logo: megaball,
|
|
213
|
+
},
|
|
214
|
+
ONEAPI_EVOLUTION: {
|
|
215
|
+
id: 'ONEAPI_EVOLUTION',
|
|
216
|
+
name: 'OneAPI Evolution',
|
|
217
|
+
slug: 'oneapi-evolution',
|
|
218
|
+
logo: oneapi,
|
|
219
|
+
},
|
|
220
|
+
PGSOFT: {
|
|
221
|
+
id: 'PGSOFT',
|
|
222
|
+
name: 'PG',
|
|
223
|
+
slug: 'pgsoft',
|
|
224
|
+
logo: pgsoft,
|
|
225
|
+
},
|
|
226
|
+
PLAYTECH: {
|
|
227
|
+
id: 'PLAYTECH',
|
|
228
|
+
name: 'Playtech',
|
|
229
|
+
slug: 'playtech',
|
|
230
|
+
logo: playtech,
|
|
231
|
+
},
|
|
232
|
+
PRAGMATICPLAY: {
|
|
233
|
+
id: 'PRAGMATICPLAY',
|
|
234
|
+
name: 'Pragmatic Play',
|
|
235
|
+
slug: 'pragmaticplay',
|
|
236
|
+
logo: pragmaticplay,
|
|
237
|
+
},
|
|
238
|
+
RELAXGAMING: {
|
|
239
|
+
id: 'RELAXGAMING',
|
|
240
|
+
name: 'Relax Gaming',
|
|
241
|
+
slug: 'relaxgaming',
|
|
242
|
+
logo: relaxgaming,
|
|
243
|
+
},
|
|
244
|
+
RTG: {
|
|
245
|
+
id: 'RTG',
|
|
246
|
+
name: 'RTG',
|
|
247
|
+
slug: 'rtg',
|
|
248
|
+
logo: rtg,
|
|
249
|
+
},
|
|
250
|
+
SABA: {
|
|
251
|
+
id: 'SABA',
|
|
252
|
+
name: 'SABA',
|
|
253
|
+
slug: 'saba',
|
|
254
|
+
logo: saba,
|
|
255
|
+
},
|
|
256
|
+
SPINIX: {
|
|
257
|
+
id: 'SPINIX',
|
|
258
|
+
name: 'Spinix',
|
|
259
|
+
slug: 'spinix',
|
|
260
|
+
logo: spinix,
|
|
261
|
+
},
|
|
262
|
+
SPRIBE: {
|
|
263
|
+
id: 'SPRIBE',
|
|
264
|
+
name: 'Spribe',
|
|
265
|
+
slug: 'spribe',
|
|
266
|
+
logo: spribe,
|
|
267
|
+
},
|
|
268
|
+
YELLOWBAT: {
|
|
269
|
+
id: 'YELLOWBAT',
|
|
270
|
+
name: 'YellowBat',
|
|
271
|
+
slug: 'yellowbat',
|
|
272
|
+
logo: yellowbat,
|
|
273
|
+
},
|
|
274
|
+
EVOLUTIONNETENT: {
|
|
275
|
+
id: 'EVOLUTIONNETENT',
|
|
276
|
+
name: 'Evolution Netent',
|
|
277
|
+
slug: 'evolution-netent',
|
|
278
|
+
logo: evolutionNetent,
|
|
279
|
+
},
|
|
280
|
+
EVOLUTION_NETENT: {
|
|
281
|
+
id: 'EVOLUTION_NETENT',
|
|
282
|
+
name: 'Evolution Netent',
|
|
283
|
+
slug: 'evolution-netent',
|
|
284
|
+
logo: evolutionNetent,
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
export const LEGACY_GAME_PROVIDERS = [
|
|
288
|
+
'JILI',
|
|
289
|
+
'PGSOFT',
|
|
290
|
+
'FACHAI',
|
|
291
|
+
'BTI',
|
|
292
|
+
'DG',
|
|
293
|
+
'PLAYTECH',
|
|
294
|
+
'E2E',
|
|
295
|
+
'ONEAPI_EVOLUTION',
|
|
296
|
+
'CQ9',
|
|
297
|
+
'JDB',
|
|
298
|
+
'HABANERO',
|
|
299
|
+
'SPINIX',
|
|
300
|
+
'JOKER',
|
|
301
|
+
'HACKSAW',
|
|
302
|
+
'EVOLUTIONNETENT',
|
|
303
|
+
'JDBGTF',
|
|
304
|
+
'JDBSPRIBE',
|
|
305
|
+
'MICROGAMING',
|
|
306
|
+
'RELAXGAMING',
|
|
307
|
+
'EVOPLAY',
|
|
308
|
+
'BOOONGO',
|
|
309
|
+
'BGAMING',
|
|
310
|
+
'KINGMAKER',
|
|
311
|
+
'KINGMIDAS',
|
|
312
|
+
'YELLOWBAT',
|
|
313
|
+
'ETENGJUE',
|
|
314
|
+
'SABA',
|
|
315
|
+
'PRAGMATICPLAY',
|
|
316
|
+
'SPRIBE',
|
|
317
|
+
'EZUGI',
|
|
318
|
+
'ALIZE',
|
|
319
|
+
];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GameType } from '@opexa/portal-sdk-core';
|
|
2
|
+
import type { GameTypeData } from '../types';
|
|
3
|
+
export declare const GAME_TYPE_DATA: Record<GameType, GameTypeData>;
|
|
4
|
+
export declare const GAME_TYPES: ["ARCADE", "BINGO", "FISHING", "GAMES", "LIVE", "NUMERICAL", "SLOTS", "SPECIALTY", "SPORTS", "TABLE"];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const GAME_TYPE_DATA = {
|
|
2
|
+
ARCADE: {
|
|
3
|
+
id: 'ARCADE',
|
|
4
|
+
name: 'Arcade',
|
|
5
|
+
slug: 'arcade',
|
|
6
|
+
},
|
|
7
|
+
BINGO: {
|
|
8
|
+
id: 'BINGO',
|
|
9
|
+
name: 'Bingo',
|
|
10
|
+
slug: 'bingo',
|
|
11
|
+
},
|
|
12
|
+
FISHING: {
|
|
13
|
+
id: 'FISHING',
|
|
14
|
+
name: 'Fishing',
|
|
15
|
+
slug: 'fishing',
|
|
16
|
+
},
|
|
17
|
+
GAMES: {
|
|
18
|
+
id: 'GAMES',
|
|
19
|
+
name: 'Games',
|
|
20
|
+
slug: 'games',
|
|
21
|
+
},
|
|
22
|
+
LIVE: {
|
|
23
|
+
id: 'LIVE',
|
|
24
|
+
name: 'Live',
|
|
25
|
+
slug: 'live',
|
|
26
|
+
},
|
|
27
|
+
NUMERICAL: {
|
|
28
|
+
id: 'NUMERICAL',
|
|
29
|
+
name: 'Numerical',
|
|
30
|
+
slug: 'numerical',
|
|
31
|
+
},
|
|
32
|
+
SLOTS: {
|
|
33
|
+
id: 'SLOTS',
|
|
34
|
+
name: 'Slots',
|
|
35
|
+
slug: 'slots',
|
|
36
|
+
},
|
|
37
|
+
SPECIALTY: {
|
|
38
|
+
id: 'SPECIALTY',
|
|
39
|
+
name: 'Specialty',
|
|
40
|
+
slug: 'specialty',
|
|
41
|
+
},
|
|
42
|
+
SPORTS: {
|
|
43
|
+
id: 'SPORTS',
|
|
44
|
+
name: 'Sports',
|
|
45
|
+
slug: 'sports',
|
|
46
|
+
},
|
|
47
|
+
TABLE: {
|
|
48
|
+
id: 'TABLE',
|
|
49
|
+
name: 'Table',
|
|
50
|
+
slug: 'table',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
export const GAME_TYPES = [
|
|
54
|
+
'ARCADE',
|
|
55
|
+
'BINGO',
|
|
56
|
+
'FISHING',
|
|
57
|
+
'GAMES',
|
|
58
|
+
'LIVE',
|
|
59
|
+
'NUMERICAL',
|
|
60
|
+
'SLOTS',
|
|
61
|
+
'SPECIALTY',
|
|
62
|
+
'SPORTS',
|
|
63
|
+
'TABLE',
|
|
64
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const RECAPTCHA_HEADER_KEY: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const RECAPTCHA_HEADER_KEY = 'Google-Recaptcha-Response';
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export declare const ACCESS_TOKEN_COOKIE_NAME: string;
|
|
8
|
-
export declare const REFRESH_TOKEN_COOKIE_NAME: string;
|
|
9
|
-
export declare const LEGACY_GAME_PROVIDERS: ["JILI", "PGSOFT", "FACHAI", "BTI", "DG", "PLAYTECH", "E2E", "ONEAPI_EVOLUTION", "CQ9", "JDB", "HABANERO", "SPINIX", "JOKER", "HACKSAW", "EVOLUTIONNETENT", "JDBGTF", "JDBSPRIBE", "MICROGAMING", "RELAXGAMING", "EVOPLAY", "BOOONGO", "BGAMING", "KINGMAKER", "KINGMIDAS", "YELLOWBAT", "ETENGJUE", "SABA", "PRAGMATICPLAY", "SPRIBE", "EZUGI", "ALIZE"];
|
|
10
|
-
export declare const RECAPTCHA_HEADER_KEY: string;
|
|
11
|
-
export declare const SECRET_QUESTIONS: ["BEST_CHILDHOOD_FRIEND", "BIRTH_PLACE", "FAVORITE_BOOK", "FAVORITE_MOVIE", "FAVORITE_TEACHER", "FIRST_CAR", "FIRST_PET", "FIRST_SCHOOL", "MOTHERS_MAIDEN_NAME", "PARENTS_MET_CITY"];
|
|
12
|
-
export declare const SECRET_QUESTIONS_MAP: Record<SecretQuestion, string>;
|
|
1
|
+
export * from './envVars';
|
|
2
|
+
export * from './gameProviders';
|
|
3
|
+
export * from './gameTypes';
|
|
4
|
+
export * from './headerKeys';
|
|
5
|
+
export * from './secretQuestions';
|
|
6
|
+
export * from './storageKeys';
|