Merge pull request #2797 from Safelite/feature/CASH-1403

Feature/CASH-1403
This commit is contained in:
Chris 2025-08-26 15:20:24 -04:00 committed by GitHub
commit b5b4976675
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 94 additions and 48 deletions

View file

@ -18,7 +18,7 @@ body .validation-info {
display: none; display: none;
} }
body .italicSmall { body .italicSmall {
font-style: normal; font-style: italic;
font-size: 14px; font-size: 14px;
} }
body span { body span {
@ -274,7 +274,7 @@ body .cc-error-container #alert-message {
#fmg-checkout-shared #other-payments-container label span.paymentOptionText { #fmg-checkout-shared #other-payments-container label span.paymentOptionText {
margin: auto 0; margin: auto 0;
padding-left: 0; padding-left: 0;
font-weight: 400; font-weight: 600;
} }
#fmg-checkout-shared #other-payments-container #afterpayParentLink label > span:first-of-type { #fmg-checkout-shared #other-payments-container #afterpayParentLink label > span:first-of-type {
width: 100%; width: 100%;
@ -297,7 +297,7 @@ body .cc-error-container #alert-message {
text-align: right; text-align: right;
} }
#fmg-checkout-shared #other-payments-container #creditCardParentDiv .paymentSelection #creditCardImages > img { #fmg-checkout-shared #other-payments-container #creditCardParentDiv .paymentSelection #creditCardImages > img {
width: 20%; width: 12%;
} }
#fmg-checkout-shared #other-payments-container #creditCardParentDiv .creditCardSpecific { #fmg-checkout-shared #other-payments-container #creditCardParentDiv .creditCardSpecific {
padding: 0 2%; padding: 0 2%;
@ -309,11 +309,13 @@ body .cc-error-container #alert-message {
margin-top: 24px; margin-top: 24px;
margin-bottom: 24px; margin-bottom: 24px;
font-size: 14px; font-size: 14px;
font-weight: 600;
color: #525656; color: #525656;
} }
#fmg-checkout-shared #other-payments-container .disclaimerContainerv2 { #fmg-checkout-shared #other-payments-container .disclaimerContainerv2 {
margin-bottom: 24px; margin-bottom: 24px;
font-size: 14px; font-size: 14px;
font-weight: 600;
color: #525656; color: #525656;
} }
@media only screen and (max-device-width: 767px) { @media only screen and (max-device-width: 767px) {

View file

@ -20,7 +20,7 @@ body {
} }
.italicSmall { .italicSmall {
font-style: normal; font-style: italic;
font-size: 14px; font-size: 14px;
} }
@ -332,7 +332,7 @@ body {
&.paymentOptionText { &.paymentOptionText {
margin: auto 0; margin: auto 0;
padding-left: 0; padding-left: 0;
font-weight: 400; font-weight: 600;
} }
} }
} }
@ -372,7 +372,7 @@ body {
text-align: right; text-align: right;
> img { > img {
width: 20%; width: 12%;
} }
} }
} }
@ -390,12 +390,14 @@ body {
margin-top: 24px; margin-top: 24px;
margin-bottom: 24px; margin-bottom: 24px;
font-size: 14px; font-size: 14px;
font-weight: 600;
color: #525656; color: #525656;
} }
.disclaimerContainerv2 { .disclaimerContainerv2 {
margin-bottom: 24px; margin-bottom: 24px;
font-size: 14px; font-size: 14px;
font-weight: 600;
color: #525656; color: #525656;
} }
} }

View file

