Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

feat: cart drawer - coupon feature #243

Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
76dd805
feat: multi currency
aureate-labs-team Jan 7, 2022
ad6ed8f
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Jan 7, 2022
21d7f78
feat: multi-currency feature
aureate-labs-team Jan 12, 2022
7e51f78
feat: multi-currency feature
aureate-labs-team Jan 12, 2022
32c6e58
feat: added multicurrency feature (static)
aureate-labs-team Jan 13, 2022
e391eb2
feat: added multicurrency feature (static)
aureate-labs-team Jan 13, 2022
6b024e3
feat: pdp: multi currency
aureate-labs-team Jan 17, 2022
1ce5d5f
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Jan 17, 2022
f9f0162
feat: muti-currency refactor
aureate-labs-team Jan 19, 2022
36e645c
feat: multi-currency feature (partial)
aureate-labs-team Jan 24, 2022
fb2298f
feat: multicurrency feature (partial)
aureate-labs-team Jan 24, 2022
ffbf41a
chore: version upgrade
aureate-labs-team Jan 24, 2022
78e8836
feat: added feature to update userfields
aureate-labs-team Jan 24, 2022
b85a122
fix: fixed selected variantby options
aureate-labs-team Jan 25, 2022
f703015
chore: upgraded shopify connector version
aureate-labs-team Jan 25, 2022
1e1bebc
fix: cartgetters item price
aureate-labs-team Jan 28, 2022
69d4b33
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Jan 28, 2022
da2cb2b
refactor: getproducts api method
aureate-labs-team Jan 28, 2022
85c32dd
fix: cart initialisation bug on locale switching
aureate-labs-team Feb 4, 2022
4f9f116
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 4, 2022
bdd8837
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 4, 2022
7abc8cd
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 10, 2022
35b85fc
fix: login modal popup error
aureate-labs-team Feb 17, 2022
b966c64
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 17, 2022
24ed594
feat: display discount on cart drawer
aureate-labs-team Feb 18, 2022
2351439
chore: updated shopify version
aureate-labs-team Feb 18, 2022
b8d21b8
chore: remove wishlist function for now (#213)
jeffpdotone Feb 10, 2022
225e611
fix: incosistent footer (#214)
jeffpdotone Feb 10, 2022
c1b20b4
chore: update the misaligned margin of components (#215)
jeffpdotone Feb 10, 2022
aea39dd
feat: display discount on cart drawer (#230)
aureate-labs-team Feb 18, 2022
fd6f49d
fix: ssr for crawlers for multilingual
aureate-labs-team Feb 21, 2022
cb85d7a
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 21, 2022
b3bea73
fix: version upgraded
aureate-labs-team Feb 21, 2022
72603d1
refactor: added function for detect country
aureate-labs-team Feb 21, 2022
fcbf9b4
fix: ssr for crawlers for multilingual (#231)
aureate-labs-team Feb 21, 2022
781d228
Merge remote-tracking branch 'upstream/main'
aureate-labs-team Feb 25, 2022
5712553
Merge remote-tracking branch 'upstream/develop' into SH-80-implement-…
aureate-labs-team Feb 25, 2022
a99c0c8
chore: add #TechForUkraine
bloodf Feb 26, 2022
0d8ee4c
Update README.md
bloodf Feb 27, 2022
4aa4b70
Merge remote-tracking branch 'upstream/main' into SH-80-implement-app…
aureate-labs-team Feb 28, 2022
130847c
feat(cartdrawer): coupon add/remove feature
aureate-labs-team Mar 3, 2022
e30c000
Merge remote-tracking branch 'upstream/develop' into SH-80-implement-…
aureate-labs-team Mar 3, 2022
bdaeb4f
feat(cartdrawer): coupon add/remove feature
aureate-labs-team Mar 3, 2022
ccdeb98
fix: suggested changes
aureate-labs-team Mar 4, 2022
35d2c4f
refactor: applied suggested changes
aureate-labs-team Mar 8, 2022
b75f4c8
fix: resolved conflicts
aureate-labs-team Mar 8, 2022
36fef7e
refactor: coupon & product methods
aureate-labs-team Mar 9, 2022
d59260f
refactor: coupon & product methods
aureate-labs-team Mar 9, 2022
0e8f5c9
Merge remote-tracking branch 'upstream/develop' into SH-80-implement-…
aureate-labs-team Mar 9, 2022
d88b50b
refactor: coupon & product methods
aureate-labs-team Mar 9, 2022
89794b4
refactor: coupon & product methods
aureate-labs-team Mar 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packages/api-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue-storefront/shopify-api",
"version": "1.0.17",
"version": "1.0.19",
"sideEffects": false,
"main": "lib/index.cjs.js",
"module": "lib/index.es.js",
Expand All @@ -15,7 +15,7 @@
"dependencies": {
"@nuxtjs/composition-api": "^0.30.0",
"@vue-storefront/core": "~2.5.0",
"@vue-storefront/shopify-apollo": "^1.0.17",
"@vue-storefront/shopify-apollo": "^1.0.19",
"graphql": "^14.5.8",
"shopify-buy": "~2.14.0"
},
Expand Down
3 changes: 2 additions & 1 deletion packages/api-client/src/api/addToCart/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { CustomQuery } from '@vue-storefront/core';
import { gql } from '@apollo/client/core'
import { print } from 'graphql'
import { getCountry } from '../../helpers/utils'
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export default async function addToCart(context, params, _customQuery?: CustomQuery) {
aureate-labs-team marked this conversation as resolved.
Show resolved Hide resolved
const { currentCart, product, quantity, customQuery } = params;
Expand Down Expand Up @@ -145,7 +146,7 @@ export default async function addToCart(context, params, _customQuery?: CustomQu
}`
const payload = {
lineItems: lineItemsToAdd,
country: (context.res.req.cookies['vsf-locale'] === "en") ? "US" : (context.res.req.cookies['vsf-locale']).toUpperCase(),
country: getCountry(context),
checkoutId: currentCart.id
}

Expand Down
181 changes: 181 additions & 0 deletions packages/api-client/src/api/applyCartCoupon/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
aureate-labs-team marked this conversation as resolved.
Show resolved Hide resolved
import { CustomQuery } from '@vue-storefront/core';
import { gql } from '@apollo/client/core'
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export default async function applyCoupon(context, params, _customQuery?: CustomQuery) {
aureate-labs-team marked this conversation as resolved.
Show resolved Hide resolved
const { currentCart, couponCode, customQuery } = params;
const DEFAULT_MUTATION = gql`mutation APPLY_COUPON($checkoutId: ID!, $discountCode: String!){
checkoutDiscountCodeApplyV2(checkoutId: $checkoutId, discountCode: $discountCode) {
checkout {
appliedGiftCards{
id
amountUsedV2{
currencyCode
amount
}
balanceV2{
currencyCode
amount
}

}
completedAt
createdAt
currencyCode
customAttributes{
key
value
}
discountApplications(first:20){
edges{
node{
value{
... on MoneyV2{
amount
currencyCode
}
... on PricingPercentageValue{
percentage
}
}
}
}
}
email
id
lineItems(first:250){
edges{
node{
customAttributes{
key
value
}
id
quantity
title
variant{
availableForSale
compareAtPriceV2{
currencyCode
amount
}
id
image{
altText
id
height
width
src
}
priceV2{
currencyCode
amount
}
compareAtPriceV2{
currencyCode
amount
}
product{
handle
id
}
selectedOptions{
name
value
}
sku
title
unitPrice{
currencyCode
amount
}
}
}
}
}
lineItemsSubtotalPrice{
currencyCode
amount
}
note
order {
id
}
orderStatusUrl
paymentDueV2{
currencyCode
amount
}
ready
requiresShipping
shippingAddress {
id
}
shippingLine{
handle
priceV2{
currencyCode
amount
}
title
}
subtotalPriceV2{
currencyCode
amount
}
taxExempt
taxesIncluded
totalPriceV2{
currencyCode
amount
}
totalTaxV2{
currencyCode
amount
}
updatedAt
webUrl
}
checkoutUserErrors {
code
field
message
}
}
}`
const payload = {
discountCode: couponCode,
checkoutId: currentCart.id
}

const { checkoutDiscountCodeApplyV2 } = context.extendQuery(
_customQuery,
{
checkoutDiscountCodeApplyV2: {
mutation: DEFAULT_MUTATION,
payload
}
}
)


return await context.client.apolloClient.mutate({
mutation: checkoutDiscountCodeApplyV2.mutation,
variables: checkoutDiscountCodeApplyV2.payload
}).then((result) => {
const discountApplications = result.data.checkoutDiscountCodeApplyV2.checkout.discountApplications.edges.map((discountApplications => discountApplications.node));
const lineItems = result.data.checkoutDiscountCodeApplyV2.checkout.lineItems.edges.map((lineItem => lineItem.node));
const checkoutUserErrors = result.data.checkoutDiscountCodeApplyV2.checkoutUserErrors ? result.data.checkoutDiscountCodeApplyV2.checkoutUserErrors.map((UserErrors => UserErrors.message)) : [];
delete (result.data.checkoutDiscountCodeApplyV2.checkout.lineItems);
delete (result.data.checkoutDiscountCodeApplyV2.checkout.discountApplications);
delete (result.data.checkoutDiscountCodeApplyV2.checkoutUserErrors);
result.data.checkoutDiscountCodeApplyV2.checkout = {
...result.data.checkoutDiscountCodeApplyV2.checkout,
discountApplications,
lineItems,
checkoutUserErrors,
couponCode
};
return result.data.checkoutDiscountCodeApplyV2;
});
}
17 changes: 10 additions & 7 deletions packages/api-client/src/api/checkOut/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import { CustomQuery } from '@vue-storefront/core';
import { gql } from '@apollo/client/core'
import { print } from 'graphql'
import { getCountry } from '../../helpers/utils';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
Expand Down Expand Up @@ -30,14 +30,17 @@ export default async function checkOut(context, checkoutId, customQuery?: Custom
key
value
}
discountApplications(first:250){
discountApplications(first:20){
edges{
node{
allocationMethod
targetSelection
targetType
value{
__typename
... on MoneyV2{
amount
currencyCode
}
... on PricingPercentageValue{
percentage
}
}
}
}
Expand Down Expand Up @@ -142,7 +145,7 @@ export default async function checkOut(context, checkoutId, customQuery?: Custom

const payload = {
id: checkoutId,
country: (context.res.req.cookies['vsf-locale'] === "en") ? "US" : (context.res.req.cookies['vsf-locale']).toUpperCase()
country: getCountry(context),
}

const { node } = context.extendQuery(
Expand Down
5 changes: 3 additions & 2 deletions packages/api-client/src/api/getProduct/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import { CustomQuery } from '@vue-storefront/core';
import { gql } from '@apollo/client/core'
import { print } from 'graphql'
import { getCountry } from '../../helpers/utils';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
aureate-labs-team marked this conversation as resolved.
Show resolved Hide resolved
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
Expand Down Expand Up @@ -132,7 +133,7 @@ export default async function getProduct(
}`
const variables = {
handle: params.slug,
country: (context.res.req.cookies['vsf-locale'] === "en") ? "US" : (context.res.req.cookies['vsf-locale']).toUpperCase(),
country: getCountry(context),
selectedOptions: chosenVariant
}

Expand Down Expand Up @@ -495,7 +496,7 @@ export default async function getProduct(
first: (params.limit ? params.limit : 20),
sortKey: (params.sortBy ? params.sortBy : 'CREATED_AT'),
reverse: false,
country: (context.res.req.cookies['vsf-locale'] === "en") ? "US" : (context.res.req.cookies['vsf-locale']).toUpperCase()
country: getCountry(context),
}

const { products } = context.extendQuery(
Expand Down
Loading