@evershop/evershop 1.0.0 → 1.2.0
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/bin/build/client/index.js +1 -1
- package/bin/build/complie.js +1 -1
- package/bin/build/index.js +25 -1
- package/bin/build/server/index.js +1 -1
- package/bin/build/server/useDDL.js +1 -1
- package/bin/dev/index.js +2 -1
- package/bin/evershop +8 -7
- package/bin/extension/index.js +3 -3
- package/bin/install/index.js +1 -1
- package/bin/lib/addDefaultMiddlewareFuncs.js +9 -4
- package/bin/lib/app.js +1 -1
- package/bin/lib/bootstrap/migrate.js +1 -1
- package/bin/lib/buildEntry.js +16 -1
- package/bin/lib/onError.js +1 -1
- package/bin/lib/onListening.js +7 -4
- package/bin/lib/startUp.js +16 -9
- package/bin/lib/watch/watchComponents.js +16 -26
- package/bin/lib/watch/watchMF.js +1 -1
- package/bin/lib/watch/watchMR.js +1 -1
- package/bin/lib/watch/watchSchema.js +1 -1
- package/bin/user/changePassword.js +1 -1
- package/bin/user/create.js +1 -1
- package/package.json +10 -2
- package/src/components/admin/catalog/productEdit/category/CategoryItem.jsx +3 -8
- package/src/components/admin/catalog/productEdit/category/CategoryTree.jsx +15 -8
- package/src/components/admin/catalog/productEdit/category/CategoryTree.scss +10 -0
- package/src/components/admin/catalog/productEdit/variants/CreateVariant.jsx +2 -2
- package/src/components/admin/catalog/productEdit/variants/CreateVariantGroup.jsx +4 -9
- package/src/components/admin/catalog/productEdit/variants/EditVariant.jsx +1 -1
- package/src/components/admin/catalog/productEdit/variants/New.jsx +2 -2
- package/src/components/admin/catalog/productEdit/variants/Search.jsx +1 -1
- package/src/components/admin/catalog/productEdit/variants/SearchModal.jsx +1 -1
- package/src/components/admin/catalog/productEdit/variants/Variant.jsx +1 -1
- package/src/components/admin/catalog/productEdit/variants/VariantModal.jsx +68 -12
- package/src/components/admin/catalog/productEdit/variants/Variants.jsx +1 -1
- package/src/components/admin/catalog/productGrid/rows/ThumbnailRow.jsx +1 -1
- package/src/components/admin/checkout/shippingSetting/Method.jsx +130 -0
- package/src/components/admin/{oms → checkout}/shippingSetting/MethodForm.jsx +127 -16
- package/src/components/admin/{oms → checkout}/shippingSetting/Methods.jsx +5 -5
- package/src/components/admin/checkout/shippingSetting/PriceBasedPrice.jsx +101 -0
- package/src/components/admin/checkout/shippingSetting/WeightBasedPrice.jsx +101 -0
- package/src/components/admin/{oms → checkout}/shippingSetting/Zone.jsx +40 -10
- package/src/components/admin/{oms → checkout}/shippingSetting/ZoneForm.jsx +1 -1
- package/src/components/admin/{oms → checkout}/shippingSetting/Zones.jsx +6 -3
- package/src/components/admin/cms/Card.jsx +3 -3
- package/src/components/admin/cms/PageHeading.jsx +3 -3
- package/src/components/admin/cms/widget/WidgetTypes.jsx +28 -0
- package/src/components/admin/cms/widget/grid/WidgetTypeRow.jsx +29 -0
- package/src/components/admin/oms/orderEdit/items/ItemVariantOptions.jsx +1 -1
- package/src/components/admin/oms/orderEdit/items/Name.jsx +1 -1
- package/src/components/admin/oms/orderGrid/headers/OrderDateColumnHeader.jsx +1 -1
- package/src/components/admin/promotion/couponEdit/AttributeGroupSelector.jsx +8 -8
- package/src/components/admin/promotion/couponEdit/BuyXGetY.jsx +2 -2
- package/src/components/admin/promotion/couponEdit/CategorySelector.jsx +10 -10
- package/src/components/admin/promotion/couponEdit/CollectionSelector.jsx +8 -8
- package/src/components/admin/promotion/couponEdit/ProductSkuSelector.jsx +30 -9
- package/src/components/admin/promotion/couponEdit/RequireProducts.jsx +2 -2
- package/src/components/admin/promotion/couponEdit/Setting.jsx +1 -1
- package/src/components/admin/promotion/couponEdit/TargetProducts.jsx +4 -4
- package/src/components/admin/tax/taxSetting/Rate.jsx +6 -6
- package/src/components/admin/tax/taxSetting/RateForm.jsx +5 -5
- package/src/components/admin/tax/taxSetting/Rates.jsx +6 -6
- package/src/components/admin/tax/taxSetting/TaxClass.jsx +3 -3
- package/src/components/admin/tax/taxSetting/TaxClassForm.jsx +1 -1
- package/src/components/admin/widgets/BasicMenuSetting.jsx +614 -0
- package/src/components/admin/widgets/BasicMenuSetting.scss +19 -0
- package/src/components/admin/widgets/CollectionProductsSetting.jsx +203 -0
- package/src/components/admin/widgets/TextBlockSetting.jsx +70 -0
- package/src/components/common/Area.jsx +31 -8
- package/src/components/common/Badge.jsx +1 -1
- package/src/components/common/Editor.jsx +191 -0
- package/src/components/common/Notification.scss +1 -0
- package/src/components/common/SimplePagination.jsx +2 -2
- package/src/components/common/context/checkout.jsx +8 -14
- package/src/components/common/form/Field.jsx +1 -1
- package/src/components/common/form/Form.jsx +1 -1
- package/src/components/common/form/fields/Checkbox.jsx +1 -1
- package/src/components/common/form/fields/Ckeditor.jsx +11 -11
- package/src/components/common/form/fields/Editor.jsx +326 -0
- package/src/components/common/form/fields/Editor.scss +29 -0
- package/src/components/common/form/fields/Input.jsx +2 -1
- package/src/components/common/form/fields/Radio.jsx +1 -1
- package/src/components/common/form/fields/editor/FileBrowser.jsx +419 -0
- package/src/components/common/form/fields/editor/FileBrowser.scss +37 -0
- package/src/components/common/form/fields/editor/GetColumnClasses.jsx +14 -0
- package/src/components/common/form/fields/editor/GetRowClasses.jsx +18 -0
- package/src/components/common/form/fields/editor/RowTemplates.jsx +154 -0
- package/src/components/common/form/validator.js +6 -2
- package/src/components/common/grid/Pagination.jsx +4 -4
- package/src/components/common/grid/headers/Dummy.jsx +1 -1
- package/src/components/common/grid/headers/FromTo.jsx +1 -1
- package/src/components/common/grid/headers/Sortable.jsx +148 -0
- package/src/components/common/grid/rows/StatusRow.jsx +1 -1
- package/src/components/common/grid/rows/ThumbnailRow.jsx +1 -1
- package/src/components/common/list/Filter.jsx +83 -0
- package/src/components/common/list/Filter.scss +39 -0
- package/src/components/common/modal/Alert.jsx +1 -1
- package/src/components/common/modal/Modal.jsx +1 -1
- package/src/components/frontStore/catalog/categoryView/filter/AttributeFilter.jsx +21 -7
- package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.jsx +61 -53
- package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.scss +5 -0
- package/src/components/frontStore/catalog/categoryView/filter/PriceFilter.jsx +20 -11
- package/src/components/frontStore/catalog/product/list/List.jsx +4 -4
- package/src/components/frontStore/catalog/product/list/Pagination.jsx +1 -1
- package/src/components/frontStore/catalog/product/list/SortOptions.jsx +4 -2
- package/src/components/frontStore/catalog/product/list/Sorting.jsx +7 -7
- package/src/components/frontStore/catalog/product/list/item/Name.jsx +1 -1
- package/src/components/frontStore/checkout/cart/Empty.jsx +3 -3
- package/src/components/frontStore/checkout/cart/items/ItemOptions.jsx +1 -1
- package/src/components/frontStore/checkout/cart/items/ItemVariantOptions.jsx +1 -1
- package/src/components/frontStore/checkout/cart/items/Items.jsx +20 -21
- package/src/components/frontStore/checkout/cart/items/Items.scss +47 -0
- package/src/components/frontStore/checkout/cart/items/Quantity.jsx +154 -0
- package/src/components/frontStore/checkout/checkout/StepTitle.jsx +1 -1
- package/src/components/frontStore/checkout/checkout/payment/paymentStep/StepContent.jsx +13 -10
- package/src/components/frontStore/checkout/checkout/shipment/StepContent.jsx +1 -1
- package/src/components/frontStore/checkout/checkout/summary/Cart.jsx +10 -12
- package/src/components/frontStore/checkout/checkout/summary/Items.jsx +9 -9
- package/src/components/frontStore/checkout/checkout/summary/cart/Total.jsx +6 -6
- package/src/components/frontStore/checkout/success/summary/items/ItemOptions.jsx +1 -1
- package/src/components/frontStore/checkout/success/summary/items/Items.jsx +9 -6
- package/src/components/frontStore/checkout/success/summary/order/OrderSummary.jsx +9 -13
- package/src/components/frontStore/checkout/success/summary/order/Total.jsx +5 -5
- package/src/components/frontStore/customer/address/addressForm/AddressFormLoadingSkeleton.jsx +2 -2
- package/src/components/frontStore/customer/address/addressForm/NameAndTelephone.jsx +1 -1
- package/src/components/frontStore/customer/address/addressForm/ProvinceAndPostcode.jsx +1 -1
- package/src/components/frontStore/customer/checkout/Edit.jsx +2 -2
- package/src/components/frontStore/customer/detail/Order.jsx +4 -4
- package/src/components/frontStore/stripe/checkout/CheckoutForm.jsx +9 -5
- package/src/components/frontStore/stripe/checkout/TestCards.jsx +1 -1
- package/src/components/frontStore/widgets/BasicMenu.jsx +129 -0
- package/src/{modules/catalog/pages/frontStore/homepage/FeaturedProducts.jsx → components/frontStore/widgets/CollectionProducts.jsx} +40 -32
- package/src/components/frontStore/widgets/TextBlock.jsx +46 -0
- package/src/lib/componee/getComponentsByRoute.js +15 -2
- package/src/lib/event/callSubscibers.js +14 -11
- package/src/lib/event/event-manager.js +2 -2
- package/src/lib/event/loadSubscribers.js +2 -2
- package/src/lib/helpers.js +3 -1
- package/src/lib/log/CustomColorize.js +22 -0
- package/src/lib/log/logger.js +153 -19
- package/src/lib/middleware/Handler.js +2 -3
- package/src/lib/middleware/async.js +5 -9
- package/src/lib/middleware/sync.js +5 -10
- package/src/lib/middleware/tests/app/app.js +1 -1
- package/src/lib/middleware/tests/app/modules/404page/pages/frontStore/product/route.json +2 -1
- package/src/lib/middlewares/static.js +3 -1
- package/src/lib/response/render.js +5 -6
- package/src/lib/router/Router.js +1 -1
- package/src/lib/router/buildAbsoluteUrl.js +1 -1
- package/src/lib/router/loadModuleRoutes.js +3 -0
- package/src/lib/router/registerAdminRoute.js +9 -1
- package/src/lib/router/registerFrontStoreRoute.js +2 -0
- package/src/lib/router/scanForRoutes.js +1 -0
- package/src/lib/router/tests/unit/unit.validateRoute.test.js +7 -1
- package/src/lib/util/buildFilterFromUrl.js +31 -64
- package/src/lib/util/defaultPaginationFilters.js +104 -0
- package/src/lib/util/filterOperationMapp.js +16 -0
- package/src/lib/util/getEnabledWidgets.js +28 -0
- package/src/lib/util/merge.js +67 -14
- package/src/lib/util/registry.js +44 -6
- package/src/lib/util/tests/unit/util.merge.test.js +21 -4
- package/src/lib/util/validateConfiguration.js +83 -0
- package/src/lib/webpack/createBaseConfig.js +4 -1
- package/src/lib/webpack/dev/createConfigClient.js +12 -2
- package/src/lib/webpack/loaders/AreaLoader.js +15 -4
- package/src/lib/webpack/loaders/loadTranslationFromCsv.js +1 -1
- package/src/lib/webpack/plugins/Tailwindcss.js +1 -1
- package/src/lib/webpack/util/parseGraphql.js +29 -16
- package/src/lib/webpack/util/parseGraphqlByFile.js +16 -2
- package/src/modules/auth/graphql/types/AdminUser/AdminUser.admin.resolvers.js +6 -6
- package/src/modules/auth/pages/admin/adminLogin/LoginForm.jsx +55 -36
- package/src/modules/auth/pages/admin/all/AdminUser.jsx +3 -3
- package/src/modules/base/api/global/[apiResponse]apiErrorHandler.js +2 -2
- package/src/modules/base/bootstrap.js +79 -0
- package/src/modules/base/graphql/types/Route/Route.admin.graphql +15 -0
- package/src/modules/base/graphql/types/Route/Route.admin.resolvers.js +10 -0
- package/src/modules/base/pages/global/[response]errorHandler.js +2 -2
- package/src/modules/base/pages/global/response[errorHandler].js +23 -0
- package/src/modules/catalog/api/addProductToCategory/addProducts.js +1 -1
- package/src/modules/catalog/api/addProductToCollection/addProducts.js +35 -22
- package/src/modules/catalog/api/removeProductFromCollection/removeProducts.js +20 -5
- package/src/modules/catalog/bootstrap.js +188 -5
- package/src/modules/catalog/graphql/types/Attribute/Attribute.admin.graphql +2 -2
- package/src/modules/catalog/graphql/types/Attribute/Attribute.admin.resolvers.js +48 -276
- package/src/modules/catalog/graphql/types/Category/Category.graphql +19 -5
- package/src/modules/catalog/graphql/types/Category/Category.resolvers.js +36 -2
- package/src/modules/catalog/graphql/types/Collection/Collection.graphql +2 -2
- package/src/modules/catalog/graphql/types/Collection/Collection.resolvers.js +36 -2
- package/src/modules/catalog/graphql/types/Product/Attribute/ProductAttribute.resolvers.js +1 -0
- package/src/modules/catalog/graphql/types/Product/Product.graphql +1 -1
- package/src/modules/catalog/graphql/types/Product/Product.resolvers.js +35 -1
- package/src/modules/catalog/graphql/types/Product/Variant/Variant.graphql +2 -2
- package/src/modules/catalog/graphql/types/Product/Variant/Variant.resolvers.js +68 -92
- package/src/modules/catalog/graphql/types/Widget/CollectionProductsWidget/CollectionProductsWidget.graphql +11 -0
- package/src/modules/catalog/graphql/types/Widget/CollectionProductsWidget/CollectionProductsWidget.resolvers.js +8 -0
- package/src/modules/catalog/migration/Version-1.0.0.js +1 -0
- package/src/modules/catalog/migration/Version-1.0.7.js +10 -0
- package/src/modules/catalog/pages/admin/attributeEdit+attributeNew/FormContent.jsx +4 -4
- package/src/modules/catalog/pages/admin/attributeEdit+attributeNew/General.jsx +18 -14
- package/src/modules/catalog/pages/admin/attributeGrid/Grid.jsx +84 -41
- package/src/modules/catalog/pages/admin/attributeGrid/index.js +1 -1
- package/src/modules/catalog/pages/admin/categoryEdit/Products.jsx +9 -9
- package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/FormContent.jsx +4 -4
- package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/General.jsx +16 -18
- package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/Image.jsx +1 -2
- package/src/modules/catalog/pages/admin/categoryEdit+categoryNew/Status.jsx +16 -1
- package/src/modules/catalog/pages/admin/categoryGrid/Grid.jsx +50 -18
- package/src/modules/catalog/pages/admin/categoryGrid/index.js +1 -1
- package/src/modules/catalog/pages/admin/collectionEdit/Products.jsx +9 -9
- package/src/modules/catalog/pages/admin/collectionEdit+collectionNew/FormContent.jsx +2 -2
- package/src/modules/catalog/pages/admin/collectionEdit+collectionNew/General.jsx +2 -2
- package/src/modules/catalog/pages/admin/collectionGrid/Grid.jsx +48 -7
- package/src/modules/catalog/pages/admin/collectionGrid/index.js +1 -1
- package/src/modules/catalog/pages/admin/productEdit/Collection.jsx +7 -7
- package/src/modules/catalog/pages/admin/productEdit+productNew/Attributes.jsx +29 -25
- package/src/modules/catalog/pages/admin/productEdit+productNew/CustomOptions.jsss +4 -4
- package/src/modules/catalog/pages/admin/productEdit+productNew/FormContent.jsx +4 -4
- package/src/modules/catalog/pages/admin/productEdit+productNew/General.jsx +15 -17
- package/src/modules/catalog/pages/admin/productGrid/Grid.jsx +160 -28
- package/src/modules/catalog/pages/admin/productGrid/index.js +1 -2
- package/src/modules/catalog/pages/frontStore/all/SearchBox.jsx +2 -1
- package/src/modules/catalog/pages/frontStore/catalogSearch/General.jsx +2 -2
- package/src/modules/catalog/pages/frontStore/catalogSearch/Products.jsx +1 -1
- package/src/modules/catalog/pages/frontStore/catalogSearch/[index]filters.js +4 -59
- package/src/modules/catalog/pages/frontStore/catalogSearch/index.js +11 -0
- package/src/modules/catalog/pages/frontStore/catalogSearch/route.json +2 -1
- package/src/modules/catalog/pages/frontStore/categoryView/CategoryView.jsx +19 -2
- package/src/modules/catalog/pages/frontStore/categoryView/Filter.jsx +22 -6
- package/src/modules/catalog/pages/frontStore/categoryView/Filter.scss +3 -0
- package/src/modules/catalog/pages/frontStore/categoryView/General.jsx +6 -8
- package/src/modules/catalog/pages/frontStore/categoryView/General.scss +0 -2
- package/src/modules/catalog/pages/frontStore/categoryView/Pagination.jsx +6 -0
- package/src/modules/catalog/pages/frontStore/categoryView/Products.jsx +8 -1
- package/src/modules/catalog/pages/frontStore/categoryView/[index]filters.js +5 -105
- package/src/modules/catalog/pages/frontStore/categoryView/route.json +2 -1
- package/src/modules/catalog/pages/frontStore/productView/Description.jsx +3 -3
- package/src/modules/catalog/pages/frontStore/productView/Form.jsx +12 -7
- package/src/modules/catalog/pages/frontStore/productView/Form.scss +1 -0
- package/src/modules/catalog/pages/frontStore/productView/GeneralInfo.jsx +1 -1
- package/src/modules/catalog/pages/frontStore/productView/Images.jsx +1 -1
- package/src/modules/catalog/pages/frontStore/productView/Layout.jsx +1 -1
- package/src/modules/catalog/pages/frontStore/productView/Options.jsx +2 -2
- package/src/modules/catalog/pages/frontStore/productView/Variants.jsx +106 -44
- package/src/modules/catalog/pages/frontStore/productView/route.json +2 -1
- package/src/modules/catalog/services/AttributeCollection.js +59 -0
- package/src/modules/catalog/services/AttributeGroupCollection.js +100 -0
- package/src/modules/catalog/services/CategoryCollection.js +26 -83
- package/src/modules/catalog/services/CollectionCollection.js +23 -71
- package/src/modules/catalog/services/ProductCollection.js +50 -216
- package/src/modules/catalog/services/attribute/deleteProductAttribute.js +15 -0
- package/src/modules/catalog/services/getAttributeGroupsBaseQuery.js +3 -0
- package/src/modules/catalog/services/getAttributesBaseQuery.js +3 -0
- package/src/modules/catalog/services/getCollectionsBaseQuery.js +0 -1
- package/src/modules/catalog/services/product/updateProduct.js +8 -2
- package/src/modules/catalog/services/registerCartItemProductUrlField.js +35 -0
- package/src/modules/catalog/services/registerCartItemVariantOptionsField.js +51 -0
- package/src/modules/catalog/services/registerDefaultAttributeCollectionFilters.js +149 -0
- package/src/modules/catalog/services/registerDefaultCategoryCollectionFilters.js +101 -0
- package/src/modules/catalog/services/registerDefaultCollectionCollectionFilters.js +65 -0
- package/src/modules/catalog/services/registerDefaultProductCollectionFilters.js +219 -0
- package/src/modules/catalog/subscribers/category_created/buildUrlRewrite.js +1 -1
- package/src/modules/catalog/subscribers/category_deleted/deleteUrlRewrite.js +1 -1
- package/src/modules/catalog/subscribers/category_updated/builUrlRewrite.js +1 -1
- package/src/modules/catalog/subscribers/product_created/builUrlRewrite.js +1 -1
- package/src/modules/catalog/subscribers/product_deleted/deleteUrlRewrite.js +1 -1
- package/src/modules/catalog/subscribers/product_image_added/localGenerateProductImageVariant.js +3 -3
- package/src/modules/checkout/api/addCartShippingMethod/saveShippingMethod.js +6 -1
- package/src/modules/checkout/api/addShippingNote/[context]bodyParser[auth].js +5 -0
- package/src/modules/checkout/api/addShippingNote/payloadSchema.json +15 -0
- package/src/modules/checkout/api/addShippingNote/route.json +5 -0
- package/src/modules/checkout/api/addShippingNote/saveShippingNote.js +50 -0
- package/src/modules/checkout/api/createCart/[context]bodyParser[auth].js +5 -0
- package/src/modules/checkout/api/createCart/createNewCart.js +119 -0
- package/src/modules/checkout/api/createCart/payloadSchema.json +44 -0
- package/src/modules/checkout/api/createCart/route.json +5 -0
- package/src/modules/checkout/api/deleteShippingZone/deleteShippingZone.js +58 -0
- package/src/modules/checkout/api/deleteShippingZone/route.json +5 -0
- package/src/modules/checkout/api/deleteShippingZoneMethod/deleteShippingZoneMethod.js +85 -0
- package/src/modules/checkout/api/deleteShippingZoneMethod/route.json +5 -0
- package/src/modules/checkout/api/getShippingMethods/sendMethods.js +37 -0
- package/src/modules/checkout/api/updateCartItemQty/[bodyParser]updateQty.js +49 -0
- package/src/modules/checkout/api/updateCartItemQty/[context]bodyParser[auth].js +5 -0
- package/src/modules/checkout/api/updateCartItemQty/payloadSchema.json +21 -0
- package/src/modules/checkout/api/updateCartItemQty/route.json +5 -0
- package/src/modules/checkout/api/updateMineCartItemQty/[context]bodyParser[auth].js +5 -0
- package/src/modules/checkout/api/updateMineCartItemQty/[detectCurrentCart]updateQty.js +51 -0
- package/src/modules/checkout/api/updateMineCartItemQty/[getCurrentCustomer]detectCurrentCart.js +32 -0
- package/src/modules/checkout/api/updateMineCartItemQty/payloadSchema.json +21 -0
- package/src/modules/checkout/api/updateMineCartItemQty/route.json +5 -0
- package/src/modules/checkout/api/updateShippingMethod/[context]borderParser[auth].js +5 -0
- package/src/modules/checkout/api/updateShippingMethod/payloadSchema.json +12 -0
- package/src/modules/checkout/api/updateShippingMethod/route.json +5 -0
- package/src/modules/checkout/api/updateShippingMethod/updateShippingMethod.js +64 -0
- package/src/modules/checkout/api/updateShippingZoneMethod/payloadSchema.json +43 -1
- package/src/modules/checkout/api/updateShippingZoneMethod/updateShippingZoneMethod.js +17 -3
- package/src/modules/checkout/bootstrap.js +28 -1
- package/src/modules/checkout/graphql/types/Cart/Cart.graphql +22 -3
- package/src/modules/checkout/graphql/types/Cart/Cart.resolvers.js +18 -2
- package/src/modules/checkout/graphql/types/CheckoutSetting/CheckoutSetting.graphql +3 -0
- package/src/modules/checkout/graphql/types/CheckoutSetting/CheckoutSetting.resolvers.js +7 -0
- package/src/modules/checkout/graphql/types/ShippingMethod/ShippingMethod.graphql +1 -0
- package/src/modules/checkout/graphql/types/ShippingMethod/ShippingMethod.resolvers.js +4 -0
- package/src/modules/checkout/graphql/types/ShippingZone/ShippingZone.graphql +21 -1
- package/src/modules/checkout/graphql/types/ShippingZone/ShippingZone.resolvers.js +34 -4
- package/src/modules/checkout/graphql/types/Weight/Weight.resolvers.js +8 -11
- package/src/modules/checkout/migration/Version-1.0.0.js +14 -0
- package/src/modules/checkout/migration/Version-1.0.5.js +28 -0
- package/src/modules/checkout/migration/Version-1.0.6.js +201 -0
- package/src/modules/{oms → checkout}/pages/admin/shippingSetting/ShippingSetting.jsx +67 -44
- package/src/modules/checkout/pages/frontStore/all/[auth]addCustomerToCart.js +3 -3
- package/src/modules/checkout/pages/frontStore/all/[context]detectCurrentCart[auth].js +5 -0
- package/src/modules/checkout/pages/frontStore/cart/ShoppingCart.jsx +17 -8
- package/src/modules/checkout/pages/frontStore/cart/Summary.jsx +18 -19
- package/src/modules/checkout/pages/frontStore/cart/route.json +2 -1
- package/src/modules/checkout/pages/frontStore/checkout/Checkout.jsx +5 -5
- package/src/modules/checkout/pages/frontStore/checkout/Checkout.scss +4 -0
- package/src/modules/checkout/pages/frontStore/checkout/PaymentStep.jsx +3 -2
- package/src/modules/checkout/pages/frontStore/checkout/ShippingMethods.jsx +25 -12
- package/src/modules/checkout/pages/frontStore/checkout/ShippingNote.jsx +105 -0
- package/src/modules/checkout/pages/frontStore/checkout/Summary.jsx +14 -14
- package/src/modules/checkout/pages/frontStore/checkout/SummaryMobile.jsx +129 -0
- package/src/modules/checkout/pages/frontStore/checkout/SummaryMobile.scss +7 -0
- package/src/modules/checkout/pages/frontStore/checkout/route.json +2 -1
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/CheckoutSuccess.jsx +1 -1
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/CheckoutSuccess.scss +4 -0
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/CustomerInfo.jsx +30 -32
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/ShippingNote.jsx +47 -0
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/Summary.jsx +12 -15
- package/src/modules/checkout/pages/frontStore/checkoutSuccess/route.json +2 -1
- package/src/modules/checkout/services/cart/Cart.js +41 -21
- package/src/modules/checkout/services/cart/DataObject.js +3 -3
- package/src/modules/checkout/services/cart/registerCartBaseFields.js +165 -41
- package/src/modules/checkout/services/cart/registerCartItemBaseFields.js +300 -373
- package/src/modules/checkout/services/toPrice.js +1 -1
- package/src/modules/checkout/tests/basicSetup.js +85 -0
- package/src/modules/checkout/tests/coupons.js +82 -0
- package/src/modules/checkout/tests/products.js +67 -0
- package/src/modules/checkout/tests/taxRates.js +3 -0
- package/src/modules/checkout/tests/unit/discountAmount.test.js +60 -0
- package/src/modules/checkout/tests/unit/grandTotal.test.js +83 -0
- package/src/modules/checkout/tests/unit/lineTotal.test.js +90 -0
- package/src/modules/checkout/tests/unit/lineTotalWithDiscount.test.js +103 -0
- package/src/modules/checkout/tests/unit/productPrice.test.js +67 -0
- package/src/modules/checkout/tests/unit/subTotal.test.js +85 -0
- package/src/modules/checkout/tests/unit/subTotalWithDiscount.test.js +117 -0
- package/src/modules/checkout/tests/unit/taxAmount.test.js +67 -0
- package/src/modules/checkout/tests/unit/taxAmountRounding.test.js +277 -0
- package/src/modules/cms/api/createWidget/[context]bodyParser[auth].js +5 -0
- package/src/modules/cms/api/createWidget/createWidget[finish].js +17 -0
- package/src/modules/cms/api/createWidget/finish[apiResponse].js +27 -0
- package/src/modules/cms/api/createWidget/payloadSchema.json +18 -0
- package/src/modules/cms/api/createWidget/route.json +5 -0
- package/src/modules/cms/api/deleteWidget/deleteWidget.js +27 -0
- package/src/modules/cms/api/deleteWidget/route.json +5 -0
- package/src/modules/cms/api/updateWidget/[context]bodyParser[auth].js +5 -0
- package/src/modules/cms/api/updateWidget/finish[apiResponse].js +27 -0
- package/src/modules/cms/api/updateWidget/payloadSchema.json +18 -0
- package/src/modules/cms/api/updateWidget/route.json +5 -0
- package/src/modules/cms/api/updateWidget/updateWidget[finish].js +17 -0
- package/src/modules/cms/bootstrap.js +239 -2
- package/src/modules/cms/graphql/types/CmsPage/CmsPage.graphql +1 -2
- package/src/modules/cms/graphql/types/CmsPage/CmsPage.resolvers.js +37 -12
- package/src/modules/cms/graphql/types/Widget/Widget.graphql +91 -0
- package/src/modules/cms/graphql/types/Widget/Widget.resolvers.js +142 -0
- package/src/modules/cms/migration/Version-1.1.0.js +22 -0
- package/src/modules/cms/migration/Version-1.1.1.js +103 -0
- package/src/modules/cms/pages/admin/adminNotFound/NotFound.jsx +4 -4
- package/src/modules/cms/pages/admin/all/CmsMenuGroup.jsx +12 -4
- package/src/modules/cms/pages/admin/all/Layout.scss +3 -2
- package/src/modules/cms/pages/admin/all/Notification.scss +1 -1
- package/src/modules/cms/pages/admin/all/SearchBox.jsx +1 -1
- package/src/modules/cms/pages/admin/all/search/NoResult.jsx +2 -2
- package/src/modules/cms/pages/admin/all/search/Results.jsx +3 -3
- package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/FormContent.jsx +7 -9
- package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/General.jsx +3 -3
- package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/Seo.jsx +1 -1
- package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/Status.jsx +40 -0
- package/src/modules/cms/pages/admin/cmsPageGrid/Grid.jsx +64 -12
- package/src/modules/cms/pages/admin/cmsPageGrid/index.js +1 -2
- package/src/modules/cms/pages/admin/dashboard/Layout.jsx +3 -3
- package/src/modules/cms/pages/admin/widgetEdit/WidgetForm.jsx +52 -0
- package/src/modules/cms/pages/admin/widgetEdit/index.js +36 -0
- package/src/modules/cms/pages/admin/widgetEdit/route.json +4 -0
- package/src/modules/cms/pages/admin/widgetEdit+widgetNew/FormContent.jsx +69 -0
- package/src/modules/cms/pages/admin/widgetEdit+widgetNew/FormContent.scss +7 -0
- package/src/modules/cms/pages/admin/widgetEdit+widgetNew/General.jsx +185 -0
- package/src/modules/cms/pages/admin/widgetEdit+widgetNew/PageHeading.jsx +37 -0
- package/src/modules/cms/pages/admin/widgetEdit+widgetNew/Setting.jsx +55 -0
- package/src/modules/cms/pages/admin/widgetGrid/Grid.jsx +415 -0
- package/src/modules/cms/pages/admin/widgetGrid/Heading.jsx +11 -0
- package/src/modules/cms/pages/admin/widgetGrid/NewWidgetButton.jsx +52 -0
- package/src/modules/cms/pages/admin/widgetGrid/index.js +15 -0
- package/src/modules/cms/pages/admin/widgetGrid/route.json +4 -0
- package/src/modules/cms/pages/admin/widgetNew/WidgetNewForm.jsx +60 -0
- package/src/modules/cms/pages/admin/widgetNew/index.js +11 -0
- package/src/modules/cms/pages/admin/widgetNew/route.json +4 -0
- package/src/modules/cms/pages/admin/widgetNew/typeValidate.js +21 -0
- package/src/modules/cms/pages/frontStore/all/Breadcrumb.jsx +1 -1
- package/src/modules/cms/pages/frontStore/all/Footer.jsx +2 -2
- package/src/modules/cms/pages/frontStore/all/Layout.jsx +3 -3
- package/src/modules/cms/pages/frontStore/all/Layout.scss +13 -0
- package/src/modules/cms/pages/frontStore/all/Logo.jsx +2 -2
- package/src/modules/cms/pages/frontStore/all/Logo.scss +2 -4
- package/src/modules/cms/pages/frontStore/all/Notification.scss +1 -1
- package/src/modules/cms/pages/frontStore/cmsPageView/Layout.jsx +2 -2
- package/src/modules/cms/pages/frontStore/cmsPageView/View.jsx +5 -3
- package/src/modules/cms/pages/frontStore/cmsPageView/index.js +6 -12
- package/src/modules/cms/pages/frontStore/cmsPageView/route.json +2 -1
- package/src/modules/cms/pages/frontStore/homepage/route.json +2 -1
- package/src/modules/cms/pages/frontStore/notFound/NotFound.jsx +4 -4
- package/src/modules/cms/pages/frontStore/notFound/route.json +2 -1
- package/src/modules/cms/pages/frontStore/staticAsset/[context]staticAssets[auth].js +1 -1
- package/src/modules/cms/services/CMSPageCollection.js +23 -70
- package/src/modules/cms/services/WidgetCollection.js +62 -0
- package/src/modules/cms/services/getWidgetsBaseQuery.js +7 -0
- package/src/modules/cms/services/page/createPage.js +1 -2
- package/src/modules/cms/services/page/pageDataSchema.json +0 -4
- package/src/modules/cms/services/registerDefaultPageCollectionFilters.js +62 -0
- package/src/modules/cms/services/registerDefaultWidgetCollectionFilters.js +62 -0
- package/src/modules/cms/services/tailwind.admin.config.js +22 -102
- package/src/modules/cms/services/tailwind.frontStore.config.js +23 -108
- package/src/modules/cms/services/widget/createWidget.js +73 -0
- package/src/modules/cms/services/widget/deleteWidget.js +49 -0
- package/src/modules/cms/services/widget/loadWidgetInstances.js +54 -0
- package/src/modules/cms/services/widget/updateWidget.js +86 -0
- package/src/modules/cms/services/widget/widgetDataSchema.json +29 -0
- package/src/modules/cod/pages/admin/paymentSetting/CODSetting.jsx +2 -2
- package/src/modules/cod/pages/frontStore/checkout/CashOnDelivery.jsx +1 -1
- package/src/modules/customer/api/createCustomer/[bodyParser]createCustomer.js +2 -2
- package/src/modules/customer/api/resetPassword/[bodyParser]resetPassword.js +2 -2
- package/src/modules/customer/api/updatePassword/[bodyParser]updatePassword.js +2 -2
- package/src/modules/customer/bootstrap.js +50 -4
- package/src/modules/customer/graphql/types/Customer/Customer.admin.resolvers.js +2 -4
- package/src/modules/customer/pages/admin/customerEdit/CustomerEditForm.jsx +3 -3
- package/src/modules/customer/pages/admin/customerEdit+customerNew/OrderHistory.jsx +1 -1
- package/src/modules/customer/pages/admin/customerGrid/Grid.jsx +110 -16
- package/src/modules/customer/pages/admin/customerGrid/index.js +1 -2
- package/src/modules/customer/pages/frontStore/account/AccountDetails.jsx +3 -3
- package/src/modules/customer/pages/frontStore/account/Layout.jsx +3 -3
- package/src/modules/customer/pages/frontStore/account/OrderHistory.jsx +1 -1
- package/src/modules/customer/pages/frontStore/account/route.json +2 -1
- package/src/modules/customer/pages/frontStore/login/LoginForm.jsx +2 -3
- package/src/modules/customer/pages/frontStore/login/route.json +2 -1
- package/src/modules/customer/pages/frontStore/register/RegisterForm.jsx +2 -2
- package/src/modules/customer/pages/frontStore/register/route.json +2 -1
- package/src/modules/customer/pages/frontStore/resetPasswordPage/ResetPasswordForm.jsx +2 -2
- package/src/modules/customer/pages/frontStore/resetPasswordPage/route.json +2 -1
- package/src/modules/customer/pages/frontStore/updatePasswordPage/UpdatePasswordForm.jsx +3 -3
- package/src/modules/customer/pages/frontStore/updatePasswordPage/route.json +2 -1
- package/src/modules/customer/services/CustomerCollection.js +22 -103
- package/src/modules/customer/services/CustomerGroupCollection.js +20 -69
- package/src/modules/customer/services/registerDefaultCustomerCollectionFilters.js +90 -0
- package/src/modules/customer/services/registerDefaultCustomerGroupCollectionFilters.js +50 -0
- package/src/modules/graphql/pages/global/[bodyParser]buildQuery[graphql].js +239 -7
- package/src/modules/graphql/pages/global/[buildQuery]graphql[notification].js +13 -9
- package/src/modules/graphql/services/graphqlMiddleware.js +1 -1
- package/src/modules/oms/bootstrap.js +104 -3
- package/src/modules/oms/graphql/types/Order/Order.admin.resolvers.js +1 -1
- package/src/modules/oms/graphql/types/Order/Order.graphql +11 -2
- package/src/modules/oms/graphql/types/Order/Order.resolvers.js +9 -2
- package/src/modules/oms/pages/admin/dashboard/Bestsellers.jsx +2 -2
- package/src/modules/oms/pages/admin/dashboard/Lifetimesales.jsx +5 -5
- package/src/modules/oms/pages/admin/orderEdit/AddTrackingButton.jsx +1 -1
- package/src/modules/oms/pages/admin/orderEdit/Items.jsx +7 -7
- package/src/modules/oms/pages/admin/orderEdit/Layout.jsx +3 -3
- package/src/modules/oms/pages/admin/orderEdit/Payment.jsx +6 -6
- package/src/modules/oms/pages/admin/orderEdit/ShipButton.jsx +1 -1
- package/src/modules/oms/pages/admin/orderGrid/Grid.jsx +154 -53
- package/src/modules/oms/pages/admin/orderGrid/index.js +1 -2
- package/src/modules/oms/services/OrderCollection.js +18 -138
- package/src/modules/oms/services/registerDefaultOrderCollectionFilters.js +121 -0
- package/src/modules/paypal/api/paypalCreateOrder/[bodyParser]createOrder.js +55 -24
- package/src/modules/paypal/pages/admin/paymentSetting/PaypalSetting.jsx +6 -6
- package/src/modules/paypal/pages/frontStore/checkout/Paypal.jsx +3 -4
- package/src/modules/promotion/bootstrap.js +35 -101
- package/src/modules/promotion/graphql/types/Coupon/Coupon.admin.resolvers.js +2 -7
- package/src/modules/promotion/pages/admin/couponEdit+couponNew/DiscountType.jsx +1 -1
- package/src/modules/promotion/pages/admin/couponEdit+couponNew/FormContent.jsx +5 -5
- package/src/modules/promotion/pages/admin/couponGrid/Grid.jsx +159 -35
- package/src/modules/promotion/pages/admin/couponGrid/index.js +1 -2
- package/src/modules/promotion/pages/frontStore/cart/Coupon.jsx +2 -2
- package/src/modules/promotion/services/CouponCollection.js +21 -130
- package/src/modules/promotion/services/couponValidator.js +4 -7
- package/src/modules/promotion/services/discountCalculator.js +2 -7
- package/src/modules/promotion/services/registerCartItemPromotionFields.js +80 -0
- package/src/modules/promotion/services/registerCartPromotionFields.js +128 -0
- package/src/modules/promotion/services/registerDefaultCalculators.js +48 -20
- package/src/modules/promotion/services/registerDefaultCouponCollectionFilters.js +72 -0
- package/src/modules/promotion/services/registerDefaultValidators.js +16 -4
- package/src/modules/setting/pages/admin/paymentSetting/PaymentSetting.jsx +2 -2
- package/src/modules/setting/pages/admin/storeSetting/StoreSetting.jsx +98 -35
- package/src/modules/stripe/api/stripeWebHook/[bodyJson]webhook.js +4 -2
- package/src/modules/stripe/pages/admin/paymentSetting/StripePayment.jsx +5 -5
- package/src/modules/stripe/pages/frontStore/checkout/Stripe.jsx +1 -1
- package/src/modules/tax/bootstrap.js +57 -5
- package/src/modules/tax/graphql/types/Product/Price/ProductPrice.resolvers.js +6 -39
- package/src/modules/tax/graphql/types/TaxSetting/TaxSetting.graphql +1 -2
- package/src/modules/tax/graphql/types/TaxSetting/TaxSetting.resolvers.js +1 -8
- package/src/modules/tax/pages/admin/taxSetting/TaxSetting.jsx +4 -4
- package/src/modules/tax/services/TaxClassCollection.js +22 -56
- package/src/modules/tax/services/calculateTaxAmount.js +12 -9
- package/src/modules/tax/services/registerCartItemTaxPercentField.js +76 -0
- package/src/modules/tax/services/registerDefaultTaxClassCollectionFilters.js +49 -0
- package/src/components/admin/oms/shippingSetting/Method.jsx +0 -73
- package/src/components/common/grid/headers/Basic.jsx +0 -55
- package/src/lib/log/debuger.js +0 -89
- package/src/modules/auth/services/adminSessionMiddleware.js +0 -0
- package/src/modules/catalog/pages/frontStore/homepage/FeaturedCategories.jsx +0 -58
- package/src/modules/cms/pages/admin/cmsPageEdit+cmsPageNew/StatusAndLayout.jsx +0 -61
- package/src/modules/cms/pages/frontStore/all/Menu.jsx +0 -46
- package/src/modules/cms/pages/frontStore/all/Menu.scss +0 -7
- package/src/modules/cms/pages/frontStore/all/MobileMenu.jsx +0 -73
- package/src/modules/cms/pages/frontStore/all/MobileMenu.scss +0 -35
- package/src/modules/cms/pages/frontStore/homepage/MainBanner.jsx +0 -31
- package/src/modules/cms/pages/frontStore/homepage/MainBanner.scss +0 -48
- package/src/modules/customer/pages/frontStore/login/LoginButton.jsx +0 -27
- /package/src/modules/{oms → checkout}/pages/admin/all/ShippingSettingMenu.jsx +0 -0
- /package/src/modules/{oms → checkout}/pages/admin/shippingSetting/index.js +0 -0
- /package/src/modules/{oms → checkout}/pages/admin/shippingSetting/route.json +0 -0
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Button from '@components/frontStore/cms/Button';
|
|
3
|
-
|
|
4
|
-
export default function FeaturedCategories() {
|
|
5
|
-
return (
|
|
6
|
-
<div className="mt-15">
|
|
7
|
-
<div className="grid grid-cols-1 md:grid-cols-3 gap-2 page-width">
|
|
8
|
-
<div>
|
|
9
|
-
<div className="text-center">
|
|
10
|
-
<img src="/assets/homepage/banner/men-shoes.jpeg" alt="" />
|
|
11
|
-
</div>
|
|
12
|
-
<h3 className="h4 uppercase mt-1 mb-1">Men shoes collection</h3>
|
|
13
|
-
<div className="mb-1">
|
|
14
|
-
<p>
|
|
15
|
-
Constructed from luxury nylons, leathers, and custom hardware,
|
|
16
|
-
featuring sport details such as hidden breathing vents, waterproof
|
|
17
|
-
+ antimicrobial linings, and more.
|
|
18
|
-
</p>
|
|
19
|
-
</div>
|
|
20
|
-
<Button url="/kids" title="Shop kids" variant="primary" />
|
|
21
|
-
</div>
|
|
22
|
-
<div>
|
|
23
|
-
<div>
|
|
24
|
-
<img src="/assets/homepage/banner/women-shoes.jpeg" alt="" />
|
|
25
|
-
</div>
|
|
26
|
-
<h3 className="h4 uppercase mt-1 mb-1">Women shoes collection</h3>
|
|
27
|
-
<div className="mb-1">
|
|
28
|
-
<p>
|
|
29
|
-
Constructed from luxury nylons, leathers, and custom hardware,
|
|
30
|
-
featuring sport details such as hidden breathing vents, waterproof
|
|
31
|
-
+ antimicrobial linings, and more.
|
|
32
|
-
</p>
|
|
33
|
-
</div>
|
|
34
|
-
<Button url="/women" title="Shop women" variant="primary" />
|
|
35
|
-
</div>
|
|
36
|
-
<div>
|
|
37
|
-
<div>
|
|
38
|
-
<img src="/assets/homepage/banner/kid-shoes.jpeg" alt="" />
|
|
39
|
-
</div>
|
|
40
|
-
<h3 className="h4 uppercase mt-1 mb-1">Men shoes collection</h3>
|
|
41
|
-
<div className="mb-1">
|
|
42
|
-
<p>
|
|
43
|
-
Constructed from luxury nylons, leathers, and custom hardware,
|
|
44
|
-
featuring sport details such as hidden breathing vents, waterproof
|
|
45
|
-
+ antimicrobial linings, and more.
|
|
46
|
-
</p>
|
|
47
|
-
</div>
|
|
48
|
-
<Button url="/men" title="Shop men" variant="primary" />
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export const layout = {
|
|
56
|
-
areaId: 'content',
|
|
57
|
-
sortOrder: 10
|
|
58
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Field } from '@components/common/form/Field';
|
|
4
|
-
import { Card } from '@components/admin/cms/Card';
|
|
5
|
-
|
|
6
|
-
export default function StatusAndLayout({ cmsPage }) {
|
|
7
|
-
return (
|
|
8
|
-
<Card>
|
|
9
|
-
<Card.Session title="Status">
|
|
10
|
-
<Field
|
|
11
|
-
type="radio"
|
|
12
|
-
name="status"
|
|
13
|
-
options={[
|
|
14
|
-
{ value: 0, text: 'Disabled' },
|
|
15
|
-
{ value: 1, text: 'Enabled' }
|
|
16
|
-
]}
|
|
17
|
-
value={cmsPage?.status}
|
|
18
|
-
/>
|
|
19
|
-
</Card.Session>
|
|
20
|
-
<Card.Session title="Layout">
|
|
21
|
-
<Field
|
|
22
|
-
type="radio"
|
|
23
|
-
name="layout"
|
|
24
|
-
options={[
|
|
25
|
-
{ value: 'oneColumn', text: 'One column' },
|
|
26
|
-
{ value: 'twoColumnsLeft', text: 'Two columns left' },
|
|
27
|
-
{ value: 'twoColumnsRight', text: 'Two columns right' },
|
|
28
|
-
{ value: 'threeColumns', text: 'Three columns' }
|
|
29
|
-
]}
|
|
30
|
-
value={cmsPage?.layout}
|
|
31
|
-
/>
|
|
32
|
-
</Card.Session>
|
|
33
|
-
</Card>
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
StatusAndLayout.propTypes = {
|
|
38
|
-
cmsPage: PropTypes.shape({
|
|
39
|
-
status: PropTypes.number,
|
|
40
|
-
includeInNave: PropTypes.number,
|
|
41
|
-
layout: PropTypes.string.isRequired
|
|
42
|
-
})
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
StatusAndLayout.defaultProps = {
|
|
46
|
-
cmsPage: null
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const layout = {
|
|
50
|
-
areaId: 'rightSide',
|
|
51
|
-
sortOrder: 15
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export const query = `
|
|
55
|
-
query Query {
|
|
56
|
-
cmsPage(id: getContextValue("cmsPageId", null)) {
|
|
57
|
-
status
|
|
58
|
-
layout
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
`;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import './Menu.scss';
|
|
4
|
-
|
|
5
|
-
export default function Menu({ menu: { items } }) {
|
|
6
|
-
return (
|
|
7
|
-
<div className="main-menu self-center hidden md:block">
|
|
8
|
-
<ul className="nav flex space-x-275 justify-content-center">
|
|
9
|
-
{items.map((i, index) => (
|
|
10
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
11
|
-
<li className="nav-item" key={index}>
|
|
12
|
-
<a className="nav-link hover:underline" href={i.url}>
|
|
13
|
-
{i.name}
|
|
14
|
-
</a>
|
|
15
|
-
</li>
|
|
16
|
-
))}
|
|
17
|
-
</ul>
|
|
18
|
-
</div>
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
Menu.propTypes = {
|
|
23
|
-
menu: PropTypes.shape({
|
|
24
|
-
items: PropTypes.arrayOf(
|
|
25
|
-
PropTypes.shape({
|
|
26
|
-
name: PropTypes.string.isRequired,
|
|
27
|
-
url: PropTypes.string.isRequired
|
|
28
|
-
})
|
|
29
|
-
).isRequired
|
|
30
|
-
}).isRequired
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export const layout = {
|
|
34
|
-
areaId: 'header',
|
|
35
|
-
sortOrder: 5
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const query = `
|
|
39
|
-
query {
|
|
40
|
-
menu {
|
|
41
|
-
items {
|
|
42
|
-
name
|
|
43
|
-
url
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}`;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import './MobileMenu.scss';
|
|
4
|
-
|
|
5
|
-
export default function MobileMenu({ menu: { items } }) {
|
|
6
|
-
const [show, setShow] = React.useState(false);
|
|
7
|
-
|
|
8
|
-
return (
|
|
9
|
-
<div className="main-menu-mobile self-center">
|
|
10
|
-
<a
|
|
11
|
-
className="menu-icon"
|
|
12
|
-
href="#"
|
|
13
|
-
onClick={(e) => {
|
|
14
|
-
e.preventDefault();
|
|
15
|
-
setShow(!show);
|
|
16
|
-
}}
|
|
17
|
-
>
|
|
18
|
-
<svg
|
|
19
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
-
className="h-6 w-6"
|
|
21
|
-
fill="none"
|
|
22
|
-
viewBox="0 0 24 24"
|
|
23
|
-
stroke="currentColor"
|
|
24
|
-
>
|
|
25
|
-
<path
|
|
26
|
-
strokeLinecap="round"
|
|
27
|
-
strokeLinejoin="round"
|
|
28
|
-
strokeWidth={2}
|
|
29
|
-
d="M4 6h16M4 12h16M4 18h16"
|
|
30
|
-
/>
|
|
31
|
-
</svg>
|
|
32
|
-
</a>
|
|
33
|
-
{show && (
|
|
34
|
-
<ul className="nav justify-content-center">
|
|
35
|
-
{items.map((i, index) => (
|
|
36
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
37
|
-
<li className="nav-item" key={index}>
|
|
38
|
-
<a className="nav-link" href={i.url}>
|
|
39
|
-
{i.name}
|
|
40
|
-
</a>
|
|
41
|
-
</li>
|
|
42
|
-
))}
|
|
43
|
-
</ul>
|
|
44
|
-
)}
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
MobileMenu.propTypes = {
|
|
50
|
-
menu: PropTypes.shape({
|
|
51
|
-
items: PropTypes.arrayOf(
|
|
52
|
-
PropTypes.shape({
|
|
53
|
-
name: PropTypes.string.isRequired,
|
|
54
|
-
url: PropTypes.string.isRequired
|
|
55
|
-
})
|
|
56
|
-
).isRequired
|
|
57
|
-
}).isRequired
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
export const layout = {
|
|
61
|
-
areaId: 'icon-wrapper',
|
|
62
|
-
sortOrder: 50
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export const query = `
|
|
66
|
-
query {
|
|
67
|
-
menu {
|
|
68
|
-
items {
|
|
69
|
-
name
|
|
70
|
-
url
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}`;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
.main-menu-mobile {
|
|
2
|
-
@media screen and (min-width: 768px) {
|
|
3
|
-
display: none;
|
|
4
|
-
}
|
|
5
|
-
position: relative;
|
|
6
|
-
.menu-icon {
|
|
7
|
-
svg {
|
|
8
|
-
width: 2.5rem;
|
|
9
|
-
height: 2.5rem;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
.nav {
|
|
13
|
-
position: absolute;
|
|
14
|
-
top: 100%;
|
|
15
|
-
right: -2.5rem;
|
|
16
|
-
padding: 2.5rem;
|
|
17
|
-
width: 100vw;
|
|
18
|
-
background-color: #fff;
|
|
19
|
-
z-index: 1000;
|
|
20
|
-
.nav-item {
|
|
21
|
-
padding: 1.5rem 0;
|
|
22
|
-
border-bottom: 1px solid var(--border);
|
|
23
|
-
&:first {
|
|
24
|
-
padding-top: 0;
|
|
25
|
-
}
|
|
26
|
-
&.last {
|
|
27
|
-
padding-bottom: 0;
|
|
28
|
-
border-bottom: none;
|
|
29
|
-
}
|
|
30
|
-
a {
|
|
31
|
-
font-size: 1.6rem;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { _ } from '@evershop/evershop/src/lib/locale/translate';
|
|
3
|
-
import './MainBanner.scss';
|
|
4
|
-
|
|
5
|
-
export default function MainBanner() {
|
|
6
|
-
const text = _('Discount ${discount} For All Orders Over ${price}', {
|
|
7
|
-
discount: '20%',
|
|
8
|
-
price: '$2000'
|
|
9
|
-
});
|
|
10
|
-
return (
|
|
11
|
-
<div className="main-banner-home flex items-center">
|
|
12
|
-
<div className="container grid grid-cols-1 md:grid-cols-2 gap-2">
|
|
13
|
-
<div />
|
|
14
|
-
<div className="text-center md:text-left px-2 ">
|
|
15
|
-
<h2 className="h1 ">{text}</h2>
|
|
16
|
-
<p>
|
|
17
|
-
Use coupon code
|
|
18
|
-
<span className="font-bold">DISCOUNT20</span>
|
|
19
|
-
</p>
|
|
20
|
-
<p>{_('Use coupon ${coupon}', { coupon: 'DISCOUNT20' })}</p>
|
|
21
|
-
<p />
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const layout = {
|
|
29
|
-
areaId: 'content',
|
|
30
|
-
sortOrder: 1
|
|
31
|
-
};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
.main-banner-home {
|
|
2
|
-
background-image: url('data:image/webp;base64,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');
|
|
3
|
-
background-size: cover;
|
|
4
|
-
background-repeat: no-repeat;
|
|
5
|
-
background-position: left center;
|
|
6
|
-
height: 490px;
|
|
7
|
-
position: relative;
|
|
8
|
-
&::after {
|
|
9
|
-
content: '';
|
|
10
|
-
position: absolute;
|
|
11
|
-
top: 0;
|
|
12
|
-
left: 0;
|
|
13
|
-
bottom: 0;
|
|
14
|
-
right: 0;
|
|
15
|
-
display: block;
|
|
16
|
-
background-color: #685f58;
|
|
17
|
-
opacity: 0.35;
|
|
18
|
-
z-index: 1;
|
|
19
|
-
}
|
|
20
|
-
.container {
|
|
21
|
-
z-index: 10;
|
|
22
|
-
}
|
|
23
|
-
.button {
|
|
24
|
-
margin-top: 27px;
|
|
25
|
-
}
|
|
26
|
-
h2.h1 {
|
|
27
|
-
color: var(--primary);
|
|
28
|
-
letter-spacing: 0;
|
|
29
|
-
font-size: 3.2rem;
|
|
30
|
-
line-height: 4.2rem;
|
|
31
|
-
@media screen and (min-width: 768px) {
|
|
32
|
-
font-size: 5.5rem;
|
|
33
|
-
line-height: 6.5rem;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
#app {
|
|
39
|
-
.header {
|
|
40
|
-
margin-bottom: 0;
|
|
41
|
-
}
|
|
42
|
-
.button {
|
|
43
|
-
text-transform: uppercase;
|
|
44
|
-
font-size: 1.2rem;
|
|
45
|
-
font-weight: bold;
|
|
46
|
-
letter-spacing: 0.1rem;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { _ } from '@evershop/evershop/src/lib/locale/translate';
|
|
3
|
-
import Button from '@components/common/form/Button';
|
|
4
|
-
|
|
5
|
-
export default function LoginButton() {
|
|
6
|
-
return (
|
|
7
|
-
<div className="form-submit-button flex border-t border-divider mt-1 pt-1">
|
|
8
|
-
<Button
|
|
9
|
-
title={_('SIGN IN')}
|
|
10
|
-
type="submit"
|
|
11
|
-
onAction={() => {
|
|
12
|
-
document.getElementById('loginForm').dispatchEvent(
|
|
13
|
-
new Event('submit', {
|
|
14
|
-
cancelable: true,
|
|
15
|
-
bubbles: true
|
|
16
|
-
})
|
|
17
|
-
);
|
|
18
|
-
}}
|
|
19
|
-
/>
|
|
20
|
-
</div>
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const layout = {
|
|
25
|
-
areaId: 'loginFormInner',
|
|
26
|
-
sortOrder: 50
|
|
27
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|