diff --git a/.eslintrc.js b/.eslintrc.js index 7187e7e5..3ced6a6d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -23,7 +23,7 @@ module.exports = { 'implicit-arrow-linebreak': ['off'], 'comma-dangle': ['error', 'never'], indent: ['error', 4, { SwitchCase: 1 }], - 'max-len': ['error', { code: 140 }], + 'max-len': ['error', { code: 160 }], 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], 'vue/html-indent': 'off', 'vue/html-closing-bracket-newline': ['error', { diff --git a/package-lock.json b/package-lock.json index 07bc00f7..7d879e6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "typescript-eslint": "^8.11.0", "vite": "^6.4.1", "vitest": "^3.2.4", - "volar-service-vetur": "*", + "volar-service-vetur": "latest", "wait-on": "^8.0.2" } }, diff --git a/src/App.vue b/src/App.vue index 3f54962a..81e59a4e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -7,6 +7,7 @@ + import loadingModal from '@/iss-components/loading-modal/loading-modal.vue'; import showIssLoadingModal from '@/helpers/loading-modal-helper.js'; +import footerMenu from '@/iss-components/footer-menu/footer-menu.vue'; export default { name: 'app', components: { + footerMenu, loadingModal }, setup() { @@ -45,15 +48,15 @@ window.onerror = (msg, url, line, col, error) => { // Note that col & error are new to the HTML 5 spec and may not be // supported in every browser. It worked for me in Chrome. global.$logger.logError(msg, { - url: url, - line: line, - column: col ?? "", - error: error ?? "", + url, + line, + column: col ?? '', + error: error ?? '' }); // If you return true, then error alerts (like in older versions of // Internet Explorer) will be suppressed. - var suppressErrorAlert = true; + const suppressErrorAlert = true; return suppressErrorAlert; }; diff --git a/src/assets/img/powered-by-safelite-solutions.svg b/src/assets/img/powered-by-safelite-solutions.svg new file mode 100644 index 00000000..ec8d5554 --- /dev/null +++ b/src/assets/img/powered-by-safelite-solutions.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/iss-components/footer-menu/footer-menu.vue b/src/iss-components/footer-menu/footer-menu.vue new file mode 100644 index 00000000..738c0507 --- /dev/null +++ b/src/iss-components/footer-menu/footer-menu.vue @@ -0,0 +1,143 @@ + + + + diff --git a/src/iss-components/site-footer/footer-image/footer-image.vue b/src/iss-components/site-footer/footer-image/footer-image.vue deleted file mode 100644 index f1ddaf89..00000000 --- a/src/iss-components/site-footer/footer-image/footer-image.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - - diff --git a/src/iss-components/site-footer/site-footer.vue b/src/iss-components/site-footer/site-footer.vue index fd41ea76..1cf0f21e 100644 --- a/src/iss-components/site-footer/site-footer.vue +++ b/src/iss-components/site-footer/site-footer.vue @@ -49,7 +49,6 @@ diff --git a/src/iss-components/site-sub-header/site-sub-header.vue b/src/iss-components/site-sub-header/site-sub-header.vue index 34b4bbd8..b58be168 100644 --- a/src/iss-components/site-sub-header/site-sub-header.vue +++ b/src/iss-components/site-sub-header/site-sub-header.vue @@ -1,10 +1,10 @@ + diff --git a/src/layouts/policy-holder-details/policy-holder-details.vue b/src/layouts/policy-holder-details/policy-holder-details.vue index 165fb775..3103ada2 100644 --- a/src/layouts/policy-holder-details/policy-holder-details.vue +++ b/src/layouts/policy-holder-details/policy-holder-details.vue @@ -4,17 +4,16 @@ v-slot="{ meta }" @submit="onSubmit" @invalidSubmit="onInvalidSubmit"> -
-
-
- -
+
+
+
-
-
+
+
+ cmsWidgetName="SiteSubHeaderWidget" + class="mt-4" /> diff --git a/src/layouts/vehicle-selection/vehicle-selection.vue b/src/layouts/vehicle-selection/vehicle-selection.vue index 5ff967aa..708469bc 100644 --- a/src/layouts/vehicle-selection/vehicle-selection.vue +++ b/src/layouts/vehicle-selection/vehicle-selection.vue @@ -4,22 +4,16 @@ v-slot="{ meta }" @submit="onSubmit" @invalidSubmit="onInvalidSubmit"> -
-
-
- -
+
+
+
-
-
+
+
- - { - this.displayNoServiceAlert = !result.data.canSafeliteService; + this.displayNoServiceAlert = !result.data.canSafeliteService; }); } }, @@ -210,7 +194,7 @@ export default { this.selectedModel, this.selectedStyle ).then((result) => { - this.displayNoServiceAlert = !result.data.canSafeliteService; + this.displayNoServiceAlert = !result.data.canSafeliteService; }); } }, @@ -223,94 +207,101 @@ export default { }, navigateForward() { - this.mainStore.setVehicle().then(() => { - if (this.mainStore.isBailout) { + this.mainStore.setVehicle().then( + () => { + if (this.mainStore.isBailout) { + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, + this.$route + ); + return; + } + + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD, + this.$route + ); + }, + (error) => { + // eslint-disable-next-line max-len + this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, this.mainStore.vehicle.model, this.mainStore.vehicle.style, error)); this.$router.navigate( this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, this.$route ); - return; } - - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD, - this.$route - ); - }, - (error) => { - this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, this.mainStore.vehicle.model, this.mainStore.vehicle.style, error)); - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, - this.$route - ); - }); + ); }, async updateYearValues() { - return this.mainStore.getVehicleYears().then((response) => { - return response; - }, - (error) => { - this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(null, null, null, null, error)); - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, - this.$route - ); - }); + return this.mainStore.getVehicleYears().then( + (response) => response, + (error) => { + this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(null, null, null, null, error)); + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, + this.$route + ); + } + ); }, async updateMakeValues() { - return this.mainStore.getVehicleMakes().then((response) => { - return response; - }, - (error) => { - this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, null, null, null, error)); - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, - this.$route - ); - }); + return this.mainStore.getVehicleMakes().then( + (response) => response, + (error) => { + this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, null, null, null, error)); + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, + this.$route + ); + } + ); }, async updateModelValues() { - return this.mainStore.getVehicleModels().then((response) => { - return response; - }, - (error) => { - this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, null, null, error)); - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, - this.$route - ); - }); + return this.mainStore.getVehicleModels().then( + (response) => response, + (error) => { + // eslint-disable-next-line max-len + this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, null, null, error)); + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, + this.$route + ); + } + ); }, async updateStyleValues() { - return this.mainStore.getVehicleStyles().then((response) => { - return response; - }, - (error) => { - this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, this.mainStore.vehicle.model, null, error)); - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, - this.$route - ); - }); + return this.mainStore.getVehicleStyles().then( + (response) => response, + (error) => { + // eslint-disable-next-line max-len + this.mainStore.setBailout(bailoutMessage.vehicleYMMSLookupError(this.mainStore.vehicle.year, this.mainStore.vehicle.make, this.mainStore.vehicle.model, null, error)); + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD_WITH_BAILOUT, + this.$route + ); + } + ); }, resetAlert() { this.displayNoServiceAlert = false; - } + } } }; diff --git a/src/layouts/vin-lookup/vin-lookup.vue b/src/layouts/vin-lookup/vin-lookup.vue index 90209f94..15831aca 100644 --- a/src/layouts/vin-lookup/vin-lookup.vue +++ b/src/layouts/vin-lookup/vin-lookup.vue @@ -4,21 +4,16 @@ v-slot="{ meta }" @submit="onSubmit" @invalidSubmit="onInvalidSubmit"> -
-
-
- -
+
+
+
-
-
+
+
- + + + diff --git a/src/layouts/welcome-page/welcome-page.vue b/src/layouts/welcome-page/welcome-page.vue index 6055a872..f89c82c4 100644 --- a/src/layouts/welcome-page/welcome-page.vue +++ b/src/layouts/welcome-page/welcome-page.vue @@ -4,14 +4,12 @@ v-slot="{ meta }" @submit="onSubmit" @invalidSubmit="onInvalidSubmit"> -
-
-
- -
+
+
+
-
-
+
+
@@ -23,8 +21,7 @@ isRequired disableAutoFill :isDisabled="isPolicyHolderDisabled" - :validationRules="rules.policyNumber" - class="mt-5" /> + :validationRules="rules.policyNumber" />
- -
@@ -163,7 +157,6 @@ import textboxQuestion from '@/digital-components/textbox-question/textbox-quest import buttonQuestion from '@/digital-components/button-question/button-question.vue'; import dropdownQuestion from '@/digital-components/dropdown-question/dropdown-question.vue'; import textBlock from '@/digital-components/text-block/text-block.vue'; -import footerImage from '@/iss-components/site-footer/footer-image/footer-image.vue'; // Supporting files import { @@ -196,7 +189,6 @@ export default { components: { siteHeader, siteSubHeader, - footerImage, alert, buttonQuestion, continueModal, @@ -482,13 +474,22 @@ export default {