diff --git a/src/constants/experiments.js b/src/constants/experiments.js index b21571e7..18676ce4 100644 --- a/src/constants/experiments.js +++ b/src/constants/experiments.js @@ -4,7 +4,7 @@ const experimentUniverses = Object.freeze({ const experimentSettings = Object.freeze({ GOOGLE_CUSTOM_DIMENSION_INDEX: 'Google Custom Dimension Index', - ISS_DISPLAY_PAY_IN_ADVANCE: 'ISSDisplayPIAInsurance_ISS' + ISS_DISPLAY_PAY_IN_ADVANCE: 'DisplayPIAInsurance' }); const experimentTriggers = Object.freeze({ diff --git a/src/iss-components/cart-dropdown/cart-dropdown.spec.js b/src/iss-components/cart-dropdown/cart-dropdown.spec.js index ed02ba8a..8fdc9898 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.spec.js +++ b/src/iss-components/cart-dropdown/cart-dropdown.spec.js @@ -123,9 +123,7 @@ describe('cart-dropdown component', () => { const storeData = { order: { payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } + insuranceCoverage: { isVerified: true } }, policy: { isITAC: false @@ -147,14 +145,18 @@ describe('cart-dropdown component', () => { const initialData = { isExpanded }; const storeData = { order: { + currentDeductible: 0, + lineItems: { }, payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } + insuranceCoverage: { isVerified: true } }, policy: { - isITAC: true + isITAC: true, + policyLookupSuccessful: true } + }, + issConfig: { + isClaimRegistrationRequired: true } }; const { wrapper } = getMountedComponent(storeData, {}, initialData); @@ -296,14 +298,18 @@ describe('cart-dropdown component', () => { const initialData = { isExpanded }; const storeData = { order: { + currentDeductible: 0, + lineItems: { }, payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } + insuranceCoverage: { isVerified: true } }, policy: { - isITAC: true + isITAC: true, + policyLookupSuccessful: true } + }, + issConfig: { + isClaimRegistrationRequired: true } }; const { wrapper } = getMountedComponent(storeData, {}, initialData); @@ -322,9 +328,7 @@ describe('cart-dropdown component', () => { const storeData = { order: { payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } + insuranceCoverage: { isVerified: true } }, policy: { isITAC: false @@ -636,7 +640,9 @@ describe('cart-dropdown component', () => { const storeData = { order: { policy: { - policyLookupSuccessful: true + policyLookupSuccessful: true, + noCoverage: false, + isITAC: false }, currentDeductible: 250, lineItems: { @@ -652,13 +658,7 @@ describe('cart-dropdown component', () => { vaps: null }, payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.VERIFIED - } - }, - policy: { - noCoverage: false, - isITAC: false + insuranceCoverage: { isVerified: true } } }, issConfig: { @@ -696,9 +696,7 @@ describe('cart-dropdown component', () => { ] }, payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.VERIFIED - } + insuranceCoverage: { isVerified: true } } }, issConfig: { @@ -1761,12 +1759,12 @@ describe('cart-dropdown component', () => { const storeData = { order: { payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.PENDING - } + insuranceCoverage: { isVerified: true } }, policy: { - isITAC: true + isITAC: true, + noCoverage: false, + policyLookupSuccessful: true }, currentDeductible: 321 } @@ -1782,15 +1780,22 @@ describe('cart-dropdown component', () => { // Assert expect(result).toBe(dollarAmount); }); - test('returns dollar amount when no comp', () => { + test('returns dollar amount when no comp and enableNoCompQuotes true', () => { // Arrange const storeData = { order: { + payment: { + insuranceCoverage: { isVerified: true } + }, policy: { isITAC: false, - noCoverage: true + noCoverage: true, + policyLookupSuccessful: true }, currentDeductible: 321 + }, + issConfig: { + enableNoCompQuote: true } }; const { wrapper } = getMountedComponent(storeData); @@ -1804,21 +1809,46 @@ describe('cart-dropdown component', () => { // Assert expect(result).toBe(dollarAmount); }); + test('returns "Verifying Coverage" when no comp and enableNoCompQuotes false', () => { + // Arrange + const storeData = { + order: { + payment: { + insuranceCoverage: { isVerified: true } + }, + policy: { + isITAC: false, + noCoverage: true, + policyLookupSuccessful: true + }, + currentDeductible: 321 + }, + issConfig: { + enableNoCompQuote: false + } + }; + const { wrapper } = getMountedComponent(storeData); + const amount = 123; + + // Act + const result = wrapper.vm.getDisplayed(amount); + + // Assert + expect(result).toBe(VERIFYING_COVERAGE); + }); test('returns dollar amount when deductible set, not itac, not no comp, and verified', () => { // Arrange const storeData = { order: { policy: { isITAC: false, - isNoComp: false, + noCoverage: false, policyLookupSuccessful: true }, currentDeductible: 321, policyLookupSuccessful: true, payment: { - insuranceCoverage: { - coverageStatus: coverageStatuses.VERIFIED - } + insuranceCoverage: { isVerified: true } } } }; diff --git a/src/iss-components/cart-dropdown/cart-dropdown.vue b/src/iss-components/cart-dropdown/cart-dropdown.vue index 662108f8..1831ba68 100644 --- a/src/iss-components/cart-dropdown/cart-dropdown.vue +++ b/src/iss-components/cart-dropdown/cart-dropdown.vue @@ -211,7 +211,8 @@ export default { return this.submittedOrder ? this.submittedOrder.currentDeductible : useMainStore().order.currentDeductible; }, showDeductibleCartItem() { - return !this.isNoComp && !this.isITAC; + const { isUnverified } = useMainStore(); + return isUnverified || (!this.isNoComp && !this.isITAC); }, lineItems() { return this.submittedOrder ? this.submittedOrder.lineItems : useMainStore().lineItems; @@ -232,19 +233,13 @@ export default { baseServicePrice() { return getPriceOfLineItems(this.baseServiceLineItems) ?? 0; }, - isVerifiedCoverageStatus() { - return this.submittedOrder ? this.submittedOrder.payment.insuranceCoverage.isVerified : useMainStore().isVerifiedCoverageStatus; - }, - isUnverified() { - return !this.isNoComp && !this.isITAC - && (this.deductible == null || !this.isVerifiedCoverageStatus); - }, isITAC() { return this.submittedOrder ? this.submittedOrder.policy.isITAC : useMainStore().isITAC; }, isNoComp() { return this.submittedOrder ? this.submittedOrder.policy.noCoverage : useMainStore().isNoComp; }, + // TODO fix rounding subTotal() { const { supportingItems, glassParts, otherParts, vaps, mobileFee } = this.lineItems; const allLineItems = [ @@ -270,13 +265,14 @@ export default { return result; }, salesTax() { + const { isUnverified } = useMainStore(); function sumTax(lineItems) { return lineItems?.reduce((accumulator, lineItem) => accumulator + (lineItem.salesTax ?? 0), 0) ?? 0; } let result = 0; - if (!this.isUnverified) { + if (!isUnverified) { if (this.isITAC || this.isNoComp) { result += sumTax(this.baseServiceLineItems); } else { @@ -451,9 +447,8 @@ export default { this.isExpanded = !this.isExpanded; }, getDisplayed(amount) { - return this.isUnverified - && !this.isNoComp - && !this.isITAC + const { isUnverified } = useMainStore(); + return isUnverified ? VERIFYING_COVERAGE : formatAmountInDollars(amount); }, diff --git a/src/iss-components/site-header/site-header.vue b/src/iss-components/site-header/site-header.vue index c2b91665..ed5cf3cc 100644 --- a/src/iss-components/site-header/site-header.vue +++ b/src/iss-components/site-header/site-header.vue @@ -81,16 +81,14 @@ export default { // load client customization overrides const clientOverrideClass = this.mainStore.issConfig.styleSheet.trim(); if ( - clientOverrideClass && - clientOverrideClass !== '' && - !document + clientOverrideClass + && clientOverrideClass !== '' + && !document .getElementsByTagName('body')[0] .className.split(' ') .includes(clientOverrideClass) ) { - document.getElementsByTagName( - 'body' - )[0].className += ` ${clientOverrideClass}`; + document.getElementsByTagName('body')[0].className += ` ${clientOverrideClass}`; } }, methods: { @@ -100,18 +98,14 @@ export default { 'Answers' ); if ( - overrideCmsHeaderAnswers && - Array.isArray(overrideCmsHeaderAnswers) + overrideCmsHeaderAnswers + && Array.isArray(overrideCmsHeaderAnswers) ) { const { parentAccountNumber } = useMainStore().issConfig; - let headerOverrideToUse = overrideCmsHeaderAnswers.find( - (answer) => - answer.AccountNumber === parentAccountNumber.toString() - ); + let headerOverrideToUse = overrideCmsHeaderAnswers.find((answer) => + answer.AccountNumber === parentAccountNumber.toString()); if (headerOverrideToUse == null) { - headerOverrideToUse = overrideCmsHeaderAnswers.find( - (answer) => answer.AccountNumber === '0' - ); + headerOverrideToUse = overrideCmsHeaderAnswers.find((answer) => answer.AccountNumber === '0'); } if (headerOverrideToUse) { diff --git a/src/layouts/contact-details/contact-details.vue b/src/layouts/contact-details/contact-details.vue index c3daca4f..e67990aa 100644 --- a/src/layouts/contact-details/contact-details.vue +++ b/src/layouts/contact-details/contact-details.vue @@ -70,20 +70,22 @@ :cmsWidgetName="widget.notesQuestion" maxLength="250" :inputRows="4" /> -

+

{{ textUpdateDisclaimerText }} I also agree to Safelite's and .

@@ -128,7 +130,7 @@ export default { siteFooter, // eslint-disable-next-line vue/no-reserved-component-names Form, - textLink, + textLink }, mixins: [BaseFormMixin], async beforeRouteEnter(to, from, next) { @@ -145,7 +147,7 @@ export default { emailAddress, servicePhone, requestTextUpdates, - notesForTechnician, + notesForTechnician } = useMainStore().contactInfo; return { firstName, @@ -164,14 +166,14 @@ export default { requestTextUpdates: 'TextContentWidget', notesQuestion: 'NotesQuestionWidget', disclaimer: 'TextUpdateDisclaimerWidget', - siteFooter: 'SiteFooterWidget', + siteFooter: 'SiteFooterWidget' }, rules: { firstName: globalRules.FIRST_NAME_REQUIRED, lastName: globalRules.LAST_NAME_REQUIRED, emailAddress: `${globalRules.EMAIL_ADDRESS_REQUIRED}|${globalRules.EMAIL_ADDRESS_FORMAT}`, - phoneNumber: `${globalRules.PHONE_NUMBER_REQUIRED}|${globalRules.PHONE_NUMBER_FORMAT}`, - }, + phoneNumber: `${globalRules.PHONE_NUMBER_REQUIRED}|${globalRules.PHONE_NUMBER_FORMAT}` + } }; }, computed: { @@ -192,7 +194,7 @@ export default { }, phoneMask() { return MaskaFormattedMasks.PHONE_NUMBER; - }, + } }, methods: { /** @@ -204,32 +206,32 @@ export default { lastName: this.lastName, emailAddress: this.emailAddress, requestTextUpdates: this.requestTextUpdates, - notesForTechnician: this.notesForTechnician, + notesForTechnician: this.notesForTechnician }; useMainStore().updateContactInfo(contactInfo); if (this.requestTextUpdates) { useMainStore().updatePhoneNumbers({ service: this.phoneNumber, - alternative: this.phoneNumber, + alternative: this.phoneNumber }); } else { useMainStore().updatePhoneNumbers({ home: this.phoneNumber, - service: this.phoneNumber, + service: this.phoneNumber }); } const scenario = - useMainStore().order.serviceLocation.IsSafeliteProvider === - false + useMainStore().order.serviceLocation.IsSafeliteProvider + === false ? this.navigationScenarios - .CLICKED_FORWARD_WITH_NON_SAFELITE_SHOP + .CLICKED_FORWARD_WITH_NON_SAFELITE_SHOP : this.navigationScenarios - .CLICKED_FORWARD_WITH_SAFELITE_SHOP; + .CLICKED_FORWARD_WITH_SAFELITE_SHOP; this.$router.navigate(scenario, this.$route); - }, - }, + } + } }; diff --git a/src/layouts/coverage-statement/coverage-statement.spec.js b/src/layouts/coverage-statement/coverage-statement.spec.js index 2dd9e3f7..e47df660 100644 --- a/src/layouts/coverage-statement/coverage-statement.spec.js +++ b/src/layouts/coverage-statement/coverage-statement.spec.js @@ -774,8 +774,7 @@ describe('coverageStatement.vue-working', () => { order: { payment: { insuranceCoverage: { - claimNumber: null, - isVerified: true // Added + claimNumber: null } }, policy: { @@ -854,19 +853,6 @@ describe('coverageStatement.vue-working', () => { // Assert expect(result).toBeFalsy(); }); - test('returns false when no comp', () => { - // Arrange - const mainInitialState = shouldRegisterClaimStoreStateItac; - mainInitialState.order.policy.noCoverage = true; - const { wrapper } = getMountedComponent(mainInitialState); - - // Act - const result = wrapper.vm.shouldRegisterClaim; - - // Assert - expect(result).toBeFalsy(); - }); - test('returns false when insuranceCoverage not verified', () => {}); describe('returns true when policy lookup success, vehicleId set to %p, claim reg req, claim not yet reg', () => { test('and itac', () => { // Arrange diff --git a/src/layouts/coverage-statement/coverage-statement.vue b/src/layouts/coverage-statement/coverage-statement.vue index 0d0df331..68c2df90 100644 --- a/src/layouts/coverage-statement/coverage-statement.vue +++ b/src/layouts/coverage-statement/coverage-statement.vue @@ -381,7 +381,6 @@ export default { && policyVehicleId >= 0 && isClaimRegistrationRequired && !isClaimAlreadyRegistered - && !this.isNoCompQuoteVisible ); } }, diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index 9eb78c7a..318161bf 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -10,6 +10,12 @@ import issPageValues from '@/router/router-constants/issPage-values'; import { paymentMethods } from '@/constants/payment-method-constants'; import queryStrings from '@/constants/query-strings'; import { experimentSettings } from '@/constants/experiments'; +import { submitWorkOrder } from '@/helpers/order-helper.js'; + +// Mock so it can be used as an assertion +jest.mock('@/helpers/order-helper.js', () => ({ + submitWorkOrder: jest.fn() +})); function setupMocks({ customMountOptions = {}, queryString }, mainInitialState = {}, customMixin = null) { const mountOptions = getMountOptions({ @@ -251,4 +257,25 @@ describe('payment-method.vue', () => { expect(result).toBeTruthy(); }); }); + + describe('forwardButtonAction', () => { + test('Pay at the time of service is selected, should call saveWorkOrder', async () => { + // Arrange + const store = { + order: { + payment: { + isPayInAdvance: false, + payInAdvanceType: null + } + } + }; + const wrapper = setupMocks({}, store); + + // Act + await wrapper.vm.forwardButtonAction(); + + // Assert + expect(submitWorkOrder).toHaveBeenCalledTimes(1); + }); + }); }); diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 368ceb1f..0204a5a7 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -88,6 +88,8 @@ import issPageValues from '@/router/router-constants/issPage-values'; import bailoutMessage from '@/constants/bailoutMessage'; import { AppointmentTypeStrings } from '@/constants/schedule-constants'; import VehicleBanner from '@/iss-components/vehicle-banner/vehicle-banner.vue'; +import { submitWorkOrder } from '@/helpers/order-helper.js'; +import { experimentSettings } from '@/constants/experiments'; export default { name: 'payment-method', @@ -182,7 +184,10 @@ export default { return this.$route.query[queryStrings.DISPLAY_PAY_IN_ADVANCE_ALERT]; }, isPayInAdvanceDisabled() { - return useMainStore().isUnverified; + const piaExperience = this.getSettingValue(experimentSettings.ISS_DISPLAY_PAY_IN_ADVANCE); + const isEnabled = piaExperience === 'true'; + + return !isEnabled || useMainStore().isUnverified; }, paymentMethod() { return this.paymentMethodInternalModel; @@ -296,10 +301,21 @@ export default { await useMainStore().savePaymentMethodChoice(this.paymentMethod); if (this.paymentMethod === paymentMethods.PAY_AT_TIME_OF_SERVICE) { - this.$router.navigate( - this.navigationScenarios.CLICKED_FORWARD, - this.$route - ); + try { + await submitWorkOrder({ + pageNameToLog: 'payment-method', + submitAfterSave: true + }); + + useMainStore().resetSubmittedOrder(); + + this.$router.navigate( + this.navigationScenarios.CLICKED_FORWARD, + this.$route + ); + } catch (error) { + console.error(`error: response from submit work order:${error.message}`); + } } else { this.$router.navigate( this.navigationScenarios.CLICKED_PAY_NOW, diff --git a/src/layouts/payment-method/review-dropdown/review-sections/service-location-review/service-location-review.vue b/src/layouts/payment-method/review-dropdown/review-sections/service-location-review/service-location-review.vue index 17cc66cc..260cbe67 100644 --- a/src/layouts/payment-method/review-dropdown/review-sections/service-location-review/service-location-review.vue +++ b/src/layouts/payment-method/review-dropdown/review-sections/service-location-review/service-location-review.vue @@ -29,7 +29,8 @@ export default { ]; }, addressInfo() { - if (this.serviceLocation?.appointmentType === AppointmentTypeStrings.MOBILE) { + if (this.serviceLocation?.appointmentType === AppointmentTypeStrings.MOBILE + || this.serviceLocation?.appointmentType === AppointmentTypeStrings.MOBILE_NOT_ITAC_AND_NOT_NOCOMP) { return { address: this.serviceLocation?.address, address2: this.serviceLocation?.address2 ?? '', diff --git a/src/mixins/experiment-mixin.spec.js b/src/mixins/experiment-mixin.spec.js index 9f2625c0..61b8663a 100644 --- a/src/mixins/experiment-mixin.spec.js +++ b/src/mixins/experiment-mixin.spec.js @@ -20,6 +20,7 @@ function setupMocks({ experimentSettings }) { const mockExperimentData = [ { settings: experimentSettings ?? testExperimentSettings, + isActive: true, variationName: 'test', universeName: 'testUniverse' } diff --git a/src/store/index.js b/src/store/index.js index 4b7502f8..f8311636 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -375,29 +375,31 @@ export const useMainStore = defineStore({ }; }, experimentOrder: (state) => ({ - issVehicleYear: state.order.vehicle.year, - issVehicleMake: state.order.vehicle.make, - issVehicleModel: state.order.vehicle.model, - issVehicleStyle: state.order.vehicle.style, - issIsRepair: state.order.damage.isRepair, - issNumberOfChips: state.order.damage.numberOfChips, - issCarId: state.order.vehicle.carId, - issServiceCity: state.order.serviceLocation.city, - issServiceState: state.order.serviceLocation.state, - issServiceZipCode: state.order.serviceLocation.zipCode, - issParentAccountNumber: state.order.accountNumber, - issIsCoverageVerified: state.order.payment.insuranceCoverage.isVerified, - issHasRecalibrationPart: getHasRecalibrationPart(state), - issSelectedMultiGlass: state.order.damage.glassToReplace?.length > 1, - issSelectedWindshieldGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') + funnelVehicleYear: state.order.vehicle.year, + funnelVehicleMake: state.order.vehicle.make, + funnelVehicleModel: state.order.vehicle.model, + funnelVehicleStyle: state.order.vehicle.style, + funnelIsRepair: state.order.damage.isRepair, + funnelNumberOfChips: state.order.damage.numberOfChips, + funnelCarId: state.order.vehicle.carId, + funnelServiceCity: state.order.serviceLocation.city, + funnelServiceState: state.order.serviceLocation.state, + funnelServiceZipCode: state.order.serviceLocation.zipCode, + funnelServiceZipCodeCtu: state.order.serviceLocation.zipCodeCtu, + funnelParentAccountNumber: state.order.accountNumber, + funnelProviderNumber: state.order.serviceLocation.provider.providerNumber, + funnelIsCoverageVerified: state.order.payment.insuranceCoverage.isVerified, + funnelHasRecalibrationPart: getHasRecalibrationPart(state), + funnelSelectedMultiGlass: state.order.damage.glassToReplace?.length > 1, + funnelSelectedWindshieldGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') .includes(damageLocationsSelected.WINDSHIELD), - issSelectedBackGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') + funnelSelectedBackGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') .includes(damageLocationsSelected.REAR), - issSelectedDriverSideGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') + funnelSelectedDriverSideGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') .includes(damageLocationsSelected.DRIVER), - issSelectedPassengerSideGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') + funnelSelectedPassengerSideGlass: getNonFalseValuesOfPropertyInArrayOfObjects(state.order.damage.glassToReplace, 'glassLocation') .includes(damageLocationsSelected.PASSENGER), - issOrderPartNumbers: [ + funnelOrderPartNumbers: [ ...getNonFalseValuesOfPropertyInArrayOfObjects( state.order.lineItems.glassParts, 'partNumber' @@ -407,7 +409,7 @@ export const useMainStore = defineStore({ 'partNumber' ) ], - issOrderPartTypes: [ + funnelOrderPartTypes: [ ...getNonFalseValuesOfPropertyInArrayOfObjects( state.order.lineItems.glassParts, 'recalibrationType' @@ -419,9 +421,10 @@ export const useMainStore = defineStore({ ] }), experimentSettings: (state) => state.applicationUser.experiments + .filter((x) => !!x.isActive) .map((x) => x.settings) .reduce((r, c) => Object.assign(r, c), {}) ?? {}, - submittedOrder: () => JSON.parse(window.sessionStorage.getItem('submittedOrder')) + submittedOrder: () => JSON.parse(window.sessionStorage.getItem(webStorageConstants.SUBMITTED_ORDER)) }, actions: { diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss index fc69e025..ebd33bd4 100644 --- a/src/styles/common-styles.scss +++ b/src/styles/common-styles.scss @@ -1,12 +1,15 @@ // Common/Global Styles // Use this file for global styles that don't or won't have their own stylesheet -html, body { +html, +body { height: 100%; } + body { font-size: 16px; background-color: #fff; color: #4d5151; + .container-fluid { .prevent-squish { overflow-x: unset; @@ -16,39 +19,50 @@ body { display: flex; flex-direction: column; } + // Set max-width on columns to prevent overly-wide // components on extra wide screens. .col-md-6 { max-width: 472px; + @include media-breakpoint-up(xl) { max-width: 708px; } + .col { max-width: 236px; + &.one-list-card-width { max-width: 472px; + @include media-breakpoint-up(xl) { max-width: 66.6666666%; } } } + .shop-question { .col { max-width: 472px; } } } + .col-xl-4 { max-width: 472px; + .col { max-width: 100%; } } + //END set max-width on columns } + .pointer { cursor: pointer; } + .container, .container-fluid { overflow-x: hidden; @@ -71,7 +85,12 @@ body { height: 1px; overflow: hidden; } + + .pac-container { + z-index: 10000 !important; + } } + .modal-open { .container-fluid { &.fade-on-route-transition { @@ -79,4 +98,4 @@ body { height: auto; } } -} +} \ No newline at end of file