@everymatrix/casino-challenge-card 1.85.11 → 1.85.13

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.
@@ -1,575 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-2e3fb766.js');
4
-
5
- const DEFAULT_LANGUAGE = 'en';
6
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
7
- const TRANSLATIONS = {
8
- en: {
9
- totalLevels: 'Total levels:',
10
- level1: 'Level 1:',
11
- get: 'Get:',
12
- endsIn: 'Ends In',
13
- expired: 'Expired',
14
- viewDetails: 'View details',
15
- placeBetsOf: 'Place bets of',
16
- place: 'Place',
17
- bet: 'bet',
18
- bets: 'bets',
19
- minBet: 'min bet',
20
- forfeited: 'Forfeited',
21
- finished: 'Finished',
22
- suspended: 'Suspended',
23
- unavailable: 'Unavailable',
24
- start: 'Start',
25
- resume: 'Resume',
26
- pause: 'Pause',
27
- new: 'New'
28
- },
29
- ro: {
30
- totalLevels: 'Niveluri totale:',
31
- level1: 'Nivel 1:',
32
- get: 'Obține:',
33
- endsIn: 'Se termină în',
34
- expired: 'Expirat',
35
- viewDetails: 'Vezi detalii',
36
- placeBetsOf: 'Plasează pariuri de',
37
- place: 'Plasare',
38
- bet: 'pariu',
39
- bets: 'pariuri',
40
- minBet: 'pariu minim',
41
- forfeited: 'Pierdut',
42
- finished: 'Terminat',
43
- suspended: 'Suspendat',
44
- unavailable: 'Indisponibil',
45
- start: 'Start',
46
- resume: 'Reia',
47
- pause: 'Pauză'
48
- },
49
- fr: {
50
- totalLevels: 'Niveaux totaux :',
51
- level1: 'Niveau 1 :',
52
- get: 'Obtenir :',
53
- endsIn: 'Se termine dans',
54
- expired: 'Expiré',
55
- viewDetails: 'Voir les détails',
56
- placeBetsOf: 'Placez des paris de',
57
- place: 'Placer',
58
- bet: 'pari',
59
- bets: 'paris',
60
- minBet: 'mise minimale',
61
- forfeited: 'Forfait',
62
- finished: 'Terminé',
63
- suspended: 'Suspendu',
64
- unavailable: 'Indisponible',
65
- start: 'Démarrer',
66
- resume: 'Reprendre',
67
- pause: 'Pause'
68
- },
69
- ar: {
70
- totalLevels: 'إجمالي المستويات:',
71
- level1: 'المستوى 1:',
72
- get: 'احصل على:',
73
- endsIn: 'ينتهي في',
74
- expired: 'منتهي الصلاحية',
75
- viewDetails: 'عرض التفاصيل',
76
- placeBetsOf: 'قم بوضع رهانات بقيمة',
77
- place: 'ضع',
78
- bet: 'رهان',
79
- bets: 'رهانات',
80
- minBet: 'الحد الأدنى للرهان',
81
- forfeited: 'خاسر',
82
- finished: 'منتهي',
83
- suspended: 'معلق',
84
- unavailable: 'غير متاح',
85
- start: 'ابدأ',
86
- resume: 'استئناف',
87
- pause: 'إيقاف مؤقت'
88
- },
89
- hr: {
90
- totalLevels: 'Ukupno razina:',
91
- level1: 'Razina 1:',
92
- get: 'Dobiti:',
93
- endsIn: 'Završava za',
94
- expired: 'Isteklo',
95
- viewDetails: 'Pogledaj detalje',
96
- placeBetsOf: 'Postavite oklade od',
97
- place: 'Postavi',
98
- bet: 'kladnja',
99
- bets: 'kladnje',
100
- minBet: 'minimalna oklada',
101
- forfeited: 'Oduzeto',
102
- finished: 'Završeno',
103
- suspended: 'Suspendirano',
104
- unavailable: 'غير متاح',
105
- start: 'Počni',
106
- resume: 'Nastavi',
107
- pause: 'Pauza'
108
- }
109
- };
110
- const translate = (key, customLang) => {
111
- const lang = customLang;
112
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
113
- };
114
- const getTranslations = (data) => {
115
- Object.keys(data).forEach((item) => {
116
- for (let key in data[item]) {
117
- TRANSLATIONS[item][key] = data[item][key];
118
- }
119
- });
120
- };
121
- const resolveTranslationUrl = async (translationUrl) => {
122
- if (translationUrl) {
123
- try {
124
- const response = await fetch(translationUrl);
125
- if (!response.ok) {
126
- throw new Error(`HTTP error! status: ${response.status}`);
127
- }
128
- const translations = await response.json();
129
- getTranslations(translations);
130
- }
131
- catch (error) {
132
- console.error('Failed to fetch or parse translations from URL:', error);
133
- }
134
- }
135
- };
136
-
137
- var EChallengeLevelTargetType;
138
- (function (EChallengeLevelTargetType) {
139
- EChallengeLevelTargetType[EChallengeLevelTargetType["Accumulative"] = 0] = "Accumulative";
140
- EChallengeLevelTargetType[EChallengeLevelTargetType["SingleBet"] = 1] = "SingleBet";
141
- EChallengeLevelTargetType[EChallengeLevelTargetType["MultipleOneBetSize"] = 2] = "MultipleOneBetSize";
142
- })(EChallengeLevelTargetType || (EChallengeLevelTargetType = {}));
143
- var EChallengeRecurrenceType;
144
- (function (EChallengeRecurrenceType) {
145
- EChallengeRecurrenceType[EChallengeRecurrenceType["Single"] = 0] = "Single";
146
- EChallengeRecurrenceType[EChallengeRecurrenceType["Daily"] = 1] = "Daily";
147
- EChallengeRecurrenceType[EChallengeRecurrenceType["Weekly"] = 2] = "Weekly";
148
- EChallengeRecurrenceType[EChallengeRecurrenceType["Monthly"] = 3] = "Monthly";
149
- })(EChallengeRecurrenceType || (EChallengeRecurrenceType = {}));
150
- var EChallengeRewardType;
151
- (function (EChallengeRewardType) {
152
- EChallengeRewardType[EChallengeRewardType["FreeSpins"] = 0] = "FreeSpins";
153
- EChallengeRewardType[EChallengeRewardType["LuckyWheel"] = 1] = "LuckyWheel";
154
- EChallengeRewardType[EChallengeRewardType["Leaderboard"] = 2] = "Leaderboard";
155
- EChallengeRewardType[EChallengeRewardType["Challenge"] = 3] = "Challenge";
156
- EChallengeRewardType[EChallengeRewardType["Custom"] = 4] = "Custom";
157
- })(EChallengeRewardType || (EChallengeRewardType = {}));
158
- var EChallengeStatus;
159
- (function (EChallengeStatus) {
160
- EChallengeStatus[EChallengeStatus["Draft"] = 0] = "Draft";
161
- EChallengeStatus[EChallengeStatus["Enabled"] = 1] = "Enabled";
162
- EChallengeStatus[EChallengeStatus["Paused"] = 2] = "Paused";
163
- EChallengeStatus[EChallengeStatus["Closed"] = 3] = "Closed";
164
- EChallengeStatus[EChallengeStatus["Deleted"] = 4] = "Deleted";
165
- })(EChallengeStatus || (EChallengeStatus = {}));
166
- var EChallengeProgressStatus;
167
- (function (EChallengeProgressStatus) {
168
- EChallengeProgressStatus[EChallengeProgressStatus["Started"] = 0] = "Started";
169
- EChallengeProgressStatus[EChallengeProgressStatus["InProgress"] = 1] = "InProgress";
170
- EChallengeProgressStatus[EChallengeProgressStatus["PendingLevelReward"] = 2] = "PendingLevelReward";
171
- EChallengeProgressStatus[EChallengeProgressStatus["Completed"] = 3] = "Completed";
172
- EChallengeProgressStatus[EChallengeProgressStatus["Expired"] = 4] = "Expired";
173
- EChallengeProgressStatus[EChallengeProgressStatus["Forfeited"] = 5] = "Forfeited";
174
- EChallengeProgressStatus[EChallengeProgressStatus["Awaiting"] = 6] = "Awaiting";
175
- EChallengeProgressStatus[EChallengeProgressStatus["Paused"] = 7] = "Paused";
176
- })(EChallengeProgressStatus || (EChallengeProgressStatus = {}));
177
- var EChallengeProgressLevelStatus;
178
- (function (EChallengeProgressLevelStatus) {
179
- EChallengeProgressLevelStatus[EChallengeProgressLevelStatus["Closed"] = 0] = "Closed";
180
- EChallengeProgressLevelStatus[EChallengeProgressLevelStatus["InProgress"] = 1] = "InProgress";
181
- EChallengeProgressLevelStatus[EChallengeProgressLevelStatus["Fillup"] = 2] = "Fillup";
182
- EChallengeProgressLevelStatus[EChallengeProgressLevelStatus["Completed"] = 3] = "Completed";
183
- })(EChallengeProgressLevelStatus || (EChallengeProgressLevelStatus = {}));
184
- const ChallengeStatusDictionary = [
185
- 'started',
186
- 'inProgress',
187
- 'pendingLevelReward',
188
- 'completed',
189
- 'expired',
190
- 'forfeited',
191
- 'awaiting',
192
- 'paused'
193
- ];
194
- var EChallengeTriggerType;
195
- (function (EChallengeTriggerType) {
196
- EChallengeTriggerType[EChallengeTriggerType["GameLaunch"] = 0] = "GameLaunch";
197
- EChallengeTriggerType[EChallengeTriggerType["Reward"] = 1] = "Reward";
198
- EChallengeTriggerType[EChallengeTriggerType["Manual"] = 2] = "Manual";
199
- })(EChallengeTriggerType || (EChallengeTriggerType = {}));
200
- var EChallengeValidityType;
201
- (function (EChallengeValidityType) {
202
- EChallengeValidityType[EChallengeValidityType["Period"] = 0] = "Period";
203
- EChallengeValidityType[EChallengeValidityType["Date"] = 1] = "Date";
204
- })(EChallengeValidityType || (EChallengeValidityType = {}));
205
-
206
- function getTimeLeft(endTime) {
207
- const now = new Date();
208
- const end = new Date(endTime);
209
- let diff = end.getTime() - now.getTime();
210
- if (diff <= 0) {
211
- return;
212
- }
213
- const days = Math.floor(diff / (1000 * 60 * 60 * 24));
214
- diff -= days * (1000 * 60 * 60 * 24);
215
- const hours = Math.floor(diff / (1000 * 60 * 60));
216
- diff -= hours * (1000 * 60 * 60);
217
- const minutes = Math.floor(diff / (1000 * 60));
218
- diff -= minutes * (1000 * 60);
219
- const seconds = Math.floor(diff / 1000);
220
- const pad = (n) => n.toString().padStart(2, '0');
221
- return `${pad(days)} : ${pad(hours)} : ${pad(minutes)} : ${pad(seconds)}`;
222
- }
223
-
224
- /**
225
- * @name setClientStyling
226
- * @description Method used to create and append to the passed element of the widget a style element with the content received
227
- * @param {HTMLElement} stylingContainer The reference element of the widget
228
- * @param {string} clientStyling The style content
229
- */
230
- function setClientStyling(stylingContainer, clientStyling) {
231
- if (stylingContainer) {
232
- const sheet = document.createElement('style');
233
- sheet.innerHTML = clientStyling;
234
- stylingContainer.appendChild(sheet);
235
- }
236
- }
237
-
238
- /**
239
- * @name setClientStylingURL
240
- * @description Method used to create and append to the passed element of the widget a style element with the content fetched from a given URL
241
- * @param {HTMLElement} stylingContainer The reference element of the widget
242
- * @param {string} clientStylingUrl The URL of the style content
243
- */
244
- function setClientStylingURL(stylingContainer, clientStylingUrl) {
245
- const url = new URL(clientStylingUrl);
246
-
247
- fetch(url.href)
248
- .then((res) => res.text())
249
- .then((data) => {
250
- const cssFile = document.createElement('style');
251
- cssFile.innerHTML = data;
252
- if (stylingContainer) {
253
- stylingContainer.appendChild(cssFile);
254
- }
255
- })
256
- .catch((err) => {
257
- console.error('There was an error while trying to load client styling from URL', err);
258
- });
259
- }
260
-
261
- /**
262
- * @name setStreamLibrary
263
- * @description Method used to create and append to the passed element of the widget a style element with content fetched from the MessageBus
264
- * @param {HTMLElement} stylingContainer The highest element of the widget
265
- * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
266
- * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
267
- */
268
- function setStreamStyling(stylingContainer, domain, subscription) {
269
- if (window.emMessageBus) {
270
- const sheet = document.createElement('style');
271
-
272
- window.emMessageBus.subscribe(domain, (data) => {
273
- sheet.innerHTML = data;
274
- if (stylingContainer) {
275
- stylingContainer.appendChild(sheet);
276
- }
277
- });
278
- }
279
- }
280
-
281
- const finishSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNjQ0NTQgMTIuMTI2MkMxLjU5ODQyIDEyLjEyNzkgMS41NTEyOSAxMi4xMjI3IDEuNTA0MzIgMTIuMTA5OUMxLjI1NzU3IDEyLjA0MjEgMS4xMTI0OSAxMS43ODcyIDEuMTgwMjIgMTEuNTQwM0wzLjUzMDE2IDIuOTU4N0MzLjU5NzkxIDIuNzEyMSAzLjg1MjIyIDIuNTY2NzQgNC4wOTk3MyAyLjYzNDZDNC4zNDY0NyAyLjcwMjM0IDQuNDkxNTUgMi45NTcyNyA0LjQyMzgyIDMuMjA0MTZMMi4wNzM4OCAxMS43ODU4QzIuMDE5MDIgMTEuOTg1NSAxLjg0MTIzIDEyLjExODggMS42NDQ1NCAxMi4xMjYyWiIgZmlsbD0iIzM2QkEzQiIvPgo8cGF0aCBkPSJNMS41NjMwNCAxMS4yNjM0QzEuNTQ3NjggMTEuMjYzOSAxLjUzMTk4IDExLjI2MjIgMS41MTYzMyAxMS4yNTc5QzEuNDM0MTQgMTEuMjM1NCAxLjM4NTgyIDExLjE1MDUgMS40MDgzOCAxMS4wNjgyTDMuNjU4MTMgMi45MTUwM0MzLjY4MDY5IDIuODMyODkgMy43NjU0MSAyLjc4NDQ3IDMuODQ3ODUgMi44MDcwN0MzLjkzMDA0IDIuODI5NjMgMy45NzgzNyAyLjkxNDU1IDMuOTU1OCAyLjk5Njc5TDEuNzA2MDUgMTEuMTVDMS42ODc3OCAxMS4yMTY1IDEuNjI4NTYgMTEuMjYwOSAxLjU2MzA0IDExLjI2MzRaIiBmaWxsPSIjQkNGQ0IxIiBmaWxsLW9wYWNpdHk9IjAuMSIvPgo8cGF0aCBkPSJNMTIuNTE5MyAxMi43OTMyTDEwLjcyNjEgMTMuMDIzNEM5LjM2MTczIDEzLjE5ODYgNy45NzM2MSAxMi43MjIyIDcuMDkzMzkgMTEuNjY1Mkw3LjA0Nzc5IDExLjYxMDRDNi4zMjg0MyAxMC43NDY2IDUuMzA5MzEgMTAuMTY1NCA0LjE4NjU2IDEwLjEwOTFMMi4zNjIzOSAxMC4wMTc2TDIuMzA0NjkgOS45NTk4OEw0LjIyOTY5IDMuMTg0NTdMNi4wOTMxMiAzLjI4MzY3QzcuMjIxNjkgMy4zNDM2OCA4LjI3Mjk3IDMuODc1NjIgOC45ODk4MSA0Ljc0OTM1QzkuODY4OTIgNS44MjA4NyAxMS4yMzc3IDYuMzY0NDUgMTIuNjEyNCA2LjE4Nzk4TDE0LjMzODIgNS44OTc2N0wxNC4zODY2IDUuOTYwMjNMMTIuNTE5MyAxMi43OTMyWiIgZmlsbD0iI0JDRkNCMSIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHBhdGggZD0iTTEyLjQ2MTYgMTIuNzM1NkwxMC42Njg0IDEyLjk2NThDOS4zMDQwMyAxMy4xNDA5IDcuOTQ0NzYgMTIuNjA2OSA3LjA2NDU0IDExLjU0OTlMNy4wMTg5NCAxMS40OTUxQzYuMjk5NTggMTAuNjMxMiA1LjI1MTYxIDEwLjEwNzggNC4xMjg4NiAxMC4wNTE0TDIuMzA0NjkgOS45NTk5Nkw0LjE3MTk5IDMuMTI2OTVMNi4wMzU0MiAzLjIyNjA1QzcuMTYzOTkgMy4yODYwNyA4LjIxNTI4IDMuODE4IDguOTMyMTEgNC42OTE3NEM5LjgxMTIyIDUuNzYzMjYgMTEuMTggNi4zMDY4MyAxMi41NTQ3IDYuMTMwMzZMMTQuMzI4OSA1LjkwMjYxTDEyLjQ2MTYgMTIuNzM1NloiIGZpbGw9IiNCRUZGQkEiLz4KPHBhdGggZD0iTTEwLjQ4NDYgMTAuNzE2NEMxMC4wOTEzIDEwLjY4NTMgOS43MDIzOSAxMC42MDM4IDkuMzMzNjggMTAuNDU5NUM4LjgxMjM1IDEwLjI1NTIgOC4zNDIzNyA5LjkzNzIxIDcuOTQ4OTEgOS41NDA0Nkw4LjU4MTY5IDcuMjI1MDNDOC45NzYwNyA3LjYyMTkxIDkuNDQ2ODcgNy45Mzk4OSA5Ljk2OTE0IDguMTQzODhDMTAuMzM2OCA4LjI4NzUzIDEwLjcyNDIgOC4zNzM3NSAxMS4xMTYzIDguNDA0OTVMMTAuNDg0NiAxMC43MTY0Wk01LjY0NTA3IDcuOTM5MDJDNS4zNjg1OCA3Ljg2MjgzIDUuMDgzMjEgNy44MTQ2NCA0Ljc5Mjc4IDcuNzk5MThMMi45MzAxOCA3LjcwMDA0TDMuNTYzMTMgNS4zODM4Nkw1LjQyNzM5IDUuNDgzMDFDNS43MTczIDUuNDk4NCA2LjAwMjE1IDUuNTQ2NDkgNi4yNzgxNSA1LjYyMjUyTDUuNjQ1MDcgNy45MzkwMlpNOC45NDEzNyA0LjY4NjgyQzkuMDIxNjggNC43ODQ3MyA5LjEwODM1IDQuODc1NTMgOS4xOTY0OCA0Ljk2NDQ3TDkuMTkyMjUgNC45NjMzNUw4LjU3ODA2IDcuMjEwNzdDOC41MDI3OSA3LjEzNDU0IDguNDI1MzYgNy4wNjAzOSA4LjM1NjM0IDYuOTc4MTlMOC4zMjcwNCA2Ljk0Mjg0QzcuNzk3MzUgNi4yOTcyMiA3LjA4MDM2IDUuODM4IDYuMjg2OTYgNS42MTc4MUw2LjkwMzI5IDMuMzYyNTVDNy42OTYyMSAzLjU4MTkyIDguNDEwNjggNC4wMzk5OSA4Ljk0MTM3IDQuNjg2ODJaTTcuMDczNzggMTEuNTQ0OUw3LjAyODE5IDExLjQ5MDJDNi41MDUzNiAxMC44NjIzIDUuODA3ODYgMTAuNDE3MyA1LjAzNTMgMTAuMTk3OEw1LjY1MDA3IDcuOTQ4MjNDNi40NDIwNCA4LjE2Nzk1IDcuMTU3NzQgOC42MjYzNCA3LjY4NjUxIDkuMjcwODNMNy43MTE0NCA5LjMwMDk4QzcuNzgyODQgOS4zODYyOSA3Ljg2Mjc3IDkuNDYzNDcgNy45NDA4NiA5LjU0MjM5TDcuMzIxMDQgMTEuODEwNEM3LjIzNTkgMTEuNzI1MSA3LjE1MTczIDExLjYzODUgNy4wNzM3OCAxMS41NDQ5Wk0xMi40NzA5IDEyLjczMDdMMTAuNjc3NiAxMi45NjA5QzEwLjUwNjQgMTIuOTgyOSAxMC4zMzUxIDEyLjk5MzcgMTAuMTY1IDEyLjk5MzdDMTAuMDY3NCAxMi45OTM3IDkuOTcwODcgMTIuOTg0NyA5Ljg3NDEzIDEyLjk3NzdMMTAuNDg4OCAxMC43Mjg4QzEwLjU5MjkgMTAuNzM2OSAxMC42OTczIDEwLjc0MzMgMTAuODAxOCAxMC43NDMzQzEwLjk3MjMgMTAuNzQzMyAxMS4xNDI5IDEwLjczMjUgMTEuMzEyMyAxMC43MTA3TDEzLjA4NTEgMTAuNDgzMUwxMi40NzA5IDEyLjczMDdaTTEzLjcyMjEgOC4xNTIxOEwxMS45NDY0IDguMzgwMTJDMTEuNjc0MSA4LjQxNDg4IDExLjM5OTcgOC40MTQzIDExLjEyNyA4LjM5MzI5TDExLjc0MjUgNi4xNDEwOEMxMS44NDUyIDYuMTQ5IDExLjk0NzYgNi4xNTgyNSAxMi4wNTEyIDYuMTU4MjVDMTIuMjIxNSA2LjE1ODI1IDEyLjM5MjYgNi4xNDc0NCAxMi41NjM5IDYuMTI1NDRMMTQuMzM4MiA1Ljg5NzY5TDEzLjcyMjEgOC4xNTIxOFoiIGZpbGw9IiMzNkJBM0IiLz4KPC9zdmc+Cg==';
282
-
283
- const trophySvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguNjI4NzQgMTAuMTI1VjExLjI2MzNDOC42Mjg3NCAxMS4yNjMzIDguMTQ0MTcgMTEuNzYzMiA1Ljk5OTkyIDExLjc2MzJDMy44NTU2NiAxMS43NjMyIDMuMzcxMDkgMTEuMjYzMyAzLjM3MTA5IDExLjI2MzNWMTAuMTI1SDguNjI4NzRaIiBmaWxsPSIjRTZBNDVFIi8+CjxwYXRoIGQ9Ik04LjYyODggMTAuMTI1VjExLjI2MzNDOC42Mjg4IDExLjI2MzMgOC4xNDQyMyAxMS43NjMyIDUuOTk5OTggMTEuNzYzMkM1LjI4MzMxIDExLjc2MzIgNC43NTIwNSAxMS43MDczIDQuMzYyMyAxMS42MzNDNi4zMTYxMiAxMS43NTk0IDguNjI4OCAxMC4xMjUgOC42Mjg4IDEwLjEyNVoiIGZpbGw9IiNEODkyNEUiLz4KPHBhdGggZD0iTTQuODg2OSA5LjU3NDcxQzMuOTkxNDEgOS42NzE1MyAzLjM3MTA5IDkuODgxNTYgMy4zNzEwOSAxMC4xMjUxQzMuMzcxMDkgMTAuNDYwNSA0LjU0ODA2IDEwLjczMjQgNS45OTk5MiAxMC43MzI0QzcuNDUxNzggMTAuNzMyNCA4LjYyODc0IDEwLjQ2MDUgOC42Mjg3NCAxMC4xMjUxQzguNjI4NzQgOS44ODE1OCA4LjAwODU0IDkuNjcxNTcgNy4xMTMyIDkuNTc0NzRMNC44ODY5IDkuNTc0NzFaIiBmaWxsPSIjRkZFRENDIi8+CjxwYXRoIGQ9Ik01LjQzMTA2IDcuMTE0MjZWOC4yNzk0NkM1LjQzMTA2IDkuMDMyNzYgNC45NjYzMyA5LjcwNzk2IDQuMjYyNyA5Ljk3Njk1QzQuMjYyNyA5Ljk3Njk1IDQuNjQ1NjcgMTAuMjgxOSA2LjAwMDIzIDEwLjI4MTlDNy4zNTQ3OSAxMC4yODE5IDcuNzM3NzYgOS45NzY5NSA3LjczNzc2IDkuOTc2OTVDNy4wMzQxMyA5LjcwNzk2IDYuNTY5MzkgOS4wMzI3NiA2LjU2OTM5IDguMjc5NDZWNy4xMTQyNkg1LjQzMTA2WiIgZmlsbD0iI0Y3RDE3RiIvPgo8cGF0aCBkPSJNMi45MTQwNiAwLjc4MzY5MUMyLjkxNDA2IDQuMzEyNjcgMy42MDEyIDcuMzQ4NzMgNS45OTk5NCA3LjM0ODczQzguMzk4NjcgNy4zNDg3MyA5LjA4NTgxIDQuMzEyNjcgOS4wODU4MSAwLjc4MzY5MUgyLjkxNDA2WiIgZmlsbD0iI0VBQjE2NiIvPgo8cGF0aCBkPSJNMi45NDQzNiAyLjAwMjc3SDEuMTU3MDlDMS4wNTkwNiAyLjAwMjc3IDAuOTg2NjMyIDIuMDkxNjcgMS4wMDcwNyAyLjE4NzU1QzEuMTQwODMgMi44MTUyIDEuNzEwNjUgNC44NTM2NCAzLjU0MDk3IDUuMzQ1NTlMMy44NTU3OCA2LjAxNTMzQzEuMjEwODYgNS4zNjYyOSAwLjUzMjQyNiAzLjEyNTYxIDAuMzU4NDA2IDIuMDIyMDVDMC4zMDY3NjEgMS42OTQ1NCAwLjU1Mzc2MyAxLjM5Nzk1IDAuODg1MzIxIDEuMzk3OTVIMi45MjE1MkwyLjk0NDM2IDIuMDAyNzdaIiBmaWxsPSIjRjdEMTdGIi8+CjxwYXRoIGQ9Ik05LjA1NTk0IDIuMDAyNzdIMTAuODQzMkMxMC45NDEyIDIuMDAyNzcgMTEuMDEzNyAyLjA5MTY3IDEwLjk5MzIgMi4xODc1NUMxMC44NTk1IDIuODE1MiAxMC4yODk3IDQuODUzNjQgOC40NTkzNCA1LjM0NTU5TDguMTQ0NTMgNi4wMTUzM0MxMC43ODk0IDUuMzY2MjkgMTEuNDY3OSAzLjEyNTYxIDExLjY0MTkgMi4wMjIwNUMxMS42OTM1IDEuNjk0NTQgMTEuNDQ2NSAxLjM5Nzk1IDExLjExNSAxLjM5Nzk1SDkuMDc4NzlMOS4wNTU5NCAyLjAwMjc3WiIgZmlsbD0iI0Y3RDE3RiIvPgo8cGF0aCBkPSJNNS45OTk5NCAxLjMyNjE3QzcuNzA0MjIgMS4zMjYxNyA5LjA4NTgxIDEuMDgyMzEgOS4wODU4MSAwLjc4MTQ5NUM5LjA4NTgxIDAuNDgwNjc3IDcuNzA0MjIgMC4yMzY4MTYgNS45OTk5NCAwLjIzNjgxNkM0LjI5NTY1IDAuMjM2ODE2IDIuOTE0MDYgMC40ODA2NzcgMi45MTQwNiAwLjc4MTQ5NUMyLjkxNDA2IDEuMDgyMzEgNC4yOTU2NSAxLjMyNjE3IDUuOTk5OTQgMS4zMjYxN1oiIGZpbGw9IiNFNkE0NUUiLz4KPHBhdGggZD0iTTguODIzNjYgMC43ODM2OTFDNy44OTgxOSA3LjAxNjg0IDQuNjE1NzcgNi41NzYxNyA0LjE5MDkyIDYuNDk4NThDNC42NDE1IDcuMDM2OCA1LjIzMzAxIDcuMzQ4NzIgNi4wMDA0MyA3LjM0ODcyQzguMzk5MTYgNy4zNDg3MiA5LjA4NjMgNC4zMTI2NyA5LjA4NjMgMC43ODM2OTFIOC44MjM2NloiIGZpbGw9IiNFNkE0NUUiLz4KPHBhdGggZD0iTTQuNjQyNCAwLjI5MzQ1N0MzLjYyMDA4IDAuMzgyMDYzIDIuOTE0MDYgMC41NjY3NDQgMi45MTQwNiAwLjc4MTM2NUMyLjkxNDA2IDEuMDAxOTQgMy42NTg3OSAxLjE5MTIxIDQuNzI3MTcgMS4yNzY3NUM0LjY3NTggMC45NTA3ODEgNC42NDY1MSAwLjYyMjIxOSA0LjY0MjQgMC4yOTM0NTdaIiBmaWxsPSIjRDg5MjRFIi8+CjxwYXRoIGQ9Ik02LjIyNTQ4IDIuNjAzNjlMNi4zOTQ5IDMuMTI1MTFDNi40MjY2MiAzLjIyMjc1IDYuNTE3NjEgMy4yODg4NiA2LjYyMDI3IDMuMjg4ODZINy4xNjg1M0M3LjM5ODA5IDMuMjg4ODYgNy40OTM1NCAzLjU4MjYxIDcuMzA3ODIgMy43MTc1NUw2Ljg2NDI3IDQuMDM5ODFDNi43ODEyMSA0LjEwMDE1IDYuNzQ2NDYgNC4yMDcxMSA2Ljc3ODE4IDQuMzA0NzVMNi45NDc2MSA0LjgyNjE4QzcuMDE4NTQgNS4wNDQ1IDYuNzY4NjYgNS4yMjYwNiA2LjU4Mjk0IDUuMDkxMTJMNi4xMzkzOSA0Ljc2ODg2QzYuMDU2MzMgNC43MDg1MiA1Ljk0Mzg3IDQuNzA4NTIgNS44NjA4MSA0Ljc2ODg2TDUuNDE3MjYgNS4wOTExMkM1LjIzMTU0IDUuMjI2MDYgNC45ODE2NSA1LjA0NDUgNS4wNTI1OSA0LjgyNjE4TDUuMjIyMDEgNC4zMDQ3NUM1LjI1Mzc0IDQuMjA3MTEgNS4yMTg5OCA0LjEwMDE1IDUuMTM1OTMgNC4wMzk4MUw0LjY5MjM4IDMuNzE3NTVDNC41MDY2NiAzLjU4MjYxIDQuNjAyMSAzLjI4ODg2IDQuODMxNjcgMy4yODg4Nkg1LjM3OTkzQzUuNDgyNTkgMy4yODg4NiA1LjU3MzU4IDMuMjIyNzUgNS42MDUzIDMuMTI1MTFMNS43NzQ3MiAyLjYwMzY5QzUuODQ1NjYgMi4zODUzNiA2LjE1NDU0IDIuMzg1MzYgNi4yMjU0OCAyLjYwMzY5WiIgZmlsbD0iI0Q4OTI0RSIvPgo8cGF0aCBkPSJNNi4yMjU0OCAyLjUwOTk0TDYuMzk0OSAzLjAzMTM2QzYuNDI2NjIgMy4xMjkgNi41MTc2MSAzLjE5NTExIDYuNjIwMjcgMy4xOTUxMUg3LjE2ODUzQzcuMzk4MDkgMy4xOTUxMSA3LjQ5MzU0IDMuNDg4ODYgNy4zMDc4MiAzLjYyMzhMNi44NjQyNyAzLjk0NjA2QzYuNzgxMjEgNC4wMDY0IDYuNzQ2NDYgNC4xMTMzNiA2Ljc3ODE4IDQuMjExTDYuOTQ3NjEgNC43MzI0M0M3LjAxODU0IDQuOTUwNzUgNi43Njg2NiA1LjEzMjMxIDYuNTgyOTQgNC45OTczN0w2LjEzOTM5IDQuNjc1MTFDNi4wNTYzMyA0LjYxNDc3IDUuOTQzODcgNC42MTQ3NyA1Ljg2MDgxIDQuNjc1MTFMNS40MTcyNiA0Ljk5NzM3QzUuMjMxNTQgNS4xMzIzMSA0Ljk4MTY1IDQuOTUwNzUgNS4wNTI1OSA0LjczMjQzTDUuMjIyMDEgNC4yMTFDNS4yNTM3NCA0LjExMzM2IDUuMjE4OTggNC4wMDY0IDUuMTM1OTMgMy45NDYwNkw0LjY5MjM4IDMuNjIzOEM0LjUwNjY2IDMuNDg4ODYgNC42MDIxIDMuMTk1MTEgNC44MzE2NyAzLjE5NTExSDUuMzc5OTNDNS40ODI1OSAzLjE5NTExIDUuNTczNTggMy4xMjkgNS42MDUzIDMuMDMxMzZMNS43NzQ3MiAyLjUwOTk0QzUuODQ1NjYgMi4yOTE2MSA2LjE1NDU0IDIuMjkxNjEgNi4yMjU0OCAyLjUwOTk0WiIgZmlsbD0iI0ZGRURDQyIvPgo8L3N2Zz4K';
284
-
285
- const casinoChallengeCardCss = ".card {\n width: 308px;\n border-radius: 16px;\n border: 2px solid var(--emw--button-border-color, rgba(221, 255, 207, 0.1019607843));\n background-color: var(--emw--color-background, #141515);\n box-sizing: border-box;\n position: relative;\n}\n@container challenges-container (max-width: 670px) {\n .card {\n width: 100%;\n }\n}\n.card:hover {\n background: linear-gradient(90deg, rgb(0, 62, 92) 0%, rgb(17, 59, 33) 100%);\n cursor: pointer;\n}\n.card__image {\n width: 100%;\n height: 200px;\n border-radius: 16px 16px 0 0;\n object-fit: cover;\n}\n@container challenges-container (max-width: 576px) {\n .card__image {\n height: 224px;\n }\n}\n.card__image.grayed {\n opacity: 0.6;\n}\n.card__title {\n color: var(--emw--color-white, #FFFFFF);\n font-size: var(--emw--font-size-medium, 16px);\n height: 39px;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0 0 10px;\n}\n.card__content {\n padding: 20px;\n}\n.card__button {\n margin-top: 20px;\n width: 100%;\n height: 34px;\n background: transparent;\n text-transform: uppercase;\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n color: var(--emw--color-secondary, #e9931e);\n}\n.card__button:hover {\n border-color: var(--emw--color-secondary, #e9931e);\n cursor: pointer;\n}\n.card__button.filled {\n background-color: var(--emw--button-background-primary-color, #18CE51);\n color: var(--emw--color-white, #FFFFFF);\n border-color: var(--emw--color-gray-300, #083B17);\n}\n.card__button.filled:hover {\n color: var(--emw--color-gray-300, #083B17);\n border-color: transparent;\n box-shadow: 0 0 4px 0 rgba(188, 252, 177, 0.2), 0 0 20px 0 rgba(0, 183, 79, 0.5);\n}\n.card__button.grayed {\n color: var(--emw--color-gray-50, #E2E2E2);\n}\n.card__button.grayed:hover {\n color: var(--emw--color-white, #FFFFFF);\n border-color: var(--emw--button-primary-border, #24B24E);\n}\n.card__button:hover {\n border-color: var(--emw--color-secondary, #e9931e);\n cursor: pointer;\n}\n.card__button:disabled, .card__button:disabled:hover {\n color: var(--emw--color-gray-50, #E2E2E2);\n cursor: not-allowed;\n border: 2px solid var(--emw--button-border-color, #727672);\n opacity: 0.7;\n}\n.card__badge {\n position: absolute;\n background: var(--emw--color-white, #FFFFFF);\n top: 6px;\n right: 6px;\n border-radius: 30px;\n padding: 2px 12px;\n line-height: 22px;\n font-weight: var(--emw--font-weight-medium, 500);\n font-size: var(--emw--font-size-x-small, 12px);\n box-shadow: 0 4px 4px 0 var(--emw--button-box-shadow-color, rgba(0, 0, 0, 0.25));\n backdrop-filter: blur(20px);\n box-sizing: border-box;\n}\n.card__badge span {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.card__badge.expired {\n background: var(--emw--background-gray-color, rgba(250, 250, 250, 0.5019607843));\n border: 1px solid var(--emw--border-gray-color, #292C29);\n font-weight: 700;\n}\n.card__badge.completed {\n background: var(--emw--background-success-color, #C9F0D7);\n border: 1px solid var(--emw--border-success-color, #00B74F);\n color: var(--emw--color-gray-300, #083B17);\n font-weight: 700;\n}\n.card__badge.forfeited {\n background: var(--emw--background-errored-color, #FFE1DF);\n border: 1px solid var(--emw--border-errored-color, #D6421E);\n color: var(--emw--errored-color, #850606);\n font-weight: 700;\n}\n.card__badge.paused {\n background: var(--emw--background-warning-color, #F8E4AD);\n border: 1px solid var(--emw--border-warning-color, #EA9018);\n color: var(--emw--warning-color, #6D460A);\n font-weight: 700;\n}\n\n.info-item {\n line-height: 24px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n color: var(--emw--color-primary, #1dbf51);\n}\n@container challenges-container (min-width: 576px) {\n .info-item {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: bottom;\n }\n}\n.info-item.grayed {\n color: var(--emw--disabled-color, #727672);\n}\n.info-item__label {\n font-weight: var(--emw--font-weight-medium, 500);\n margin-right: 3px;\n color: var(--emw--color-gray-150, #C8D6CE);\n}\n.info-item__tooltip {\n position: absolute;\n line-height: 22px;\n padding: 8px 12px;\n border-radius: 8px;\n opacity: 1;\n z-index: 200;\n white-space: normal;\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n color: var(--emw--color-white, #FFFFFF);\n background-color: var(--emw--color-background-secondary, #1B1C2B);\n}\n.info-item__tooltip::before {\n content: \"\";\n position: absolute;\n top: -5px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid var(--emw--color-background-secondary, #1B1C2B);\n width: 0;\n height: 0;\n z-index: 201;\n}\n\n.progress {\n background-color: var(--emw--progress-background, rgba(188, 252, 177, 0.1019607843));\n border-radius: 100px;\n height: 20px;\n margin-bottom: 8px;\n position: relative;\n align-content: center;\n padding: 0 2px;\n box-sizing: border-box;\n}\n.progress.paused {\n opacity: 0.5;\n}\n.progress.grayed {\n mix-blend-mode: luminosity;\n}\n.progress__placeholder {\n height: 28px;\n}\n.progress__icon {\n padding-top: 4px;\n width: 12px;\n}\n.progress__point {\n position: absolute;\n text-align: center;\n font-size: 12px;\n color: var(--emw--color-gray-150, #C8D6CE);\n font-weight: 700;\n line-height: 19px;\n top: 0;\n height: 19px;\n width: 19px;\n border-radius: 50%;\n}\n.progress__point.start {\n left: 0;\n border: 2px solid var(--emw--button-background-primary-color, #18CE51);\n background: linear-gradient(90deg, var(--emw--progress-active-level, #24AA4D) 0%, var(--emw--progress-active-level-secondary, #113F21) 100%);\n}\n.progress__point.end {\n right: 0;\n border: 2px solid var(--emw--dark-green, #1C8D56);\n background: var(--emw--color-gray-300, #083B17);\n opacity: 0.7;\n}\n.progress__point.finished {\n opacity: 1;\n}\n.progress__point.hidden {\n opacity: 0;\n}\n.progress__bar {\n border-radius: 73px;\n height: 16px;\n background: linear-gradient(90deg, var(--emw--secondary-green, #1E654F) 0%, var(--emw--dark-green, #1C8D56) 100%);\n text-align: end;\n color: var(--emw--color-gray-50, #E2E2E2);\n font-size: 11px;\n font-weight: 700;\n line-height: 16px;\n padding-right: 6px;\n box-sizing: border-box;\n}\n.progress__bar.finished {\n text-align: center;\n}\n\n.new-label {\n height: 28px;\n width: 37px;\n background: linear-gradient(0deg, var(--emw--new-badge-background-color, #FF3D3D) 0%, var(--emw--new-badge-background-color-2, #A80000) 100%);\n position: absolute;\n top: 32px;\n right: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 50% 100%, 0% 70%);\n}\n.new-label span {\n background: linear-gradient(to bottom right, var(--emw--color-white, #FFFFFF) 0%, var(--emw--color-gray-100, #D4D4D4) 50%) bottom right/50% 50% no-repeat, linear-gradient(to bottom left, var(--emw--color-white, #FFFFFF) 0%, var(--emw--color-gray-100, #D4D4D4) 50%) bottom left/50% 50% no-repeat, linear-gradient(to top left, var(--emw--color-white, #FFFFFF) 0%, var(--emw--color-gray-100, #D4D4D4) 50%) top left/50% 50% no-repeat, linear-gradient(to top right, var(--emw--color-white, #FFFFFF) 0%, var(--emw--color-gray-100, #D4D4D4) 50%) top right/50% 50% no-repeat;\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-weight: var(--emw--font-weight-bold, 700);\n font-size: var(--emw--font-size-medium, 14px);\n padding-bottom: 3px;\n}";
286
- const CasinoChallengeCardStyle0 = casinoChallengeCardCss;
287
-
288
- const CasinoChallengeCard = class {
289
- constructor(hostRef) {
290
- index.registerInstance(this, hostRef);
291
- this.timerExpired = index.createEvent(this, "timerExpired", 7);
292
- this.itemViewed = index.createEvent(this, "itemViewed", 7);
293
- this.calculateTargetValue = (level, currencySymbol) => {
294
- var _a;
295
- if (!level)
296
- return '';
297
- switch (level.LevelTargetType) {
298
- case EChallengeLevelTargetType.Accumulative: {
299
- const minbet = ((_a = level.BetRange) === null || _a === void 0 ? void 0 : _a.MinBet)
300
- ? `, ${translate('minBet', this.language)} ${currencySymbol + level.BetRange.MinBet}`
301
- : '';
302
- return `${translate('placeBetsOf', this.language)} ${currencySymbol + level.DisplayCurrencyTargetTurnover + minbet}`;
303
- }
304
- case EChallengeLevelTargetType.SingleBet:
305
- return `${translate('place', this.language)} ${currencySymbol + level.TargetTurnover} ${translate('bet', this.language)}`;
306
- case EChallengeLevelTargetType.MultipleOneBetSize: {
307
- const minbet = level.TargetTurnover
308
- ? `, ${translate('minBet', this.language)} ${currencySymbol + level.TargetTurnover}`
309
- : '';
310
- return `${translate('place', this.language)} ${level.TargetBetCount} ${translate('bets', this.language) + minbet}`;
311
- }
312
- }
313
- };
314
- this.onMouseEnterHandler = (index, el) => {
315
- if (el.scrollWidth > el.clientWidth) {
316
- this.tooltipIndex = index;
317
- }
318
- };
319
- this.onMouseLeaveHandler = () => {
320
- this.tooltipIndex = null;
321
- };
322
- this.getBadgeContent = () => {
323
- if (this.isChallengePaused) {
324
- return translate('unavailable', this.language);
325
- }
326
- switch (this.challenge.Status) {
327
- case EChallengeProgressStatus.Expired:
328
- return translate('expired', this.language);
329
- case EChallengeProgressStatus.Forfeited:
330
- return translate('forfeited', this.language);
331
- case EChallengeProgressStatus.Completed:
332
- return translate('finished', this.language);
333
- case EChallengeProgressStatus.Paused:
334
- return translate('suspended', this.language);
335
- default:
336
- return this.timeLeft
337
- ? [translate('endsIn', this.language), ' - ', index.h("span", null, this.timeLeft)]
338
- : translate('expired', this.language);
339
- }
340
- };
341
- this.goToDetailsPage = () => {
342
- this.itemViewed.emit(this.challenge.Id);
343
- window.postMessage({
344
- type: 'GoToDetailsPage',
345
- info: {
346
- challengeId: this.challenge.ChallengeId,
347
- activeTabIndex: this.activeTabIndex
348
- }
349
- }, window.location.href);
350
- };
351
- this.checkAttrs = () => {
352
- if (!this.endpoint) {
353
- this.error = 'Endpoint is missing! Please provide a valid endpointURL.';
354
- this.hasError = true;
355
- console.error(this.error);
356
- }
357
- return this.hasError;
358
- };
359
- this.mbSource = undefined;
360
- this.clientStyling = undefined;
361
- this.clientStylingUrl = undefined;
362
- this.translationUrl = '';
363
- this.language = 'en';
364
- this.endpoint = '';
365
- this.domain = '';
366
- this.session = '';
367
- this.challenge = undefined;
368
- this.isUserAuthorized = true;
369
- this.activeTabIndex = 0;
370
- this.userId = '';
371
- this.tooltipIndex = null;
372
- this.timeLeft = undefined;
373
- this.error = '';
374
- this.hasError = false;
375
- this.actionLoading = false;
376
- this.isChallengePaused = false;
377
- }
378
- get infoItems() {
379
- var _a, _b, _c, _d, _e;
380
- let level = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.LevelProgresses.find((x) => x.OrderNumber === 0);
381
- if (this.isUserAuthorized) {
382
- level =
383
- (_c = (_b = this.challenge) === null || _b === void 0 ? void 0 : _b.LevelProgresses.find((x) => x.ProgressStatus === EChallengeProgressLevelStatus.InProgress)) !== null && _c !== void 0 ? _c : level;
384
- }
385
- if (level) {
386
- return [
387
- {
388
- lable: translate('totalLevels', this.language),
389
- value: ((_d = this.challenge.LevelProgresses) === null || _d === void 0 ? void 0 : _d.length) || '-'
390
- },
391
- {
392
- lable: translate('level1', this.language),
393
- value: this.calculateTargetValue(level, (_e = this.challenge) === null || _e === void 0 ? void 0 : _e.CurrencySymbol) || '-'
394
- },
395
- {
396
- lable: translate('get', this.language),
397
- value: level.CustomRewardMessage || '-'
398
- }
399
- ];
400
- }
401
- return [];
402
- }
403
- handleClientStylingChange(newValue, oldValue) {
404
- if (newValue != oldValue) {
405
- setClientStyling(this.stylingContainer, this.clientStyling);
406
- }
407
- }
408
- handleClientStylingUrlChange(newValue, oldValue) {
409
- if (newValue != oldValue) {
410
- setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
411
- }
412
- }
413
- handleMbSourceChange(newValue, oldValue) {
414
- if (newValue != oldValue) {
415
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
416
- }
417
- }
418
- handleChallengeChange(newValue) {
419
- if (newValue) {
420
- this.isChallengePaused = (newValue === null || newValue === void 0 ? void 0 : newValue.ChallengeStatus) === EChallengeStatus.Paused;
421
- }
422
- }
423
- connectedCallback() {
424
- this.timerId = setInterval(() => {
425
- this.updateTime();
426
- }, 1000);
427
- }
428
- componentWillLoad() {
429
- if (this.translationUrl) {
430
- resolveTranslationUrl(this.translationUrl);
431
- }
432
- this.updateTime();
433
- }
434
- componentDidLoad() {
435
- this.isChallengePaused = this.challenge.ChallengeStatus === EChallengeStatus.Paused;
436
- if (this.stylingContainer) {
437
- if (this.mbSource)
438
- setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
439
- if (this.clientStyling)
440
- setClientStyling(this.stylingContainer, this.clientStyling);
441
- if (this.clientStylingUrl)
442
- setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
443
- }
444
- }
445
- disconnectedCallback() {
446
- if (this.stylingSubscription) {
447
- this.stylingSubscription.unsubscribe();
448
- }
449
- clearInterval(this.timerId);
450
- }
451
- updateTime() {
452
- var _a;
453
- this.timeLeft = getTimeLeft((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ExpirationTime);
454
- if (!this.timeLeft && this.timerExpired) {
455
- clearInterval(this.timerId);
456
- this.challenge.Status = EChallengeProgressStatus.Expired;
457
- this.timerExpired.emit(this.challenge.Id);
458
- }
459
- }
460
- renderInfoItem(item, index$1) {
461
- return (index.h("div", { class: `info-item ${this.isChallengeGrayed}`, onMouseEnter: (e) => this.onMouseEnterHandler(index$1, e.currentTarget), onMouseLeave: this.onMouseLeaveHandler }, index.h("span", { class: "info-item__label" }, item.lable), item.value, this.tooltipIndex === index$1 && index.h("div", { class: "info-item__tooltip" }, item.value)));
462
- }
463
- get getCardBadge() {
464
- return (index.h("div", { class: `card__badge ${this.isChallengePaused
465
- ? ChallengeStatusDictionary[EChallengeProgressStatus.Expired]
466
- : ChallengeStatusDictionary[this.challenge.Status]}` }, this.getBadgeContent()));
467
- }
468
- get isChallengeGrayed() {
469
- return [
470
- EChallengeProgressStatus.Expired,
471
- EChallengeProgressStatus.Forfeited,
472
- EChallengeProgressStatus.Completed
473
- ].includes(this.challenge.Status) || this.isChallengePaused
474
- ? 'grayed'
475
- : '';
476
- }
477
- get getChallengeProgress() {
478
- var _a;
479
- const currLevel = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.LevelProgresses.find((x) => x.ProgressStatus === EChallengeProgressLevelStatus.InProgress);
480
- if (!this.isUserAuthorized) {
481
- return;
482
- }
483
- const { Status, LevelProgresses } = this.challenge;
484
- if (Status === EChallengeProgressStatus.Awaiting ||
485
- Status === EChallengeProgressStatus.Expired ||
486
- Status === EChallengeProgressStatus.Started ||
487
- this.isChallengePaused ||
488
- !currLevel) {
489
- return index.h("div", { class: "progress__placeholder" });
490
- }
491
- const barValue = Status === EChallengeProgressStatus.Paused
492
- ? translate('suspended', this.language)
493
- : Status === EChallengeProgressStatus.Completed
494
- ? translate('finished', this.language)
495
- : `${Math.floor(currLevel.ProgressPercentage)}%`;
496
- const isLastLevel = !LevelProgresses.some((x) => x.OrderNumber > currLevel.OrderNumber);
497
- const secondImgSrc = Status === EChallengeProgressStatus.Completed ? trophySvg : isLastLevel ? finishSvg : '';
498
- return (index.h("div", { class: {
499
- progress: true,
500
- paused: Status === EChallengeProgressStatus.Paused,
501
- grayed: Status === EChallengeProgressStatus.Forfeited
502
- } }, index.h("div", { class: {
503
- progress__point: true,
504
- start: true,
505
- hidden: Status === EChallengeProgressStatus.Completed
506
- } }, currLevel.OrderNumber + 1), index.h("div", { class: {
507
- progress__bar: true,
508
- finished: Status === EChallengeProgressStatus.Completed
509
- }, style: { width: `${currLevel.ProgressPercentage}%` } }, barValue), index.h("div", { class: {
510
- progress__point: true,
511
- end: true,
512
- finished: Status === EChallengeProgressStatus.Completed
513
- } }, secondImgSrc ? index.h("img", { class: "progress__icon", src: secondImgSrc }) : currLevel.OrderNumber + 2)));
514
- }
515
- get getCardButton() {
516
- if (this.isUserAuthorized && !this.isChallengePaused) {
517
- if (this.challenge.Status === EChallengeProgressStatus.Started) {
518
- return (index.h("button", { class: "card__button filled", disabled: this.actionLoading, onClick: (e) => (e.stopPropagation(), this.joinUnjoinProgress(true)) }, translate('start', this.language)));
519
- }
520
- if (this.challenge.Status === EChallengeProgressStatus.Paused) {
521
- return (index.h("button", { class: "card__button grayed", disabled: this.actionLoading, onClick: (e) => (e.stopPropagation(), this.joinUnjoinProgress(true)) }, translate('resume', this.language)));
522
- }
523
- if (this.challenge.Status === EChallengeProgressStatus.InProgress ||
524
- this.challenge.Status === EChallengeProgressStatus.PendingLevelReward) {
525
- return (index.h("button", { class: "card__button grayed", disabled: this.actionLoading, onClick: (e) => (e.stopPropagation(), this.joinUnjoinProgress(false)) }, translate('pause', this.language)));
526
- }
527
- }
528
- return index.h("button", { class: "card__button" }, translate('viewDetails', this.language));
529
- }
530
- async joinUnjoinProgress(join) {
531
- if (!this.checkAttrs() && this.challenge) {
532
- const url = `${this.endpoint}/challenge/ChangeProgressStatus`;
533
- const body = Object.assign(Object.assign(Object.assign({ DomainId: this.domain }, (this.session && { PlayerSessionId: this.session })), (this.userId && { InternalUserId: this.userId })), (join ? { ProgressToActivate: this.challenge.Id } : { ProgressToDeactivate: this.challenge.Id }));
534
- this.actionLoading = true;
535
- return fetch(url, {
536
- method: 'POST',
537
- headers: {
538
- 'Content-Type': 'application/json'
539
- },
540
- body: JSON.stringify(body)
541
- })
542
- .then((res) => res.json())
543
- .then((res) => {
544
- if (res.Success) {
545
- if (join) {
546
- this.challenge.Status = EChallengeProgressStatus.InProgress;
547
- }
548
- else {
549
- this.challenge.Status = EChallengeProgressStatus.Paused;
550
- }
551
- }
552
- })
553
- .finally(() => (this.actionLoading = false));
554
- }
555
- }
556
- renderNewLabel() {
557
- return (index.h("div", { class: "new-label" }, index.h("span", null, translate('new', this.language))));
558
- }
559
- render() {
560
- var _a, _b, _c, _d;
561
- return (index.h("div", { key: '0468a7f2fa29a88ea49e08e277b1040db4d7ecfa', ref: (el) => (this.stylingContainer = el) }, index.h("div", { key: '88abd78585e195c21dcc2f3770b176e84475dc10', class: "card", onClick: this.goToDetailsPage }, index.h("img", { key: '16da3c6d047c9138a47c979dc8286bdbb91a0258', class: {
562
- card__image: true,
563
- grayed: !!this.isChallengeGrayed || this.challenge.Status === EChallengeProgressStatus.Awaiting
564
- }, src: (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengePresentation) === null || _b === void 0 ? void 0 : _b.BannerUrl }), this.getCardBadge, this.challenge.IsNew && this.renderNewLabel(), index.h("div", { key: '19f205347c401edea1dcce3ff6c4b090eee32a80', class: "card__content" }, index.h("h1", { key: '04fd604addd8d6f589dbe54d4647b9a3221eeece', class: "card__title" }, (_d = (_c = this.challenge) === null || _c === void 0 ? void 0 : _c.ChallengePresentation) === null || _d === void 0 ? void 0 : _d.PresentationName), this.getChallengeProgress, this.infoItems.map((x, index) => this.renderInfoItem(x, index)), this.getCardButton))));
565
- }
566
- static get watchers() { return {
567
- "clientStyling": ["handleClientStylingChange"],
568
- "clientStylingUrl": ["handleClientStylingUrlChange"],
569
- "mbSource": ["handleMbSourceChange"],
570
- "challenge": ["handleChallengeChange"]
571
- }; }
572
- };
573
- CasinoChallengeCard.style = CasinoChallengeCardStyle0;
574
-
575
- exports.CasinoChallengeCard = CasinoChallengeCard;
@@ -1,7 +0,0 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M1.64454 12.1262C1.59842 12.1279 1.55129 12.1227 1.50432 12.1099C1.25757 12.0421 1.11249 11.7872 1.18022 11.5403L3.53016 2.9587C3.59791 2.7121 3.85222 2.56674 4.09973 2.6346C4.34647 2.70234 4.49155 2.95727 4.42382 3.20416L2.07388 11.7858C2.01902 11.9855 1.84123 12.1188 1.64454 12.1262Z" fill="#36BA3B"/>
3
- <path d="M1.56304 11.2634C1.54768 11.2639 1.53198 11.2622 1.51633 11.2579C1.43414 11.2354 1.38582 11.1505 1.40838 11.0682L3.65813 2.91503C3.68069 2.83289 3.76541 2.78447 3.84785 2.80707C3.93004 2.82963 3.97837 2.91455 3.9558 2.99679L1.70605 11.15C1.68778 11.2165 1.62856 11.2609 1.56304 11.2634Z" fill="#BCFCB1" fill-opacity="0.1"/>
4
- <path d="M12.5193 12.7932L10.7261 13.0234C9.36173 13.1986 7.97361 12.7222 7.09339 11.6652L7.04779 11.6104C6.32843 10.7466 5.30931 10.1654 4.18656 10.1091L2.36239 10.0176L2.30469 9.95988L4.22969 3.18457L6.09312 3.28367C7.22169 3.34368 8.27297 3.87562 8.98981 4.74935C9.86892 5.82087 11.2377 6.36445 12.6124 6.18798L14.3382 5.89767L14.3866 5.96023L12.5193 12.7932Z" fill="#BCFCB1" fill-opacity="0.1"/>
5
- <path d="M12.4616 12.7356L10.6684 12.9658C9.30403 13.1409 7.94476 12.6069 7.06454 11.5499L7.01894 11.4951C6.29958 10.6312 5.25161 10.1078 4.12886 10.0514L2.30469 9.95996L4.17199 3.12695L6.03542 3.22605C7.16399 3.28607 8.21528 3.818 8.93211 4.69174C9.81122 5.76326 11.18 6.30683 12.5547 6.13036L14.3289 5.90261L12.4616 12.7356Z" fill="#BEFFBA"/>
6
- <path d="M10.4846 10.7164C10.0913 10.6853 9.70239 10.6038 9.33368 10.4595C8.81235 10.2552 8.34237 9.93721 7.94891 9.54046L8.58169 7.22503C8.97607 7.62191 9.44687 7.93989 9.96914 8.14388C10.3368 8.28753 10.7242 8.37375 11.1163 8.40495L10.4846 10.7164ZM5.64507 7.93902C5.36858 7.86283 5.08321 7.81464 4.79278 7.79918L2.93018 7.70004L3.56313 5.38386L5.42739 5.48301C5.7173 5.4984 6.00215 5.54649 6.27815 5.62252L5.64507 7.93902ZM8.94137 4.68682C9.02168 4.78473 9.10835 4.87553 9.19648 4.96447L9.19225 4.96335L8.57806 7.21077C8.50279 7.13454 8.42536 7.06039 8.35634 6.97819L8.32704 6.94284C7.79735 6.29722 7.08036 5.838 6.28696 5.61781L6.90329 3.36255C7.69621 3.58192 8.41068 4.03999 8.94137 4.68682ZM7.07378 11.5449L7.02819 11.4902C6.50536 10.8623 5.80786 10.4173 5.0353 10.1978L5.65007 7.94823C6.44204 8.16795 7.15774 8.62634 7.68651 9.27083L7.71144 9.30098C7.78284 9.38629 7.86277 9.46347 7.94086 9.54239L7.32104 11.8104C7.2359 11.7251 7.15173 11.6385 7.07378 11.5449ZM12.4709 12.7307L10.6776 12.9609C10.5064 12.9829 10.3351 12.9937 10.165 12.9937C10.0674 12.9937 9.97087 12.9847 9.87413 12.9777L10.4888 10.7288C10.5929 10.7369 10.6973 10.7433 10.8018 10.7433C10.9723 10.7433 11.1429 10.7325 11.3123 10.7107L13.0851 10.4831L12.4709 12.7307ZM13.7221 8.15218L11.9464 8.38012C11.6741 8.41488 11.3997 8.4143 11.127 8.39329L11.7425 6.14108C11.8452 6.149 11.9476 6.15825 12.0512 6.15825C12.2215 6.15825 12.3926 6.14744 12.5639 6.12544L14.3382 5.89769L13.7221 8.15218Z" fill="#36BA3B"/>
7
- </svg>