@everymatrix/casino-engagement-suite-tournament 1.63.3 → 1.64.1

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 (47) hide show
  1. package/dist/casino-engagement-suite-tournament/casino-engagement-suite-tournament.esm.js +1 -1
  2. package/dist/casino-engagement-suite-tournament/index.esm.js +1 -1
  3. package/dist/casino-engagement-suite-tournament/p-edcd56d0.js +15 -0
  4. package/dist/casino-engagement-suite-tournament/{p-d24f1017.entry.js → p-fcfced34.entry.js} +1 -1
  5. package/dist/cjs/casino-engagement-suite-progress-bar_6.cjs.entry.js +11 -10
  6. package/dist/cjs/{casino-engagement-suite-tournament-785dd5cc.js → casino-engagement-suite-tournament-95aedc10.js} +244 -67
  7. package/dist/cjs/casino-engagement-suite-tournament.cjs.js +1 -1
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/assets/back.svg +3 -0
  11. package/dist/collection/assets/iconTrophy.svg +12 -0
  12. package/dist/collection/assets/iconWarn.svg +15 -0
  13. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.css +123 -26
  14. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.js +71 -14
  15. package/dist/collection/shared/TournamentDurationTimer.js +9 -9
  16. package/dist/collection/shared/TournamentItem.js +20 -2
  17. package/dist/collection/shared/TournamentItemTitle.js +3 -3
  18. package/dist/collection/shared/icons.js +6 -2
  19. package/dist/collection/shared/renders.dialog.js +10 -3
  20. package/dist/collection/shared/renders.page.js +3 -1
  21. package/dist/collection/shared/renders.tab.js +10 -3
  22. package/dist/collection/utils/api.apdater.js +14 -0
  23. package/dist/collection/utils/bussiness.js +28 -2
  24. package/dist/collection/utils/message.js +104 -27
  25. package/dist/collection/utils/translations.js +8 -5
  26. package/dist/collection/utils/types.js +8 -0
  27. package/dist/collection/utils/util.date.js +4 -3
  28. package/dist/collection/utils/utils.js +5 -2
  29. package/dist/esm/casino-engagement-suite-progress-bar_6.entry.js +12 -11
  30. package/dist/esm/{casino-engagement-suite-tournament-3be75bd2.js → casino-engagement-suite-tournament-61d378cd.js} +244 -67
  31. package/dist/esm/casino-engagement-suite-tournament.js +1 -1
  32. package/dist/esm/index.js +1 -1
  33. package/dist/esm/loader.js +1 -1
  34. package/dist/types/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.d.ts +20 -3
  35. package/dist/types/components.d.ts +18 -0
  36. package/dist/types/shared/TournamentItem.d.ts +7 -1
  37. package/dist/types/shared/TournamentItemTitle.d.ts +6 -1
  38. package/dist/types/shared/icons.d.ts +1 -0
  39. package/dist/types/utils/api.apdater.d.ts +3 -0
  40. package/dist/types/utils/bussiness.d.ts +10 -1
  41. package/dist/types/utils/message.d.ts +3 -0
  42. package/dist/types/utils/translations.d.ts +6 -1
  43. package/dist/types/utils/types.d.ts +9 -0
  44. package/dist/types/utils/util.date.d.ts +2 -2
  45. package/dist/types/utils/utils.d.ts +1 -0
  46. package/package.json +1 -1
  47. package/dist/casino-engagement-suite-tournament/p-f478f260.js +0 -15
@@ -46,16 +46,19 @@ const localePostprocess = (translationText, props) => {
46
46
  });
47
47
  return translationText;
48
48
  };
49
- const TRANSLATIONS = Object.assign(Object.assign(Object.assign({ Join: 'Join', Unjoin: 'Unjoin' }, Tab), Time), { TC: 'Terms & Conditions', ScoreCriteria: 'Score Criteria', MinimumBetCriteria: 'Minimum bet criteria', Place: 'place', Prizes: 'Rewards', LeaderboardDetails: 'Leaderboard Details', UnjoinDialog: {
49
+ const TRANSLATIONS = Object.assign(Object.assign(Object.assign({ Join: 'Join', Unjoin: 'Unjoin' }, Tab), Time), { TC: 'Terms & Conditions', ScoreCriteria: 'Score Criteria', MinimumBetCriteria: 'Minimum bet criteria', Place: 'place', Places: 'places', Prizes: 'Rewards', LeaderboardDetails: 'Leaderboard Details', UnjoinDialog: {
50
50
  Title: 'Quit Leaderboard?',
51
51
  Description: 'Any progress on the current Leaderboard won’t be kept and you can not rejoin the Leaderboard any more. <br /><br />Would you still like to quit?',
52
52
  ButtonYes: 'Yes, I want to quit leaderboard',
53
53
  ButtonNo: 'No, Stay on the leaderboard'
54
54
  }, WinDialog: {
55
- Tile: 'Congratulations!',
56
- Description: 'You won <span>{tournamentName}</span>!',
57
- ButtonContinue: 'Continue'
58
- }, NoLeaderboards: 'No Leaderboards yet', NoLeaderboardsTip: 'Try winning tickets to Leaderboards as rewards or launching other booster games', Leaderboards: 'Leaderboards', TipPrize: 'You took <span>{place}</span> place and win <span>{prize}</span>', Tip: 'Competition where your real money bets contribute towards the leaderboard score calculation to win the leaderboard reward.', TournamentNotStarted: 'The leaderboard is not started yet. <br> It will start in {startTime}.', BeOne: 'No winners for the time being. Be one of them!', FailedToJoin: 'Oops! some unexpected error happened, please try it again.', FailedToUnjoin: 'Oops! some unexpected error happened, please try it again.' });
55
+ Title: 'Congratulations!',
56
+ Description: 'You won <span>{rewards}</span>!',
57
+ ButtonContinue: 'Continue',
58
+ FailedTitle: 'Reward cannot be issued',
59
+ FailedDescription: 'Please contact support.',
60
+ FailedButtonContinue: 'Ok, continue',
61
+ }, NoLeaderboards: 'No Leaderboards yet', NoLeaderboardsTip: 'Try winning tickets to Leaderboards as rewards or launching other booster games', Leaderboards: 'Leaderboards', TipPrize: 'You took <span>{place}</span> place and win <span>{prize}</span>', TipPrizeWithoutReward: 'You took <span>{place}</span> place</span>', Tip: 'Competition where your real money bets contribute towards the leaderboard score calculation to win the leaderboard reward.', TournamentNotStarted: 'The leaderboard is not started yet. <br> It will start in {startTime}.', BeOne: 'No winners for the time being. Be one of them!', FailedToJoin: 'Oops! some unexpected error happened, please try it again.', FailedToUnjoin: 'Oops! some unexpected error happened, please try it again.' });
59
62
 
