+ class="button-content list-button-content d-flex flex-column justify-content-center py-3 px-4 p-md-4">
{{ buttonLabel }}
diff --git a/src/layouts/service-location/shop-question/shop-question.vue b/src/layouts/service-location/shop-question/shop-question.vue
index a15d8bb0b..4a7818834 100644
--- a/src/layouts/service-location/shop-question/shop-question.vue
+++ b/src/layouts/service-location/shop-question/shop-question.vue
@@ -271,6 +271,10 @@ export default {
margin-top: 1rem;
text-align: center;
+ a {
+ @include responsive-font-size-md(0.875rem, 1rem);
+ }
+
.button-question {
.question-text {
margin-top: 0.5rem;
diff --git a/src/router/index.js b/src/router/index.js
index 5ec909f97..d421ea4ad 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -59,11 +59,16 @@ const routes = [
log(` --from.redirectedFrom:>${JSON.stringify(from.redirectedFrom)}<`, "");
await analyticsMixin.methods.validateSession();
-
+ var offerQuote = getQuerystringParameter(queryStrings.OFFER_QUOTE);
+ log(" --offerQuote: ", offerQuote);
// after session is validated, remove the fromHeritage querystring if it exists so session expiration works
if (to.query) {
delete to.query[queryStrings.FROM_HERITAGE];
}
+ //remove offerquote querystring if it exists
+ if (offerQuote) {
+ delete to.query[queryStrings.OFFER_QUOTE];
+ }
if (getFunnelCookie()?.SuppressConceptFunnel) {
log(" --go to heritage suppressConceptFunnel: ");
@@ -179,6 +184,11 @@ const routes = [
updateExternalParameterState();
}
+ //Update CASH tab when return from heritage and have offerQuote param
+ if (to.query.fmgPage !== fmgPageValues.QUOTE && offerQuote) {
+ store.commit(storeMutations.UPDATE_IS_INSURANCE, false);
+ }
+
// clear part related state because heritage selected a new vehicle
if (
to.query.fmgPage === fmgPageValues.VEHICLE &&
diff --git a/src/store/index.js b/src/store/index.js
index 36a459d80..97a31068e 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1899,96 +1899,48 @@ export const actions = {
pageNameToLog: pageNameToLog,
});
},
- submitDonationPartToSV2(
+ async submitDonationPartToSV2(
context,
{ payload: { donationAmount, submittedOrder }, pageNameToLog }
) {
- donationAmount = parseInt(donationAmount);
- /* Request contract
- {
- "donationAmount": 5,
- "savedSessionId": "96b1a16e-410a-4d08-8421-fe36e82b2275",
- "paymentInfo": {
- "parentAccountNumber": 167132,
- "billToAccountNumber": 87291,
- "providerNumber": "005819",
- "carId": "CR00069266",
- "make": "Acura",
- "model": "MDX",
- "year": 2020,
- "eon": "S1820397",
- "zipCode": "43015",
- "state": "OH",
- "referralNumber": "1821895",
- "referralDate": "2025-03-20T16:27:38.93",
- "referralSequenceNumber": "1821895",
- "serviceZipCode": "43015",
- "isReplacement": true,
- "deductible": 0,
- "coverageStatus": null,
- "coverageSubStatus": null,
- "serverData": "ZtCNOF1tCLQBAx2NRKHE/n/fqD8zUxRfYtDuTu7uUiPpeg7i6TmwXwggssX5KsXVQbeft+PN+vXYfBFJytLVYgbafNDR0JH3izVTIOh7KGTeB6YaPuCJmodF4SfgVVDHD9LEmEH9wNzM9j3pFjgfXehOFH11SH9dNwTkXIbsGzAeu64DRyJsDdpamM/BPOxlJj60S/R8vnUM8mjyM7B9a63NskFI6BCVIh5mxDE4cSMUgb4zFtwvDgTPxJSwXqKShtoY6ryB8n5UPNkG/Z5tjVuJ7/8RV7WrURM7PN7xLfp6pVEeipWyeFnVEK33G9JOuB6yH75jPO6vMCYRNi0p0pg6laasFDy3hmfuy2W/N0qtcJLVa5N0bUMFFuPQusyEeqsEZ/zx1Srlvsk7i0DF8pTyBcm3JTF5BOWm60wg3ntEOqfRuQqzFc5updILwLAIp39CwJG/fs5Mj3HCDcUKwYlK70fAARtJwFu7wI0vqW5bUSUvJkvm1JRPlyWJ8JNY4Oq1apYqhZS9bps5ofgiOYJbBhPEboEnVukoTkQiYjgbMtBwVGKGL2nNEd77osoEg1KXhEQS+0KD3PoUu/bZkGub6FNGE6iKeFPt9gDSs+S21s22rVSaZkgaoC6SkufPpN6aV78Jx69nMIDd4go4pj2IJX4kS1pD1NEOSWjN4bgVKAtV6/bxBvhNJwnqUE+mE8eAmULsezub4LMhPqA58y/ZlO44jt/qkAw9nuVDRPBve+TdJTotID5dIqJJd6/vkDoHTVaSrbkCBbdG6d9By8AEbKuVrQS/+VurUnYEd2TGahPbOyRdNlud8RB4+4af0ZRFmiKkr6ppa5IbHbTIZ2qtyeOSbIOkv8O7xK/GL6e6Iaaz0wDHaQZC4Ea8FczjpFOlQgixfYcYJBb/W2db+uRvZ3lftVyJ/d082CGbYplOa+aTxymVcQSjBRbXzs6GZ2ytDqRYcRe94F9x/XSVj7g+mih7VS+YH0eOEp0ViTuWP8B1dVnOV5yTkdMbr8n9Q82G4v5brtQdiMDMY3HS6mxPb1IiKiqFX6Jgju8sIMxkJFZQ3iIkAJuOqUYkG1ZW7s4uI6hT46bRqzYaQA18CFu56qaMblOBFuxlJIsYsnMePh2xAH89oay5Kc88xwT2T/4+dzYQ0CqhQ4MTBB7nXelav2rMCjaLQ/V/a5r1TnLr2n0GbvODQeNl97qzi5lDYKlnuF8nOfOqZNOsPSsrsk3UZJJYZwNxDZaweHIeeg5P2ZW5agswPx/U5DkU1MzE1VAQ+DQAenaE2SLo4dSPBHMmt2gLpgu0LaCuzTR2IL/EM+Tpdn/Pcv1E7lPJIycIIwO7QGJcVkwCx8CJ/WCo6xDMq+9zjSVbqAaL5MzySZCeFCMyZxvEk7qXig6rflB3K3Jay4qSFjBxBXhOEuT6zKXyhR41IXRtZRmtPkscypFEUXvR5nJV7AQUIbljGEcikOLmSiCEnl8dI2Ny9xCHLOro8UXqVUy8dHGmTRGTE/mS1JNZ3y4XaZSyHcABVWbZcR3KIXVxd6rtUA/pBvWpbq8nH3WWlJGqkoxUVEridtXqcBuzTKg3/i6vLs0/pHGwdM38XizKcIxykvJrur3vEQ=="
- }
- }
- */
+ const state = JSON.parse(
+ window.sessionStorage.getItem(sessionStorageKeyConstants.SUBMITTED_STATE)
+ );
+ const order = state.order;
+ const payload = {
+ donationAmount: parseInt(donationAmount),
+ savedSessionId: state.applicationUser.savedSessionId,
+ paymentInfo: {
+ parentAccountNumber: order.payment.parentAccountNumber,
+ billToAccountNumber: order.payment.billToAccountNumber,
+ providerNumber: order.serviceLocation.provider.providerNumber,
+ carId: order.vehicle.carId,
+ make: order.vehicle.make,
+ model: order.vehicle.model,
+ year: order.vehicle.year,
+ eon: order.eon,
+ zipCode: order.serviceLocation.zipCode,
+ state: order.serviceLocation.state,
+ referralNumber: order.referralNumber,
+ referralDate: order.referralDate,
+ referralSequenceNumber: order.referralSequenceNumber,
+ serviceZipCode: order.serviceLocation.zipCode,
+ isReplacement: !order.damage.isRepair,
+ deductible: order.policy.currentDeductible,
+ coverageStatus: order.payment.insuranceCoverage.coverageStatus,
+ coverageSubStatus: order.payment.insuranceCoverage.coverageSubStatus,
+ serverData: order.lineItems.serverData,
+ },
+ };
- /* Uncomment and use when endpoint integration is finalized
- return globalMethods.callHttpClient({
+ const response = await globalMethods.callHttpClient({
method: endpoints.AddDonationPart.method,
endpoint: endpoints.AddDonationPart.url,
- payload: {
- donationAmount: donationAmount,
- savedSessionId: "96b1a16e-410a-4d08-8421-fe36e82b2275",
- paymentInfo: {
- parentAccountNumber: submittedSessionData.parentAccountNumber,
- billToAccountNumber: submittedSessionData.billToAccountNumber,
- providerNumber: submittedSessionData.providerNumber,
- carId: "CR00069266",
- make: "Acura",
- model: "MDX",
- year: 2020,
- eon: "S1820397",
- zipCode: "43015",
- state: "OH",
- referralNumber: "1821895",
- referralDate: "2025-03-20T16:27:38.93",
- referralSequenceNumber: "1821895",
- serviceZipCode: "43015",
- isReplacement: true,
- deductible: 0,
- coverageStatus: null,
- coverageSubStatus: null,
- serverData: "ZtCNOF1tCLQBAx2NRKHE/n/fqD8zUxRfYtDuTu7uUiPpeg7i6TmwXwggssX5KsXVQbeft+PN+vXYfBFJytLVYgbafNDR0JH3izVTIOh7KGTeB6YaPuCJmodF4SfgVVDHD9LEmEH9wNzM9j3pFjgfXehOFH11SH9dNwTkXIbsGzAeu64DRyJsDdpamM/BPOxlJj60S/R8vnUM8mjyM7B9a63NskFI6BCVIh5mxDE4cSMUgb4zFtwvDgTPxJSwXqKShtoY6ryB8n5UPNkG/Z5tjVuJ7/8RV7WrURM7PN7xLfp6pVEeipWyeFnVEK33G9JOuB6yH75jPO6vMCYRNi0p0pg6laasFDy3hmfuy2W/N0qtcJLVa5N0bUMFFuPQusyEeqsEZ/zx1Srlvsk7i0DF8pTyBcm3JTF5BOWm60wg3ntEOqfRuQqzFc5updILwLAIp39CwJG/fs5Mj3HCDcUKwYlK70fAARtJwFu7wI0vqW5bUSUvJkvm1JRPlyWJ8JNY4Oq1apYqhZS9bps5ofgiOYJbBhPEboEnVukoTkQiYjgbMtBwVGKGL2nNEd77osoEg1KXhEQS+0KD3PoUu/bZkGub6FNGE6iKeFPt9gDSs+S21s22rVSaZkgaoC6SkufPpN6aV78Jx69nMIDd4go4pj2IJX4kS1pD1NEOSWjN4bgVKAtV6/bxBvhNJwnqUE+mE8eAmULsezub4LMhPqA58y/ZlO44jt/qkAw9nuVDRPBve+TdJTotID5dIqJJd6/vkDoHTVaSrbkCBbdG6d9By8AEbKuVrQS/+VurUnYEd2TGahPbOyRdNlud8RB4+4af0ZRFmiKkr6ppa5IbHbTIZ2qtyeOSbIOkv8O7xK/GL6e6Iaaz0wDHaQZC4Ea8FczjpFOlQgixfYcYJBb/W2db+uRvZ3lftVyJ/d082CGbYplOa+aTxymVcQSjBRbXzs6GZ2ytDqRYcRe94F9x/XSVj7g+mih7VS+YH0eOEp0ViTuWP8B1dVnOV5yTkdMbr8n9Q82G4v5brtQdiMDMY3HS6mxPb1IiKiqFX6Jgju8sIMxkJFZQ3iIkAJuOqUYkG1ZW7s4uI6hT46bRqzYaQA18CFu56qaMblOBFuxlJIsYsnMePh2xAH89oay5Kc88xwT2T/4+dzYQ0CqhQ4MTBB7nXelav2rMCjaLQ/V/a5r1TnLr2n0GbvODQeNl97qzi5lDYKlnuF8nOfOqZNOsPSsrsk3UZJJYZwNxDZaweHIeeg5P2ZW5agswPx/U5DkU1MzE1VAQ+DQAenaE2SLo4dSPBHMmt2gLpgu0LaCuzTR2IL/EM+Tpdn/Pcv1E7lPJIycIIwO7QGJcVkwCx8CJ/WCo6xDMq+9zjSVbqAaL5MzySZCeFCMyZxvEk7qXig6rflB3K3Jay4qSFjBxBXhOEuT6zKXyhR41IXRtZRmtPkscypFEUXvR5nJV7AQUIbljGEcikOLmSiCEnl8dI2Ny9xCHLOro8UXqVUy8dHGmTRGTE/mS1JNZ3y4XaZSyHcABVWbZcR3KIXVxd6rtUA/pBvWpbq8nH3WWlJGqkoxUVEridtXqcBuzTKg3/i6vLs0/pHGwdM38XizKcIxykvJrur3vEQ=="
- }
- },
+ payload: payload,
logApiCall: true,
pageNameToLog: pageNameToLog,
});
- */
-
- /* Response contract
- {
- "wasSuccessful": true,
- "wasLocked": true
- }
- */
- let result;
-
- switch (donationAmount) {
- case 1:
- result = { wasSuccessful: true, wasLocked: false };
- break;
- case 3:
- result = { wasSuccessful: false, wasLocked: true };
- break;
- case 5:
- result = { wasSuccessful: false, wasLocked: false };
- break;
- default:
- result = { wasSuccessful: null, wasLocked: null }; // Default case if amount doesn't match
- }
-
- return result;
+ return response.data;
},
getPartFromCapabilityQuestionAnswer(context, { payload, pageNameToLog }) {
@@ -3302,38 +3254,22 @@ export const actions = {
},
addDonationToSubmittedState(context, donationAmount) {
- console.log("running addDonationToSubmittedOrder()... donationAmount: ", donationAmount);
-
const submittedOrder = deepClone(baseMixin.methods.getSubmittedOrder());
const submittedApplicationUser = deepClone(baseMixin.methods.getSubmittedApplicationUser());
- if (donationAmount > 0) {
- console.log(
- "running addDonationToSubmittedOrder()... adding donation to supportingItems in session storage "
- );
- submittedOrder.lineItems.supportingItems.push({
- partNumber: `DONATION_${donationAmount}`,
- description: `DONATION $${donationAmount}`,
- partType: partTypeStrings.DONATION,
- isInsurable: false,
- isChildPart: false,
- laborAmount: 0,
- sellingPrice: donationAmount,
- kitPrice: 0,
- salesTax: 0,
- id: `donation-${donationAmount}`,
- });
- } else {
- // filter out all donations
- console.log(
- "running addDonationToSubmittedOrder()... removing all donation items in supportingItems in session storage "
- );
+ submittedOrder.lineItems.supportingItems.push({
+ partNumber: `DONATION_${donationAmount}`,
+ description: `DONATION $${donationAmount}`,
+ partType: partTypeStrings.DONATION,
+ isInsurable: false,
+ isChildPart: false,
+ laborAmount: 0,
+ sellingPrice: donationAmount,
+ kitPrice: 0,
+ salesTax: 0,
+ });
- const nonDonationItems = submittedOrder.lineItems.supportingItems.filter((item) => {
- return item.partType !== "DONATION";
- });
- submittedOrder.lineItems.supportingItems = nonDonationItems;
- }
+ addGuidToLineItemsIfNotAlreadyThere(submittedOrder.lineItems.supportingItems);
const submittedState = {
order: submittedOrder,
diff --git a/src/styles/common-styles.scss b/src/styles/common-styles.scss
index a378f881e..ac50e7d70 100644
--- a/src/styles/common-styles.scss
+++ b/src/styles/common-styles.scss
@@ -4,13 +4,25 @@ body {
font-size: 16px;
background-color: #fff;
color: #4d5151;
+ #app {
+ display: flex;
+ flex-direction: column;
+ min-height: 100dvh;
+ form {
+ > .container-fluid {
+ margin-bottom: -1rem;
+ @media screen and (min-width: 1090px) {
+ margin-bottom: -5rem;
+ }
+ }
+ }
+ }
.container-fluid {
padding: 0 1.5rem;
.prevent-squish {
overflow-x: unset;
}
&.page-container-grouped-styles {
- height: 100dvh;
display: flex;
flex-direction: column;
}
diff --git a/src/styles/common-typography-styles.scss b/src/styles/common-typography-styles.scss
index 6a9c4f893..a6ab8289f 100644
--- a/src/styles/common-typography-styles.scss
+++ b/src/styles/common-typography-styles.scss
@@ -8,6 +8,7 @@ body {
//Headings
//add helper fw-bold to any element to get bold style (500)
+
h1,
.h1 {
line-height: 1.325;
@@ -36,6 +37,7 @@ h5,
.h5 {
line-height: 1.325;
font-weight: 400;
+ @include responsive-font-size-md(1.25rem, 1.625rem);
}
h6,
diff --git a/src/styles/mixins/customMixins.scss b/src/styles/mixins/customMixins.scss
index d0670ad6c..62abcc82d 100644
--- a/src/styles/mixins/customMixins.scss
+++ b/src/styles/mixins/customMixins.scss
@@ -8,3 +8,15 @@
@mixin box-shadow-hover($color) {
box-shadow: 0 0 0 4px $color;
}
+
+// Typography size mixin for medium breakpoints
+// Use this to adjust font size for medium breakpoint
+@mixin responsive-font-size-md($font-size, $md-font-size) {
+ font-size: $font-size;
+
+ @include media-breakpoint-up(md) {
+ font-size: $md-font-size;
+ }
+}
+// Usage: @include responsive-font-size-md(mobile-font-size-in-rem, desktop-font-size-in-rem);
+// Example: @include responsive-font-size-md(0.875rem, 1rem);
diff --git a/src/styles/ux-variables.scss b/src/styles/ux-variables.scss
index df984b224..5c4045fd7 100644
--- a/src/styles/ux-variables.scss
+++ b/src/styles/ux-variables.scss
@@ -141,7 +141,7 @@ $h1-font-size: $font-size-base * 3;
$h2-font-size: $font-size-base * 2.625;
$h3-font-size: $font-size-base * 2;
$h4-font-size: $font-size-base * 1.625;
-$h5-font-size: $font-size-base * 1.25;
+//$h5-font-size: $font-size-base * 1.25;// Font size set in customMixins.scss
$h6-font-size: $font-size-base * 0.875;
//Border Radius
diff --git a/src/ux-components/list-button/list-button.vue b/src/ux-components/list-button/list-button.vue
index 1ebc46cc7..d31f20e5d 100644
--- a/src/ux-components/list-button/list-button.vue
+++ b/src/ux-components/list-button/list-button.vue
@@ -5,7 +5,7 @@
v-model="selectedValue">
+ class="button-content list-button-content d-flex flex-column justify-content-center py-3 px-4 p-md-4">
{{ buttonLabel }}
diff --git a/src/ux-components/text-link/text-link.vue b/src/ux-components/text-link/text-link.vue
index 30cd2d7e5..9283c08e7 100644
--- a/src/ux-components/text-link/text-link.vue
+++ b/src/ux-components/text-link/text-link.vue
@@ -80,10 +80,14 @@ a {
}
&.navigation-link,
&.new-window-link {
+ font-size: 0.875rem;
color: $black;
line-height: 26px;
white-space: nowrap;
align-items: center;
+ @include media-breakpoint-up(md) {
+ font-size: 1rem;
+ }
}
&.new-window-link {
margin-bottom: 1.5rem;