Merge pull request #584 from Safelite/feature/richardson/SSR-1059

Recycling Modal
This commit is contained in:
brich1212safe 2024-03-13 12:06:37 -04:00 committed by GitHub
commit 6fd859fb94
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 53 additions and 5 deletions

View file

@ -16,6 +16,7 @@
<div
id="cart-table"
class="cart-table">
<!-- Deductible Line Item -->
<div
id="cart-deductible-or-base-price"
class="mt-4 cart-line-item color-gray-100 px-5 py-1">
@ -38,12 +39,34 @@
<span id="base-price-value">{{ getDisplayed(baseServicePrice) }}</span>
</div>
</div>
<!-- Packaged Cart Items -->
<!-- Nonpackaged Cart Items -->
<!-- This will be a loop when this is implemented -->
<div class="non-packaged-cart-item">
<textLink
linkType="text"
text="Recycling"
href="javascript:void(0)"
@clickEvent="openModal(recyclingModalCmsWidgetName)" />
</div>
<!-- Sub total, sales tax, total columns -->
</div>
<contentGroupModal
ref="RecycleModal"
cmsWidgetName="RecycleModal">
<textBlock cmsWidgetName="RecycleTextBlock" />
</contentGroupModal>
</div>
</template>
<script>
import { useMainStore } from '@/store';
import contentGroupModal from '@/iss-components/content-group-modal/content-group-modal.vue';
import textBlock from '@/digital-components/text-block/text-block.vue';
import textLink from '@/ux-components/text-link/text-link.vue';
import getPriceOfLineItems from '@/helpers/price-calculator.js';
import { formatAmountInDollars } from '@/helpers/text-helper.js';
@ -51,12 +74,15 @@ const VERIFYING_COVERAGE = 'Verifying coverage';
export default {
name: 'cart-dropdown',
components: {},
components: { contentGroupModal,
textBlock,
textLink },
props: {
showAsPaid: Boolean,
amountDueLabel: String,
basePriceLabel: String,
deductibleLabel: String,
basePriceLabel: String
recyclingModalCmsWidgetName: String,
showAsPaid: Boolean
},
data() {
const { currentDeductible } = useMainStore().order;
@ -97,6 +123,9 @@ export default {
}
},
methods: {
openModal(modalName) {
this.$refs[modalName].openModal();
},
toggleIsExpanded() {
this.isExpanded = !this.isExpanded;
},
@ -131,6 +160,20 @@ export default {
visibility: hidden;
}
:deep(.modal-content a.external-text) {
text-underline-offset: 0.25rem;
line-height: 2;
padding: 0 0 0.25rem 0;
font-weight: 500;
max-width: -webkit-fit-content;
max-width: -moz-fit-content;
max-width: fit-content;
}
:deep(#RecycleModal h5) {
text-align: center;
}
.cart-toggle {
&:after {
content: "";

View file

@ -21,6 +21,7 @@
v-if="ModalSubBodyText"
class="my-4 caption modal-sub-body"
v-html="ModalSubBodyText"></p>
<slot></slot>
</modal>
</template>

View file

@ -23,7 +23,8 @@
:showAsPaid="false"
:amountDueLabel="amountDueText"
:deductibleLabel="deductibleLabel"
:basePriceLabel="basePriceLabel" />
:basePriceLabel="basePriceLabel"
recyclingModalCmsWidgetName="RecycleModal" />
<hr class="mt-0 mb-5" />
<div>Pia Alert Placeholder</div>
<paymentMethodQuestion

View file

@ -64,7 +64,6 @@ body {
left: 50%;
transform: translateX(-50%);
max-width: 576px;
height: calc(100% - 72px);
&.show {
opacity: 0.4;
@ -79,6 +78,10 @@ body {
// Prevent scroll when modal is open
&.modal-open {
div.page-container-grouped-styles {
overflow: hidden;
}
.fade-on-route-transition {
overflow: hidden;
}