60
63
  const classnames = (...args) => {
61
64
  let classnameArray = ['Tab'];
@@ -76,8 +79,7 @@ const classnames = (...args) => {
76
79
  return classnameArray.join(' ');
77
80
  };
78
81
  const getNewItems = (newList, oldList, getCondition) => {
79
- const newItems = newList.filter((newItem) => !oldList.some((oldItem) => getCondition(newItem, oldItem)));
80
- return newItems;
82
+ return newList.filter(newItem => !oldList.some(oldItem => getCondition(newItem, oldItem)));
81
83
  };
82
84
  /**
83
85
  * Truncate number to specified decimal places (without rounding)
@@ -120,6 +122,14 @@ var TournamentState;
120
122
  TournamentState["Closed"] = "Closed";
121
123
  TournamentState["Closing"] = "Closing";
122
124
  })(TournamentState || (TournamentState = {}));
125
+ var RewardType;
126
+ (function (RewardType) {
127
+ RewardType["FreeSpin"] = "FreeSpin";
128
+ RewardType["Mission"] = "Challenge";
129
+ RewardType["Leaderboard"] = "TournamentTicket";
130
+ RewardType["Custom"] = "Custom";
131
+ RewardType["LuckyWheel"] = "PrizeEngine";
132
+ })(RewardType || (RewardType = {}));
123
133
  exports.DialogType = void 0;
124
134
  (function (DialogType) {
125
135
  DialogType["unjoin"] = "unjoin";
@@ -128,6 +138,7 @@ exports.DialogType = void 0;
128
138
  DialogType["error"] = "error";
129
139
  })(exports.DialogType || (exports.DialogType = {}));
130
140
 
141
+ const DEFAULT_PAGE_SIZE = 12;
131
142
  const getMaxRankStr = (playerLeaderboards) => {
132
143
  let bestRank = null;
133
144
  (playerLeaderboards || []).map((playerLeaderboard) => {
@@ -138,23 +149,55 @@ const getMaxRankStr = (playerLeaderboards) => {
138
149
  }
139
150
  bestRank = !bestRank || ((_a = bestRank.leaderBoard) === null || _a === void 0 ? void 0 : _a.rank) > rank ? playerLeaderboard : bestRank;
140
151
  });
141
- return bestRank ? `${bestRank.leaderBoard.rank} / ${bestRank.endRank}` : '-';
152
+ return {
153
+ rank: bestRank ? `${bestRank.leaderBoard.rank} / ${bestRank.endRank}` : '-',
154
+ detail: bestRank ? {
155
+ playerRank: bestRank.leaderBoard.rank,
156
+ total: bestRank.endRank
157
+ } : null
158
+ };
142
159
  };
143
160
  const isTournamentClosed = (tournament) => {
161
+ return [TournamentState.Closed].includes(tournament.state);
162
+ };
163
+ const isTournamentEnded = (tournament) => {
144
164
  return [TournamentState.Closed, TournamentState.Closing].includes(tournament.state);
145
165
  };
166
+ const getRewardNameByType = (reward) => {
167
+ switch (reward.type) {
168
+ case RewardType.FreeSpin:
169
+ return reward.campaignName;
170
+ case RewardType.Mission:
171
+ return reward.challengeName;
172
+ case RewardType.Leaderboard:
173
+ return reward.ticketProgramName;
174
+ case RewardType.LuckyWheel:
175
+ return reward.prizeEngineProgramName;
176
+ case RewardType.Custom:
177
+ return reward.value;
178
+ default:
179
+ return reward.name;
180
+ }
181
+ };
146
182
 
147
183
  const rewardSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48c2NyaXB0IHhtbG5zPSIiLz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIxMTVfMzA2KSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC45MDI5MiAwLjY2NjQ5NkM0LjkyMzM5IDAuNjY2NTc5IDQuOTQzNCAwLjY2NjY2IDQuOTYyODYgMC42NjY2NkgxMS4wMzY5QzExLjA1NjQgMC42NjY2NiAxMS4wNzY0IDAuNjY2NTc5IDExLjA5NjkgMC42NjY0OTZDMTEuMzA1NiAwLjY2NTY1MyAxMS41NjI3IDAuNjY0NjEzIDExLjc4OTMgMC43NDcwN0MxMi4xNTk2IDAuODgxODY4IDEyLjQ1MTQgMS4xNzM2MSAxMi41ODYyIDEuNTQzOTdDMTIuNjM5NCAxLjY5MDMxIDEyLjY1NzggMS44NDk0MiAxMi42NjQgMS45OTk5OUwxMy42ODQyIDEuOTk5OTlDMTMuODI0MiAxLjk5OTk4IDEzLjk2MDcgMS45OTk5NiAxNC4wNzY3IDIuMDA3ODhDMTQuMjAzNiAyLjAxNjU0IDE0LjM1NDEgMi4wMzY4NiAxNC41MTAxIDIuMTAxNDlDMTQuODM2OCAyLjIzNjgxIDE1LjA5NjQgMi40OTYzOCAxNS4yMzE3IDIuODIzMDhDMTUuMjk2NCAyLjk3OTExIDE1LjMxNjcgMy4xMjk1OSAxNS4zMjUzIDMuMjU2NTFDMTUuMzMzMyAzLjM3MjU2IDE1LjMzMzIgMy41MDg5OCAxNS4zMzMyIDMuNjQ5MDFWMy45OTk5OUMxNS4zMzMyIDQuMDMxMDIgMTUuMzMzMyA0LjA2MTU4IDE1LjMzMzMgNC4wOTE3MUMxNS4zMzM2IDQuNjIxOTcgMTUuMzMzOCA1LjAxNTc0IDE1LjI0MjQgNS4zNTY4NEMxNC45OTU4IDYuMjc3MDkgMTQuMjc3IDYuOTk1ODggMTMuMzU2OCA3LjI0MjQ2QzEzLjEwMyA3LjMxMDQ0IDEyLjgyMDIgNy4zMjc3NCAxMi40NzM3IDcuMzMyMDNDMTEuOTYxOCA5LjA1MzkzIDEwLjQ4MjkgMTAuMzU5NiA4LjY2NjU3IDEwLjYxOTRWMTEuMzMzM0g4Ljk2Mjg2QzEwLjY0MDIgMTEuMzMzMyAxMS45OTk5IDEyLjY5MzEgMTEuOTk5OSAxNC4zNzA0QzExLjk5OTkgMTQuOTAyMiAxMS41Njg4IDE1LjMzMzMgMTEuMDM2OSAxNS4zMzMzSDQuOTYyODZDNC40MzEwMyAxNS4zMzMzIDMuOTk5OSAxNC45MDIyIDMuOTk5OSAxNC4zNzA0QzMuOTk5OSAxMi42OTMxIDUuMzU5NjMgMTEuMzMzMyA3LjAzNjk0IDExLjMzMzNINy4zMzMyM1YxMC42MTk0QzUuNTE2OTMgMTAuMzU5NiA0LjAzODAyIDkuMDUzOTMgMy41MjYxIDcuMzMyMDNDMy4xNzk2MiA3LjMyNzc0IDIuODk2NzYgNy4zMTA0NCAyLjY0MzA1IDcuMjQyNDZDMS43MjI4MSA2Ljk5NTg4IDEuMDA0MDEgNi4yNzcwOSAwLjc1NzQzMyA1LjM1Njg0QzAuNjY2MDM1IDUuMDE1NzQgMC42NjYyNDggNC42MjE5NyAwLjY2NjUzNSA0LjA5MTcxQzAuNjY2NTUyIDQuMDYxNTkgMC42NjY1NjggNC4wMzEwMiAwLjY2NjU2OCAzLjk5OTk5VjMuNjY2NjZDMC42NjY1NjggMy42NjA3NyAwLjY2NjU2OCAzLjY1NDg5IDAuNjY2NTY3IDMuNjQ5MDFDMC42NjY1NTMgMy41MDg5OCAwLjY2NjU0IDMuMzcyNTYgMC42NzQ0NTggMy4yNTY1MUMwLjY4MzExNyAzLjEyOTU5IDAuNzAzNDMzIDIuOTc5MTEgMC43NjgwNjIgMi44MjMwOEMwLjkwMzM4NyAyLjQ5NjM4IDEuMTYyOTUgMi4yMzY4MSAxLjQ4OTY2IDIuMTAxNDlDMS42NDU2OSAyLjAzNjg2IDEuNzk2MTcgMi4wMTY1NCAxLjkyMzA4IDIuMDA3ODhDMi4wMzkxNCAxLjk5OTk2IDIuMTc1NTYgMS45OTk5OCAyLjMxNTU5IDEuOTk5OTlDMi4zMjE0NiAxLjk5OTk5IDIuMzI3MzUgMS45OTk5OSAyLjMzMzIzIDEuOTk5OTlIMy4zMzU4MUMzLjM0MTk2IDEuODQ5NDIgMy4zNjAzOCAxLjY5MDMxIDMuNDEzNjQgMS41NDM5N0MzLjU0ODQ0IDEuMTczNjEgMy44NDAxOSAwLjg4MTg2OCA0LjIxMDU0IDAuNzQ3MDdDNC40MzcwOSAwLjY2NDYxMyA0LjY5NDIxIDAuNjY1NjUzIDQuOTAyOTIgMC42NjY0OTZaTTMuMzMzMjMgMy4zMzMzM0gyLjMzMzIzQzIuMTY4OCAzLjMzMzMzIDIuMDc4ODYgMy4zMzM2OSAyLjAxMzg1IDMuMzM4MTJDMi4wMTA4MiAzLjMzODMzIDIuMDA3OTggMy4zMzg1NCAyLjAwNTMyIDMuMzM4NzVDMi4wMDUxMSAzLjM0MTQxIDIuMDA0OSAzLjM0NDI1IDIuMDA0NyAzLjM0NzI3QzIuMDAwMjYgMy40MTIyOSAxLjk5OTkgMy41MDIyMiAxLjk5OTkgMy42NjY2NlYzLjk5OTk5QzEuOTk5OSA0LjY2MjkgMi4wMDU2MyA0Ljg2MzU3IDIuMDQ1MzMgNS4wMTE3NUMyLjE2ODYyIDUuNDcxODcgMi41MjgwMiA1LjgzMTI3IDIuOTg4MTQgNS45NTQ1NkMzLjA2NzM0IDUuOTc1NzggMy4xNjE1MiA1Ljk4NzMgMy4zMzMyMyA1Ljk5MzQyVjMuMzMzMzNaTTQuNjY2NTcgMi4yOTYyOUM0LjY2NjU3IDIuMTUwMjUgNC42NjY4NSAyLjA3MDM5IDQuNjcwMzcgMi4wMTI0OUM0LjY3MDU1IDIuMDA5NTggNC42NzA3MiAyLjAwNjg3IDQuNjcwOSAyLjAwNDMzQzQuNjczNDQgMi4wMDQxNSA0LjY3NjE2IDIuMDAzOTcgNC42NzkwNyAyLjAwMzc5QzQuNzM2OTcgMi4wMDAyOCA0LjgxNjgzIDEuOTk5OTkgNC45NjI4NiAxLjk5OTk5SDExLjAzNjlDMTEuMTgzIDEuOTk5OTkgMTEuMjYyOCAyLjAwMDI4IDExLjMyMDcgMi4wMDM3OUMxMS4zMjM2IDIuMDAzOTcgMTEuMzI2NCAyLjAwNDE1IDExLjMyODkgMi4wMDQzM0MxMS4zMjkxIDIuMDA2ODYgMTEuMzI5MyAyLjAwOTU5IDExLjMyOTQgMi4wMTI0OUMxMS4zMzI5IDIuMDcwMzkgMTEuMzMzMiAyLjE1MDI1IDExLjMzMzIgMi4yOTYyOVY1Ljk5OTk5QzExLjMzMzIgNy44NDA5NCA5Ljg0MDg1IDkuMzMzMzMgNy45OTk5IDkuMzMzMzNDNi4xNTg5NSA5LjMzMzMzIDQuNjY2NTcgNy44NDA5NCA0LjY2NjU3IDUuOTk5OTlWMi4yOTYyOVpNMTIuNjY2NiAzLjMzMzMzVjUuOTkzNDJDMTIuODM4MyA1Ljk4NzMgMTIuOTMyNSA1Ljk3NTc4IDEzLjAxMTcgNS45NTQ1NkMxMy40NzE4IDUuODMxMjcgMTMuODMxMiA1LjQ3MTg3IDEzLjk1NDUgNS4wMTE3NUMxMy45OTQyIDQuODYzNTcgMTMuOTk5OSA0LjY2MjkgMTMuOTk5OSAzLjk5OTk5VjMuNjY2NjZDMTMuOTk5OSAzLjUwMjIyIDEzLjk5OTUgMy40MTIyOSAxMy45OTUxIDMuMzQ3MjdDMTMuOTk0OSAzLjM0NDI1IDEzLjk5NDcgMy4zNDE0MSAxMy45OTQ1IDMuMzM4NzVDMTMuOTkxOCAzLjMzODU0IDEzLjk4OSAzLjMzODMzIDEzLjk4NiAzLjMzODEyQzEzLjkyMDkgMy4zMzM2OSAxMy44MzEgMy4zMzMzMyAxMy42NjY2IDMuMzMzMzNIMTIuNjY2NlpNNy4wMzY5NCAxMi42NjY3QzYuMjIzMiAxMi42NjY3IDUuNTQyNzEgMTMuMjM3MiA1LjM3MzYxIDE0SDEwLjYyNjJDMTAuNDU3MSAxMy4yMzcyIDkuNzc2NiAxMi42NjY3IDguOTYyODYgMTIuNjY2N0g3LjAzNjk0WiIgZmlsbD0iIzhGOEI5QyIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIxMTVfMzA2Ij4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+CjxzY3JpcHQgeG1sbnM9IiIvPgo8L3N2Zz4K';
148
184
 
185
+ const iconTrophySvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NSIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDQ1IDQ0IiBmaWxsPSJub25lIj48c2NyaXB0IHhtbG5zPSIiLz4KICA8cmVjdCB4PSIwLjUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgcng9IjIyIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMTYwNF81NTg5KSIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTkuODc0NCAxOS43MjI3QzE5Ljg3NDQgMTguMjc1IDIxLjA1MjIgMTcuMDk3MiAyMi40OTk5IDE3LjA5NzJDMjMuOTQ3NyAxNy4wOTcyIDI1LjEyNTUgMTguMjc1IDI1LjEyNTUgMTkuNzIyN0MyNS4xMjU1IDIxLjE3MDUgMjMuOTQ3NyAyMi4zNDgzIDIyLjQ5OTkgMjIuMzQ4M0MyMS4wNTIyIDIyLjM0ODMgMTkuODc0NCAyMS4xNzA1IDE5Ljg3NDQgMTkuNzIyN1pNMjIuNDk5OSAyMS40NzgxQzIyLjg0NyAyMS40NzgxIDIzLjEyODcgMjEuMTk2NSAyMy4xMjg3IDIwLjg0OTRWMTguNTk2MUMyMy4xMjg3IDE4LjI0OSAyMi44NDcgMTcuOTY3MyAyMi40OTk5IDE3Ljk2NzNDMjIuMTUyOSAxNy45NjczIDIxLjg3MTIgMTguMjQ5IDIxLjg3MTIgMTguNTk2MVYyMC44NDk0QzIxLjg3MTIgMjEuMTk2NSAyMi4xNTI5IDIxLjQ3ODEgMjIuNDk5OSAyMS40NzgxWiIgZmlsbD0iIzFFMTYzOCIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzEuODcxNCAxNS40NzIxQzMyLjA1MzMgMTUuNDcyMSAzMi4yMjY0IDE1LjU1MDkgMzIuMzQ1OSAxNS42ODc5QzMyLjQ2NDkgMTUuODI1NCAzMi41MTk0IDE2LjAwNzcgMzIuNDkzOCAxNi4xODhMMzEuOTAzMiAyMC40MTA1QzMxLjcxODggMjEuNzI3IDMwLjU3NzUgMjIuNzIgMjkuMjQ3OSAyMi43MkgyNy4zMDI2QzI2LjYwMTggMjMuODIyNCAyNS41MjYzIDI0LjY3MiAyNC4yNDA3IDI1LjA3OThWMjYuMzM5QzI0LjI0MDcgMjYuNjU1OCAyNC40OTk0IDI2LjkwNTIgMjQuODE2MiAyNi45MDY5QzI1Ljc1NDcgMjYuOTExMSAyNi41MTEzIDI3LjY2OTggMjYuNTExMyAyOC42MDk1VjI5LjQ3NDJIMTguNDg4N1YyOC42MDk1QzE4LjQ4ODcgMjcuNjY5OCAxOS4yNDUzIDI2LjkxMTEgMjAuMTgzOCAyNi45MDY5QzIwLjUwMDcgMjYuOTA1MiAyMC43NTkzIDI2LjY1NTggMjAuNzU5MyAyNi4zMzlWMjUuMDc5OEMxOS40NzM3IDI0LjY3MiAxOC4zOTgyIDIzLjgyMjQgMTcuNjk3NCAyMi43MkgxNS43NTIxQzE0LjQyMjUgMjIuNzIgMTMuMjgxMiAyMS43MjcgMTMuMDk2OCAyMC40MTA1TDEyLjUwNjIgMTYuMTg4QzEyLjQ4MDYgMTYuMDA3NyAxMi41MzUxIDE1LjgyNTQgMTIuNjU0MSAxNS42ODc5QzEyLjc3MzYgMTUuNTUwOSAxMi45NDY3IDE1LjQ3MjEgMTMuMTI4NiAxNS40NzIxSDE2LjMxMzhMMTYuMTk0NyAxNC40MDI0QzE2LjE3MTIgMTQuMTg3OCAxNi4zMzg5IDE0IDE2LjU1NTIgMTRIMjguNDQ0OEMyOC42NjExIDE0IDI4LjgyODggMTQuMTg3OCAyOC44MDUzIDE0LjQwMjRMMjguNjg2MiAxNS40NzIxSDMxLjg3MTRaTTE0LjM0MjUgMjAuMjM2MUMxNC40NDAyIDIwLjkzNTMgMTUuMDQ2MiAyMS40NjI2IDE1Ljc1MjEgMjEuNDYyNkgxNy4xMDEzQzE2Ljk4MTUgMjEuMTAwNCAxNi44OTgxIDIwLjcyMjggMTYuODU0IDIwLjMzNDZMMTYuNDUzMyAxNi43Mjk1SDEzLjg1MTdMMTQuMzQyNSAyMC4yMzYxWk0xOC42MTcgMTkuNzIyN0MxOC42MTcgMjEuODYzNyAyMC4zNTkgMjMuNjA1NyAyMi41IDIzLjYwNTdDMjQuNjQxIDIzLjYwNTcgMjYuMzgzIDIxLjg2MzcgMjYuMzgzIDE5LjcyMjdDMjYuMzgzIDE3LjU4MTYgMjQuNjQxIDE1LjgzOTcgMjIuNSAxNS44Mzk3QzIwLjM1OSAxNS44Mzk3IDE4LjYxNyAxNy41ODE2IDE4LjYxNyAxOS43MjI3Wk0yOS4yNDc5IDIxLjQ2MjZDMjkuOTUzOCAyMS40NjI2IDMwLjU1OTkgMjAuOTM1MyAzMC42NTc1IDIwLjIzNjFMMzEuMTQ4MyAxNi43Mjk1SDI4LjU0NjdMMjguMTQ2IDIwLjMzNDZDMjguMTAyIDIwLjcyMjggMjguMDE4NSAyMS4xMDA0IDI3Ljg5ODcgMjEuNDYyNkgyOS4yNDc5WiIgZmlsbD0iIzFFMTYzOCIvPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzE2MDRfNTU4OSIgeDE9IjMuMzQ3MDYiIHkxPSIyLjA2MjUiIHgyPSI2NS4zNDQ3IiB5Mj0iMTEuMDQ4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAuMTI5MTg0IiBzdG9wLWNvbG9yPSIjRkY5NDAwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjAuOTkzMDA3IiBzdG9wLWNvbG9yPSIjRkVGNzQ2Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRkUyNEEiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8c2NyaXB0IHhtbG5zPSIiLz48L3N2Zz4K';
186
+
187
+ const iconWarnSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkZyYW1lIDM3Njc4Ij4KPHJlY3Qgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiByeD0iMjIiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xNzAxXzEyNjA0KSIvPgo8ZyBpZD0iaWNvbiI+CjxwYXRoIGlkPSJJY29uIiBkPSJNMjEuOTk5OCAxOS4wMDAyVjIzLjAwMDJNMjEuOTk5OCAyNy4wMDAySDIyLjAwOThNMjAuNjE1MSAxMy44OTJMMTIuMzkwMiAyOC4wOTg2QzExLjkzNCAyOC44ODY2IDExLjcwNTkgMjkuMjgwNiAxMS43Mzk2IDI5LjYwMzlDMTEuNzY5IDI5Ljg4NiAxMS45MTY4IDMwLjE0MjMgMTIuMTQ2MSAzMC4zMDlDMTIuNDA5MSAzMC41MDAyIDEyLjg2NDMgMzAuNTAwMiAxMy43NzQ5IDMwLjUwMDJIMzAuMjI0NkMzMS4xMzUyIDMwLjUwMDIgMzEuNTkwNCAzMC41MDAyIDMxLjg1MzQgMzAuMzA5QzMyLjA4MjcgMzAuMTQyMyAzMi4yMzA1IDI5Ljg4NiAzMi4yNTk5IDI5LjYwMzlDMzIuMjkzNiAyOS4yODA2IDMyLjA2NTUgMjguODg2NiAzMS42MDkzIDI4LjA5ODZMMjMuMzg0NCAxMy44OTJDMjIuOTI5OSAxMy4xMDY4IDIyLjcwMjYgMTIuNzE0MiAyMi40MDYxIDEyLjU4MjRDMjIuMTQ3NCAxMi40NjczIDIxLjg1MjEgMTIuNDY3MyAyMS41OTM1IDEyLjU4MjRDMjEuMjk2OSAxMi43MTQyIDIxLjA2OTYgMTMuMTA2OCAyMC42MTUxIDEzLjg5MloiIHN0cm9rZT0iIzI1MUQzRSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8L2c+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMTcwMV8xMjYwNCIgeDE9IjIuODQ3MDYiIHkxPSIyLjA2MjUiIHgyPSI2NC44NDQ3IiB5Mj0iMTEuMDQ4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIG9mZnNldD0iMC4xMjkxODQiIHN0b3AtY29sb3I9IiNGRjk0MDAiLz4KPHN0b3Agb2Zmc2V0PSIwLjk5MzAwNyIgc3RvcC1jb2xvcj0iI0ZFRjc0NiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRkUyNEEiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K';
188
+
149
189
  const helpSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48c2NyaXB0IHhtbG5zPSIiLz4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xOTcxXzUxNikiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOC4wMDAwOCAyLjAwMDAxQzQuNjg2MzcgMi4wMDAwMSAyLjAwMDA4IDQuNjg2MyAyLjAwMDA4IDhDMi4wMDAwOCAxMS4zMTM3IDQuNjg2MzcgMTQgOC4wMDAwOCAxNEMxMS4zMTM4IDE0IDE0LjAwMDEgMTEuMzEzNyAxNC4wMDAxIDhDMTQuMDAwMSA0LjY4NjMgMTEuMzEzOCAyLjAwMDAxIDguMDAwMDggMi4wMDAwMVpNMC42NjY3NDggOEMwLjY2Njc0OCAzLjk0OTkyIDMuOTQ5OTkgMC42NjY2NzIgOC4wMDAwOCAwLjY2NjY3MkMxMi4wNTAyIDAuNjY2NjcyIDE1LjMzMzQgMy45NDk5MiAxNS4zMzM0IDhDMTUuMzMzNCAxMi4wNTAxIDEyLjA1MDIgMTUuMzMzMyA4LjAwMDA4IDE1LjMzMzNDMy45NDk5OSAxNS4zMzMzIDAuNjY2NzQ4IDEyLjA1MDEgMC42NjY3NDggOFpNOC4xNzIxNiA1LjM0OTU1QzcuODYxODEgNS4yOTYzMiA3LjU0MjY0IDUuMzU0NjQgNy4yNzExNyA1LjUxNDE4QzYuOTk5NzEgNS42NzM3MyA2Ljc5MzQ2IDUuOTI0MiA2LjY4ODk3IDYuMjIxMjNDNi41NjY3OSA2LjU2ODU2IDYuMTg2MTggNi43NTEwOCA1LjgzODg1IDYuNjI4ODlDNS40OTE1MyA2LjUwNjcxIDUuMzA5MDEgNi4xMjYxIDUuNDMxMTkgNS43Nzg3OEM1LjY0MDE3IDUuMTg0NyA2LjA1MjY2IDQuNjgzNzYgNi41OTU2IDQuMzY0NjdDNy4xMzg1MyA0LjA0NTU4IDcuNzc2ODggMy45Mjg5NCA4LjM5NzU3IDQuMDM1NDFDOS4wMTgyNiA0LjE0MTg3IDkuNTgxMjUgNC40NjQ1OCA5Ljk4NjgyIDQuOTQ2MzZDMTAuMzkyMyA1LjQyODA0IDEwLjYxNDMgNi4wMzc2NiAxMC42MTM0IDYuNjY3MjhDMTAuNjEzMSA3LjY4NzUyIDkuODU2NzEgOC4zNjEyNiA5LjMxNjU1IDguNzIxMzdDOS4wMjYxMyA4LjkxNDk5IDguNzQwNDUgOS4wNTczNSA4LjUzMDAxIDkuMTUwODhDOC40MjM4NCA5LjE5ODA2IDguMzM0NDQgOS4yMzM4NyA4LjI3MDAyIDkuMjU4NDFDOC4yMzc3NSA5LjI3MDcxIDguMjExNTkgOS4yODAyMyA4LjE5MjU1IDkuMjg3TDguMTY5MzkgOS4yOTUxMUw4LjE2MjAyIDkuMjk3NjNMOC4xNTk0MiA5LjI5ODVMOC4xNTg0IDkuMjk4ODVDOC4xNTgyIDkuMjk4OTEgOC4xNTc1NyA5LjI5OTEzIDcuOTQ2NzUgOC42NjY2N0w4LjE1NzU3IDkuMjk5MTNDNy44MDgyNyA5LjQxNTU2IDcuNDMwNzIgOS4yMjY3OCA3LjMxNDI5IDguODc3NDlDNy4xOTc5IDguNTI4MzEgNy4zODY1MSA4LjE1MDkgNy43MzU1OCA4LjAzNDMzTDcuNzQ1ODcgOC4wMzA3MkM3Ljc1NjEyIDguMDI3MDcgNy43NzI5MyA4LjAyMDk3IDcuNzk1MzUgOC4wMTI0M0M3Ljg0MDMxIDcuOTk1MyA3LjkwNzE2IDcuOTY4NjEgNy45ODg0OSA3LjkzMjQ2QzguMTUzMDUgNy44NTkzMyA4LjM2NzM3IDcuNzUxNjkgOC41NzY5NSA3LjYxMTk3QzkuMDM2NjggNy4zMDU0OCA5LjI4MDA4IDYuOTc5NDMgOS4yODAwOCA2LjY2NjY3TDkuMjgwMDggNi42NjU2OEM5LjI4MDU1IDYuMzUwOCA5LjE2OTU3IDYuMDQ1OTEgOC45NjY3OCA1LjgwNTAyQzguNzY0IDUuNTY0MTMgOC40ODI1MSA1LjQwMjc4IDguMTcyMTYgNS4zNDk1NVpNNy4zMzM0MSAxMS4zMzMzQzcuMzMzNDEgMTAuOTY1MSA3LjYzMTg5IDEwLjY2NjcgOC4wMDAwOCAxMC42NjY3SDguMDA2NzVDOC4zNzQ5NCAxMC42NjY3IDguNjczNDEgMTAuOTY1MSA4LjY3MzQxIDExLjMzMzNDOC42NzM0MSAxMS43MDE1IDguMzc0OTQgMTIgOC4wMDY3NSAxMkg4LjAwMDA4QzcuNjMxODkgMTIgNy4zMzM0MSAxMS43MDE1IDcuMzMzNDEgMTEuMzMzM1oiIGZpbGw9IiM2NjYxNzgiLz4KICAgIDwvZz4KICAgIDxkZWZzPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMTk3MV81MTYiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IndoaXRlIi8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPHNjcmlwdCB4bWxucz0iIi8+PC9zdmc+Cg==';
150
190
 
191
+ const backSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48c2NyaXB0IHhtbG5zPSIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40NzEzIDMuNTI4NTlDMTAuNzMxNyAzLjc4ODk0IDEwLjczMTcgNC4yMTEwNSAxMC40NzEzIDQuNDcxNEw2Ljk0MjczIDhMMTAuNDcxMyAxMS41Mjg2QzEwLjczMTcgMTEuNzg4OSAxMC43MzE3IDEyLjIxMTEgMTAuNDcxMyAxMi40NzE0QzEwLjIxMSAxMi43MzE3IDkuNzg4ODYgMTIuNzMxNyA5LjUyODUxIDEyLjQ3MTRMNS41Mjg1MSA4LjQ3MTRDNS4yNjgxNiA4LjIxMTA1IDUuMjY4MTYgNy43ODg5NCA1LjUyODUxIDcuNTI4NTlMOS41Mjg1MSAzLjUyODU5QzkuNzg4ODYgMy4yNjgyNCAxMC4yMTEgMy4yNjgyNCAxMC40NzEzIDMuNTI4NTlaIiBmaWxsPSIjNjY2MTc4Ii8+Cjwvc3ZnPgo=';
192
+
151
193
  const iconClose = index.h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/close.svg" });
152
194
  const iconQuestion = index.h("img", { src: helpSvg, alt: "question", class: "Question" });
153
195
  const iconEyeOpen = index.h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/eye-open.svg" });
154
196
  const iconEyeClose = index.h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/eye-closed.svg" });
155
- const iconBack = index.h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/back.svg" });
197
+ const iconBack = index.h("img", { src: backSvg, alt: "Back", class: "Back" });
156
198
  const iconReward = index.h("img", { src: rewardSvg, alt: "reward", class: "Reward" });
157
- const iconTrophy = index.h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/cup-congras.svg" });
199
+ const iconTrophy = index.h("img", { src: iconTrophySvg, alt: "iconTrophy", class: "Trophy" });
200
+ const iconWarn = index.h("img", { src: iconWarnSvg, alt: "Reward Assign Failed", class: "Warn" });
158
201
 
159
202
  const renderGradientRoundedButton = (_a) => {
160
203
  var { statedClasses, innerHTML } = _a, props = __rest(_a, ["statedClasses", "innerHTML"]);
@@ -169,6 +212,7 @@ const renderGradientRoundedButton = (_a) => {
169
212
  var GradientButton;
170
213
  (function (GradientButton) {
171
214
  GradientButton["normal"] = "normal";
215
+ GradientButton["okContinue"] = "okContinue";
172
216
  GradientButton["unjoinYes"] = "unjoinYes";
173
217
  GradientButton["unjoinNo"] = "unjoinNo";
174
218
  })(GradientButton || (GradientButton = {}));
@@ -178,6 +222,9 @@ const renderButton = (instance, buttonType, isActionJoinPending = false) => {
178
222
  normal: {
179
223
  innerHTML: locale.WinDialog.ButtonContinue
180
224
  },
225
+ okContinue: {
226
+ innerHTML: locale.WinDialog.FailedButtonContinue
227
+ },
181
228
  unjoinYes: {
182
229
  onClick: () => instance.actionJoin(instance.dialog.data),
183
230
  innerHTML: locale.UnjoinDialog.ButtonYes
@@ -202,14 +249,20 @@ const renderButton = (instance, buttonType, isActionJoinPending = false) => {
202
249
  };
203
250
  const dialog = {
204
251
  gift(instance) {
205
- const { name: tournamentName } = instance.gifts[0];
252
+ const { name: rewards, failedRewards } = instance.gifts[0];
206
253
  const { locale } = instance;
207
- return (index.h("div", { class: "PageConfirmContainer" },
208
- index.h("div", { class: "PageConfirm" },
254
+ return (index.h("div", { class: "PageConfirmContainer" }, !!rewards ?
255
+ index.h("div", { class: "PageConfirm Gift" },
209
256
  index.h("div", null, iconTrophy),
210
- index.h("div", { class: "Title" }, locale.WinDialog.Tile),
211
- index.h("div", { class: "Description", innerHTML: localePostprocess(locale.WinDialog.Description, { tournamentName }) }),
212
- index.h("div", { class: "PageConfirmButtonsGroup" }, renderButton(instance, GradientButton.normal)))));
257
+ index.h("div", { class: "Title" }, locale.WinDialog.Title),
258
+ index.h("div", { class: "Description", innerHTML: localePostprocess(locale.WinDialog.Description, { rewards }) }),
259
+ index.h("div", { class: "PageConfirmButtonsGroup" }, renderButton(instance, GradientButton.normal)))
260
+ :
261
+ index.h("div", { class: "PageConfirm Gift" },
262
+ index.h("div", null, iconWarn),
263
+ index.h("div", { class: "Title", innerHTML: localePostprocess(locale.WinDialog.FailedTitle, { failedRewards }) }),
264
+ index.h("div", { class: "Description" }, locale.WinDialog.FailedDescription),
265
+ index.h("div", { class: "PageConfirmButtonsGroup" }, renderButton(instance, GradientButton.okContinue)))));
213
266
  },
214
267
  unjoin(instance) {
215
268
  const { locale } = instance;
@@ -242,6 +295,20 @@ const tournamentAdapter = (tournamentApi) => {
242
295
  });
243
296
  return tournament;
244
297
  };
298
+ const updateTournament = (target, source) => {
299
+ const keysTime = [
300
+ 'startTime',
301
+ 'endTime',
302
+ 'closeTime',
303
+ 'exhibitionStartTime',
304
+ 'exhibitionEndTime', 'state',
305
+ 'prizes', 'minBetCount', 'scoreCriteria', 'termsUrl'
306
+ ];
307
+ keysTime.forEach((key) => {
308
+ target[key] = source[key];
309
+ });
310
+ return Object.assign({}, target);
311
+ };
245
312
  const leaderboardsAdapter = (leaderboardRes) => {
246
313
  let { item, items: leaderboards } = leaderboardRes;
247
314
  if (!item) {
@@ -280,28 +347,35 @@ const messageSender = {
280
347
  GameClickReq: (game) => window.postMessage({ type: 'EngagementSuiteGameRedirect', data: { Slug: game.slug } }),
281
348
  };
282
349
  const messageReceiver = (instance) => {
283
- const receiver = {
350
+ return {
284
351
  UpdateLeaderboardsPlayerRes: (rest) => {
285
- window.postMessage({ type: 'UpdateLeaderboardState', rank: getMaxRankStr(rest.data.items) });
352
+ const { rank, detail } = (getMaxRankStr(rest.data.items));
353
+ window.postMessage({ type: 'UpdateLeaderboardState', rank, detail });
286
354
  },
287
355
  UpdateLeaderboardStateReq: () => {
288
356
  window.postMessage({ type: 'UpdateLeaderboardState', labels: ['win', 'new'] });
289
357
  },
358
+ /*
359
+ * Update tournament games list when switch to game tab in detail page
360
+ */
290
361
  UpdateTournamentsItemRes: (rest) => {
291
362
  const tournamentNew = tournamentAdapter(rest.data.item);
292
363
  instance.tournamentItem = tournamentNew;
293
364
  updateTournamentListByItem(instance, tournamentNew);
294
365
  },
295
- UpdateLeaderboardsRes: (rest) => processLeaderboardTableData(instance, rest),
296
- JoinTournamentRes: (rest) => commonJoinRes(instance, rest),
297
- UnjoinTournamentRes: (rest) => commonJoinRes(instance, rest),
366
+ UpdateLeaderboardsRes: (rest) => initPlayerLeaderboard(instance, rest),
367
+ //Parse the join tournament response
368
+ JoinTournamentRes: (rest) => commonJoinRes(instance, rest, true),
369
+ //Parse the unjoin tournament response
370
+ UnjoinTournamentRes: (rest) => commonJoinRes(instance, rest, false),
371
+ //Parse recieved init message when widget is loaded
298
372
  TournamentsPageIsReadyRes: (rest) => instance.currentGameId = '' + rest.data.GameId,
299
373
  // listen to LeaderboardLiveEvent event, handle update
300
- LeaderboardLiveEvent: (rest) => {
301
- handleLeaderboardLiveEvent(instance, rest);
302
- },
374
+ LeaderboardLiveEvent: (rest) => handleLeaderboardLiveEvent(instance, rest),
375
+ LiveLeaderboardUpdate: (rest) => updateLeaderboardInfo(instance, Object.assign(Object.assign({}, rest), { messageType: 'LeaderboardUpdate' })),
376
+ LiveTournamentUpdate: (rest) => updateTournamentInfo(instance, Object.assign(Object.assign({}, rest), { messageType: 'TournamentUpdate' })),
377
+ LiveLeaderboardFinalizeUpdate: (rest) => updatePlayerRewardInfo(instance, Object.assign(Object.assign({}, rest), { messageType: 'PlayerFinalizeUpdate' })),
303
378
  };
