Merge pull request #584 from Safelite/feature/richardson/SSR-1059
Recycling Modal
This commit is contained in:
commit
6fd859fb94
4 changed files with 53 additions and 5 deletions
|
|
@ -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: "";
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
v-if="ModalSubBodyText"
|
||||
class="my-4 caption modal-sub-body"
|
||||
v-html="ModalSubBodyText"></p>
|
||||
<slot></slot>
|
||||
</modal>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue