@opexa/portal-components 0.1.83 → 0.1.85
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/useMarkGameAsFavoriteMutation.js +1 -9
- package/dist/client/hooks/useUnmarkGameAsFavoriteMutation.js +1 -1
- package/dist/components/BetDepositLimit/betDepositLimitStore.d.ts +24 -0
- package/dist/components/BetDepositLimit/betDepositLimitStore.js +51 -0
- package/dist/components/ForgotPassword/Crazywin/ForgotPassword.module.css +42 -42
- package/dist/components/Jackpots/Jackpots.module.css +288 -288
- package/dist/components/KYC/KYCDefault/KYCVerificationStatus.lazy.js +2 -2
- package/dist/components/KYC/KYCNonPagCor/KYCVerificationStatus.lazy.js +2 -2
- package/dist/components/ResponsibleGamingLimits/ResponsibleGamingLimits.lazy.d.ts +1 -0
- package/dist/components/ResponsibleGamingLimits/ResponsibleGamingLimits.lazy.js +117 -0
- package/dist/components/SignIn/CrazyWin/NameAndPasswordSignIn.js +2 -1
- package/dist/components/SignIn/HappyBingo/NameAndPasswordSignIn.js +2 -1
- package/dist/components/SignIn/NameAndPasswordSignIn.js +2 -1
- package/dist/components/SignIn/SignIn.lazy.d.ts +5 -0
- package/dist/components/Tournaments/TournamentsCarousel/TournamentsCarouselItem.module.css +184 -184
- package/dist/components/Tournaments/TournamentsList/TournamentItem.module.css +184 -184
- package/dist/components/UpdateMobilePhoneNumber/hooks/useAutoOpenWhenUnverified.d.ts +6 -0
- package/dist/components/UpdateMobilePhoneNumber/hooks/useAutoOpenWhenUnverified.js +31 -0
- package/dist/constants/GameProvider.js +35 -0
- package/dist/handlers/index.d.ts +2 -2
- package/dist/handlers/v4Cookies.d.ts +9 -0
- package/dist/handlers/v4Cookies.js +49 -0
- package/dist/images/game-providers/SEXYCASINO.webp +0 -0
- package/dist/images/game-providers/VIBRA.png +0 -0
- package/dist/images/game-providers/VIBRA_AQUA_GAMING.png +0 -0
- package/dist/images/game-providers/VIBRA_GOLDEN_SPINS.png +0 -0
- package/dist/images/game-providers/VIBRA_RUVI_BET.png +0 -0
- package/dist/images/game-providers/VIBRA_SPINOCCHIO.png +0 -0
- package/dist/images/phone-icon.svg +10 -10
- package/dist/schemas/forgotPasswordSchema.d.ts +4 -4
- package/dist/services/queries.js +3613 -3613
- package/dist/styles/theme.css +776 -776
- package/dist/types/index.d.ts +1 -1
- package/dist/ui/AlertDialog/AlertDialog.d.ts +154 -154
- package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +14 -14
- package/dist/ui/Badge/Badge.d.ts +12 -12
- package/dist/ui/Badge/badge.anatomy.d.ts +1 -1
- package/dist/ui/Badge/badge.recipe.d.ts +3 -3
- package/dist/ui/Carousel/Carousel.d.ts +99 -99
- package/dist/ui/Carousel/carousel.recipe.d.ts +11 -11
- 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 +72 -72
- package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
- package/dist/ui/Dialog/Dialog.d.ts +33 -33
- package/dist/ui/Dialog/dialog.recipe.d.ts +3 -3
- package/dist/ui/Drawer/Drawer.d.ts +33 -33
- package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
- package/dist/ui/Menu/Menu.d.ts +144 -144
- package/dist/ui/Menu/menu.recipe.d.ts +8 -8
- package/dist/ui/Popover/Popover.d.ts +88 -88
- package/dist/ui/Popover/popover.recipe.d.ts +8 -8
- 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.anatomy.d.ts +1 -1
- 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/get-fingerprint.d.ts +8 -0
- package/dist/utils/get-fingerprint.js +37 -0
- package/dist/utils/getProviderData.js +25 -0
- package/package.json +1 -1
- package/README.md +0 -238
- package/dist/components/Promos/PromoCardClassNames.d.ts +0 -11
- package/dist/components/Promos/PromoCardClassNames.js +0 -6
|
@@ -1,184 +1,184 @@
|
|
|
1
|
-
@keyframes arrow-green-flash {
|
|
2
|
-
0% {
|
|
3
|
-
color: #abefc6;
|
|
4
|
-
}
|
|
5
|
-
100% {
|
|
6
|
-
color: #079455;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.animate-arrow-green-flash-1 {
|
|
11
|
-
animation: arrow-green-flash 0.4s infinite;
|
|
12
|
-
animation-delay: -0.2s;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.animate-arrow-green-flash-2 {
|
|
16
|
-
animation: arrow-green-flash 0.4s infinite;
|
|
17
|
-
animation-delay: -0.1s;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.animate-arrow-green-flash-3 {
|
|
21
|
-
animation: arrow-green-flash 0.4s infinite;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@keyframes arrow-red-flash {
|
|
25
|
-
0%,
|
|
26
|
-
100% {
|
|
27
|
-
color: #f97066;
|
|
28
|
-
}
|
|
29
|
-
50% {
|
|
30
|
-
color: #fecdca;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.animate-arrow-red-flash-1 {
|
|
35
|
-
animation: arrow-red-flash 0.4s infinite;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.animate-arrow-red-flash-2 {
|
|
39
|
-
animation: arrow-red-flash 0.4s infinite;
|
|
40
|
-
animation-delay: -0.1s;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.animate-arrow-red-flash-3 {
|
|
44
|
-
animation: arrow-red-flash 0.4s infinite;
|
|
45
|
-
animation-delay: -0.2s;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* Animated BG */
|
|
49
|
-
@keyframes rotate {
|
|
50
|
-
to {
|
|
51
|
-
transform: rotate(1turn);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.light-rays {
|
|
56
|
-
position: absolute;
|
|
57
|
-
top: 0;
|
|
58
|
-
left: 0;
|
|
59
|
-
right: 0;
|
|
60
|
-
bottom: 0;
|
|
61
|
-
overflow: hidden;
|
|
62
|
-
|
|
63
|
-
--first: var(--color-bg-tertiary);
|
|
64
|
-
--second: var(--color-bg-quaternary);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.light-rays::before,
|
|
68
|
-
.light-rays::after {
|
|
69
|
-
content: '';
|
|
70
|
-
position: absolute;
|
|
71
|
-
top: var(--light-rays-top, 150px);
|
|
72
|
-
left: calc(50% - 90px);
|
|
73
|
-
margin: -100vmax;
|
|
74
|
-
width: 200vmax;
|
|
75
|
-
height: 200vmax;
|
|
76
|
-
opacity: 0.6;
|
|
77
|
-
transform-origin: center;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.light-rays::before {
|
|
81
|
-
background: conic-gradient(
|
|
82
|
-
var(--first) 0deg 7.2deg,
|
|
83
|
-
var(--second) 7.2deg 14.4deg,
|
|
84
|
-
var(--first) 14.4deg 21.6deg,
|
|
85
|
-
var(--second) 21.6deg 28.8deg,
|
|
86
|
-
var(--first) 28.8deg 36deg,
|
|
87
|
-
var(--second) 36deg 43.2deg,
|
|
88
|
-
var(--first) 43.2deg 50.4deg,
|
|
89
|
-
var(--second) 50.4deg 57.6deg,
|
|
90
|
-
var(--first) 57.6deg 64.8deg,
|
|
91
|
-
var(--second) 64.8deg 72deg,
|
|
92
|
-
var(--first) 72deg 79.2deg,
|
|
93
|
-
var(--second) 79.2deg 86.4deg,
|
|
94
|
-
var(--first) 86.4deg 93.6deg,
|
|
95
|
-
var(--second) 93.6deg 100.8deg,
|
|
96
|
-
var(--first) 100.8deg 108deg,
|
|
97
|
-
var(--second) 108deg 115.2deg,
|
|
98
|
-
var(--first) 115.2deg 122.4deg,
|
|
99
|
-
var(--second) 122.4deg 129.6deg,
|
|
100
|
-
var(--first) 129.6deg 136.8deg,
|
|
101
|
-
var(--second) 136.8deg 144deg,
|
|
102
|
-
var(--first) 144deg 151.2deg,
|
|
103
|
-
var(--second) 151.2deg 158.4deg,
|
|
104
|
-
var(--first) 158.4deg 165.6deg,
|
|
105
|
-
var(--second) 165.6deg 172.8deg,
|
|
106
|
-
var(--first) 172.8deg 180deg,
|
|
107
|
-
var(--second) 180deg 187.2deg,
|
|
108
|
-
var(--first) 187.2deg 194.4deg,
|
|
109
|
-
var(--second) 194.4deg 201.6deg,
|
|
110
|
-
var(--first) 201.6deg 208.8deg,
|
|
111
|
-
var(--second) 208.8deg 216deg,
|
|
112
|
-
var(--first) 216deg 223.2deg,
|
|
113
|
-
var(--second) 223.2deg 230.4deg,
|
|
114
|
-
var(--first) 230.4deg 237.6deg,
|
|
115
|
-
var(--second) 237.6deg 244.8deg,
|
|
116
|
-
var(--first) 244.8deg 252deg,
|
|
117
|
-
var(--second) 252deg 259.2deg,
|
|
118
|
-
var(--first) 259.2deg 266.4deg,
|
|
119
|
-
var(--second) 266.4deg 273.6deg,
|
|
120
|
-
var(--first) 273.6deg 280.8deg,
|
|
121
|
-
var(--second) 280.8deg 288deg,
|
|
122
|
-
var(--first) 288deg 295.2deg,
|
|
123
|
-
var(--second) 295.2deg 302.4deg,
|
|
124
|
-
var(--first) 302.4deg 309.6deg,
|
|
125
|
-
var(--second) 309.6deg 316.8deg,
|
|
126
|
-
var(--first) 316.8deg 324deg,
|
|
127
|
-
var(--second) 324deg 331.2deg,
|
|
128
|
-
var(--first) 331.2deg 338.4deg,
|
|
129
|
-
var(--second) 338.4deg 345.6deg,
|
|
130
|
-
var(--first) 345.6deg 352.8deg,
|
|
131
|
-
var(--second) 352.8deg 360deg
|
|
132
|
-
);
|
|
133
|
-
animation: rotate 20s linear infinite;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@media (max-width: 1024px) {
|
|
137
|
-
.light-rays::before,
|
|
138
|
-
.light-rays::after {
|
|
139
|
-
left: auto;
|
|
140
|
-
right: 11%;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/* ScrollArea.module.css */
|
|
145
|
-
.scrollArea {
|
|
146
|
-
overflow-y: scroll;
|
|
147
|
-
padding-right: 4px;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/* WebKit-based browsers */
|
|
151
|
-
.scrollArea::-webkit-scrollbar {
|
|
152
|
-
width: 8px;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.scrollArea::-webkit-scrollbar-track {
|
|
156
|
-
background: var(--color-bg-primary-alt);
|
|
157
|
-
border-radius: 9999px;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.scrollArea::-webkit-scrollbar-thumb {
|
|
161
|
-
background-color: var(--color-bg-quaternary);
|
|
162
|
-
border-radius: 9999px;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
@keyframes waveColor {
|
|
166
|
-
0%,
|
|
167
|
-
2.5% {
|
|
168
|
-
color: var(--wave-highlight-color);
|
|
169
|
-
}
|
|
170
|
-
2.51%,
|
|
171
|
-
100% {
|
|
172
|
-
color: var(--color-brand-300);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
.animate-wave-color-success {
|
|
177
|
-
--wave-highlight-color: var(--color-success-800);
|
|
178
|
-
animation: waveColor 4s ease-in-out infinite;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
.animate-wave-color-error {
|
|
182
|
-
--wave-highlight-color: var(--color-error-600);
|
|
183
|
-
animation: waveColor 4s ease-in-out infinite;
|
|
184
|
-
}
|
|
1
|
+
@keyframes arrow-green-flash {
|
|
2
|
+
0% {
|
|
3
|
+
color: #abefc6;
|
|
4
|
+
}
|
|
5
|
+
100% {
|
|
6
|
+
color: #079455;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.animate-arrow-green-flash-1 {
|
|
11
|
+
animation: arrow-green-flash 0.4s infinite;
|
|
12
|
+
animation-delay: -0.2s;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.animate-arrow-green-flash-2 {
|
|
16
|
+
animation: arrow-green-flash 0.4s infinite;
|
|
17
|
+
animation-delay: -0.1s;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.animate-arrow-green-flash-3 {
|
|
21
|
+
animation: arrow-green-flash 0.4s infinite;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@keyframes arrow-red-flash {
|
|
25
|
+
0%,
|
|
26
|
+
100% {
|
|
27
|
+
color: #f97066;
|
|
28
|
+
}
|
|
29
|
+
50% {
|
|
30
|
+
color: #fecdca;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.animate-arrow-red-flash-1 {
|
|
35
|
+
animation: arrow-red-flash 0.4s infinite;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.animate-arrow-red-flash-2 {
|
|
39
|
+
animation: arrow-red-flash 0.4s infinite;
|
|
40
|
+
animation-delay: -0.1s;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.animate-arrow-red-flash-3 {
|
|
44
|
+
animation: arrow-red-flash 0.4s infinite;
|
|
45
|
+
animation-delay: -0.2s;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Animated BG */
|
|
49
|
+
@keyframes rotate {
|
|
50
|
+
to {
|
|
51
|
+
transform: rotate(1turn);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.light-rays {
|
|
56
|
+
position: absolute;
|
|
57
|
+
top: 0;
|
|
58
|
+
left: 0;
|
|
59
|
+
right: 0;
|
|
60
|
+
bottom: 0;
|
|
61
|
+
overflow: hidden;
|
|
62
|
+
|
|
63
|
+
--first: var(--color-bg-tertiary);
|
|
64
|
+
--second: var(--color-bg-quaternary);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.light-rays::before,
|
|
68
|
+
.light-rays::after {
|
|
69
|
+
content: '';
|
|
70
|
+
position: absolute;
|
|
71
|
+
top: var(--light-rays-top, 150px);
|
|
72
|
+
left: calc(50% - 90px);
|
|
73
|
+
margin: -100vmax;
|
|
74
|
+
width: 200vmax;
|
|
75
|
+
height: 200vmax;
|
|
76
|
+
opacity: 0.6;
|
|
77
|
+
transform-origin: center;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.light-rays::before {
|
|
81
|
+
background: conic-gradient(
|
|
82
|
+
var(--first) 0deg 7.2deg,
|
|
83
|
+
var(--second) 7.2deg 14.4deg,
|
|
84
|
+
var(--first) 14.4deg 21.6deg,
|
|
85
|
+
var(--second) 21.6deg 28.8deg,
|
|
86
|
+
var(--first) 28.8deg 36deg,
|
|
87
|
+
var(--second) 36deg 43.2deg,
|
|
88
|
+
var(--first) 43.2deg 50.4deg,
|
|
89
|
+
var(--second) 50.4deg 57.6deg,
|
|
90
|
+
var(--first) 57.6deg 64.8deg,
|
|
91
|
+
var(--second) 64.8deg 72deg,
|
|
92
|
+
var(--first) 72deg 79.2deg,
|
|
93
|
+
var(--second) 79.2deg 86.4deg,
|
|
94
|
+
var(--first) 86.4deg 93.6deg,
|
|
95
|
+
var(--second) 93.6deg 100.8deg,
|
|
96
|
+
var(--first) 100.8deg 108deg,
|
|
97
|
+
var(--second) 108deg 115.2deg,
|
|
98
|
+
var(--first) 115.2deg 122.4deg,
|
|
99
|
+
var(--second) 122.4deg 129.6deg,
|
|
100
|
+
var(--first) 129.6deg 136.8deg,
|
|
101
|
+
var(--second) 136.8deg 144deg,
|
|
102
|
+
var(--first) 144deg 151.2deg,
|
|
103
|
+
var(--second) 151.2deg 158.4deg,
|
|
104
|
+
var(--first) 158.4deg 165.6deg,
|
|
105
|
+
var(--second) 165.6deg 172.8deg,
|
|
106
|
+
var(--first) 172.8deg 180deg,
|
|
107
|
+
var(--second) 180deg 187.2deg,
|
|
108
|
+
var(--first) 187.2deg 194.4deg,
|
|
109
|
+
var(--second) 194.4deg 201.6deg,
|
|
110
|
+
var(--first) 201.6deg 208.8deg,
|
|
111
|
+
var(--second) 208.8deg 216deg,
|
|
112
|
+
var(--first) 216deg 223.2deg,
|
|
113
|
+
var(--second) 223.2deg 230.4deg,
|
|
114
|
+
var(--first) 230.4deg 237.6deg,
|
|
115
|
+
var(--second) 237.6deg 244.8deg,
|
|
116
|
+
var(--first) 244.8deg 252deg,
|
|
117
|
+
var(--second) 252deg 259.2deg,
|
|
118
|
+
var(--first) 259.2deg 266.4deg,
|
|
119
|
+
var(--second) 266.4deg 273.6deg,
|
|
120
|
+
var(--first) 273.6deg 280.8deg,
|
|
121
|
+
var(--second) 280.8deg 288deg,
|
|
122
|
+
var(--first) 288deg 295.2deg,
|
|
123
|
+
var(--second) 295.2deg 302.4deg,
|
|
124
|
+
var(--first) 302.4deg 309.6deg,
|
|
125
|
+
var(--second) 309.6deg 316.8deg,
|
|
126
|
+
var(--first) 316.8deg 324deg,
|
|
127
|
+
var(--second) 324deg 331.2deg,
|
|
128
|
+
var(--first) 331.2deg 338.4deg,
|
|
129
|
+
var(--second) 338.4deg 345.6deg,
|
|
130
|
+
var(--first) 345.6deg 352.8deg,
|
|
131
|
+
var(--second) 352.8deg 360deg
|
|
132
|
+
);
|
|
133
|
+
animation: rotate 20s linear infinite;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@media (max-width: 1024px) {
|
|
137
|
+
.light-rays::before,
|
|
138
|
+
.light-rays::after {
|
|
139
|
+
left: auto;
|
|
140
|
+
right: 11%;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* ScrollArea.module.css */
|
|
145
|
+
.scrollArea {
|
|
146
|
+
overflow-y: scroll;
|
|
147
|
+
padding-right: 4px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* WebKit-based browsers */
|
|
151
|
+
.scrollArea::-webkit-scrollbar {
|
|
152
|
+
width: 8px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.scrollArea::-webkit-scrollbar-track {
|
|
156
|
+
background: var(--color-bg-primary-alt);
|
|
157
|
+
border-radius: 9999px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.scrollArea::-webkit-scrollbar-thumb {
|
|
161
|
+
background-color: var(--color-bg-quaternary);
|
|
162
|
+
border-radius: 9999px;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@keyframes waveColor {
|
|
166
|
+
0%,
|
|
167
|
+
2.5% {
|
|
168
|
+
color: var(--wave-highlight-color);
|
|
169
|
+
}
|
|
170
|
+
2.51%,
|
|
171
|
+
100% {
|
|
172
|
+
color: var(--color-brand-300);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.animate-wave-color-success {
|
|
177
|
+
--wave-highlight-color: var(--color-success-800);
|
|
178
|
+
animation: waveColor 4s ease-in-out infinite;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.animate-wave-color-error {
|
|
182
|
+
--wave-highlight-color: var(--color-error-600);
|
|
183
|
+
animation: waveColor 4s ease-in-out infinite;
|
|
184
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { useShallow } from 'zustand/shallow';
|
|
4
|
+
import { useAccountQuery } from '../../../client/hooks/useAccountQuery.js';
|
|
5
|
+
import { useGlobalStore } from '../../../client/hooks/useGlobalStore.js';
|
|
6
|
+
/**
|
|
7
|
+
* Opens the UpdateMobilePhoneNumber dialog automatically (once per mount) if
|
|
8
|
+
* the account has finished loading and the user's mobile number is not yet
|
|
9
|
+
* verified. Closes it if it is verified.
|
|
10
|
+
*/
|
|
11
|
+
export function useAutoOpenWhenUnverified() {
|
|
12
|
+
const { setOpen } = useGlobalStore(useShallow((ctx) => ({
|
|
13
|
+
setOpen: ctx.updateMobilePhoneNumber.setOpen,
|
|
14
|
+
})));
|
|
15
|
+
const accountQuery = useAccountQuery();
|
|
16
|
+
const account = accountQuery.data;
|
|
17
|
+
const isAccountLoading = accountQuery.isLoading;
|
|
18
|
+
const isMobileNumberVerified = account?.mobileNumberVerified === true;
|
|
19
|
+
const hasExecuted = useRef(false);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!isAccountLoading && !!account && !hasExecuted.current) {
|
|
22
|
+
if (!isMobileNumberVerified) {
|
|
23
|
+
setOpen(true);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
setOpen(false);
|
|
27
|
+
}
|
|
28
|
+
hasExecuted.current = true;
|
|
29
|
+
}
|
|
30
|
+
}, [isAccountLoading, account, isMobileNumberVerified, setOpen]);
|
|
31
|
+
}
|
|
@@ -44,6 +44,11 @@ import sexycasino from '../images/game-providers/SEXYCASINO.png';
|
|
|
44
44
|
import spadegaming from '../images/game-providers/SPADEGAMING.png';
|
|
45
45
|
import spinix from '../images/game-providers/SPINIX.png';
|
|
46
46
|
import spribe from '../images/game-providers/SPRIBE.png';
|
|
47
|
+
import vibra from '../images/game-providers/VIBRA.png';
|
|
48
|
+
import vibraAquaGaming from '../images/game-providers/VIBRA_AQUA_GAMING.png';
|
|
49
|
+
import vibraGoldenSpins from '../images/game-providers/VIBRA_GOLDEN_SPINS.png';
|
|
50
|
+
import vibraRuviBet from '../images/game-providers/VIBRA_RUVI_BET.png';
|
|
51
|
+
import vibraSpinocchio from '../images/game-providers/VIBRA_SPINOCCHIO.png';
|
|
47
52
|
import yellowbat from '../images/game-providers/YELLOWBAT.png';
|
|
48
53
|
export const GAME_PROVIDER_DATA = {
|
|
49
54
|
ALIZE: {
|
|
@@ -364,6 +369,36 @@ export const GAME_PROVIDER_DATA = {
|
|
|
364
369
|
slug: 'evolution-tap-a-roo',
|
|
365
370
|
logo: evolutionTapARoo,
|
|
366
371
|
},
|
|
372
|
+
VIBRA: {
|
|
373
|
+
id: 'VIBRA',
|
|
374
|
+
name: 'Vibra',
|
|
375
|
+
slug: 'vibra',
|
|
376
|
+
logo: vibra,
|
|
377
|
+
},
|
|
378
|
+
VIBRA_GOLDEN_SPINS: {
|
|
379
|
+
id: 'VIBRA_GOLDEN_SPINS',
|
|
380
|
+
name: 'VibraGoldenSpins',
|
|
381
|
+
slug: 'vibra-golden-spins',
|
|
382
|
+
logo: vibraGoldenSpins,
|
|
383
|
+
},
|
|
384
|
+
VIBRA_SPINOCCHIO: {
|
|
385
|
+
id: 'VIBRA_SPINOCCHIO',
|
|
386
|
+
name: 'VibraSpinocchio',
|
|
387
|
+
slug: 'vibra-pinocchio',
|
|
388
|
+
logo: vibraSpinocchio,
|
|
389
|
+
},
|
|
390
|
+
VIBRA_RUVI_BET: {
|
|
391
|
+
id: 'VIBRA_RUVI_BET',
|
|
392
|
+
name: 'VibraRuviBet',
|
|
393
|
+
slug: 'vibra-ruvi-bet',
|
|
394
|
+
logo: vibraRuviBet,
|
|
395
|
+
},
|
|
396
|
+
VIBRA_AQUA_GAMING: {
|
|
397
|
+
id: 'VIBRA_AQUA_GAMING',
|
|
398
|
+
name: 'VibraAquaGaming',
|
|
399
|
+
slug: 'vibra-aqua-gaming',
|
|
400
|
+
logo: vibraAquaGaming,
|
|
401
|
+
},
|
|
367
402
|
};
|
|
368
403
|
export const GAME_PROVIDERS = Object.values(GAME_PROVIDER_DATA).map(({ id }) => id);
|
|
369
404
|
export const LEGACY_GAME_PROVIDERS = [
|
package/dist/handlers/index.d.ts
CHANGED
|
@@ -18,14 +18,14 @@ export declare const GET: (req: NextRequest, { params }: Context) => Promise<Nex
|
|
|
18
18
|
__error?: unknown;
|
|
19
19
|
} | {
|
|
20
20
|
ok: true;
|
|
21
|
-
data:
|
|
21
|
+
data: Record<string, unknown>;
|
|
22
22
|
}> | NextResponse<{
|
|
23
23
|
ok: false;
|
|
24
24
|
message: string;
|
|
25
25
|
__error?: unknown;
|
|
26
26
|
} | {
|
|
27
27
|
ok: true;
|
|
28
|
-
data:
|
|
28
|
+
data: import("../types").Session;
|
|
29
29
|
}>>;
|
|
30
30
|
export declare const DELETE: (req: NextRequest, { params }: Context) => Promise<NextResponse<{
|
|
31
31
|
ok: true;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NextResponse } from 'next/server';
|
|
2
|
+
/**
|
|
3
|
+
* Proxies AUTH `Set-Cookie` headers (the v4 refresh cookie) onto the outgoing
|
|
4
|
+
* Next.js response. In the proxy model the browser never talks to AUTH
|
|
5
|
+
* directly, so the cookie is re-scoped to the app domain (the `Domain`
|
|
6
|
+
* attribute from AUTH is dropped) and the route handler forwards it back to
|
|
7
|
+
* AUTH on subsequent requests via the `Cookie` header.
|
|
8
|
+
*/
|
|
9
|
+
export declare function applyV4SetCookie(response: NextResponse, setCookie: string[]): void;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxies AUTH `Set-Cookie` headers (the v4 refresh cookie) onto the outgoing
|
|
3
|
+
* Next.js response. In the proxy model the browser never talks to AUTH
|
|
4
|
+
* directly, so the cookie is re-scoped to the app domain (the `Domain`
|
|
5
|
+
* attribute from AUTH is dropped) and the route handler forwards it back to
|
|
6
|
+
* AUTH on subsequent requests via the `Cookie` header.
|
|
7
|
+
*/
|
|
8
|
+
export function applyV4SetCookie(response, setCookie) {
|
|
9
|
+
for (const raw of setCookie) {
|
|
10
|
+
const parsed = parseSetCookie(raw);
|
|
11
|
+
if (!parsed)
|
|
12
|
+
continue;
|
|
13
|
+
response.cookies.set(parsed.name, parsed.value, parsed.options);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function parseSetCookie(raw) {
|
|
17
|
+
const [pair, ...attrs] = raw.split(';');
|
|
18
|
+
const eq = pair.indexOf('=');
|
|
19
|
+
if (eq < 0)
|
|
20
|
+
return null;
|
|
21
|
+
const name = pair.slice(0, eq).trim();
|
|
22
|
+
const value = pair.slice(eq + 1).trim();
|
|
23
|
+
const options = {};
|
|
24
|
+
for (const attr of attrs) {
|
|
25
|
+
const [k, v] = attr.split('=').map((s) => s.trim());
|
|
26
|
+
const key = k.toLowerCase();
|
|
27
|
+
if (key === 'path')
|
|
28
|
+
options.path = v;
|
|
29
|
+
else if (key === 'max-age')
|
|
30
|
+
options.maxAge = Number(v);
|
|
31
|
+
else if (key === 'expires') {
|
|
32
|
+
const d = new Date(v);
|
|
33
|
+
if (!Number.isNaN(d.getTime()))
|
|
34
|
+
options.expires = d;
|
|
35
|
+
}
|
|
36
|
+
else if (key === 'httponly')
|
|
37
|
+
options.httpOnly = true;
|
|
38
|
+
else if (key === 'secure')
|
|
39
|
+
options.secure = true;
|
|
40
|
+
else if (key === 'samesite') {
|
|
41
|
+
const lv = (v ?? '').toLowerCase();
|
|
42
|
+
if (lv === 'strict' || lv === 'lax' || lv === 'none') {
|
|
43
|
+
options.sameSite = lv;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// `Domain` is intentionally dropped so the cookie scopes to the app.
|
|
47
|
+
}
|
|
48
|
+
return { name, value, options };
|
|
49
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<svg width="40" height="41" viewBox="0 0 40 41" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M19.9997 29.6667H20.0163M13.6663 37.1667H26.333C28.1998 37.1667 29.1333 37.1667 29.8463 36.8034C30.4735 36.4838 30.9835 35.9739 31.303 35.3467C31.6663 34.6336 31.6663 33.7002 31.6663 31.8334V9.16671C31.6663 7.29987 31.6663 6.36644 31.303 5.65341C30.9835 5.0262 30.4735 4.51626 29.8463 4.19669C29.1333 3.83337 28.1998 3.83337 26.333 3.83337H13.6663C11.7995 3.83337 10.8661 3.83337 10.153 4.19669C9.52583 4.51626 9.0159 5.0262 8.69632 5.65341C8.33301 6.36644 8.33301 7.29987 8.33301 9.16671V31.8334C8.33301 33.7002 8.33301 34.6336 8.69632 35.3467C9.0159 35.9739 9.52583 36.4838 10.153 36.8034C10.8661 37.1667 11.7995 37.1667 13.6663 37.1667ZM20.833 29.6667C20.833 30.1269 20.4599 30.5 19.9997 30.5C19.5394 30.5 19.1663 30.1269 19.1663 29.6667C19.1663 29.2065 19.5394 28.8334 19.9997 28.8334C20.4599 28.8334 20.833 29.2065 20.833 29.6667Z" stroke="url(#paint0_linear_7447_22974)" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
-
<defs>
|
|
4
|
-
<linearGradient id="paint0_linear_7447_22974" x1="6.15787" y1="37.1667" x2="42.6082" y2="16.0851" gradientUnits="userSpaceOnUse">
|
|
5
|
-
<stop stop-color="#C7802D"/>
|
|
6
|
-
<stop offset="0.438525" stop-color="#FFE585"/>
|
|
7
|
-
<stop offset="1" stop-color="#C7802D"/>
|
|
8
|
-
</linearGradient>
|
|
9
|
-
</defs>
|
|
10
|
-
</svg>
|
|
1
|
+
<svg width="40" height="41" viewBox="0 0 40 41" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M19.9997 29.6667H20.0163M13.6663 37.1667H26.333C28.1998 37.1667 29.1333 37.1667 29.8463 36.8034C30.4735 36.4838 30.9835 35.9739 31.303 35.3467C31.6663 34.6336 31.6663 33.7002 31.6663 31.8334V9.16671C31.6663 7.29987 31.6663 6.36644 31.303 5.65341C30.9835 5.0262 30.4735 4.51626 29.8463 4.19669C29.1333 3.83337 28.1998 3.83337 26.333 3.83337H13.6663C11.7995 3.83337 10.8661 3.83337 10.153 4.19669C9.52583 4.51626 9.0159 5.0262 8.69632 5.65341C8.33301 6.36644 8.33301 7.29987 8.33301 9.16671V31.8334C8.33301 33.7002 8.33301 34.6336 8.69632 35.3467C9.0159 35.9739 9.52583 36.4838 10.153 36.8034C10.8661 37.1667 11.7995 37.1667 13.6663 37.1667ZM20.833 29.6667C20.833 30.1269 20.4599 30.5 19.9997 30.5C19.5394 30.5 19.1663 30.1269 19.1663 29.6667C19.1663 29.2065 19.5394 28.8334 19.9997 28.8334C20.4599 28.8334 20.833 29.2065 20.833 29.6667Z" stroke="url(#paint0_linear_7447_22974)" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<defs>
|
|
4
|
+
<linearGradient id="paint0_linear_7447_22974" x1="6.15787" y1="37.1667" x2="42.6082" y2="16.0851" gradientUnits="userSpaceOnUse">
|
|
5
|
+
<stop stop-color="#C7802D"/>
|
|
6
|
+
<stop offset="0.438525" stop-color="#FFE585"/>
|
|
7
|
+
<stop offset="1" stop-color="#C7802D"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
|
@@ -8,23 +8,23 @@ export declare const createForgotPasswordSchema: (mobileNumberParser: MobileNumb
|
|
|
8
8
|
mobileNumber: z.ZodEffects<z.ZodString, string, string>;
|
|
9
9
|
verificationCode: z.ZodEffects<z.ZodString, string, string>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
verificationCode: string;
|
|
12
11
|
password: string;
|
|
12
|
+
verificationCode: string;
|
|
13
13
|
mobileNumber: string;
|
|
14
14
|
confirmPassword: string;
|
|
15
15
|
}, {
|
|
16
|
-
verificationCode: string;
|
|
17
16
|
password: string;
|
|
17
|
+
verificationCode: string;
|
|
18
18
|
mobileNumber: string;
|
|
19
19
|
confirmPassword: string;
|
|
20
20
|
}>, {
|
|
21
|
-
verificationCode: string;
|
|
22
21
|
password: string;
|
|
22
|
+
verificationCode: string;
|
|
23
23
|
mobileNumber: string;
|
|
24
24
|
confirmPassword: string;
|
|
25
25
|
}, {
|
|
26
|
-
verificationCode: string;
|
|
27
26
|
password: string;
|
|
27
|
+
verificationCode: string;
|
|
28
28
|
mobileNumber: string;
|
|
29
29
|
confirmPassword: string;
|
|
30
30
|
}>;
|