304
- return receiver;
305
379
  };
306
380
  /**
307
381
  * Handle LeaderboardLiveEvent update event
@@ -377,33 +451,45 @@ const handleLeaderboardLiveEvent = (instance, rest) => {
377
451
  }
378
452
  }
379
453
  };
380
- const showErrorMessage = (instance, type) => {
381
- instance.dialog = Object.assign(Object.assign({}, instance.dialog), { isOpen: true, type });
454
+ const clearUnjoinedTournament = (instance, unjoinedTournamentId) => {
455
+ const clearId = setTimeout(() => {
456
+ instance.tournamentList = instance.tournamentList.filter((tournament) => {
457
+ return tournament.id !== unjoinedTournamentId;
458
+ });
459
+ clearTimeout(clearId);
460
+ }, 100);
382
461
  };
383
- const commonJoinRes = (instance, rest) => {
462
+ const commonJoinRes = (instance, rest, isJoinRes) => {
384
463
  const { success, data } = rest;
385
464
  let tournamentIdx = instance.tournamentList.findIndex((tournament) => tournament.id === (data.tournamentId || data.id || data.bonusCode)), current = instance.tournamentList[tournamentIdx];
386
465
  if (tournamentIdx == -1) {
387
466
  return;
388
467
  }
389
- current = Object.assign(Object.assign({}, current), { isActionJoinPending: false });
468
+ current.isActionJoinPending = false;
390
469
  instance.pendingChangeEvent.emit(current);
391
470
  if (!success) {
392
471
  instance.tournamentList[tournamentIdx] = current;
393
472
  instance.tournamentList = [...instance.tournamentList];
394
- showErrorMessage(instance, exports.DialogType.error);
473
+ instance.openDialog(exports.DialogType.error);
395
474
  return;
396
475
  }
397
- current = Object.assign(Object.assign({}, current), { isUnjoined: current.isPlayerAcknowledged ? true : false, isPlayerAcknowledged: !!!current.isPlayerAcknowledged });
398
- instance.tournamentList[tournamentIdx] = current;
476
+ if (isJoinRes) {
477
+ current.isPlayerAcknowledged = true;
478
+ current.order = instance.minOrder--;
479
+ }
480
+ else {
481
+ current.isUnjoined = true;
482
+ clearUnjoinedTournament(instance, data.tournamentId);
483
+ }
484
+ instance.tournamentList[tournamentIdx] = Object.assign({}, current);
399
485
  instance.tournamentList = [...instance.tournamentList];
400
486
  if (instance.page === exports.LeaderboardPage.item) {
401
- if (current.isUnjoined) {
402
- instance.setPage(exports.LeaderboardPage.list);
403
- return;
487
+ if (isJoinRes) {
488
+ instance.tournamentItem = Object.assign({}, current);
404
489
  }
405
490
  else {
406
- instance.tournamentItem = Object.assign({}, current);
491
+ instance.setPage(exports.LeaderboardPage.list);
492
+ return;
407
493
  }
408
494
  }
409
495
  if (instance.nextPage) {
@@ -411,17 +497,21 @@ const commonJoinRes = (instance, rest) => {
411
497
  instance.nextPage = undefined;
412
498
  }
413
499
  };
414
- const processLeaderboardTableData = (instance, rest) => {
500
+ const initPlayerLeaderboard = (instance, rest) => {
415
501
  instance.leaderboards = leaderboardsAdapter(rest.data);
416
- instance.currentPlyerRank = rest.data.item ? rest.data.item.rank : -1;
502
+ instance.currentPlayerRank = rest.data.item ? rest.data.item.rank : -1;
417
503
  };
418
504
  /*
419
505
  * update tournament info, include status, name or duration change
420
506
  */
