From 3f4e6ebf3aa464d25cab1e0d002d1413bb91cce0 Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Fri, 26 Jun 2026 22:13:34 -0400 Subject: [PATCH] INSR-10111: Get carrier phone number earlier, add CMS helper for phone# --- src/constants/dynamic-strings.js | 3 ++- src/helpers/cms-content-helper.js | 27 +++++++++++++++++++++++ src/layouts/welcome-page/welcome-page.vue | 1 + src/store/index.js | 1 - 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/constants/dynamic-strings.js b/src/constants/dynamic-strings.js index 52034987..33646dc6 100644 --- a/src/constants/dynamic-strings.js +++ b/src/constants/dynamic-strings.js @@ -5,7 +5,8 @@ const dynamicStrings = Object.freeze({ MODAL_LINK: 'modalLink', TEXT_LINK: 'textLink', EXTERNAL_LINK: 'externalLink', - PHONE_LINK: 'phoneLink' + PHONE_LINK: 'phoneLink', + PHONE_NUMBER: 'phoneNumber' }); export default dynamicStrings; diff --git a/src/helpers/cms-content-helper.js b/src/helpers/cms-content-helper.js index c8ddf306..47aade98 100644 --- a/src/helpers/cms-content-helper.js +++ b/src/helpers/cms-content-helper.js @@ -1,5 +1,6 @@ import dynamicStrings from '@/constants/dynamic-strings'; import { useMainStore } from '@/store'; +import { toDisplayPhoneNumber } from './text-helper'; /** * @function getStringWithCustomValues @@ -45,6 +46,9 @@ function processWidgetItemForReplacement(widgetModel, key) { if (widgetModel[key].includes(dynamicStrings.GLOBAL_STATE)) { widgetModel[key] = mapStringToState(widgetModel[key]); } + if (widgetModel[key].includes(dynamicStrings.PHONE_NUMBER)) { + widgetModel[key] = mapStringToPhoneNumber(widgetModel[key]); + } return widgetModel[key]; } @@ -317,6 +321,29 @@ function mapStringToState(str) { return str.trimStart(); } +/** + * @function mapStringToPhoneNumber + * @param str + */ +function mapStringToPhoneNumber(str) { + const startIndex = str.indexOf(`{${dynamicStrings.PHONE_NUMBER}`); + console.log('startIndex', startIndex); + console.log('str', str); + let textToReplace = str.substring(startIndex, str.length); + textToReplace = textToReplace.substring(0, textToReplace.indexOf('}') + 1); + console.log('textToReplace', textToReplace); + const phoneNumber = textToReplace.substring( + dynamicStrings.PHONE_NUMBER.length + 2, + textToReplace.length - 1 + ); + console.log('phoneNumber', phoneNumber); + const displayPhoneNumber = toDisplayPhoneNumber(phoneNumber); + + const returnVal = str.replace(textToReplace, displayPhoneNumber); + + return returnVal; +} + /** * @function getStoreValueFromString * @param str diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index 6f72d2df..b95ba858 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -232,6 +232,7 @@ export default { // Set order account number from the issConfig. mainStore.order.parentAccountNumber = mainStore.issConfig.parentAccountNumber; + mainStore.getCarrierAccountInfo(); return { mainStore }; }, diff --git a/src/store/index.js b/src/store/index.js index dee920e0..5f9742df 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -3162,7 +3162,6 @@ export const useMainStore = defineStore({ if (this.hasSubmittedOrder()) { return; } - await this.getCarrierAccountInfo(); const submittedOrder = this.order; const { experiments } = this.applicationUser; const { issConfig, hasRecalibrationPart } = this;