From 4b64b023a168fa84bfa673e4994d2b4ae649f0f4 Mon Sep 17 00:00:00 2001 From: Marcin Kwiatkowski Date: Tue, 24 May 2022 11:14:47 +0200 Subject: [PATCH] chore: release 1.0.0-rc.7 --- .env.example | 56 +- .gitignore | 5 +- .yarnrc.yml | 1 + README.md | 11 - components/AppFooter.vue | 2 +- components/AppHeader.vue | 89 +- components/BottomNavigation.vue | 21 +- components/CartSidebar.vue | 73 +- components/Category/CategorySidebarMenu.vue | 198 - components/CategoryPageHeader.vue | 246 - components/Checkout/CartPreview.vue | 3 +- components/Checkout/UserBillingAddresses.vue | 40 +- components/Checkout/UserShippingAddresses.vue | 43 +- components/Checkout/VsfPaymentProvider.vue | 9 +- components/Checkout/VsfShippingProvider.vue | 53 +- components/ContentBlocks.vue | 13 +- components/CouponCode.vue | 3 +- .../CurrencySelector/CurrenciesModal.vue | 18 +- components/FiltersSidebar.vue | 241 - .../Header/Navigation/HeaderNavigation.vue | 137 + .../Navigation/HeaderNavigationItem.vue | 49 +- .../HeaderNavigationSubcategories.vue | 228 + .../__tests__/HeaderNavigation.spec.js | 92 + .../__tests__/HeaderNavigationItem.spec.js | 12 + .../HeaderNavigationSubcategories.spec.js | 54 + components/Header/SearchBar/SearchBar.vue | 44 +- components/Header/SearchBar/SearchResults.vue | 171 +- components/HeaderLogo.vue | 28 +- components/HeaderNavigation.vue | 74 - components/Hero.vue | 156 + components/InstagramFeed.vue | 57 +- components/LocaleSelector.vue | 236 - components/LoginModal.vue | 13 +- components/MobileMenuSidebar.vue | 78 - components/MobileStoreBanner.vue | 66 +- components/MyAccount/BillingAddressForm.vue | 9 - components/MyAccount/ShippingAddressForm.vue | 9 - components/NewProducts.vue | 179 + components/NewsletterModal.vue | 116 - components/ProductAddReviewForm.vue | 61 +- components/Products/BundleProductSelector.vue | 222 - components/Products/RelatedProducts.vue | 41 - components/Products/UpsellProducts.vue | 41 - components/SearchResults.vue | 400 - components/SkeletonLoader/index.vue | 98 + components/StoreSwitcher.vue | 35 +- components/StoreSwitcher/StoresModal.vue | 53 +- components/TopBar.vue | 44 - components/UpsellProducts.vue | 42 - components/UserAddressDetails.vue | 33 +- components/UserBillingAddress.vue | 9 - components/UserShippingAddress.vue | 9 - components/__tests__/AddtoWishlist.spec.js | 8 +- components/__tests__/CartSidebar.spec.js | 15 +- components/__tests__/LoginModal.spec.js | 11 +- .../__tests__/ProductAddReviewForm.spec.js | 18 +- composables/context.ts | 13 + composables/index.ts | 52 +- composables/types.ts | 255 + composables/useApi/index.ts | 158 +- composables/useBilling/BillingDetails.ts | 17 + .../commands/saveBillingAddressCommand.ts | 38 + composables/useBilling/index.ts | 96 + composables/useBilling/useBilling.ts | 45 + .../useCart/commands/addItemCommand.ts | 168 + .../useCart/commands/applyCouponCommand.ts | 28 + .../useCart/commands/clearCartCommand.ts | 7 + .../useCart/commands/loadCartCommand.ts | 84 + .../useCart/commands/loadTotalQtyCommand.ts | 17 + .../useCart/commands/removeCouponCommand.ts | 19 + .../useCart/commands/removeItemCommand.ts | 36 + .../useCart/commands/updateItemQtyCommand.ts | 36 + composables/useCart/index.ts | 263 + composables/useCart/useCart.ts | 112 + composables/useConfig/index.ts | 47 + composables/useConfig/useConfig.ts | 20 + .../useContent/commands/loadBlocksCommand.ts | 13 + .../useContent/commands/loadContentCommand.ts | 15 + composables/useContent/index.ts | 141 + composables/useContent/useContent.ts | 174 + composables/useCountrySearch/index.ts | 77 + .../useCountrySearch/useCountrySearch.ts | 35 + composables/useCurrency/index.ts | 67 + composables/useCurrency/useCurrency.ts | 43 + composables/useExternalCheckout/index.ts | 59 + .../useExternalCheckout.ts | 14 + composables/useFacet/SearchData.ts | 15 + composables/useFacet/_utils.ts | 68 + composables/useFacet/index.ts | 141 + composables/useFacet/useFacet.ts | 49 + .../getCustomerShippingMethodsCommand.ts | 9 + .../getGuestShippingMethodsCommand.ts | 12 + composables/useGetShippingMethods/index.ts | 56 + .../useGetShippingMethods.ts | 19 + composables/useImage/index.ts | 11 +- composables/useImage/useImage.ts | 32 + composables/useMagentoConfiguration.ts | 73 - .../UseMagentoConfiguration.ts | 17 + composables/useMagentoConfiguration/index.ts | 33 + .../commands/placeOrderCommand.ts | 12 + composables/useMakeOrder/index.ts | 40 + composables/useMakeOrder/useMakeOrder.ts | 27 + .../commands/updateSubscriptionCommand.ts | 15 + composables/useNewsletter/index.ts | 49 + composables/useNewsletter/useNewsletter.ts | 35 + .../usePaymentProvider/PaymentMethodParams.ts | 8 + .../getAvailablePaymentMethodsCommand.ts | 12 + .../commands/setPaymentMethodOnCartCommand.ts | 13 + composables/usePaymentProvider/index.ts | 80 + .../usePaymentProvider/usePaymentProvider.ts | 42 + .../useReview/commands/addReviewCommand.ts | 21 + .../commands/loadCustomerReviewsCommand.ts | 15 + .../commands/loadReviewMetadataCommand.ts | 15 + .../commands/searchReviewsCommand.ts | 21 + composables/useReview/index.ts | 102 + composables/useReview/useReview.ts | 66 + composables/useShipping/index.ts | 110 + composables/useShipping/useShipping.ts | 43 + .../setShippingMethodsOnCartCommand.ts | 13 + composables/useShippingProvider/index.ts | 86 + .../useShippingProvider.ts | 43 + composables/useStore/index.ts | 74 + composables/useStore/useStore.ts | 41 + composables/useUiHelpers/Params.ts | 32 + composables/useUiHelpers/index.ts | 205 +- composables/useUiHelpers/useUiHelpers.ts | 60 + composables/useUiNotification/index.ts | 38 +- .../useUiNotification/useUiNotification.ts | 32 + .../{useUiState.ts => useUiState/index.ts} | 42 +- composables/useUiState/useUiState.ts | 107 + composables/useUrlResolver.ts | 26 - composables/useUrlResolver/UseUrlResolver.ts | 33 + composables/useUrlResolver/index.ts | 58 + composables/utils/mask.ts | 19 + config/example.json | 18 - enums/imageEnums.js | 18 +- getters/_utils.ts | 27 + getters/cartGetters.ts | 208 + getters/checkoutGetters.ts | 27 + getters/facetGetters.ts | 95 + getters/index.ts | 16 + getters/orderGetters.ts | 47 + getters/reviewGetters.ts | 58 + getters/storeConfigGetters.ts | 31 + getters/storeGetters.ts | 18 + getters/types.d.ts | 139 + getters/wishlistGetters.ts | 138 + helpers/README.md | 1 - helpers/addBasePath.ts | 17 + helpers/cart/addToCart.ts | 22 +- helpers/category/getCategoryPath.js | 3 - .../category/getCategorySearchParameters.js | 6 - helpers/category/index.js | 8 - helpers/checkout/getShippingMethodPrice.ts | 4 +- helpers/htmlDecoder.ts | 13 + helpers/integrationPlugin/_proxyUtils.ts | 52 + helpers/integrationPlugin/context.ts | 30 + helpers/integrationPlugin/index.ts | 61 + helpers/logger/index.ts | 4 + helpers/logger/style.ts | 61 + helpers/logger/verbosity.ts | 43 + helpers/magentoConfig/handleChanges.ts | 39 - helpers/product/productData.ts | 22 - jest-setup.js | 34 + jest.config.js | 7 +- lang/de.js | 14 +- lang/en.js | 16 +- layouts/account.vue | 49 - layouts/blank.vue | 87 - layouts/default.vue | 30 +- layouts/error.vue | 128 +- middleware.config.js | 33 +- middleware/{checkout.js => checkout.ts} | 7 +- middleware/is-authenticated.js | 5 - middleware/is-authenticated.ts | 8 + modules/GraphQL/types.ts | 51436 ++++++++++++++++ .../components/CategoryEmptyResults.vue | 37 + .../__tests__/CategoryEmptyResults.spec.ts | 24 + .../breadcrumbs/CategoryBreadcrumbs.vue | 35 + .../category/components/cms/CmsContent.scss | 234 + .../category/components/cms/CmsContent.vue | 22 + .../components/cms/categoryContent.gql.ts | 15 + .../components/cms/useCategoryContent.ts | 44 + .../components/filters/CategoryFilters.scss | 72 + .../components/filters/CategoryFilters.vue | 233 + .../FiltersSidebar/SelectedFilters.vue | 68 + .../filters/__tests__/useFilters.spec.ts | 31 + .../command/getProductFilterByCategory.gql.ts | 22 + .../getProductFilterByCategoryCommand.ts | 14 + .../filters/renderer/CheckboxType.vue | 42 + .../components/filters/renderer/RadioType.vue | 61 + .../filters/renderer/RendererTypesEnum.ts | 9 + .../filters/renderer/SwatchColorType.vue | 52 + .../components/filters/renderer/YesNoType.vue | 51 + .../category/components/filters/useFilters.ts | 86 + .../components/navbar/CategoryNavbar.vue | 294 + .../MobileCategorySidebar.vue | 128 + .../__tests__/logic.spec.ts | 41 + .../sidebar/MobileCategorySidebar/logic.ts | 20 + .../components/views/CategoryProductGrid.vue | 109 + .../components/views/CategoryProductList.vue | 160 + .../__tests__/CategoryProductGrid.spec.ts | 30 + .../__tests__/CategoryProductList.spec.ts | 49 + .../views/__tests__/productsMock.ts | 258 + .../category/components/views/transition.scss | 10 + .../views/useProductsWithCommonCardProps.ts | 69 + .../category/composables/useCategory/index.ts | 103 + .../composables/useCategory/useCategory.ts | 88 + .../composables/useCategorySearch/index.ts | 48 + .../useCategorySearch/useCategorySearch.ts | 36 + .../catalog/category/config/FiltersConfig.ts | 22 + .../config/__tests__/filtersConfig.spec.ts | 75 + modules/catalog/category/config/config.ts | 49 + .../category/enums/displayModesEnum.ts | 7 + .../__tests__/findActiveCategory.spec.ts | 46 + .../__tests__/findCategoryAncestor.spec.ts | 26 + .../__tests__/useTraverseCategory.spec.ts | 63 + .../category/helpers/findActiveCategory.ts | 18 + .../category/helpers/findCategoryAncestors.ts | 28 + .../category/helpers/useTraverseCategory.ts | 40 + modules/catalog/category/types.d.ts | 226 + modules/catalog/index.ts | 21 + modules/catalog/pages/category.vue | 390 + .../catalog/pages/product.vue | 434 +- .../pricing/__tests__/usePrice.spec.ts | 48 + modules/catalog/pricing/getPricesQuery.gql.ts | 33 + modules/catalog/pricing/usePrice.ts | 28 + .../components/BundleProductSelector.vue | 244 + .../components}/GroupedProductSelector.vue | 85 +- .../product/components}/ProductsCarousel.vue | 84 +- .../product/components}/RelatedProducts.vue | 24 +- .../product/components/UpsellProducts.vue | 44 + .../commands/getProductDetailsCommand.ts | 12 + .../commands/getProductListCommand.ts | 12 + .../product/composables/useProduct/index.ts | 71 + .../composables/useProduct/useProduct.ts | 38 + .../composables/useRelatedProducts/index.ts | 56 + .../useRelatedProducts/useRelatedProducts.ts | 36 + .../composables/useUpsellProducts/index.ts | 64 + .../useUpsellProducts/useUpsellProducts.ts | 38 + .../catalog/product/getters/productGetters.ts | 314 + .../catalog/product/helpers}/bundleProduct.ts | 6 +- modules/catalog/product/types.ts | 37 + .../customer/components}/AddressForm.vue | 41 +- .../components}/PasswordResetForm.vue | 7 +- .../components}/ProfileUpdateForm.vue | 50 +- modules/customer/composables/types.d.ts | 9 + .../composables/useAddresses/index.ts | 118 + .../composables/useAddresses/useAddresses.ts | 222 + .../composables/useForgotPassword/index.ts | 87 + .../useForgotPassword/useForgotPassword.ts | 44 + .../commands/attachToCartCommand.ts | 17 + .../composables/useGuestUser/index.ts | 42 + .../composables/useGuestUser/useGuestUser.ts | 25 + modules/customer/composables/useUser/index.ts | 314 + .../useUser/loginStatusPingQuery.gql.ts | 15 + .../customer/composables/useUser/useUser.ts | 125 + .../commands/createCustomerAddressCommand.ts | 9 + .../commands/deleteCustomerAddressCommand.ts | 9 + .../commands/updateCustomerAddressCommand.ts | 12 + .../composables/useUserAddress/index.ts | 162 + .../useUserAddress/useUserAddress.ts | 76 + .../composables/useUserOrder/index.ts | 53 + .../composables/useUserOrder/useUserOrder.ts | 39 + modules/customer/getters/addressGetter.ts | 31 + .../customer/getters/forgotPasswordGetters.ts | 15 + modules/customer/getters/types.d.ts | 71 + .../customer/getters/userAddressesGetters.ts | 65 + .../customer/getters/userBillingGetters.ts | 40 + modules/customer/getters/userGetters.ts | 19 + .../customer/getters/userShippingGetters.ts | 37 + modules/customer/helpers/generateUserData.ts | 43 + .../customer/helpers/passwordValidation.ts | 0 .../helpers/userAddressManipulator.ts | 78 + modules/customer/index.ts | 20 + .../customer/pages}/AddressesDetails.vue | 107 +- .../customer/pages}/MyAccount.vue | 91 +- .../customer/pages}/MyNewsletter.vue | 13 +- .../customer/pages}/MyProfile.vue | 14 +- .../customer/pages}/MyReviews.vue | 31 +- .../customer/pages}/MyWishlist.vue | 223 +- .../customer/pages}/OrderHistory.vue | 28 +- modules/magento/defaultConfig.ts | 14 + modules/magento/helpers/index.ts | 24 + modules/magento/index.ts | 18 + modules/magento/plugin.ts | 113 + .../components/wishlist}/WishlistSidebar.vue | 160 +- modules/theme/index.ts | 5 + .../wishlist/composables/useWishlist/index.ts | 268 + .../composables/useWishlist/useWishlist.ts | 112 + .../wishlist/helpers/findItemOnWishlist.ts | 10 + modules/wishlist/helpers/productMatch.ts | 11 + modules/wishlist/index.ts | 5 + modules/wishlist/store/wishlistStore.ts | 12 + nuxt.config.js | 162 +- package.json | 53 +- pages/Category.vue | 1106 - pages/Checkout.vue | 58 +- pages/Checkout/Billing.vue | 132 +- pages/Checkout/Payment.vue | 76 +- pages/Checkout/Shipping.vue | 137 +- pages/Checkout/ThankYou.vue | 7 +- pages/Checkout/UserAccount.vue | 23 +- pages/Checkout/__tests__/Shipping.spec.js | 11 +- pages/Checkout/__tests__/UserAccount.spec.js | 7 +- pages/Home.vue | 244 +- pages/MyAccount/BillingDetails.vue | 214 - pages/MyAccount/ShippingDetails.vue | 213 - pages/Page.vue | 33 +- pages/ResetPassword.vue | 5 +- pages/Shipping.vue | 371 - pages/__tests__/ResetPassword.spec.js | 8 +- plugins/__tests__/i18n.spec.js | 24 +- plugins/__tests__/token-expired.spec.js | 60 +- plugins/domPurify.js | 4 - plugins/fcPlugin.ts | 10 +- plugins/graphqlClient.ts | 83 + plugins/i18n.ts | 118 +- plugins/query/StoreConfig.gql.ts | 20 + plugins/storeConfigPlugin.ts | 22 + plugins/token-expired.ts | 53 +- routes.js | 20 +- static/error/error.svg | 16 - static/icon.png | Bin 0 -> 4796 bytes static/icons/empty-cart.svg | 1 - static/icons/logo.svg | 1 - stores/category.ts | 28 + stores/config.ts | 17 + stores/customer.ts | 24 + stores/graphql/categoryList.gql.ts | 34 + test-utils/mocks/categoryTreeDataMock.ts | 327 + test-utils/mocks/useUiHelpersMock.ts | 7 + tests/e2e/support/index.js | 5 +- tests/e2e/tsconfig.json | 7 + tsconfig.json | 20 +- tsconfig.spec.json | 6 + types/core.ts | 902 + types/shims-vue.d.ts | 6 + yarn.lock | 36189 ++++++----- 339 files changed, 88764 insertions(+), 22040 deletions(-) create mode 100644 .yarnrc.yml delete mode 100644 components/Category/CategorySidebarMenu.vue delete mode 100644 components/CategoryPageHeader.vue delete mode 100644 components/FiltersSidebar.vue create mode 100644 components/Header/Navigation/HeaderNavigation.vue create mode 100644 components/Header/Navigation/HeaderNavigationSubcategories.vue create mode 100644 components/Header/Navigation/__tests__/HeaderNavigation.spec.js create mode 100644 components/Header/Navigation/__tests__/HeaderNavigationItem.spec.js create mode 100644 components/Header/Navigation/__tests__/HeaderNavigationSubcategories.spec.js delete mode 100644 components/HeaderNavigation.vue create mode 100644 components/Hero.vue delete mode 100644 components/LocaleSelector.vue delete mode 100644 components/MobileMenuSidebar.vue delete mode 100644 components/MyAccount/BillingAddressForm.vue delete mode 100644 components/MyAccount/ShippingAddressForm.vue create mode 100644 components/NewProducts.vue delete mode 100644 components/NewsletterModal.vue delete mode 100644 components/Products/BundleProductSelector.vue delete mode 100644 components/Products/RelatedProducts.vue delete mode 100644 components/Products/UpsellProducts.vue delete mode 100644 components/SearchResults.vue create mode 100644 components/SkeletonLoader/index.vue delete mode 100644 components/TopBar.vue delete mode 100644 components/UpsellProducts.vue delete mode 100644 components/UserBillingAddress.vue delete mode 100644 components/UserShippingAddress.vue create mode 100644 composables/context.ts create mode 100644 composables/types.ts create mode 100644 composables/useBilling/BillingDetails.ts create mode 100644 composables/useBilling/commands/saveBillingAddressCommand.ts create mode 100644 composables/useBilling/index.ts create mode 100644 composables/useBilling/useBilling.ts create mode 100644 composables/useCart/commands/addItemCommand.ts create mode 100644 composables/useCart/commands/applyCouponCommand.ts create mode 100644 composables/useCart/commands/clearCartCommand.ts create mode 100644 composables/useCart/commands/loadCartCommand.ts create mode 100644 composables/useCart/commands/loadTotalQtyCommand.ts create mode 100644 composables/useCart/commands/removeCouponCommand.ts create mode 100644 composables/useCart/commands/removeItemCommand.ts create mode 100644 composables/useCart/commands/updateItemQtyCommand.ts create mode 100644 composables/useCart/index.ts create mode 100644 composables/useCart/useCart.ts create mode 100644 composables/useConfig/index.ts create mode 100644 composables/useConfig/useConfig.ts create mode 100644 composables/useContent/commands/loadBlocksCommand.ts create mode 100644 composables/useContent/commands/loadContentCommand.ts create mode 100644 composables/useContent/index.ts create mode 100644 composables/useContent/useContent.ts create mode 100644 composables/useCountrySearch/index.ts create mode 100644 composables/useCountrySearch/useCountrySearch.ts create mode 100644 composables/useCurrency/index.ts create mode 100644 composables/useCurrency/useCurrency.ts create mode 100644 composables/useExternalCheckout/index.ts create mode 100644 composables/useExternalCheckout/useExternalCheckout.ts create mode 100644 composables/useFacet/SearchData.ts create mode 100644 composables/useFacet/_utils.ts create mode 100644 composables/useFacet/index.ts create mode 100644 composables/useFacet/useFacet.ts create mode 100644 composables/useGetShippingMethods/commands/getCustomerShippingMethodsCommand.ts create mode 100644 composables/useGetShippingMethods/commands/getGuestShippingMethodsCommand.ts create mode 100644 composables/useGetShippingMethods/index.ts create mode 100644 composables/useGetShippingMethods/useGetShippingMethods.ts create mode 100644 composables/useImage/useImage.ts delete mode 100644 composables/useMagentoConfiguration.ts create mode 100644 composables/useMagentoConfiguration/UseMagentoConfiguration.ts create mode 100644 composables/useMagentoConfiguration/index.ts create mode 100644 composables/useMakeOrder/commands/placeOrderCommand.ts create mode 100644 composables/useMakeOrder/index.ts create mode 100644 composables/useMakeOrder/useMakeOrder.ts create mode 100644 composables/useNewsletter/commands/updateSubscriptionCommand.ts create mode 100644 composables/useNewsletter/index.ts create mode 100644 composables/useNewsletter/useNewsletter.ts create mode 100644 composables/usePaymentProvider/PaymentMethodParams.ts create mode 100644 composables/usePaymentProvider/commands/getAvailablePaymentMethodsCommand.ts create mode 100644 composables/usePaymentProvider/commands/setPaymentMethodOnCartCommand.ts create mode 100644 composables/usePaymentProvider/index.ts create mode 100644 composables/usePaymentProvider/usePaymentProvider.ts create mode 100644 composables/useReview/commands/addReviewCommand.ts create mode 100644 composables/useReview/commands/loadCustomerReviewsCommand.ts create mode 100644 composables/useReview/commands/loadReviewMetadataCommand.ts create mode 100644 composables/useReview/commands/searchReviewsCommand.ts create mode 100644 composables/useReview/index.ts create mode 100644 composables/useReview/useReview.ts create mode 100644 composables/useShipping/index.ts create mode 100644 composables/useShipping/useShipping.ts create mode 100644 composables/useShippingProvider/commands/setShippingMethodsOnCartCommand.ts create mode 100644 composables/useShippingProvider/index.ts create mode 100644 composables/useShippingProvider/useShippingProvider.ts create mode 100644 composables/useStore/index.ts create mode 100644 composables/useStore/useStore.ts create mode 100644 composables/useUiHelpers/Params.ts create mode 100644 composables/useUiHelpers/useUiHelpers.ts create mode 100644 composables/useUiNotification/useUiNotification.ts rename composables/{useUiState.ts => useUiState/index.ts} (65%) create mode 100644 composables/useUiState/useUiState.ts delete mode 100644 composables/useUrlResolver.ts create mode 100644 composables/useUrlResolver/UseUrlResolver.ts create mode 100644 composables/useUrlResolver/index.ts create mode 100644 composables/utils/mask.ts delete mode 100644 config/example.json create mode 100644 getters/_utils.ts create mode 100644 getters/cartGetters.ts create mode 100644 getters/checkoutGetters.ts create mode 100644 getters/facetGetters.ts create mode 100644 getters/index.ts create mode 100644 getters/orderGetters.ts create mode 100644 getters/reviewGetters.ts create mode 100644 getters/storeConfigGetters.ts create mode 100644 getters/storeGetters.ts create mode 100644 getters/types.d.ts create mode 100644 getters/wishlistGetters.ts delete mode 100644 helpers/README.md create mode 100644 helpers/addBasePath.ts delete mode 100644 helpers/category/getCategoryPath.js delete mode 100644 helpers/category/getCategorySearchParameters.js delete mode 100644 helpers/category/index.js create mode 100644 helpers/htmlDecoder.ts create mode 100644 helpers/integrationPlugin/_proxyUtils.ts create mode 100644 helpers/integrationPlugin/context.ts create mode 100644 helpers/integrationPlugin/index.ts create mode 100644 helpers/logger/index.ts create mode 100644 helpers/logger/style.ts create mode 100644 helpers/logger/verbosity.ts delete mode 100644 helpers/magentoConfig/handleChanges.ts delete mode 100644 helpers/product/productData.ts delete mode 100644 layouts/account.vue delete mode 100644 layouts/blank.vue rename middleware/{checkout.js => checkout.ts} (56%) delete mode 100644 middleware/is-authenticated.js create mode 100644 middleware/is-authenticated.ts create mode 100644 modules/GraphQL/types.ts create mode 100644 modules/catalog/category/components/CategoryEmptyResults.vue create mode 100644 modules/catalog/category/components/__tests__/CategoryEmptyResults.spec.ts create mode 100644 modules/catalog/category/components/breadcrumbs/CategoryBreadcrumbs.vue create mode 100644 modules/catalog/category/components/cms/CmsContent.scss create mode 100644 modules/catalog/category/components/cms/CmsContent.vue create mode 100644 modules/catalog/category/components/cms/categoryContent.gql.ts create mode 100644 modules/catalog/category/components/cms/useCategoryContent.ts create mode 100644 modules/catalog/category/components/filters/CategoryFilters.scss create mode 100644 modules/catalog/category/components/filters/CategoryFilters.vue create mode 100644 modules/catalog/category/components/filters/FiltersSidebar/SelectedFilters.vue create mode 100644 modules/catalog/category/components/filters/__tests__/useFilters.spec.ts create mode 100644 modules/catalog/category/components/filters/command/getProductFilterByCategory.gql.ts create mode 100644 modules/catalog/category/components/filters/command/getProductFilterByCategoryCommand.ts create mode 100644 modules/catalog/category/components/filters/renderer/CheckboxType.vue create mode 100644 modules/catalog/category/components/filters/renderer/RadioType.vue create mode 100644 modules/catalog/category/components/filters/renderer/RendererTypesEnum.ts create mode 100644 modules/catalog/category/components/filters/renderer/SwatchColorType.vue create mode 100644 modules/catalog/category/components/filters/renderer/YesNoType.vue create mode 100644 modules/catalog/category/components/filters/useFilters.ts create mode 100644 modules/catalog/category/components/navbar/CategoryNavbar.vue create mode 100644 modules/catalog/category/components/sidebar/MobileCategorySidebar/MobileCategorySidebar.vue create mode 100644 modules/catalog/category/components/sidebar/MobileCategorySidebar/__tests__/logic.spec.ts create mode 100644 modules/catalog/category/components/sidebar/MobileCategorySidebar/logic.ts create mode 100644 modules/catalog/category/components/views/CategoryProductGrid.vue create mode 100644 modules/catalog/category/components/views/CategoryProductList.vue create mode 100644 modules/catalog/category/components/views/__tests__/CategoryProductGrid.spec.ts create mode 100644 modules/catalog/category/components/views/__tests__/CategoryProductList.spec.ts create mode 100644 modules/catalog/category/components/views/__tests__/productsMock.ts create mode 100644 modules/catalog/category/components/views/transition.scss create mode 100644 modules/catalog/category/components/views/useProductsWithCommonCardProps.ts create mode 100644 modules/catalog/category/composables/useCategory/index.ts create mode 100644 modules/catalog/category/composables/useCategory/useCategory.ts create mode 100644 modules/catalog/category/composables/useCategorySearch/index.ts create mode 100644 modules/catalog/category/composables/useCategorySearch/useCategorySearch.ts create mode 100644 modules/catalog/category/config/FiltersConfig.ts create mode 100644 modules/catalog/category/config/__tests__/filtersConfig.spec.ts create mode 100644 modules/catalog/category/config/config.ts create mode 100644 modules/catalog/category/enums/displayModesEnum.ts create mode 100644 modules/catalog/category/helpers/__tests__/findActiveCategory.spec.ts create mode 100644 modules/catalog/category/helpers/__tests__/findCategoryAncestor.spec.ts create mode 100644 modules/catalog/category/helpers/__tests__/useTraverseCategory.spec.ts create mode 100644 modules/catalog/category/helpers/findActiveCategory.ts create mode 100644 modules/catalog/category/helpers/findCategoryAncestors.ts create mode 100644 modules/catalog/category/helpers/useTraverseCategory.ts create mode 100644 modules/catalog/category/types.d.ts create mode 100644 modules/catalog/index.ts create mode 100644 modules/catalog/pages/category.vue rename pages/Product.vue => modules/catalog/pages/product.vue (62%) create mode 100644 modules/catalog/pricing/__tests__/usePrice.spec.ts create mode 100644 modules/catalog/pricing/getPricesQuery.gql.ts create mode 100644 modules/catalog/pricing/usePrice.ts create mode 100644 modules/catalog/product/components/BundleProductSelector.vue rename {components/Products => modules/catalog/product/components}/GroupedProductSelector.vue (58%) rename {components => modules/catalog/product/components}/ProductsCarousel.vue (63%) rename {components => modules/catalog/product/components}/RelatedProducts.vue (50%) create mode 100644 modules/catalog/product/components/UpsellProducts.vue create mode 100644 modules/catalog/product/composables/useProduct/commands/getProductDetailsCommand.ts create mode 100644 modules/catalog/product/composables/useProduct/commands/getProductListCommand.ts create mode 100644 modules/catalog/product/composables/useProduct/index.ts create mode 100644 modules/catalog/product/composables/useProduct/useProduct.ts create mode 100644 modules/catalog/product/composables/useRelatedProducts/index.ts create mode 100644 modules/catalog/product/composables/useRelatedProducts/useRelatedProducts.ts create mode 100644 modules/catalog/product/composables/useUpsellProducts/index.ts create mode 100644 modules/catalog/product/composables/useUpsellProducts/useUpsellProducts.ts create mode 100644 modules/catalog/product/getters/productGetters.ts rename {helpers/product => modules/catalog/product/helpers}/bundleProduct.ts (73%) create mode 100644 modules/catalog/product/types.ts rename {components/MyAccount => modules/customer/components}/AddressForm.vue (92%) rename {components/MyAccount => modules/customer/components}/PasswordResetForm.vue (97%) rename {components/MyAccount => modules/customer/components}/ProfileUpdateForm.vue (84%) create mode 100644 modules/customer/composables/types.d.ts create mode 100644 modules/customer/composables/useAddresses/index.ts create mode 100644 modules/customer/composables/useAddresses/useAddresses.ts create mode 100644 modules/customer/composables/useForgotPassword/index.ts create mode 100644 modules/customer/composables/useForgotPassword/useForgotPassword.ts create mode 100644 modules/customer/composables/useGuestUser/commands/attachToCartCommand.ts create mode 100644 modules/customer/composables/useGuestUser/index.ts create mode 100644 modules/customer/composables/useGuestUser/useGuestUser.ts create mode 100644 modules/customer/composables/useUser/index.ts create mode 100644 modules/customer/composables/useUser/loginStatusPingQuery.gql.ts create mode 100644 modules/customer/composables/useUser/useUser.ts create mode 100644 modules/customer/composables/useUserAddress/commands/createCustomerAddressCommand.ts create mode 100644 modules/customer/composables/useUserAddress/commands/deleteCustomerAddressCommand.ts create mode 100644 modules/customer/composables/useUserAddress/commands/updateCustomerAddressCommand.ts create mode 100644 modules/customer/composables/useUserAddress/index.ts create mode 100644 modules/customer/composables/useUserAddress/useUserAddress.ts create mode 100644 modules/customer/composables/useUserOrder/index.ts create mode 100644 modules/customer/composables/useUserOrder/useUserOrder.ts create mode 100644 modules/customer/getters/addressGetter.ts create mode 100644 modules/customer/getters/forgotPasswordGetters.ts create mode 100644 modules/customer/getters/types.d.ts create mode 100644 modules/customer/getters/userAddressesGetters.ts create mode 100644 modules/customer/getters/userBillingGetters.ts create mode 100644 modules/customer/getters/userGetters.ts create mode 100644 modules/customer/getters/userShippingGetters.ts create mode 100644 modules/customer/helpers/generateUserData.ts rename helpers/customer/regex.ts => modules/customer/helpers/passwordValidation.ts (100%) create mode 100644 modules/customer/helpers/userAddressManipulator.ts create mode 100644 modules/customer/index.ts rename {pages/MyAccount => modules/customer/pages}/AddressesDetails.vue (69%) rename {pages => modules/customer/pages}/MyAccount.vue (62%) rename {pages/MyAccount => modules/customer/pages}/MyNewsletter.vue (92%) rename {pages/MyAccount => modules/customer/pages}/MyProfile.vue (87%) rename {pages/MyAccount => modules/customer/pages}/MyReviews.vue (83%) rename {pages/MyAccount => modules/customer/pages}/MyWishlist.vue (71%) rename {pages/MyAccount => modules/customer/pages}/OrderHistory.vue (93%) create mode 100644 modules/magento/defaultConfig.ts create mode 100644 modules/magento/helpers/index.ts create mode 100644 modules/magento/index.ts create mode 100644 modules/magento/plugin.ts rename {components => modules/theme/components/wishlist}/WishlistSidebar.vue (59%) create mode 100644 modules/theme/index.ts create mode 100644 modules/wishlist/composables/useWishlist/index.ts create mode 100644 modules/wishlist/composables/useWishlist/useWishlist.ts create mode 100644 modules/wishlist/helpers/findItemOnWishlist.ts create mode 100644 modules/wishlist/helpers/productMatch.ts create mode 100644 modules/wishlist/index.ts create mode 100644 modules/wishlist/store/wishlistStore.ts delete mode 100644 pages/Category.vue delete mode 100644 pages/MyAccount/BillingDetails.vue delete mode 100644 pages/MyAccount/ShippingDetails.vue delete mode 100644 pages/Shipping.vue delete mode 100644 plugins/domPurify.js create mode 100644 plugins/graphqlClient.ts create mode 100644 plugins/query/StoreConfig.gql.ts create mode 100644 plugins/storeConfigPlugin.ts delete mode 100644 static/error/error.svg create mode 100644 static/icon.png delete mode 100644 static/icons/empty-cart.svg delete mode 100644 static/icons/logo.svg create mode 100644 stores/category.ts create mode 100644 stores/config.ts create mode 100644 stores/customer.ts create mode 100644 stores/graphql/categoryList.gql.ts create mode 100644 test-utils/mocks/categoryTreeDataMock.ts create mode 100644 test-utils/mocks/useUiHelpersMock.ts create mode 100644 tests/e2e/tsconfig.json create mode 100644 tsconfig.spec.json create mode 100644 types/core.ts create mode 100644 types/shims-vue.d.ts diff --git a/.env.example b/.env.example index 5ef8ad1..49567a8 100644 --- a/.env.example +++ b/.env.example @@ -1,27 +1,29 @@ -STORE_ENV=dev -STORE_URL=http://localhost:3000 -NUXT_APP_ENV=development -NUXT_APP_PORT=3000 -MAGENTO_GRAPHQL=https://{YOUR_SITE_FRONT_URL}/graphql -MAGENTO_EXTERNAL_CHECKOUT=false -MAGENTO_EXTERNAL_CHECKOUT_URL=https://{YOUR_SITE_FRONT_URL} -MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH=/vue/cart/sync -MAGENTO_BASE_URL={YOUR_SITE_FRONT_URL} -IMAGE_PROVIDER={YOUR_IMAGE_PROVIDER} -IMAGE_PROVIDER_BASE_URL={YOUR_IMAGE_PROVIDER_BASE_URL} -MAGENTO_BASE_URL={YOUR_SITE_FRONT_URL} -IMAGE_PROVIDER={YOUR_IMAGE_PROVIDER} -IMAGE_PROVIDER_BASE_URL={YOUR_IMAGE_PROVIDER_BASE_URL} -REDIS__HOST=127.0.0.1 -REDIS__PORT=6379 -REDIS_PASSWORD= -REDIS__KEY_PREFIX= -REDIS__CACHE_INVALIDATE_URL=/cache-invalidate -REDIS__ENABLED=false -RECAPTCHA_ENABLED=true -RECAPTCHA_HIDE_BADGE=false -RECAPTCHA_VERSION=3 -RECAPTCHA_SITE_KEY= -RECAPTCHA_SECRET_KEY= -RECAPTCHA_SIZE=invisible -RECAPTCHA_MIN_SCORE=0.5 +VSF_NUXT_APP_ENV=development +VSF_NUXT_APP_PORT=3000 + +VSF_STORE_URL=http://localhost:3000 + +VSF_MAGENTO_BASE_URL={YOUR_SITE_FRONT_URL} +VSF_MAGENTO_GRAPHQL_URL=https://{YOUR_SITE_FRONT_URL}/graphql + +VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED=false +VSF_MAGENTO_EXTERNAL_CHECKOUT_URL=https://{YOUR_SITE_FRONT_URL} +VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH=/vue/cart/sync + +VSF_IMAGE_PROVIDER=cloudinary +VSF_IMAGE_PROVIDER_BASE_URL=https://res-4.cloudinary.com/{YOUR_ID}/image/upload/ +VSF_IMAGE_PROVIDER_DOMAIN=https://res-4.cloudinary.com + +VSF_REDIS_ENABLED=false +VSF_REDIS_HOST=127.0.0.1 +VSF_REDIS_PORT=6379 +VSF_REDIS_KEY_PREFIX= +VSF_REDIS_CACHE_INVALIDATE_URL=/cache-invalidate + +VSF_RECAPTCHA_ENABLED=false +VSF_RECAPTCHA_SITE_KEY= +VSF_RECAPTCHA_SECRET_KEY= +VSF_RECAPTCHA_HIDE_BADGE= +VSF_RECAPTCHA_SIZE=invisible +VSF_RECAPTCHA_MIN_SCORE=0.5 +VSF_RECAPTCHA_VERSION=3 diff --git a/.gitignore b/.gitignore index 0751876..a9a70a5 100644 --- a/.gitignore +++ b/.gitignore @@ -93,6 +93,5 @@ sw.* *.swp version -.env -!config/example.json -config/*.json +.env.* +!.env.example diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/README.md b/README.md index 348d406..c5247cf 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,6 @@    -### Stay connected - -[![GitHub Repo stars](https://img.shields.io/github/stars/vuestorefront/vue-storefront?style=social)](https://github.com/vuestorefront/vue-storefront) -[![Twitter Follow](https://img.shields.io/twitter/follow/vuestorefront?style=social)](https://twitter.com/vuestorefront) -[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCkm1F3Cglty3CE1QwKQUhhg?style=social)](https://www.youtube.com/c/VueStorefront) -[![Discord](https://img.shields.io/discord/770285988244750366?label=join%20discord&logo=Discord&logoColor=white)](https://discord.vuestorefront.io) - -[![All Contributors](https://img.shields.io/badge/all_contributors-19-orange.svg?style=flat-square)](#contributors-) - - # Magento 2.x theme ### Vue Storefront 2 integration with Magento @@ -109,5 +99,4 @@ Thanks go to these wonderful people 🙌: - This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/components/AppFooter.vue b/components/AppFooter.vue index 1594992..1a0b304 100644 --- a/components/AppFooter.vue +++ b/components/AppFooter.vue @@ -72,7 +72,7 @@ import { SfFooter, SfList, SfImage, SfMenuItem, } from '@storefront-ui/vue'; -import { addBasePath } from '@vue-storefront/core'; +import { addBasePath } from '~/helpers/addBasePath'; export default { components: { diff --git a/components/AppHeader.vue b/components/AppHeader.vue index caf4820..0c279e3 100644 --- a/components/AppHeader.vue +++ b/components/AppHeader.vue @@ -2,23 +2,14 @@
-