@ -4,7 +4,7 @@
<funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" /> <funnelHeader cmsWidgetName="FunnelHeaderWidget" ref="funnelHeader" />
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-12 col-md-10 col-lg-8 col-xl-7"> <div class="col-12">
<div> <div>
<alert <alert
ref="piaCCErrorAlert" ref="piaCCErrorAlert"
@ -37,45 +37,51 @@
seamless seamless
scrolling="no" scrolling="no"
allow="payment *; microphone *; geolocation *;"></iframe> allow="payment *; microphone *; geolocation *;"></iframe>
<div id="cart-container">
<cart
ref="cart"
:damage="damageInfo"
:availableVaps="availableVaps"
:allowItemRemoval="false"
v-model="lineItems"
servicePackageOptionsCmsName="ServicePackageTitle"
recyclingModalCmsWidgetName="RecycleModal"
:isInsurance="isInsurance"
:insuranceDeductible="currentDeductible"
:insuranceCompanyName="insuranceCompanyName"
:showInsuranceCoverageAs="showInsuranceCoverageAs"
:isItac="isItac"
:isNoComp="isNoComp"
:isExpandedOnLoad="true" />
<button
v-if="showSwitchPaymentMethod"
id="submit-payment"
class="btn btn-primary rounded-pill py-3 px-6 delay w-100"
type="button"
@click="submitPayment">
Submit payment
</button>
<div class="payment-method-question">
<buttonQuestion
v-if="showSwitchPaymentMethod"
groupName="payment-method"
buttonTypeString="payment-method-list-button"
:buttonTypeObject="paymentMethodListButton"
isWide
:questionText="paymentMethodQuestionText"
:answers="paymentMethodAnswerData"
isRequired
:validationRules="validationRules"
:showApplePay="false"
:isInsurance="isInsurance"
v-model="switchedPaymentMethod" />
</div>
</div>
</div> </div>
<hr />
<cart
ref="cart"
:damage="damageInfo"
:availableVaps="availableVaps"
:allowItemRemoval="false"
v-model="lineItems"
servicePackageOptionsCmsName="ServicePackageTitle"
recyclingModalCmsWidgetName="RecycleModal"
:isInsurance="isInsurance"
:insuranceDeductible="currentDeductible"
:insuranceCompanyName="insuranceCompanyName"
:showInsuranceCoverageAs="showInsuranceCoverageAs"
:isItac="isItac"
:isNoComp="isNoComp"
:isExpandedOnLoad="true" />
<div class="payment-method-question">
<buttonQuestion
v-if="showSwitchPaymentMethod"
groupName="payment-method"
buttonTypeString="payment-method-list-button"
:buttonTypeObject="paymentMethodListButton"
isWide
:questionText="paymentMethodQuestionText"
:answers="paymentMethodAnswerData"
isRequired
:validationRules="validationRules"
:showApplePay="false"
:isInsurance="isInsurance"
v-model="switchedPaymentMethod"
textPosition="text-start" />
</div>
<hr class="mb-5" />
<navbar <navbar
cmsWidgetName="FunnelFooterWidget" cmsWidgetName="FunnelFooterWidget"
isForwardActionDisabled="true" isForwardActionDisabled="true"
@ -889,6 +895,12 @@ export default {
} }
return false; return false;
}, },
submitPayment() {
const iframe = this.$refs.paymentFrame;
if (iframe) {
iframe.contentWindow.postMessage("submitPayment", "*");
}
},
}, },
components: { components: {
funnelHeader, funnelHeader,
@ -904,18 +916,48 @@ export default {
<style lang="scss"> <style lang="scss">
.hop-iframe { .hop-iframe {
position: relative; position: relative;
min-height: 650px;
width: 100%; width: 100%;
min-height: 650px;
border: 0 none; border: 0 none;
@include media-breakpoint-down(lg) {
min-height: 1688px;
}
} }
#pageLoadingModal { #pageLoadingModal {
background-color: red; background-color: red;
} }
#card-container {
display: flex;
& > iframe {
flex-basis: 55%;
margin-right: 9%;
}
& > #cart-container {
flex-basis: 36%;
}
@include media-breakpoint-down(lg) {
flex-direction: column;
& > iframe {
flex-basis: 100%;
margin-right: 0;
}
& > #cart-container {
flex-basis: 100%;
& > button#submit-payment {
display: none;
}
}
}
}
.payment-method-question { .payment-method-question {
padding: 0 1.5rem; padding: 0;
.question-text span {
text-align: left; & .list-button-content {
justify-content: center;
} }
} }