@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.
Files changed (142) hide show
  1. package/dist/client/hooks/useGamesQuery.d.ts +2 -2
  2. package/dist/client/hooks/useGamesQuery.js +2 -2
  3. package/dist/components/BetRecords/BetRecords.js +10 -15
  4. package/dist/components/CashbackBonus/CashbackBonus.client.d.ts +2 -0
  5. package/dist/components/CashbackBonus/CashbackBonus.client.js +9 -0
  6. package/dist/components/CashbackBonus/CashbackBonus.d.ts +10 -0
  7. package/dist/components/CashbackBonus/CashbackBonus.js +5 -0
  8. package/dist/components/CashbackBonus/index.d.ts +1 -0
  9. package/dist/components/CashbackBonus/index.js +1 -0
  10. package/dist/components/GameProviders/GameProviders.d.ts +14 -2
  11. package/dist/components/GameProviders/GameProviders.js +12 -2
  12. package/dist/components/JackpotCounter/JackpotCounterItem.module.css +184 -184
  13. package/dist/components/Jackpots/JackpotItemDesktop.d.ts +1 -9
  14. package/dist/components/Jackpots/JackpotItemDesktop.js +5 -3
  15. package/dist/components/Jackpots/JackpotItemMobile.d.ts +1 -9
  16. package/dist/components/Jackpots/JackpotItemMobile.js +5 -3
  17. package/dist/components/Jackpots/JackpotRules.d.ts +0 -1
  18. package/dist/components/Jackpots/JackpotRules.js +3 -1
  19. package/dist/components/Jackpots/Jackpots.client.js +2 -1
  20. package/dist/components/Jackpots/Jackpots.d.ts +3 -5
  21. package/dist/components/Jackpots/JackpotsContext.d.ts +4 -0
  22. package/dist/components/Jackpots/JackpotsContext.js +3 -0
  23. package/dist/components/Jackpots/useJackpotItemData.d.ts +2 -8
  24. package/dist/components/Jackpots/useJackpotItemData.js +7 -1
  25. package/dist/components/Search/Search.d.ts +15 -0
  26. package/dist/components/Search/Search.js +32 -5
  27. package/dist/components/TopWins/TopWins.client.js +3 -3
  28. package/dist/components/Tournaments/TournamentDesktop.d.ts +1 -0
  29. package/dist/components/Tournaments/TournamentDesktop.js +57 -0
  30. package/dist/components/Tournaments/TournamentMobile.d.ts +1 -0
  31. package/dist/components/Tournaments/TournamentMobile.js +55 -0
  32. package/dist/components/Tournaments/TournamentRules.d.ts +0 -1
  33. package/dist/components/Tournaments/TournamentRules.js +3 -1
  34. package/dist/components/Tournaments/Tournaments.client.js +4 -3
  35. package/dist/components/Tournaments/Tournaments.d.ts +2 -4
  36. package/dist/components/Tournaments/TournamentsContext.d.ts +4 -0
  37. package/dist/components/Tournaments/TournamentsContext.js +3 -0
  38. package/dist/components/Tournaments/useTournamentData.d.ts +10 -0
  39. package/dist/components/Tournaments/useTournamentData.js +72 -0
  40. package/dist/components/TransactionRecords/DepositRecordsTable.js +1 -0
  41. package/dist/components/TransactionRecords/TableFilters.d.ts +1 -7
  42. package/dist/components/TransactionRecords/TableFilters.js +1 -53
  43. package/dist/components/TransactionRecords/TransactionRecords.d.ts +0 -3
  44. package/dist/components/TransactionRecords/TransactionRecords.js +0 -1
  45. package/dist/components/TransactionRecords/TransactionRecordsTable.js +1 -0
  46. package/dist/components/TransactionRecords/WithdrawalRecordsTable.js +1 -0
  47. package/dist/constants/envVars.d.ts +5 -0
  48. package/dist/constants/envVars.js +28 -0
  49. package/dist/constants/gameProviders.d.ts +4 -0
  50. package/dist/constants/gameProviders.js +319 -0
  51. package/dist/constants/gameTypes.d.ts +4 -0
  52. package/dist/constants/gameTypes.js +64 -0
  53. package/dist/constants/headerKeys.d.ts +1 -0
  54. package/dist/constants/headerKeys.js +1 -0
  55. package/dist/constants/index.d.ts +6 -12
  56. package/dist/constants/index.js +6 -88
  57. package/dist/constants/secretQuestions.d.ts +3 -0
  58. package/dist/constants/secretQuestions.js +24 -0
  59. package/dist/constants/storageKeys.d.ts +2 -0
  60. package/dist/constants/storageKeys.js +2 -0
  61. package/dist/images/game-providers/ALIZE.png +0 -0
  62. package/dist/images/game-providers/BGAMING.png +0 -0
  63. package/dist/images/game-providers/BOOOONGO.png +0 -0
  64. package/dist/images/game-providers/BTI.png +0 -0
  65. package/dist/images/game-providers/CQ9.png +0 -0
  66. package/dist/images/game-providers/DARWIN.png +0 -0
  67. package/dist/images/game-providers/DG.png +0 -0
  68. package/dist/images/game-providers/DRBINGO.png +0 -0
  69. package/dist/images/game-providers/E2E.png +0 -0
  70. package/dist/images/game-providers/EVOLUTION.png +0 -0
  71. package/dist/images/game-providers/EVOLUTION_NETENT.png +0 -0
  72. package/dist/images/game-providers/EVOLUTION_REDTIGER.png +0 -0
  73. package/dist/images/game-providers/EVOPLAY.png +0 -0
  74. package/dist/images/game-providers/EZUGI.png +0 -0
  75. package/dist/images/game-providers/FACHAI.png +0 -0
  76. package/dist/images/game-providers/HABANERO.png +0 -0
  77. package/dist/images/game-providers/HACKSAW.png +0 -0
  78. package/dist/images/game-providers/HOLLYWOODTV.png +0 -0
  79. package/dist/images/game-providers/JDB.png +0 -0
  80. package/dist/images/game-providers/JDB_GTF.png +0 -0
  81. package/dist/images/game-providers/JDB_SPRIBE.png +0 -0
  82. package/dist/images/game-providers/JILI.png +0 -0
  83. package/dist/images/game-providers/JOKER.png +0 -0
  84. package/dist/images/game-providers/KINGMAKER.png +0 -0
  85. package/dist/images/game-providers/KINGMIDAS.png +0 -0
  86. package/dist/images/game-providers/MEGA2SPIN.png +0 -0
  87. package/dist/images/game-providers/MEGABALL.png +0 -0
  88. package/dist/images/game-providers/MICROGAMING.png +0 -0
  89. package/dist/images/game-providers/ONEAPI.png +0 -0
  90. package/dist/images/game-providers/PGSOFT.png +0 -0
  91. package/dist/images/game-providers/PLAYTECH.png +0 -0
  92. package/dist/images/game-providers/PRAGMATIC_PLAY.png +0 -0
  93. package/dist/images/game-providers/RELAX_GAMING.png +0 -0
  94. package/dist/images/game-providers/RTG.png +0 -0
  95. package/dist/images/game-providers/SABA.png +0 -0
  96. package/dist/images/game-providers/SPINIX.png +0 -0
  97. package/dist/images/game-providers/SPRIBE.png +0 -0
  98. package/dist/images/game-providers/YELLOWBAT.png +0 -0
  99. package/dist/middleware.d.ts +3 -2
  100. package/dist/middleware.js +7 -4
  101. package/dist/server/utils/prefetchGamesQuery.d.ts +2 -2
  102. package/dist/server/utils/prefetchGamesQuery.js +2 -2
  103. package/dist/styles/theme.css +696 -696
  104. package/dist/types/index.d.ts +6 -1
  105. package/dist/ui/AlertDialog/AlertDialog.d.ts +88 -88
  106. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +8 -8
  107. package/dist/ui/Badge/Badge.d.ts +12 -12
  108. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  109. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  110. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  111. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  112. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  113. package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
  114. package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
  115. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  116. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  117. package/dist/ui/DatePicker/DatePicker.d.ts +336 -336
  118. package/dist/ui/DatePicker/datePicker.recipe.d.ts +14 -14
  119. package/dist/ui/Dialog/Dialog.d.ts +88 -88
  120. package/dist/ui/Dialog/dialog.recipe.d.ts +8 -8
  121. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  122. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  123. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  124. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  125. package/dist/ui/Popover/Popover.d.ts +88 -88
  126. package/dist/ui/Popover/popover.recipe.d.ts +8 -8
  127. package/dist/ui/Progress/Progress.d.ts +27 -27
  128. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  129. package/dist/ui/SegmentGroup/SegmentGroup.d.ts +18 -18
  130. package/dist/ui/SegmentGroup/segmentGroup.recipe.d.ts +3 -3
  131. package/dist/ui/Select/Select.d.ts +45 -45
  132. package/dist/ui/Select/select.recipe.d.ts +3 -3
  133. package/dist/ui/Table/Table.d.ts +21 -21
  134. package/dist/ui/Table/table.recipe.d.ts +3 -3
  135. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  136. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  137. package/dist/utils/callIfFn.d.ts +1 -0
  138. package/dist/utils/callIfFn.js +6 -0
  139. package/dist/utils/index.d.ts +1 -0
  140. package/dist/utils/index.js +1 -0
  141. package/dist/utils/queryKeys.d.ts +2 -2
  142. package/package.json +160 -157
