@meeovi/layer-commerce 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -11
- package/dist/app/composables/cart/registry.d.ts +0 -3
- package/dist/app/composables/cart/registry.js +0 -10
- package/dist/app/composables/cart/types.d.ts +0 -16
- package/dist/app/composables/cart/types.js +0 -1
- package/dist/app/composables/cart/useCart.d.ts +0 -6
- package/dist/app/composables/cart/useCart.js +0 -13
- package/dist/app/composables/config.d.ts +0 -7
- package/dist/app/composables/config.js +0 -11
- package/dist/app/composables/products/registry.d.ts +0 -3
- package/dist/app/composables/products/registry.js +0 -10
- package/dist/app/composables/products/types.d.ts +0 -12
- package/dist/app/composables/products/types.js +0 -1
- package/dist/app/composables/products/useProducts.d.ts +0 -4
- package/dist/app/composables/products/useProducts.js +0 -10
- package/dist/app/utils/client.d.ts +0 -6
- package/dist/app/utils/client.js +0 -23
- package/dist/app/utils/normalizer.d.ts +0 -12
- package/dist/app/utils/normalizer.js +0 -13
- package/dist/app/utils/normalizers/magento.d.ts +0 -3
- package/dist/app/utils/normalizers/magento.js +0 -23
- package/dist/app/utils/normalizers/shopify.d.ts +0 -3
- package/dist/app/utils/normalizers/shopify.js +0 -24
- package/dist/client.d.ts +0 -6
- package/dist/client.js +0 -23
- package/dist/components/catalog/product/ProductAccordion/types.d.ts +0 -4
- package/dist/components/catalog/product/ProductAccordion/types.js +0 -1
- package/dist/components/catalog/product/ProductProperties/types.d.ts +0 -4
- package/dist/components/catalog/product/ProductProperties/types.js +0 -1
- package/dist/components/catalog/product/ProductSlider/types.d.ts +0 -6
- package/dist/components/catalog/product/ProductSlider/types.js +0 -1
- package/dist/components/catalog/product/RecommendedProducts/types.d.ts +0 -4
- package/dist/components/catalog/product/RecommendedProducts/types.js +0 -1
- package/dist/components/sales/CheckoutAddress/types.d.ts +0 -14
- package/dist/components/sales/CheckoutAddress/types.js +0 -1
- package/dist/components/sales/CheckoutPayment/types.d.ts +0 -10
- package/dist/components/sales/CheckoutPayment/types.js +0 -7
- package/dist/components/sales/OrderSummary/types.d.ts +0 -4
- package/dist/components/sales/OrderSummary/types.js +0 -1
- package/dist/composables/_types.d.ts +0 -11
- package/dist/composables/_types.js +0 -1
- package/dist/composables/adapters/abstract/cartAdapter.d.ts +0 -0
- package/dist/composables/adapters/abstract/cartAdapter.js +0 -0
- package/dist/composables/adapters/abstract/categoryAdapter.d.ts +0 -0
- package/dist/composables/adapters/abstract/categoryAdapter.js +0 -0
- package/dist/composables/adapters/abstract/customerAdapter.d.ts +0 -0
- package/dist/composables/adapters/abstract/customerAdapter.js +0 -0
- package/dist/composables/adapters/abstract/inventoryAdapter.d.ts +0 -0
- package/dist/composables/adapters/abstract/inventoryAdapter.js +0 -0
- package/dist/composables/adapters/abstract/orderAdapter.d.ts +0 -0
- package/dist/composables/adapters/abstract/orderAdapter.js +0 -0
- package/dist/composables/adapters/abstract/productAdapter.d.ts +0 -6
- package/dist/composables/adapters/abstract/productAdapter.js +0 -1
- package/dist/composables/cart/registry.d.ts +0 -4
- package/dist/composables/cart/registry.js +0 -16
- package/dist/composables/cart/types.d.ts +0 -16
- package/dist/composables/cart/types.js +0 -1
- package/dist/composables/cart/useCart.d.ts +0 -6
- package/dist/composables/cart/useCart.js +0 -13
- package/dist/composables/config.d.ts +0 -7
- package/dist/composables/config.js +0 -11
- package/dist/composables/defs/apiDefinitions.d.ts +0 -7
- package/dist/composables/defs/apiDefinitions.js +0 -39
- package/dist/composables/defs/extension.d.ts +0 -91
- package/dist/composables/defs/extension.js +0 -154
- package/dist/composables/defs/extension.mocks.d.ts +0 -30
- package/dist/composables/defs/extension.mocks.js +0 -23
- package/dist/composables/defs/extension.test.d.ts +0 -1
- package/dist/composables/defs/extension.test.js +0 -233
- package/dist/composables/defs/index.d.ts +0 -3
- package/dist/composables/defs/index.js +0 -3
- package/dist/composables/defs/types.d.ts +0 -81
- package/dist/composables/defs/types.js +0 -1
- package/dist/composables/domain/cart.d.ts +0 -0
- package/dist/composables/domain/cart.js +0 -0
- package/dist/composables/domain/category.d.ts +0 -0
- package/dist/composables/domain/category.js +0 -0
- package/dist/composables/domain/order.d.ts +0 -0
- package/dist/composables/domain/order.js +0 -0
- package/dist/composables/domain/price.d.ts +0 -0
- package/dist/composables/domain/price.js +0 -0
- package/dist/composables/domain/product.d.ts +0 -8
- package/dist/composables/domain/product.js +0 -1
- package/dist/composables/domain/reward.d.ts +0 -0
- package/dist/composables/domain/reward.js +0 -0
- package/dist/composables/domain/transactions.d.ts +0 -0
- package/dist/composables/domain/transactions.js +0 -0
- package/dist/composables/helpers/contextualizedNormalizers.d.ts +0 -5
- package/dist/composables/helpers/contextualizedNormalizers.js +0 -6
- package/dist/composables/helpers/contextualizedNormalizers.test.d.ts +0 -1
- package/dist/composables/helpers/contextualizedNormalizers.test.js +0 -62
- package/dist/composables/helpers/index.d.ts +0 -1
- package/dist/composables/helpers/index.js +0 -1
- package/dist/composables/index.d.ts +0 -6
- package/dist/composables/index.js +0 -6
- package/dist/composables/methods/auth.d.ts +0 -62
- package/dist/composables/methods/auth.js +0 -1
- package/dist/composables/methods/cart.d.ts +0 -101
- package/dist/composables/methods/cart.js +0 -1
- package/dist/composables/methods/category.d.ts +0 -22
- package/dist/composables/methods/category.js +0 -1
- package/dist/composables/methods/checkout.d.ts +0 -42
- package/dist/composables/methods/checkout.js +0 -1
- package/dist/composables/methods/customer.d.ts +0 -39
- package/dist/composables/methods/customer.js +0 -1
- package/dist/composables/methods/helpers.d.ts +0 -2
- package/dist/composables/methods/helpers.js +0 -3
- package/dist/composables/methods/index.d.ts +0 -49
- package/dist/composables/methods/index.js +0 -9
- package/dist/composables/methods/order.d.ts +0 -29
- package/dist/composables/methods/order.js +0 -1
- package/dist/composables/methods/product.d.ts +0 -71
- package/dist/composables/methods/product.js +0 -1
- package/dist/composables/methods/settings.d.ts +0 -12
- package/dist/composables/methods/settings.js +0 -1
- package/dist/composables/models/cart.d.ts +0 -84
- package/dist/composables/models/cart.js +0 -1
- package/dist/composables/models/category.d.ts +0 -12
- package/dist/composables/models/category.js +0 -1
- package/dist/composables/models/checkout.d.ts +0 -15
- package/dist/composables/models/checkout.js +0 -1
- package/dist/composables/models/customer.d.ts +0 -14
- package/dist/composables/models/customer.js +0 -1
- package/dist/composables/models/facets.d.ts +0 -21
- package/dist/composables/models/facets.js +0 -5
- package/dist/composables/models/index.d.ts +0 -62
- package/dist/composables/models/index.js +0 -8
- package/dist/composables/models/order.d.ts +0 -39
- package/dist/composables/models/order.js +0 -1
- package/dist/composables/models/product.d.ts +0 -55
- package/dist/composables/models/product.js +0 -1
- package/dist/composables/models/shared.d.ts +0 -66
- package/dist/composables/models/shared.js +0 -1
- package/dist/composables/products/registry.d.ts +0 -4
- package/dist/composables/products/registry.js +0 -16
- package/dist/composables/products/types.d.ts +0 -12
- package/dist/composables/products/types.js +0 -1
- package/dist/composables/products/useEvents.d.ts +0 -0
- package/dist/composables/products/useEvents.js +0 -0
- package/dist/composables/products/useGiftCards.d.ts +0 -0
- package/dist/composables/products/useGiftCards.js +0 -0
- package/dist/composables/products/useProducts.d.ts +0 -4
- package/dist/composables/products/useProducts.js +0 -10
- package/dist/composables/products/useSubscriptions.d.ts +0 -0
- package/dist/composables/products/useSubscriptions.js +0 -0
- package/dist/composables/registry.d.ts +0 -9
- package/dist/composables/registry.js +0 -13
- package/dist/composables/stores/cart.d.ts +0 -1
- package/dist/composables/stores/cart.js +0 -203
- package/dist/composables/stores/cartStore.d.ts +0 -1
- package/dist/composables/stores/cartStore.js +0 -246
- package/dist/composables/stores/checkout.d.ts +0 -1
- package/dist/composables/stores/checkout.js +0 -17
- package/dist/composables/stores/compare.d.ts +0 -1
- package/dist/composables/stores/compare.js +0 -50
- package/dist/composables/stores/orders.d.ts +0 -1
- package/dist/composables/stores/orders.js +0 -156
- package/dist/composables/stores/product.d.ts +0 -1
- package/dist/composables/stores/product.js +0 -26
- package/dist/composables/stores/productList.d.ts +0 -0
- package/dist/composables/stores/productList.js +0 -0
- package/dist/composables/stores/productListInfo.d.ts +0 -0
- package/dist/composables/stores/productListInfo.js +0 -0
- package/dist/composables/stores/products.d.ts +0 -1
- package/dist/composables/stores/products.js +0 -106
- package/dist/composables/stores/recentlyViewedProducts.d.ts +0 -0
- package/dist/composables/stores/recentlyViewedProducts.js +0 -0
- package/dist/composables/stores/review.d.ts +0 -1
- package/dist/composables/stores/review.js +0 -25
- package/dist/composables/stores/storeInPickUp.d.ts +0 -1
- package/dist/composables/stores/storeInPickUp.js +0 -21
- package/dist/composables/stores/user.d.ts +0 -1
- package/dist/composables/stores/user.js +0 -16
- package/dist/composables/stores/wishlist.d.ts +0 -1
- package/dist/composables/stores/wishlist.js +0 -17
- package/dist/composables/types/Order.type.d.ts +0 -141
- package/dist/composables/types/Order.type.js +0 -1
- package/dist/composables/types/index.d.ts +0 -265
- package/dist/composables/types/index.js +0 -3
- package/dist/composables/types/product.d.ts +0 -13
- package/dist/composables/types/product.js +0 -1
- package/dist/composables/useBreakpoints/index.d.ts +0 -1
- package/dist/composables/useBreakpoints/index.js +0 -1
- package/dist/composables/useBreakpoints/useBreakpoints.d.ts +0 -10
- package/dist/composables/useBreakpoints/useBreakpoints.js +0 -24
- package/dist/composables/useCart/index.d.ts +0 -1
- package/dist/composables/useCart/index.js +0 -1
- package/dist/composables/useCart/types.d.ts +0 -13
- package/dist/composables/useCart/types.js +0 -1
- package/dist/composables/useCart/useCart.d.ts +0 -8
- package/dist/composables/useCart/useCart.js +0 -43
- package/dist/composables/useCartShippingMethods/index.d.ts +0 -1
- package/dist/composables/useCartShippingMethods/index.js +0 -1
- package/dist/composables/useCartShippingMethods/types.d.ts +0 -13
- package/dist/composables/useCartShippingMethods/types.js +0 -1
- package/dist/composables/useCartShippingMethods/useCartShippingMethods.d.ts +0 -7
- package/dist/composables/useCartShippingMethods/useCartShippingMethods.js +0 -35
- package/dist/composables/useCatalog.d.ts +0 -13
- package/dist/composables/useCatalog.js +0 -61
- package/dist/composables/useContent/index.d.ts +0 -1
- package/dist/composables/useContent/index.js +0 -1
- package/dist/composables/useContent/types.d.ts +0 -32
- package/dist/composables/useContent/types.js +0 -1
- package/dist/composables/useContent/useContent.d.ts +0 -9
- package/dist/composables/useContent/useContent.js +0 -43
- package/dist/composables/useContent.d.ts +0 -14
- package/dist/composables/useContent.js +0 -55
- package/dist/composables/useCustomer/index.d.ts +0 -2
- package/dist/composables/useCustomer/index.js +0 -2
- package/dist/composables/useCustomer/types.d.ts +0 -13
- package/dist/composables/useCustomer/types.js +0 -1
- package/dist/composables/useCustomer/useCustomer.d.ts +0 -8
- package/dist/composables/useCustomer/useCustomer.js +0 -34
- package/dist/composables/useCustomerAddress/index.d.ts +0 -2
- package/dist/composables/useCustomerAddress/index.js +0 -2
- package/dist/composables/useCustomerAddress/types.d.ts +0 -13
- package/dist/composables/useCustomerAddress/types.js +0 -1
- package/dist/composables/useCustomerAddress/useCustomerAddress.d.ts +0 -8
- package/dist/composables/useCustomerAddress/useCustomerAddress.js +0 -43
- package/dist/composables/useCustomerOrder/adress.d.ts +0 -11
- package/dist/composables/useCustomerOrder/adress.js +0 -10
- package/dist/composables/useCustomerOrder/index.d.ts +0 -2
- package/dist/composables/useCustomerOrder/index.js +0 -2
- package/dist/composables/useCustomerOrder/product.d.ts +0 -28
- package/dist/composables/useCustomerOrder/product.js +0 -37
- package/dist/composables/useCustomerOrder/types.d.ts +0 -32
- package/dist/composables/useCustomerOrder/types.js +0 -1
- package/dist/composables/useCustomerOrder/useCustomerOrder.d.ts +0 -8
- package/dist/composables/useCustomerOrder/useCustomerOrder.js +0 -52
- package/dist/composables/useCustomerOrders/index.d.ts +0 -2
- package/dist/composables/useCustomerOrders/index.js +0 -2
- package/dist/composables/useCustomerOrders/types.d.ts +0 -15
- package/dist/composables/useCustomerOrders/types.js +0 -1
- package/dist/composables/useCustomerOrders/useCustomerOrders.d.ts +0 -8
- package/dist/composables/useCustomerOrders/useCustomerOrders.js +0 -42
- package/dist/composables/useCustomerReturns/index.d.ts +0 -2
- package/dist/composables/useCustomerReturns/index.js +0 -2
- package/dist/composables/useCustomerReturns/types.d.ts +0 -13
- package/dist/composables/useCustomerReturns/types.js +0 -1
- package/dist/composables/useCustomerReturns/useCustomerReturns.d.ts +0 -8
- package/dist/composables/useCustomerReturns/useCustomerReturns.js +0 -32
- package/dist/composables/useHandleError/index.d.ts +0 -1
- package/dist/composables/useHandleError/index.js +0 -1
- package/dist/composables/useHandleError/types.d.ts +0 -7
- package/dist/composables/useHandleError/types.js +0 -1
- package/dist/composables/useHandleError/useHandleError.d.ts +0 -10
- package/dist/composables/useHandleError/useHandleError.js +0 -24
- package/dist/composables/usePageTitle.d.ts +0 -5
- package/dist/composables/usePageTitle.js +0 -14
- package/dist/composables/useProduct/index.d.ts +0 -2
- package/dist/composables/useProduct/index.js +0 -2
- package/dist/composables/useProduct/types.d.ts +0 -13
- package/dist/composables/useProduct/types.js +0 -1
- package/dist/composables/useProduct/useProduct.d.ts +0 -9
- package/dist/composables/useProduct/useProduct.js +0 -36
- package/dist/composables/useProductAttribute/index.d.ts +0 -1
- package/dist/composables/useProductAttribute/index.js +0 -1
- package/dist/composables/useProductAttribute/useProductAttribute.d.ts +0 -11
- package/dist/composables/useProductAttribute/useProductAttribute.js +0 -25
- package/dist/composables/useProductRecommended/index.d.ts +0 -1
- package/dist/composables/useProductRecommended/index.js +0 -1
- package/dist/composables/useProductRecommended/types.d.ts +0 -13
- package/dist/composables/useProductRecommended/types.js +0 -1
- package/dist/composables/useProductRecommended/useProductRecommended.d.ts +0 -6
- package/dist/composables/useProductRecommended/useProductRecommended.js +0 -33
- package/dist/composables/useProductReviews/index.d.ts +0 -2
- package/dist/composables/useProductReviews/index.js +0 -2
- package/dist/composables/useProductReviews/types.d.ts +0 -13
- package/dist/composables/useProductReviews/types.js +0 -1
- package/dist/composables/useProductReviews/useProductReviews.d.ts +0 -9
- package/dist/composables/useProductReviews/useProductReviews.js +0 -36
- package/dist/composables/useProducts/types.d.ts +0 -18
- package/dist/composables/useProducts/types.js +0 -1
- package/dist/composables/useProducts/useProducts.d.ts +0 -8
- package/dist/composables/useProducts/useProducts.js +0 -35
- package/dist/composables/utils/countryList.d.ts +0 -5
- package/dist/composables/utils/countryList.js +0 -14
- package/dist/composables/utils/glossary.d.ts +0 -0
- package/dist/composables/utils/glossary.js +0 -0
- package/dist/composables/utils/importExport.d.ts +0 -0
- package/dist/composables/utils/importExport.js +0 -0
- package/dist/composables/utils/print.d.ts +0 -0
- package/dist/composables/utils/print.js +0 -0
- package/dist/composables/utils/shopThemes.d.ts +0 -0
- package/dist/composables/utils/shopThemes.js +0 -0
- package/dist/composables/utils/statistics.d.ts +0 -0
- package/dist/composables/utils/statistics.js +0 -0
- package/dist/composables/utils/stock.d.ts +0 -0
- package/dist/composables/utils/stock.js +0 -0
- package/dist/composables/utils/stripe.d.ts +0 -7
- package/dist/composables/utils/stripe.js +0 -14
- package/dist/composables/utils/taxation.d.ts +0 -0
- package/dist/composables/utils/taxation.js +0 -0
- package/dist/composables/utils/tellFriends.d.ts +0 -0
- package/dist/composables/utils/tellFriends.js +0 -0
- package/dist/composables/validationRules/index.d.ts +0 -1
- package/dist/composables/validationRules/index.js +0 -1
- package/dist/composables/validationRules/password.d.ts +0 -1
- package/dist/composables/validationRules/password.js +0 -20
- package/dist/composables/validationRules/password.test.d.ts +0 -1
- package/dist/composables/validationRules/password.test.js +0 -68
- package/dist/composables/vendors/index.d.ts +0 -0
- package/dist/composables/vendors/index.js +0 -0
- package/dist/composables/vendors/registry.d.ts +0 -0
- package/dist/composables/vendors/registry.js +0 -0
- package/dist/composables/vendors/useAffiliates.d.ts +0 -0
- package/dist/composables/vendors/useAffiliates.js +0 -0
- package/dist/composables/vendors/useCommission.d.ts +0 -0
- package/dist/composables/vendors/useCommission.js +0 -0
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -6
- package/dist/modules/vue-head/composables/useHead.d.ts +0 -1
- package/dist/modules/vue-head/composables/useHead.js +0 -3
- package/dist/normalizer.d.ts +0 -12
- package/dist/normalizer.js +0 -13
- package/dist/normalizers/magento.d.ts +0 -3
- package/dist/normalizers/magento.js +0 -23
- package/dist/normalizers/shopify.d.ts +0 -3
- package/dist/normalizers/shopify.js +0 -24
- package/dist/utils/client.d.ts +0 -6
- package/dist/utils/client.js +0 -23
- package/dist/utils/index.d.ts +0 -15
- package/dist/utils/index.js +0 -38
- package/dist/utils/normalizer.d.ts +0 -12
- package/dist/utils/normalizer.js +0 -13
- package/dist/utils/normalizers/magento.d.ts +0 -3
- package/dist/utils/normalizers/magento.js +0 -23
- package/dist/utils/normalizers/shopify.d.ts +0 -3
- package/dist/utils/normalizers/shopify.js +0 -24
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
// stores/cartStore.ts
|
|
2
|
-
import { defineStore } from 'pinia';
|
|
3
|
-
import { MagentoService } from '~/services/magento';
|
|
4
|
-
export const useCartStore = defineStore('cart', {
|
|
5
|
-
state: () => ({
|
|
6
|
-
isGuest: true,
|
|
7
|
-
items: [],
|
|
8
|
-
total: 0,
|
|
9
|
-
quoteId: null,
|
|
10
|
-
magentoService: new MagentoService()
|
|
11
|
-
}),
|
|
12
|
-
actions: {
|
|
13
|
-
async initializeCart() {
|
|
14
|
-
const auth = useAuth();
|
|
15
|
-
this.isGuest = !auth.token.value;
|
|
16
|
-
try {
|
|
17
|
-
if (this.isGuest) {
|
|
18
|
-
await this.createGuestCart();
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
await this.createCustomerCart();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
errorHandler.handle(error);
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
async createGuestCart() {
|
|
29
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/guest-carts`, {
|
|
30
|
-
method: 'POST'
|
|
31
|
-
});
|
|
32
|
-
const quoteId = await response.json();
|
|
33
|
-
this.quoteId = quoteId;
|
|
34
|
-
},
|
|
35
|
-
async createCustomerCart() {
|
|
36
|
-
const auth = useAuth();
|
|
37
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine`, {
|
|
38
|
-
method: 'POST',
|
|
39
|
-
headers: {
|
|
40
|
-
'Authorization': `Bearer ${auth.token.value}`
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
this.quoteId = await response.json();
|
|
44
|
-
},
|
|
45
|
-
async addItem(product) {
|
|
46
|
-
const loading = useLoading();
|
|
47
|
-
loading.startLoading('Adding to cart...');
|
|
48
|
-
try {
|
|
49
|
-
// Check authentication
|
|
50
|
-
const auth = useAuth();
|
|
51
|
-
if (auth.isTokenExpired()) {
|
|
52
|
-
await auth.refreshAccessToken();
|
|
53
|
-
}
|
|
54
|
-
// Check inventory
|
|
55
|
-
const inventory = useInventory();
|
|
56
|
-
await inventory.checkInventory(product.sku, product.qty);
|
|
57
|
-
// If no quote ID, create cart
|
|
58
|
-
if (!this.quoteId) {
|
|
59
|
-
await this.initializeCart();
|
|
60
|
-
}
|
|
61
|
-
// Ensure quoteId exists before proceeding
|
|
62
|
-
if (!this.quoteId) {
|
|
63
|
-
throw new CartError('Failed to create cart', 'CART_ERROR');
|
|
64
|
-
}
|
|
65
|
-
// Add to Magento cart
|
|
66
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine/items`, {
|
|
67
|
-
method: 'POST',
|
|
68
|
-
headers: {
|
|
69
|
-
'Authorization': `Bearer ${auth.token.value}`,
|
|
70
|
-
'Content-Type': 'application/json'
|
|
71
|
-
},
|
|
72
|
-
body: JSON.stringify({
|
|
73
|
-
cartItem: {
|
|
74
|
-
sku: product.sku,
|
|
75
|
-
qty: product.qty,
|
|
76
|
-
quote_id: this.quoteId
|
|
77
|
-
}
|
|
78
|
-
})
|
|
79
|
-
});
|
|
80
|
-
if (!response.ok) {
|
|
81
|
-
throw new CartError('Failed to add item to cart', 'CART_ERROR');
|
|
82
|
-
}
|
|
83
|
-
const cartItem = await response.json();
|
|
84
|
-
// Update local cart state
|
|
85
|
-
const existingItem = this.items.find(item => item.sku === product.sku);
|
|
86
|
-
if (existingItem) {
|
|
87
|
-
existingItem.qty += product.qty;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.items.push({
|
|
91
|
-
...product,
|
|
92
|
-
item_id: cartItem.item_id
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
// Calculate taxes
|
|
96
|
-
const tax = useTax();
|
|
97
|
-
if (this.quoteId) {
|
|
98
|
-
await tax.calculateTax(this.quoteId);
|
|
99
|
-
}
|
|
100
|
-
// Cache product data
|
|
101
|
-
const cache = useCache();
|
|
102
|
-
cache.setCacheItem(`cart_product_${product.sku}`, product);
|
|
103
|
-
await this.calculateTotal();
|
|
104
|
-
loading.stopLoading();
|
|
105
|
-
const { show } = useNotification();
|
|
106
|
-
show({
|
|
107
|
-
type: 'success',
|
|
108
|
-
message: 'Product added to cart'
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
loading.stopLoading();
|
|
113
|
-
errorHandler.handle(error);
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
async removeItem(itemId) {
|
|
117
|
-
const loading = useLoading();
|
|
118
|
-
loading.startLoading('Removing item...');
|
|
119
|
-
try {
|
|
120
|
-
const auth = useAuth();
|
|
121
|
-
if (auth.isTokenExpired()) {
|
|
122
|
-
await auth.refreshAccessToken();
|
|
123
|
-
}
|
|
124
|
-
// Remove from Magento cart
|
|
125
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine/items/${itemId}`, {
|
|
126
|
-
method: 'DELETE',
|
|
127
|
-
headers: {
|
|
128
|
-
'Authorization': `Bearer ${auth.token.value}`
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
if (!response.ok) {
|
|
132
|
-
throw new CartError('Failed to remove item from cart', 'CART_ERROR');
|
|
133
|
-
}
|
|
134
|
-
// Update local cart state
|
|
135
|
-
this.items = this.items.filter(item => item.item_id !== itemId);
|
|
136
|
-
await this.calculateTotal();
|
|
137
|
-
loading.stopLoading();
|
|
138
|
-
useNotification().show({
|
|
139
|
-
type: 'success',
|
|
140
|
-
message: 'Item removed from cart'
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
loading.stopLoading();
|
|
145
|
-
errorHandler.handle(error);
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
async calculateTotal() {
|
|
149
|
-
try {
|
|
150
|
-
const auth = useAuth();
|
|
151
|
-
if (!this.quoteId)
|
|
152
|
-
return;
|
|
153
|
-
// Get cart totals from Magento
|
|
154
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine/totals`, {
|
|
155
|
-
headers: {
|
|
156
|
-
'Authorization': `Bearer ${auth.token.value}`
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
if (!response.ok) {
|
|
160
|
-
throw new CartError('Failed to get cart totals', 'CART_ERROR');
|
|
161
|
-
}
|
|
162
|
-
const totals = await response.json();
|
|
163
|
-
this.total = totals.grand_total;
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
console.error('Error calculating totals:', error);
|
|
167
|
-
errorHandler.handle(error);
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
// Update other methods to use the notification composable
|
|
171
|
-
async clearCart() {
|
|
172
|
-
const loading = useLoading();
|
|
173
|
-
loading.startLoading('Clearing cart...');
|
|
174
|
-
try {
|
|
175
|
-
const auth = useAuth();
|
|
176
|
-
if (this.quoteId) {
|
|
177
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine/clear`, {
|
|
178
|
-
method: 'POST',
|
|
179
|
-
headers: {
|
|
180
|
-
'Authorization': `Bearer ${auth.token.value}`
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
if (!response.ok) {
|
|
184
|
-
throw new CartError('Failed to clear cart', 'CART_ERROR');
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
this.items = [];
|
|
188
|
-
this.total = 0;
|
|
189
|
-
this.quoteId = null;
|
|
190
|
-
// Clear cart-related cache
|
|
191
|
-
const cache = useCache();
|
|
192
|
-
this.items.forEach(item => {
|
|
193
|
-
cache.setCacheItem(`cart_product_${item.sku}`, null);
|
|
194
|
-
});
|
|
195
|
-
loading.stopLoading();
|
|
196
|
-
const { show } = useNotification();
|
|
197
|
-
show({
|
|
198
|
-
type: 'success',
|
|
199
|
-
message: 'Cart cleared successfully'
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
catch (error) {
|
|
203
|
-
loading.stopLoading();
|
|
204
|
-
errorHandler.handle(error);
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
async syncCartWithMagento() {
|
|
208
|
-
try {
|
|
209
|
-
const auth = useAuth();
|
|
210
|
-
const response = await fetch(`${process.env.MAGENTO_API_URL}/carts/mine/items`, {
|
|
211
|
-
headers: {
|
|
212
|
-
'Authorization': `Bearer ${auth.token.value}`
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
if (!response.ok) {
|
|
216
|
-
throw new CartError('Failed to sync cart', 'CART_ERROR');
|
|
217
|
-
}
|
|
218
|
-
const magentoItems = await response.json();
|
|
219
|
-
this.items = magentoItems;
|
|
220
|
-
await this.calculateTotal();
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
errorHandler.handle(error);
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
async validateCart() {
|
|
227
|
-
try {
|
|
228
|
-
// Check all items inventory
|
|
229
|
-
for (const item of this.items) {
|
|
230
|
-
const inventory = useInventory();
|
|
231
|
-
const isAvailable = await inventory.checkInventory(item.sku, item.qty);
|
|
232
|
-
if (!isAvailable) {
|
|
233
|
-
throw new CartError(`${item.name} is out of stock`, 'INVENTORY_ERROR');
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
// Validate prices
|
|
237
|
-
await this.syncCartWithMagento();
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
errorHandler.handle(error);
|
|
242
|
-
return false;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useCheckoutStore: any;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
export const useCheckoutStore = defineStore('checkout', {
|
|
3
|
-
state: () => ({
|
|
4
|
-
shippingAddress: null,
|
|
5
|
-
paymentMethod: null,
|
|
6
|
-
orderId: '',
|
|
7
|
-
isLoading: false
|
|
8
|
-
}),
|
|
9
|
-
actions: {
|
|
10
|
-
setShippingAddress(address) {
|
|
11
|
-
this.shippingAddress = address;
|
|
12
|
-
},
|
|
13
|
-
setPaymentMethod(method) {
|
|
14
|
-
this.paymentMethod = method;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useCompareStore: any;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// stores/compare.ts
|
|
2
|
-
import { defineStore } from 'pinia';
|
|
3
|
-
export const useCompareStore = defineStore('compare', {
|
|
4
|
-
state: () => ({
|
|
5
|
-
isLoading: false,
|
|
6
|
-
count: 0,
|
|
7
|
-
attributes: [],
|
|
8
|
-
products: [],
|
|
9
|
-
productSkus: [],
|
|
10
|
-
items: []
|
|
11
|
-
}),
|
|
12
|
-
actions: {
|
|
13
|
-
toggleLoader(isLoading) {
|
|
14
|
-
this.isLoading = isLoading;
|
|
15
|
-
},
|
|
16
|
-
setCompareList(payload) {
|
|
17
|
-
this.attributes = payload.attributes || [];
|
|
18
|
-
this.products = payload.products || [];
|
|
19
|
-
this.items = payload.items || [];
|
|
20
|
-
},
|
|
21
|
-
removeComparedProduct(productSku) {
|
|
22
|
-
this.products = this.products.filter(product => product.sku !== productSku);
|
|
23
|
-
this.productSkus = this.productSkus.filter(sku => sku !== productSku);
|
|
24
|
-
this.items = this.items.filter(item => item.product.sku !== productSku);
|
|
25
|
-
},
|
|
26
|
-
clearComparedProducts() {
|
|
27
|
-
this.products = [];
|
|
28
|
-
this.productSkus = [];
|
|
29
|
-
this.items = [];
|
|
30
|
-
this.count = 0;
|
|
31
|
-
},
|
|
32
|
-
setCompareListSkus(productSkus) {
|
|
33
|
-
this.productSkus = productSkus;
|
|
34
|
-
},
|
|
35
|
-
addComparedProductSku(productSku) {
|
|
36
|
-
if (!this.productSkus.includes(productSku)) {
|
|
37
|
-
this.productSkus.push(productSku);
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
updateCompareTotals(compareTotals) {
|
|
41
|
-
this.count = parseInt(compareTotals, 10); // Convert string to number
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
getters: {
|
|
45
|
-
getCompareCount: (state) => state.count,
|
|
46
|
-
getComparedProducts: (state) => state.products,
|
|
47
|
-
getComparedProductSkus: (state) => state.productSkus,
|
|
48
|
-
getIsLoading: (state) => state.isLoading
|
|
49
|
-
}
|
|
50
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useOrdersStore: any;
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
export const useOrdersStore = defineStore('orders', () => {
|
|
2
|
-
const orders = ref([]);
|
|
3
|
-
const currentOrder = ref(null);
|
|
4
|
-
const returns = ref([]);
|
|
5
|
-
const transactions = ref([]);
|
|
6
|
-
const invoices = ref([]);
|
|
7
|
-
const creditMemos = ref([]);
|
|
8
|
-
const loading = ref(false);
|
|
9
|
-
const error = ref(null);
|
|
10
|
-
// Import composables
|
|
11
|
-
const { getOrders, getOrderById } = useOrders();
|
|
12
|
-
const { getReturns, createReturn } = useReturns();
|
|
13
|
-
const { getTransactions } = useTransactions();
|
|
14
|
-
const { getInvoices } = useInvoices();
|
|
15
|
-
const { getCreditMemos } = useCreditMemos();
|
|
16
|
-
const fetchOrders = async (filters = {}) => {
|
|
17
|
-
loading.value = true;
|
|
18
|
-
error.value = null;
|
|
19
|
-
try {
|
|
20
|
-
orders.value = await getOrders(filters);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
error.value = err.message;
|
|
24
|
-
console.error('Error fetching orders:', err);
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
loading.value = false;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
const fetchOrder = async (id) => {
|
|
31
|
-
loading.value = true;
|
|
32
|
-
error.value = null;
|
|
33
|
-
try {
|
|
34
|
-
currentOrder.value = await getOrderById(id);
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
error.value = err.message;
|
|
38
|
-
console.error('Error fetching order:', err);
|
|
39
|
-
}
|
|
40
|
-
finally {
|
|
41
|
-
loading.value = false;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
const fetchReturns = async (options = {}) => {
|
|
45
|
-
loading.value = true;
|
|
46
|
-
error.value = null;
|
|
47
|
-
try {
|
|
48
|
-
returns.value = await getReturns(options);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
error.value = err.message;
|
|
52
|
-
console.error('Error fetching returns:', err);
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
loading.value = false;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const submitReturn = async (returnData) => {
|
|
59
|
-
loading.value = true;
|
|
60
|
-
error.value = null;
|
|
61
|
-
try {
|
|
62
|
-
const newReturn = await createReturn(returnData);
|
|
63
|
-
returns.value.unshift(newReturn);
|
|
64
|
-
return newReturn;
|
|
65
|
-
}
|
|
66
|
-
catch (err) {
|
|
67
|
-
error.value = err.message;
|
|
68
|
-
console.error('Error submitting return:', err);
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
finally {
|
|
72
|
-
loading.value = false;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
const fetchTransactions = async (options = {}) => {
|
|
76
|
-
loading.value = true;
|
|
77
|
-
error.value = null;
|
|
78
|
-
try {
|
|
79
|
-
transactions.value = await getTransactions(options);
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
error.value = err.message;
|
|
83
|
-
console.error('Error fetching transactions:', err);
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
loading.value = false;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
const fetchInvoices = async (options = {}) => {
|
|
90
|
-
loading.value = true;
|
|
91
|
-
error.value = null;
|
|
92
|
-
try {
|
|
93
|
-
invoices.value = await getInvoices(options);
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
error.value = err.message;
|
|
97
|
-
console.error('Error fetching invoices:', err);
|
|
98
|
-
}
|
|
99
|
-
finally {
|
|
100
|
-
loading.value = false;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
const fetchCreditMemos = async (options = {}) => {
|
|
104
|
-
loading.value = true;
|
|
105
|
-
error.value = null;
|
|
106
|
-
try {
|
|
107
|
-
creditMemos.value = await getCreditMemos(options);
|
|
108
|
-
}
|
|
109
|
-
catch (err) {
|
|
110
|
-
error.value = err.message;
|
|
111
|
-
console.error('Error fetching credit memos:', err);
|
|
112
|
-
}
|
|
113
|
-
finally {
|
|
114
|
-
loading.value = false;
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
// Computed properties
|
|
118
|
-
const ordersByStatus = computed(() => {
|
|
119
|
-
return orders.value.reduce((acc, order) => {
|
|
120
|
-
acc[order.status] = (acc[order.status] || 0) + 1;
|
|
121
|
-
return acc;
|
|
122
|
-
}, {});
|
|
123
|
-
});
|
|
124
|
-
const totalRevenue = computed(() => {
|
|
125
|
-
return orders.value
|
|
126
|
-
.filter(order => !['cancelled', 'refunded'].includes(order.status))
|
|
127
|
-
.reduce((sum, order) => sum + order.total, 0);
|
|
128
|
-
});
|
|
129
|
-
const averageOrderValue = computed(() => {
|
|
130
|
-
const validOrders = orders.value.filter(order => !['cancelled', 'refunded'].includes(order.status));
|
|
131
|
-
return validOrders.length > 0 ? totalRevenue.value / validOrders.length : 0;
|
|
132
|
-
});
|
|
133
|
-
return {
|
|
134
|
-
// State
|
|
135
|
-
orders: readonly(orders),
|
|
136
|
-
currentOrder: readonly(currentOrder),
|
|
137
|
-
returns: readonly(returns),
|
|
138
|
-
transactions: readonly(transactions),
|
|
139
|
-
invoices: readonly(invoices),
|
|
140
|
-
creditMemos: readonly(creditMemos),
|
|
141
|
-
loading: readonly(loading),
|
|
142
|
-
error: readonly(error),
|
|
143
|
-
// Computed
|
|
144
|
-
ordersByStatus,
|
|
145
|
-
totalRevenue,
|
|
146
|
-
averageOrderValue,
|
|
147
|
-
// Actions
|
|
148
|
-
fetchOrders,
|
|
149
|
-
fetchOrder,
|
|
150
|
-
fetchReturns,
|
|
151
|
-
submitReturn,
|
|
152
|
-
fetchTransactions,
|
|
153
|
-
fetchInvoices,
|
|
154
|
-
fetchCreditMemos
|
|
155
|
-
};
|
|
156
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useProductStore: any;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
export const useProductStore = defineStore('product', {
|
|
3
|
-
state: () => ({
|
|
4
|
-
products: [],
|
|
5
|
-
selectedProduct: null,
|
|
6
|
-
isLoading: false
|
|
7
|
-
}),
|
|
8
|
-
actions: {
|
|
9
|
-
async fetchProducts() {
|
|
10
|
-
this.isLoading = true;
|
|
11
|
-
try {
|
|
12
|
-
const response = await $fetch('/api/products'); // Update API endpoint
|
|
13
|
-
this.products = response;
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error('Error fetching products:', error);
|
|
17
|
-
}
|
|
18
|
-
finally {
|
|
19
|
-
this.isLoading = false;
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
selectProduct(product) {
|
|
23
|
-
this.selectedProduct = product;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useProductsStore: any;
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export const useProductsStore = defineStore('products', () => {
|
|
2
|
-
const products = ref([]);
|
|
3
|
-
const featuredProducts = ref([]);
|
|
4
|
-
const currentProduct = ref(null);
|
|
5
|
-
const categories = ref([]);
|
|
6
|
-
const loading = ref(false);
|
|
7
|
-
const error = ref(null);
|
|
8
|
-
// Import product composables
|
|
9
|
-
const { getProducts, getProductById, getProductsByCategory, searchProducts } = useProducts();
|
|
10
|
-
const { getFeaturedProducts } = useFeaturedProducts();
|
|
11
|
-
const fetchProducts = async (options = {}) => {
|
|
12
|
-
loading.value = true;
|
|
13
|
-
error.value = null;
|
|
14
|
-
try {
|
|
15
|
-
products.value = await getProducts(options);
|
|
16
|
-
}
|
|
17
|
-
catch (err) {
|
|
18
|
-
error.value = err.message;
|
|
19
|
-
console.error('Error fetching products:', err);
|
|
20
|
-
}
|
|
21
|
-
finally {
|
|
22
|
-
loading.value = false;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const fetchProduct = async (id) => {
|
|
26
|
-
loading.value = true;
|
|
27
|
-
error.value = null;
|
|
28
|
-
try {
|
|
29
|
-
currentProduct.value = await getProductById(id);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
error.value = err.message;
|
|
33
|
-
console.error('Error fetching product:', err);
|
|
34
|
-
}
|
|
35
|
-
finally {
|
|
36
|
-
loading.value = false;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const fetchFeaturedProducts = async (options = {}) => {
|
|
40
|
-
loading.value = true;
|
|
41
|
-
error.value = null;
|
|
42
|
-
try {
|
|
43
|
-
featuredProducts.value = await getFeaturedProducts(options);
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
error.value = err.message;
|
|
47
|
-
console.error('Error fetching featured products:', err);
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
loading.value = false;
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const fetchProductsByCategory = async (categoryId, options = {}) => {
|
|
54
|
-
loading.value = true;
|
|
55
|
-
error.value = null;
|
|
56
|
-
try {
|
|
57
|
-
products.value = await getProductsByCategory(categoryId, options);
|
|
58
|
-
}
|
|
59
|
-
catch (err) {
|
|
60
|
-
error.value = err.message;
|
|
61
|
-
console.error('Error fetching products by category:', err);
|
|
62
|
-
}
|
|
63
|
-
finally {
|
|
64
|
-
loading.value = false;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const searchForProducts = async (query, options = {}) => {
|
|
68
|
-
loading.value = true;
|
|
69
|
-
error.value = null;
|
|
70
|
-
try {
|
|
71
|
-
products.value = await searchProducts(query, options);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
error.value = err.message;
|
|
75
|
-
console.error('Error searching products:', err);
|
|
76
|
-
}
|
|
77
|
-
finally {
|
|
78
|
-
loading.value = false;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
// Computed properties
|
|
82
|
-
const productsOnSale = computed(() => {
|
|
83
|
-
return products.value.filter(product => product.sale_price && product.sale_price < product.price);
|
|
84
|
-
});
|
|
85
|
-
const productCount = computed(() => {
|
|
86
|
-
return products.value.length;
|
|
87
|
-
});
|
|
88
|
-
return {
|
|
89
|
-
// State
|
|
90
|
-
products: readonly(products),
|
|
91
|
-
featuredProducts: readonly(featuredProducts),
|
|
92
|
-
currentProduct: readonly(currentProduct),
|
|
93
|
-
categories: readonly(categories),
|
|
94
|
-
loading: readonly(loading),
|
|
95
|
-
error: readonly(error),
|
|
96
|
-
// Computed
|
|
97
|
-
productsOnSale,
|
|
98
|
-
productCount,
|
|
99
|
-
// Actions
|
|
100
|
-
fetchProducts,
|
|
101
|
-
fetchProduct,
|
|
102
|
-
fetchFeaturedProducts,
|
|
103
|
-
fetchProductsByCategory,
|
|
104
|
-
searchForProducts
|
|
105
|
-
};
|
|
106
|
-
});
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useReviewStore: any;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
export const useReviewStore = defineStore('review', {
|
|
3
|
-
state: () => ({
|
|
4
|
-
reviews: [],
|
|
5
|
-
isLoading: false
|
|
6
|
-
}),
|
|
7
|
-
actions: {
|
|
8
|
-
async fetchReviews(productId) {
|
|
9
|
-
this.isLoading = true;
|
|
10
|
-
try {
|
|
11
|
-
const response = await $fetch(`/api/reviews?productId=${productId}`);
|
|
12
|
-
this.reviews = response;
|
|
13
|
-
}
|
|
14
|
-
catch (error) {
|
|
15
|
-
console.error('Error fetching reviews:', error);
|
|
16
|
-
}
|
|
17
|
-
finally {
|
|
18
|
-
this.isLoading = false;
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
addReview(review) {
|
|
22
|
-
this.reviews.push(review);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useStoreInPickupStore: any;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
export const useStoreInPickupStore = defineStore('storeInPickUp', {
|
|
3
|
-
state: () => ({
|
|
4
|
-
selectedStoreId: null,
|
|
5
|
-
stores: []
|
|
6
|
-
}),
|
|
7
|
-
actions: {
|
|
8
|
-
setSelectedStore(storeId) {
|
|
9
|
-
this.selectedStoreId = storeId;
|
|
10
|
-
},
|
|
11
|
-
async fetchStores() {
|
|
12
|
-
try {
|
|
13
|
-
const response = await $fetch('/api/stores');
|
|
14
|
-
this.stores = response;
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
console.error('Error fetching stores:', error);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|