@evershop/evershop 1.1.0 → 1.2.1
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/index.js +24 -0
- package/bin/extension/index.js +2 -2
- package/bin/lib/addDefaultMiddlewareFuncs.js +7 -2
- package/bin/lib/buildEntry.js +20 -2
- package/bin/lib/onListening.js +7 -4
- package/bin/lib/startUp.js +6 -0
- package/package.json +9 -1
- package/src/components/admin/catalog/productEdit/category/CategoryItem.jsx +2 -7
- package/src/components/admin/catalog/productEdit/category/CategoryTree.jsx +14 -7
- 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 +1 -1
- 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/VariantModal.jsx +6 -6
- package/src/components/admin/catalog/productGrid/rows/ThumbnailRow.jsx +1 -1
- package/src/components/admin/checkout/shippingSetting/Method.jsx +6 -6
- package/src/components/admin/checkout/shippingSetting/MethodForm.jsx +4 -4
- package/src/components/admin/checkout/shippingSetting/Methods.jsx +3 -3
- package/src/components/admin/checkout/shippingSetting/PriceBasedPrice.jsx +2 -2
- package/src/components/admin/checkout/shippingSetting/WeightBasedPrice.jsx +2 -2
- package/src/components/admin/checkout/shippingSetting/Zone.jsx +7 -7
- package/src/components/admin/checkout/shippingSetting/ZoneForm.jsx +1 -1
- 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 +3 -3
- package/src/components/admin/promotion/couponEdit/BuyXGetY.jsx +2 -2
- package/src/components/admin/promotion/couponEdit/CategorySelector.jsx +6 -6
- package/src/components/admin/promotion/couponEdit/CollectionSelector.jsx +3 -3
- package/src/components/admin/promotion/couponEdit/ProductSkuSelector.jsx +4 -4
- 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 +193 -0
- package/src/components/common/Notification.scss +1 -0
- package/src/components/common/SimplePagination.jsx +2 -2
- 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 +33 -0
- 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/grid/Pagination.jsx +4 -4
- package/src/components/common/grid/headers/FromTo.jsx +1 -1
- package/src/components/common/grid/headers/Sortable.jsx +1 -1
- package/src/components/common/grid/rows/ThumbnailRow.jsx +1 -1
- package/src/components/common/list/Filter.jsx +1 -1
- 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 +2 -2
- package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.jsx +3 -2
- package/src/components/frontStore/catalog/categoryView/filter/CategoryFilter.scss +5 -0
- 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/Sorting.jsx +2 -2
- 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 +5 -5
- 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 +2 -2
- 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/event-manager.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/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/defaultPaginationFilters.js +19 -17
- package/src/lib/util/getEnabledWidgets.js +34 -0
- package/src/lib/util/merge.js +67 -14
- 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 +10 -2
- package/src/lib/webpack/loaders/AreaLoader.js +16 -6
- package/src/lib/webpack/util/keyGenerator.js +9 -0
- package/src/lib/webpack/util/parseGraphql.js +30 -16
- package/src/lib/webpack/util/parseGraphqlByFile.js +16 -2
- package/src/modules/auth/pages/admin/adminLogin/LoginForm.jsx +54 -21
- package/src/modules/auth/pages/admin/all/AdminUser.jsx +3 -3
- 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 +25 -1
- package/src/modules/catalog/bootstrap.js +125 -5
- package/src/modules/catalog/graphql/types/Category/Category.graphql +4 -3
- package/src/modules/catalog/graphql/types/Category/Category.resolvers.js +34 -0
- package/src/modules/catalog/graphql/types/Collection/Collection.graphql +2 -2
- package/src/modules/catalog/graphql/types/Collection/Collection.resolvers.js +34 -0
- 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 +34 -0
- 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 +5 -5
- package/src/modules/catalog/pages/admin/attributeGrid/Grid.jsx +2 -2
- package/src/modules/catalog/pages/admin/categoryEdit/Products.jsx +4 -4
- 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 +3 -3
- package/src/modules/catalog/pages/admin/collectionEdit/Products.jsx +4 -4
- 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 +3 -3
- package/src/modules/catalog/pages/admin/productEdit/Collection.jsx +7 -7
- package/src/modules/catalog/pages/admin/productEdit+productNew/Attributes.jsx +8 -3
- 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 +3 -3
- 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/route.json +2 -1
- package/src/modules/catalog/pages/frontStore/categoryView/CategoryView.jsx +19 -2
- package/src/modules/catalog/pages/frontStore/categoryView/Filter.scss +1 -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/route.json +2 -1
- package/src/modules/catalog/pages/frontStore/productView/Description.jsx +15 -4
- package/src/modules/catalog/pages/frontStore/productView/Form.jsx +4 -4
- 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 +7 -3
- package/src/modules/catalog/pages/frontStore/productView/Variants.jsx +6 -6
- package/src/modules/catalog/pages/frontStore/productView/route.json +2 -1
- package/src/modules/catalog/services/AttributeCollection.js +10 -10
- package/src/modules/catalog/services/AttributeGroupCollection.js +10 -10
- package/src/modules/catalog/services/CategoryCollection.js +10 -10
- package/src/modules/catalog/services/CollectionCollection.js +10 -10
- package/src/modules/catalog/services/registerCartItemProductUrlField.js +35 -0
- package/src/modules/catalog/services/registerCartItemVariantOptionsField.js +51 -0
- package/src/modules/catalog/services/registerDefaultCategoryCollectionFilters.js +16 -0
- 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/createNewCart.js +28 -3
- 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/bootstrap.js +27 -0
- 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/migration/Version-1.0.0.js +14 -0
- package/src/modules/checkout/migration/Version-1.0.6.js +201 -0
- package/src/modules/checkout/pages/admin/shippingSetting/ShippingSetting.jsx +2 -2
- package/src/modules/checkout/pages/frontStore/all/[context]detectCurrentCart[auth].js +5 -0
- package/src/modules/checkout/pages/frontStore/cart/ShoppingCart.jsx +20 -12
- package/src/modules/checkout/pages/frontStore/cart/Summary.jsx +34 -23
- 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/ShippingMethods.jsx +2 -2
- 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 +12 -15
- 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 +31 -27
- package/src/modules/checkout/services/cart/registerCartBaseFields.js +133 -41
- package/src/modules/checkout/services/cart/registerCartItemBaseFields.js +300 -374
- 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 +92 -0
- package/src/modules/checkout/tests/unit/lineTotalWithDiscount.test.js +103 -0
- package/src/modules/checkout/tests/unit/productPrice.test.js +69 -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 +68 -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 +223 -3
- package/src/modules/cms/graphql/types/CmsPage/CmsPage.graphql +1 -2
- package/src/modules/cms/graphql/types/CmsPage/CmsPage.resolvers.js +35 -1
- 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/Notification.scss +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 +3 -4
- 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 +10 -10
- 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/registerDefaultWidgetCollectionFilters.js +62 -0
- package/src/modules/cms/services/tailwind.admin.config.js +22 -107
- 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/bootstrap.js +21 -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 +3 -3
- 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 -2
- 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 +10 -10
- package/src/modules/customer/services/CustomerGroupCollection.js +10 -10
- package/src/modules/graphql/pages/global/[bodyParser]buildQuery[graphql].js +241 -6
- package/src/modules/graphql/pages/global/[buildQuery]graphql[notification].js +12 -8
- package/src/modules/oms/bootstrap.js +87 -3
- package/src/modules/oms/graphql/types/Order/Order.graphql +11 -2
- package/src/modules/oms/graphql/types/Order/Order.resolvers.js +7 -1
- 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 +3 -3
- package/src/modules/oms/services/OrderCollection.js +10 -10
- 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 +19 -101
- 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 +3 -3
- package/src/modules/promotion/pages/frontStore/cart/Coupon.jsx +2 -2
- package/src/modules/promotion/services/CouponCollection.js +10 -10
- 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/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/pages/admin/paymentSetting/StripePayment.jsx +5 -5
- package/src/modules/stripe/pages/frontStore/checkout/Stripe.jsx +1 -1
- package/src/modules/tax/bootstrap.js +40 -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 +10 -10
- package/src/modules/tax/services/calculateTaxAmount.js +12 -9
- package/src/modules/tax/services/registerCartItemTaxPercentField.js +76 -0
- 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
|
@@ -8,7 +8,7 @@ function BreadcrumbIcon({ backUrl }) {
|
|
|
8
8
|
return (
|
|
9
9
|
<a
|
|
10
10
|
href={backUrl}
|
|
11
|
-
className="breadcrum-icon border block border-border rounded mr-
|
|
11
|
+
className="breadcrum-icon border block border-border rounded mr-3"
|
|
12
12
|
>
|
|
13
13
|
<span className="flex items-center justify-center">
|
|
14
14
|
<svg
|
|
@@ -51,7 +51,7 @@ function PageHeading({ backUrl, heading }) {
|
|
|
51
51
|
|
|
52
52
|
return (
|
|
53
53
|
<div className="page-heading flex justify-between items-center">
|
|
54
|
-
<div className="flex justify-start space-x-
|
|
54
|
+
<div className="flex justify-start space-x-4 items-center">
|
|
55
55
|
<Area
|
|
56
56
|
id="pageHeadingLeft"
|
|
57
57
|
noOuter
|
|
@@ -75,7 +75,7 @@ function PageHeading({ backUrl, heading }) {
|
|
|
75
75
|
]}
|
|
76
76
|
/>
|
|
77
77
|
</div>
|
|
78
|
-
<div className="flex justify-end space-x-
|
|
78
|
+
<div className="flex justify-end space-x-4 items-center">
|
|
79
79
|
<Area id="pageHeadingRight" noOuter coreComponents={[]} />
|
|
80
80
|
</div>
|
|
81
81
|
</div>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
|
|
4
|
+
export default function WidgetTypes({ types }) {
|
|
5
|
+
return (
|
|
6
|
+
<div className="grid grid-cols-3 gap-4">
|
|
7
|
+
{types.map((type) => (
|
|
8
|
+
<a
|
|
9
|
+
key={type.code}
|
|
10
|
+
href={type.createWidgetUrl}
|
|
11
|
+
className="border border-gray-200 rounded p-4 text-center"
|
|
12
|
+
>
|
|
13
|
+
<div className="text-lg font-bold">{type.name}</div>
|
|
14
|
+
</a>
|
|
15
|
+
))}
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
WidgetTypes.propTypes = {
|
|
21
|
+
types: PropTypes.arrayOf(
|
|
22
|
+
PropTypes.shape({
|
|
23
|
+
code: PropTypes.string.isRequired,
|
|
24
|
+
name: PropTypes.string.isRequired,
|
|
25
|
+
createWidgetUrl: PropTypes.string.isRequired
|
|
26
|
+
})
|
|
27
|
+
).isRequired
|
|
28
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
export default function WidgetTypeRow({ code, types }) {
|
|
5
|
+
const type = types.find((t) => t.code === code);
|
|
6
|
+
if (!type) {
|
|
7
|
+
return (
|
|
8
|
+
<td>
|
|
9
|
+
<div>Unknown</div>
|
|
10
|
+
</td>
|
|
11
|
+
);
|
|
12
|
+
} else {
|
|
13
|
+
return (
|
|
14
|
+
<td>
|
|
15
|
+
<div>{type.name}</div>
|
|
16
|
+
</td>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
WidgetTypeRow.propTypes = {
|
|
22
|
+
code: PropTypes.string.isRequired,
|
|
23
|
+
types: PropTypes.arrayOf(
|
|
24
|
+
PropTypes.shape({
|
|
25
|
+
code: PropTypes.string.isRequired,
|
|
26
|
+
name: PropTypes.string.isRequired
|
|
27
|
+
})
|
|
28
|
+
).isRequired
|
|
29
|
+
};
|
|
@@ -7,7 +7,7 @@ export function ItemVariantOptions({ options = [] }) {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
return (
|
|
10
|
-
<div className="cart-item-variant-options mt-
|
|
10
|
+
<div className="cart-item-variant-options mt-2">
|
|
11
11
|
<ul>
|
|
12
12
|
{options.map((o, i) => (
|
|
13
13
|
// eslint-disable-next-line react/no-array-index-key
|
|
@@ -13,7 +13,7 @@ export function Name({ name, productSku, productUrl, variantOptions = [] }) {
|
|
|
13
13
|
<a href={productUrl}>{name}</a>
|
|
14
14
|
</span>
|
|
15
15
|
</div>
|
|
16
|
-
<div className="text-
|
|
16
|
+
<div className="text-gray-500">
|
|
17
17
|
<span className="font-semibold">SKU: </span>
|
|
18
18
|
<span>{productSku}</span>
|
|
19
19
|
</div>
|
|
@@ -50,7 +50,7 @@ export default function FromToColumnHeader({ title, id }) {
|
|
|
50
50
|
<div className="title" style={{ marginBottom: '1rem' }}>
|
|
51
51
|
<span>{title}</span>
|
|
52
52
|
</div>
|
|
53
|
-
<div className="flex space-x-
|
|
53
|
+
<div className="flex space-x-4">
|
|
54
54
|
<div style={{ width: '10rem' }}>
|
|
55
55
|
<Date
|
|
56
56
|
ref={filterFrom}
|
|
@@ -101,7 +101,7 @@ function AttributeGroupSelector({
|
|
|
101
101
|
<div className="modal-content">
|
|
102
102
|
<Card.Session>
|
|
103
103
|
<div>
|
|
104
|
-
<div className="border rounded border-divider mb-
|
|
104
|
+
<div className="border rounded border-divider mb-8">
|
|
105
105
|
<input
|
|
106
106
|
type="text"
|
|
107
107
|
value={inputValue}
|
|
@@ -128,7 +128,7 @@ function AttributeGroupSelector({
|
|
|
128
128
|
{data.attributeGroups.items.map((group) => (
|
|
129
129
|
<div
|
|
130
130
|
key={group.uuid}
|
|
131
|
-
className="grid grid-cols-8 gap-
|
|
131
|
+
className="grid grid-cols-8 gap-8 py-4 border-divider items-center"
|
|
132
132
|
>
|
|
133
133
|
<div className="col-span-5">
|
|
134
134
|
<h3>{group.groupName}</h3>
|
|
@@ -167,7 +167,7 @@ function AttributeGroupSelector({
|
|
|
167
167
|
</Card.Session>
|
|
168
168
|
</div>
|
|
169
169
|
<Card.Session>
|
|
170
|
-
<div className="flex justify-between gap-
|
|
170
|
+
<div className="flex justify-between gap-8">
|
|
171
171
|
<SimplePageination
|
|
172
172
|
total={data?.attributeGroups.total}
|
|
173
173
|
count={data?.attributeGroups?.items?.length || 0}
|
|
@@ -226,7 +226,7 @@ export function BuyXGetY({ requireProducts, discountType }) {
|
|
|
226
226
|
))}
|
|
227
227
|
</tbody>
|
|
228
228
|
</table>
|
|
229
|
-
<div className="mt-
|
|
229
|
+
<div className="mt-4 flex justify-start">
|
|
230
230
|
<div className="items-center flex">
|
|
231
231
|
<svg
|
|
232
232
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -244,7 +244,7 @@ export function BuyXGetY({ requireProducts, discountType }) {
|
|
|
244
244
|
/>
|
|
245
245
|
</svg>
|
|
246
246
|
</div>
|
|
247
|
-
<div className="pl-
|
|
247
|
+
<div className="pl-4">
|
|
248
248
|
<a href="#" onClick={(e) => addProduct(e)}>
|
|
249
249
|
<span>Add product</span>
|
|
250
250
|
</a>
|
|
@@ -30,7 +30,7 @@ function CategorySelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
30
30
|
variables: {
|
|
31
31
|
filters: inputValue
|
|
32
32
|
? [
|
|
33
|
-
{ key: 'name', operation: '
|
|
33
|
+
{ key: 'name', operation: 'like', value: inputValue },
|
|
34
34
|
{ key: 'page', operation: 'eq', value: page.toString() },
|
|
35
35
|
{ key: 'limit', operation: 'eq', value: limit.toString() }
|
|
36
36
|
]
|
|
@@ -72,11 +72,11 @@ function CategorySelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
return (
|
|
75
|
-
<Card title="Select
|
|
75
|
+
<Card title="Select categories">
|
|
76
76
|
<div className="modal-content">
|
|
77
77
|
<Card.Session>
|
|
78
78
|
<div>
|
|
79
|
-
<div className="border rounded border-divider mb-
|
|
79
|
+
<div className="border rounded border-divider mb-8">
|
|
80
80
|
<input
|
|
81
81
|
type="text"
|
|
82
82
|
value={inputValue}
|
|
@@ -105,12 +105,12 @@ function CategorySelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
105
105
|
{data.categories.items.map((cat) => (
|
|
106
106
|
<div
|
|
107
107
|
key={cat.uuid}
|
|
108
|
-
className="grid grid-cols-8 gap-
|
|
108
|
+
className="grid grid-cols-8 gap-8 py-4 border-divider items-center"
|
|
109
109
|
>
|
|
110
110
|
<div className="col-span-5">
|
|
111
111
|
<h3>{cat.name}</h3>
|
|
112
112
|
</div>
|
|
113
|
-
<div className="col-span-
|
|
113
|
+
<div className="col-span-3 text-right">
|
|
114
114
|
{!selectedIDs.includes(cat.categoryId) && (
|
|
115
115
|
<button
|
|
116
116
|
type="button"
|
|
@@ -144,7 +144,7 @@ function CategorySelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
144
144
|
</Card.Session>
|
|
145
145
|
</div>
|
|
146
146
|
<Card.Session>
|
|
147
|
-
<div className="flex justify-between gap-
|
|
147
|
+
<div className="flex justify-between gap-8">
|
|
148
148
|
<SimplePageination
|
|
149
149
|
total={data?.categories.total}
|
|
150
150
|
count={data?.categories?.items?.length || 0}
|
|
@@ -76,7 +76,7 @@ function CollectionSelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
76
76
|
<div className="modal-content">
|
|
77
77
|
<Card.Session>
|
|
78
78
|
<div>
|
|
79
|
-
<div className="border rounded border-divider mb-
|
|
79
|
+
<div className="border rounded border-divider mb-8">
|
|
80
80
|
<input
|
|
81
81
|
type="text"
|
|
82
82
|
value={inputValue}
|
|
@@ -105,7 +105,7 @@ function CollectionSelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
105
105
|
{data.collections.items.map((collection) => (
|
|
106
106
|
<div
|
|
107
107
|
key={collection.uuid}
|
|
108
|
-
className="grid grid-cols-8 gap-
|
|
108
|
+
className="grid grid-cols-8 gap-8 py-4 border-divider items-center"
|
|
109
109
|
>
|
|
110
110
|
<div className="col-span-5">
|
|
111
111
|
<h3>{collection.name}</h3>
|
|
@@ -144,7 +144,7 @@ function CollectionSelector({ onSelect, onUnSelect, selectedIDs, closeModal }) {
|
|
|
144
144
|
</Card.Session>
|
|
145
145
|
</div>
|
|
146
146
|
<Card.Session>
|
|
147
|
-
<div className="flex justify-between gap-
|
|
147
|
+
<div className="flex justify-between gap-8">
|
|
148
148
|
<SimplePageination
|
|
149
149
|
total={data?.collections.total}
|
|
150
150
|
count={data?.collections?.items?.length || 0}
|
|
@@ -109,7 +109,7 @@ function ProductSkuSelector({
|
|
|
109
109
|
<div className="modal-content">
|
|
110
110
|
<Card.Session>
|
|
111
111
|
<div>
|
|
112
|
-
<div className="border rounded border-divider mb-
|
|
112
|
+
<div className="border rounded border-divider mb-8">
|
|
113
113
|
<input
|
|
114
114
|
type="text"
|
|
115
115
|
value={inputValue}
|
|
@@ -141,10 +141,10 @@ function ProductSkuSelector({
|
|
|
141
141
|
{data.products.items.map((product) => (
|
|
142
142
|
<div
|
|
143
143
|
key={product.uuid}
|
|
144
|
-
className="grid grid-cols-8 gap-
|
|
144
|
+
className="grid grid-cols-8 gap-8 py-4 border-divider items-center"
|
|
145
145
|
>
|
|
146
146
|
<div className="col-span-1">
|
|
147
|
-
<div className="text-border border border-divider p-
|
|
147
|
+
<div className="text-border border border-divider p-3 rounded flex justify-center">
|
|
148
148
|
{product.image?.url && (
|
|
149
149
|
<img src={product.image?.url} alt={product.name} />
|
|
150
150
|
)}
|
|
@@ -213,7 +213,7 @@ function ProductSkuSelector({
|
|
|
213
213
|
</Card.Session>
|
|
214
214
|
</div>
|
|
215
215
|
<Card.Session>
|
|
216
|
-
<div className="flex justify-between gap-
|
|
216
|
+
<div className="flex justify-between gap-8">
|
|
217
217
|
<SimplePageination
|
|
218
218
|
total={data?.products.total}
|
|
219
219
|
count={data?.products?.items?.length || 0}
|
|
@@ -394,7 +394,7 @@ export function RequiredProducts({ requiredProducts }) {
|
|
|
394
394
|
))}
|
|
395
395
|
</tbody>
|
|
396
396
|
</table>
|
|
397
|
-
<div className="mt-
|
|
397
|
+
<div className="mt-4 flex justify-start">
|
|
398
398
|
<div className="items-center flex">
|
|
399
399
|
<svg
|
|
400
400
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -412,7 +412,7 @@ export function RequiredProducts({ requiredProducts }) {
|
|
|
412
412
|
/>
|
|
413
413
|
</svg>
|
|
414
414
|
</div>
|
|
415
|
-
<div className="pl-
|
|
415
|
+
<div className="pl-4">
|
|
416
416
|
<a href="#" onClick={(e) => addProduct(e)}>
|
|
417
417
|
<span>Add product</span>
|
|
418
418
|
</a>
|
|
@@ -4,7 +4,7 @@ import { Field } from '@components/common/form/Field';
|
|
|
4
4
|
|
|
5
5
|
export function Setting({ discountAmount, startDate, endDate }) {
|
|
6
6
|
return (
|
|
7
|
-
<div className="grid grid-cols-3 gap-
|
|
7
|
+
<div className="grid grid-cols-3 gap-8 form-field-container">
|
|
8
8
|
<div>
|
|
9
9
|
<Field
|
|
10
10
|
type="text"
|
|
@@ -65,8 +65,8 @@ function Products({ targetProducts, maxQty }) {
|
|
|
65
65
|
|
|
66
66
|
return (
|
|
67
67
|
<div>
|
|
68
|
-
<div className="mb-
|
|
69
|
-
<div className="flex justify-start items-center mb-
|
|
68
|
+
<div className="mb-4 mt-4">
|
|
69
|
+
<div className="flex justify-start items-center mb-12">
|
|
70
70
|
<div>Maximum</div>
|
|
71
71
|
<div style={{ width: '70px', padding: '0 1rem' }}>
|
|
72
72
|
<Field
|
|
@@ -392,7 +392,7 @@ function Products({ targetProducts, maxQty }) {
|
|
|
392
392
|
))}
|
|
393
393
|
</tbody>
|
|
394
394
|
</table>
|
|
395
|
-
<div className="mt-
|
|
395
|
+
<div className="mt-4 flex justify-start">
|
|
396
396
|
<div className="items-center flex">
|
|
397
397
|
<svg
|
|
398
398
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -410,7 +410,7 @@ function Products({ targetProducts, maxQty }) {
|
|
|
410
410
|
/>
|
|
411
411
|
</svg>
|
|
412
412
|
</div>
|
|
413
|
-
<div className="pl-
|
|
413
|
+
<div className="pl-4">
|
|
414
414
|
<a href="#" onClick={(e) => addProduct(e)} className="">
|
|
415
415
|
<span>Add product</span>
|
|
416
416
|
</a>
|
|
@@ -8,11 +8,11 @@ function Rate({ rate, getTaxClasses }) {
|
|
|
8
8
|
return (
|
|
9
9
|
<>
|
|
10
10
|
<>
|
|
11
|
-
<td className="border-none py-
|
|
12
|
-
<td className="border-none py-
|
|
13
|
-
<td className="border-none py-
|
|
14
|
-
<td className="border-none py-
|
|
15
|
-
<td className="border-none py-
|
|
11
|
+
<td className="border-none py-4">{rate.name}</td>
|
|
12
|
+
<td className="border-none py-4">{rate.rate}%</td>
|
|
13
|
+
<td className="border-none py-4">{rate.isCompound ? 'Yes' : 'No'}</td>
|
|
14
|
+
<td className="border-none py-4">{rate.priority}</td>
|
|
15
|
+
<td className="border-none py-4">
|
|
16
16
|
<a
|
|
17
17
|
href="#"
|
|
18
18
|
className="text-interactive"
|
|
@@ -25,7 +25,7 @@ function Rate({ rate, getTaxClasses }) {
|
|
|
25
25
|
</a>
|
|
26
26
|
<a
|
|
27
27
|
href="#"
|
|
28
|
-
className="text-critical ml-
|
|
28
|
+
className="text-critical ml-8"
|
|
29
29
|
onClick={async (e) => {
|
|
30
30
|
e.preventDefault();
|
|
31
31
|
await fetch(rate.deleteApi, {
|
|
@@ -50,7 +50,7 @@ function MethodForm({ saveRateApi, closeModal, getTaxClasses, rate }) {
|
|
|
50
50
|
}}
|
|
51
51
|
>
|
|
52
52
|
<Card.Session title="Basic">
|
|
53
|
-
<div className="grid grid-cols-2 gap-
|
|
53
|
+
<div className="grid grid-cols-2 gap-8">
|
|
54
54
|
<div>
|
|
55
55
|
<Field
|
|
56
56
|
name="name"
|
|
@@ -75,7 +75,7 @@ function MethodForm({ saveRateApi, closeModal, getTaxClasses, rate }) {
|
|
|
75
75
|
</div>
|
|
76
76
|
</Card.Session>
|
|
77
77
|
<Card.Session title="Setup shipping cost">
|
|
78
|
-
<div className="grid grid-cols-3 gap-
|
|
78
|
+
<div className="grid grid-cols-3 gap-8">
|
|
79
79
|
<div>
|
|
80
80
|
<Field
|
|
81
81
|
name="country"
|
|
@@ -107,7 +107,7 @@ function MethodForm({ saveRateApi, closeModal, getTaxClasses, rate }) {
|
|
|
107
107
|
/>
|
|
108
108
|
</div>
|
|
109
109
|
</div>
|
|
110
|
-
<div className="grid grid-cols-2 gap-
|
|
110
|
+
<div className="grid grid-cols-2 gap-8 mt-8">
|
|
111
111
|
<div>
|
|
112
112
|
<Toggle
|
|
113
113
|
name="is_compound"
|
|
@@ -117,7 +117,7 @@ function MethodForm({ saveRateApi, closeModal, getTaxClasses, rate }) {
|
|
|
117
117
|
</div>
|
|
118
118
|
<div />
|
|
119
119
|
</div>
|
|
120
|
-
<div className="grid grid-cols-2 gap-
|
|
120
|
+
<div className="grid grid-cols-2 gap-8 mt-8">
|
|
121
121
|
<div>
|
|
122
122
|
<Field
|
|
123
123
|
name="priority"
|
|
@@ -132,7 +132,7 @@ function MethodForm({ saveRateApi, closeModal, getTaxClasses, rate }) {
|
|
|
132
132
|
</div>
|
|
133
133
|
</Card.Session>
|
|
134
134
|
<Card.Session>
|
|
135
|
-
<div className="flex justify-end gap-
|
|
135
|
+
<div className="flex justify-end gap-4">
|
|
136
136
|
<Button title="Cancel" variant="secondary" onAction={closeModal} />
|
|
137
137
|
<Button
|
|
138
138
|
title="Save"
|
|
@@ -7,7 +7,7 @@ import RateForm from './RateForm';
|
|
|
7
7
|
export function Rates({ getTaxClasses, rates, addRateApi }) {
|
|
8
8
|
const modal = useModal();
|
|
9
9
|
return (
|
|
10
|
-
<div className="my-
|
|
10
|
+
<div className="my-8">
|
|
11
11
|
<table className="border-collapse divide-y">
|
|
12
12
|
<thead>
|
|
13
13
|
<tr>
|
|
@@ -19,12 +19,12 @@ export function Rates({ getTaxClasses, rates, addRateApi }) {
|
|
|
19
19
|
</tr>
|
|
20
20
|
</thead>
|
|
21
21
|
{rates.map((rate) => (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
<tr key={rate.uuid} className="border-divider py-8">
|
|
23
|
+
<Rate rate={rate} getTaxClasses={getTaxClasses} />
|
|
24
|
+
</tr>
|
|
25
|
+
))}
|
|
26
26
|
</table>
|
|
27
|
-
<div className="mt-
|
|
27
|
+
<div className="mt-4">
|
|
28
28
|
<a
|
|
29
29
|
href="#"
|
|
30
30
|
className="text-interactive"
|
|
@@ -7,14 +7,14 @@ function TaxClass({ taxClass, getTaxClasses }) {
|
|
|
7
7
|
return (
|
|
8
8
|
<Card.Session
|
|
9
9
|
title={
|
|
10
|
-
<div className="flex justify-between items-center gap-
|
|
10
|
+
<div className="flex justify-between items-center gap-8">
|
|
11
11
|
<div>{taxClass.name}</div>
|
|
12
12
|
</div>
|
|
13
13
|
}
|
|
14
14
|
>
|
|
15
15
|
<div className="divide-y border rounded border-divider">
|
|
16
|
-
<div className="flex justify-start items-center border-divider mt-
|
|
17
|
-
<div className="flex-grow px-
|
|
16
|
+
<div className="flex justify-start items-center border-divider mt-8">
|
|
17
|
+
<div className="flex-grow px-4">
|
|
18
18
|
<Rates
|
|
19
19
|
rates={taxClass.rates}
|
|
20
20
|
addRateApi={taxClass.addRateApi}
|
|
@@ -28,7 +28,7 @@ function TaxClassForm({ saveTaxClassApi, closeModal, getTaxClasses }) {
|
|
|
28
28
|
/>
|
|
29
29
|
</Card.Session>
|
|
30
30
|
<Card.Session>
|
|
31
|
-
<div className="flex justify-end gap-
|
|
31
|
+
<div className="flex justify-end gap-4">
|
|
32
32
|
<Button title="Cancel" variant="secondary" onAction={closeModal} />
|
|
33
33
|
<Button
|
|
34
34
|
title="Save"
|