{"version":3,"file":"game-tournament-info-view-model.js","sources":["../../../../src/site/js/directives/countdown.js","../../../../src/site/vue/components/game-tournament-info/tourn-list-in-game.vue","../../../../src/site/vue/components/assets/coming-soon-promobox-tag.png?url","../../../../src/site/vue/components/assets/coming-soon-promobox-tag.webp?url","../../../../src/site/js/components/promo-countdown-view-model.js","../../../../src/site/vue/components/promo-countdown-timestamp-template.vue","../../../../src/site/vue/components/promo-countdown-view.vue","../../../../src/site/js/components/game-tournament-info-view-model.js"],"sourcesContent":["import model from \"@js/model.js\";\r\n\r\nexport default (function(){\r\n\tvar instances = new Map();\r\n\r\n\tfunction beforeMount(element, binding, vNode){\r\n\t\tupdated(element, binding, vNode);\r\n\t}\r\n\r\n\tfunction updated(element, binding){\r\n\t\tif(JSON.stringify(binding.value) === JSON.stringify(binding.oldValue)) return;\r\n\r\n\t\tvar $element = $(element);\r\n\t\tvar params = binding.value;\r\n\t\tvar timestamps = params.timestamps;\r\n\t\tif((typeof timestamps !== 'object' || timestamps === null) || !Array.isArray(timestamps)) return;\r\n\r\n\t\tif(!Array.isArray(timestamps)) timestamps = [timestamps];\r\n\r\n\t\tfor(var i = 0, len = timestamps.length; i < len; i++){\r\n\t\t\tvar item = timestamps[i];\r\n\t\t\tif(!item.timestamp){\r\n\t\t\t\ttimestamps.splice(i, 1);\r\n\t\t\t\ti--;\r\n\t\t\t\tlen--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar instance = instances.get(element);\r\n\t\tif(instance) clearInterval(instance.int);\r\n\r\n\t\tvar int = setInterval(() => updateClock($element, timestamps, params, binding), 1000);\r\n\t\tupdateClock($element, timestamps, params, binding);\r\n\r\n\t\tinstances.set(element, {\r\n\t\t\tint: int,\r\n\t\t\ttimestamps: timestamps,\r\n\t\t});\r\n\t};\r\n\r\n\tfunction updateClock($element, timestamps, params, binding){\r\n\t\tfor(var i = 0, j = timestamps.length; i < j; i++){\r\n\t\t\tvar tsParams = timestamps[i];\r\n\t\t\tvar tsLeft = new Date(tsParams.timestamp) - Date.now();\r\n\t\t\tif(tsLeft <= 0){\r\n\t\t\t\tvar hasEndedFunct = typeof tsParams.onEnded === 'function';\r\n\t\t\t\tif(hasEndedFunct) tsParams.onEnded.call(binding.instance, $element.get(0));\r\n\r\n\t\t\t\tif(i == j - 1){\r\n\r\n\t\t\t\t\t/*\r\n\t\t\t\t\t\tIf the onEnded function was defined for the last \r\n\t\t\t\t\t\tcountdown, then the element / instance should be \r\n\t\t\t\t\t\tdisposed on that callback. \r\n\t\t\t\t\t\t*/\r\n\t\t\t\t\tif(!hasEndedFunct){\r\n\t\t\t\t\t\tif(typeof params.endedLabel === 'string'){\r\n\t\t\t\t\t\t\tsetTime(\r\n\t\t\t\t\t\t\t\t$element, \r\n\t\t\t\t\t\t\t\tparams.daysInTextFormat, \r\n\t\t\t\t\t\t\t\tmodel.getStr(params.endedLabel), \r\n\t\t\t\t\t\t\t\t0, \r\n\t\t\t\t\t\t\t\t0, \r\n\t\t\t\t\t\t\t\t0, \r\n\t\t\t\t\t\t\t\t0);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse $element.text(null);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tunmounted($element.get(0));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tvar tsDiff = new Date(tsLeft);\r\n\t\t\tvar days = Math.floor(tsDiff / (1000 * 60 * 60 * 24));\r\n\t\t\tvar hours = Math.floor((tsDiff / (1000 * 60 * 60)) % 24);\r\n\t\t\tvar minutes = Math.floor((tsDiff / (1000 * 60)) % 60);\r\n\t\t\tvar seconds = Math.floor((tsDiff / 1000) % 60);\r\n\t\t\tsetTime(\r\n\t\t\t\t$element, \r\n\t\t\t\tparams.daysInTextFormat, \r\n\t\t\t\tmodel.getStr(tsParams.prefixTextLabel), \r\n\t\t\t\tdays, \r\n\t\t\t\thours, \r\n\t\t\t\tminutes, \r\n\t\t\t\tseconds);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setTime($element, daysInTextFormat, prefixText, days, hours, minutes, seconds){\r\n\t\t$element.find('.prefix').text(prefixText);\r\n\t\t$element.find('.days').text(daysInTextFormat ? (days > 0 ? (days + ' day' + (days != 1 ? 's' : '') + ' ') : '') : addZero(days));\r\n\t\t$element.find('.hours').text(addZero(hours));\r\n\t\t$element.find('.mins').text(addZero(minutes));\r\n\t\t$element.find('.secs').text(addZero(seconds));\r\n\t}\r\n\r\n\tfunction addZero(value){\r\n\t\tif(Number(value) < 10)\r\n\t\t\treturn value = '0' + value;\r\n\t\treturn value;\r\n\t}\r\n\r\n\tfunction unmounted(element){\r\n\t\tvar instance = instances.get(element);\r\n\t\tif(!instance)\r\n\t\t\treturn;\r\n\r\n\t\tclearInterval(instance.int);\r\n\t\tinstances.delete(element);\r\n\t}\r\n\r\n\treturn {beforeMount, updated, unmounted};\r\n\r\n}());","\r\n\r\n","export default \"__VITE_ASSET__DMGiNTBV__\"","export default \"__VITE_ASSET__s$TNKtqu__\"","export default {\n\tprops: {\n\t\tdetails: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tonStartDateEnded: Function,\n\t},\n};","\r\n\r\n","\r\n\r\n","import model from \"@js/model.js\";\nimport controller from \"@js/controller/controller.js\";\nimport { UsernameLabel } from \"@lang/register.js\";\n\nexport const propsConfig = {\n\tinGame: Boolean,\n\ttournamentIds: {\n\t\ttype: Array,\n\t\tdefault: () => ([]),\n\t},\n\tminimized: {\n\t\ttype: Object,\n\t\tdefault: () => ({value: false}),\n\t},\n\tlbAttached: {\n\t\ttype: Object,\n\t\tdefault: () => ({value: false}),\n\t},\n\tui: {\n\t\ttype: Object,\n\t\tdefault: () => ({}),\n\t},\n}\n\nexport default {\n\tprops: propsConfig,\n\tdata(){\n\t\treturn {\n\t\t\ttours: [],\n\t\t\tfirstDisplayedTour: null,\n\t\t\tuiTriggerDisplayed: false,\n\t\t\tpinned: false,\n\t\t\tshowcased: false,\n\t\t\thasAnyTour: false,\n\t\t\tshowcaseTimeout: null,\n\t\t\texistingData: {},\n\t\t\tuiConfig: {\n\t\t\t\tlb: true,\n\t\t\t\ttime: true,\n\t\t\t\tmaxDims: true,\n\t\t\t},\n\t\t};\n\t},\n\tcreated(){\n\t\tmodel.pushLang({UsernameLabel});\n\t\tthis.uiConfig = $.extend(this.uiConfig, this.ui);\n\t\t\n\t\tthis._updateExistingData();\n\t\t\n\t\tif(!this.existingData.leaderboard) controller.executeAPI('leaderboard', true, true);\n\t\tif(!this.existingData.tournaments) controller.executeAPI('tournaments', true, true);\n\t\t\n\t\tthis.uiTriggerDisplayed = controller.isGameInTournDisplayed(this.tournamentIds);\n\t\t\n\t\tsetTimeout(() => this.onTriggerDisplayed(), 0);\n\t},\n\tmethods: {\n\t\tonGameStarted(){\n\t\t\tcontroller.sendTournamentRequest(() => this.onTriggerDisplayed());\n\t\t},\n\t\tonTriggerDisplayed(e){\n\t\t\tif(model.isUI('FUND') || model.isMobile){\n\t\t\t\tthis.pinned = false;\n\t\t\t\treturn;\n\t\t\t};\n\t\t\t\n\t\t\tif(!this.inGame) return;\n\t\t\t\n\t\t\tif(e && e.eventName !== 'GameStarted') this.uiTriggerDisplayed = controller.isGameInTournDisplayed(this.tournamentIds);\n\t\t\t\n\t\t\tthis._updateExistingData();\n\t\t\t\n\t\t\tclearTimeout(this.showcaseTimeout);\n\t\t\t\n\t\t\tif(this.uiTriggerDisplayed){\n\t\t\t\tthis.showcased = true;\n\t\t\t\tthis.showcaseTimeout = setTimeout(() => this.showcased = false, 5000);\n\t\t\t}\n\t\t\telse this.showcased = false;\n\t\t},\n\t\t_searchForInstance(arr, id){\n\t\t\tif(!arr || !Array.isArray(arr)) return false;\n\t\t\tvar res = arr.find(item => item.TournamentId == id);\n\t\t\treturn res ? (res.Players ? res.Players : res) : null;\n\t\t},\n\t\t_updateExistingData(){\n\t\t\t['leaderboard', 'tournaments'].forEach(strProp => {\n\t\t\t\tthis.existingData[strProp] = controller.getExtAPI(strProp).data;\n\t\t\t});\n\t\t\t\n\t\t\tvar ids = this.tournamentIds;\n\t\t\t\n\t\t\tvar displayedToursAmount = 0;\n\t\t\t\n\t\t\tids.forEach(targetId => {\n\t\t\t\tvar lbData = this._searchForInstance(this.existingData.leaderboard, targetId) || [];\n\t\t\t\tvar tourData = this._searchForInstance(this.existingData.tournaments, targetId) || {};\n\t\t\t\t\n\t\t\t\tvar tour = this.tours.find(t => t.id == targetId);\n\t\t\t\t\n\t\t\t\tif(lbData || tourData){\n\t\t\t\t\tvar tournStarted = true;\n\t\t\t\t\tif(this.inGame) tournStarted = controller.tournamentStarted(targetId);\n\t\t\t\t\t\n\t\t\t\t\tvar displayed = controller.isGameInTournDisplayed(targetId) && tournStarted;\n\t\t\t\t\tdisplayed && displayedToursAmount++;\n\t\t\t\t\tif(!tour){\n\t\t\t\t\t\tthis.tours.push({\n\t\t\t\t\t\t\tid: targetId,\n\t\t\t\t\t\t\tlist: lbData,\n\t\t\t\t\t\t\tdetails: tourData,\n\t\t\t\t\t\t\tdisplayed: displayed,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\ttour.list = lbData;\n\t\t\t\t\t\ttour.details = tourData;\n\t\t\t\t\t\ttour.displayed = displayed;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tfor(let i = this.tours.length - 1; i >= 0; i--){\n\t\t\t\tif(!ids.includes(this.tours[i].id)) this.tours.splice(i, 1);\n\t\t\t}\n\t\t\t\n\t\t\tthis.firstDisplayedTour = this.tours.find(tour => tour.displayed);\n\t\t\tthis.hasAnyTour = this.tours.length > 0 && displayedToursAmount > 0;\n\t\t\tthis.uiTriggerDisplayed = controller.isGameInTournDisplayed(ids);\n\t\t},\n\t\tonToggleGameTournPin(e){\n\t\t\tthis.pinned = e.bool;\n\t\t},\n\t\tonAttachClick(){\n\t\t\tthis.lbAttached.value = !this.lbAttached.value;\n\t\t},\n\t\tonPinBtnClick(){\n\t\t\tthis.pinned = !this.pinned;\n\t\t},\n\t\tonLBUpdated(){\n\t\t\tthis._updateExistingData();\n\t\t},\n\t\tonDetailsUpdated(){\n\t\t\tthis._updateExistingData();\n\t\t},\n\t},\n};"],"names":["countdown","instances","beforeMount","element","binding","vNode","updated","$element","params","timestamps","i","len","item","instance","int","updateClock","j","tsParams","tsLeft","hasEndedFunct","setTime","model","unmounted","tsDiff","days","hours","minutes","seconds","daysInTextFormat","prefixText","addZero","value","TourStartsInOffers","TourEndsInOffers","TourStartsIn","TourEndsIn","__vite_glob_0_0","__vite_glob_0_1","vm$1","PromoCD_Days","PromoCD_Hours","PromoCD_Mins","PromoCD_Secs","comingSoonPromoBoxTag","TourEndedOffers","_sfc_main","vm","promoCountdownTimestampTemplate","_hoisted_1","_createElementBlock","_normalizeClass","_ctx","_withDirectives","_openBlock","_createVNode","_component_promo_countdown_timestamp_template","elem","_hoisted_2","$data","propsConfig","UsernameLabel","controller","e","arr","id","res","strProp","ids","displayedToursAmount","targetId","lbData","tourData","tour","t","tournStarted","displayed"],"mappings":"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"}