421
507
  const updateTournamentListByItem = (instance, tournament) => {
508
+ const newTournament = tournamentAdapter(tournament);
509
+ if (instance.tournamentItem.id === tournament.id) {
510
+ instance.tournamentItem = Object.assign({}, updateTournament(instance.tournamentItem, newTournament));
511
+ }
422
512
  instance.tournamentList = instance.tournamentList.map((_tournament) => {
423
513
  if (_tournament.id === tournament.id) {
424
- return tournamentAdapter(tournament);
514
+ return Object.assign({}, updateTournament(_tournament, newTournament));
425
515
  }
426
516
  else {
427
517
  return _tournament;
@@ -432,8 +522,8 @@ const removeTournament = (instance, tournament) => {
432
522
  instance.tournamentList = instance.tournamentList.filter((_tournament) => _tournament.id !== tournament.id);
433
523
  };
434
524
  const updateOrAddTournamentToList = (instance, tournament) => {
435
- const index = instance.tournamentList.findIndex((_tournament) => _tournament.id === tournament.id);
436
- if (index === -1) {
525
+ const index = instance.tournamentList.findIndex(_tournament => _tournament.id === tournament.id);
526
+ if (index === -1) { //not found in list, handle it as new tournament
437
527
  instance.tournamentList = [
438
528
  tournamentAdapter(tournament),
439
529
  ...instance.tournamentList
@@ -444,6 +534,60 @@ const updateOrAddTournamentToList = (instance, tournament) => {
444
534
  instance.tournamentList = [...instance.tournamentList];
445
535
  }
446
536
  };
537
+ const updateTournamentInfo = (instance, rest) => {
538
+ try {
539
+ const updateMessageObj = JSON.parse(rest.data.Message);
540
+ updateTournamentListByItem(instance, updateMessageObj);
541
+ }
542
+ catch (e) {
543
+ console.error('Exception when parse Player Tournament Info', e);
544
+ }
545
+ };
546
+ const updatePlayerRewardInfo = (instance, rest) => {
547
+ try {
548
+ const updateMessageObj = JSON.parse(rest.data.Message);
549
+ const assignFailedRewards = updateMessageObj.rewards.filter(item => item.status && item.status !== 'success')
550
+ .map(reward => getRewardNameByType(reward)).join(',');
551
+ const assignedRewards = updateMessageObj.rewards.filter(item => !!item.assigned && item.status === 'success')
552
+ .map(reward => getRewardNameByType(reward)).join(',');
553
+ if (assignFailedRewards.length) {
554
+ instance.gifts = [{ name: null, failedRewards: assignFailedRewards }, ...instance.gifts];
555
+ }
556
+ if (assignedRewards.length) {
557
+ instance.gifts = [{ name: assignedRewards }, ...instance.gifts];
558
+ }
559
+ instance.checkGift();
560
+ }
561
+ catch (e) {
562
+ console.error('Exception when parse Player LeaderboardFinalize info', e);
563
+ }
564
+ };
565
+ const updateLeaderboardInfo = (instance, rest) => {
566
+ var _a;
567
+ try {
568
+ const updateMessageObj = JSON.parse(rest.data.Message);
569
+ const { PlayerLeaderBoard, TournamentId, TournamentLeaderBoardDto } = updateMessageObj;
570
+ //update user rank in UI-bar by parsing PlayerLeaderboard
571
+ if (PlayerLeaderBoard) {
572
+ window.postMessage({ type: 'UpdateLeaderboardState',
573
+ rank: `${PlayerLeaderBoard.rank} / ${TournamentLeaderBoardDto.totalRecords}`,
574
+ detail: {
575
+ playerRank: PlayerLeaderBoard.rank,
576
+ total: TournamentLeaderBoardDto.totalRecords
577
+ }
578
+ });
579
+ }
580
+ if (((_a = instance.tournamentItem) === null || _a === void 0 ? void 0 : _a.id) == TournamentId) {
581
+ initPlayerLeaderboard(instance, { data: {
582
+ item: Object.assign({}, PlayerLeaderBoard),
583
+ items: [...TournamentLeaderBoardDto.players]
584
+ } });
585
+ }
586
+ }
587
+ catch (err) {
588
+ console.error('Exception when parse live update info, ', err);
589
+ }
590
+ };
447
591
 
448
592
  const page = {
449
593
  list(instance) {
@@ -454,7 +598,9 @@ const page = {
454
598
  }
455
599
  const { locale } = instance;
456
600
  if (instance.tournamentList.length) {
457
- return renderWrapperByPageType(index.h("div", { class: "Leaderboards ScrollBar Row" }, instance.tournamentList.map((_tournament) => (index.h("tournament-item", { tournament: _tournament, isNew: instance.newIdList.includes(_tournament.id) })))));
601
+ return renderWrapperByPageType(index.h("div", { class: "Leaderboards ScrollBar Row" }, instance.tournamentList.map((_tournament, idx) => (
602
+ // @ts-ignore
603
+ index.h("tournament-item", { tid: _tournament.id, key: _tournament.id, tournament: _tournament, style: { 'order': `${_tournament.order || idx}` }, isNew: instance.newIdList.includes(_tournament.id) })))));
458
604
  }
459
605
  else {
460
606
  return renderWrapperByPageType(index.h("div", { class: "NoLeaderboards ScrollBar Row" },
@@ -510,20 +656,25 @@ function getProgress(startDate, endDate) {
510
656
  if (new Date().getTime() >= endDate.getTime()) {
511
657
  return 100;
512
658
  }
513
- return ((100 * (new Date().getTime() - startDate.getTime())) / (endDate.getTime() - startDate.getTime())).toFixed(0);
659
+ return Math.floor((100 * (new Date().getTime() - startDate.getTime())) / (endDate.getTime() - startDate.getTime()));
514
660
  }
515
- function getTimeDifference(startDate, endDate) {
661
+ function getTimeDifference(startDate, endDate, progress = 0) {
516
662
  const diffMs = Math.abs(endDate.getTime() - startDate.getTime()); // Difference in milliseconds
517
663
  const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24)); // Difference in days
518
664
  const diffHours = Math.floor((diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // Remaining hours
519
665
  const diffMinutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)); // Remaining minutes
520
- return `${String(diffDays).padStart(2, '0')}d:${String(diffHours).padStart(2, '0')}h:${String(diffMinutes).padStart(2, '0')}m`;
666
+ const min = progress === 100 ? 0 : diffMinutes === 0 ? 1 : diffMinutes;
667
+ return `${String(diffDays).padStart(2, '0')}d:${String(diffHours).padStart(2, '0')}h:${String(min).padStart(2, '0')}m`;
521
668
  }
522
669
 
523
670
  const tab = {
524
671
  info(instance) {
525
672
  var _a, _b;
526
673
  const { locale, tournamentItem: tournament, isShowInfo } = instance;
674
+ const playerRank = getResultPrize((_a = instance.leaderboards) === null || _a === void 0 ? void 0 : _a.find((l) => l.isMe));
675
+ const rewardInfo = !(playerRank === null || playerRank === void 0 ? void 0 : playerRank.place) || (playerRank === null || playerRank === void 0 ? void 0 : playerRank.unqualified)
676
+ ? ''
677
+ : localePostprocess(((playerRank === null || playerRank === void 0 ? void 0 : playerRank.prize) ? locale.TipPrize : locale.TipPrizeWithoutReward), playerRank);
527
678
  return (index.h("div", { class: "InfoContainer" },
528
679
  index.h("tournament-timer", { "is-detail": true, tournament: tournament }),
529
680
  index.h("section", { class: "ShowInfo", onClick: () => (instance.isShowInfo = !instance.isShowInfo) },
@@ -544,15 +695,17 @@ const tab = {
544
695
  index.h("span", null, tournament.minBetCount))),
545
696
  !!tournament.termsUrl && (index.h("div", { class: "TC" },
546
697
  index.h("a", { href: tournament.termsUrl, target: "_blank" }, locale.TC))))),
547
- isTournamentClosed(instance.tournamentItem) && ((_a = instance.leaderboards) === null || _a === void 0 ? void 0 : _a.find((l) => l.isMe)) && (index.h("section", { class: "ResultPrize", innerHTML: localePostprocess(locale.TipPrize, getResultPrize((_b = instance.leaderboards) === null || _b === void 0 ? void 0 : _b.find((l) => l.isMe))) })),
698
+ isTournamentClosed(instance.tournamentItem) && ((_b = instance.leaderboards) === null || _b === void 0 ? void 0 : _b.find((l) => l.isMe)) && (index.h("section", { class: "ResultPrize", innerHTML: rewardInfo })),
548
699
  index.h("section", { class: "PrizesContainer" },
549
700
  index.h("div", { class: "PrizesHeader" },
550
701
  iconReward,
551
702
  index.h("span", { class: "PrizesText" }, locale.Prizes)),
552
- index.h("div", { class: "Prizes" }, tournament.prizes.map((prize, index$1) => (index.h("div", { class: "Prize" },
553
- index$1 + 1,
554
- " ",
555
- locale.Place,
703
+ index.h("div", { class: "Prizes" }, tournament.prizes.map((prize) => (index.h("div", { class: "Prize" },
704
+ index.h("span", { class: 'Rank' },
705
+ prize.rank,
706
+ " ",
707
+ prize.count === 1 ? '' : ` - ${(prize.rank + prize.count - 1)}`),
708
+ prize.count === 1 ? locale.Place : locale.Places,
556
709
  ": ",
557
710
  index.h("span", { class: "PrizeText" }, prize.name)))))))));
558
711
  },
@@ -576,6 +729,8 @@ const tab = {
576
729
  },
577
730
  games(instance) {
578
731
  var _a;
732
+ if (!instance.tournamentItem.games || !instance.tournamentItem.games.length)
733
+ return index.h("general-animation-loading", null);
579
734
  return (index.h("div", { class: "Games" }, (_a = instance.tournamentItem.games) === null || _a === void 0 ? void 0 : _a.map((game) => (index.h("div", { class: `Game ${instance.currentGameId == game.id ? 'Current' : ''}`, onClick: () => {
580
735
  instance.onGameClick(game);
581
736
  } },
@@ -584,8 +739,9 @@ const tab = {
584
739
  };
585
740
  const getResultPrize = (leaderboard) => {
586
741
  return {
587
- prize: leaderboard.prizeName,
588
- place: leaderboard.rank
742
+ prize: leaderboard === null || leaderboard === void 0 ? void 0 : leaderboard.prizeName,
743
+ place: leaderboard === null || leaderboard === void 0 ? void 0 : leaderboard.rank,
744
+ unqualified: leaderboard === null || leaderboard === void 0 ? void 0 : leaderboard.unqualified,
589
745
  };
590
746
  };
591
747
 
@@ -617,7 +773,7 @@ const renderCloseBar = (attr) => {
617
773
  return (index.h("div", { class: "WrapperBar" }, Object.keys(slots).map(slotKey => (index.h("div", { class: 'WrapperBar' + getFirstLetterUppercase(slotKey) }, slots[slotKey] || '')))));
618
774
  };
619
775
 
620
- const casinoEngagementSuiteTournamentCss = ".Leaderboards{height:100%;overflow-y:auto;transition:0.5s ease;transition-property:all, transform}.Leaderboards.list,.Leaderboards.item{opacity:0}.Leaderboards.list.Active,.Leaderboards.item.Active{opacity:1}.Leaderboards.list.Hidden,.Leaderboards.item.Hidden{display:none}.Leaderboards .question__tooltip{position:absolute;top:0;left:20px;width:320px;text-align:left;background-color:var(--emw--color-typography, rgba(255, 255, 255, 0.6));border:1px solid var(--emw--color-typography, rgba(255, 255, 255, 0.8));color:var(var(--emw--color-primary, rgb(255, 214, 47)), rgb(255, 214, 47));padding:10px;border-radius:5px;opacity:0;fill-opacity:0.5;transition:opacity 0.3s ease-in-out;z-index:10}.Leaderboards .question__tooltip.visible{opacity:0.8}table.leaderboards{height:auto}.Wrapper{position:relative;min-height:100%;color:var(--emw--color-typography, #FFFFFF);display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));flex-direction:column;border-radius:24px}.Wrapper .TableContentWrapper{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Wrapper .WrapperContent .TableContentWrapper{height:calc(100vh - 278px);overflow-y:auto}.Wrapper .WrapperContent .Main{height:calc(100vh - 188px)}.Wrapper.Mobile{border-radius:16px}.WrapperContent{padding-bottom:20px;transition:0.5s filter}.WrapperContent.faded{filter:brightness(53.3333333333%);pointer-events:none}.WrapperContent .NoLeaderboards h3.Title{text-align:center}.WrapperContent .NoLeaderboards div.message{color:var(--emw--color-secondary, rgb(187, 185, 195));text-align:left}.Wrapper.Mobile .WrapperBar{padding:20px 8px 8px;margin-bottom:8px}.WrapperBar{display:flex;width:100%;padding:32px 20px 20px;margin-bottom:20px}.WrapperBar .WrapperBarLeft span{position:relative}.WrapperBarLeft,.WrapperBarRight{cursor:pointer;z-index:1}.WrapperBarMiddle{flex-grow:1;text-align:center;font-size:var(--emw--font-size-medium, 16px);line-height:16px;font-weight:500;color:var(--emw--color-secondary, rgb(187, 185, 195))}:host{display:block;font-size:var(--emw--font-size-x-small, 12px);font-family:Inter}.ScrollBar{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Row{margin:10px 0;padding:0 20px}.Row:first-child{margin:0;padding-top:5px}.LeaderboardsItem{opacity:1;transition:1s opacity ease;position:relative;margin:10px 0;border:1px solid rgb(64, 57, 86);border-radius:16px}.LeaderboardsItem.Unjoined{opacity:0;margin:0;border:0 none;animation:slideOut 1s forwards}.LeaderboardsItem.Hollow{border-color:transparent}.LeaderboardsItem:first-child{margin-top:0}.LeaderboardsItemContainer{padding-top:16px}.ShowInfo{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer .Time{display:flex;justify-content:space-between;font-size:var(--emw--font-size-x-small, 12px);align-items:center;color:var(--emw--color-secondary, rgb(187, 185, 195))}.TimeContainer .Time .Running{width:100%;display:flex;flex-direction:row;justify-content:space-between}.TimeContainer .Time button{font-size:var(--emw--font-size-x-small, 12px);height:20px;padding:0}.TimeContainer .Time button::before{inset:inherit;border:0}.TitleContainer{display:flex;justify-content:space-between;margin:10px 0;padding:0 20px;margin-top:0;gap:10px;font-family:Montserrat}.TitleContainer .GradientRoundedButton{width:120px}.TabsContainer{margin:10px 0;padding:0 20px;margin:0 20px;padding:0;border-bottom:1px solid #575757}.Tabs{display:flex;justify-content:space-between;justify-content:start;font-size:var(--emw--font-size-x-small, 12px);margin-bottom:-1px}.Tabs .Tab{text-transform:capitalize}.Tabs>div{padding:10px;color:rgb(102, 97, 120);cursor:pointer}.Tabs>div.active{color:var(--emw--color-typography, #FFF);border-bottom:2px solid var(--emw--color-typography, #FFF)}.Title{font-size:var(--emw--font-size-medium, 16px);font-weight:700;line-height:19.5px;text-align:left;word-break:break-word}.TC{margin-top:12px}.TC a{color:rgb(89, 209, 255)}.Criterias{margin:12px 0}.Criterias span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.ResultPrize{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left}.ResultPrize span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.ContentScrollContainer{flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;height:auto}.ContentScrollContainer.expanded{height:100%;max-height:100%}.PrizesContainer{flex:1;display:flex;flex-direction:column;min-height:100px;max-height:calc(100% - 20px)}.PrizesHeader,.DetailHeader{align-items:center;display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));padding:5px 0;z-index:1;margin:0 20px}.PrizesHeader img,.DetailHeader img{width:12px}.PrizesHeader .PrizesText,.DetailHeader .PrizesText{margin-left:3px;font-weight:600}.DetailHeader{margin:0}.Prizes{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left;flex:1;overflow-y:auto;margin-bottom:0;padding-right:10px;max-height:300px;margin-top:10px}.Prizes::-webkit-scrollbar{width:4px}.Prizes::-webkit-scrollbar-track{background:rgba(0, 0, 0, 0.1);border-radius:2px}.Prizes::-webkit-scrollbar-thumb{background:var(--emw--color-primary, rgb(255, 214, 47));border-radius:2px}.Prizes .Prize{margin:8px 0}.Prizes .Prize .PrizeText{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer section.Info{margin-bottom:12px;text-align:left;padding-left:15px}.InfoContainer section.Info .Criterias,.InfoContainer section.Info .Description{padding-left:15px;margin-top:10px}*{box-sizing:border-box}.Leaderboards{width:100%;text-align:center;border-collapse:collapse}.Leaderboards td{opacity:0.6;padding:12px 5px}.Leaderboards td:first-child{padding-left:20px}.Leaderboards td:last-child{padding-right:20px}.Leaderboards .LeaderboardName{color:var(--emw--color-typography, #FFF);opacity:1}.Leaderboards tr.isMe{background:rgba(0, 0, 0, 0.2);border:1px solid var(--emw--color-primary, rgb(255, 214, 47))}.Leaderboards tr.isMe .LeaderboardRank span{padding:0px 3px;opacity:1;border:1px solid var(--emw--color-primary, rgb(255, 214, 47));border-radius:11px}.Leaderboards tr.isMe td{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:var(--emw--font-weight-semibold, 500)}.LeaderboardLabels{position:absolute;top:-6px;right:18px;display:flex;gap:4px}.LeaderboardLabel{width:30px;height:15px;background:var(--emw--engagement-suite-gradient-golden, linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%));border-radius:var(--emw--border-radius-x-small, 2px);display:inline-flex;padding:0 2px;align-items:center;justify-content:center}.LeaderboardLabel span{display:inline-block;text-transform:uppercase;font-size:var(--emw--font-size-3x-small, 7px);line-height:7px;font-weight:var(--emw--font-weight-bold, 700);font-family:var(--emw--font-family-secondary, \"Montserrat\", sans-serif);color:var(--emw--color-background, #1E1638)}.LeaderboardUnstarted{margin:10px 0;padding:0 20px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-medium, 16px)}.Games{margin:10px 0;padding:0 20px;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:start;margin:20px auto}.Games .Game{cursor:pointer;width:25%;display:flex;padding:5px}.Games .Game.Current{cursor:auto;filter:grayscale(10)}.Games .Game:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.Games .Game.Current:hover{cursor:auto;filter:grayscale(10)}.Games img{width:100%;height:fit-content}dialog{position:absolute;top:calc(50vh - 280px);width:100%;height:max-content;background:transparent;border:0;padding:0;color:var(--emw--color-typography, #FFFFFF);transition:all 0.2s;transition-timing-function:ease-in-out}dialog>div{margin:32px;border-radius:8px;background:var(--emw--color-background, hsl(254, 44%, 15%));border:1px solid hsl(254, 20%, 28%);align-items:center}.DialogContentUnjoin{padding:32px;padding-top:10px;display:flex;gap:10px;flex-direction:column}.DialogContentUnjoinTitle{font-family:Montserrat;font-size:var(--emw--font-size-large, 20px);font-weight:600;line-height:24.38px;text-align:center}.DialogContentUnjoinDescription{color:var(--emw--color-secondary, rgb(187, 185, 195));margin-bottom:30px}.Tip{padding:32px;padding-top:10px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-small, 14px)}.Tip.Error{color:var(--emw--color-error, var(--emw--color-red, #ed0909));font-weight:var(--emw--font-weight-normal, 500)}.PageConfirmContainer{text-align:center;width:80%;margin:0 auto}.PageConfirm{padding:40px 32px;display:flex;flex-direction:column;gap:20px}.PageConfirm .Title{font-size:var(--emw--font-size-large, 20px);text-align:center}.PageConfirm .Description{color:var(--emw--color-secondary, rgb(187, 185, 195));font-weight:400}.PageConfirm .Description span{color:var(--emw--color-typography, #FFF);font-weight:600}.PageConfirmButtonsGroup{width:150px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.GradientRounded{display:block;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:rgb(30, 22, 56);position:relative;border-radius:16px}.GradientRounded.Hollow{background:rgb(30, 22, 56);color:#FFFFFF}.GradientRounded.Hollow::before{content:\"\";position:absolute;inset:0;border-radius:15px;border:1px solid transparent;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.GradientRoundedButton{border:none;padding:7px;height:32px;width:100%;font-size:var(--emw--font-size-small, 14px);font-weight:700;line-height:17.07px;text-align:center;transition:0.5s opacity;cursor:pointer}.GradientRoundedButton.Pending{cursor:not-allowed;opacity:0.3}.GradientRoundedButton.Hollow span{background:-webkit-linear-gradient(98.25deg, rgb(255, 148, 0) 22.48%, rgb(254, 247, 70) 131.02%, rgb(255, 226, 74) 131.9%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.WrapperUtil .GradientRounded .WrapperBar{margin-bottom:0;padding-bottom:0}.WrapperUtil .GradientRounded .Tip{padding-top:0;padding-bottom:40px}.LeaderboardsItem .LeaderboardsItemContainer .TitleContainer{margin-bottom:16px}@keyframes slideOut{0%{display:block;opacity:1;height:max-content}50%{display:block;opacity:0.5}80%{display:none;opacity:0}100%{display:none;opacity:0;height:0}}";
776
+ const casinoEngagementSuiteTournamentCss = ".Leaderboards{height:100%;overflow-y:auto;transition:0.5s ease;transition-property:all, transform}.Leaderboards.list,.Leaderboards.item{margin-top:5px;opacity:0}.Leaderboards.list.Active,.Leaderboards.item.Active{opacity:1}.Leaderboards.list.Hidden,.Leaderboards.item.Hidden{display:none}.Leaderboards .question__tooltip{position:absolute;top:0;left:20px;width:320px;text-align:left;background-color:var(--emw--color-typography, rgba(255, 255, 255, 0.6));border:1px solid var(--emw--color-typography, rgba(255, 255, 255, 0.8));color:var(var(--emw--color-primary, rgb(255, 214, 47)), rgb(255, 214, 47));padding:10px;border-radius:5px;opacity:0;fill-opacity:0.5;transition:opacity 0.3s ease-in-out;z-index:10}.Leaderboards .question__tooltip.visible{opacity:0.8}table.Leaderboards{height:auto}table.Leaderboards td.LeaderboardName{max-width:180px}table.Leaderboards td.LeaderboardPrize{min-width:220px;text-align:left}.Wrapper{position:relative;min-height:100%;line-height:20px;color:var(--emw--color-typography, #FFFFFF);display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));flex-direction:column;border-radius:24px}.Wrapper .TableContentWrapper{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Wrapper .WrapperContent .TableContentWrapper{height:calc(100vh - 298px);overflow-y:auto}.Wrapper .WrapperContent .Main{height:calc(100vh - 188px)}.Wrapper .WrapperContent .Main .Leaderboards.ScrollBar.Row{display:flex;flex-direction:column}.Wrapper .WrapperContent .Main .Leaderboards.ScrollBar.Row tournament-item{transition:2s ease-in-out;transform:translate(0) scale(1, 1);opacity:0.99}.Wrapper.Mobile{border-radius:16px}.Wrapper.Mobile .PageConfirmContainer,.Wrapper.Mobile .DialogContentUnjoin{min-width:80%}.Wrapper.Mobile dialog.tip{padding:120px 10px}.Wrapper.Mobile dialog.unjoin .Hollow{margin:5px}.Wrapper.Mobile .GradientRoundedButton{font-size:var(--emw--font-size-medium, 14px)}.WrapperContent{padding-bottom:20px;transition:0.5s filter}.WrapperContent.faded{filter:brightness(53.3333333333%);pointer-events:none}.WrapperContent .NoLeaderboards h3.Title{text-align:center}.WrapperContent .NoLeaderboards div.message{color:var(--emw--color-secondary, rgb(187, 185, 195));text-align:left}.Wrapper.Mobile .WrapperBar{padding:20px 8px 8px;margin-bottom:8px}.Wrapper.Mobile .Tip{padding:0px 30px 32px}.Wrapper.Mobile .TitleContainer .GradientRoundedButton{width:100px}.WrapperBar{display:flex;width:100%;padding:20px 20px}.WrapperBar .WrapperBarLeft span{position:relative}.WrapperBarLeft,.WrapperBarRight{cursor:pointer;z-index:1}.WrapperBarLeft span.EngagementSuiteIcon img,.WrapperBarRight span.EngagementSuiteIcon img{width:24px;height:24px}.WrapperBarMiddle{flex-grow:1;text-align:center;font-size:var(--emw--font-size-medium, 16px);line-height:16px;font-weight:500;color:var(--emw--color-secondary, rgb(187, 185, 195))}:host{display:block;font-size:var(--emw--font-size-x-small, 14px)}.ScrollBar{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Row{margin:10px 0;padding:0 20px}.Row:first-child{margin:0;padding-top:5px}.LeaderboardsItem{opacity:1;transition:1s opacity ease;position:relative;margin:20px 0;border:1px solid rgb(64, 57, 86);border-radius:6px;padding:12px 0}.LeaderboardsItem.Unjoined{opacity:0;margin:0;border:0 none;animation:slideOut 1s forwards}.LeaderboardsItem.Hollow{border-color:transparent}.LeaderboardsItem:first-child{margin-top:0}.LeaderboardsItemContainer{padding-top:16px}.ShowInfo{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer .Time{display:flex;justify-content:space-between;font-size:var(--emw--font-size-x-small, 14px);align-items:center;color:var(--emw--color-secondary, rgb(187, 185, 195))}.TimeContainer .Time .Running{width:100%;display:flex;flex-direction:row;justify-content:space-between}.TimeContainer .Time button{font-size:var(--emw--font-size-x-small, 14px);height:20px;padding:0}.TimeContainer .Time button::before{inset:inherit;border:0}.TitleContainer{display:flex;justify-content:space-between;margin:10px 0;padding:0 20px;margin-top:0;gap:10px;font-family:Montserrat}.TitleContainer .GradientRoundedButton{width:120px}.TabsContainer{margin:10px 0;padding:0 20px;margin:0 20px;padding:0;border-bottom:1px solid #575757}.Tabs{display:flex;justify-content:space-between;justify-content:start;font-size:var(--emw--font-size-x-small, 14px);margin-bottom:-1px}.Tabs .Tab{text-transform:capitalize}.Tabs>div{padding:10px;color:rgb(102, 97, 120);cursor:pointer}.Tabs>div.active{color:var(--emw--color-typography, #FFF);border-bottom:2px solid var(--emw--color-typography, #FFF)}.Title{font-size:var(--emw--font-size-large, 20px);font-weight:700;line-height:19.5px;text-align:left;word-break:break-word}.TC{margin-top:14px}.TC a{color:rgb(89, 209, 255)}.Criterias{margin:14px 0}.Criterias span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.ResultPrize{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left}.ResultPrize span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.ContentScrollContainer{flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;height:auto}.ContentScrollContainer.expanded{height:100%;max-height:100%}.PrizesContainer{flex:1;display:flex;flex-direction:column;min-height:100px;max-height:calc(100% - 20px)}.PrizesHeader,.DetailHeader{align-items:center;display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));padding:5px 0;z-index:1;margin:0 20px}.PrizesHeader img,.DetailHeader img{width:14px}.PrizesHeader .PrizesText,.DetailHeader .PrizesText{margin-left:3px;font-weight:600}.DetailHeader{margin:0}.Prizes{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left;flex:1;overflow-y:auto;margin-bottom:0;padding-right:10px;max-height:300px;margin-top:10px}.Prizes::-webkit-scrollbar{width:4px}.Prizes::-webkit-scrollbar-track{background:rgba(0, 0, 0, 0.1);border-radius:2px}.Prizes::-webkit-scrollbar-thumb{background:var(--emw--color-primary, rgb(255, 214, 47));border-radius:2px}.Prizes .Prize{margin:8px 0}.Prizes .Prize .Rank{margin-right:5px}.Prizes .Prize .PrizeText{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer section.Info{margin-bottom:12px;text-align:left;padding-left:15px}.InfoContainer section.Info .Criterias,.InfoContainer section.Info .Description{padding-left:15px;margin-top:10px}*{box-sizing:border-box}.Leaderboards{width:100%;text-align:center;border-collapse:collapse}.Leaderboards td{opacity:0.6;padding:12px 5px}.Leaderboards td:first-child{padding-left:20px}.Leaderboards td:last-child{padding-right:20px}.Leaderboards .LeaderboardName{color:var(--emw--color-typography, #FFF);opacity:1}.Leaderboards tr.isMe{background:rgba(0, 0, 0, 0.2);border:1px solid var(--emw--color-primary, rgb(255, 214, 47))}.Leaderboards tr.isMe .LeaderboardRank span{padding:0px 3px;opacity:1;border:1px solid var(--emw--color-primary, rgb(255, 214, 47));border-radius:11px}.Leaderboards tr.isMe td{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:var(--emw--font-weight-semibold, 500)}.LeaderboardLabels{position:absolute;top:-6px;right:18px;display:flex;gap:4px}.LeaderboardLabel{width:30px;height:15px;background:var(--emw--engagement-suite-gradient-golden, linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%));border-radius:var(--emw--border-radius-x-small, 2px);display:inline-flex;padding:0 2px;align-items:center;justify-content:center}.LeaderboardLabel span{display:inline-block;text-transform:uppercase;font-size:var(--emw--font-size-3x-small, 7px);line-height:7px;font-weight:var(--emw--font-weight-bold, 700);font-family:var(--emw--font-family-secondary, \"Montserrat\", sans-serif);color:var(--emw--color-background, #1E1638)}.LeaderboardUnstarted{margin:10px 0;padding:0 20px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-medium, 16px)}.Games{margin:10px 0;padding:0 20px;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:start;margin:20px auto}.Games .Game{cursor:pointer;width:25%;display:flex;padding:5px}.Games .Game.Current{cursor:auto;filter:grayscale(10)}.Games .Game:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.Games .Game.Current:hover{cursor:auto;filter:grayscale(10)}.Games img{width:100%;height:fit-content}dialog.tip{position:absolute;align-items:start;padding:120px 90px;line-height:20px;font-size:var(--emw--font-size-small, 16px)}dialog.tip>div{margin:0px}dialog{display:none;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);justify-content:center;align-items:center;z-index:1;color:var(--emw--color-typography, #FFFFFF);transition:all 0.2s;transition-timing-function:ease-in-out}dialog>div{margin:32px;border-radius:8px;background:var(--emw--color-background, hsl(254, 44%, 15%));border:1px solid hsl(254, 20%, 28%);align-items:center}dialog div.Hollow .WrapperBar{padding:12px}dialog div.Hollow .WrapperBar .WrapperBarRight img{width:20px}dialog div.Hollow .Tip{line-height:20px;padding:0px 60px 32px;font-size:var(--emw--font-size-small, 16px)}dialog[open]{display:flex}.DialogContentUnjoin{padding:32px;padding-top:10px;display:flex;gap:10px;max-width:510px;flex-direction:column}.DialogContentUnjoinTitle{font-family:Montserrat;font-size:var(--emw--font-size-large, 20px);font-weight:600;line-height:24.38px;text-align:center}.DialogContentUnjoinDescription{color:var(--emw--color-secondary, rgb(187, 185, 195));margin-bottom:30px}.Tip{padding:32px;padding-top:0px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-small, 14px)}.Tip.Error{color:var(--emw--color-error, var(--emw--color-red, #ed0909));font-weight:var(--emw--font-weight-normal, 500)}.PageConfirmContainer{text-align:center;width:80%;min-width:450px;max-width:510px;margin:0 auto}.PageConfirm{padding:0px 32px 60px;display:flex;flex-direction:column;gap:20px}.PageConfirm .Title{font-size:var(--emw--font-size-large, 26px);text-align:center}.PageConfirm .Description{color:var(--emw--color-secondary, rgb(187, 185, 195));font-weight:400}.PageConfirm .Description span{color:var(--emw--color-typography, #FFF);font-weight:600}.PageConfirm.Gift{padding:22px 32px 60px}.PageConfirm.Gift .Title{font-size:var(--emw--font-size-large, 30px)}.PageConfirm.Gift .Description{font-size:var(--emw--font-size-medium, 20px)}.PageConfirm.Gift .PageConfirmButtonsGroup .GradientRoundedButton{font-size:var(--emw--font-size-medium, 20px);padding:12px;height:auto}.PageConfirm.Gift .PageConfirmButtonsGroup .GradientRoundedButton.GradientRounded{border-radius:20px}.PageConfirmButtonsGroup{width:150px;margin:20px auto;display:flex;flex-direction:column;gap:10px}.GradientRounded{display:block;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:rgb(30, 22, 56);position:relative;border-radius:16px}.GradientRounded.Hollow{background:rgb(30, 22, 56);color:#FFFFFF}.GradientRounded.Hollow::before{content:\"\";position:absolute;inset:0;border-radius:15px;border:1px solid transparent;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.GradientRoundedButton{border:none;padding:7px;height:32px;width:100%;font-size:var(--emw--font-size-medium, 16px);font-weight:700;line-height:17.07px;text-align:center;transition:0.5s opacity;cursor:pointer}.GradientRoundedButton.Pending{cursor:not-allowed;opacity:0.3}.GradientRoundedButton.Hollow span{background:-webkit-linear-gradient(98.25deg, rgb(255, 148, 0) 22.48%, rgb(254, 247, 70) 131.02%, rgb(255, 226, 74) 131.9%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.LeaderboardsItem.GradientRounded.Hollow::before{border-radius:7px}.WrapperUtil .GradientRounded .WrapperBar{margin-bottom:0;padding-bottom:0}.WrapperUtil .GradientRounded .Tip{padding-top:0;padding-bottom:40px}.LeaderboardsItem .LeaderboardsItemContainer .TitleContainer{margin-bottom:16px}@keyframes slideOut{0%{display:block;opacity:1;height:max-content}50%{display:block;opacity:0.5}80%{display:none;opacity:0}100%{display:none;opacity:0;height:0}}";
621
777
  const CasinoEngagementSuiteTournamentStyle0 = casinoEngagementSuiteTournamentCss;
622
778
 
623
779
  const CasinoEngagementSuiteTournament = class {
@@ -688,7 +844,14 @@ const CasinoEngagementSuiteTournament = class {
688
844
  }, 300);
689
845
  }
690
846
  };
691
- this.openDialog(exports.DialogType.gift, this.gifts[0], onClose);
847
+ if (this.show) {
848
+ this.openDialog(exports.DialogType.gift, this.gifts[0], onClose);
849
+ }
850
+ else {
851
+ //Show 'Win' Label on the left ui-bar,
852
+ this.labels.push('win');
853
+ messageSender.UpdateSuiteBarState(this.labels);
854
+ }
692
855
  }
693
856
  else {
694
857
  this.removeLabel('win');
@@ -705,9 +868,6 @@ const CasinoEngagementSuiteTournament = class {
705
868
  this.showTooltip = false;
706
869
  }
707
870
  componentDidLoad() {
708
- this.pageElement.addEventListener('scroll', (event) => {
709
- this.containerScrollTop = event.target.scrollTop + event.target.clientHeight / 2 - 250;
710
- });
711
871
  messageSender.UpdateTournamentsPageIsReady();
712
872
  }
713
873
  renderTooltip() {
@@ -728,7 +888,7 @@ const CasinoEngagementSuiteTournament = class {
728
888
  }
729
889
  componentDidRender() {
730
890
  if (this.page === exports.LeaderboardPage.item && this.tab === Tab.leaderboard) {
731
- if (this.currentPlyerRank > this.maxPlyerRank && !this.scrolledToMyLine) {
891
+ if (this.currentPlayerRank > this.defaultPageSize && !this.scrolledToMyLine) {
732
892
  this.scrollToMyRankLine();
733
893
  }
734
894
  }
@@ -746,6 +906,11 @@ const CasinoEngagementSuiteTournament = class {
746
906
  if (tournament.isActionJoinPending)
747
907
  return;
748
908
  tournament.isActionJoinPending = true;
909
+ //Disable the unjoin button when action in detail page
910
+ if (this.page === exports.LeaderboardPage.item) {
911
+ this.tournamentItem.isActionJoinPending = true;
912
+ this.tournamentItem = Object.assign({}, this.tournamentItem);
913
+ }
749
914
  this.pendingChangeEvent.emit(tournament);
750
915
  try {
751
916
  if (tournament.isPlayerAcknowledged) {
@@ -767,7 +932,7 @@ const CasinoEngagementSuiteTournament = class {
767
932
  if (!this.tournamentItem) {
768
933
  messageSender.UpdateTournamentsItemReq(metaData.tournament);
769
934
  }
770
- if (isTournamentClosed(this.tournamentItem)) {
935
+ if (isTournamentEnded(this.tournamentItem)) {
771
936
  messageSender.UpdateLeaderboardsReq(this.tournamentItem);
772
937
  }
773
938
  this.tab = Tab.info;
@@ -789,21 +954,27 @@ const CasinoEngagementSuiteTournament = class {
789
954
  };
790
955
  return (index.h(index.Host, null, index.h("general-styling-wrapper", { clientStylingUrl: this.clientStylingUrl, clientStyling: this.clientStyling,
791
956
  // @ts-ignore
792
- targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl }), index.h("div", { class: `Wrapper ${this.device}` }, index.h("div", { class: classnames('WrapperContent', { faded: this.dialog.isOpen }) }, renderCloseBar({
957
+ targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl }), index.h("div", { class: `Wrapper ${this.device} ${this.orientation}` }, index.h("div", { class: classnames('WrapperContent', { faded: this.dialog.isOpen, page: this.page }) }, this.page && renderCloseBar({
793
958
  left: this.page === exports.LeaderboardPage.list
794
- ? index.h("span", { onClick: this.openDialog.bind(this, exports.DialogType.tip) }, iconQuestion)
795
- : index.h("span", { onClick: this.setPage.bind(this, exports.LeaderboardPage.list) }, iconBack),
959
+ ? index.h("span", { class: 'EngagementSuiteIcon', onClick: this.openDialog.bind(this, exports.DialogType.tip) }, iconQuestion)
960
+ : index.h("span", { class: 'EngagementSuiteIcon', onClick: this.setPage.bind(this, exports.LeaderboardPage.list) }, iconBack),
796
961
  middle: this.locale.Leaderboards,
797
- right: index.h("span", { onClick: () => this.close.emit() }, iconClose)
962
+ right: index.h("span", { class: 'EngagementSuiteIcon', onClick: () => this.close.emit() }, iconClose)
798
963
  }), index.h("div", { class: `Leaderboards ${this.page} ${this.page === 'list' ? 'Active' : 'Hidden'}`, ref: el => this.pageElement = el }, this.renders.page.list()), this.page === exports.LeaderboardPage.item &&
799
- index.h("div", { class: `Leaderboards ${this.page} ${this.page === 'item' ? 'Active' : 'Hidden'} `, ref: el => this.detailElement = el }, this.renders.page.item())), index.h("div", { class: "WrapperUtil" }, index.h("dialog", { open: this.dialog.isOpen, style: { 'top': this.getContainerScrollTop() + 'px' } }, index.h("div", { class: "Hollow" }, renderCloseBar({
800
- right: index.h("span", { onClick: () => this.closeDialog() }, iconClose)
964
+ index.h("div", { class: `Leaderboards ${this.page} ${this.page === 'item' ? 'Active' : 'Hidden'} `, ref: el => this.detailElement = el }, this.renders.page.item())), index.h("div", { class: "WrapperUtil" }, index.h("dialog", { class: `${this.dialog.type}`, open: this.dialog.isOpen }, index.h("div", { class: `Hollow ${this.dialog.type === 'gift' ? 'GradientRounded' : ''}` }, renderCloseBar({
965
+ right: index.h("span", { class: 'EngagementSuiteIcon', onClick: () => this.closeDialog() }, iconClose)
801
966
  }), this.dialog.isOpen && renderDialogContent()))))));
802
967
  }
803
968
  openDialog(type, data = undefined, onClose = undefined) {
804
969
  this.dialog = Object.assign(Object.assign({}, this.dialog), { isOpen: true, onClose,
805
970
  type,
806
971
  data });
972
+ if (type === exports.DialogType.error || type === exports.DialogType.tip) {
973
+ const timerId = setTimeout(() => {
974
+ this.dialog = Object.assign(Object.assign({}, this.dialog), { isOpen: false });
975
+ clearInterval(timerId);
976
+ }, this.tipsHideDelay);
977
+ }
807
978
  }
808
979
  closeDialog() {
809
980
  var _a;
@@ -815,10 +986,14 @@ const CasinoEngagementSuiteTournament = class {
815
986
  this.close = index.createEvent(this, "close", 7);
816
987
  this.tournamentTimer = index.createEvent(this, "tournamentTimer", 7);
817
988
  this.pendingChangeEvent = index.createEvent(this, "pendingChangeEvent", 7);
989
+ /**
990
+ * Use to move the new acknowleged tournament to top
991
+ */
992
+ this.minOrder = -1;
818
993
  this.gifts = [];
819
994
  this.labels = [];
820
995
  this.showTooltip = false;
821
- this.maxPlyerRank = 30;
996
+ this.defaultPageSize = DEFAULT_PAGE_SIZE;
822
997
  this.scrolledToMyLine = false;
823
998
  this.language = 'en';
824
999
  this.show = false;
@@ -826,7 +1001,9 @@ const CasinoEngagementSuiteTournament = class {
826
1001
  this.clientStylingUrl = '';
827
1002
  this.translationUrl = '';
828
1003
  this.device = 'Mobile';
1004
+ this.orientation = 'Landscape';
829
1005
  this.leaderboardsInit = undefined;
1006
+ this.tipsHideDelay = 3 * 1000;
830
1007
  this.tab = Tab.info;
831
1008
  this.locale = TRANSLATIONS;
832
1009
  this.tournamentItem = undefined;
@@ -866,5 +1043,5 @@ exports.classnames = classnames;
866
1043
  exports.formatDate = formatDate;
867
1044
  exports.getProgress = getProgress;
868
1045
  exports.getTimeDifference = getTimeDifference;
869
- exports.isTournamentClosed = isTournamentClosed;
1046
+ exports.isTournamentEnded = isTournamentEnded;
870
1047
  exports.renderGradientRoundedButton = renderGradientRoundedButton;