Skip to content

Commit

Permalink
Merge pull request #139 from vuestorefront/fix-#132/coupon
Browse files Browse the repository at this point in the history
fix: #132 coupon
  • Loading branch information
Baroshem committed Nov 24, 2021
2 parents b153e20 + 9263686 commit 7ad409a
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 14 deletions.
1 change: 1 addition & 0 deletions docs/changelog/1.0.0-beta.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
* [Bug]: mobile menu doesn't work [#119](https://github.com/vuestorefront/vendure/issues/119)
* [Feature]: implement forgotPassword [#114](https://github.com/vuestorefront/vendure/issues/114)
* [Bug]: order history does not display order content [#126](https://github.com/vuestorefront/vendure/issues/126)
* [Bug]: Entering an invalid promo code makes cart appear empty [#132](https://github.com/vuestorefront/vendure/issues/132)
7 changes: 7 additions & 0 deletions packages/composables/src/composables/useCart/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
UseCartFactoryParams
} from '@vue-storefront/core';
import type {
CouponCodeInvalidError,
Order,
OrderLine
} from '@vue-storefront/vendure-api';
Expand Down Expand Up @@ -59,6 +60,12 @@ const params: UseCartFactoryParams<Order, OrderLine, AgnosticProductVariant> = {
applyCoupon: async (context: Context, { currentCart, couponCode, customQuery }) => {
const response = await context.$vendure.api.applyCartCoupon({ couponCode }, customQuery);

if ((response?.data?.applyCouponCode as CouponCodeInvalidError)?.errorCode) {
return {
updatedCart: currentCart
};
}

return {
updatedCart: response?.data?.applyCouponCode as Order,
updatedCoupon: couponCode
Expand Down
3 changes: 2 additions & 1 deletion packages/theme/components/Checkout/CartPreview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
:label="$t('Enter promo code')"
class="sf-input--filled promo-code__input"
/>
<SfButton class="promo-code__button" @click="() => applyCoupon({ couponCode: promoCode })">{{ $t('Apply') }}</SfButton>
<SfButton class="promo-code__button" @click="() => applyCoupon({ couponCode: promoCode, currentCart: cart })">{{ $t('Apply') }}</SfButton>
</div>
<div class="highlighted">
<SfCharacteristic
Expand Down Expand Up @@ -108,6 +108,7 @@ export default {
products,
totals,
promoCode,
cart,
showPromoCode,
removeItem,
updateItemQty,
Expand Down
28 changes: 15 additions & 13 deletions packages/theme/pages/Checkout/Shipping.vue
Original file line number Diff line number Diff line change
Expand Up @@ -273,19 +273,21 @@ export default {
onMounted(async () => {
await loadUserShipping();
const defaultAddress = getDefaultAddress(userShipping.value, 'shipping');
const formAddress = mapAddressToAddressForm(defaultAddress);
form.value = {
firstName: formAddress.firstName,
lastName: formAddress.lastName,
streetName: formAddress.streetName,
apartment: formAddress.streetNumber,
city: formAddress.city,
state: formAddress.state,
country: formAddress.country,
postalCode: formAddress.postalCode,
phone: formAddress.phone
};
if (userShipping.value) {
const defaultAddress = getDefaultAddress(userShipping.value, 'shipping');
const formAddress = mapAddressToAddressForm(defaultAddress);
form.value = {
firstName: formAddress.firstName,
lastName: formAddress.lastName,
streetName: formAddress.streetName,
apartment: formAddress.streetNumber,
city: formAddress.city,
state: formAddress.state,
country: formAddress.country,
postalCode: formAddress.postalCode,
phone: formAddress.phone
};
}
});
return {
Expand Down

0 comments on commit 7ad409a

Please sign in to comment.