{"version":3,"file":"js/app.729ec9d1.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":["\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default function init_fontawesome() {\r\n if(document.querySelector(\"script[src='https://kit.fontawesome.com/bbd8419e97.js']\")){ return; }\r\n else {\r\n const scriptA = document.createElement('script');\r\n scriptA.async = true;\r\n scriptA.defer = true;\r\n scriptA.src=\"https://kit.fontawesome.com/bbd8419e97.js\";\r\n document.querySelector('head').appendChild(scriptA);\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Help\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n My Dashboard\r\n \r\n shops\r\n \r\n Messages\r\n \r\n my account\r\n \r\n \r\n help\r\n \r\n Logout\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n SHOPS\r\n \r\n \r\n find shops\r\n submit shops\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n MY ACCOUNT\r\n \r\n \r\n General Profile\r\n Extended Profile\r\n Payment Info\r\n Tax Info\r\n Photo ID\r\n Intro & Experience Video\r\n Change Password\r\n Email Preferences\r\n Notification Preferences\r\n Deactivate Account\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n HELP\r\n \r\n \r\n HelpDesk\r\n FAQ\r\n Shopper Guide from QA\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n help\r\n \r\n HelpDesk\r\n \r\n \r\n \r\n\r\n \r\n \r\n My Dashboard\r\n \r\n shops\r\n \r\n find shops\r\n submit shops\r\n \r\n \r\n Messages\r\n \r\n my account\r\n \r\n General Profile\r\n Extended Profile\r\n Payment Info\r\n Tax Info\r\n Photo ID\r\n Intro & Experience Video\r\n Change Password\r\n Email Preferences\r\n Notification Preferences\r\n Deactivate Account\r\n \r\n \r\n \r\n help\r\n \r\n HelpDesk\r\n FAQ\r\n Shopper Guide from QA\r\n \r\n \r\n Logout\r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n {{ this.$store.getters.getPageTitle }}\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_Header.vue?vue&type=template&id=232065ae\"\nimport script from \"./Layout_Header.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_Header.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n {{ this.$store.getters.getPageTitle }}\r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_NoHeader.vue?vue&type=template&id=e8156f5a\"\nimport script from \"./Layout_NoHeader.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_NoHeader.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./Layout_Footer.vue?vue&type=template&id=fa255134\"\nconst script = {}\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n × \r\n \r\n ShopperHub app now available!\r\n \r\n \r\n \r\n \r\n \r\n \r\n ShopperHub app now available!\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { render } from \"./Layout_MobileSnackbar.vue?vue&type=template&id=6754802b\"\nimport script from \"./Layout_MobileSnackbar.vue?vue&type=script&lang=js\"\nexport * from \"./Layout_MobileSnackbar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=e497e2a0\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=e497e2a0&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import store from '@/store/index';\r\nimport router from '@/router';\r\nimport swal from 'sweetalert2'\r\nimport DOMPurify from \"dompurify\";\r\n\r\nconst API_URL = process.env.VUE_APP_API_URL;\r\nconst BASE_URL = process.env.VUE_APP_BASE_URL;\r\n\r\n\r\nconst AVUPLOADHANDLER_URL = process.env.VUE_APP_AVUPLOADHANDLER_URL;\r\nconst SELFIEVIDEOUPLOADHANDLER_URL = process.env.VUE_APP_SELFIEVIDEOUPLOADHANDLER_URL;\r\n\r\nconst UPLOADANDSAVECLARIFICATIONIMAGE_URL = process.env.VUE_APP_UPLOADANDSAVECLARIFICATIONIMAGE_URL;\r\nconst UPLOADANDSAVEEINIMAGE_URL = process.env.VUE_APP_UPLOADANDSAVEEINIMAGE_URL;\r\nconst UPLOADANDSAVEQEIMAGE_URL = process.env.VUE_APP_UPLOADANDSAVEQEIMAGE_URL;\r\nconst UPLOADANDSAVEPHOTOID_URL = process.env.VUE_APP_UPLOADANDSAVEPHOTOID_URL;\r\nconst UPLOADANDSAVEPROFILEPHOTO_URL = process.env.VUE_APP_UPLOADANDSAVEPROFILEPHOTO_URL;\r\nconst UPLOADANDPROCESSPDFQE_URL = process.env.VUE_APP_UPLOADANDPROCESSPDFQE_URL;\r\nconst UPLOADANDPROCESSPDFCLARIFICATION_URL = process.env.VUE_APP_UPLOADANDPROCESSPDFCLARIFICATION_URL;\r\nconst UPLOADANDPROCESSPDFFIRSTPAGEONLY_URL = process.env.VUE_APP_UPLOADANDPROCESSPDFFIRSTPAGEONLY_URL;\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst DEBUG = process.env.VUE_APP_DEBUG === 'true'; \r\n\r\n// global namespace using the 'revealing' pattern /////////////////////////////////////////////////\r\nexport const STN = (() => {\r\n const _desktopVersion = '25.3.26.1';\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 = 1000;\r\n let _lastRedirectModel = {};\r\n let _actionMessageTimerID;\r\n // constants for status messages\r\n const STATUS_OK = 'OK';\r\n const STATUS_UNAUTHORIZED = 'Unauthorized';\r\n const STATUS_THROTTLE = 'THROTTLE';\r\n\r\n\r\n if (!API_URL || !BASE_URL || !AVUPLOADHANDLER_URL || !SELFIEVIDEOUPLOADHANDLER_URL) {\r\n console.error('Missing environment variables: Check VUE_APP_API_URL, VUE_APP_BASE_URL, etc.');\r\n }\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 // 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')); // this bypasses timers, so:\r\n resolve({\r\n status: 418, \r\n error: 'Request timed out'\r\n });\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); // this bypasses timers, so:\r\n resolve({\r\n status: 418,\r\n error: err\r\n });\r\n });\r\n });\r\n };\r\n\r\n \r\n // retry logic with fixed wait time based on remaining timeout\r\n const retryFetch = async (request, retries, timeout) => {\r\n const requestString = typeof request === 'string' ? request : request.url || 'Unknown request';\r\n\r\n for (let attempt = 0; attempt < retries; attempt++) {\r\n if (DEBUG && (requestString.indexOf(\"GetMaintenanceMode\") == -1)) {\r\n console.warn(`Trying request... Attempt ${attempt + 1} for ${requestString}. `);\r\n }\r\n\r\n const startTime = Date.now();\r\n let response;\r\n\r\n try {\r\n const remainingTime = Math.max(timeout - (Date.now() - startTime), 0); // remaining time for this attempt\r\n response = await fetchWithTimeout(request, remainingTime); // attempt the fetch with the current remaining time\r\n\r\n if (response.status === 200) {\r\n return response; // Return immediately if status is 200\r\n } else {\r\n throw new Error(`HTTP status ${response.status}`);\r\n }\r\n } catch (error) {\r\n const elapsedForAttempt = Date.now() - startTime; // elapsed time for this attempt\r\n const waitTime = Math.max(timeout - elapsedForAttempt, 0); // wait time before next retry\r\n\r\n if (attempt < retries - 1) {\r\n if (DEBUG) {\r\n console.warn(`Attempt ${attempt + 1} failed. Waiting for ${waitTime} ms until retry.`);\r\n }\r\n \r\n await new Promise(res => setTimeout(res, waitTime));\r\n } else {\r\n // log and rethrow error if no more retries are left\r\n if (DEBUG) {\r\n console.error(`Fetch failed after ${retries} attempts:`, error);\r\n }\r\n \r\n throw error;\r\n\r\n // // Log and rethrow error after waiting for [waitTime] - doesn't really make sense...\r\n // if (DEBUG) {\r\n // console.error(`Fetch failed after ${retries} attempts:`, error);\r\n // console.warn(`Waiting for ${waitTime} ms before throwing error.`);\r\n // }\r\n // await new Promise(res => setTimeout(res, waitTime));\r\n // throw error; // Rethrow the error after the wait time \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) => {\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 _retries = parseInt(l_oMaintenanceModeResponseModel.getModel()[0].RetryCount, 10);\r\n if (isNaN(_retries)) {\r\n _retries = 3;\r\n }\r\n _timeout = parseInt(l_oMaintenanceModeResponseModel.getModel()[0].RetryTimeout, 10);\r\n if (isNaN(_timeout)) {\r\n _timeout = 20000;\r\n }\r\n _minutesBetweenCommonDataRefresh = parseInt(l_oMaintenanceModeResponseModel.getModel()[0].MinutesBetweenCommonDataRefresh, 10);\r\n if (isNaN(_minutesBetweenCommonDataRefresh)) {\r\n _minutesBetweenCommonDataRefresh = 5;\r\n }\r\n _minutesBetweenShopDataRefresh = parseInt(l_oMaintenanceModeResponseModel.getModel()[0].MinutesBetweenShopDataRefresh, 10);\r\n if (isNaN(_minutesBetweenShopDataRefresh)) {\r\n _minutesBetweenShopDataRefresh = 5;\r\n }\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 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 apply 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 const getBase64StringFromDataURL = (dataURL) => {\r\n return dataURL.replace('data:', '').replace(/^.+,/, '');\r\n };\r\n\r\n\r\n // get open shop data\r\n const getCachedShopData = async (p_bForceRefresh) => {\r\n // new 2024_01_03 task 1274814682\r\n let l_oExistingShopData = await store.getters.getShopDataFromCache;\r\n let l_iDiffOfLastRefresh = 999999;\r\n\r\n try {\r\n if (!isBlank(l_oExistingShopData) && (l_oExistingShopData.timeStamp && !isBlank(l_oExistingShopData.timeStamp.toString())) && !p_bForceRefresh) {\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 }\r\n\r\n if (DEBUG) {\r\n console.warn(`Shop l_iDiffOfLastRefresh: ${l_iDiffOfLastRefresh}, _minutesBetweenShopDataRefresh ${_minutesBetweenShopDataRefresh}`);\r\n }\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 if (isBlank(l_oNewShopData)) {\r\n l_oNewShopData = [];\r\n }\r\n\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\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 // get evaluator data\r\n const getCommonPageData = async (p_bForceRefresh) => {\r\n let l_oData = await store.getters.getUser;\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 ProfileCompletionPercent: '',\r\n StreetAddress: '',\r\n City: '',\r\n StateID: '', \r\n ZipCode: '', \r\n CountryID: '', \r\n Radius: '', \r\n HomeLAT: '', \r\n HomeLNG: '', \r\n AnnouncementDate: '', \r\n ScheduledShops: '', \r\n ShopsInProcess: '', \r\n ShopsNeedingAttention: '', \r\n PaymentsPending: '', \r\n RequestedShops: '',\r\n ShowSelfieVideo: '',\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 }\r\n\r\n if (DEBUG) {\r\n console.warn(`User l_iDiffOfLastRefresh: ${l_iDiffOfLastRefresh}, _minutesBetweenCommonDataRefresh ${_minutesBetweenCommonDataRefresh}`);\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 // 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 l_oData.ProfileCompletionPercent = l_oMainResponseModel.ProfileCompletionPercent;\r\n l_oData.StreetAddress = l_oMainResponseModel.StreetAddress;\r\n l_oData.City = l_oMainResponseModel.City;\r\n l_oData.StateID = l_oMainResponseModel.StateID;\r\n l_oData.ZipCode = l_oMainResponseModel.ZipCode;\r\n l_oData.CountryID = l_oMainResponseModel.CountryID;\r\n l_oData.Radius = l_oMainResponseModel.Radius;\r\n l_oData.HomeLAT = l_oMainResponseModel.HomeLAT;\r\n l_oData.HomeLNG = l_oMainResponseModel.HomeLNG;\r\n l_oData.AnnouncementDate = l_oMainResponseModel.AnnouncementDate;\r\n l_oData.ScheduledShops = l_oMainResponseModel.ScheduledShops;\r\n l_oData.ShopsInProcess = l_oMainResponseModel.ShopsInProcess;\r\n l_oData.ShopsNeedingAttention = l_oMainResponseModel.ShopsNeedingAttention;\r\n l_oData.PaymentsPending = l_oMainResponseModel.PaymentsPending;\r\n l_oData.RequestedShops = l_oMainResponseModel.RequestedShops;\r\n l_oData.ShowSelfieVideo = l_oMainResponseModel.ShowSelfieVideo;\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 // EvaluatorID property\r\n const getEvaluatorID = () => {\r\n const user = store.getters.getUser;\r\n return user ? user.EvaluatorID : null;\r\n };\r\n\r\n\r\n // LoginSource property\r\n const getLoginSource = () => {\r\n try{\r\n let l_oData = store.getters.getUser;\r\n return l_oData.LoginSource;\r\n } catch(e) {\r\n return null;\r\n }\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 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 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 const evaluatorID = getEvaluatorID();\r\n return evaluatorID ? [3967074, 3883617, 1312205, 3009043, 3846363].includes(evaluatorID) : false;\r\n };\r\n\r\n\r\n const isBestmarkNevadaMultishopperLogin = async () => {\r\n const evaluatorID = getEvaluatorID();\r\n return evaluatorID === 4094485;\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 = (email) => {\r\n const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n return !isBlank(email) && emailPattern.test(email);\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 //const redirect = async (p_oRouteData, p_bOpenInNewWindow = false, p_bReplace = false) => {\r\n const redirect = async (p_oRouteData, 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 // Store last redirect model if not an error route\r\n if (l_oRedirectModel && l_oRedirectModel.name && typeof l_oRedirectModel.name === 'string' && !l_oRedirectModel.name.includes('error')) {\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 actionMessageClear: actionMessageClear,\r\n actionMessageShow: actionMessageShow,\r\n actionMessageShowOAuth: actionMessageShowOAuth,\r\n checkPasswordPolicy: checkPasswordPolicy,\r\n countryList: countryList,\r\n getApplyData: getApplyData,\r\n getAVUploadHandlerURL: () => AVUPLOADHANDLER_URL,\r\n getBase64StringFromDataURL: getBase64StringFromDataURL,\r\n GetBaseURL: () => BASE_URL,\r\n getCachedShopData: getCachedShopData,\r\n getClarificationImageUploadHandlerURL: () => UPLOADANDSAVECLARIFICATIONIMAGE_URL,\r\n getCommonPageData: getCommonPageData,\r\n getDebug: () => DEBUG,\r\n getEINImageUploadHandlerURL: () => UPLOADANDSAVEEINIMAGE_URL,\r\n getEvaluatorID: getEvaluatorID,\r\n getLoginSource: getLoginSource,\r\n getMinutesBetweenDates: getMinutesBetweenDates,\r\n getPDFFirstPageOnlyUploadHandlerURL: () => UPLOADANDPROCESSPDFFIRSTPAGEONLY_URL,\r\n getPDFClarificationUploadHandlerURL: () => UPLOADANDPROCESSPDFCLARIFICATION_URL,\r\n getPDFQEUploadHandlerURL: () => UPLOADANDPROCESSPDFQE_URL,\r\n getPhotoIDImageUploadHandlerURL: () => UPLOADANDSAVEPHOTOID_URL,\r\n getPosition: getPosition,\r\n getProfilePhotoImageUploadHandlerURL: () => UPLOADANDSAVEPROFILEPHOTO_URL,\r\n getQEImageUploadHandlerURL: () => UPLOADANDSAVEQEIMAGE_URL,\r\n getSelfieVideoUploadHandlerURL: () => SELFIEVIDEOUPLOADHANDLER_URL,\r\n getWarningCount: getWarningCount,\r\n hideProgress: hideProgress,\r\n isBestmarkNevadaMultishopperLogin: isBestmarkNevadaMultishopperLogin,\r\n isBlank: isBlank,\r\n isDate: isDate,\r\n isEmail: isEmail,\r\n isNumeric: isNumeric,\r\n isVendorLogin: isVendorLogin,\r\n logError: logError,\r\n onMounted: onMounted,\r\n openGuidelines: openGuidelines,\r\n radiusList: radiusList,\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 stateList_CA: stateList_CA,\r\n stateList_US: stateList_US,\r\n stnFetch: stnFetch\r\n };\r\n})();\r\n\r\nexport default STN; // ES module ","import { STN } from \"@/modules/init_utilities.js\";\r\nimport router from \"../router\";\r\nimport swal from 'sweetalert2'\r\nimport store from \"@/store/index\";\r\nimport { getToken, getMessaging, onMessage } from \"firebase/messaging\";\r\nimport { getAuth, signOut } from \"firebase/auth\";\r\n\r\nconst initialState = { status: { loggedIn: false }, user: null };\r\n\r\nconst handleError = async (error, commit) => {\r\n await store.dispatch('auth/logout');\r\n return error;\r\n};\r\n\r\n\r\nconst saveFCMToken = async (token) => {\r\n try { \r\n const l_oDataModel = { Token: token, IsMobile: false };\r\n return await STN.stnFetch(\r\n \"auth.module.js\",\r\n \"saveFCMToken\",\r\n \"POST\",\r\n \"SaveFCMTokenNEW\",\r\n l_oDataModel\r\n );\r\n } catch(error) {\r\n STN.logError(\"auth.module.js - saveFCMToken: \", error.message || error, false, false);\r\n throw error;\r\n }\r\n};\r\n\r\n\r\nconst setRememberMe = async (credentials) => {\r\n try {\r\n if (credentials.remember) {\r\n localStorage.setItem(\"RememberMe\", JSON.stringify(credentials));\r\n } else {\r\n localStorage.setItem(\"RememberMe\", null);\r\n }\r\n } catch(error) {\r\n STN.logError(\"auth.module.js - setRememberMe: \", error.message || error, false, false);\r\n } finally {\r\n return true;\r\n }\r\n};\r\n\r\n\r\nconst processLogin = async (credentials, commit) => {\r\n try {\r\n if (!STN.isBlank(credentials.encryptedEvaluatorID) && !STN.isBlank(credentials.encryptedAssignmentID) && !STN.isBlank(credentials.bn)) {\r\n // auto login from web/email link, qs value \"bn\" is present signifying Bestmark NV shopper\r\n return await STN.stnFetch(\r\n \"auth.module.js\",\r\n \"getAutoLoginResultBestmarkResult\",\r\n \"POST\",\r\n \"AutoLoginBestMark\",\r\n { EncryptedEvaluatorID: credentials.encryptedEvaluatorID, EncryptedAssignmentID: credentials.encryptedAssignmentID }, \r\n true\r\n );\r\n }\r\n else if (!STN.isBlank(credentials.encryptedEvaluatorID)) {\r\n // auto login from web/email link\r\n return await STN.stnFetch(\r\n \"auth.module.js\", \r\n \"getAutoLoginResult\", \r\n \"POST\", \r\n \"AutoLogin\", \r\n { EncryptedEvaluatorID: credentials.encryptedEvaluatorID }, \r\n true\r\n );\r\n } else if (credentials.type === \"Basic\") {\r\n // standard username / password login\r\n await store.commit('setAuthHeader', \"Basic \" + btoa(credentials.username + \":\" + credentials.password));\r\n \r\n return await STN.stnFetch(\r\n \"auth.module.js\", \r\n \"getLoginResult\", \r\n \"POST\", \r\n \"Login\"\r\n );\r\n } else {\r\n // oauth login\r\n await store.commit('setAuthHeader', \"OAuth \" + btoa(credentials.type + \":\" + credentials.authID));\r\n \r\n return await STN.stnFetch(\r\n \"auth.module.js\", \r\n \"getOAuthLoginResult\", \r\n \"POST\", \r\n \"LoginOAuth\"\r\n );\r\n }\r\n } catch(error) {\r\n STN.logError(\"auth.module.js - processLogin: \", error.message || error, false, false);\r\n return null;\r\n }\r\n};\r\n\r\n\r\nconst handleLoginResult = async (result, credentials, commit) => {\r\n try{\r\n if (STN.isBlank(result)) {\r\n return handleError(\"Please try again\", commit);\r\n }\r\n\r\n if (result.EvaluatorID > 0) {\r\n if (result.Active == true) {\r\n await store.commit('setAuthHeader', \"Basic \" + btoa(result.EvaluatorID + \":\" + result.Token));\r\n\r\n\r\n // get (possibly cached) user data \r\n let l_oCommonPageData;\r\n let l_oCachedCommonPageData; \r\n try {\r\n l_oCachedCommonPageData = JSON.parse(localStorage.getItem(\"User\"));\r\n } catch(ee) {\r\n //nada\r\n }\r\n\r\n // set cached user data \r\n if (!STN.isBlank(l_oCachedCommonPageData) && (parseInt(l_oCachedCommonPageData.EvaluatorID) == parseInt(result.EvaluatorID))) {\r\n // logged in with the same user as last session, re-use existing\r\n if (STN.getDebug()) {\r\n console.warn(`re-use user data`);\r\n }\r\n\r\n l_oCommonPageData = l_oCachedCommonPageData;\r\n await store.commit('setUser', l_oCachedCommonPageData);\r\n } else {\r\n // logged in with a different user than last session, force refresh\r\n if (STN.getDebug()) {\r\n console.warn(`fetch new user data`);\r\n }\r\n\r\n l_oCommonPageData = await STN.getCommonPageData(true);\r\n }\r\n\r\n\r\n // get (possibly cached) shop data \r\n let l_oCachedShopData; \r\n try {\r\n l_oCachedShopData = JSON.parse(localStorage.getItem(\"ShopDataToCache\"));\r\n } catch(ee) {\r\n //nada\r\n }\r\n\r\n // set cached shop data \r\n if ((!STN.isBlank(l_oCachedCommonPageData) && parseInt(l_oCachedCommonPageData.EvaluatorID) == parseInt(result.EvaluatorID)) \r\n && !STN.isBlank(l_oCachedShopData)) {\r\n // logged in with the same user as last session, re-use existing\r\n if (STN.getDebug()) {\r\n console.warn(`re-use shop data`);\r\n }\r\n\r\n await store.commit('setShopDataToCache', l_oCachedShopData);\r\n } else {\r\n // logged in with a different user than last session, force refresh\r\n if (STN.getDebug()) {\r\n console.warn(`fetch new shop data`);\r\n }\r\n\r\n await STN.getCachedShopData(true);\r\n } \r\n \r\n await store.commit('setUser', l_oCommonPageData);\r\n commit(\"loginSuccess\", l_oCommonPageData);\r\n await setRememberMe(credentials);\r\n await handleFCMToken();\r\n\r\n if (result.ForceChange) {\r\n return \"Please change your password\";\r\n } else if (!STN.isBlank(credentials.bn)) { // added 2025_03_10, special case for bn login\r\n return {\"AssignmentID\": result.AssignmentID}; \r\n } else {\r\n return null; // successful login\r\n }\r\n } else {\r\n //return handleError(\"Account inactive\", commit);\r\n return handleError(\"Your account is inactive, contact the CX Group Helpdesk for more information\", commit);\r\n }\r\n } else {\r\n await store.dispatch('auth/logout');\r\n \r\n if (credentials.type != \"Basic\") {\r\n // OAuth and does not exist in system, go to apply\r\n return \"APPLY\";\r\n }\r\n else {\r\n return handleError(\"Invalid credentials\", commit);\r\n }\r\n }\r\n } catch(error) {\r\n STN.logError(\"auth.module.js - handleLoginResult: \", error.message || error, false, false);\r\n return handleError(\"Please try again\", commit);\r\n }\r\n};\r\n\r\n\r\nconst handleFCMToken = async () => {\r\n try {\r\n // Request notification permission\r\n const permission = await Notification.requestPermission();\r\n if (permission !== 'granted') {\r\n console.warn(\"Notification permission not granted.\");\r\n return; // Exit if permission is not granted\r\n }\r\n\r\n const messaging = getMessaging();\r\n if (!messaging) {\r\n console.error(\"Firebase messaging instance could not be initialized.\");\r\n return; // Exit if messaging instance could not be retrieved\r\n }\r\n\r\n // Retrieve FCM token\r\n let currentToken;\r\n try {\r\n currentToken = await getToken(messaging, {\r\n vapidKey: \"BCAIXX8Y-SPzvk1tLWeqrPfHMExWkCEtkZCXEezXPROU4vi1HDavWIGAejwKzbYla48g8ynRRBGbaGXSJXBZQN0\"\r\n });\r\n } catch (tokenError) {\r\n console.error(\"Error retrieving FCM token:\", tokenError);\r\n return; // Exit if there is an error while fetching the token\r\n }\r\n\r\n if (!currentToken) {\r\n console.warn(\"No FCM token received.\");\r\n return; // Exit if no token is received\r\n }\r\n\r\n // Save the token to your server/database\r\n try {\r\n await saveFCMToken(currentToken);\r\n console.log(\"FCM token successfully saved.\");\r\n } catch (saveError) {\r\n console.error(\"Error saving FCM token:\", saveError);\r\n return; // Exit if there's an error saving the token\r\n }\r\n\r\n // Listen for messages in the foreground\r\n try {\r\n onMessage(messaging, handleMessage);\r\n console.log(\"Foreground message listener is active.\");\r\n } catch (messageListenerError) {\r\n console.error(\"Error setting up foreground message listener:\", messageListenerError);\r\n }\r\n } catch (error) {\r\n const errorCode = error.code || error.toString(); // Fallback to error.toString() if error.code isn�t available\r\n if (errorCode && typeof errorCode === 'string' && !errorCode.includes(\"permission\")) {\r\n STN.logError(\"auth.module.js - handleFCMToken: \", error.message || error, false, false);\r\n } \r\n }\r\n};\r\n\r\n\r\nconst handleMessage = (payload) => {\r\n try {\r\n // Early exit if payload or payload.data is missing\r\n if (!payload) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Missing payload\", false, false);\r\n return;\r\n }\r\n\r\n if (!payload.data) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Missing data in payload\", false, false);\r\n return;\r\n }\r\n\r\n // Check if title exists within the payload.data object\r\n if (!payload.data.title) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Missing title in payload.data\", false, false);\r\n return;\r\n }\r\n\r\n // Proceed with the notification if title exists\r\n swal.fire({\r\n text: payload.data.title, \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 // Check for missing or blank params\r\n if (STN.isBlank(payload.data.params)) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Empty or missing params in payload\", false, false);\r\n STN.redirect(\"dashboard\");\r\n } else {\r\n try {\r\n // Safely parse JSON and handle malformed JSON\r\n const jsonObject = payload.data.params ? JSON.parse(payload.data.params) : {};\r\n\r\n // // Log the parsed object for debugging purposes\r\n // console.debug(\"Parsed JSON object:\", jsonObject);\r\n\r\n // Only redirect if the object is non-empty\r\n if (Object.keys(jsonObject).length === 0) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Empty JSON object after parsing\", false, false);\r\n STN.redirect(\"dashboard\");\r\n } else {\r\n STN.redirect(jsonObject);\r\n }\r\n } catch (e) {\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Error parsing JSON in payload.data.params: \" + e, false, false);\r\n STN.redirect(\"dashboard\");\r\n }\r\n }\r\n } else {\r\n // Ensure progress is hidden and swal is closed when cancelled\r\n STN.hideProgress();\r\n swal.close();\r\n }\r\n }).catch((err) => {\r\n // Catch any unexpected errors during the swal process\r\n STN.logError(\"auth.module.js - handleMessage: \", \"Unexpected error during swal process: \" + err, false, false);\r\n STN.hideProgress();\r\n swal.close();\r\n });\r\n } catch (error) {\r\n STN.logError(\"auth.module.js - handleMessage: \", error.message || error, false, false);\r\n STN.hideProgress();\r\n }\r\n};\r\n\r\n\r\nexport const auth = {\r\n inject: ['messaging'], // Use the inject option to access the provided messaging object\r\n namespaced: true,\r\n state: initialState,\r\n actions: {\r\n async login({ commit }, p_oCredentials) {\r\n try {\r\n await store.dispatch('auth/logout');\r\n\r\n // Clear out previous Google Maps setup\r\n if (window.google) window.google = null;\r\n if (window.googleMapsInit) window.googleMapsInit = null;\r\n \r\n if (STN.isBlank(p_oCredentials)) {\r\n return handleError(\"Please try again\", commit);\r\n } else {\r\n const processLoginResult = await processLogin(p_oCredentials, commit);\r\n const finalLoginResult = await handleLoginResult(processLoginResult, p_oCredentials, commit);\r\n\r\n if (STN.isBlank(finalLoginResult)) {\r\n // login success\r\n // resolved, make sure to pass through to next() if opening from external link / autoLogin\r\n if (STN.isBlank(p_oCredentials.encryptedEvaluatorID)) {\r\n const l_oBackgroundMessagePayloadParams = store.getters.getBackgroundMessagePayloadParams;\r\n if (l_oBackgroundMessagePayloadParams) {\r\n const jsonObject = JSON.parse(l_oBackgroundMessagePayloadParams);\r\n await store.commit('setBackgroundMessagePayloadParams', null);\r\n STN.redirect(jsonObject);\r\n } else {\r\n STN.redirect(\"dashboard\", true);\r\n }\r\n }\r\n } else if (finalLoginResult == \"Please change your password\") {\r\n STN.redirect({\r\n name: \"myaccount_changepassword\",\r\n params: {\r\n fc: 1\r\n }\r\n }, true);\r\n } else {\r\n return finalLoginResult;\r\n }\r\n }\r\n } catch (error) {\r\n STN.logError(\"auth.module.js - auth: \", error.message || error, false, false);\r\n return handleError(\"Please try again\", commit);\r\n }\r\n },\r\n\r\n async logout({ commit }) {\r\n try{\r\n let l_oDataModel = {\r\n IsMobile: false,\r\n };\r\n \r\n await STN.stnFetch(\r\n \"auth.module.js\",\r\n \"getLogoutResult\",\r\n \"POST\",\r\n \"Logoff\",\r\n l_oDataModel,\r\n true\r\n );\r\n \r\n store.state.auth.status.loggedIn = false;\r\n store.state.google = null;\r\n store.state.googleInitialized = false;\r\n store.state.initialized = false;\r\n //store.state.routeParams = null;\r\n store.state.isRootedOrJailbreak = false;\r\n store.state.isNavOpen = false;\r\n store.state.pageTitle = \"Login\";\r\n store.state.shopSearchResults = [];\r\n store.state.shopSearchType = \"\";\r\n store.state.cachedShopData = [];\r\n store.state.shopsNearMeResults = [];\r\n store.state.backgroundMessagePayloadParams = null;\r\n store.state.authHeader = null;\r\n store.state.forumAuthHeader = null;\r\n store.state.user = null;\r\n store.state.applicant = null;\r\n store.state.currentQuestionnaireAnswers = [];\r\n store.state.currentClarificationAnswers = [];\r\n\r\n //localStorage.clear();\r\n //sessionStorage.clear();\r\n } catch(error) {\r\n STN.logError(\"auth.module.js - logout: \", error.message || error, false, false);\r\n }\r\n },\r\n },\r\n\r\n mutations: {\r\n loginSuccess(state, user) {\r\n state.status.loggedIn = true;\r\n state.user = user;\r\n },\r\n },\r\n};\r\n","import { createStore } from \"vuex\";\r\nimport { auth } from \"./auth.module\";\r\nimport { STN } from \"@/modules/init_utilities.js\";\r\n\r\nconst store = createStore({\r\n modules: {\r\n auth,\r\n },\r\n\r\n // user-defined global state variables\r\n // https://vuex.vuejs.org/guide/state.html\r\n state: {\r\n google: null,\r\n googleInitialized: false,\r\n initialized: false,\r\n routeParams: null, \r\n isShopsNavOpen: false,\r\n isAccountNavOpen: false,\r\n isHelpNavOpen: false,\r\n isMobileNavOpen: false,\r\n pageTitle: \"Login\",\r\n shopSearchResults: [],\r\n cachedShopData: [],\r\n shopsNearMeResults: [],\r\n authHeader: null,\r\n forumAuthHeader: null,\r\n user: null,\r\n applicant: null,\r\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)\r\n currentQuestionnaireAnswers: [],\r\n currentClarificationAnswers: [],\r\n currentAssignmentID: null,\r\n gigspotAssignmentOnHold: null,\r\n isBestmarkManualLogin: false,\r\n },\r\n\r\n // user-defined getters are exposed and accessible via this.$store.getters......\r\n // https://vuex.vuejs.org/guide/getters.html\r\n getters: {\r\n // google maps\r\n getGoogle: (state) => {\r\n return state.google;\r\n },\r\n isGoogleInitialized: (state) => {\r\n return state.googleInitialized;\r\n },\r\n isInitialized: (state) => {\r\n return state.initialized;\r\n },\r\n\r\n\r\n // routing\r\n getRouteParams: (state) => {\r\n if (!STN.isBlank(state.routeParams)){\r\n return state.routeParams;\r\n } else {\r\n return [];\r\n }\r\n },\r\n\r\n\r\n // nav\r\n isShopsNavOpen: (state) => {\r\n return state.isShopsNavOpen;\r\n },\r\n isAccountNavOpen: (state) => {\r\n return state.isAccountNavOpen;\r\n },\r\n isHelpNavOpen: (state) => {\r\n return state.isHelpNavOpen;\r\n },\r\n isMobileNavOpen: (state) => {\r\n return state.isMobileNavOpen;\r\n },\r\n\r\n\r\n // program\r\n getApplicant: (state) => {\r\n return state.applicant;\r\n },\r\n\r\n getAuthHeader: (state) => {\r\n return state.authHeader;\r\n },\r\n\r\n getCurrentAssignmentID: (state) => {\r\n return state.currentAssignmentID;\r\n },\r\n\r\n getForumAuthHeader: (state) => {\r\n return state.forumAuthHeader;\r\n },\r\n\r\n getUser: (state) => {\r\n return state.user;\r\n },\r\n\r\n getPageTitle: (state) => {\r\n return state.pageTitle;\r\n },\r\n\r\n\r\n // data\r\n getBackgroundMessagePayloadParams: (state) => {\r\n return state.backgroundMessagePayloadParams;\r\n },\r\n \r\n getGigspotAssignmentOnHold: (state) => {\r\n return state.gigspotAssignmentOnHold;\r\n },\r\n\r\n getIsBestmarkManualLogin: (state) => {\r\n return state.isBestmarkManualLogin;\r\n },\r\n \r\n getShopSearchResults: (state) => {\r\n return state.shopSearchResults;\r\n },\r\n\r\n getShopDataFromCache: (state) => {\r\n return state.cachedShopData;\r\n },\r\n\r\n getShopsNearMeResults: (state) => {\r\n return state.shopsNearMeResults;\r\n },\r\n\r\n getCurrentQuestionnaireAnswers: (state) => {\r\n return state.currentQuestionnaireAnswers;\r\n },\r\n\r\n getCurrentClarificationAnswers: (state) => {\r\n return state.currentClarificationAnswers;\r\n },\r\n },\r\n\r\n //user-defined mutations are the only way to change state in vuex\r\n // https://vuex.vuejs.org/guide/mutations.html#commit-with-payload\r\n mutations: {\r\n // google maps\r\n setGoogle(state, google) {\r\n state.google = google;\r\n },\r\n setGoogleInitialized(state, googleInitialized) {\r\n state.googleInitialized = googleInitialized;\r\n },\r\n setInitialized(state, initialized) {\r\n state.initialized = initialized;\r\n },\r\n\r\n\r\n // routing\r\n setRouteParams(state, in_params) {\r\n state.routeParams = in_params;\r\n },\r\n\r\n\r\n // nav\r\n setIsShopsNavOpen(state, in_truefalse) {\r\n state.isShopsNavOpen = in_truefalse;\r\n },\r\n toggleShopsNav(state) {\r\n state.isShopsNavOpen = !store.isShopsNavOpen;\r\n },\r\n setIsAccountNavOpen(state, in_truefalse) {\r\n state.isAccountNavOpen = in_truefalse;\r\n },\r\n toggleAccountNav(state) {\r\n state.isAccountNavOpen = !store.isAccountNavOpen;\r\n },\r\n setIsHelpNavOpen(state, in_truefalse) {\r\n state.isHelpNavOpen = in_truefalse;\r\n },\r\n toggleHelpNav(state) {\r\n state.isHelpNavOpen = !store.isHelpNavOpen;\r\n },\r\n setIsMobileNavOpen(state, in_truefalse) {\r\n state.isMobileNavOpen = in_truefalse;\r\n },\r\n toggleMobileNav(state) {\r\n state.isMobileNavOpen = !store.isMobileNavOpen;\r\n },\r\n\r\n\r\n // program\r\n setApplicant(state, in_applicant) {\r\n state.applicant = in_applicant;\r\n },\r\n\r\n setCurrentAssignmentID(state, in_currentAssignmentID) {\r\n state.currentAssignmentID = in_currentAssignmentID;\r\n },\r\n\r\n setAuthHeader(state, in_authHeader) {\r\n state.authHeader = in_authHeader;\r\n },\r\n\r\n setUser(state, in_user) {\r\n state.user = in_user;\r\n localStorage.setItem(\"User\", JSON.stringify(in_user));\r\n },\r\n\r\n setPageTitle(state, in_pageTitle) {\r\n state.pageTitle = in_pageTitle;\r\n },\r\n\r\n \r\n // data\r\n setBackgroundMessagePayloadParams(state, in_payloadParams) {\r\n state.backgroundMessagePayloadParams = in_payloadParams;\r\n },\r\n\r\n setGigspotAssignmentOnHold(state, in_gigspotAssignmentOnHold) {\r\n state.gigspotAssignmentOnHold = in_gigspotAssignmentOnHold;\r\n },\r\n\r\n setIsBestmarkManualLogin: (state, in_isBestmarkManualLogin) => {\r\n state.isBestmarkManualLogin = in_isBestmarkManualLogin;\r\n },\r\n\r\n setShopSearchResults(state, in_shopSearchResults) {\r\n state.shopSearchResults = in_shopSearchResults;\r\n },\r\n\r\n setShopDataToCache(state, in_shopData) {\r\n state.cachedShopData = in_shopData;\r\n localStorage.setItem(\"ShopDataToCache\", JSON.stringify(in_shopData));\r\n },\r\n\r\n setShopsNearMeResults: (state, in_shopsNearMeResults) => {\r\n state.shopsNearMeResults = in_shopsNearMeResults;\r\n },\r\n\r\n setCurrentQuestionnaireAnswers: (state, in_currentQuestionnaireAnswers) => {\r\n state.currentQuestionnaireAnswers = in_currentQuestionnaireAnswers;\r\n },\r\n\r\n setCurrentClarificationAnswers: (state, in_currentClarificationAnswers) => {\r\n state.currentClarificationAnswers = in_currentClarificationAnswers;\r\n },\r\n },\r\n\r\n actions: {\r\n async initializeGoogleMaps({ commit, state }, maxRetries = 5, retryDelay = 1500) {\r\n if (state.googleInitialized) return state.google;\r\n \r\n let attempts = 0;\r\n \r\n const loadScript = async () => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await STN.stnFetch(\r\n \"index.js\",\r\n \"initializeGoogleMaps\",\r\n \"POST\",\r\n \"GetGoogleAPI\",\r\n null\r\n );\r\n \r\n if (STN.isBlank(response)) {\r\n reject(new Error(\"initializeGoogleMaps: blank response from API\"));\r\n return;\r\n }\r\n \r\n // Define googleMapsInit function globally\r\n window.googleMapsInit = () => {\r\n try {\r\n if (window.google && window.google.maps) {\r\n commit('setGoogle', window.google);\r\n commit('setGoogleInitialized', true);\r\n resolve(window.google); // Resolve when Google Maps is successfully loaded\r\n } else {\r\n throw new Error(\"Google Maps API is not properly loaded.\");\r\n }\r\n } catch (initError) {\r\n reject(initError); // Reject if googleMapsInit fails\r\n }\r\n };\r\n \r\n // Create and append the script element\r\n const script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.text = response; // Set the response as script content\r\n document.head.appendChild(script);\r\n \r\n // Wait for the script to load and execute\r\n script.onload = () => {\r\n try {\r\n if (state.google && state.google.maps) {\r\n resolve(state.google); // Resolve once Google Maps is available\r\n } else {\r\n reject(new Error(\"Google Maps API is not properly loaded after script execution.\"));\r\n }\r\n } catch (loadError) {\r\n reject(new Error(`Error in script load handler: ${loadError.message}`));\r\n }\r\n };\r\n \r\n script.onerror = () => {\r\n reject(new Error(\"Error loading Google Maps API script.\"));\r\n };\r\n } catch (e) {\r\n reject(e); // Reject if anything fails during the script preparation\r\n }\r\n });\r\n };\r\n \r\n // Retry logic with a max attempt limit\r\n while (attempts < maxRetries) {\r\n try {\r\n return await loadScript();\r\n } catch (e) {\r\n attempts++;\r\n STN.logError(\"index.js\", `Google Maps initialization failed (Attempt ${attempts}): ${e.message}`, false, false, '208');\r\n if (attempts < maxRetries) {\r\n await new Promise(resolve => setTimeout(resolve, retryDelay));\r\n } else {\r\n STN.logError(\"index.js\", \"Google Maps initialization failed after maximum retries\", false, false, '209');\r\n throw new Error(\"Google Maps initialization failed after maximum retries\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport default store;","import { createWebHashHistory, createRouter } from \"vue-router\"; // createWebHashHistory needed for cordova\r\nimport store from \"@/store/index\";\r\nimport { STN } from \"@/modules/init_utilities.js\";\r\n\r\n// run before each route begins, to prevent and/or redirect where needed based on apply state, url values,\r\nconst PreRouteChecks = async function (to, from, next) {\r\n window.setTimeout(async () => {\r\n // open shop email\r\n // https://localhost:8085/#/findshops_results_map?eid=yw9PTvHckLU%3d&ProjectType=0\r\n // https://shopperhub-stage.cxgroup.com/#/findshops_results_map?eid=yw9PTvHckLU%3d&ProjectType=0\r\n\r\n // email verification\r\n // https://localhost:8085/#/myaccount_verifyemail?eid=yw9PTvHckLU%3d&ID=tLevnX9o%2fCZemLqoEqMXZb2yHzm2EqsYjkpsCI6hzSKobbAhqe4%2bWg%3d%3d\r\n\r\n // clarification\r\n // https://localhost:8085/#/myshops_clarification?ID=4131733&eid=yw9PTvHckLU%3d&uid=1\r\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=4048550&eid=yw9PTvHckLU%3d&uid=1\r\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=4048550&eid=yw9PTvHckLU%3d&uid=1\r\n // https://shopperhub.cxgroup.com/link_myshops_clarification.min.html?ID=5116142&eid=RNY8tkN1nk4%3d&uid=1\r\n // https://localhost:8085/#/myshops_clarification?ID=5116142&eid=RNY8tkN1nk4%3d&uid=1\r\n\r\n // bestmark nv manual login\r\n // https://localhost:8085/#/login?eid=RNY8tkN1nk4%3d&bn=lXpE%2foi%2bvfY%3d&aid=m4%2fW0m17Hbk%3d\r\n\r\n // other vendor login\r\n // https://localhost:8085/#/login?eid=o62b0o%2b%2bdvA%3d (eid is 3967074)\r\n\r\n // https://stn-l003.second-to-none.com:8085/#/login?eid=150EC752-7264-EF11-BA33-0ECFD0CDE7F5&bn=7E68D25E-7264-EF11-BA33-0ECFD0CDE7F5&aid=9D81C816-1FF2-EF11-BAAF-1225B471EE13\r\n \r\n\r\n let encryptedEvaluatorID = to.query.eid;\r\n let encryptedAssignmentID = to.query.aid;\r\n let bn = to.query.bn;\r\n\r\n // perform autoLogin?\r\n if (!STN.isBlank(encryptedEvaluatorID)) {\r\n window.setTimeout(async () => {\r\n let l_oCredentials = {\r\n type: \"Basic\",\r\n encryptedEvaluatorID: encryptedEvaluatorID,\r\n encryptedAssignmentID: encryptedAssignmentID,\r\n bn: bn,\r\n remember: \"\",\r\n }\r\n \r\n // login with vuex\r\n await store.dispatch(\"auth/login\", l_oCredentials).then(\r\n async (result) => {\r\n if (await STN.isVendorLogin() == true) {\r\n if (await FilterVendorLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // route not allowed, deny / redirect\r\n STN.redirect({\r\n name: \"myshops_scheduled\"\r\n });\r\n }\r\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\r\n if (!STN.isBlank(result) && !STN.isBlank(result.AssignmentID)) {\r\n // first site hit from link, redirect\r\n STN.redirect({\r\n name: \"findshops_preview\",\r\n params: {\r\n assignmentID: result.AssignmentID,\r\n lastViewedShop: result.AssignmentID,\r\n callingPage: \"dashboard\",\r\n pageName: \"findshops_preview\",\r\n },\r\n });\r\n } else {\r\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // route not allowed, deny / redirect\r\n let error = \"Please try accessing the site again from your email link.\";\r\n STN.logError(\r\n \"router.js\",\r\n \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error1: \" + error\r\n );\r\n }\r\n }\r\n } else {\r\n let newParams = to.query;\r\n delete newParams[\"eid\"];\r\n\r\n //alert(to.name + \" :: \" + JSON.stringify(newParams));\r\n\r\n if (to.name == \"login\") {\r\n STN.redirect({\r\n name: \"dashboard\",\r\n params: newParams\r\n });\r\n } else {\r\n STN.redirect({\r\n name: to.name,\r\n params: newParams\r\n });\r\n } \r\n }\r\n },\r\n (error) => {\r\n STN.logError(\r\n \"router.js\",\r\n \"PreRouteChecks - Error1: \" + error\r\n );\r\n router.replace(\"/login\");\r\n }\r\n );\r\n }, 1000);\r\n }\r\n // normal navigation\r\n else {\r\n if (await store.state.auth.status.loggedIn) {\r\n if (await STN.isVendorLogin() == true) {\r\n if (await FilterVendorLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // route not allowed, deny / redirect\r\n STN.redirect({\r\n name: \"myshops_scheduled\"\r\n });\r\n }\r\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\r\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // //route not allowed, deny / redirect\r\n // let error = \"Please try accessing the site again from your email link.\";\r\n // STN.logError(\r\n // \"router.js\",\r\n // \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error2: \" + error\r\n // );\r\n \r\n // already logged in - route not allowed, deny added 2025_03_10\r\n // // 2025_03_10 already logged in, deny this route\r\n STN.actionMessageClear();\r\n STN.hideProgress();\r\n }\r\n } else {\r\n let l_oInfo = await store.getters.getUser;\r\n\r\n if (to && to.name && to.name !== \"helpdesk\" && to.name !== \"myaccount_requirenewemail\"\r\n && l_oInfo && l_oInfo.EmailAddress && typeof l_oInfo.EmailAddress === 'string' && l_oInfo.EmailAddress.includes(\"privaterelay.appleid.com\")\r\n ) {\r\n router.replace(\"myaccount_requirenewemail\");\r\n } else if (l_oInfo.ForceChange \r\n && to.name != \"helpdesk\" \r\n && to.name != \"myaccount_requirenewemail\"\r\n && to.name != \"myaccount_changepassword\") {\r\n router.replace({\r\n name: \"myaccount_changepassword\",\r\n params: {\r\n fc: 1\r\n }\r\n });\r\n }\r\n else if (l_oInfo.HasUnsignedICA \r\n && to.name != \"helpdesk\" \r\n && to.name != \"myaccount_requirenewemail\"\r\n && to.name != \"myaccount_changepassword\"\r\n && to.name != \"myaccount_ica_sign\") {\r\n router.replace(\"myaccount_ica_sign\");\r\n }\r\n else if (l_oInfo.HasUnansweredRequiredDemographics \r\n && to.name != \"helpdesk\" \r\n && to.name != \"myaccount_requirenewemail\"\r\n && to.name != \"myaccount_changepassword\"\r\n && to.name != \"myaccount_ica_sign\"\r\n && to.name != \"myaccount_extended_required\") {\r\n router.replace(\"myaccount_extended_required\");\r\n }\r\n else if (l_oInfo.HasExpiredDemographics \r\n && to.name != \"helpdesk\" \r\n && to.name != \"myaccount_requirenewemail\"\r\n && to.name != \"myaccount_changepassword\"\r\n && to.name != \"myaccount_ica_sign\"\r\n && to.name != \"myaccount_extended_required\"\r\n && to.name != \"myaccount_extended_refresh\") {\r\n router.replace(\"myaccount_extended_refresh\");\r\n }\r\n else {\r\n // user logged in, proceed\r\n STN.actionMessageClear();\r\n next();\r\n }\r\n }\r\n }\r\n else {\r\n window.setTimeout(async () => {\r\n // to \r\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\"}\r\n //\r\n // user tried to access this page but was not logged in, so save it so they may return to it once logged in\r\n if (!STN.isBlank(to.name) && to.name != \"login\") {\r\n store.commit('setBackgroundMessagePayloadParams', to.name);\r\n }\r\n\r\n // user not logged in yet, see if we have saved session info \r\n let l_oStoredCredentials = JSON.parse(localStorage.getItem(\"RememberMe\"));\r\n\r\n if (!STN.isBlank(l_oStoredCredentials)) {\r\n // login with vuex\r\n await store.dispatch(\"auth/login\", l_oStoredCredentials).then(\r\n async (result) => {\r\n if (await STN.isVendorLogin() == true) {\r\n if (await FilterVendorLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // route not allowed, deny / redirect\r\n STN.redirect({\r\n name: \"myshops_scheduled\"\r\n });\r\n }\r\n } else if (await STN.isBestmarkNevadaMultishopperLogin() == true) {\r\n if (!STN.isBlank(result) && !STN.isBlank(result.AssignmentID)) {\r\n // first site hit from link, redirect\r\n STN.redirect({\r\n name: \"findshops_preview\",\r\n params: {\r\n assignmentID: result.AssignmentID,\r\n lastViewedShop: result.AssignmentID,\r\n callingPage: \"dashboard\",\r\n pageName: \"findshops_preview\",\r\n },\r\n });\r\n } else {\r\n if (await FilterBestmarkNevadaMultishopperLoginAccess(to) == true) {\r\n // route allowed, proceed\r\n STN.actionMessageClear();\r\n next();\r\n } else {\r\n // route not allowed, deny / redirect\r\n let error = \"Please try accessing the site again from your email link.\";\r\n STN.logError(\r\n \"router.js\",\r\n \"PreRouteChecks - BestmarkNevadaMultishopperLogin Link Error1: \" + error\r\n );\r\n }\r\n }\r\n } else {\r\n if (!STN.isBlank(to.name) && to.name != \"login\") {\r\n let l_oRouteData = (!STN.isBlank(localStorage.getItem('routeData')) ? JSON.parse(localStorage.getItem('routeData')) : {});\r\n\r\n STN.redirect({\r\n name: to.name,\r\n params: l_oRouteData\r\n });\r\n } else {\r\n STN.redirect({\r\n name: \"dashboard\"\r\n });\r\n } \r\n }\r\n },\r\n (error) => {\r\n STN.logError(\r\n \"router.js\",\r\n \"PreRouteChecks - Error2: \" + error\r\n );\r\n router.replace(\"/login\");\r\n }\r\n );\r\n }\r\n else {\r\n // remember me not set and not logged in, continue...\r\n if (to.path != \"/login\" && to.path != \"login\") {\r\n // prevent loop of death\r\n router.replace(\"/login\");\r\n }\r\n else {\r\n STN.actionMessageClear();\r\n next();\r\n STN.hideProgress();\r\n window.scroll(0, 0);\r\n\r\n // if (STN.isVendorLogin()) {\r\n\r\n // } else {\r\n // STN.actionMessageClear();\r\n // next();\r\n // STN.hideProgress();\r\n // window.scroll(0, 0);\r\n // }\r\n }\r\n }\r\n }, 1000);\r\n }\r\n }\r\n }, 200);\r\n};\r\n\r\n\r\nconst FilterVendorLoginAccess = async function (to) {\r\n if (!STN.isBlank(to) && !STN.isBlank(to.name) && to.name.indexOf(\"error\") == -1\r\n && to.name.indexOf(\"findshops_certifications\") == -1\r\n && to.name.indexOf(\"findshops_disclaimer\") == -1\r\n && to.name.indexOf(\"findshops_preview\") == -1\r\n && to.name.indexOf(\"gallery_audio\") == -1\r\n && to.name.indexOf(\"gallery_clarification\") == -1\r\n && to.name.indexOf(\"gallery_image\") == -1\r\n && to.name.indexOf(\"gallery_video\") == -1\r\n && to.name.indexOf(\"maintenance\") == -1\r\n && to.name.indexOf(\"myshops_attention\") == -1\r\n && to.name.indexOf(\"myshops_checkin\") == -1\r\n && to.name.indexOf(\"myshops_clarification\") == -1\r\n && to.name.indexOf(\"myshops_scheduled\") == -1\r\n && to.name.indexOf(\"questionnaire\") == -1 // covers all questionnaire pages\r\n && to.name.indexOf(\"reports_shopinvoice\") == -1) {\r\n\r\n // trying to go to a route that is NOT one of the above, deny and redirect \r\n return false;\r\n } else {\r\n // route allowed\r\n return true;\r\n }\r\n};\r\n\r\n\r\nconst FilterBestmarkNevadaMultishopperLoginAccess = async function (to) {\r\n if (!STN.isBlank(to) && !STN.isBlank(to.name) && to.name.indexOf(\"error\") == -1\r\n && to.name.indexOf(\"findshops_certifications\") == -1\r\n && to.name.indexOf(\"findshops_disclaimer\") == -1\r\n && to.name.indexOf(\"findshops_preview\") == -1\r\n && to.name.indexOf(\"gallery_audio\") == -1\r\n && to.name.indexOf(\"gallery_clarification\") == -1\r\n && to.name.indexOf(\"gallery_image\") == -1\r\n && to.name.indexOf(\"gallery_video\") == -1\r\n && to.name.indexOf(\"maintenance\") == -1\r\n && to.name.indexOf(\"myshops_checkin\") == -1\r\n && to.name.indexOf(\"myshops_clarification\") == -1\r\n && to.name.indexOf(\"questionnaire\") == -1 // covers all questionnaire pages\r\n && to.name.indexOf(\"reports_shopinvoice\") == -1) {\r\n\r\n // trying to go to a route that is NOT one of the above, deny and redirect \r\n return false;\r\n } else {\r\n // route allowed\r\n return true;\r\n }\r\n};\r\n\r\n\r\nconst routes = [\r\n /////////////////////////////// all other (new) routes\r\n {\r\n path: \"/\",\r\n component: () => import(\"@/components/login/Login.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"apply\",\r\n path: \"/apply\",\r\n component: () => import(\"@/components/apply/Apply.vue\"),\r\n },\r\n {\r\n name: \"apply_continueapplication\",\r\n path: \"/apply_continueapplication\",\r\n component: () => import(\"@/components/apply/Apply_ContinueApplication.vue\"),\r\n },\r\n {\r\n name: \"apply_finishapplication\",\r\n path: \"/apply_finishapplication\",\r\n component: () => import(\"@/components/apply/Apply_FinishApplication.vue\"),\r\n },\r\n {\r\n name: \"apply_ica\",\r\n path: \"/apply_ica\",\r\n component: () => import(\"@/components/apply/Apply_ICA.vue\"),\r\n },\r\n\r\n\r\n {\r\n name: \"dashboard\",\r\n path: \"/dashboard\",\r\n component: () => import(\"@/components/dashboard/Dashboard.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"dashboard_announcement\",\r\n path: \"/dashboard_announcement\",\r\n component: () => import(\"@/components/dashboard/Dashboard_Announcement.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"login\",\r\n path: \"/login\",\r\n component: () => import(\"@/components/login/Login.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"error\",\r\n path: \"/error\",\r\n component: () => import(\"@/components/error/Error.vue\"),\r\n },\r\n {\r\n name: \"error_other\",\r\n path: \"/error_other\",\r\n component: () => import(\"@/components/error/Error_Other.vue\"),\r\n },\r\n {\r\n name: \"error_restricted\",\r\n path: \"/error_restricted\",\r\n component: () => import(\"@/components/error/Error_Restricted.vue\"),\r\n },\r\n\r\n\r\n {\r\n name: \"findshops_certifications\",\r\n path: \"/findshops_certifications\",\r\n component: () => import(\"@/components/findshops/FindShops_Certifications.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_disclaimer\",\r\n path: \"/findshops_disclaimer\",\r\n component: () => import(\"@/components/findshops/FindShops_Disclaimer.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_feedback\",\r\n path: \"/findshops_feedback\",\r\n component: () => import(\"@/components/findshops/FindShops_Feedback.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_preview\",\r\n path: \"/findshops_preview\",\r\n component: () => import(\"@/components/findshops/FindShops_Preview.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_previewshop\",\r\n path: \"/findshops_previewshop\",\r\n component: () => import(\"@/components/findshops/FindShops_PreviewShop.vue\"),\r\n },\r\n {\r\n name: \"findshops_results_list\",\r\n path: \"/findshops_results_list\",\r\n component: () => import(\"@/components/findshops/FindShops_Results_List.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_results_listonly\",\r\n path: \"/findshops_results_listonly\",\r\n component: () => import(\"@/components/findshops/FindShops_Results_ListOnly.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_results_map\",\r\n path: \"/findshops_results_map\",\r\n component: () => import(\"@/components/findshops/FindShops_Results_Map.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_search_list\",\r\n path: \"/findshops_search_list\",\r\n component: () => import(\"@/components/findshops/FindShops_Search_List.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"findshops_search_map\",\r\n path: \"/findshops_search_map\",\r\n component: () => import(\"@/components/findshops/FindShops_Search_Map.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"gallery_audio\",\r\n path: \"/gallery_audio\",\r\n component: () => import(\"@/components/gallery_audio/Gallery_Audio.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_audio_upload\",\r\n path: \"/gallery_audio_upload\",\r\n component: () => import(\"@/components/gallery_audio/Gallery_Audio_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_audio_view\",\r\n path: \"/gallery_audio_view\",\r\n component: () => import(\"@/components/gallery_audio/Gallery_Audio_View.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_clarification\",\r\n path: \"/gallery_clarification\",\r\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_clarification_edit\",\r\n path: \"/gallery_clarification_edit\",\r\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_Edit.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_clarification_upload\",\r\n path: \"/gallery_clarification_upload\",\r\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_clarification_view\",\r\n path: \"/gallery_clarification_view\",\r\n component: () => import(\"@/components/gallery_clarification/Gallery_Clarification_View.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_ein\",\r\n path: \"/gallery_ein\",\r\n component: () => import(\"@/components/gallery_ein/Gallery_EIN.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_ein_edit\",\r\n path: \"/gallery_ein_edit\",\r\n component: () => import(\"@/components/gallery_ein/Gallery_EIN_Edit.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_ein_upload\",\r\n path: \"/gallery_ein_upload\",\r\n component: () => import(\"@/components/gallery_ein/Gallery_EIN_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_image\",\r\n path: \"/gallery_image\",\r\n component: () => import(\"@/components/gallery_image/Gallery_Image.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_image_edit\",\r\n path: \"/gallery_image_edit\",\r\n component: () => import(\"@/components/gallery_image/Gallery_Image_Edit.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_image_upload\",\r\n path: \"/gallery_image_upload\",\r\n component: () => import(\"@/components/gallery_image/Gallery_Image_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_image_view\",\r\n path: \"/gallery_image_view\",\r\n component: () => import(\"@/components/gallery_image/Gallery_Image_View.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_photoid\",\r\n path: \"/gallery_photoid\",\r\n component: () => import(\"@/components/gallery_photoid/Gallery_PhotoID.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_photoid_upload\",\r\n path: \"/gallery_photoid_upload\",\r\n component: () => import(\"@/components/gallery_photoid/Gallery_PhotoID_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_profilephoto\",\r\n path: \"/gallery_profilephoto\",\r\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_profilephoto_edit\",\r\n path: \"/gallery_profilephoto_edit\",\r\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto_Edit.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_profilephoto_upload\",\r\n path: \"/gallery_profilephoto_upload\",\r\n component: () => import(\"@/components/gallery_profilephoto/Gallery_ProfilePhoto_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"gallery_selfievideo\",\r\n path: \"/gallery_selfievideo\",\r\n component: () => import(\"@/components/gallery_selfievideo/Gallery_SelfieVideo.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_selfievideo_upload\",\r\n path: \"/gallery_selfievideo_upload\",\r\n component: () => import(\"@/components/gallery_selfievideo/Gallery_SelfieVideo_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_video\",\r\n path: \"/gallery_video\",\r\n component: () => import(\"@/components/gallery_video/Gallery_Video.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_video_upload\",\r\n path: \"/gallery_video_upload\",\r\n component: () => import(\"@/components/gallery_video/Gallery_Video_Upload.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n {\r\n name: \"gallery_video_view\",\r\n path: \"/gallery_video_view\",\r\n component: () => import(\"@/components/gallery_video/Gallery_Video_View.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n meta: {\r\n layout: \"Layout_NoHeader\",\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"helpdesk\",\r\n path: \"/helpdesk\",\r\n component: () => import(\"@/components/helpdesk/HelpDesk.vue\"),\r\n // beforeEnter: (to, from, next) => {\r\n // CheckRootOrJailbreak(next);\r\n // },\r\n },\r\n {\r\n name: \"helpdesk_faq\",\r\n path: \"/helpdesk_faq\",\r\n component: () => import(\"@/components/helpdesk/Help_FAQ.vue\"),\r\n // beforeEnter: (to, from, next) => {\r\n // PreRouteChecks(next);\r\n // },\r\n },\r\n\r\n\r\n {\r\n name: \"messages\",\r\n path: \"/messages\",\r\n component: () => import(\"@/components/messages/Messages.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"maintenance\",\r\n path: \"/maintenance\",\r\n component: () => import(\"@/components/maintenance/Maintenance.vue\"),\r\n },\r\n\r\n \r\n {\r\n name: \"myaccount_changeemail\",\r\n path: \"/myaccount_changeemail\",\r\n component: () => import(\"@/components/myaccount/MyAccount_ChangeEmail.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_changepassword\",\r\n path: \"/myaccount_changepassword\",\r\n component: () => import(\"@/components/myaccount/MyAccount_ChangePassword.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_deactivate\",\r\n path: \"/myaccount_deactivate\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Deactivate.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_extended\",\r\n path: \"/myaccount_extended\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Extended.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_extended_required\",\r\n path: \"/myaccount_extended_required\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Extended_Required.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_extended_refresh\",\r\n path: \"/myaccount_extended_refresh\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Extended_Refresh.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_general\",\r\n path: \"/myaccount_general\",\r\n component: () => import(\"@/components/myaccount/MyAccount_General.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_ica_sign\",\r\n path: \"/myaccount_ica_sign\",\r\n component: () => import(\"@/components/myaccount/MyAccount_ICA_Sign.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_ica_view\",\r\n path: \"/myaccount_ica_view\",\r\n component: () => import(\"@/components/myaccount/MyAccount_ICA_View.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_myranking\",\r\n path: \"/myaccount_myranking\",\r\n component: () => import(\"@/components/myaccount/MyAccount_MyRanking.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_notificationsettings\",\r\n path: \"/myaccount_notificationsettings\",\r\n component: () => import(\"@/components/myaccount/MyAccount_NotificationSettings.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_emailsettings\",\r\n path: \"/myaccount_emailsettings\",\r\n component: () => import(\"@/components/myaccount/MyAccount_EmailSettings.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_payment\",\r\n path: \"/myaccount_payment\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Payment.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_payment_add\",\r\n path: \"/myaccount_payment_add\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Add.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_payment_edit_directdeposit\",\r\n path: \"/myaccount_payment_edit_directdeposit\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Edit_DirectDeposit.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_payment_edit_paypal\",\r\n path: \"/myaccount_payment_edit_paypal\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Payment_Edit_Paypal.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_payment_setdefault\",\r\n path: \"/myaccount_payment_setdefault\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Payment_SetDefault.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_photoid\",\r\n path: \"/myaccount_photoid\",\r\n component: () => import(\"@/components/myaccount/MyAccount_PhotoID.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_requirenewemail\",\r\n path: \"/myaccount_requirenewemail\",\r\n component: () => import(\"@/components/myaccount/MyAccount_RequireNewEmail.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_retrievepassword\",\r\n path: \"/myaccount_retrievepassword\",\r\n component: () => import(\"@/components/myaccount/MyAccount_RetrievePassword.vue\"),\r\n },\r\n {\r\n name: \"myaccount_selfievideo\",\r\n path: \"/myaccount_selfievideo\",\r\n component: () => import(\"@/components/myaccount/MyAccount_SelfieVideo.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_tax\",\r\n path: \"/myaccount_tax\",\r\n component: () => import(\"@/components/myaccount/MyAccount_Tax.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myaccount_verifyemail\",\r\n path: \"/myaccount_verifyemail\",\r\n component: () => import(\"@/components/myaccount/MyAccount_VerifyEmail.vue\"),\r\n // beforeEnter: (to, from, next) => {\r\n // PreRouteChecks(to, from, next);\r\n // },\r\n },\r\n\r\n\r\n {\r\n name: \"myshops_attention\",\r\n path: \"/myshops_attention\",\r\n component: () => import(\"@/components/myshops/MyShops_Attention.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_changeshopdate\",\r\n path: \"/myshops_changeshopdate\",\r\n component: () => import(\"@/components/myshops/MyShops_ChangeShopDate.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_checkin\",\r\n path: \"/myshops_checkin\",\r\n component: () => import(\"@/components/myshops/MyShops_CheckIn.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_checkininfo\",\r\n path: \"/myshops_checkininfo\",\r\n component: () => import(\"@/components/myshops/MyShops_CheckInInfo.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_clarification\",\r\n path: \"/myshops_clarification\",\r\n component: () => import(\"@/components/myshops/MyShops_Clarification.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_inprocess\",\r\n path: \"/myshops_inprocess\",\r\n component: () => import(\"@/components/myshops/MyShops_Inprocess.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_paymentspending\",\r\n path: \"/myshops_paymentspending\",\r\n component: () => import(\"@/components/myshops/MyShops_PaymentsPending.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_rejected\",\r\n path: \"/myshops_rejected\",\r\n component: () => import(\"@/components/myshops/MyShops_Rejected.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_requested\",\r\n path: \"/myshops_requested\",\r\n component: () => import(\"@/components/myshops/MyShops_Requested.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"myshops_scheduled\",\r\n path: \"/myshops_scheduled\",\r\n component: () => import(\"@/components/myshops/MyShops_Scheduled.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n\r\n\r\n {\r\n name: \"propertyquestion_reimbursement\",\r\n path: \"/propertyquestion_reimbursement\",\r\n component: () => import(\"@/components/questionnaire/propertyquestions/PropertyQuestion_Reimbursement.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"propertyquestion_shoptimes\",\r\n path: \"/propertyquestion_shoptimes\",\r\n component: () => import(\"@/components/questionnaire/propertyquestions/PropertyQuestion_ShopTimes.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"questionnaire\",\r\n path: \"/questionnaire\",\r\n component: () => import(\"@/components/questionnaire/Questionnaire.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"questionnaire_header\",\r\n path: \"/questionnaire_header\",\r\n component: () => import(\"@/components/questionnaire/Questionnaire_Header.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"questionnaire_shopinvoice\",\r\n path: \"/questionnaire_shopinvoice\",\r\n component: () => import(\"@/components/questionnaire/Questionnaire_Shopinvoice.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n \r\n {\r\n name: \"referral\",\r\n path: \"/referral\",\r\n component: () => import(\"@/components/referral/Referral.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"referral_email\",\r\n path: \"/referral_email\",\r\n component: () => import(\"@/components/referral/Referral_Email.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"referral_email_location\",\r\n path: \"/referral_email_location\",\r\n component: () => import(\"@/components/referral/Referral_Email_Location.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"referral_search\",\r\n path: \"/referral_search\",\r\n component: () => import(\"@/components/referral/Referral_Search.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"referral_status\",\r\n path: \"/referral_status\",\r\n component: () => import(\"@/components/referral/Referral_Status.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n \r\n\r\n {\r\n name: \"reports_1099\",\r\n path: \"/reports_1099\",\r\n component: () => import(\"@/components/reports/Reports_1099.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"reports_paymenthistory\",\r\n path: \"/reports_paymenthistory\",\r\n component: () => import(\"@/components/reports/Reports_PaymentHistory.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"reports_paymentspending\",\r\n path: \"/reports_paymentspending\",\r\n component: () => import(\"@/components/reports/Reports_PaymentsPending.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n {\r\n name: \"reports_shopinvoice\",\r\n path: \"/reports_shopinvoice\",\r\n component: () => import(\"@/components/reports/Reports_Shopinvoice.vue\"),\r\n beforeEnter: (to, from, next) => {\r\n PreRouteChecks(to, from, next);\r\n },\r\n },\r\n];\r\n\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n mode: 'hash',\r\n routes,\r\n});\r\n\r\n\r\nrouter.beforeEach(() => {\r\n STN.showProgress();\r\n // store.commit('setIsShopsNavOpen', false);\r\n // store.commit('setIsAccountNavOpen', false);\r\n // store.commit('setIsHelpNavOpen', false);\r\n});\r\nrouter.afterEach(() => {\r\n STN.hideProgress();\r\n window.scrollTo(0, 0);\r\n});\r\n\r\n\r\nexport default router;\r\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 { getAuth } from \"firebase/auth\"; // Still imported, though not used here directly\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 let firebaseApp;\r\n if (!getApps().length) {\r\n firebaseApp = initializeApp(firebaseConfig);\r\n console.log(\"Firebase app initialized:\", firebaseApp);\r\n } else {\r\n firebaseApp = getApps()[0];\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 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\";\r\nimport AppComponent from \"./App.vue\"; // Renamed for clarity\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport 'sweetalert2/dist/sweetalert2.min.css';\r\nimport { STN } from \"@/modules/init_utilities.js\";\r\nimport { initFirebaseSdk } from \"@/modules/init_firebase.js\";\r\nimport { initFacebookSdk } from \"@/modules/init_facebook.js\";\r\n\r\n// Self-invoking async function for cleaner initialization\r\n(async () => {\r\n try {\r\n // Wait for Firebase and Facebook SDKs\r\n await initFirebaseSdk();\r\n await initFacebookSdk();\r\n\r\n // Create the Vue app\r\n const App = createApp(AppComponent);\r\n\r\n // Global error handlers with stack traces\r\n App.config.errorHandler = (err, vm, info) => {\r\n const stackTrace = err.stack || new Error().stack;\r\n STN.logError(\r\n 'main.js',\r\n `errorHandler: \\nerr:${err} \\nvm:${vm} \\ninfo:${info} \\nstack:${stackTrace}`,\r\n false,\r\n true\r\n );\r\n };\r\n\r\n window.onerror = (msg, url, line, col, error) => {\r\n const stackTrace = error?.stack || new Error().stack;\r\n STN.logError(\r\n 'main.js',\r\n `window.onerror: \\nmsg:${msg} \\nurl:${url} \\nline:${line} \\ncol:${col} \\nerror:${error} \\nstack:${stackTrace}`,\r\n false,\r\n true\r\n );\r\n };\r\n\r\n window.addEventListener('unhandledrejection', (event) => {\r\n const stackTrace = event.reason?.stack || new Error().stack;\r\n STN.logError(\r\n 'main.js',\r\n `unhandledrejection: \\nreason:${event.reason} \\nstack:${stackTrace}`,\r\n false,\r\n true\r\n );\r\n });\r\n\r\n // Pre-fetch user data with debugging\r\n STN.showProgress();\r\n if (store.state.auth.status.loggedIn) {\r\n console.log('Fetching common page data...'); // Temporary debug\r\n try {\r\n await STN.getCommonPageData();\r\n } catch (error) {\r\n STN.logError(\r\n 'main.js',\r\n `Pre-fetch failed: ${error.message} \\nstack:${error.stack}`,\r\n false,\r\n false\r\n );\r\n }\r\n }\r\n STN.hideProgress();\r\n\r\n // Mount the app with dependencies\r\n App.use(router)\r\n .use(store)\r\n .provide('STN', (App.config.globalProperties.STN = STN))\r\n .mount('#app');\r\n\r\n // Service worker handling\r\n if ('serviceWorker' in navigator) {\r\n // Message listener with unknown type logging\r\n navigator.serviceWorker.addEventListener('message', (event) => {\r\n if (event?.data?.type === 'navigate') {\r\n window.location.href = event.data.url;\r\n window.focus();\r\n } else {\r\n STN.logError(\r\n 'main.js',\r\n `Unknown service worker message: ${JSON.stringify(event.data)}`,\r\n false,\r\n false\r\n );\r\n }\r\n });\r\n\r\n // Cleanup non-allowed service workers\r\n const allowedWorkers = ['firebase-messaging-sw.js'];\r\n navigator.serviceWorker.getRegistrations().then((registrations) => {\r\n registrations.forEach((registration) => {\r\n if (registration.active && !allowedWorkers.some(url => registration.active.scriptURL.includes(url))) {\r\n registration.unregister().then((success) => {\r\n if (success) {\r\n STN.logError(\r\n 'main.js',\r\n `Unregistered service worker: ${registration.active.scriptURL}`,\r\n false,\r\n false\r\n );\r\n }\r\n });\r\n }\r\n });\r\n });\r\n } else {\r\n STN.logError('main.js', 'Service workers not supported', false, false);\r\n }\r\n } catch (error) {\r\n // Catch initialization errors (e.g., SDK failures)\r\n STN.logError(\r\n 'main.js',\r\n `Initialization failed: ${error.message} \\nstack:${error.stack}`,\r\n true,\r\n true\r\n );\r\n }\r\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 + \".\" + {\"84\":\"94d0df96\",\"344\":\"4fc55d62\",\"379\":\"94a5dfc2\",\"565\":\"2da3efea\",\"907\":\"d69d9132\",\"926\":\"60e9124c\",\"946\":\"5b2fdf60\",\"996\":\"63da5468\",\"1039\":\"38d79486\",\"1040\":\"8000c964\",\"1074\":\"22406273\",\"1121\":\"fd6ab341\",\"1170\":\"9fb8590a\",\"1172\":\"36ba9395\",\"1265\":\"74f392d4\",\"1310\":\"64195db7\",\"1320\":\"b2a2c258\",\"1506\":\"fd7e5c83\",\"1584\":\"eeb61d89\",\"1639\":\"08b120fb\",\"1790\":\"e754b748\",\"2102\":\"7b7e0024\",\"2283\":\"cd5bd5ed\",\"2458\":\"50a1fac5\",\"2519\":\"6fd5132c\",\"2547\":\"19f11d79\",\"2687\":\"799b0704\",\"2702\":\"11e99913\",\"2740\":\"5bd82f55\",\"2870\":\"dd346452\",\"2974\":\"96470c04\",\"3252\":\"f3f89f1d\",\"3471\":\"baf65e17\",\"3726\":\"c87523ac\",\"3890\":\"c438e6be\",\"4049\":\"a7f06753\",\"4131\":\"d2a942a3\",\"4147\":\"73db653c\",\"4169\":\"1aa47cdd\",\"4313\":\"a52856f8\",\"4329\":\"50e0944d\",\"4403\":\"3d36e82c\",\"4432\":\"7d74004d\",\"4698\":\"760a54d1\",\"4891\":\"660cfb0f\",\"4906\":\"5a1ecd38\",\"5148\":\"ce7c1a97\",\"5200\":\"f94417ec\",\"5221\":\"f11d4df2\",\"5223\":\"27c2a873\",\"5296\":\"e71d8230\",\"5345\":\"d1526114\",\"5423\":\"48c75c27\",\"5459\":\"cc3e9785\",\"5466\":\"d71050df\",\"5478\":\"db1fedfe\",\"5550\":\"d279d50a\",\"5561\":\"096e1fe1\",\"5681\":\"4df74315\",\"5682\":\"e522940f\",\"5839\":\"ea3c8b5b\",\"5862\":\"d7d08cb9\",\"5890\":\"c47a5621\",\"5998\":\"c8afed71\",\"6152\":\"5d5ec1a8\",\"6171\":\"bf3cd616\",\"6407\":\"80917fb4\",\"6501\":\"f0c10200\",\"6588\":\"722aa61e\",\"6784\":\"725e7920\",\"6800\":\"97d03dfa\",\"6809\":\"976815d6\",\"6852\":\"bfc09bb3\",\"6918\":\"ee649763\",\"6924\":\"6dd4d706\",\"6990\":\"ed1e36ad\",\"7179\":\"ddaeac72\",\"7332\":\"cedaf7bb\",\"7415\":\"517827a4\",\"7492\":\"7dde827b\",\"7594\":\"7e03e1b5\",\"7821\":\"32adc5fc\",\"7920\":\"d55b9340\",\"8210\":\"10be992e\",\"8336\":\"5eb78f1d\",\"8766\":\"4e3f736e\",\"8796\":\"e9b372e3\",\"8964\":\"93b7c8f2\",\"9036\":\"2acfe98d\",\"9168\":\"0d3c696b\",\"9393\":\"d690a4d2\",\"9467\":\"70b88034\",\"9658\":\"4997916f\",\"9790\":\"b80984d5\",\"9800\":\"18588839\",\"9829\":\"2cb384b0\",\"9965\":\"e7497003\"}[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 + \".\" + {\"379\":\"74551307\",\"565\":\"6d1ca4b5\",\"907\":\"74551307\",\"926\":\"74551307\",\"996\":\"74551307\",\"1310\":\"74551307\",\"1506\":\"74551307\",\"2102\":\"74551307\",\"2458\":\"74551307\",\"2740\":\"5eb9343e\",\"2870\":\"74551307\",\"3890\":\"74551307\",\"4169\":\"6d1ca4b5\",\"4329\":\"449a2756\",\"4432\":\"74551307\",\"4698\":\"74551307\",\"4891\":\"6d1ca4b5\",\"5148\":\"74551307\",\"5200\":\"74551307\",\"5459\":\"74551307\",\"5682\":\"74551307\",\"5839\":\"449a2756\",\"6784\":\"5eb9343e\",\"6924\":\"6d1ca4b5\",\"6990\":\"74551307\",\"7179\":\"74551307\",\"7492\":\"74551307\",\"8210\":\"74551307\",\"9393\":\"6d1ca4b5\",\"9790\":\"74551307\",\"9965\":\"74551307\"}[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\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"379\":1,\"565\":1,\"907\":1,\"926\":1,\"996\":1,\"1310\":1,\"1506\":1,\"2102\":1,\"2458\":1,\"2740\":1,\"2870\":1,\"3890\":1,\"4169\":1,\"4329\":1,\"4432\":1,\"4698\":1,\"4891\":1,\"5148\":1,\"5200\":1,\"5459\":1,\"5682\":1,\"5839\":1,\"6784\":1,\"6924\":1,\"6990\":1,\"7179\":1,\"7492\":1,\"8210\":1,\"9393\":1,\"9790\":1,\"9965\":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\t3524: 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, [504], function() { return __webpack_require__(6339); })\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","_hoisted_4","_hoisted_5","onClick","_cache","$event","goDashboard","srcset","alt","isLoggedIn","_createElementBlock","_hoisted_6","_hoisted_7","_hoisted_8","STN","redirect","_hoisted_9","_hoisted_10","_hoisted_11","args","toggleShopsNav","_hoisted_12","goMessages","toggleAccountNav","toggleHelpNav","goLogOff","_hoisted_13","_hoisted_14","_hoisted_15","goFindShops","goSubmitShops","isShopsNavOpen","_hoisted_16","_hoisted_17","_hoisted_18","goMyAccount","goMyAccountExtended","goMyAccountPayment","goMyAccountTax","goMyAccountPhotoID","goMyAccountSelfieVideo","showSelfieVideo","goMyAccountChangePassword","isOauthUser","goMyAccountEmailSettings","goMyAccountNotificationSettings","goMyAccountDeactivate","isAccountNavOpen","_hoisted_19","_hoisted_20","_hoisted_21","goHelp","goHelpFAQ","goHelpShopperGuide","isHelpNavOpen","_hoisted_22","_hoisted_23","openMobileNav","isMobileNavOpen","closeMobileNav","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_toDisplayString","$store","getters","getPageTitle","_normalizeStyle","createRowStyle","innerHTML","alertMessage","name","data","computed","this","isBlank","padding","state","auth","status","loggedIn","l_oUserData","getUser","LoginSource","ShowSelfieVideo","methods","getAlerts","isVendorLogin","MaintenanceWarnOrLogoff","HasReportsInError","GeneralMessage","commit","closeAllNavDropdowns","goAlerts","p_bIsMobile","window","open","localStorage","setItem","dispatch","updated","__exports__","script","$data","isiOS","isAndroid","closeSnackbar","href","init","detectMobile","then","snackbarLastDismissed","getItem","oneWeek","Date","now","isMobile","_os","getMobileOperatingSystem","catch","error","console","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","process","BASE_URL","AVUPLOADHANDLER_URL","SELFIEVIDEOUPLOADHANDLER_URL","UPLOADANDSAVECLARIFICATIONIMAGE_URL","UPLOADANDSAVEEINIMAGE_URL","UPLOADANDSAVEQEIMAGE_URL","UPLOADANDSAVEPHOTOID_URL","UPLOADANDSAVEPROFILEPHOTO_URL","UPLOADANDPROCESSPDFQE_URL","UPLOADANDPROCESSPDFCLARIFICATION_URL","UPLOADANDPROCESSPDFFIRSTPAGEONLY_URL","DEBUG","_desktopVersion","_actionMessageTimerID","_minutesBetweenCommonDataRefresh","_minutesBetweenShopDataRefresh","_retries","_timeout","_lastRedirectModel","STATUS_OK","STATUS_UNAUTHORIZED","STATUS_THROTTLE","actionMessageShow","p_sMessage","p_iTimeoutSeconds","clearTimeout","l_oMsgDiv","getElementById","visibility","display","scroll","getPosition","hideProgress","setTimeout","actionMessageShowOAuth","p_sID","actionMessageClear","fetchWithTimeout","request","timeout","timer","fetch","response","err","retryFetch","retries","requestString","attempt","indexOf","warn","startTime","remainingTime","Math","max","elapsedForAttempt","waitTime","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","parseInt","RetryCount","isNaN","RetryTimeout","MinutesBetweenCommonDataRefresh","MinutesBetweenShopDataRefresh","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","getBase64StringFromDataURL","dataURL","getCachedShopData","l_oExistingShopData","getShopDataFromCache","l_iDiffOfLastRefresh","timeStamp","p_bForceRefresh","l_oDate","getMinutesBetweenDates","l_oNewShopData","l_oNewStateModel","getCommonPageData","l_oData","EvaluatorID","Username","Address","NeedsToEnterSSN","HasNewMessages","ServerDate","ForceChange","CurrentMobileAndroidVersions","CurrentMobileiOSVersions","APIMaintenanceMode","HasUnansweredRequiredDemographics","HasExpiredDemographics","HasUnsignedICA","ProfilePhoto","InvalidEmail","ForumUsername","FindShopsSearchType","TimeStamp","ProfileCompletionPercent","StreetAddress","StateID","CountryID","Radius","HomeLAT","HomeLNG","AnnouncementDate","ScheduledShops","ShopsInProcess","ShopsNeedingAttention","PaymentsPending","RequestedShops","getEvaluatorID","user","getLoginSource","p_oStartDate","p_oEndDate","l_oDiff","getTime","el","rect","getBoundingClientRect","l_iTop","top","scrollY","left","scrollX","getWarningCount","l_iCount","substr","evaluatorID","includes","isBestmarkNevadaMultishopperLogin","p_oVar","constructor","Object","prop","hasOwnProperty","undefined","isDate","p_sValue","isEmail","email","emailPattern","isNumeric","numNum","p_sErrorSource","p_sErrorText","p_bLogout","p_bRedirect","p_sErrorCode","l_sErrorCode","l_oRouteParams","getRouteParams","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_bReplace","l_oRedirectModel","push","redirectBack","l_sMessage","l_oModel","l_bIsEmpty","isModelEmpty","setValues","p_oModel","Model","keys","p_oModelJSON","obj","sanitizedObj","DOMPurify","sanitize","setPersonAttribute","p_sAttributeTypeID","p_sAttributeData","AttributeTypeID","AttributeData","stateList_US","stateList_CA","radiusList","countryList","getAVUploadHandlerURL","GetBaseURL","getClarificationImageUploadHandlerURL","getDebug","getEINImageUploadHandlerURL","getPDFFirstPageOnlyUploadHandlerURL","getPDFClarificationUploadHandlerURL","getPDFQEUploadHandlerURL","getPhotoIDImageUploadHandlerURL","getProfilePhotoImageUploadHandlerURL","getQEImageUploadHandlerURL","getSelfieVideoUploadHandlerURL","initialState","saveFCMToken","Token","token","setRememberMe","credentials","remember","processLogin","encryptedEvaluatorID","encryptedAssignmentID","bn","type","btoa","username","password","authID","EncryptedEvaluatorID","EncryptedAssignmentID","handleLoginResult","Active","l_oCommonPageData","l_oCachedCommonPageData","l_oCachedShopData","ee","handleFCMToken","AssignmentID","permission","Notification","requestPermission","messaging","getMessaging","currentToken","getToken","vapidKey","tokenError","log","saveError","onMessage","handleMessage","messageListenerError","payload","jsonObject","inject","namespaced","actions","login","p_oCredentials","google","googleMapsInit","processLoginResult","finalLoginResult","l_oBackgroundMessagePayloadParams","getBackgroundMessagePayloadParams","fc","logout","googleInitialized","initialized","isRootedOrJailbreak","isNavOpen","pageTitle","shopSearchResults","shopSearchType","cachedShopData","shopsNearMeResults","backgroundMessagePayloadParams","authHeader","forumAuthHeader","applicant","currentQuestionnaireAnswers","currentClarificationAnswers","mutations","loginSuccess","createStore","modules","routeParams","currentAssignmentID","gigspotAssignmentOnHold","isBestmarkManualLogin","getGoogle","isGoogleInitialized","isInitialized","getCurrentAssignmentID","getForumAuthHeader","getGigspotAssignmentOnHold","getIsBestmarkManualLogin","getShopSearchResults","getShopsNearMeResults","getCurrentQuestionnaireAnswers","getCurrentClarificationAnswers","setGoogle","setGoogleInitialized","setInitialized","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","setCurrentClarificationAnswers","in_currentClarificationAnswers","initializeGoogleMaps","maxRetries","retryDelay","attempts","loadScript","maps","initError","head","onload","loadError","onerror","PreRouteChecks","to","from","next","query","eid","aid","FilterVendorLoginAccess","FilterBestmarkNevadaMultishopperLoginAccess","l_oInfo","l_oStoredCredentials","path","assignmentID","lastViewedShop","callingPage","pageName","l_oRouteData","l_oCredentials","newParams","routes","component","beforeEnter","createRouter","history","createWebHashHistory","beforeEach","afterEach","scrollTo","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","initFirebaseSdk","firebaseApp","getApps","initializeApp","register","ready","registered","cached","updatefound","offline","initFacebookSdk","d","s","js","fjs","getElementsByTagName","parentNode","insertBefore","fbAsyncInit","FB","cookie","xfbml","version","scope","App","createApp","AppComponent","config","errorHandler","vm","info","stackTrace","stack","msg","line","col","addEventListener","event","reason","use","provide","globalProperties","mount","serviceWorker","location","focus","allowedWorkers","getRegistrations","registrations","forEach","registration","active","some","scriptURL","unregister","success","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","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","doneFns","removeChild","bind","target","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","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}