{"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","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","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","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","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","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":""}