WIP - Cart Styling

This commit is contained in:
Leah Schumann 2023-11-03 09:38:40 -04:00
parent 50cd865af4
commit 4d7f01d87e
2 changed files with 66 additions and 9 deletions

View file

@ -46,13 +46,30 @@
<!-- Fees -->
<div v-if="recycleFeeCartItem">
<span>{{ recycleFeeCartItem.name }}</span
><span>{{ currencyFormatter.format(recycleFeeCartItem.subTotal) }}</span>
<textLink
linkType="text"
:text="recycleFeeCartItem.name"
href="#!"
@click-event="openModal(recyclingModal)" />
<span>{{ currencyFormatter.format(recycleFeeCartItem.subTotal) }}</span>
</div>
<div v-if="mobileFeeCartItem">
<span>{{ mobileFeeCartItem.name }}</span
><span>{{ currencyFormatter.format(mobileFeeCartItem.subTotal) }}</span>
</div>
<div v-if="premiumAppointmentDiscountCartItem">
<span>{{ premiumAppointmentDiscountCartItem.name }}</span>
<textLink
ref="removeLink"
linkType="text"
:text="removeLinkText"
href="#!"
@click-event="removeItem(PREMIUM_FEE_PART_TYPE, 'supportingItems')" />
<span>{{ currencyFormatter.format(premiumAppointmentDiscountCartItem.subTotal) }}</span>
</div>
<!-- promos here -->
<!-- Sub total, sales tax, total columns -->
<div class="sub-total">
@ -86,6 +103,7 @@ import { getHighestFullySatisfiedTier, getPackageContents } from "@/helpers/serv
// Constants
import { partTypeStrings } from "@/constants/part-type-strings";
import { PREMIUM_FEE_PART_TYPE } from "@/constants/schedule-constants";
import { cartItemCategories } from "@/constants/cart-item-categories";
import { cartItemTypes } from "@/constants/cart-item-types";
@ -216,6 +234,10 @@ export default {
cartItems.push(cartItem);
});
if (this.premiumAppointmentDiscountCartItem) {
cartItems.push(this.premiumAppointmentDiscountCartItem);
}
return cartItems;
},
},
@ -294,7 +316,7 @@ export default {
const nonpackageCartItems = [];
this.cartItems.forEach((cartItem) => {
if (cartItem == this.recycleFeeCartItem || cartItem == this.mobileFeeCartItem) {
if (cartItem == this.recycleFeeCartItem || cartItem == this.mobileFeeCartItem || cartItem == this.premiumAppointmentDiscountCartItem) {
return;
}
@ -470,8 +492,8 @@ export default {
lineItems: [],
};
//recycleFeeLineItem.cartItemType = cartItem.cartItemType;
//cartItem.lineItems.push(recycleFeeLineItem);
recycleFeeLineItem.cartItemType = cartItem.cartItemType;
cartItem.lineItems.push(recycleFeeLineItem);
cartItem.subTotal +=
(recycleFeeLineItem.kitPrice ?? 0) +
@ -552,6 +574,40 @@ export default {
return cartItem;
},
premiumAppointmentDiscountCartItemName() {
return "Early bird appointment"; // TODO: get from CMS
},
premiumAppointmentDiscountCartItem() {
let cartItem = null;
const premiumAppointmentDiscountLineItem = this.supportingItems.find(
(lineItem) => lineItem.partNumber == PREMIUM_FEE_PART_TYPE
);
if (premiumAppointmentDiscountLineItem) {
cartItem = {
name: this.premiumAppointmentDiscountCartItemName,
category: cartItemCategories.SUPPORTING_ITEMS,
cartItemType: PREMIUM_FEE_PART_TYPE,
isDisplayed: true,
subTotal: 0,
salesTax: 0,
lineItems: [],
};
premiumAppointmentDiscountLineItem.cartItemType = cartItem.cartItemType;
cartItem.lineItems.push(premiumAppointmentDiscountLineItem);
cartItem.subTotal +=
(premiumAppointmentDiscountLineItem.kitPrice ?? 0) +
(premiumAppointmentDiscountLineItem.laborAmount ?? 0) +
(premiumAppointmentDiscountLineItem.sellingPrice ?? 0);
cartItem.salesTax += premiumAppointmentDiscountLineItem.salesTax ?? 0;
}
return cartItem;
},
removeLinkText() {
return this.getCmsContent("RemoveCartItemTextWidget", "Text");
},
@ -625,7 +681,7 @@ export default {
div {
display: flex;
justify-content: space-between;
padding: 0.5rem 1.5rem;
padding: 0.5rem 1.5rem;
&:nth-child(odd) {
background-color: #f5f5f5;
}
@ -643,7 +699,7 @@ export default {
align-items: center;
span {
display: flex;
width: 33.33333%;
font-size: 0.875rem;
&:nth-child(2) {
justify-content: flex-end;
}

View file

@ -15,8 +15,7 @@
<funnelSubHeader
class="mb-5 mt-4"
cmsWidgetName="FunnelSubHeaderWidget"
leftAlignHeader />
cmsWidgetName="FunnelSubHeaderWidget" />
<p v-if="isPiaDisabled" class="fw-normal no-pia-disclaimer">
<span>{{ noPiaDisclaimer }}</span>
@ -31,6 +30,8 @@
servicePackageOptionsCmsName="ServicePackageTitle"
@cart-remove="cartRemove" />
<hr />
<div>
<alert
ref="piaErrorAlert"