{"version":3,"file":"js/app.97121181.js","mappings":"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","sources":["webpack://vue-3-authentication-jwt/./src/App.vue","webpack://vue-3-authentication-jwt/./src/modules/init_fontawesome.js","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_Header.vue","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_Header.vue?c822","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_NoHeader.vue","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_NoHeader.vue?2b33","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_Footer.vue","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_Footer.vue?f0a2","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_MobileSnackbar.vue","webpack://vue-3-authentication-jwt/./src/components/layouts/Layout_MobileSnackbar.vue?db2a","webpack://vue-3-authentication-jwt/./src/App.vue?7ccd","webpack://vue-3-authentication-jwt/./src/modules/init_utilities.js","webpack://vue-3-authentication-jwt/./src/store/auth.module.js","webpack://vue-3-authentication-jwt/./src/store/index.js","webpack://vue-3-authentication-jwt/./src/router.js","webpack://vue-3-authentication-jwt/./src/firebase-config.js","webpack://vue-3-authentication-jwt/./src/modules/init_firebase.js","webpack://vue-3-authentication-jwt/./src/modules/init_facebook.js","webpack://vue-3-authentication-jwt/./src/main.js","webpack://vue-3-authentication-jwt/webpack/bootstrap","webpack://vue-3-authentication-jwt/webpack/runtime/chunk loaded","webpack://vue-3-authentication-jwt/webpack/runtime/compat get default export","webpack://vue-3-authentication-jwt/webpack/runtime/define property getters","webpack://vue-3-authentication-jwt/webpack/runtime/ensure chunk","webpack://vue-3-authentication-jwt/webpack/runtime/get javascript chunk filename","webpack://vue-3-authentication-jwt/webpack/runtime/get mini-css chunk filename","webpack://vue-3-authentication-jwt/webpack/runtime/global","webpack://vue-3-authentication-jwt/webpack/runtime/hasOwnProperty shorthand","webpack://vue-3-authentication-jwt/webpack/runtime/load script","webpack://vue-3-authentication-jwt/webpack/runtime/make namespace object","webpack://vue-3-authentication-jwt/webpack/runtime/publicPath","webpack://vue-3-authentication-jwt/webpack/runtime/css loading","webpack://vue-3-authentication-jwt/webpack/runtime/jsonp chunk loading","webpack://vue-3-authentication-jwt/webpack/startup"],"sourcesContent":["\n\n\n \n\n\n\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n","export default function init_fontawesome() {\r\n if(document.querySelector(\"script[src='https://kit.fontawesome.com/bbd8419e97.js']\")){ return; }\r\n else {\r\n const scriptA = document.createElement('script');\r\n scriptA.async = true;\r\n scriptA.defer = true;\r\n scriptA.src=\"https://kit.fontawesome.com/bbd8419e97.js\";\r\n document.querySelector('head').appendChild(scriptA);\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Help\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n My Dashboard\r\n \r\n shops\r\n \r\n Messages\r\n \r\n my account\r\n \r\n \r\n help\r\n \r\n Logout\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n SHOPS\r\n \r\n \r\n find shops\r\n submit shops\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n MY ACCOUNT\r\n \r\n \r\n General Profile\r\n Extended Profile\r\n Payment Info\r\n Tax Info\r\n Photo ID\r\n Change Password\r\n Email Preferences\r\n Notification Preferences\r\n Deactivate Account\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n HELP\r\n \r\n \r\n HelpDesk\r\n FAQ\r\n Shopper Guide from QA\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n help\r\n \r\n HelpDesk\r\n \r\n \r\n \r\n\r\n \r\n \r\n My Dashboard\r\n \r\n shops\r\n \r\n find shops\r\n submit shops\r\n \r\n \r\n Messages\r\n \r\n my account\r\n \r\n General Profile\r\n Extended Profile\r\n Payment Info\r\n Tax Info\r\n Photo ID\r\n Change Password\r\n Email Preferences\r\n Notification Preferences\r\n Deactivate Account\r\n \r\n \r\n \r\n help\r\n \r\n HelpDesk\r\n FAQ\r\n Shopper Guide from QA\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n {{ this.$store.getters.getPageTitle }}\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_Header.vue?vue&type=template&id=0ca052bd\"\nimport script from \"./Layout_Header.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_Header.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n {{ this.$store.getters.getPageTitle }}\r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_NoHeader.vue?vue&type=template&id=e8156f5a\"\nimport script from \"./Layout_NoHeader.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_NoHeader.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./Layout_Footer.vue?vue&type=template&id=6ab52c9d\"\nconst script = {}\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n × \r\n \r\n ShopperHub app now available!\r\n \r\n \r\n \r\n \r\n \r\n \r\n ShopperHub app now available!\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_MobileSnackbar.vue?vue&type=template&id=6754802b\"\nimport script from \"./Layout_MobileSnackbar.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_MobileSnackbar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=e497e2a0\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=e497e2a0&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import store from '@/store/index';\r\nimport router from '@/router';\r\nimport swal from 'sweetalert2'\r\nimport DOMPurify from \"dompurify\";\r\n\r\n//const API_URL = 'http://localhost/shopperhubapi/';\r\n//const API_URL = 'https://stn-l003.second-to-none.com/shopperhubapi/';\r\n//const API_URL = \"https://shopperhubapi-stage.cxgroup.com/\";\r\nconst API_URL = \"https://shopperhubapi.cxgroup.com/\";\r\n\r\n//const BASE_URL = 'http://localhost/';\r\n//const BASE_URL = \"https://stn-l003.second-to-none.com/\";\r\n//const BASE_URL = \"https://shopperhub-stage.cxgroup.com/\";\r\nconst BASE_URL = \"https://shopperhub.cxgroup.com/\";\r\n\r\n//const IMAGECONVERTER_URL = \"http://localhost/STN.ShopperHubImageConverter/FileUploadHandler.ashx?upload=start\";\r\n//const IMAGECONVERTER_URL = \"https://shopperhubimageconverter-stage.second-to-none.com/FileUploadHandler.ashx?upload=start\";\r\nconst IMAGECONVERTER_URL = \"https://shopperhubimageconverter.second-to-none.com/FileUploadHandler.ashx?upload=start\";\r\n \r\n//const AVUPLOADHANDLER_URL = \"http://localhost/STN.ShopperHubAVUploader/FileUploadHandler.ashx?upload=start\";\r\n//const AVUPLOADHANDLER_URL = \"https://shopperhubavuploader-stage.second-to-none.com/FileUploadHandler.ashx?upload=start\";\r\nconst AVUPLOADHANDLER_URL = \"https://shopperhubavuploader.second-to-none.com/FileUploadHandler.ashx?upload=start\";\r\n\r\n\r\n// global namespace using the 'revealing' pattern /////////////////////////////////////////////////\r\nexport const STN = (() => {\r\n const _desktopVersion = '24.9.4.2';\r\n const _debug = false;\r\n let _minutesBetweenCommonDataRefresh = 5;\r\n let _minutesBetweenShopDataRefresh = 5; // new 2024_01_03 task 1274814682\r\n let _retries = 3;\r\n let _timeout = 5000;\r\n let _lastRedirectModel = {};\r\n let _actionMessageTimerID;\r\n \r\n\r\n const actionMessageShow = (p_sMessage, p_iTimeoutSeconds) => {\r\n try {\r\n clearTimeout(_actionMessageTimerID);\r\n } catch(e) {\r\n // nada\r\n }\r\n\r\n if (isBlank(p_iTimeoutSeconds)) {\r\n p_iTimeoutSeconds = 3;\r\n }\r\n\r\n let l_oMsgDiv = document.getElementById('resultMsgDiv');\r\n\r\n if (l_oMsgDiv) {\r\n l_oMsgDiv.innerHTML = p_sMessage;\r\n l_oMsgDiv.style.visibility = 'visible';\r\n l_oMsgDiv.style.display = 'inline-block';\r\n\r\n try {\r\n window.scroll(getPosition(l_oMsgDiv));\r\n } catch(e) {\r\n // nada\r\n }\r\n\r\n hideProgress();\r\n\r\n _actionMessageTimerID = setTimeout(() => {\r\n l_oMsgDiv.style.visibility = 'hidden';\r\n l_oMsgDiv.style.display = 'none';\r\n }, (p_iTimeoutSeconds * 1000));\r\n }\r\n else {\r\n hideProgress();\r\n }\r\n };\r\n\r\n\r\n const actionMessageShowOAuth = (p_sID, p_sMessage, p_iTimeoutSeconds) => {\r\n try {\r\n clearTimeout(_actionMessageTimerID);\r\n } catch(e) {\r\n // nada\r\n }\r\n\r\n if (isBlank(p_iTimeoutSeconds)) {\r\n p_iTimeoutSeconds = 5;\r\n }\r\n\r\n let l_oMsgDiv = document.getElementById(p_sID);\r\n\r\n if (l_oMsgDiv) {\r\n l_oMsgDiv.innerHTML = p_sMessage;\r\n l_oMsgDiv.style.visibility = 'visible';\r\n l_oMsgDiv.style.display = 'inline-block';\r\n\r\n try {\r\n window.scroll(getPosition(l_oMsgDiv));\r\n } catch(e) {\r\n // nada\r\n }\r\n \r\n hideProgress();\r\n\r\n _actionMessageTimerID = setTimeout(() => {\r\n l_oMsgDiv.style.visibility = 'hidden';\r\n l_oMsgDiv.style.display = 'none';\r\n }, (p_iTimeoutSeconds * 1000));\r\n }\r\n else {\r\n hideProgress();\r\n }\r\n };\r\n\r\n\r\n const actionMessageClear = () => {\r\n try {\r\n clearTimeout(_actionMessageTimerID);\r\n } catch(e) {\r\n // nada\r\n }\r\n\r\n let l_oMsgDiv = document.getElementById('resultMsgDiv');\r\n\r\n if (l_oMsgDiv) {\r\n l_oMsgDiv.innerHTML = \"\";\r\n l_oMsgDiv.style.visibility = 'hidden';\r\n l_oMsgDiv.style.display = 'none';\r\n\r\n hideProgress();\r\n }\r\n else {\r\n hideProgress();\r\n }\r\n };\r\n\r\n\r\n // // method to perform AJAX call with custom header\r\n // const stnFetch = async (p_sCallingPage, p_sCallingFunction, p_sMethod, p_sController, p_oData, p_bGetFirstResultOnly) => {\r\n // showProgress();\r\n\r\n // /*\r\n // NOTE 2022_12_02\r\n // gallery functions NOT working with new fetchapi calls\r\n\r\n // THIS IS WHAT IS CAUSING THE ERROR IN IMAGE UPLOAD/EDIT PAGES:\r\n // l_oImgData = encodeURIComponent(l_oImgData);\r\n\r\n // 2022_12_02\r\n // commented all out in image upload/edit pages\r\n // */\r\n\r\n // let l_sData;\r\n // let l_sDebugInfo; \r\n\r\n // try {\r\n // l_sData = !isBlank(p_oData) ? JSON.stringify(p_oData) : 'blank p_oData';\r\n // l_sDebugInfo = \"p_sCallingPage: \" + p_sCallingPage + \", p_sCallingFunction: \" + p_sCallingFunction + \r\n // \", p_sMethod: \" + p_sMethod + \", p_sController: \" + p_sController +\r\n // \", p_oData: \" + l_sData + \", p_bGetFirstResultOnly: \" + p_bGetFirstResultOnly; \r\n // } catch (diError) {\r\n // l_sDebugInfo = \"error creating debug info: \" + diError;\r\n // }\r\n\r\n // try {\r\n // let l_sURL = API_URL;\r\n\r\n // connectionMessageClear();\r\n // showProgress();\r\n\r\n // let l_oMaintenanceModeRequest = new Request(\r\n // l_sURL + 'GetMaintenanceMode',\r\n // {\r\n // method: \"POST\",\r\n // mode: \"cors\",\r\n // cache: \"no-cache\"\r\n // }\r\n // );\r\n\r\n // let l_oMaintenanceModeResponseModel;\r\n // let l_oMainResponseModel;\r\n\r\n // return await fetch(l_oMaintenanceModeRequest)\r\n // .then(async (t_oMaintenanceModeResponse) => { \r\n // if (t_oMaintenanceModeResponse.ok && (t_oMaintenanceModeResponse.status >= 200 && t_oMaintenanceModeResponse.status < 300)) { \r\n // return await t_oMaintenanceModeResponse.json(); \r\n // }\r\n // else {\r\n // logError(\"init_utilities.js\", 'stnFetch MaintenanceModeResponse error, ' + l_sDebugInfo + ', OK: ' + t_oMaintenanceModeResponse.ok + ', STATUS: ' + t_oMaintenanceModeResponse.status, false, false, '101');\r\n // return null;\r\n // }\r\n // })\r\n // .then(async (l_oMaintenanceModeResult) => {\r\n // l_oMaintenanceModeResponseModel = await responseModel(l_oMaintenanceModeResult);\r\n\r\n // if ((isBlank(l_oMaintenanceModeResult)) || (!isBlank(l_oMaintenanceModeResponseModel) && await l_oMaintenanceModeResponseModel.getStatus() == 'Success')) {\r\n // let l_sStatus;\r\n \r\n // // 2022_12_05 proceed even if l_oMaintenanceModeRequest failed\r\n // if (isBlank(l_oMaintenanceModeResult)) {\r\n // l_sStatus = 'false';\r\n // }\r\n // else {\r\n // l_sStatus = await l_oMaintenanceModeResponseModel.getModel()[0].Status;\r\n // }\r\n \r\n // if (l_sStatus == 'false') {\r\n // connectionMessageClear();\r\n // showProgress();\r\n \r\n // const headers = new Headers();\r\n // headers.append(\r\n // \"Authorization\",\r\n // store.getters.getAuthHeader\r\n // );\r\n // headers.append(\r\n // \"Accept\",\r\n // \"application/json, text/plain, */*\"\r\n // );\r\n // headers.append(\r\n // \"Content-Type\",\r\n // \"application/json\"\r\n // );\r\n \r\n // let l_oMainRequest = new Request(\r\n // l_sURL + p_sController,\r\n // {\r\n // method: \"POST\",\r\n // headers,\r\n // mode: \"cors\",\r\n // cache: \"no-cache\",\r\n // body: (!isBlank(p_oData) ? JSON.stringify(p_oData) : null),\r\n // }\r\n // );\r\n\r\n // // // TESTING\r\n // // if (p_sCallingPage == \"FindShops_Feedback.vue\") {\r\n // // alert(JSON.stringify(p_oData));\r\n // // }\r\n\r\n // return await fetch(l_oMainRequest)\r\n // .then(async (t_oMainResponse) => { \r\n // if (t_oMainResponse.ok && (t_oMainResponse.status >= 200 && t_oMainResponse.status < 300)) { \r\n // return await t_oMainResponse.json(); \r\n // }\r\n // else {\r\n // logError(\"init_utilities.js\", 'stnFetch MainResponse error, ' + l_sDebugInfo + ', OK: ' + t_oMainResponse.ok + ', STATUS: ' + t_oMainResponse.status, false, false, '102');\r\n // return null;\r\n // }\r\n // })\r\n // .then(async (l_oMainResult) => {\r\n // // // TESTING\r\n // // if (p_sCallingPage == \"FindShops_Feedback.vue\") {\r\n // // alert(JSON.stringify(l_oMainResult));\r\n // // }\r\n \r\n // l_oMainResponseModel = await responseModel(l_oMainResult);\r\n\r\n // if (!isBlank(l_oMainResponseModel) && await l_oMainResponseModel.getStatus() == 'Success') {\r\n // if (p_sController == 'GetProfilePhoto') {\r\n // hideProgress();\r\n // return (await l_oMainResponseModel.getModel());\r\n // } else if (await l_oMainResponseModel.getMessage() == 'Unauthorized') {\r\n // hideProgress();\r\n // await store.dispatch('auth/logout');\r\n // router.replace('login');\r\n // } else if (await l_oMainResponseModel.getMessage() == 'THROTTLE') {\r\n // hideProgress();\r\n // actionMessageShow(\"There was a problem with your request, please try again\");\r\n \r\n // let l_oRetModel = {\r\n // Message: \"THROTTLE\"\r\n // }\r\n\r\n // return l_oRetModel; \r\n // } else if (await l_oMainResponseModel.getMessage() != 'OK') { // added 2022/09/22\r\n // hideProgress();\r\n // logError(\"init_utilities.js\", 'stnFetch Message not OK, ' + l_sDebugInfo, false, false, '103');\r\n // } else if (await l_oMainResponseModel.getMessage() == 'OK') {\r\n // hideProgress();\r\n // if (p_bGetFirstResultOnly == true) {\r\n // return (await l_oMainResponseModel.getModel()[0]);\r\n // } else {\r\n // return (await l_oMainResponseModel.getModel());\r\n // }\r\n // }\r\n // } else {\r\n // // response status was not success\r\n // hideProgress();\r\n // // added 2022/09/22 (instead of throw new error, which was never caught)\r\n // let l_sMoreInfoA = (!isBlank(l_oMainResponseModel) ? JSON.stringify(l_oMainResponseModel) : 'blank l_oMainResponseModel');\r\n // logError(\"init_utilities.js\", 'stnFetch MainRequest status not Success, ' + l_sDebugInfo + ' :: ' + l_sMoreInfoA, false, false, '104');\r\n // return null;\r\n // }\r\n // })\r\n // .catch((p_sMRError) => {\r\n // // response status was not success for axios to GetMaintenanceMode\r\n // hideProgress();\r\n // // added 2022/09/22 (instead of throw new error, which was never caught)\r\n // let l_sMoreInfoB = (!isBlank(l_oMainResponseModel) ? JSON.stringify(l_oMainResponseModel) : 'blank l_oMainResponseModel');\r\n // logError(\"init_utilities.js\", 'stnFetch MainRequest fail, ' + p_sMRError + ' :: ' + l_sDebugInfo + ' :: ' + l_sMoreInfoB, false, false, '105');\r\n // return null; \r\n // });\r\n // } else {\r\n // // api in maintenance mode\r\n // hideProgress();\r\n // router.replace('/maintenance');\r\n // }\r\n // } else {\r\n // // response status was not success for axios to GetMaintenanceMode\r\n // hideProgress();\r\n // // added 2022/09/22 (instead of throw new error, which was never caught)\r\n // let l_sMoreInfoC = (!isBlank(l_oMaintenanceModeResponseModel) ? JSON.stringify(l_oMaintenanceModeResponseModel) : 'blank l_oMaintenanceModeResponseModel');\r\n // logError(\"init_utilities.js\", 'stnFetch GetMaintenanceMode status not Success, ' + l_sDebugInfo + ' :: ' + l_sMoreInfoC, false, false, '106');\r\n // return null; \r\n // }\r\n // })\r\n // .catch((p_sMMError) => {\r\n // // response status was not success for axios to GetMaintenanceMode\r\n // hideProgress();\r\n // // added 2022/09/22 (instead of throw new error, which was never caught)\r\n // let l_sMoreInfoD = (!isBlank(l_oMaintenanceModeResponseModel) ? JSON.stringify(l_oMaintenanceModeResponseModel) : 'blank l_oMaintenanceModeResponseModel');\r\n // logError(\"init_utilities.js\", 'stnFetch GetMaintenanceMode fail, ' + p_sMMError + ' :: ' + l_sDebugInfo + ' :: ' + l_sMoreInfoD, false, false, '107');\r\n // return null; \r\n // });\r\n // }\r\n // catch (e) {\r\n // logError(\"init_utilities.js\", 'stnFetch general error, ' + e + ' :: ' + l_sDebugInfo, false, false, '108');\r\n // return null;\r\n // }\r\n // };\r\n\r\n\r\n // // method to perform AJAX call with custom header and improved error handling\r\n // const stnFetch = async (p_sCallingPage, p_sCallingFunction, p_sMethod, p_sController, p_oData, p_bGetFirstResultOnly) => {\r\n // showProgress();\r\n\r\n // let l_sData;\r\n // let l_sDebugInfo;\r\n\r\n // try {\r\n // l_sData = !isBlank(p_oData) ? JSON.stringify(p_oData) : 'blank p_oData';\r\n // l_sDebugInfo = `p_sCallingPage: ${p_sCallingPage}, p_sCallingFunction: ${p_sCallingFunction}, p_sMethod: ${p_sMethod}, p_sController: ${p_sController}, p_oData: ${l_sData}, p_bGetFirstResultOnly: ${p_bGetFirstResultOnly}`;\r\n // } catch (diError) {\r\n // l_sDebugInfo = `error creating debug info: ${diError}`;\r\n // }\r\n\r\n // const l_sURL = API_URL;\r\n // connectionMessageClear();\r\n // showProgress();\r\n\r\n // // Helper function to handle timeout\r\n // const fetchWithTimeout = (request, timeout) => {\r\n // return new Promise((resolve, reject) => {\r\n // const timer = setTimeout(() => {\r\n // reject(new Error('Request timed out'));\r\n // }, timeout);\r\n\r\n // fetch(request)\r\n // .then(response => {\r\n // clearTimeout(timer);\r\n // resolve(response);\r\n // })\r\n // .catch(err => {\r\n // clearTimeout(timer);\r\n // reject(err);\r\n // });\r\n // });\r\n // };\r\n\r\n // // Retry logic with exponential backoff\r\n // const retryFetch = async (request) => {\r\n // for (let i = 0; i < _retries; i++) {\r\n // try {\r\n // return await fetchWithTimeout(request, _timeout);\r\n // } catch (error) {\r\n // if (i < _retries - 1) {\r\n // console.warn(`Retrying request... Attempt ${i + 2}`);\r\n // await new Promise(res => setTimeout(res, 2 ** i * 1000)); // Exponential backoff\r\n // } else {\r\n // //console.error(`Fetch failed after ${_retries} attempts:`, error);\r\n // logError(\"init_utilities.js\", `retryFetch failed, ${error} :: ${l_sDebugInfo}`, false, false, '108');\r\n // throw error;\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n // try {\r\n // let l_oMaintenanceModeRequest = new Request(l_sURL + 'GetMaintenanceMode', {\r\n // method: \"POST\",\r\n // mode: \"cors\",\r\n // cache: \"no-cache\"\r\n // });\r\n\r\n // let l_oMaintenanceModeResponseModel;\r\n // let l_oMainResponseModel;\r\n\r\n // try {\r\n // const t_oMaintenanceModeResponse = await retryFetch(l_oMaintenanceModeRequest);\r\n\r\n // if (t_oMaintenanceModeResponse.ok && t_oMaintenanceModeResponse.status >= 200 && t_oMaintenanceModeResponse.status < 300) {\r\n // const l_oMaintenanceModeResult = await t_oMaintenanceModeResponse.json();\r\n // l_oMaintenanceModeResponseModel = await responseModel(l_oMaintenanceModeResult);\r\n\r\n // if (!l_oMaintenanceModeResult || (l_oMaintenanceModeResponseModel && l_oMaintenanceModeResponseModel.getStatus() === 'Success')) {\r\n // let l_sStatus = l_oMaintenanceModeResult ? l_oMaintenanceModeResponseModel.getModel()[0].Status : 'false';\r\n\r\n // if (l_sStatus === 'false') {\r\n // connectionMessageClear();\r\n // showProgress();\r\n\r\n // const headers = new Headers();\r\n // headers.append(\"Authorization\", store.getters.getAuthHeader);\r\n // headers.append(\"Accept\", \"application/json, text/plain, */*\");\r\n // headers.append(\"Content-Type\", \"application/json\");\r\n\r\n // let l_oMainRequest = new Request(l_sURL + p_sController, {\r\n // method: \"POST\",\r\n // headers,\r\n // mode: \"cors\",\r\n // cache: \"no-cache\",\r\n // body: !isBlank(p_oData) ? JSON.stringify(p_oData) : null,\r\n // });\r\n\r\n // const t_oMainResponse = await retryFetch(l_oMainRequest);\r\n\r\n // if (t_oMainResponse.ok && t_oMainResponse.status >= 200 && t_oMainResponse.status < 300) {\r\n // const l_oMainResult = await t_oMainResponse.json();\r\n // l_oMainResponseModel = await responseModel(l_oMainResult);\r\n\r\n // if (l_oMainResponseModel && l_oMainResponseModel.getStatus() === 'Success') {\r\n // if (p_sController === 'GetProfilePhoto') {\r\n // hideProgress();\r\n // return l_oMainResponseModel.getModel();\r\n // } else if (l_oMainResponseModel.getMessage() === 'Unauthorized') {\r\n // hideProgress();\r\n // await store.dispatch('auth/logout');\r\n // router.replace('login');\r\n // } else if (l_oMainResponseModel.getMessage() === 'THROTTLE') {\r\n // hideProgress();\r\n // actionMessageShow(\"There was a problem with your request, please try again\");\r\n\r\n // return { Message: \"THROTTLE\" };\r\n // } else if (l_oMainResponseModel.getMessage() !== 'OK') {\r\n // hideProgress();\r\n // logError(\"init_utilities.js\", `stnFetch Message not OK, ${l_sDebugInfo}`, false, false, '103');\r\n // } else {\r\n // hideProgress();\r\n // return p_bGetFirstResultOnly ? l_oMainResponseModel.getModel()[0] : l_oMainResponseModel.getModel();\r\n // }\r\n // } else {\r\n // hideProgress();\r\n // logError(\"init_utilities.js\", `stnFetch MainRequest status not Success, ${l_sDebugInfo} :: ${JSON.stringify(l_oMainResponseModel)}`, false, false, '104');\r\n // return null;\r\n // }\r\n // } else {\r\n // logError(\"init_utilities.js\", `stnFetch MainResponse error, ${l_sDebugInfo}, OK: ${t_oMainResponse.ok}, STATUS: ${t_oMainResponse.status}`, false, false, '102');\r\n // return null;\r\n // }\r\n // } else {\r\n // hideProgress();\r\n // router.replace('/maintenance');\r\n // }\r\n // } else {\r\n // hideProgress();\r\n // logError(\"init_utilities.js\", `stnFetch GetMaintenanceMode status not Success, ${l_sDebugInfo} :: ${JSON.stringify(l_oMaintenanceModeResponseModel)}`, false, false, '106');\r\n // return null;\r\n // }\r\n // } else {\r\n // logError(\"init_utilities.js\", `stnFetch MaintenanceModeResponse error, ${l_sDebugInfo}, OK: ${t_oMaintenanceModeResponse.ok}, STATUS: ${t_oMaintenanceModeResponse.status}`, false, false, '101');\r\n // return null;\r\n // }\r\n // } catch (error) {\r\n // hideProgress();\r\n // logError(\"init_utilities.js\", `stnFetch GetMaintenanceMode fail, ${error} :: ${l_sDebugInfo}`, false, false, '107');\r\n // return null;\r\n // }\r\n // } catch (e) {\r\n // logError(\"init_utilities.js\", `stnFetch general error, ${e} :: ${l_sDebugInfo}`, false, false, '108');\r\n // return null;\r\n // }\r\n // };\r\n\r\n\r\n // Constants for status messages\r\n \r\n \r\n const STATUS_OK = 'OK';\r\n const STATUS_UNAUTHORIZED = 'Unauthorized';\r\n const STATUS_THROTTLE = 'THROTTLE';\r\n\r\n // helper function to handle timeout\r\n const fetchWithTimeout = (request, timeout) => {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new Error('Request timed out'));\r\n }, timeout);\r\n\r\n fetch(request)\r\n .then(response => {\r\n clearTimeout(timer);\r\n resolve(response);\r\n })\r\n .catch(err => {\r\n clearTimeout(timer);\r\n reject(err);\r\n });\r\n });\r\n };\r\n\r\n // retry logic with exponential backoff\r\n const retryFetch = async (request, retries, timeout) => {\r\n for (let i = 0; i < retries; i++) {\r\n try {\r\n return await fetchWithTimeout(request, timeout);\r\n } catch (error) {\r\n if (i < retries - 1) {\r\n console.warn(`Retrying request... Attempt ${i + 2}`);\r\n await new Promise(res => setTimeout(res, 2 ** i * 1000)); // exponential backoff\r\n } else {\r\n console.error(`Fetch failed after ${retries} attempts:`, error);\r\n throw error;\r\n }\r\n }\r\n }\r\n };\r\n\r\n\r\n // centralized error handling\r\n const handleError = (message, debugInfo, code, additionalInfo = '') => {\r\n logError(\"init_utilities.js\", `${message}, ${debugInfo} ${additionalInfo}`, false, false, code);\r\n };\r\n\r\n\r\n // method to perform AJAX call with custom header and improved error handling\r\n const stnFetch = async (p_sCallingPage, p_sCallingFunction, p_sMethod, p_sController, p_oData, p_bGetFirstResultOnly, retries = 3, timeout = 5000) => {\r\n showProgress();\r\n\r\n let l_sData;\r\n let l_sDebugInfo;\r\n\r\n try {\r\n l_sData = !isBlank(p_oData) ? JSON.stringify(p_oData) : 'blank p_oData';\r\n l_sDebugInfo = `p_sCallingPage: ${p_sCallingPage}, p_sCallingFunction: ${p_sCallingFunction}, p_sMethod: ${p_sMethod}, p_sController: ${p_sController}, p_oData: ${l_sData}, p_bGetFirstResultOnly: ${p_bGetFirstResultOnly}`;\r\n } catch (diError) {\r\n l_sDebugInfo = `error creating debug info: ${diError}`;\r\n }\r\n\r\n if (!isBlank(p_oData)) {\r\n p_oData = sanitizeObject(p_oData);\r\n }\r\n\r\n const l_sURL = API_URL;\r\n connectionMessageClear();\r\n\r\n try {\r\n const l_oMaintenanceModeRequest = new Request(l_sURL + 'GetMaintenanceMode', {\r\n method: \"POST\",\r\n mode: \"cors\",\r\n cache: \"no-cache\"\r\n });\r\n\r\n const t_oMaintenanceModeResponse = await retryFetch(l_oMaintenanceModeRequest, _retries, _timeout);\r\n if (!t_oMaintenanceModeResponse.ok || t_oMaintenanceModeResponse.status < 200 || t_oMaintenanceModeResponse.status >= 300) {\r\n handleError('stnFetch MaintenanceModeResponse error', l_sDebugInfo, '101', `OK: ${t_oMaintenanceModeResponse.ok}, STATUS: ${t_oMaintenanceModeResponse.status}`);\r\n return null;\r\n }\r\n\r\n const l_oMaintenanceModeResult = await t_oMaintenanceModeResponse.json();\r\n const l_oMaintenanceModeResponseModel = await responseModel(l_oMaintenanceModeResult);\r\n\r\n if (!l_oMaintenanceModeResult || (l_oMaintenanceModeResponseModel && l_oMaintenanceModeResponseModel.getStatus() === 'Success')) {\r\n const l_sStatus = l_oMaintenanceModeResult ? l_oMaintenanceModeResponseModel.getModel()[0].Status : 'false';\r\n\r\n if (l_sStatus === 'false') {\r\n connectionMessageClear();\r\n\r\n const headers = new Headers({\r\n \"Authorization\": store.getters.getAuthHeader,\r\n \"Accept\": \"application/json, text/plain, */*\",\r\n \"Content-Type\": \"application/json\"\r\n });\r\n\r\n const l_oMainRequest = new Request(l_sURL + p_sController, {\r\n method: \"POST\",\r\n headers,\r\n mode: \"cors\",\r\n cache: \"no-cache\",\r\n body: !isBlank(p_oData) ? JSON.stringify(p_oData) : null,\r\n });\r\n\r\n const t_oMainResponse = await retryFetch(l_oMainRequest, _retries, _timeout);\r\n if (!t_oMainResponse.ok || t_oMainResponse.status < 200 || t_oMainResponse.status >= 300) {\r\n handleError('stnFetch MainResponse error', l_sDebugInfo, '102', `OK: ${t_oMainResponse.ok}, STATUS: ${t_oMainResponse.status}`);\r\n return null;\r\n }\r\n\r\n const l_oMainResult = await t_oMainResponse.json();\r\n const l_oMainResponseModel = await responseModel(l_oMainResult);\r\n\r\n if (l_oMainResponseModel && l_oMainResponseModel.getStatus() === 'Success') {\r\n hideProgress();\r\n if (p_sController === 'GetProfilePhoto') {\r\n return l_oMainResponseModel.getModel();\r\n } else if (l_oMainResponseModel.getMessage() === STATUS_UNAUTHORIZED) {\r\n await store.dispatch('auth/logout');\r\n router.replace('login');\r\n } else if (l_oMainResponseModel.getMessage() === STATUS_THROTTLE) {\r\n actionMessageShow(\"There was a problem with your request, please try again\");\r\n return { Message: STATUS_THROTTLE };\r\n } else if (l_oMainResponseModel.getMessage() !== STATUS_OK) {\r\n handleError('stnFetch Message not OK', l_sDebugInfo, '103');\r\n } else {\r\n return p_bGetFirstResultOnly ? l_oMainResponseModel.getModel()[0] : l_oMainResponseModel.getModel();\r\n }\r\n } else {\r\n handleError('stnFetch MainRequest status not Success', l_sDebugInfo, '104', JSON.stringify(l_oMainResponseModel));\r\n return null;\r\n }\r\n } else {\r\n hideProgress();\r\n router.replace('/maintenance');\r\n }\r\n } else {\r\n handleError('stnFetch GetMaintenanceMode status not Success', l_sDebugInfo, '106', JSON.stringify(l_oMaintenanceModeResponseModel));\r\n return null;\r\n }\r\n } catch (error) {\r\n hideProgress();\r\n handleError('stnFetch GetMaintenanceMode fail', l_sDebugInfo, '107', error.toString());\r\n return null;\r\n } finally {\r\n hideProgress();\r\n }\r\n };\r\n\r\n\r\n\r\n const checkPasswordPolicy = async (p_sPassword) => {\r\n return ((/[a-zA-Z]/).test(p_sPassword)\r\n && (/[0-9]/).test(p_sPassword)\r\n && p_sPassword.length >= 7);\r\n };\r\n\r\n\r\n const connectionMessageShow = () => {\r\n let l_oSnackbar = document.getElementById('snackbarConnectionError');\r\n\r\n if (l_oSnackbar) {\r\n //l_oSnackbar.style.visibility = 'visible';\r\n\r\n hideProgress();\r\n\r\n setTimeout(() => {\r\n //l_oSnackbar.style.visibility = 'hidden';\r\n }, (2000));\r\n }\r\n else {\r\n hideProgress();\r\n }\r\n };\r\n const connectionMessageClear = () => {\r\n hideProgress();\r\n //document.getElementById('snackbarConnectionError').style.visibility = 'hidden';\r\n };\r\n\r\n\r\n // get evaluator data\r\n const getApplyData = async () => {\r\n let l_oApplyData = await store.getters.getApplicant;\r\n\r\n if (isBlank(l_oApplyData)) {\r\n l_oApplyData = {\r\n EmailAddress: '',\r\n EncryptedReferrerID: '',\r\n ReferralLocationID: '',\r\n OauthType: '',\r\n OauthID: '',\r\n UserName: '',\r\n Password: '',\r\n FirstName: '',\r\n LastName: '',\r\n BirthDate: '',\r\n StreetAddress1: '',\r\n StreetAddress2: '',\r\n City: '',\r\n State: '',\r\n Country: 'US',\r\n ZipCode: '',\r\n HomePhone: '',\r\n Referrer: '',\r\n ServerTime: '' //new Date()\r\n };\r\n }\r\n\r\n return l_oApplyData;\r\n };\r\n\r\n\r\n // GetAVUploadHandlerURL property \r\n const getAVUploadHandlerURL = () => {\r\n return AVUPLOADHANDLER_URL;\r\n };\r\n\r\n const GetBaseURL = () => {\r\n return BASE_URL;\r\n };\r\n\r\n const getBase64StringFromDataURL = (dataURL) => {\r\n return dataURL.replace('data:', '').replace(/^.+,/, '');\r\n };\r\n\r\n\r\n // get evaluator data\r\n const getCommonPageData = async (p_bForceRefresh) => {\r\n let l_oData = await store.getters.getUser;\r\n\r\n //alert(\"1: \" + JSON.stringify(l_oData));\r\n\r\n if (isBlank(l_oData)) {\r\n l_oData = {\r\n EvaluatorID: '',\r\n Username: '',\r\n FirstName: '',\r\n LastName: '',\r\n Address: '',\r\n EmailAddress: '',\r\n HasReportsInError: '',\r\n NeedsToEnterSSN: '',\r\n HasNewMessages: '',\r\n ServerDate: '',\r\n ForceChange: '',\r\n LoginSource: '',\r\n CurrentMobileAndroidVersions: '',\r\n CurrentMobileiOSVersions: '',\r\n APIMaintenanceMode: '',\r\n HasUnansweredRequiredDemographics: '',\r\n HasExpiredDemographics: '',\r\n HasUnsignedICA: '',\r\n ProfilePhoto: '',\r\n GeneralMessage: '',\r\n InvalidEmail: '',\r\n ForumUsername: '',\r\n FindShopsSearchType: 'as',\r\n TimeStamp: new Date()\r\n };\r\n }\r\n let l_iDiffOfLastRefresh = 999999;\r\n\r\n try {\r\n if (!isBlank(l_oData) && !isBlank(l_oData.EvaluatorID) && !p_bForceRefresh) {\r\n let l_oDate = new Date();\r\n l_iDiffOfLastRefresh = getMinutesBetweenDates(l_oData.TimeStamp, l_oDate);\r\n }\r\n } catch (e) {\r\n // nada\r\n //alert(\"gcpd e: \" + e);\r\n }\r\n\r\n if (l_iDiffOfLastRefresh > _minutesBetweenCommonDataRefresh) {\r\n let l_oMainResponseModel = await stnFetch(\r\n \"init_utilities.js\",\r\n \"getCommonPageData\",\r\n \"POST\",\r\n \"GetCommonPageData\",\r\n null,\r\n true\r\n );\r\n\r\n //alert(JSON.stringify(l_oMainResponseModel));\r\n\r\n // populate globally available object\r\n l_oData.EvaluatorID = l_oMainResponseModel.EvaluatorID;\r\n l_oData.Username = l_oMainResponseModel.Username;\r\n l_oData.FirstName = l_oMainResponseModel.FirstName;\r\n l_oData.LastName = l_oMainResponseModel.LastName;\r\n l_oData.Address = l_oMainResponseModel.Address;\r\n l_oData.EmailAddress = l_oMainResponseModel.EmailAddress;\r\n l_oData.HasReportsInError = l_oMainResponseModel.HasReportsInError;\r\n l_oData.NeedsToEnterSSN = l_oMainResponseModel.NeedsToEnterSSN;\r\n l_oData.HasNewMessages = l_oMainResponseModel.HasNewMessages;\r\n l_oData.ServerDate = l_oMainResponseModel.ServerDate;\r\n l_oData.ForceChange = l_oMainResponseModel.ForceChange;\r\n l_oData.LoginSource = l_oMainResponseModel.LoginSource;\r\n l_oData.CurrentMobileAndroidVersions = l_oMainResponseModel.CurrentMobileAndroidVersions;\r\n l_oData.CurrentMobileiOSVersions = l_oMainResponseModel.CurrentMobileiOSVersions;\r\n l_oData.APIMaintenanceMode = l_oMainResponseModel.APIMaintenanceMode;\r\n l_oData.HasUnansweredRequiredDemographics = l_oMainResponseModel.HasUnansweredRequiredDemographics;\r\n l_oData.HasExpiredDemographics = l_oMainResponseModel.HasExpiredDemographics;\r\n l_oData.HasUnsignedICA = l_oMainResponseModel.HasUnsignedICA;\r\n l_oData.GeneralMessage = l_oMainResponseModel.GeneralMessage;\r\n l_oData.InvalidEmail = l_oMainResponseModel.InvalidEmail;\r\n l_oData.ForumUsername = l_oMainResponseModel.ForumUsername;\r\n l_oData.FindShopsSearchType = 'as';\r\n l_oData.TimeStamp = new Date();\r\n\r\n // new 2024_01_03 task 1274814682\r\n _minutesBetweenCommonDataRefresh = l_oMainResponseModel.TimeInMinutesToRefreshCommonPageData;\r\n _minutesBetweenShopDataRefresh = l_oMainResponseModel.TimeInMinutesToRefreshShopData;\r\n\r\n //alert(\"_minutesBetweenCommonDataRefresh: \" + _minutesBetweenCommonDataRefresh + \", _minutesBetweenShopDataRefresh: \" + _minutesBetweenShopDataRefresh);\r\n\r\n await store.commit('setUser', l_oData);\r\n return (l_oData);\r\n } else {\r\n // use current data\r\n return (l_oData);\r\n }\r\n };\r\n\r\n\r\n // get open shop data\r\n const getCachedShopData = async () => {\r\n // new 2024_01_03 task 1274814682\r\n let l_oExistingShopData = await store.getters.getShopDataFromCache; \r\n\r\n //alert(\"1: \" + JSON.stringify(l_oExistingShopData));\r\n \r\n let l_iDiffOfLastRefresh = 999999;\r\n\r\n try {\r\n if (!isBlank(l_oExistingShopData) && !isBlank(l_oExistingShopData.timeStamp)) {\r\n let l_oDate = new Date();\r\n l_iDiffOfLastRefresh = getMinutesBetweenDates(l_oExistingShopData.timeStamp, l_oDate);\r\n }\r\n } catch (e) {\r\n // nada\r\n //alert(\"gcpd e: \" + e);\r\n }\r\n\r\n //alert(\"2: \" + l_iDiffOfLastRefresh + \" :: \" + _minutesBetweenCommonDataRefresh);\r\n\r\n if (l_iDiffOfLastRefresh > _minutesBetweenShopDataRefresh) {\r\n let l_oNewShopData = await stnFetch(\r\n \"init_utilities.js\",\r\n \"getCachedShopData\",\r\n \"POST\",\r\n \"GetOpenShopsToCache\",\r\n null\r\n );\r\n\r\n //alert(\"3: \" + JSON.stringify(l_oNewShopData));\r\n\r\n if (!isBlank(l_oNewShopData)) {\r\n // save results to state\r\n let l_oNewStateModel = {\r\n timeStamp: new Date(),\r\n data: l_oNewShopData\r\n }\r\n\r\n store.commit('setShopDataToCache', l_oNewStateModel);\r\n } else {\r\n hideProgress();\r\n }\r\n \r\n return (l_oNewShopData);\r\n } else {\r\n // use current data\r\n return (l_oExistingShopData.data);\r\n }\r\n };\r\n\r\n\r\n // address, email, etc\r\n const getEvaluatorBasicInfo = async () => {\r\n return await stnFetch(\r\n \"init_utilities.js\",\r\n \"getEvaluatorBasicInfo\",\r\n \"POST\",\r\n \"GetEvaluatorBasicInfo\",\r\n null,\r\n true // get single result\r\n );\r\n };\r\n\r\n\r\n // EvaluatorID property\r\n const getEvaluatorID = () => {\r\n let l_oData = store.getters.getUser;\r\n return l_oData.EvaluatorID;\r\n };\r\n\r\n\r\n // LoginSource property\r\n const getLoginSource = () => {\r\n let l_oData = store.getters.getUser;\r\n return l_oData.LoginSource;\r\n };\r\n\r\n\r\n // helper\r\n const getMinutesBetweenDates = (p_oStartDate, p_oEndDate) => {\r\n let l_oDiff;\r\n try {\r\n p_oStartDate = new Date(p_oStartDate);\r\n l_oDiff = p_oEndDate.getTime() - p_oStartDate.getTime();\r\n l_oDiff = l_oDiff / 60000;\r\n } catch (e) {\r\n l_oDiff = _minutesBetweenCommonDataRefresh;\r\n }\r\n return l_oDiff;\r\n };\r\n\r\n\r\n // get position of html element in client\r\n const getPosition = (el) => {\r\n try{\r\n let rect = el.getBoundingClientRect();\r\n let l_iTop = 0;\r\n if ((rect.top + window.scrollY - 115) > 0) {\r\n l_iTop = rect.top + window.scrollY - 115;\r\n }\r\n else {\r\n l_iTop = rect.top + window.scrollY;\r\n }\r\n \r\n return {\r\n left: rect.left + window.scrollX,\r\n top: l_iTop\r\n };\r\n } catch(e) {\r\n return {\r\n left: 0,\r\n top: 0\r\n };\r\n }\r\n };\r\n\r\n\r\n // GetUploadHandlerURL property \r\n const getUploadHandlerURL = () => {\r\n return IMAGECONVERTER_URL;\r\n };\r\n\r\n\r\n const getWarningCount = () => {\r\n let l_oUserData = store.getters.getUser;\r\n let l_iCount = 0;\r\n\r\n if (!isBlank(l_oUserData)) {\r\n\r\n // alert(l_oUserData.HasReportsInError);\r\n // alert(l_oUserData.NeedsToEnterSSN);\r\n // alert(l_oUserData.GeneralMessage);\r\n\r\n if (l_oUserData.HasReportsInError) {\r\n l_iCount += 1;\r\n }\r\n if (l_oUserData.NeedsToEnterSSN) {\r\n l_iCount += 1;\r\n }\r\n if (!isBlank(l_oUserData.GeneralMessage)) {\r\n if (l_oUserData.GeneralMessage.substr(0, 8) != \"We could\") {\r\n l_iCount += 1;\r\n }\r\n }\r\n }\r\n\r\n return l_iCount;\r\n };\r\n\r\n\r\n const isVendorLogin = async () => {\r\n let l_oEvaluatorID = getEvaluatorID();\r\n\r\n if (l_oEvaluatorID == 3967074 || l_oEvaluatorID == 3883617 ||\r\n l_oEvaluatorID == 1312205 || l_oEvaluatorID == 3009043 ||\r\n l_oEvaluatorID == 3846363) { \r\n return true; \r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n const isBestmarkNevadaMultishopperLogin = async () => {\r\n let l_oEvaluatorID = getEvaluatorID();\r\n\r\n if (l_oEvaluatorID == 4094485) { \r\n return true; \r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n // check if incoming variable is blank\r\n const isBlank = (p_oVar) => {\r\n try {\r\n if(p_oVar && typeof p_oVar === 'object' && p_oVar.constructor === Object) {\r\n for(var prop in p_oVar) {\r\n if(p_oVar.hasOwnProperty(prop))// eslint-disable-line\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n else {\r\n if (p_oVar != '' && p_oVar != null && p_oVar != undefined && p_oVar != 'undefined' && p_oVar != 'null') {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } \r\n } catch(e) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n // validate date entry\r\n const isDate = (p_sValue) => {\r\n if (!(isBlank(p_sValue))) {\r\n if (/^(0[1-9]|1[0-2])\\/(0[1-9]|1\\d|2\\d|3[01])\\/(19|20)\\d{2}$/.test(p_sValue)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n // validate email entry\r\n const isEmail = (p_sValue) => {\r\n if (!(isBlank(p_sValue))) {\r\n if (/^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(.\\w{2,3})+$/.test(p_sValue)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n // validate numeric entry\r\n const isNumeric = (p_sValue) => {\r\n if (!(isBlank(p_sValue))) {\r\n let numNum = +p_sValue;\r\n if (isNaN(numNum)) {\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n // method to async save the error and redirect client to error page\r\n const logError = async (p_sErrorSource, p_sErrorText, p_bLogout, p_bRedirect, p_sErrorCode) => {\r\n let l_sErrorCode = '';\r\n p_sErrorSource = \"Desktop v\" + _desktopVersion + \", \" + p_sErrorSource;\r\n \r\n if (!isBlank(p_sErrorCode)) {\r\n l_sErrorCode = p_sErrorCode\r\n }\r\n\r\n try {\r\n let l_oRouteParams = await store.getters.getRouteParams;\r\n if (!isBlank(l_oRouteParams)) {\r\n p_sErrorText += \" :: \" + JSON.stringify(l_oRouteParams);\r\n }\r\n\r\n let l_oUserData = await store.getters.getUser;\r\n if (!isBlank(l_oUserData)) {\r\n p_sErrorText += \" :: \" + JSON.stringify(l_oUserData);\r\n } \r\n\r\n if ((_debug == true) && (p_sErrorText.indexOf(\"isRooted\") == -1) && (p_sErrorText.indexOf(\"getFCMToken\") == -1)) {\r\n swal.fire({\r\n text: \"LogError: \" + p_sErrorSource + \": \" + p_sErrorText,\r\n confirmButtonColor: '#F26E17',\r\n confirmButtonText: 'OK',\r\n allowOutsideClick: true\r\n }).then(() => {\r\n if (!isBlank(p_bRedirect) && p_bRedirect == true) {\r\n redirect({\r\n name: \"error\",\r\n params: {\r\n errorCode: '221' + l_sErrorCode,\r\n }\r\n });\r\n }\r\n });\r\n } else if (!p_bLogout && !p_bRedirect) {\r\n // 2024_07_11 - do not log non-fatal errors\r\n hideProgress();\r\n } else {\r\n let l_oDataModel = {\r\n ErrorSource: p_sErrorSource,\r\n ErrorText: p_sErrorText\r\n };\r\n\r\n const headers = new Headers();\r\n headers.append(\r\n \"Accept\",\r\n \"application/json, text/plain, */*\"\r\n );\r\n headers.append(\r\n \"Content-Type\",\r\n \"application/json\"\r\n );\r\n\r\n connectionMessageClear();\r\n \r\n let l_oLogErrorRequest = new Request(\r\n API_URL + \"LogError\",\r\n {\r\n method: \"POST\",\r\n headers,\r\n mode: \"cors\",\r\n cache: \"no-cache\",\r\n body: JSON.stringify(l_oDataModel),\r\n }\r\n );\r\n\r\n return await fetch(l_oLogErrorRequest)\r\n .then(async (t_oLogErrorResponse) => { \r\n if (t_oLogErrorResponse.ok && (t_oLogErrorResponse.status >= 200 && t_oLogErrorResponse.status < 300)) { \r\n return true; \r\n }\r\n else {\r\n return false;\r\n }\r\n })\r\n .then(async (t_oLogErrorResult) => {\r\n if (!t_oLogErrorResult) {\r\n l_sErrorCode = l_sErrorCode + '220' // failed to send error to server\r\n }\r\n\r\n if (!isBlank(p_bRedirect) && p_bRedirect == true) {\r\n redirect({\r\n name: \"error\",\r\n params: {\r\n errorCode: '221' + l_sErrorCode,\r\n }\r\n });\r\n }\r\n })\r\n .catch((errorThrown) => {\r\n // TODO: confirm these codes exist in errorThrown / errorThrown.response\r\n if (!isBlank(errorThrown)) {\r\n if (!isBlank(errorThrown.response)) {\r\n let _err = errorThrown.response;\r\n if (_err == \"319\") {\r\n //\"NetworkError\"\r\n redirect({\r\n name: \"error_restricted\",\r\n params: {\r\n errorCode: '320' + l_sErrorCode,\r\n }\r\n });\r\n } else {\r\n redirect({\r\n name: \"error\",\r\n params: {\r\n errorCode: '321' + l_sErrorCode,\r\n }\r\n });\r\n }\r\n } else {\r\n redirect({\r\n name: \"error_restricted\",\r\n params: {\r\n errorCode: '322' + l_sErrorCode,\r\n }\r\n });\r\n }\r\n } else {\r\n redirect({\r\n name: \"error_restricted\",\r\n params: {\r\n errorCode: '323' + l_sErrorCode,\r\n }\r\n });\r\n } \r\n });\r\n }\r\n } catch (e) {\r\n redirect({\r\n name: \"error\",\r\n params: {\r\n errorCode: '421' + l_sErrorCode,\r\n }\r\n });\r\n }\r\n finally {\r\n hideProgress();\r\n }\r\n };\r\n\r\n\r\n // custom event hooked on all pages\r\n const onMounted = () => {\r\n //window.removeEventListener(\"popstate\");\r\n hideProgress();\r\n };\r\n\r\n\r\n // event\r\n const openGuidelines = (p_sUrl) => {\r\n try {\r\n swal.fire({\r\n title: \"Leave the app and launch your device's web browser?\",\r\n showCancelButton: true,\r\n confirmButtonColor: '#F26E17',\r\n cancelButtonColor: '#008CEE',\r\n confirmButtonText: 'YES',\r\n cancelButtonText: 'NO',\r\n allowOutsideClick: false\r\n }).then((result) => {\r\n if (result.value) {\r\n window.open(decodeURI(p_sUrl));\r\n }\r\n else {\r\n swal.close();\r\n }\r\n });\r\n }\r\n catch (e) {\r\n logError(\"init_utilities.js\", \"openGuidelines - \" + e);\r\n }\r\n };\r\n\r\n\r\n const redirect = async (p_oRouteData, p_bOpenInNewWindow = false, p_bReplace = false) => {\r\n let l_oRedirectModel;\r\n \r\n if (isBlank(p_oRouteData.name)) {\r\n l_oRedirectModel = { name: p_oRouteData, state: {} };\r\n } else {\r\n if (!isBlank(p_oRouteData.params)){\r\n l_oRedirectModel = { name: p_oRouteData.name, state: p_oRouteData.params };\r\n }\r\n else {\r\n l_oRedirectModel = { name: p_oRouteData.name, state: {}};\r\n }\r\n }\r\n \r\n await store.commit('setRouteParams', p_oRouteData.params);\r\n if (!isBlank(l_oRedirectModel) && l_oRedirectModel.name && l_oRedirectModel.name.indexOf(\"error\") == -1) {\r\n _lastRedirectModel = l_oRedirectModel;\r\n }\r\n\r\n if (!isBlank(p_oRouteData.params)){\r\n localStorage.setItem('routeData', JSON.stringify(p_oRouteData.params));\r\n } \r\n\r\n if (p_bReplace) {\r\n router.replace(l_oRedirectModel);\r\n } else {\r\n router.push(l_oRedirectModel);\r\n }\r\n };\r\n\r\n\r\n const redirectBack = () => {\r\n router.push(_lastRedirectModel);\r\n };\r\n\r\n\r\n // method to handle translation of api call results\r\n const responseModel = async (p_oModelJSON) => {\r\n // private variables //////////////////////////////////////////////////////////////////////\r\n let l_sStatus = null;\r\n let l_sMessage = null;\r\n let l_oModel = null;\r\n let l_bIsEmpty = true;\r\n\r\n // public methods /////////////////////////////////////////////////////////////////////////\r\n let getStatus = () => {\r\n return l_sStatus;\r\n };\r\n\r\n let getMessage = () => {\r\n return l_sMessage;\r\n };\r\n\r\n let getModel = () => {\r\n return l_oModel;\r\n };\r\n\r\n let isModelEmpty = () => {\r\n return l_bIsEmpty;\r\n };\r\n\r\n // private methods //////////////////////////////////////////////////////////////////////////\r\n let setValues = async (p_oModel) => {\r\n try {\r\n if (p_oModel != null) {\r\n l_sStatus = p_oModel.Status;\r\n l_sMessage = p_oModel.Message;\r\n l_oModel = JSON.parse(p_oModel.Model);\r\n\r\n // oModel could be null if sMessage is Unauthorized\r\n if (l_oModel != null) {\r\n try {\r\n if (Object.keys(l_oModel).length > 0) {\r\n l_bIsEmpty = false;\r\n }\r\n } catch (e) {\r\n // keys may be null or empty and throw error, so...\r\n l_bIsEmpty = false;\r\n }\r\n }\r\n } else {\r\n l_sStatus = 'FAIL';\r\n l_sMessage = 'FAIL';\r\n l_oModel = [];\r\n l_bIsEmpty = true;\r\n }\r\n\r\n return true;\r\n } catch (e) {\r\n logError('utilities.js', 'responseModel, setValues - ' + e);\r\n }\r\n };\r\n\r\n // constructor / populate model ////////////////////////////////////////////////////////////\r\n await setValues(p_oModelJSON);\r\n\r\n // expose public methods\r\n return {\r\n isModelEmpty: isModelEmpty,\r\n getModel: getModel,\r\n getMessage: getMessage,\r\n getStatus: getStatus\r\n };\r\n };\r\n\r\n\r\n // Function to sanitize each string property in the object\r\n const sanitizeObject = (obj) => {\r\n let sanitizedObj = {};\r\n for (let key in obj) {\r\n if (typeof obj[key] === 'string') {\r\n sanitizedObj[key] = DOMPurify.sanitize(obj[key]);\r\n } else {\r\n sanitizedObj[key] = obj[key]; // Leave non-string properties untouched\r\n }\r\n }\r\n return sanitizedObj;\r\n };\r\n\r\n\r\n // set person attribute\r\n const setPersonAttribute = async (p_sAttributeTypeID, p_sAttributeData) => {\r\n let l_oDataModel = {\r\n AttributeTypeID: p_sAttributeTypeID,\r\n AttributeData: p_sAttributeData\r\n };\r\n\r\n return await stnFetch(\r\n \"init_utilities.js\",\r\n \"setPersonAttribute\",\r\n \"POST\",\r\n \"SetPersonAttribute\",\r\n l_oDataModel\r\n );\r\n };\r\n\r\n\r\n const showProgress = () => {\r\n document.getElementById('spinner').style.display = 'inline-block';\r\n };\r\n const hideProgress = () => {\r\n document.getElementById('spinner').style.display = 'none';\r\n };\r\n\r\n\r\n // data lists\r\n const stateList_US = [{ \"StateID\": \"AK\", \"StateDescription\": \"Alaska\" }, { \"StateID\": \"AL\", \"StateDescription\": \"Alabama\" }, { \"StateID\": \"AR\", \"StateDescription\": \"Arkansas\" }, { \"StateID\": \"AS\", \"StateDescription\": \"American Samoa\" }, { \"StateID\": \"AZ\", \"StateDescription\": \"Arizona\" }, { \"StateID\": \"CA\", \"StateDescription\": \"California\" }, { \"StateID\": \"CO\", \"StateDescription\": \"Colorado\" }, { \"StateID\": \"CT\", \"StateDescription\": \"Connecticut\" }, { \"StateID\": \"DC\", \"StateDescription\": \"District of Columbia\" }, { \"StateID\": \"DE\", \"StateDescription\": \"Delaware\" }, { \"StateID\": \"FL\", \"StateDescription\": \"Florida\" }, { \"StateID\": \"GA\", \"StateDescription\": \"Georgia\" }, { \"StateID\": \"GU\", \"StateDescription\": \"Guam\" }, { \"StateID\": \"HI\", \"StateDescription\": \"Hawaii\" }, { \"StateID\": \"IA\", \"StateDescription\": \"Iowa\" }, { \"StateID\": \"ID\", \"StateDescription\": \"Idaho\" }, { \"StateID\": \"IL\", \"StateDescription\": \"Illinois\" }, { \"StateID\": \"IN\", \"StateDescription\": \"Indiana\" }, { \"StateID\": \"KS\", \"StateDescription\": \"Kansas\" }, { \"StateID\": \"KY\", \"StateDescription\": \"Kentucky\" }, { \"StateID\": \"LA\", \"StateDescription\": \"Louisiana\" }, { \"StateID\": \"MA\", \"StateDescription\": \"Massachusetts\" }, { \"StateID\": \"MD\", \"StateDescription\": \"Maryland\" }, { \"StateID\": \"ME\", \"StateDescription\": \"Maine\" }, { \"StateID\": \"MI\", \"StateDescription\": \"Michigan\" }, { \"StateID\": \"MN\", \"StateDescription\": \"Minnesota\" }, { \"StateID\": \"MO\", \"StateDescription\": \"Missouri\" }, { \"StateID\": \"MS\", \"StateDescription\": \"Mississippi\" }, { \"StateID\": \"MT\", \"StateDescription\": \"Montana\" }, { \"StateID\": \"NC\", \"StateDescription\": \"North Carolina\" }, { \"StateID\": \"ND\", \"StateDescription\": \"North Dakota\" }, { \"StateID\": \"NE\", \"StateDescription\": \"Nebraska\" }, { \"StateID\": \"NH\", \"StateDescription\": \"New Hampshire\" }, { \"StateID\": \"NJ\", \"StateDescription\": \"New Jersey\" }, { \"StateID\": \"NM\", \"StateDescription\": \"New Mexico\" }, { \"StateID\": \"NV\", \"StateDescription\": \"Nevada\" }, { \"StateID\": \"NY\", \"StateDescription\": \"New York\" }, { \"StateID\": \"OH\", \"StateDescription\": \"Ohio\" }, { \"StateID\": \"OK\", \"StateDescription\": \"Oklahoma\" }, { \"StateID\": \"OR\", \"StateDescription\": \"Oregon\" }, { \"StateID\": \"PA\", \"StateDescription\": \"Pennsylvania\" }, { \"StateID\": \"PR\", \"StateDescription\": \"Puerto Rico\" }, { \"StateID\": \"RI\", \"StateDescription\": \"Rhode Island\" }, { \"StateID\": \"SC\", \"StateDescription\": \"South Carolina\" }, { \"StateID\": \"SD\", \"StateDescription\": \"South Dakota\" }, { \"StateID\": \"TN\", \"StateDescription\": \"Tennessee\" }, { \"StateID\": \"TX\", \"StateDescription\": \"Texas\" }, { \"StateID\": \"UT\", \"StateDescription\": \"Utah\" }, { \"StateID\": \"VA\", \"StateDescription\": \"Virginia\" }, { \"StateID\": \"VI\", \"StateDescription\": \"Virgin Islands\" }, { \"StateID\": \"VT\", \"StateDescription\": \"Vermont\" }, { \"StateID\": \"WA\", \"StateDescription\": \"Washington\" }, { \"StateID\": \"WI\", \"StateDescription\": \"Wisconsin\" }, { \"StateID\": \"WV\", \"StateDescription\": \"West Virginia\" }, { \"StateID\": \"WY\", \"StateDescription\": \"Wyoming\" }];\r\n const stateList_CA = [{ \"StateID\": \"AB\", \"StateDescription\": \"Alberta\" }, { \"StateID\": \"BC\", \"StateDescription\": \"British Columbia\" }, { \"StateID\": \"MB\", \"StateDescription\": \"Manitoba\" }, { \"StateID\": \"NB\", \"StateDescription\": \"New Brunswick\" }, { \"StateID\": \"NL\", \"StateDescription\": \"Newfoundland\" }, { \"StateID\": \"NS\", \"StateDescription\": \"Nova Scotia\" }, { \"StateID\": \"NT\", \"StateDescription\": \"Northwest Territories\" }, { \"StateID\": \"NU\", \"StateDescription\": \"Nunavut\" }, { \"StateID\": \"ON\", \"StateDescription\": \"Ontario\" }, { \"StateID\": \"PE\", \"StateDescription\": \"Prince Edward Island\" }, { \"StateID\": \"QC\", \"StateDescription\": \"Quebec\" }, { \"StateID\": \"SK\", \"StateDescription\": \"Saskatchewan\" }, { \"StateID\": \"YT\", \"StateDescription\": \"Yukon\" }];\r\n const radiusList = [{ \"radius\": 1 }, { \"radius\": 2 }, { \"radius\": 3 }, { \"radius\": 4 }, { \"radius\": 5 }, { \"radius\": 10 }, { \"radius\": 15 }, { \"radius\": 20 }, { \"radius\": 25 }, { \"radius\": 30 }, { \"radius\": 40 }, { \"radius\": 50 }, { \"radius\": 60 }, { \"radius\": 70 }, { \"radius\": 80 }, { \"radius\": 90 }, { \"radius\": 100 }];\r\n const countryList = [{ \"CountryID\": \"US\", \"CountryDescription\": \"United States\" }, { \"CountryID\": \"CA\", \"CountryDescription\": \"Canada\" }]\r\n\r\n\r\n // expose public methods / variables\r\n return {\r\n countryList: countryList,\r\n stateList_US: stateList_US,\r\n stateList_CA: stateList_CA,\r\n radiusList: radiusList,\r\n\r\n actionMessageShow: actionMessageShow,\r\n actionMessageShowOAuth: actionMessageShowOAuth,\r\n actionMessageClear: actionMessageClear,\r\n stnFetch: stnFetch,\r\n checkPasswordPolicy: checkPasswordPolicy,\r\n getApplyData: getApplyData,\r\n getAVUploadHandlerURL: getAVUploadHandlerURL,\r\n GetBaseURL: GetBaseURL,\r\n getBase64StringFromDataURL: getBase64StringFromDataURL,\r\n getCommonPageData: getCommonPageData,\r\n getCachedShopData: getCachedShopData,\r\n getEvaluatorBasicInfo: getEvaluatorBasicInfo,\r\n getEvaluatorID: getEvaluatorID,\r\n getLoginSource: getLoginSource,\r\n getMinutesBetweenDates: getMinutesBetweenDates,\r\n getPosition: getPosition,\r\n getUploadHandlerURL: getUploadHandlerURL,\r\n getWarningCount: getWarningCount,\r\n hideProgress: hideProgress,\r\n isVendorLogin: isVendorLogin,\r\n isBestmarkNevadaMultishopperLogin: isBestmarkNevadaMultishopperLogin,\r\n isBlank: isBlank,\r\n isDate: isDate,\r\n isEmail: isEmail,\r\n isNumeric: isNumeric,\r\n logError: logError,\r\n onMounted: onMounted,\r\n openGuidelines: openGuidelines,\r\n redirect: redirect,\r\n redirectBack: redirectBack,\r\n responseModel: responseModel,\r\n sanitizeObject: sanitizeObject,\r\n setPersonAttribute: setPersonAttribute,\r\n showProgress: showProgress,\r\n };\r\n})();","import { STN } from \"@/modules/init_utilities.js\";\nimport router from \"../router\";\nimport swal from 'sweetalert2'\nimport store from \"@/store/index\";\nimport { getToken, getMessaging, onMessage } from \"firebase/messaging\";\nimport { getAuth, signOut } from \"firebase/auth\";\n\nconst initialState = { status: { loggedIn: false }, user: null };\n\nexport const auth = {\n inject: ['messaging'], // Use the inject option to access the provided messaging object\n namespaced: true,\n state: initialState,\n actions: {\n async login({ commit }, p_oCredentials) {\n try{\n if (!STN.isBlank(p_oCredentials)){\n let getAutoLoginResult = async() => {\n let l_oDataModel = {\n EncryptedEvaluatorID: p_oCredentials.encryptedEvaluatorID,\n };\n \n return await STN.stnFetch(\n \"auth.module.js\",\n \"getAutoLoginResult\",\n \"POST\",\n \"AutoLogin\",\n l_oDataModel,\n true\n );\n };\n\n let getAutoLoginResultBestmarkResult = async() => {\n let l_oDataModel = {\n EncryptedEvaluatorID: p_oCredentials.encryptedEvaluatorID,\n EncryptedAssignmentID: p_oCredentials.encryptedAssignmentID\n };\n \n return await STN.stnFetch(\n \"auth.module.js\",\n \"getAutoLoginResultBestmarkResult\",\n \"POST\",\n \"AutoLoginBestMark\",\n l_oDataModel,\n true\n );\n };\n\n let getLoginResult = async() => {\n await this.commit('setAuthHeader', \"Basic \" + btoa(p_oCredentials.username + \":\" + p_oCredentials.password));\n\n return await STN.stnFetch(\n \"auth.module.js\",\n \"getLoginResult\",\n \"POST\",\n \"Login\",\n );\n };\n\n let getOAuthLoginResult = async() => {\n await this.commit('setAuthHeader', \"OAuth \" + btoa(p_oCredentials.type + \":\" + p_oCredentials.authID));\n\n return await STN.stnFetch(\n \"auth.module.js\",\n \"getOAuthLoginResult\",\n \"POST\",\n \"LoginOAuth\",\n );\n };\n\n let l_oResult;\n\n if (!STN.isBlank(p_oCredentials.encryptedEvaluatorID) && !STN.isBlank(p_oCredentials.encryptedAssignmentID) && !STN.isBlank(p_oCredentials.bn)) {\n // auto login from web/email link, qs value \"bn\" is present signifying Bestmark NV shopper\n l_oResult = await getAutoLoginResultBestmarkResult();\n }\n else if (!STN.isBlank(p_oCredentials.encryptedEvaluatorID)) {\n // auto login from web/email link\n l_oResult = await getAutoLoginResult();\n }\n else if (p_oCredentials.type == \"Basic\") {\n // username / password login \n l_oResult = await getLoginResult();\n }\n else {\n // oauth login\n l_oResult = await getOAuthLoginResult();\n }\n\n if (STN.isBlank(l_oResult)){\n commit(\"logout\");\n return \"There was a problem with your request, please try again\";\n }\n else if (l_oResult && l_oResult.EvaluatorID && l_oResult.EvaluatorID > 0) {\n if (l_oResult.Active == 1) {\n //after successful login, authheader for each subsequent request must be in the format evaluatorid:token\n await this.commit('setAuthHeader', \"Basic \" + btoa(l_oResult.EvaluatorID + \":\" + l_oResult.Token));\n \n let l_oGetCommonPageDataResult = await STN.getCommonPageData(true);\n\n await commit(\"loginSuccess\", l_oGetCommonPageDataResult, btoa(l_oResult.EvaluatorID + \":\" + l_oResult.Token + \":\" + l_oGetCommonPageDataResult.ForumUsername));\n\n if (l_oResult.ForceChange) {\n router.replace({\n name: \"myaccount_changepassword\",\n params: {\n fc: 1\n }\n });\n } else {\n if (p_oCredentials.remember) {\n localStorage.setItem(\"RememberMe\", JSON.stringify(p_oCredentials));\n } else if (STN.isBlank(localStorage.getItem(\"RememberMe\"))) {\n localStorage.setItem(\"RememberMe\", null);\n }\n\n try {\n // setup notifications / FCM\n Notification.requestPermission().then(permission => {\n if (permission === 'granted') {\n // Permission granted, we can now use FCM getToken()\n const messaging = getMessaging();\n\n // use the PUBLIC key\n getToken(messaging, {\n vapidKey: \"BCAIXX8Y-SPzvk1tLWeqrPfHMExWkCEtkZCXEezXPROU4vi1HDavWIGAejwKzbYla48g8ynRRBGbaGXSJXBZQN0\"\n }).then(async (currentToken) => {\n if (currentToken) {\n // saveFCMToken \n let l_oDataModel = {\n Token: currentToken,\n IsMobile: false\n };\n \n await STN.stnFetch(\n \"auth.module.js\",\n \"saveFCMToken\",\n \"POST\",\n \"SaveFCMTokenNEW\",\n l_oDataModel\n );\n \n onMessage(messaging, (payload) => {\n //// console.log('onMessage Message received. ', payload);\n\n swal.fire({\n text: payload.data.title, //\"We have found new open shops near you! Would you like to see them?\",\n showCancelButton: true,\n confirmButtonColor: '#F26E17',\n cancelButtonColor: '#008CEE',\n confirmButtonText: 'YES',\n cancelButtonText: 'NO',\n allowOutsideClick: false\n }).then((result) => {\n if (result.value) {\n if (STN.isBlank(payload.data.params)) {\n STN.redirect(\"dashboard\");\n } else {\n var jsonObject = JSON.parse(payload.data.params);\n \n STN.redirect(jsonObject);\n }\n } else {\n STN.hideProgress();\n swal.close();\n }\n });\n });\n } \n }).catch((err) => {\n // console.log('An error occurred while retrieving token. ', err);\n });\n } \n });\n } catch (e) {\n // nada\n }\n \n // resolved, make sure to pass through to next() if opening from external link / autoLogin\n if (STN.isBlank(p_oCredentials.encryptedEvaluatorID)) {\n let _gaoh = store.getters.getGigspotAssignmentOnHold;\n if (!STN.isBlank(_gaoh)){\n\n // flag their login with this attribute\n await STN.setPersonAttribute(\"IS-GS\", \"YES\");\n \n STN.redirect({\n name: \"findshops_preview\",\n params: {\n assignmentID: _gaoh,\n callingPage: \"findshops_results_map\",\n pageName: this.pageName,\n },\n });\n } else {\n // make sure to pass through to next() if opening from external link / autoLogin\n if (STN.isBlank(p_oCredentials.encryptedEvaluatorID)) {\n\n // was BackgroundMessagePayloadParams saved in router -> PreRouteChecks / not logged in???\n let l_oBackgroundMessagePayloadParams = store.getters.getBackgroundMessagePayloadParams;\n if (!STN.isBlank(l_oBackgroundMessagePayloadParams)) {\n // clear out from store\n store.commit('setBackgroundMessagePayloadParams', null);\n\n STN.redirect(l_oBackgroundMessagePayloadParams);\n } else {\n router.push(\"dashboard\");\n\n // testing\n //router.push(\"myshops_attention\");\n\n // // testing\n // router.push({\n // name: \"myshops_clarification?ID=5214699\",\n // params: {\n // assignmentID: 5214699\n // }\n // }); \n \n // // testing\n // STN.redirect({\n // name: \"questionnaire\",\n // params: {\n // assignmentID: 5214701,\n // cQID: 5417772,\n // qID: 1400,\n // startQuestion: 6\n // }\n // });\n }\n } \n } \n } else if (!STN.isBlank(p_oCredentials.bn)) {\n // special case for bestmark nv manual login\n return l_oResult;\n }\n }\n } else {\n commit(\"logout\");\n return \"Your account is inactive, contact the CX Group Helpdesk for more information\";\n }\n } else {\n commit(\"logout\");\n\n if (p_oCredentials.type != \"Basic\") {\n // OAuth and does not exist in system, go to apply\n router.push({\n name: \"apply_continueapplication\",\n }); \n }\n else {\n return \"*Invalid credentials\";\n }\n }\n }\n } catch(e) {\n commit(\"logout\");\n STN.logError(\"auth.module.js\", \"login: \" + e, false, false);\n return \"There was a problem with your request, please try again\";\n }\n },\n async logout({ commit }) {\n let getLogoutResult = async() => {\n let l_oDataModel = {\n IsMobile: false,\n };\n \n return await STN.stnFetch(\n \"auth.module.js\",\n \"getLogoutResult\",\n \"POST\",\n \"Logoff\",\n l_oDataModel,\n true\n );\n };\n\n await getLogoutResult();\n\n commit(\"logout\");\n }, \n },\n mutations: {\n loginSuccess(state, user, forumAuthHeader) {\n state.status.loggedIn = true;\n state.user = user;\n state.forumAuthHeader = forumAuthHeader;\n },\n logout(state) {\n const auth = getAuth();\n\n signOut(auth)\n .then(() => {\n //this.user = null;\n //console.log('User signed out');\n })\n .catch((error) => {\n //console.error('Error signing out:', error);\n });\n \n state.status.loggedIn = false;\n state.shopSearchResults = [];\n state.shopsNearMeResults = [];\n state.authHeader = null;\n state.forumAuthHeader = null;\n state.user = null;\n localStorage.setItem(\"RememberMe\", null);\n },\n },\n};","import { createStore } from \"vuex\";\nimport { auth } from \"./auth.module\";\nimport { STN } from \"@/modules/init_utilities.js\";\n\nconst store = createStore({\n modules: {\n auth,\n },\n\n // user-defined global state variables\n // https://vuex.vuejs.org/guide/state.html\n state: {\n routeParams: null, \n isShopsNavOpen: false,\n isAccountNavOpen: false,\n isHelpNavOpen: false,\n isMobileNavOpen: false,\n pageTitle: \"Login\",\n shopSearchResults: [],\n cachedShopData: [],\n shopsNearMeResults: [],\n authHeader: null,\n forumAuthHeader: null,\n user: null,\n applicant: null,\n backgroundMessagePayloadParams: null, // used to store any url the user first tried to get to, but was redirected to login page (will arrive here after logging in)\n currentQuestionnaireAnswers: [],\n currentAssignmentID: null,\n gigspotAssignmentOnHold: null,\n isBestmarkManualLogin: false,\n },\n\n // user-defined getters are exposed and accessible via this.$store.getters......\n // https://vuex.vuejs.org/guide/getters.html\n getters: {\n // routing\n getRouteParams: (state) => {\n if (!STN.isBlank(state.routeParams)){\n return state.routeParams;\n } else {\n return [];\n }\n },\n\n\n // nav\n isShopsNavOpen: (state) => {\n return state.isShopsNavOpen;\n },\n isAccountNavOpen: (state) => {\n return state.isAccountNavOpen;\n },\n isHelpNavOpen: (state) => {\n return state.isHelpNavOpen;\n },\n isMobileNavOpen: (state) => {\n return state.isMobileNavOpen;\n },\n\n\n // program\n getApplicant: (state) => {\n return state.applicant;\n },\n\n getAuthHeader: (state) => {\n return state.authHeader;\n },\n\n getCurrentAssignmentID: (state) => {\n return state.currentAssignmentID;\n },\n\n getForumAuthHeader: (state) => {\n return state.forumAuthHeader;\n },\n\n getUser: (state) => {\n return state.user;\n },\n\n getPageTitle: (state) => {\n return state.pageTitle;\n },\n\n\n // data\n getBackgroundMessagePayloadParams: (state) => {\n return state.backgroundMessagePayloadParams;\n },\n \n getGigspotAssignmentOnHold: (state) => {\n return state.gigspotAssignmentOnHold;\n },\n\n getIsBestmarkManualLogin: (state) => {\n return state.isBestmarkManualLogin;\n },\n \n getShopSearchResults: (state) => {\n return state.shopSearchResults;\n },\n\n getShopDataFromCache: (state) => {\n return state.cachedShopData;\n },\n\n getShopsNearMeResults: (state) => {\n return state.shopsNearMeResults;\n },\n\n getCurrentQuestionnaireAnswers: (state) => {\n return state.currentQuestionnaireAnswers;\n },\n },\n\n //user-defined mutations are the only way to change state in vuex\n // https://vuex.vuejs.org/guide/mutations.html#commit-with-payload\n mutations: {\n // routing\n setRouteParams(state, in_params) {\n state.routeParams = in_params;\n },\n\n\n // nav\n setIsShopsNavOpen(state, in_truefalse) {\n state.isShopsNavOpen = in_truefalse;\n },\n toggleShopsNav(state) {\n state.isShopsNavOpen = !store.isShopsNavOpen;\n },\n setIsAccountNavOpen(state, in_truefalse) {\n state.isAccountNavOpen = in_truefalse;\n },\n toggleAccountNav(state) {\n state.isAccountNavOpen = !store.isAccountNavOpen;\n },\n setIsHelpNavOpen(state, in_truefalse) {\n state.isHelpNavOpen = in_truefalse;\n },\n toggleHelpNav(state) {\n state.isHelpNavOpen = !store.isHelpNavOpen;\n },\n setIsMobileNavOpen(state, in_truefalse) {\n state.isMobileNavOpen = in_truefalse;\n },\n toggleMobileNav(state) {\n state.isMobileNavOpen = !store.isMobileNavOpen;\n },\n\n\n // program\n setApplicant(state, in_applicant) {\n state.applicant = in_applicant;\n },\n\n setCurrentAssignmentID(state, in_currentAssignmentID) {\n state.currentAssignmentID = in_currentAssignmentID;\n },\n\n setAuthHeader(state, in_authHeader) {\n state.authHeader = in_authHeader;\n },\n\n setUser(state, in_user) {\n state.user = in_user;\n },\n\n setPageTitle(state, in_pageTitle) {\n state.pageTitle = in_pageTitle;\n },\n\n \n // data\n setBackgroundMessagePayloadParams(state, in_payloadParams) {\n state.backgroundMessagePayloadParams = in_payloadParams;\n },\n\n setGigspotAssignmentOnHold(state, in_gigspotAssignmentOnHold) {\n state.gigspotAssignmentOnHold = in_gigspotAssignmentOnHold;\n },\n\n setIsBestmarkManualLogin: (state, in_isBestmarkManualLogin) => {\n state.isBestmarkManualLogin = in_isBestmarkManualLogin;\n },\n\n setShopSearchResults(state, in_shopSearchResults) {\n state.shopSearchResults = in_shopSearchResults;\n },\n\n setShopDataToCache(state, in_shopData) {\n state.cachedShopData = in_shopData;\n },\n\n setShopsNearMeResults: (state, in_shopsNearMeResults) => {\n state.shopsNearMeResults = in_shopsNearMeResults;\n },\n\n setCurrentQuestionnaireAnswers: (state, in_currentQuestionnaireAnswers) => {\n state.currentQuestionnaireAnswers = in_currentQuestionnaireAnswers;\n },\n },\n});\n\nexport default store;\n","import { createWebHashHistory, createRouter } from \"vue-router\"; // createWebHashHistory needed for cordova\nimport store from \"@/store/index\";\nimport { STN } from \"@/modules/init_utilities.js\";\n\n// run before each route begins, to prevent and/or redirect where needed based on apply state, url values,\nconst PreRouteChecks = async function (to, from, next) {\n window.setTimeout(async () => {\n // open shop email\n // https://localhost:8085/#/findshops_results_map?eid=yw9PTvHckLU%3d&ProjectType=0\n // https://shopperhub-stage.cxgroup.com/#/findshops_results_map?eid=yw9PTvHckLU%3d&ProjectType=0\n\n // email verification\n // https://localhost:8085/#/myaccount_verifyemail?eid=yw9PTvHckLU%3d&ID=tLevnX9o%2fCZemLqoEqMXZb2yHzm2EqsYjkpsCI6hzSKobbAhqe4%2bWg%3d%3d\n\n // clarification\n // https://localhost:8085/#/myshops_clarification?ID=4131733&eid=yw9PTvHckLU%3d&uid=1\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=4048550&eid=yw9PTvHckLU%3d&uid=1\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=4048550&eid=yw9PTvHckLU%3d&uid=1\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=5116142&eid=RNY8tkN1nk4%3d&uid=1\n // https://localhost:8085/#/myshops_clarification?ID=5116142&eid=RNY8tkN1nk4%3d&uid=1\n\n // bestmark nv manual login\n // https://localhost:8085/#/login?eid=RNY8tkN1nk4%3d&bn=lXpE%2foi%2bvfY%3d&aid=m4%2fW0m17Hbk%3d\n\n // other vendor login\n // https://localhost:8085/#/login?eid=o62b0o%2b%2bdvA%3d (eid is 3967074)\n\n let encryptedEvaluatorID = to.query.eid;\n let encryptedAssignmentID = to.query.aid;\n let bn = to.query.bn;\n\n // perform autoLogin?\n if (!STN.isBlank(encryptedEvaluatorID)) {\n window.setTimeout(async () => {\n let l_oCredentials = {\n type: \"Basic\",\n encryptedEvaluatorID: encryptedEvaluatorID,\n encryptedAssignmentID: encryptedAssignmentID,\n bn: bn,\n remember: \"\",\n }\n \n // login with vuex\n await store.dispatch(\"auth/login\", l_oCredentials).then(\n async (result) => {\n if (await STN.isVendorLogin() == true) {\n if (await FilterVendorLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n STN.redirect({\n name: \"myshops_scheduled\"\n });\n }\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\n if (!STN.isBlank(result) && !STN.isBlank(result.AssignmentID)) {\n // first site hit from link, redirect\n STN.redirect({\n name: \"findshops_preview\",\n params: {\n assignmentID: result.AssignmentID,\n lastViewedShop: result.AssignmentID,\n callingPage: \"dashboard\",\n pageName: \"findshops_preview\",\n },\n });\n } else {\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n let error = \"Please try accessing the site again from your email link.\";\n STN.logError(\n \"router.js\",\n \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error1: \" + error\n );\n }\n }\n } else {\n let newParams = to.query;\n delete newParams[\"eid\"];\n\n //alert(to.name + \" :: \" + JSON.stringify(newParams));\n\n if (to.name == \"login\") {\n STN.redirect({\n name: \"dashboard\",\n params: newParams\n });\n } else {\n STN.redirect({\n name: to.name,\n params: newParams\n });\n } \n }\n },\n (error) => {\n STN.logError(\n \"router.js\",\n \"PreRouteChecks - Error1: \" + error\n );\n router.replace(\"/login\");\n }\n );\n }, 1000);\n }\n // normal navigation\n else {\n if (await store.state.auth.status.loggedIn) {\n if (await STN.isVendorLogin() == true) {\n if (await FilterVendorLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n STN.redirect({\n name: \"myshops_scheduled\"\n });\n }\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n let error = \"Please try accessing the site again from your email link.\";\n STN.logError(\n \"router.js\",\n \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error2: \" + error\n );\n }\n } else {\n let l_oInfo = await store.getters.getUser;\n\n if (l_oInfo.EmailAddress.indexOf(\"privaterelay.appleid.com\") != -1 \n && to.name != \"helpdesk\" \n && to.name != \"myaccount_requirenewemail\") // emails contains \"privaterelay.appleid.com\"\n {\n router.replace(\"myaccount_requirenewemail\");\n }\n else if (l_oInfo.ForceChange \n && to.name != \"helpdesk\" \n && to.name != \"myaccount_requirenewemail\"\n && to.name != \"myaccount_changepassword\") {\n router.replace({\n name: \"myaccount_changepassword\",\n params: {\n fc: 1\n }\n });\n }\n else if (l_oInfo.HasUnsignedICA \n && to.name != \"helpdesk\" \n && to.name != \"myaccount_requirenewemail\"\n && to.name != \"myaccount_changepassword\"\n && to.name != \"myaccount_ica_sign\") {\n router.replace(\"myaccount_ica_sign\");\n }\n else if (l_oInfo.HasUnansweredRequiredDemographics \n && to.name != \"helpdesk\" \n && to.name != \"myaccount_requirenewemail\"\n && to.name != \"myaccount_changepassword\"\n && to.name != \"myaccount_ica_sign\"\n && to.name != \"myaccount_extended_required\") {\n router.replace(\"myaccount_extended_required\");\n }\n else if (l_oInfo.HasExpiredDemographics \n && to.name != \"helpdesk\" \n && to.name != \"myaccount_requirenewemail\"\n && to.name != \"myaccount_changepassword\"\n && to.name != \"myaccount_ica_sign\"\n && to.name != \"myaccount_extended_required\"\n && to.name != \"myaccount_extended_refresh\") {\n router.replace(\"myaccount_extended_refresh\");\n }\n else {\n // user logged in, proceed\n STN.actionMessageClear();\n next();\n }\n }\n }\n else {\n window.setTimeout(async () => {\n // to \n //\"fullPath\":\"/login\",\"hash\":\"\",\"query\":{},\"name\":\"login\",\"path\":\"/login\",\"params\":{},\"matched\":[{\"path\":\"/login\",\"name\":\"login\",\"meta\":{},\"props\":{\"default\":false},\"children\":[],\"instances\":{},\"leaveGuards\":{},\"updateGuards\":{},\"enterCallbacks\":{},\"components\":{}}],\"meta\":{},\"href\":\"#/login\"}\n //\n // user tried to access this page but was not logged in, so save it so they may return to it once logged in\n if (!STN.isBlank(to.name) && to.name != \"login\") {\n store.commit('setBackgroundMessagePayloadParams', to.name);\n }\n\n // user not logged in yet, see if we have saved session info \n let l_oStoredCredentials = JSON.parse(localStorage.getItem(\"RememberMe\"));\n\n if (!STN.isBlank(l_oStoredCredentials)) {\n // login with vuex\n await store.dispatch(\"auth/login\", l_oStoredCredentials).then(\n async (result) => {\n if (await STN.isVendorLogin() == true) {\n if (await FilterVendorLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n STN.redirect({\n name: \"myshops_scheduled\"\n });\n }\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\n if (!STN.isBlank(result) && !STN.isBlank(result.AssignmentID)) {\n // first site hit from link, redirect\n STN.redirect({\n name: \"findshops_preview\",\n params: {\n assignmentID: result.AssignmentID,\n lastViewedShop: result.AssignmentID,\n callingPage: \"dashboard\",\n pageName: \"findshops_preview\",\n },\n });\n } else {\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\n // route allowed, proceed\n STN.actionMessageClear();\n next();\n } else {\n // route not allowed, deny / redirect\n let error = \"Please try accessing the site again from your email link.\";\n STN.logError(\n \"router.js\",\n \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error1: \" + error\n );\n }\n }\n } else {\n if (!STN.isBlank(to.name) && to.name != \"login\") {\n let l_oRouteData = (!STN.isBlank(localStorage.getItem('routeData')) ? JSON.parse(localStorage.getItem('routeData')) : {});\n\n STN.redirect({\n name: to.name,\n params: l_oRouteData\n });\n } else {\n STN.redirect({\n name: \"dashboard\"\n });\n } \n }\n },\n (error) => {\n STN.logError(\n \"router.js\",\n \"PreRouteChecks - Error2: \" + error\n );\n router.replace(\"/login\");\n }\n );\n }\n else {\n // remember me not set and not logged in, continue...\n if (to.path != \"/login\" && to.path != \"login\") {\n // prevent loop of death\n router.replace(\"/login\");\n }\n else {\n STN.actionMessageClear();\n next();\n STN.hideProgress();\n window.scroll(0, 0);\n\n // if (STN.isVendorLogin()) {\n\n // } else {\n // STN.actionMessageClear();\n // next();\n // STN.hideProgress();\n // window.scroll(0, 0);\n // }\n }\n }\n }, 1000);\n }\n }\n }, 200);\n};\n\n\nconst FilterVendorLoginAccess = async function (to) {\n if (!STN.isBlank(to) && !STN.isBlank(to.name) && to.name.indexOf(\"error\") == -1\n && to.name.indexOf(\"findshops_certifications\") == -1\n && to.name.indexOf(\"findshops_disclaimer\") == -1\n && to.name.indexOf(\"findshops_preview\") == -1\n && to.name.indexOf(\"gallery_audio\") == -1\n && to.name.indexOf(\"gallery_clarification\") == -1\n && to.name.indexOf(\"gallery_image\") == -1\n && to.name.indexOf(\"gallery_video\") == -1\n && to.name.indexOf(\"maintenance\") == -1\n && to.name.indexOf(\"myshops_attention\") == -1\n && to.name.indexOf(\"myshops_checkin\") == -1\n && to.name.indexOf(\"myshops_clarification\") == -1\n && to.name.indexOf(\"myshops_scheduled\") == -1\n && to.name.indexOf(\"questionnaire\") == -1 // covers all questionnaire pages\n && to.name.indexOf(\"reports_shopinvoice\") == -1) {\n\n // trying to go to a route that is NOT one of the above, deny and redirect \n return false;\n } else {\n // route allowed\n return true;\n }\n};\n\n\nconst FilterBestmarkNevadaMultishopperLoginAccess = async function (to) {\n if (!STN.isBlank(to) && !STN.isBlank(to.name) && to.name.indexOf(\"error\") == -1\n && to.name.indexOf(\"findshops_certifications\") == -1\n && to.name.indexOf(\"findshops_disclaimer\") == -1\n && to.name.indexOf(\"findshops_preview\") == -1\n && to.name.indexOf(\"gallery_audio\") == -1\n && to.name.indexOf(\"gallery_clarification\") == -1\n && to.name.indexOf(\"gallery_image\") == -1\n && to.name.indexOf(\"gallery_video\") == -1\n && to.name.indexOf(\"maintenance\") == -1\n && to.name.indexOf(\"myshops_checkin\") == -1\n && to.name.indexOf(\"myshops_clarification\") == -1\n && to.name.indexOf(\"questionnaire\") == -1 // covers all questionnaire pages\n && to.name.indexOf(\"reports_shopinvoice\") == -1) {\n\n // trying to go to a route that is NOT one of the above, deny and redirect \n return false;\n } else {\n // route allowed\n return true;\n }\n};\n\n\nconst routes = [\n /////////////////////////////// all other (new) routes\n {\n path: \"/\",\n component: () => import(\"@/components/login/Login.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"apply\",\n path: \"/apply\",\n component: () => import(\"@/components/apply/Apply.vue\"),\n },\n {\n name: \"apply_continueapplication\",\n path: \"/apply_continueapplication\",\n component: () => import(\"@/components/apply/Apply_ContinueApplication.vue\"),\n },\n {\n name: \"apply_finishapplication\",\n path: \"/apply_finishapplication\",\n component: () => import(\"@/components/apply/Apply_FinishApplication.vue\"),\n },\n {\n name: \"apply_ica\",\n path: \"/apply_ica\",\n component: () => import(\"@/components/apply/Apply_ICA.vue\"),\n },\n\n\n {\n name: \"dashboard\",\n path: \"/dashboard\",\n component: () => import(\"@/components/dashboard/Dashboard.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"dashboard_announcement\",\n path: \"/dashboard_announcement\",\n component: () => import(\"@/components/dashboard/Dashboard_Announcement.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"@/components/login/Login.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"error\",\n path: \"/error\",\n component: () => import(\"@/components/error/Error.vue\"),\n },\n {\n name: \"error_other\",\n path: \"/error_other\",\n component: () => import(\"@/components/error/Error_Other.vue\"),\n },\n {\n name: \"error_restricted\",\n path: \"/error_restricted\",\n component: () => import(\"@/components/error/Error_Restricted.vue\"),\n },\n\n\n {\n name: \"findshops_certifications\",\n path: \"/findshops_certifications\",\n component: () => import(\"@/components/findshops/FindShops_Certifications.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_disclaimer\",\n path: \"/findshops_disclaimer\",\n component: () => import(\"@/components/findshops/FindShops_Disclaimer.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_feedback\",\n path: \"/findshops_feedback\",\n component: () => import(\"@/components/findshops/FindShops_Feedback.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_preview\",\n path: \"/findshops_preview\",\n component: () => import(\"@/components/findshops/FindShops_Preview.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_previewshop\",\n path: \"/findshops_previewshop\",\n component: () => import(\"@/components/findshops/FindShops_PreviewShop.vue\"),\n },\n {\n name: \"findshops_results_list\",\n path: \"/findshops_results_list\",\n component: () => import(\"@/components/findshops/FindShops_Results_List.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_results_listonly\",\n path: \"/findshops_results_listonly\",\n component: () => import(\"@/components/findshops/FindShops_Results_ListOnly.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_results_map\",\n path: \"/findshops_results_map\",\n component: () => import(\"@/components/findshops/FindShops_Results_Map.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_search_list\",\n path: \"/findshops_search_list\",\n component: () => import(\"@/components/findshops/FindShops_Search_List.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"findshops_search_map\",\n path: \"/findshops_search_map\",\n component: () => import(\"@/components/findshops/FindShops_Search_Map.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"gallery_audio\",\n path: \"/gallery_audio\",\n component: () => import(\"@/components/gallery_audio/Gallery_Audio.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_audio_upload\",\n path: \"/gallery_audio_upload\",\n component: () => import(\"@/components/gallery_audio/Gallery_Audio_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_audio_view\",\n path: \"/gallery_audio_view\",\n component: () => import(\"@/components/gallery_audio/Gallery_Audio_View.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_clarification\",\n path: \"/gallery_clarification\",\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_clarification_edit\",\n path: \"/gallery_clarification_edit\",\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_Edit.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_clarification_upload\",\n path: \"/gallery_clarification_upload\",\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_clarification_view\",\n path: \"/gallery_clarification_view\",\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_View.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_ein\",\n path: \"/gallery_ein\",\n component: () => import(\"@/components/gallery_ein/Gallery_EIN.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_ein_edit\",\n path: \"/gallery_ein_edit\",\n component: () => import(\"@/components/gallery_ein/Gallery_EIN_Edit.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_ein_upload\",\n path: \"/gallery_ein_upload\",\n component: () => import(\"@/components/gallery_ein/Gallery_EIN_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_image\",\n path: \"/gallery_image\",\n component: () => import(\"@/components/gallery_image/Gallery_Image.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_image_edit\",\n path: \"/gallery_image_edit\",\n component: () => import(\"@/components/gallery_image/Gallery_Image_Edit.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_image_upload\",\n path: \"/gallery_image_upload\",\n component: () => import(\"@/components/gallery_image/Gallery_Image_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_image_view\",\n path: \"/gallery_image_view\",\n component: () => import(\"@/components/gallery_image/Gallery_Image_View.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_photoid\",\n path: \"/gallery_photoid\",\n component: () => import(\"@/components/gallery_photoid/Gallery_PhotoID.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_photoid_upload\",\n path: \"/gallery_photoid_upload\",\n component: () => import(\"@/components/gallery_photoid/Gallery_PhotoID_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_profilephoto\",\n path: \"/gallery_profilephoto\",\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_profilephoto_edit\",\n path: \"/gallery_profilephoto_edit\",\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto_Edit.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_profilephoto_upload\",\n path: \"/gallery_profilephoto_upload\",\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"gallery_video\",\n path: \"/gallery_video\",\n component: () => import(\"@/components/gallery_video/Gallery_Video.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_video_upload\",\n path: \"/gallery_video_upload\",\n component: () => import(\"@/components/gallery_video/Gallery_Video_Upload.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n {\n name: \"gallery_video_view\",\n path: \"/gallery_video_view\",\n component: () => import(\"@/components/gallery_video/Gallery_Video_View.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n meta: {\n layout: \"Layout_NoHeader\",\n },\n },\n\n\n {\n name: \"helpdesk\",\n path: \"/helpdesk\",\n component: () => import(\"@/components/helpdesk/HelpDesk.vue\"),\n // beforeEnter: (to, from, next) => {\n // CheckRootOrJailbreak(next);\n // },\n },\n {\n name: \"helpdesk_faq\",\n path: \"/helpdesk_faq\",\n component: () => import(\"@/components/helpdesk/Help_FAQ.vue\"),\n // beforeEnter: (to, from, next) => {\n // PreRouteChecks(next);\n // },\n },\n\n\n {\n name: \"messages\",\n path: \"/messages\",\n component: () => import(\"@/components/messages/Messages.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"maintenance\",\n path: \"/maintenance\",\n component: () => import(\"@/components/maintenance/Maintenance.vue\"),\n },\n\n \n {\n name: \"myaccount_changeemail\",\n path: \"/myaccount_changeemail\",\n component: () => import(\"@/components/myaccount/MyAccount_ChangeEmail.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_changepassword\",\n path: \"/myaccount_changepassword\",\n component: () => import(\"@/components/myaccount/MyAccount_ChangePassword.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_deactivate\",\n path: \"/myaccount_deactivate\",\n component: () => import(\"@/components/myaccount/MyAccount_Deactivate.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_extended\",\n path: \"/myaccount_extended\",\n component: () => import(\"@/components/myaccount/MyAccount_Extended.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_extended_required\",\n path: \"/myaccount_extended_required\",\n component: () => import(\"@/components/myaccount/MyAccount_Extended_Required.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_extended_refresh\",\n path: \"/myaccount_extended_refresh\",\n component: () => import(\"@/components/myaccount/MyAccount_Extended_Refresh.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_general\",\n path: \"/myaccount_general\",\n component: () => import(\"@/components/myaccount/MyAccount_General.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_ica_sign\",\n path: \"/myaccount_ica_sign\",\n component: () => import(\"@/components/myaccount/MyAccount_ICA_Sign.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_ica_view\",\n path: \"/myaccount_ica_view\",\n component: () => import(\"@/components/myaccount/MyAccount_ICA_View.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_myranking\",\n path: \"/myaccount_myranking\",\n component: () => import(\"@/components/myaccount/MyAccount_MyRanking.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_notificationsettings\",\n path: \"/myaccount_notificationsettings\",\n component: () => import(\"@/components/myaccount/MyAccount_NotificationSettings.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_emailsettings\",\n path: \"/myaccount_emailsettings\",\n component: () => import(\"@/components/myaccount/MyAccount_EmailSettings.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_payment\",\n path: \"/myaccount_payment\",\n component: () => import(\"@/components/myaccount/MyAccount_Payment.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_payment_add\",\n path: \"/myaccount_payment_add\",\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Add.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_payment_edit_directdeposit\",\n path: \"/myaccount_payment_edit_directdeposit\",\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Edit_DirectDeposit.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_payment_edit_paypal\",\n path: \"/myaccount_payment_edit_paypal\",\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Edit_Paypal.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_payment_setdefault\",\n path: \"/myaccount_payment_setdefault\",\n component: () => import(\"@/components/myaccount/MyAccount_Payment_SetDefault.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_photoid\",\n path: \"/myaccount_photoid\",\n component: () => import(\"@/components/myaccount/MyAccount_PhotoID.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_requirenewemail\",\n path: \"/myaccount_requirenewemail\",\n component: () => import(\"@/components/myaccount/MyAccount_RequireNewEmail.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_retrievepassword\",\n path: \"/myaccount_retrievepassword\",\n component: () => import(\"@/components/myaccount/MyAccount_RetrievePassword.vue\"),\n },\n {\n name: \"myaccount_tax\",\n path: \"/myaccount_tax\",\n component: () => import(\"@/components/myaccount/MyAccount_Tax.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myaccount_verifyemail\",\n path: \"/myaccount_verifyemail\",\n component: () => import(\"@/components/myaccount/MyAccount_VerifyEmail.vue\"),\n // beforeEnter: (to, from, next) => {\n // PreRouteChecks(to, from, next);\n // },\n },\n\n\n {\n name: \"myshops_attention\",\n path: \"/myshops_attention\",\n component: () => import(\"@/components/myshops/MyShops_Attention.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_changeshopdate\",\n path: \"/myshops_changeshopdate\",\n component: () => import(\"@/components/myshops/MyShops_ChangeShopDate.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_checkin\",\n path: \"/myshops_checkin\",\n component: () => import(\"@/components/myshops/MyShops_CheckIn.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_checkininfo\",\n path: \"/myshops_checkininfo\",\n component: () => import(\"@/components/myshops/MyShops_CheckInInfo.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_clarification\",\n path: \"/myshops_clarification\",\n component: () => import(\"@/components/myshops/MyShops_Clarification.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_inprocess\",\n path: \"/myshops_inprocess\",\n component: () => import(\"@/components/myshops/MyShops_Inprocess.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_paymentspending\",\n path: \"/myshops_paymentspending\",\n component: () => import(\"@/components/myshops/MyShops_PaymentsPending.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_rejected\",\n path: \"/myshops_rejected\",\n component: () => import(\"@/components/myshops/MyShops_Rejected.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_requested\",\n path: \"/myshops_requested\",\n component: () => import(\"@/components/myshops/MyShops_Requested.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"myshops_scheduled\",\n path: \"/myshops_scheduled\",\n component: () => import(\"@/components/myshops/MyShops_Scheduled.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n\n\n {\n name: \"propertyquestion_reimbursement\",\n path: \"/propertyquestion_reimbursement\",\n component: () => import(\"@/components/questionnaire/propertyquestions/PropertyQuestion_Reimbursement.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"propertyquestion_shoptimes\",\n path: \"/propertyquestion_shoptimes\",\n component: () => import(\"@/components/questionnaire/propertyquestions/PropertyQuestion_ShopTimes.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"questionnaire\",\n path: \"/questionnaire\",\n component: () => import(\"@/components/questionnaire/Questionnaire.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"questionnaire_header\",\n path: \"/questionnaire_header\",\n component: () => import(\"@/components/questionnaire/Questionnaire_Header.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"questionnaire_shopinvoice\",\n path: \"/questionnaire_shopinvoice\",\n component: () => import(\"@/components/questionnaire/Questionnaire_Shopinvoice.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n \n {\n name: \"referral\",\n path: \"/referral\",\n component: () => import(\"@/components/referral/Referral.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"referral_email\",\n path: \"/referral_email\",\n component: () => import(\"@/components/referral/Referral_Email.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"referral_email_location\",\n path: \"/referral_email_location\",\n component: () => import(\"@/components/referral/Referral_Email_Location.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"referral_search\",\n path: \"/referral_search\",\n component: () => import(\"@/components/referral/Referral_Search.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"referral_status\",\n path: \"/referral_status\",\n component: () => import(\"@/components/referral/Referral_Status.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n \n\n {\n name: \"reports_1099\",\n path: \"/reports_1099\",\n component: () => import(\"@/components/reports/Reports_1099.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"reports_paymenthistory\",\n path: \"/reports_paymenthistory\",\n component: () => import(\"@/components/reports/Reports_PaymentHistory.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"reports_paymentspending\",\n path: \"/reports_paymentspending\",\n component: () => import(\"@/components/reports/Reports_PaymentsPending.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n {\n name: \"reports_shopinvoice\",\n path: \"/reports_shopinvoice\",\n component: () => import(\"@/components/reports/Reports_Shopinvoice.vue\"),\n beforeEnter: (to, from, next) => {\n PreRouteChecks(to, from, next);\n },\n },\n];\n\n\nconst router = createRouter({\n history: createWebHashHistory(),\n mode: 'hash',\n routes,\n});\n\n\nrouter.afterEach(() => {\n STN.hideProgress();\n});\n\n\nrouter.beforeEach(() => {\n STN.showProgress();\n // store.commit('setIsShopsNavOpen', false);\n // store.commit('setIsAccountNavOpen', false);\n // store.commit('setIsHelpNavOpen', false);\n});\n\n\nexport default router;\n","export const firebaseConfig = {\r\n apiKey: \"AIzaSyDjRbyN95sGTZJtjYVd2z_IO3T6gUyCaUc\",\r\n authDomain: \"second-to-none-d28ad.firebaseapp.com\",\r\n projectId: \"second-to-none-d28ad\",\r\n storageBucket: \"second-to-none-d28ad.appspot.com\",\r\n messagingSenderId: \"625900627114\",\r\n appId: \"1:625900627114:web:046ddf06c477a9466e9cd3\",\r\n measurementId: \"G-8V68FMEHGC\"\r\n };","import { initializeApp, getApps } from \"firebase/app\";\r\nimport { firebaseConfig } from '../firebase-config'\r\nimport { register } from \"register-service-worker\"\r\n\r\nexport function initFirebaseSdk() {\r\n return new Promise(resolve => {\r\n if (!getApps().length) {\r\n initializeApp(firebaseConfig); \r\n }\r\n\r\n register(\"firebase-messaging-sw.js\", {\r\n ready() {\r\n console.log(\"Service worker is active.\");\r\n },\r\n registered() {\r\n console.log(\"Service worker has been registered.\");\r\n },\r\n cached() {\r\n console.log(\"Content has been cached for offline use.\");\r\n },\r\n updatefound() {\r\n console.log(\"New content is downloading.\");\r\n },\r\n updated() {\r\n console.log(\"New content is available; please refresh.\");\r\n },\r\n offline() {\r\n console.log(\"No internet connection found. App is running in offline mode.\");\r\n },\r\n error(error) {\r\n console.error(\"Error during service worker registration:\", error);\r\n },\r\n })\r\n\r\n resolve();\r\n });\r\n}","export function initFacebookSdk() {\r\n // load facebook sdk script\r\n (function (d, s, id) {\r\n var js, fjs = d.getElementsByTagName(s)[0];\r\n if (d.getElementById(id)) { return; }\r\n js = d.createElement(s); js.id = id;\r\n js.src = \"https://connect.facebook.net/en_US/sdk.js\";\r\n fjs.parentNode.insertBefore(js, fjs);\r\n }(document, 'script', 'facebook-jssdk')); \r\n\r\n return new Promise(resolve => {\r\n // wait for facebook sdk to initialize before starting the vue app\r\n window.fbAsyncInit = function () {\r\n FB.init({ // eslint-disable-line no-undef\r\n appId: '1718590075084121',\r\n cookie: true,\r\n xfbml: true,\r\n version: 'v12.0',\r\n //status: true,\r\n scope: 'email' // Make sure 'email' scope is included\r\n });\r\n\r\n resolve();\r\n };\r\n });\r\n}","import { createApp } from \"vue\";\nimport app from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport DOMPurify from \"dompurify\";\nimport 'sweetalert2/dist/sweetalert2.min.css';\nimport { STN } from \"@/modules/init_utilities.js\";\nimport { initFirebaseSdk } from \"@/modules/init_firebase.js\";\nimport { initFacebookSdk } from \"@/modules/init_facebook.js\";\n\n// wait for firebase sdk \ninitFirebaseSdk().then(() => {\n // wait for facebook sdk \n initFacebookSdk().then(() => {\n const App = createApp(app);\n\n // global error handler\n App.config.errorHandler = function (err, vm, info) {\n // handle error\n // `info` is a Vue-specific error info, e.g. which lifecycle hook\n // the error was found in. Only available in 2.2.0+\n STN.logError(\"main.js\", \"errorHandler: \\nerr:\" + err + \"\\nvm:\" + vm + \"\\ninfo:\" + info);\n //alert( \"errorHandler: \\nerr:\" + err + \"\\nvm:\" + vm + \"\\ninfo:\" + info);\n };\n\n // global error handler\n window.onerror = function (msg, url, line, col, error) {\n STN.logError(\"main.js\", \"window.onerror: \\nmsg:\" + msg + \"\\nurl:\" + url + \"\\nline:\" + line + \"\\ncol:\" + col + \"\\nerror:\" + error);\n //alert(\"window.onerror: \\nmsg:\" + msg + \"\\nurl:\" + url + \"\\nline:\" + line + \"\\ncol:\" + col + \"\\nerror:\" + error);\n };\n\n // global error handler\n window.addEventListener('unhandledrejection', function(event) {\n //event.promise contains the promise object\n //event.reason contains the reason for the rejection\n STN.logError(\"main.js\", \"unhandledrejection: \\n\" + event.reason);\n //alert(\"unhandledrejection: \\n\" + event.reason);\n });\n\n App\n .use(router)\n .use(store)\n .use(DOMPurify, {default: {USE_PROFILES: {html: true}}})\n .provide(\"STN\", App.config.globalProperties.STN = STN) // eliminates need for inject: [\"STN\"] in components\n .mount('#app');\n\n if ('serviceWorker' in navigator) {\n // Listen for messages from service worker\n navigator.serviceWorker.addEventListener('message', event => {\n if (event && event.data && event.data.type === 'navigate') {\n window.location.href = event.data.url;\n window.focus();\n }\n });\n } else {\n console.warn('Service workers are not supported in this browser.');\n }\n });\n});\n\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"115\":\"04f2eb33\",\"442\":\"2145815f\",\"561\":\"7641eea2\",\"657\":\"5a68594f\",\"735\":\"b1f4faab\",\"1133\":\"9d07aba9\",\"1189\":\"ee004fe3\",\"1243\":\"36a522a8\",\"1347\":\"7163b691\",\"1480\":\"15f98939\",\"1727\":\"39cc9cd4\",\"1959\":\"0787200b\",\"1968\":\"b064df00\",\"2020\":\"03ec3362\",\"2026\":\"085ea21d\",\"2126\":\"4b6b6ed1\",\"2229\":\"ccdd512d\",\"2273\":\"05a6aed1\",\"2330\":\"481cfece\",\"2382\":\"123fed7d\",\"2540\":\"5fcc80e7\",\"2595\":\"5f6896b8\",\"2766\":\"6976f512\",\"2940\":\"c14df05d\",\"2974\":\"994d1e68\",\"2987\":\"828df89c\",\"3010\":\"fc52faf5\",\"3053\":\"a63d38d9\",\"3103\":\"f31d8607\",\"3139\":\"d8925f80\",\"3159\":\"99bae165\",\"3299\":\"82e63f96\",\"3375\":\"3258f175\",\"3602\":\"e4b487dd\",\"3742\":\"a94c9c47\",\"3782\":\"32bc5800\",\"3823\":\"b1368dc7\",\"3894\":\"0f4b65a0\",\"3963\":\"6c92ffb5\",\"3986\":\"947696e3\",\"4352\":\"7adbebb8\",\"4380\":\"02dfa796\",\"4381\":\"43139ec1\",\"4488\":\"c1da8ee4\",\"4649\":\"3654069d\",\"4762\":\"9a211e8e\",\"4856\":\"43cd8999\",\"4894\":\"351e41b9\",\"4951\":\"2e177d1f\",\"5104\":\"67967e13\",\"5218\":\"734107c2\",\"5267\":\"6cf33ffc\",\"5445\":\"8d276944\",\"5587\":\"1a4c81be\",\"5710\":\"5cf2be87\",\"5725\":\"ded69acc\",\"5732\":\"ce65238f\",\"5758\":\"26127730\",\"5852\":\"20fb0307\",\"6022\":\"3a063b75\",\"6131\":\"2e4d6e91\",\"6137\":\"1fcf619f\",\"6309\":\"a18809fc\",\"6517\":\"b9196bbd\",\"6573\":\"b29429bf\",\"6837\":\"37a90b29\",\"6859\":\"1a916684\",\"6896\":\"94eaf504\",\"7456\":\"2bf545a8\",\"7457\":\"ec23ebfd\",\"7506\":\"1938c4e0\",\"7652\":\"fc7ac62c\",\"7703\":\"2c5f2781\",\"7719\":\"adf718a2\",\"8035\":\"1923dd75\",\"8086\":\"333ce5d1\",\"8124\":\"31d28c4b\",\"8155\":\"2c35f588\",\"8316\":\"b2f7031e\",\"8371\":\"c38a4f64\",\"8587\":\"38755dd2\",\"8611\":\"854176a3\",\"8751\":\"abf1546c\",\"8973\":\"074fffad\",\"9202\":\"9a87c274\",\"9226\":\"7d642e71\",\"9245\":\"7739389f\",\"9415\":\"d5d14589\",\"9513\":\"3c1ee6bb\",\"9570\":\"82801e03\",\"9637\":\"ef7578fc\",\"9700\":\"52bd2856\",\"9707\":\"65a2d4d6\",\"9925\":\"65c51355\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"115\":\"74551307\",\"442\":\"5eb9343e\",\"657\":\"74551307\",\"1480\":\"74551307\",\"1727\":\"74551307\",\"2020\":\"74551307\",\"2026\":\"6d1ca4b5\",\"2229\":\"6d1ca4b5\",\"2330\":\"b8562b2d\",\"2595\":\"b8562b2d\",\"2940\":\"74551307\",\"3742\":\"74551307\",\"4762\":\"6d1ca4b5\",\"4856\":\"74551307\",\"5104\":\"74551307\",\"5218\":\"74551307\",\"5445\":\"74551307\",\"5758\":\"74551307\",\"6137\":\"74551307\",\"6517\":\"74551307\",\"8035\":\"74551307\",\"8086\":\"74551307\",\"8611\":\"74551307\",\"8973\":\"5eb9343e\",\"9202\":\"74551307\",\"9513\":\"6d1ca4b5\",\"9700\":\"74551307\",\"9707\":\"74551307\",\"9925\":\"6d1ca4b5\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"vue-3-authentication-jwt:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"https://shopperhub.cxgroup.com/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"115\":1,\"442\":1,\"657\":1,\"1480\":1,\"1727\":1,\"2020\":1,\"2026\":1,\"2229\":1,\"2330\":1,\"2595\":1,\"2940\":1,\"3742\":1,\"4762\":1,\"4856\":1,\"5104\":1,\"5218\":1,\"5445\":1,\"5758\":1,\"6137\":1,\"6517\":1,\"8035\":1,\"8086\":1,\"8611\":1,\"8973\":1,\"9202\":1,\"9513\":1,\"9700\":1,\"9707\":1,\"9925\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkvue_3_authentication_jwt\"] = self[\"webpackChunkvue_3_authentication_jwt\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(9527); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","id","_createBlock","_resolveDynamicComponent","$options","layout","_renderSlot","_ctx","$slots","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_router_view","_component_Layout_Footer","_component_Layout_MobileSnackbar","init_fontawesome","document","querySelector","scriptA","createElement","async","defer","src","appendChild","_imports_0","_imports_1","_imports_2","_imports_3","style","srcset","alt","_hoisted_6","_hoisted_16","_hoisted_19","_hoisted_21","_hoisted_37","_hoisted_4","_hoisted_5","onClick","_cache","$event","goDashboard","isLoggedIn","_createElementBlock","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","STN","redirect","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","args","toggleShopsNav","_hoisted_18","goMessages","toggleAccountNav","toggleHelpNav","goLogOff","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","goFindShops","goSubmitShops","isShopsNavOpen","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","goMyAccount","goMyAccountExtended","goMyAccountPayment","goMyAccountTax","goMyAccountPhotoID","goMyAccountChangePassword","isOauthUser","goMyAccountEmailSettings","goMyAccountNotificationSettings","goMyAccountDeactivate","isAccountNavOpen","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","goHelp","goHelpFAQ","goHelpShopperGuide","isHelpNavOpen","_hoisted_35","_hoisted_36","openMobileNav","isMobileNavOpen","closeMobileNav","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_toDisplayString","$store","getters","getPageTitle","_normalizeStyle","createRowStyle","innerHTML","alertMessage","name","data","computed","this","isBlank","padding","state","auth","status","loggedIn","l_oUserData","getUser","LoginSource","methods","getAlerts","isVendorLogin","MaintenanceWarnOrLogoff","HasReportsInError","GeneralMessage","commit","closeAllNavDropdowns","goAlerts","p_bIsMobile","window","open","dispatch","updated","__exports__","_hoisted_7","script","$data","isiOS","isAndroid","closeSnackbar","href","init","detectMobile","then","snackbarLastDismissed","localStorage","getItem","oneWeek","Date","now","isMobile","_os","getMobileOperatingSystem","catch","error","console","setItem","toString","Promise","resolve","reject","xmlhttp","XMLHttpRequest","key","ua","navigator","userAgent","url","onreadystatechange","readyState","match","JSON","parse","responseText","Values","IsTablet","IsMobile","Error","send","e","vendor","opera","test","MSStream","mounted","components","Layout_Footer","Layout_Header","Layout_MobileSnackbar","layoutMeta","$route","meta","Layout_NoHeader","beforeMount","render","API_URL","BASE_URL","IMAGECONVERTER_URL","AVUPLOADHANDLER_URL","_desktopVersion","_debug","_actionMessageTimerID","_minutesBetweenCommonDataRefresh","_minutesBetweenShopDataRefresh","_retries","_timeout","_lastRedirectModel","actionMessageShow","p_sMessage","p_iTimeoutSeconds","clearTimeout","l_oMsgDiv","getElementById","visibility","display","scroll","getPosition","hideProgress","setTimeout","actionMessageShowOAuth","p_sID","actionMessageClear","STATUS_OK","STATUS_UNAUTHORIZED","STATUS_THROTTLE","fetchWithTimeout","request","timeout","timer","fetch","response","err","retryFetch","retries","i","warn","res","handleError","message","debugInfo","code","additionalInfo","logError","stnFetch","p_sCallingPage","p_sCallingFunction","p_sMethod","p_sController","p_oData","p_bGetFirstResultOnly","l_sData","l_sDebugInfo","showProgress","stringify","diError","sanitizeObject","l_sURL","connectionMessageClear","l_oMaintenanceModeRequest","Request","method","mode","cache","t_oMaintenanceModeResponse","ok","l_oMaintenanceModeResult","json","l_oMaintenanceModeResponseModel","responseModel","getStatus","l_sStatus","getModel","Status","headers","Headers","store","getAuthHeader","l_oMainRequest","body","t_oMainResponse","l_oMainResult","l_oMainResponseModel","getMessage","router","replace","Message","checkPasswordPolicy","p_sPassword","length","getApplyData","l_oApplyData","getApplicant","EmailAddress","EncryptedReferrerID","ReferralLocationID","OauthType","OauthID","UserName","Password","FirstName","LastName","BirthDate","StreetAddress1","StreetAddress2","City","State","Country","ZipCode","HomePhone","Referrer","ServerTime","getAVUploadHandlerURL","GetBaseURL","getBase64StringFromDataURL","dataURL","getCommonPageData","l_oData","EvaluatorID","Username","Address","NeedsToEnterSSN","HasNewMessages","ServerDate","ForceChange","CurrentMobileAndroidVersions","CurrentMobileiOSVersions","APIMaintenanceMode","HasUnansweredRequiredDemographics","HasExpiredDemographics","HasUnsignedICA","ProfilePhoto","InvalidEmail","ForumUsername","FindShopsSearchType","TimeStamp","l_iDiffOfLastRefresh","p_bForceRefresh","l_oDate","getMinutesBetweenDates","TimeInMinutesToRefreshCommonPageData","TimeInMinutesToRefreshShopData","getCachedShopData","l_oExistingShopData","getShopDataFromCache","timeStamp","l_oNewShopData","l_oNewStateModel","getEvaluatorBasicInfo","getEvaluatorID","getLoginSource","p_oStartDate","p_oEndDate","l_oDiff","getTime","el","rect","getBoundingClientRect","l_iTop","top","scrollY","left","scrollX","getUploadHandlerURL","getWarningCount","l_iCount","substr","l_oEvaluatorID","isBestmarkNevadaMultishopperLogin","p_oVar","constructor","Object","prop","hasOwnProperty","undefined","isDate","p_sValue","isEmail","isNumeric","numNum","isNaN","p_sErrorSource","p_sErrorText","p_bLogout","p_bRedirect","p_sErrorCode","l_sErrorCode","l_oRouteParams","getRouteParams","indexOf","swal","text","confirmButtonColor","confirmButtonText","allowOutsideClick","params","errorCode","l_oDataModel","ErrorSource","ErrorText","append","l_oLogErrorRequest","t_oLogErrorResponse","t_oLogErrorResult","errorThrown","_err","onMounted","openGuidelines","p_sUrl","title","showCancelButton","cancelButtonColor","cancelButtonText","result","value","decodeURI","p_oRouteData","p_bOpenInNewWindow","p_bReplace","l_oRedirectModel","push","redirectBack","l_sMessage","l_oModel","l_bIsEmpty","isModelEmpty","setValues","p_oModel","Model","keys","p_oModelJSON","obj","sanitizedObj","DOMPurify","setPersonAttribute","p_sAttributeTypeID","p_sAttributeData","AttributeTypeID","AttributeData","stateList_US","stateList_CA","radiusList","countryList","initialState","user","inject","namespaced","actions","login","p_oCredentials","l_oResult","getAutoLoginResult","EncryptedEvaluatorID","encryptedEvaluatorID","getAutoLoginResultBestmarkResult","EncryptedAssignmentID","encryptedAssignmentID","getLoginResult","btoa","username","password","getOAuthLoginResult","type","authID","bn","Active","Token","l_oGetCommonPageDataResult","fc","remember","Notification","requestPermission","permission","messaging","getMessaging","getToken","vapidKey","currentToken","onMessage","payload","jsonObject","_gaoh","getGigspotAssignmentOnHold","l_oBackgroundMessagePayloadParams","getBackgroundMessagePayloadParams","assignmentID","callingPage","pageName","logout","getLogoutResult","mutations","loginSuccess","forumAuthHeader","getAuth","signOut","shopSearchResults","shopsNearMeResults","authHeader","createStore","modules","routeParams","pageTitle","cachedShopData","applicant","backgroundMessagePayloadParams","currentQuestionnaireAnswers","currentAssignmentID","gigspotAssignmentOnHold","isBestmarkManualLogin","getCurrentAssignmentID","getForumAuthHeader","getIsBestmarkManualLogin","getShopSearchResults","getShopsNearMeResults","getCurrentQuestionnaireAnswers","setRouteParams","in_params","setIsShopsNavOpen","in_truefalse","setIsAccountNavOpen","setIsHelpNavOpen","setIsMobileNavOpen","toggleMobileNav","setApplicant","in_applicant","setCurrentAssignmentID","in_currentAssignmentID","setAuthHeader","in_authHeader","setUser","in_user","setPageTitle","in_pageTitle","setBackgroundMessagePayloadParams","in_payloadParams","setGigspotAssignmentOnHold","in_gigspotAssignmentOnHold","setIsBestmarkManualLogin","in_isBestmarkManualLogin","setShopSearchResults","in_shopSearchResults","setShopDataToCache","in_shopData","setShopsNearMeResults","in_shopsNearMeResults","setCurrentQuestionnaireAnswers","in_currentQuestionnaireAnswers","PreRouteChecks","to","from","next","query","eid","aid","FilterVendorLoginAccess","FilterBestmarkNevadaMultishopperLoginAccess","l_oInfo","l_oStoredCredentials","path","AssignmentID","lastViewedShop","l_oRouteData","l_oCredentials","newParams","routes","component","beforeEnter","createRouter","history","createWebHashHistory","afterEach","beforeEach","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","initFirebaseSdk","getApps","initializeApp","register","ready","log","registered","cached","updatefound","offline","initFacebookSdk","d","s","js","fjs","getElementsByTagName","parentNode","insertBefore","fbAsyncInit","FB","cookie","xfbml","version","scope","App","createApp","app","config","errorHandler","vm","info","onerror","msg","line","col","addEventListener","event","reason","use","default","USE_PROFILES","html","provide","globalProperties","mount","serviceWorker","location","focus","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","a","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prototype","inProgress","dataWebpackPrefix","l","done","needAttach","scripts","getAttribute","charset","nc","setAttribute","onScriptComplete","prev","onload","doneFns","removeChild","forEach","bind","target","head","Symbol","toStringTag","p","createStylesheet","fullhref","oldTag","linkTag","rel","onLinkComplete","errorType","realHref","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}