diff --git a/jest.config.js b/jest.config.js index 6703eb608..905e907dc 100644 --- a/jest.config.js +++ b/jest.config.js @@ -18,6 +18,7 @@ module.exports = { "!src/layouts/payment-method/**/*.vue", "!src/fmg-components/cart/**/*.vue", "!src/fmg-components/add-vaps-modal-buttons/**/*.vue", + "!src/fmg-components/funnel-footer/**/*.vue", //UI component; nothing to test "!src/ux-components/text-link/**/*.vue", "!src/layouts/vin-lookup/**/*.vue", //Temporary for Quote page testing "!src/common-components/funnel-header/menu-modal/**/*.vue", diff --git a/src/App.vue b/src/App.vue index b5be4ec86..422ae2893 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,6 +5,7 @@ + @@ -12,6 +13,7 @@ import { handleAnyComponentFocus } from "@/helpers/button-question-focus-helper"; import loadingModal from "@/fmg-components/loading-modal/loading-modal.vue"; import { showFmgLoadingModal } from "@/helpers/loading-modal-helper"; +import funnelFooter from "@/fmg-components/funnel-footer/funnel-footer.vue"; export default { name: "app", @@ -32,6 +34,7 @@ export default { }, components: { loadingModal, + funnelFooter, }, }; diff --git a/src/assets/img/neighborhood.svg b/src/assets/img/neighborhood.svg new file mode 100644 index 000000000..30eef566e --- /dev/null +++ b/src/assets/img/neighborhood.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/img/skyline-van.svg b/src/assets/img/skyline-van.svg new file mode 100644 index 000000000..c452e70f1 --- /dev/null +++ b/src/assets/img/skyline-van.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 594227f7b..f99ea660d 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -192,6 +192,10 @@ const endpoints = { url: "/account/api/v1/account/bill-to-account-number", method: "GET", }, + AddDonationPart: { + url: "/order/api/v1/order/add-donation-part", + method: "POST", + }, }; export { endpoints }; diff --git a/src/constants/query-strings.js b/src/constants/query-strings.js index f5881f005..1857643be 100644 --- a/src/constants/query-strings.js +++ b/src/constants/query-strings.js @@ -47,6 +47,7 @@ const queryStrings = { EXPERIMENTS: "experiments", FROM_HERITAGE: "fromheritage", PHONE_NUMBER: "phonenumber", + OFFER_QUOTE: "offerquote", }; export { queryStrings }; diff --git a/src/digital-components/dropdown-question/dropdown-question.vue b/src/digital-components/dropdown-question/dropdown-question.vue index 70bf6c90c..8b3cf023f 100644 --- a/src/digital-components/dropdown-question/dropdown-question.vue +++ b/src/digital-components/dropdown-question/dropdown-question.vue @@ -142,6 +142,9 @@ export default { border: 1px solid $gray-500; border-radius: 0.5rem; min-height: 3rem; + @include media-breakpoint-up(md) { + min-height: 3.5rem; + } &:focus, &:focus-visible { box-shadow: 0 0 0 2.5px $blue; diff --git a/src/digital-components/textbox-question/textbox-question.vue b/src/digital-components/textbox-question/textbox-question.vue index 4eb81ab0b..e6d75fee1 100644 --- a/src/digital-components/textbox-question/textbox-question.vue +++ b/src/digital-components/textbox-question/textbox-question.vue @@ -325,8 +325,11 @@ export default { border: 1px solid $gray-500; border-radius: 0.5rem; min-height: 3rem; - max-height: 48px; - padding: 12px 16px; + padding: 0.75rem 1rem; + @include media-breakpoint-up(md) { + padding: 1rem; + min-height: 3.5rem; + } &::placeholder { color: $gray-500; } diff --git a/src/experiment-components/service-package-radio.vue b/src/experiment-components/service-package-radio.vue index f0eb991c6..440bcbb58 100644 --- a/src/experiment-components/service-package-radio.vue +++ b/src/experiment-components/service-package-radio.vue @@ -169,10 +169,10 @@ export default { display: flex; flex-direction: column; &:first-child { - margin: 1rem 0.5rem 0 0; + margin: 1rem 1rem 0 0; } &:last-child { - margin: 1rem 0 0 0.5rem; + margin: 1rem 0 0 1rem; } } diff --git a/src/fmg-components/funnel-footer/funnel-footer.spec.js b/src/fmg-components/funnel-footer/funnel-footer.spec.js new file mode 100644 index 000000000..0e3dff0f8 --- /dev/null +++ b/src/fmg-components/funnel-footer/funnel-footer.spec.js @@ -0,0 +1 @@ +test.todo("Predominantly a UI component, so no tests are written"); diff --git a/src/fmg-components/funnel-footer/funnel-footer.vue b/src/fmg-components/funnel-footer/funnel-footer.vue new file mode 100644 index 000000000..89db470f0 --- /dev/null +++ b/src/fmg-components/funnel-footer/funnel-footer.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/fmg-components/funnel-header/funnel-header.vue b/src/fmg-components/funnel-header/funnel-header.vue index 22d9e77fa..c6cbb8727 100644 --- a/src/fmg-components/funnel-header/funnel-header.vue +++ b/src/fmg-components/funnel-header/funnel-header.vue @@ -3,7 +3,9 @@ class="funnel-header d-flex justify-content-center align-items-center flex-column" v-if="imageSrc"> Safelite logo + +