"use strict";(self.webpackChunkbongacams=self.webpackChunkbongacams||[]).push([[700],{62778:function(t,e,i){i.d(e,{i:function(){return M}});var s=i(80554),n=i(39222),o=i(8119),r=i(76294),a=i(44198),u=i(27267),h=i(73437),c=function(){function t(t,e,i){void 0===e&&(e=h.noop),void 0===i&&(i=!1),this._timer=null,this._isCompleted=!1,this._startTime=0,this._timeRan=0,this._callback=e,this._duration=t,i&&this.start()}return t.prototype.getTimeDiff=function(t,e){return void 0===e&&(e=Date.now()),e-t},Object.defineProperty(t.prototype,"isCompleted",{get:function(){return this._isCompleted},enumerable:!1,configurable:!0}),t.prototype.cancel=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},t.prototype.pause=function(){!this.isCompleted&&this._startTime&&(this.cancel(),this._timeRan=this.getTimeDiff(this._startTime))},t.prototype.resume=function(){var t=this;if(!this.isCompleted&&!this._timer&&this._startTime){var e=this._duration-this._timeRan;this._startTime=Date.now(),this._duration=e,this._timer=setTimeout(function(){t.end()},e)}},t.prototype.end=function(){(this._startTime||this._timer)&&(this.cancel(),this._isCompleted=!0,this._callback())},t.prototype.start=function(t,e){var i=this;void 0===t&&(t=this._duration),void 0===e&&(e=this._callback),this.cancel(),this._isCompleted=!1,this._startTime=Date.now(),this._callback=e,this._duration=t,this._timeRan=0,this._timer=setTimeout(function(){i.end()},this._duration)},t}(),l=i(24899),p=i(37828),m=i(1169),_=i(41669),M=function(){function t(t){var e=t.minMessagesAmount,i=t.time;this.messagesCounter=0,this.isActive=!1,this.unsubscribes=[],this.timer=new c(i),this.MIN_MESSAGES_AMOUNT=e;var s=p.A.getState().gamesSettings.tipMenu;this.prevTipMenuState={enabled:s.enabled,promo_interval:s.promo_interval},this.attachHandlers()}return t.prototype.stop=function(){(0,a._b)("TipMenuController TipMenuMessageController ".concat(this.CONTROLLER_ID," stop")).log(),this.timer.cancel(),this.isActive=!1,this.messagesCounter=0},t.prototype.attachHandlers=function(){var t=this;this.unsubscribes.push((0,l.c5)(s.R.CHAT_INCOMING_TEXT_MESSAGE,function(e){var i=e.detail;t.onMemberMessage(i)}));var e=function(){t.onRoomClose()},i=function(){t.onPerformerStatusChange()},n=_("#bChat");n.on("onRoomClose",e),n.on("onPerformerStatusChange",i),this.unsubscribes.push(function(){return n.off("onRoomClose",e)}),this.unsubscribes.push(function(){return n.off("onPerformerStatusChange",i)});var o=function(e){var i=e.gamesSettings.tipMenu;if(i){var s={enabled:null==i?void 0:i.enabled,promo_interval:null==i?void 0:i.promo_interval};(0,m.b)(s,t.prevTipMenuState)||(t.prevTipMenuState=s,t.onTipMenuSettingsChange())}else t.stop()};p.A.subscribe(o),this.unsubscribes.push(function(){return p.A.unsubscribe(o)})},t.prototype.detachHandlers=function(){(0,a._b)("TipMenuController TipMenuMessageController ".concat(this.CONTROLLER_ID," detachHandlers")).log(),this.unsubscribes.forEach(function(t){t()}),this.unsubscribes=[]},t.prototype.tryAddMessage=function(t){((0,a._b)("TipMenuController TipMenuMessageController ".concat(this.CONTROLLER_ID," tryAddMessage")).warn("isForce -> ",t,this),this.isActive)&&((this.timer.isCompleted&&this.messagesCounter>=this.MIN_MESSAGES_AMOUNT||t)&&(this.messagesCounter=0,this.addMessage()))},t.prototype.onRoomClose=function(){this.detachHandlers(),this.stop()},t.prototype.onMemberMessage=function(t){!(chat.performerData.username===t.username)&&this.isActive&&(this.messagesCounter+=1,this.messagesCounter>=this.MIN_MESSAGES_AMOUNT&&this.tryAddMessage())},t.prototype.onPerformerStatusChange=function(){var t=chat.performerStatus;this.isActive&&(t===n.Q.STATUS_PUBLIC?(this.tryAddMessage(),this.timer.isCompleted||this.timer.resume()):this.timer.pause())},t.prototype.onTipMenuSettingsChange=function(){this.handleAvailableConditionChange()},t.prototype.handleAvailableConditionChange=function(){(0,a._b)("TipMenuController TipMenuMessageController ".concat(this.CONTROLLER_ID," availableConditionChange")).log("isHidden -> ",this.isMessageAvailable),this.isMessageAvailable?this.isActive||this.reset():this.isActive&&this.stop()},t.prototype.reset=function(t){void 0===t&&(t=!1),window.chat?(this.stop(),this.start(t)):(0,a._b)("TipMenuController TipMenuMessageController ".concat(this.CONTROLLER_ID," reset")).error("Global chat is not defined")},t.prototype.init=function(){this.reset(!0)},t.DEBUG=u.o.isDev&&!!r.DT.getItem(o.Z.DEV_CHAT_TIP_MENU_NOTICE),t}()},20377:function(t,e,i){i.r(e),i.d(e,{TipMenuServiceMessageController:function(){return h}});var s=i(15215),n=i(99525),o=i(40172),r=i(44198),a=i(37828),u=i(62778),h=function(t){function e(){var e=t.call(this,{minMessagesAmount:i.MIN_MESSAGES_AMOUNT,time:i.INITIAL_TIMER_AMOUNT})||this;return e.CONTROLLER_ID="tip_menu_message",e._isModerator=void 0,e}var i;return(0,s.C6)(e,t),Object.defineProperty(e.prototype,"isModerator",{get:function(){var t;return null!==(t=this._isModerator)&&void 0!==t?t:this._isModerator=(0,o.ey)(n.A.getState())},enumerable:!1,configurable:!0}),e.prototype.getTipMenuPromoInterval=function(t){var e;return void 0===t&&(t=!1),t?this.isModerator?i.INITIAL_MODERATORS_TIMER_AMOUNT:i.INITIAL_TIMER_AMOUNT:u.i.DEBUG?1e4:6e4*(null!==(e=a.A.getState().gamesSettings.tipMenu.promo_interval)&&void 0!==e?e:0)},Object.defineProperty(e,"instance",{get:function(){return this._instance||(this._instance=new this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isMessageAvailable",{get:function(){return Boolean(this.prevTipMenuState.enabled&&this.prevTipMenuState.promo_interval)},enumerable:!1,configurable:!0}),e.prototype.addMessage=function(){var t=this;chat.showTipMenu(),this.timer.start(this.getTipMenuPromoInterval(),function(){t.tryAddMessage()})},e.prototype.start=function(t){var e=this;void 0===t&&(t=!1),(0,r._b)("TipMenuController TipMenuServiceMessage start").log();var i=a.A.getState().gamesSettings.tipMenu;this.unsubscribes.length||this.attachHandlers(),i.enabled&&i.promo_interval&&(this.isActive=!0,this.timer.start(this.getTipMenuPromoInterval(t),function(){e.tryAddMessage(t)}))},i=e,e.MIN_MESSAGES_AMOUNT=i.DEBUG?3:6,e.INITIAL_TIMER_AMOUNT=i.DEBUG?5e3:3e4,e.INITIAL_MODERATORS_TIMER_AMOUNT=3e3,e}(u.i)}}]);