{"version":3,"file":"js/loginLottery.058a6eae84a19e932fcb.js","mappings":"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","sources":["webpack://netzkern.am/./src/Feature/LotteryNavigation/code/Scripts/loginLottery.js"],"sourcesContent":["import(/* webpackChunkName: \"loginLottery\" */ 'Feature/LotteryNavigation/code/Styles/loginLottery.scss');\r\nimport(/* webpackChunkName: \"progressbar\" */ 'Feature/Common/code/Styles/progressbar.scss');\r\n\r\nawait import(/* webpackChunkName: \"formValidation\" */ 'Feature/Forms/code/Scripts/formValidation');\r\n\r\nclass UserStatus {\r\n constructor(url = '#', count = 0) {\r\n this.count = count;\r\n this.url = url;\r\n this.userLoggedIn = false;\r\n }\r\n\r\n static setup(params) {\r\n let userStatus = new UserStatus();\r\n userStatus.count = params.count;\r\n userStatus.url = params.url;\r\n userStatus.userLoggedIn = params.userLoggedIn;\r\n return userStatus;\r\n }\r\n}\r\n\r\nclass LoginLottery {\r\n constructor() {\r\n this.EmptyCartGKUrl = 'https://www.aktion-mensch.de/lotterie/geschaeftskunden/bestellung';\r\n this.FilledCartGKUrl = 'https://www.aktion-mensch.de/lotterie/geschaeftskunden/bestellung/uberprufen-und-bestellen';\r\n this.IsLoginGKApiUrl = window.origin + '/lotterie/api/gk/login/status';\r\n this.LogoutGKApiUrl = window.origin + '/lotterie/geschaeftskunden/logout';\r\n\r\n this.BackupCartUrl = 'https://www.aktion-mensch.de/lotterie/los-bestellung/warenkorb';\r\n this.IsLoginApiUrl = window.origin + '/lotterie/checkout/api/shoppingcart/info';\r\n this.LogoutApiUrl = window.origin + '/lotterie/api/AktionMensch.Shop.Web.Shared.Renderings.Account.Login.Controllers.LoginController%2c%20AktionMensch.Shop.Web/LogoutApi';\r\n\r\n this.CartSSOUrl = window.origin + '/lotterie/shoppingcart';\r\n this.IsLoginSSOApiUrl = window.origin + '/api/sitecore/LoginApi/IsUserLogin';\r\n this.LoginSSOApiUrl = window.origin + '/api/sitecore/LoginApi/Login';\r\n this.LogoutSSOApiUrl = window.origin + '/api/sitecore/LoginApi/Logout';\r\n\r\n this.OrderSSOApiUrl = window.origin + '/api/lotterie/checkout/order/get';\r\n this.LoginCondition = window.origin + '/api/lotterie/checkout/customer/getlogincondition';\r\n this.DeleteOrder = window.origin + '/api/lotterie/checkout/order/deleteorder';\r\n\r\n this.Root = '.lottery-header'\r\n this.LinkWrapperClass = '.metanav_lottery_loginlayer-link';\r\n this.PopupClass = '.metanav_lottery_loginlayer-link--popup';\r\n this.PopupButtonClass = '.metanav_lottery_loginlayer-link__collapse';\r\n\r\n this.LoginFormId = '#login-form';\r\n this.LogoutButtonId = '#logout-button';\r\n this.LoginButtonId = '#login-button';\r\n this.UsernameFieldId = '#username-field';\r\n this.PasswordFieldId = '#password-field';\r\n\r\n this.ErrorClass = '.field-error';\r\n this.LinkBadgeClass = '.metanav_lottery_loginlayer-badge';\r\n this.LinkClass = '.metanav_lottery_loginlayer-link--user';\r\n this.CartClass = '.metanav_lottery_loginlayer-badge--cart';\r\n this.CartGKClass = '.metanav_lottery_loginlayer-badge--cart-gk';\r\n this.LoginWrapperClass = '.metanav_lottery_loginlayer-link_login-wrapper';\r\n this.LogoutWrapperClass = '.metanav_lottery_loginlayer-link_logout-wrapper';\r\n this.SecureLinkListTileClass = '.lottery-servicehub__tile--secure';\r\n\r\n this.freeLotWarningModal = 'header .free-lot-warning-modal';\r\n this.LoginWarningModel = 'header .login-warning-modal';\r\n this.CustomModal = 'header .log-out-custom-modal';\r\n this.CloseButtonModal = 'header .log-out-close-button';\r\n this.PrimaryButtonModal = 'header .log-out-modal-button.primary';\r\n this.SecondaryButtonModal = 'header .log-out-modal-button.secondary';\r\n\r\n this.GKContainer = '.metanav_lottery_loginlayer-link__is-gk';\r\n this.PKContainer = '.metanav_lottery_loginlayer-link__is-pk';\r\n\r\n this.IsReloadPending = false;\r\n\r\n if (document.querySelector(this.Root).className.indexOf('--in-editor') != -1) {\r\n return;\r\n }\r\n\r\n this.$body = $('body');\r\n this.$dropdowntoggle = $(this.PopupButtonClass);\r\n this.$loginForm = $(this.LoginFormId);\r\n this.$loginBtn = $(this.LoginButtonId);\r\n this.$logoutBtn = $(this.LogoutButtonId);\r\n this.$customModal = $(this.CustomModal);\r\n this.$usernameField = $(this.UsernameFieldId);\r\n this.$passwordField = $(this.PasswordFieldId);\r\n this.$closeBtnModal = $(this.CloseButtonModal);\r\n this.$primaryBtnModal = $(this.PrimaryButtonModal);\r\n this.$secondaryBtnModal = $(this.SecondaryButtonModal);\r\n this.$LoginWarningModel = $(this.LoginWarningModel);\r\n this.$FreeLotWarningModal = $(this.freeLotWarningModal);\r\n\r\n this.userStatus = new UserStatus();\r\n\r\n if (window.isGK) {\r\n // Is GK\r\n document.querySelectorAll(this.GKContainer).forEach(x => x.style.display = \"auto\");\r\n document.querySelectorAll(this.PKContainer).forEach(x => x.style.display = \"none\");\r\n // 0: User is logged out, shopping cart has items\r\n // 1: User is logged in, shopping cart is empty\r\n // 2: User is logged in, shopping cart has items\r\n if (this.isMockLoginGK() == '0') {\r\n this.userStatus.count = 2;\r\n this.userStatus.url = this.FilledCartGKUrl;\r\n this.userStatus.userLoggedIn = false;\r\n\r\n this.loginMenuSetup(this.userStatus);\r\n }\r\n else if (this.isMockLoginGK() == '1') {\r\n this.userStatus.count = 0;\r\n this.userStatus.url = this.EmptyCartGKUrl;\r\n this.userStatus.userLoggedIn = true;\r\n\r\n this.loginMenuSetup(this.userStatus);\r\n }\r\n else if (this.isMockLoginGK() == '2') {\r\n this.userStatus.count = 2;\r\n this.userStatus.url = this.FilledCartGKUrl;\r\n this.userStatus.userLoggedIn = true;\r\n\r\n this.loginMenuSetup(this.userStatus);\r\n } else {\r\n this.getLoginUserStatus();\r\n }\r\n } else {\r\n // Is PK\r\n document.querySelectorAll(this.GKContainer).forEach(x => x.style.display = \"none\");\r\n document.querySelectorAll(this.PKContainer).forEach(x => x.style.display = \"auto\");\r\n\r\n if (this.isMockLogin() == '1') {\r\n this.userStatus.count = 2;\r\n this.userStatus.url = this.BackupCartUrl;\r\n this.userStatus.userLoggedIn = true;\r\n\r\n this.loginMenuSetup(this.userStatus);\r\n } else if (this.isMockLogin() == '0') {\r\n this.userStatus.count = 2;\r\n this.userStatus.url = this.BackupCartUrl;\r\n this.userStatus.userLoggedIn = false;\r\n\r\n this.loginMenuSetup(this.userStatus);\r\n } else {\r\n this.getLoginUserStatus();\r\n }\r\n }\r\n\r\n this.clickOutsideInit();\r\n }\r\n\r\n clickOutsideInit() {\r\n var self = this;\r\n this.$passwordField.on(\"keydown\", function (event) {\r\n if (event.keyCode == 13) {\r\n self.$loginBtn.trigger('click');\r\n }\r\n });\r\n\r\n this.$FreeLotWarningModal.find('button').on('click', function (event) {\r\n self.modal(false, self.$FreeLotWarningModal);\r\n if (self.IsReloadPending) {\r\n self.IsReloadPending = false;\r\n window.location.reload();\r\n }\r\n });\r\n\r\n this.$LoginWarningModel.find('button').on('click', function (event) {\r\n self.modal(false, self.$LoginWarningModel);\r\n });\r\n\r\n this.$LoginWarningModel.find('button.secondary').on('click', async function (event) {\r\n const isDelete = await self.deleteOrder();\r\n setTimeout(function () {\r\n $(self.LinkClass).find(self.PopupButtonClass).trigger('click');\r\n\r\n self.$loginBtn.prop(\"disabled\", true);\r\n const username = self.$usernameField.val()?.trim();\r\n const password = self.$passwordField.val()?.trim();\r\n self.loginUser(username, password);\r\n }, 0);\r\n });\r\n\r\n this.$dropdowntoggle.on('click', function (event) {\r\n const parent = $(event.target).closest(self.LinkWrapperClass);\r\n if (parent.hasClass('active')) {\r\n parent.removeClass('active');\r\n parent.children(self.PopupClass).removeClass('show');\r\n } else {\r\n const parents = $(self.LinkWrapperClass + '.active');\r\n parents.each(function () {\r\n $(this).removeClass('active');\r\n $(this).children(self.PopupClass).removeClass('show');\r\n });\r\n\r\n if (!parent.hasClass('no-popup')) {\r\n parent.addClass('active');\r\n parent.children(self.PopupClass).addClass('show');\r\n }\r\n }\r\n });\r\n\r\n this.$body.on('mouseup', function (event) {\r\n const isClickInside = event.target.closest(self.LinkWrapperClass);\r\n if (isClickInside == null) {\r\n const parent = $(self.LinkWrapperClass + '.active');\r\n parent.removeClass('active');\r\n parent.children(self.LoginPopupId).removeClass('show');\r\n }\r\n });\r\n\r\n const loginValidator = self.$loginForm.validate({\r\n rules: {\r\n 'username-field': {\r\n required: true,\r\n email: true\r\n },\r\n 'password-field': {\r\n required: true,\r\n }\r\n },\r\n validClass: \"success\",\r\n errorClass: \"error\",\r\n errorPlacement: function (error, element) {\r\n const html = `\r\n <div class=\"field-error\">\r\n <div class=\"message\">\r\n <span class=\"info-icon icon icons-information-bold\"></span>\r\n <p>\r\n <span class=\"field-validation-error\">\r\n ${error.html()}\r\n </span>\r\n </p>\r\n </div>\r\n </div>`;\r\n\r\n element.closest('.form-field').find('.field-error').remove();\r\n $(html).insertAfter(element);\r\n }\r\n });\r\n\r\n this.$loginForm.find('input').on('blur', (e) => {\r\n $(e.target).valid();\r\n });\r\n\r\n this.$loginForm.on('submit', async (e) => {\r\n e.preventDefault();\r\n\r\n if (self.$loginBtn.prop(\"disabled\")) {\r\n return;\r\n }\r\n\r\n const username = self.$usernameField.val()?.trim();\r\n const password = self.$passwordField.val()?.trim();\r\n\r\n if (this.$loginForm.valid() && !self.isEmptyOrNull(username) && !self.isEmptyOrNull(password) && self.validateEmail(username.trim())) {\r\n self.hideError(self);\r\n\r\n const isLoginPossible = await self.canLogin();\r\n if (!isLoginPossible) {\r\n self.modal(true, self.$LoginWarningModel);\r\n return;\r\n }\r\n\r\n self.$loginBtn.prop(\"disabled\", true);\r\n self.loginUser(username, password);\r\n } else {\r\n self.$loginBtn.prop(\"disabled\", false);\r\n self.showError(self);\r\n }\r\n });\r\n\r\n this.$logoutBtn.on('click', function () {\r\n // show pop-up confirmation if there are items in the cart\r\n if (self.userStatus.count > 0) {\r\n self.modal(true);\r\n return;\r\n }\r\n self.logout();\r\n });\r\n\r\n this.$closeBtnModal.on('click', function () {\r\n self.modal();\r\n });\r\n\r\n this.$primaryBtnModal.on('click', function () {\r\n self.modal();\r\n });\r\n\r\n this.$secondaryBtnModal.on('click', function (e) {\r\n e.preventDefault();\r\n self.logout();\r\n });\r\n };\r\n\r\n loginUser(username, password) {\r\n var self = this;\r\n // Construct the data object\r\n var formData = {\r\n LoginName: username,\r\n Password: password\r\n };\r\n\r\n fetch(self.LoginSSOApiUrl, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(formData)\r\n })\r\n .then(response => response.json())\r\n .then(response => {\r\n self.$loginBtn.prop(\"disabled\", false);\r\n // Handle success response\r\n if (response.Success || response.ErrorMessage == 'Coupon Code Limit exceeded') {\r\n const parent = $(self.$loginBtn).closest(self.LinkWrapperClass);\r\n if (parent.hasClass('active')) {\r\n parent.removeClass('active');\r\n parent.children(self.PopupClass).removeClass('show');\r\n }\r\n self.userStatus.url = window.isEnableSSO ? this.CartSSOUrl : this.BackupCartUrl;\r\n self.userStatus.count = 0;\r\n self.userStatus.userLoggedIn = true;\r\n\r\n self.loginMenuSetup(self.userStatus);\r\n\r\n if (response.ErrorMessage == 'Coupon Code Limit exceeded') {\r\n self.IsReloadPending = true;\r\n self.modal(true, loginLottery.$FreeLotWarningModal);\r\n } else {\r\n // force reset to get updated state of all components\r\n window.location.reload();\r\n }\r\n } else {\r\n // Display error message\r\n self.showError(self);\r\n }\r\n })\r\n .catch(error => {\r\n self.$loginBtn.prop(\"disabled\", false);\r\n // Handle error\r\n self.showError(self);\r\n });\r\n }\r\n\r\n async canLogin() {\r\n try {\r\n const response = await fetch(this.LoginCondition, { method: 'GET' });\r\n const result = await response.json();\r\n if (result.status.code === 'OK') {\r\n return result.data.IsSafeLoginPossible;\r\n }\r\n } catch (error) {\r\n console.error('Error during login check:', error);\r\n }\r\n return true;\r\n }\r\n\r\n async deleteOrder() {\r\n try {\r\n const response = await fetch(this.DeleteOrder, { method: 'DELETE' });\r\n const result = await response.json();\r\n if (result.status.code === 'OK') {\r\n return true;\r\n }\r\n } catch (error) {\r\n console.error('Error during login check:', error);\r\n }\r\n return false;\r\n }\r\n\r\n logout() {\r\n const url = window.isEnableSSO ? this.LogoutSSOApiUrl : this.LogoutApiUrl;\r\n\r\n fetch(url, { method: 'POST' })\r\n .then((response) => response.json())\r\n .then((result) => {\r\n if (window.isEnableSSO && result) {\r\n location.reload(true);\r\n } else {\r\n if (result.status.code === 'OK') {\r\n location.reload(true);\r\n }\r\n }\r\n });\r\n };\r\n\r\n hide(selector) {\r\n selector = document.querySelector(selector);\r\n\r\n if (selector) {\r\n selector.classList.add('d-none');\r\n }\r\n };\r\n\r\n show(selector) {\r\n selector = document.querySelector(selector);\r\n\r\n if (selector) {\r\n selector.classList.remove('d-none');\r\n }\r\n };\r\n\r\n hideError(parent) {\r\n document.querySelector(parent.LogoutWrapperClass + ' .submit.field-error').style.display = 'none';\r\n };\r\n\r\n showError(parent) {\r\n document.querySelector(parent.LogoutWrapperClass + ' .submit.field-error').style.display = 'block';\r\n };\r\n\r\n validateEmail(email) {\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@']+(\\.[^<>()\\[\\]\\\\.,;:\\s@']+)*)|('.+'))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n isEmptyOrNull(str) {\r\n return (!str || str.trim().length === 0);\r\n }\r\n\r\n isMockLogin() {\r\n const url = new URL(window.location.href);\r\n const searchParams = url.searchParams;\r\n return searchParams.get('mocklogin');\r\n };\r\n\r\n isMockLoginGK() {\r\n const url = new URL(window.location.href);\r\n const searchParams = url.searchParams;\r\n return searchParams.get('mockloginGK');\r\n };\r\n\r\n loginMenuSetup(params) {\r\n const loginLayer = document.querySelector(this.LinkClass);\r\n\r\n // used later on during sign out\r\n this.userStatus = params;\r\n\r\n if (params.userLoggedIn) {\r\n if (window.isGK && !window.showSigninGKPopup) {\r\n loginLayer.classList.add('no-popup');\r\n } else if (!window.isGK && !window.showSigninPopup) {\r\n loginLayer.classList.add('no-popup');\r\n } else {\r\n loginLayer.classList.remove('no-popup');\r\n }\r\n\r\n this.show(`${this.LinkClass} ${this.LinkBadgeClass}`);\r\n this.show(this.LoginWrapperClass);\r\n this.hide(this.LogoutWrapperClass);\r\n\r\n this.show(this.SecureLinkListTileClass);\r\n } else {\r\n if (window.isGK && !window.showGKPopup) {\r\n loginLayer.classList.add('no-popup');\r\n this.hide(this.LinkClass);\r\n } else if (!window.isGK && !window.showPopup) {\r\n loginLayer.classList.add('no-popup');\r\n this.hide(this.LinkClass);\r\n } else {\r\n loginLayer.classList.remove('no-popup');\r\n this.show(this.LinkClass);\r\n }\r\n\r\n this.hide(`${this.LinkClass} ${this.LinkBadgeClass}`);\r\n this.hide(this.LoginWrapperClass);\r\n this.show(this.LogoutWrapperClass);\r\n\r\n this.hide(this.SecureLinkListTileClass);\r\n }\r\n\r\n const cart = document.querySelector(this.CartClass);\r\n cart.nextElementSibling.setAttribute('href', params.url);\r\n\r\n if (params.count > 0) {\r\n cart.innerHTML = params.count;\r\n if (window.isGK) {\r\n this.show(this.CartGKClass);\r\n } else {\r\n this.show(this.CartClass);\r\n }\r\n }\r\n };\r\n\r\n async getLoginUserStatus() {\r\n try {\r\n let response;\r\n if (window.isEnableSSO) {\r\n response = await fetch(this.IsLoginSSOApiUrl);\r\n } else {\r\n if (window.isGK) {\r\n response = await fetch(this.IsLoginGKApiUrl);\r\n } else {\r\n const jwtToken = localStorage.getItem('_checkout-token');\r\n response = await fetch(this.IsLoginApiUrl, {\r\n headers: {\r\n 'X-Authorization-Token': `Bearer ${jwtToken}`\r\n },\r\n });\r\n }\r\n }\r\n const result = await response.json();\r\n let userStatus = new UserStatus();\r\n if (window.isEnableSSO) {\r\n const orders = await this.getOrderStatus();\r\n userStatus.count = orders;\r\n userStatus.url = this.CartSSOUrl;\r\n userStatus.userLoggedIn = result;\r\n }\r\n else if (window.isGK) {\r\n userStatus.count = result?.data?.hasItemsInCart ? 1 : 0;\r\n userStatus.url = result?.data?.url ? result?.data?.url : this.EmptyCartGKUrl;\r\n userStatus.userLoggedIn = result?.data?.isLoggedIn;\r\n }\r\n else {\r\n userStatus = UserStatus.setup(result.data);\r\n }\r\n this.loginMenuSetup(userStatus);\r\n } catch (error) {\r\n console.error('Error fetching user status:', error);\r\n this.loginMenuSetup(new UserStatus(window.isEnableSSO ? this.CartSSOUrl : (window.isGK ? this.EmptyCartGKUrl : this.BackupCartUrl)));\r\n }\r\n }\r\n\r\n async getOrderStatus() {\r\n try {\r\n const response = await fetch(this.OrderSSOApiUrl);\r\n const result = await response.json();\r\n return await this.getCartItemsNumber(result);\r\n } catch (error) {\r\n return 0;\r\n }\r\n };\r\n\r\n async getCartItemsNumber(orderResponse) {\r\n const items = orderResponse?.data?.cartItems;\r\n const itemsWithoutFreeLots = items?.filter(x => !x.isFreeLot).length ?? 0;\r\n return itemsWithoutFreeLots;\r\n }\r\n\r\n modal(show, modal = null, successCallback = null, closeCallback = null) {\r\n const customModal = modal ?? this.$customModal;\r\n\r\n // Store the close callback for reuse if it's provided\r\n if (closeCallback) {\r\n this._closeCallback = closeCallback;\r\n }\r\n\r\n if (show) {\r\n this.$body.addClass('modal-open');\r\n customModal.addClass('show');\r\n customModal.addClass('d-block');\r\n customModal.addClass('progressbar__modal-bg');\r\n\r\n if (successCallback) {\r\n successCallback();\r\n }\r\n } else {\r\n this.$body.removeClass('modal-open');\r\n customModal.removeClass('show');\r\n customModal.removeClass('d-block');\r\n customModal.removeClass('progressbar__modal-bg');\r\n\r\n // Use the stored close callback if it exists\r\n if (this._closeCallback) {\r\n this._closeCallback();\r\n // Optionally, clear the stored callback after use\r\n this._closeCallback = null;\r\n }\r\n }\r\n };\r\n\r\n updateCart(total) {\r\n if (typeof total === 'number') {\r\n document.querySelector(this.CartClass).innerText = total;\r\n }\r\n };\r\n}\r\n\r\nconst loginLottery = new LoginLottery();\r\n\r\nwindow.remainingOrders = (total) => loginLottery.updateCart(total);\r\nwindow.freeLotWarningModal = (status = true, successCallback = null, closeCallback = null) => loginLottery.modal(status, loginLottery.$FreeLotWarningModal, successCallback, closeCallback);"],"names":["UserStatus","constructor","url","count","this","userLoggedIn","static","params","userStatus","LoginLottery","EmptyCartGKUrl","FilledCartGKUrl","IsLoginGKApiUrl","window","origin","LogoutGKApiUrl","BackupCartUrl","IsLoginApiUrl","LogoutApiUrl","CartSSOUrl","IsLoginSSOApiUrl","LoginSSOApiUrl","LogoutSSOApiUrl","OrderSSOApiUrl","LoginCondition","DeleteOrder","Root","LinkWrapperClass","PopupClass","PopupButtonClass","LoginFormId","LogoutButtonId","LoginButtonId","UsernameFieldId","PasswordFieldId","ErrorClass","LinkBadgeClass","LinkClass","CartClass","CartGKClass","LoginWrapperClass","LogoutWrapperClass","SecureLinkListTileClass","freeLotWarningModal","LoginWarningModel","CustomModal","CloseButtonModal","PrimaryButtonModal","SecondaryButtonModal","GKContainer","PKContainer","IsReloadPending","document","querySelector","className","indexOf","$body","$","$dropdowntoggle","$loginForm","$loginBtn","$logoutBtn","$customModal","$usernameField","$passwordField","$closeBtnModal","$primaryBtnModal","$secondaryBtnModal","$LoginWarningModel","$FreeLotWarningModal","isGK","querySelectorAll","forEach","x","style","display","isMockLoginGK","loginMenuSetup","getLoginUserStatus","isMockLogin","clickOutsideInit","self","on","event","keyCode","trigger","find","modal","location","reload","async","deleteOrder","setTimeout","prop","username","val","trim","password","loginUser","parent","target","closest","hasClass","removeClass","children","each","addClass","LoginPopupId","validate","rules","required","email","validClass","errorClass","errorPlacement","error","element","html","remove","insertAfter","e","valid","preventDefault","isEmptyOrNull","validateEmail","hideError","canLogin","showError","logout","formData","LoginName","Password","fetch","method","headers","body","JSON","stringify","then","response","json","Success","ErrorMessage","isEnableSSO","loginLottery","catch","result","status","code","data","IsSafeLoginPossible","console","hide","selector","classList","add","show","test","String","toLowerCase","str","length","URL","href","searchParams","get","loginLayer","showSigninGKPopup","showSigninPopup","showGKPopup","showPopup","cart","nextElementSibling","setAttribute","innerHTML","jwtToken","localStorage","getItem","orders","getOrderStatus","hasItemsInCart","isLoggedIn","setup","getCartItemsNumber","orderResponse","items","cartItems","filter","isFreeLot","successCallback","closeCallback","customModal","_closeCallback","updateCart","total","innerText","remainingOrders"],"sourceRoot":""}