@@ -1,17 +1,13 @@
1
- import type { DepositStatus, GameProvider, GameType, TransactionType, WithdrawalStatus } from '@opexa/portal-sdk-core';
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?.gameType && (_jsxs(Select.Root, { collection: gameTypeCollection, value: gameType ? [gameType] : [], onValueChange: (details) => {
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;
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import { Tabs } from '../../ui/index.js';
4
3
  import { DepositRecordsTable } from './DepositRecordsTable.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
3
  import { tz, TZDateMini } from '@date-fns/tz';
3
4
  import { endOfDay, format, startOfDay } from 'date-fns';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
3
  import { tz, TZDateMini } from '@date-fns/tz';
3
4
  import { endOfDay, format, startOfDay } from 'date-fns';
@@ -0,0 +1,5 @@
1
+ export declare const SITE_ID: string;
2
+ export declare const PLATFORM_ID: string;
3
+ export declare const PLATFORM_CODE: string;
4
+ export declare const ENVIRONMENT: "production" | "development";
5
+ export declare const BYPASS_RECAPTCHA: boolean;
@@ -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
- import type { SecretQuestion } from '@opexa/portal-sdk-core';
2
- export declare const SITE_ID: string;
3
- export declare const PLATFORM_ID: string;
4
- export declare const PLATFORM_CODE: string;
5
- export declare const ENVIRONMENT: "production" | "development";
6
- export declare const BYPASS_RECAPTCHA: boolean;
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';