ordering-ui-admin-external 1.13.4 → 1.14.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/_bundles/{ordering-ui-admin.8ae8bce37d1d9d2daf8b.js → ordering-ui-admin.7260e823d98951f8d36d.js} +2 -2
- package/_modules/components/BusinessIntelligence/BusinessReviewList/index.js +2 -1
- package/_modules/components/BusinessIntelligence/InvoiceBusinessManager/styles.js +1 -1
- package/_modules/components/BusinessIntelligence/InvoiceDriverManager/styles.js +1 -1
- package/_modules/components/BusinessIntelligence/InvoiceManager/index.js +2 -1
- package/_modules/components/BusinessIntelligence/UsersReviewList/index.js +6 -3
- package/_modules/components/CartRecovery/OpenCartsDetail/index.js +15 -1
- package/_modules/components/CartRecovery/OpenCartsDetail/styles.js +1 -1
- package/_modules/components/CartRecovery/RecoveryActionDetail/index.js +18 -1
- package/_modules/components/CartRecovery/RecoveryActionDetail/styles.js +4 -4
- package/_modules/components/CartRecovery/RecoveryActionList/styles.js +1 -3
- package/_modules/components/Delivery/DeliveryUsersListing/index.js +2 -1
- package/_modules/components/Delivery/DriversCompaniesList/styles.js +1 -1
- package/_modules/components/Delivery/DriversCompanyDetailsForm/index.js +21 -2
- package/_modules/components/Delivery/DriversCompanyDetailsForm/styles.js +8 -6
- package/_modules/components/Delivery/DriversGroupDetails/index.js +20 -2
- package/_modules/components/Delivery/DriversGroupDetails/styles.js +6 -4
- package/_modules/components/Delivery/DriversGroupsList/index.js +5 -5
- package/_modules/components/Delivery/DriversGroupsList/styles.js +1 -1
- package/_modules/components/Delivery/UserAddForm/index.js +1 -1
- package/_modules/components/Delivery/UserDetails/index.js +20 -2
- package/_modules/components/Delivery/UserDetails/styles.js +6 -4
- package/_modules/components/Delivery/UserDetailsLateralBar/styles.js +1 -1
- package/_modules/components/Delivery/UserProfileForm/index.js +1 -1
- package/_modules/components/Delivery/UsersList/styles.js +1 -1
- package/_modules/components/Login/LoginForm/index.js +49 -7
- package/_modules/components/Login/LoginForm/styles.js +18 -14
- package/_modules/components/Loyalty/GiftCardDetail/index.js +285 -0
- package/_modules/components/Loyalty/LoyaltyLevelDetail/index.js +1 -1
- package/_modules/components/Loyalty/PointsWalletBusinessList/index.js +1 -1
- package/_modules/components/Loyalty/PointsWalletBusinessList/styles.js +3 -3
- package/_modules/components/Loyalty/PointsWalletLevels/styles.js +1 -3
- package/_modules/components/Loyalty/RewardsPrograms/index.js +42 -28
- package/_modules/components/Loyalty/RewardsPrograms/styles.js +18 -3
- package/_modules/components/Loyalty/Wallet/index.js +109 -0
- package/_modules/components/Loyalty/{PointsWallet → Wallet}/styles.js +15 -9
- package/_modules/components/Loyalty/index.js +7 -7
- package/_modules/components/Marketing/BannerDetails/styles.js +1 -1
- package/_modules/components/Marketing/BannerImageDetails/index.js +1 -1
- package/_modules/components/Marketing/CampaignDetail/index.js +20 -1
- package/_modules/components/Marketing/CampaignDetail/styles.js +4 -4
- package/_modules/components/Marketing/CampaignList/styles.js +1 -3
- package/_modules/components/Marketing/EnterprisePromotionDetails/index.js +17 -2
- package/_modules/components/Marketing/EnterprisePromotionDetails/styles.js +7 -5
- package/_modules/components/Marketing/EnterprisePromotionGeneralDetails/index.js +1 -1
- package/_modules/components/Marketing/EnterprisePromotionList/styles.js +1 -3
- package/_modules/components/Marketing/EnterprisePromotionRules/index.js +1 -0
- package/_modules/components/Marketing/PageBanner/index.js +21 -7
- package/_modules/components/Marketing/PageBanner/styles.js +26 -24
- package/_modules/components/MyProducts/AdvancedSettings/ImageBox.js +151 -0
- package/_modules/components/MyProducts/OrderingWebsite/index.js +1 -1
- package/_modules/components/OrderingProducts/OrderingProductDetails/index.js +20 -2
- package/_modules/components/OrderingProducts/OrderingProductDetails/styles.js +15 -13
- package/_modules/components/OrderingProducts/OrderingProductsListing/styles.js +1 -3
- package/_modules/components/OrderingProducts/SiteTheme/ThemeImage.js +1 -1
- package/_modules/components/Orders/Messages/index.js +10 -2
- package/_modules/components/Orders/Messages/styles.js +64 -62
- package/_modules/components/Orders/OrderDashboardSLASetting/index.js +0 -1
- package/_modules/components/Orders/OrderDetailsHeader/index.js +30 -3
- package/_modules/components/Orders/OrdersFilterGroup/index.js +6 -10
- package/_modules/components/Orders/OrdersLateralBar/index.js +22 -5
- package/_modules/components/Orders/OrdersLateralBar/styles.js +2 -2
- package/_modules/components/Settings/ApiKeysList/styles.js +10 -7
- package/_modules/components/Settings/Cms/styles.js +1 -1
- package/_modules/components/Settings/CountriesList/index.js +5 -4
- package/_modules/components/Settings/CountriesList/styles.js +1 -1
- package/_modules/components/Settings/Deliverect/index.js +15 -1
- package/_modules/components/Settings/DoordashConnect/index.js +15 -1
- package/_modules/components/Settings/DropdownOptionList/index.js +2 -1
- package/_modules/components/Settings/DropdownOptionList/styles.js +1 -1
- package/_modules/components/Settings/IntegrationListing/index.js +6 -3
- package/_modules/components/Settings/ItsaCheckmate/index.js +15 -1
- package/_modules/components/Settings/LalamoveConnect/index.js +15 -1
- package/_modules/components/Settings/LanguageTransTable/styles.js +1 -1
- package/_modules/components/Settings/PickerExpress/index.js +15 -1
- package/_modules/components/Settings/PlaceListing/index.js +2 -1
- package/_modules/components/Settings/PlaceListing/styles.js +1 -1
- package/_modules/components/Settings/PluginList/styles.js +20 -17
- package/_modules/components/Settings/Settings/index.js +2 -1
- package/_modules/components/Settings/SettingsDetail/index.js +15 -1
- package/_modules/components/Settings/SettingsDetail/styles.js +13 -11
- package/_modules/components/Settings/SettingsImage/index.js +1 -1
- package/_modules/components/Settings/SitesAuthSettings/index.js +20 -1
- package/_modules/components/Settings/SitesAuthSettings/styles.js +10 -6
- package/_modules/components/Settings/WebhookList/styles.js +14 -11
- package/_modules/components/Shared/Modal/index.js +5 -3
- package/_modules/components/Shared/ProtectedRoute/index.js +6 -1
- package/_modules/components/Shared/SideBar/index.js +22 -3
- package/_modules/components/Shared/SideBar/styles.js +10 -8
- package/_modules/components/SidebarMenu/index.js +16 -18
- package/_modules/components/Stores/AddBusinessForm/index.js +1 -1
- package/_modules/components/Stores/BusinessAdd/Images/index.js +1 -1
- package/_modules/components/Stores/BusinessAdd/Photos/index.js +1 -1
- package/_modules/components/Stores/BusinessAddStore/index.js +1 -2
- package/_modules/components/Stores/BusinessBrandGENDetail/index.js +8 -3
- package/_modules/components/Stores/BusinessBrandListing/index.js +17 -2
- package/_modules/components/Stores/BusinessBrandListing/styles.js +35 -33
- package/_modules/components/Stores/BusinessDeliveryZoneInformation/index.js +1 -1
- package/_modules/components/Stores/BusinessDetails/index.js +6 -1
- package/_modules/components/Stores/BusinessFilterGroup/index.js +110 -0
- package/_modules/components/Stores/BusinessFilterGroup/styles.js +37 -0
- package/_modules/components/Stores/BusinessInformation/index.js +1 -1
- package/_modules/components/Stores/BusinessOrderingChannels/index.js +1 -1
- package/_modules/components/Stores/BusinessProductAddForm/index.js +1 -1
- package/_modules/components/Stores/BusinessProductList/index.js +2 -1
- package/_modules/components/Stores/BusinessProductList/styles.js +1 -3
- package/_modules/components/Stores/BusinessProductsCategories/styles.js +2 -4
- package/_modules/components/Stores/BusinessProductsCategoyDetails/index.js +22 -4
- package/_modules/components/Stores/BusinessProductsCategoyDetails/styles.js +1 -1
- package/_modules/components/Stores/BusinessProductsCategoyInfo/index.js +11 -23
- package/_modules/components/Stores/BusinessProductsListing/index.js +3 -2
- package/_modules/components/Stores/BusinessPromotionList/styles.js +1 -1
- package/_modules/components/Stores/BusinessSalesChannel/index.js +142 -0
- package/_modules/components/Stores/BusinessSalesChannel/styles.js +26 -0
- package/_modules/components/Stores/BusinessSalesFacebook/FacebookPost.js +31 -0
- package/_modules/components/Stores/BusinessSalesFacebook/FacebookProfile.js +45 -0
- package/_modules/components/Stores/BusinessSalesFacebook/index.js +77 -0
- package/_modules/components/Stores/BusinessSalesFacebook/styles.js +58 -0
- package/_modules/components/Stores/BusinessSalesGoogle/index.js +85 -0
- package/_modules/components/Stores/BusinessSalesGoogle/styles.js +44 -0
- package/_modules/components/Stores/BusinessSalesInstagram/AdvancedInstagram.js +58 -0
- package/_modules/components/Stores/BusinessSalesInstagram/GeneralInstagram.js +51 -0
- package/_modules/components/{Loyalty/PointsWallet → Stores/BusinessSalesInstagram}/index.js +62 -44
- package/_modules/components/Stores/BusinessSalesInstagram/styles.js +63 -0
- package/_modules/components/Stores/BusinessSalesTiktok/index.js +100 -0
- package/_modules/components/Stores/BusinessSalesTiktok/styles.js +37 -0
- package/_modules/components/Stores/BusinessSummary/index.js +33 -6
- package/_modules/components/Stores/BusinessTypeDetail/index.js +1 -1
- package/_modules/components/Stores/BusinessesList/styles.js +1 -1
- package/_modules/components/Stores/BusinessesListing/index.js +12 -6
- package/_modules/components/Stores/BusinessesListingHeader/index.js +33 -3
- package/_modules/components/Stores/BusinessesListingHeader/styles.js +5 -2
- package/_modules/components/Stores/ImportersButton/index.js +2 -1
- package/_modules/components/Stores/PaymentOption/index.js +4 -10
- package/_modules/components/Stores/PaymentOptionMethods/index.js +47 -24
- package/_modules/components/Stores/PaymentOptionPaypal/index.js +47 -24
- package/_modules/components/Stores/PaymentOptionStripeDirect/index.js +47 -24
- package/_modules/components/Stores/PaymethodOptionStripeConnect/index.js +50 -25
- package/_modules/components/Stores/PaymethodOptionStripeRedirect/index.js +47 -24
- package/_modules/components/Stores/ProductDetails/index.js +2 -1
- package/_modules/components/Stores/ProductDetailsAdvanced/index.js +30 -11
- package/_modules/components/Stores/ProductDetailsAdvanced/styles.js +10 -7
- package/_modules/components/Stores/ProductDetatilsInformation/index.js +10 -34
- package/_modules/components/Stores/ProductExtraOptionDetails/index.js +1 -1
- package/_modules/components/Stores/ProductExtraOptions/index.js +1 -1
- package/_modules/components/Stores/ProductExtraSuboption/index.js +1 -1
- package/_modules/components/Stores/ProductGallery/index.js +1 -1
- package/_modules/components/Stores/ProductSummary/index.js +23 -2
- package/_modules/components/Stores/ProductTagDetails/index.js +1 -1
- package/_modules/components/Stores/SeoOptions/index.js +14 -16
- package/_modules/components/Stores/SeoOptions/styles.js +3 -3
- package/_modules/components/Stores/ServiceDetail/index.js +1 -1
- package/_modules/components/Stores/WizardBusiness/index.js +2 -1
- package/_modules/components/Stores/index.js +7 -0
- package/_modules/components/Users/CustomerDetails/index.js +24 -2
- package/_modules/components/Users/CustomerDetails/styles.js +16 -19
- package/_modules/components/Users/CustomersListing/index.js +39 -4
- package/_modules/components/Users/CustomersListing/styles.js +1 -1
- package/_modules/components/Users/ProfessionalDetail/index.js +19 -3
- package/_modules/components/Users/ProfessionalDetail/styles.js +11 -9
- package/_modules/components/Users/ProfessionalList/styles.js +1 -1
- package/_modules/components/Users/ProfessionalListing/index.js +8 -3
- package/_modules/components/Users/UserAddForm/index.js +1 -1
- package/_modules/components/Users/UserDetails/index.js +27 -10
- package/_modules/components/Users/UserDetails/styles.js +20 -13
- package/_modules/components/Users/UserDetailsLateralBar/styles.js +1 -1
- package/_modules/components/Users/UserFilterGroup/index.js +307 -0
- package/_modules/components/Users/UserFilterGroup/styles.js +37 -0
- package/_modules/components/Users/UserProfileForm/index.js +1 -1
- package/_modules/components/Users/UsersExportCSV/index.js +33 -1
- package/_modules/components/Users/UsersList/index.js +5 -2
- package/_modules/components/Users/UsersList/styles.js +20 -5
- package/_modules/components/Users/UsersListing/index.js +9 -3
- package/_modules/components/Users/UsersListingHeader/index.js +39 -4
- package/_modules/components/Users/UsersListingHeader/styles.js +1 -1
- package/_modules/components/Users/index.js +7 -0
- package/_modules/config/constants.js +281 -41
- package/_modules/index.js +6 -6
- package/index-template.js +72 -0
- package/package.json +2 -2
- package/src/components/BusinessIntelligence/BusinessReviewList/index.js +1 -0
- package/src/components/BusinessIntelligence/InvoiceBusinessManager/styles.js +2 -2
- package/src/components/BusinessIntelligence/InvoiceDriverManager/styles.js +2 -2
- package/src/components/BusinessIntelligence/InvoiceManager/index.js +1 -0
- package/src/components/BusinessIntelligence/UsersReviewList/index.js +5 -2
- package/src/components/CartRecovery/OpenCartsDetail/index.js +17 -1
- package/src/components/CartRecovery/OpenCartsDetail/styles.js +3 -1
- package/src/components/CartRecovery/RecoveryActionDetail/index.js +24 -6
- package/src/components/CartRecovery/RecoveryActionDetail/styles.js +2 -3
- package/src/components/CartRecovery/RecoveryActionList/styles.js +1 -5
- package/src/components/Delivery/DeliveryUsersListing/index.js +1 -0
- package/src/components/Delivery/DriversCompaniesList/styles.js +1 -1
- package/src/components/Delivery/DriversCompanyDetailsForm/index.js +38 -15
- package/src/components/Delivery/DriversCompanyDetailsForm/styles.js +9 -5
- package/src/components/Delivery/DriversGroupDetails/index.js +48 -18
- package/src/components/Delivery/DriversGroupDetails/styles.js +5 -1
- package/src/components/Delivery/DriversGroupsList/index.js +8 -6
- package/src/components/Delivery/DriversGroupsList/styles.js +1 -1
- package/src/components/Delivery/UserAddForm/index.js +1 -1
- package/src/components/Delivery/UserDetails/index.js +43 -21
- package/src/components/Delivery/UserDetails/styles.js +8 -2
- package/src/components/Delivery/UserDetailsLateralBar/styles.js +0 -1
- package/src/components/Delivery/UserProfileForm/index.js +1 -1
- package/src/components/Delivery/UsersList/styles.js +1 -1
- package/src/components/Login/LoginForm/index.js +92 -32
- package/src/components/Login/LoginForm/styles.js +16 -0
- package/src/components/Loyalty/GiftCardDetail/index.js +287 -0
- package/src/components/Loyalty/LoyaltyLevelDetail/index.js +1 -1
- package/src/components/Loyalty/PointsWalletBusinessList/index.js +1 -1
- package/src/components/Loyalty/PointsWalletBusinessList/styles.js +9 -1
- package/src/components/Loyalty/PointsWalletLevels/styles.js +1 -6
- package/src/components/Loyalty/RewardsPrograms/index.js +63 -36
- package/src/components/Loyalty/RewardsPrograms/styles.js +57 -0
- package/src/components/Loyalty/Wallet/index.js +115 -0
- package/src/components/Loyalty/{PointsWallet → Wallet}/styles.js +17 -0
- package/src/components/Loyalty/index.js +2 -2
- package/src/components/Marketing/BannerDetails/styles.js +1 -0
- package/src/components/Marketing/BannerImageDetails/index.js +1 -1
- package/src/components/Marketing/CampaignDetail/index.js +25 -5
- package/src/components/Marketing/CampaignDetail/styles.js +2 -4
- package/src/components/Marketing/CampaignList/styles.js +1 -5
- package/src/components/Marketing/EnterprisePromotionDetails/index.js +35 -17
- package/src/components/Marketing/EnterprisePromotionDetails/styles.js +7 -3
- package/src/components/Marketing/EnterprisePromotionGeneralDetails/index.js +1 -1
- package/src/components/Marketing/EnterprisePromotionList/styles.js +1 -4
- package/src/components/Marketing/EnterprisePromotionRules/index.js +1 -0
- package/src/components/Marketing/PageBanner/index.js +28 -10
- package/src/components/Marketing/PageBanner/styles.js +15 -8
- package/src/components/MyProducts/AdvancedSettings/ImageBox.js +112 -0
- package/src/components/MyProducts/OrderingWebsite/index.js +1 -1
- package/src/components/OrderingProducts/OrderingProductDetails/index.js +34 -12
- package/src/components/OrderingProducts/OrderingProductDetails/styles.js +8 -3
- package/src/components/OrderingProducts/OrderingProductsListing/styles.js +1 -5
- package/src/components/OrderingProducts/SiteTheme/ThemeImage.js +1 -1
- package/src/components/Orders/Messages/index.js +104 -84
- package/src/components/Orders/Messages/styles.js +20 -0
- package/src/components/Orders/OrderDashboardSLASetting/index.js +0 -1
- package/src/components/Orders/OrderDetailsHeader/index.js +30 -3
- package/src/components/Orders/OrdersFilterGroup/index.js +6 -6
- package/src/components/Orders/OrdersLateralBar/index.js +20 -2
- package/src/components/Orders/OrdersLateralBar/styles.js +3 -1
- package/src/components/Settings/ApiKeysList/styles.js +8 -0
- package/src/components/Settings/Cms/styles.js +1 -1
- package/src/components/Settings/CountriesList/index.js +4 -3
- package/src/components/Settings/CountriesList/styles.js +1 -1
- package/src/components/Settings/Deliverect/index.js +17 -1
- package/src/components/Settings/DoordashConnect/index.js +17 -1
- package/src/components/Settings/DropdownOptionList/index.js +1 -0
- package/src/components/Settings/DropdownOptionList/styles.js +1 -1
- package/src/components/Settings/IntegrationListing/index.js +3 -0
- package/src/components/Settings/ItsaCheckmate/index.js +17 -1
- package/src/components/Settings/LalamoveConnect/index.js +17 -1
- package/src/components/Settings/LanguageTransTable/styles.js +1 -1
- package/src/components/Settings/PickerExpress/index.js +17 -1
- package/src/components/Settings/PlaceListing/index.js +1 -0
- package/src/components/Settings/PlaceListing/styles.js +1 -1
- package/src/components/Settings/PluginList/styles.js +8 -0
- package/src/components/Settings/Settings/index.js +1 -0
- package/src/components/Settings/SettingsDetail/index.js +18 -1
- package/src/components/Settings/SettingsDetail/styles.js +9 -0
- package/src/components/Settings/SettingsImage/index.js +1 -1
- package/src/components/Settings/SitesAuthSettings/index.js +26 -2
- package/src/components/Settings/SitesAuthSettings/styles.js +14 -1
- package/src/components/Settings/WebhookList/styles.js +8 -0
- package/src/components/Shared/Modal/index.js +8 -3
- package/src/components/Shared/ProtectedRoute/index.js +7 -1
- package/src/components/Shared/SideBar/index.js +30 -10
- package/src/components/Shared/SideBar/styles.js +13 -14
- package/src/components/SidebarMenu/index.js +3 -6
- package/src/components/Stores/AddBusinessForm/index.js +1 -1
- package/src/components/Stores/BusinessAdd/Images/index.js +1 -1
- package/src/components/Stores/BusinessAdd/Photos/index.js +1 -1
- package/src/components/Stores/BusinessAddStore/index.js +0 -1
- package/src/components/Stores/BusinessBrandGENDetail/index.js +19 -18
- package/src/components/Stores/BusinessBrandListing/index.js +29 -11
- package/src/components/Stores/BusinessBrandListing/styles.js +7 -3
- package/src/components/Stores/BusinessDeliveryZoneInformation/index.js +1 -1
- package/src/components/Stores/BusinessDetails/index.js +8 -0
- package/src/components/Stores/BusinessFilterGroup/index.js +168 -0
- package/src/components/Stores/BusinessFilterGroup/styles.js +116 -0
- package/src/components/Stores/BusinessInformation/index.js +1 -1
- package/src/components/Stores/BusinessOrderingChannels/index.js +4 -2
- package/src/components/Stores/BusinessProductAddForm/index.js +1 -1
- package/src/components/Stores/BusinessProductList/index.js +1 -0
- package/src/components/Stores/BusinessProductList/styles.js +1 -4
- package/src/components/Stores/BusinessProductsCategories/styles.js +1 -5
- package/src/components/Stores/BusinessProductsCategoyDetails/index.js +23 -3
- package/src/components/Stores/BusinessProductsCategoyDetails/styles.js +2 -2
- package/src/components/Stores/BusinessProductsCategoyInfo/index.js +18 -47
- package/src/components/Stores/BusinessProductsListing/index.js +13 -10
- package/src/components/Stores/BusinessPromotionList/styles.js +1 -1
- package/src/components/Stores/BusinessSalesChannel/index.js +165 -0
- package/src/components/Stores/BusinessSalesChannel/styles.js +75 -0
- package/src/components/Stores/BusinessSalesFacebook/FacebookPost.js +29 -0
- package/src/components/Stores/BusinessSalesFacebook/FacebookProfile.js +51 -0
- package/src/components/Stores/BusinessSalesFacebook/index.js +81 -0
- package/src/components/Stores/BusinessSalesFacebook/styles.js +135 -0
- package/src/components/Stores/BusinessSalesGoogle/index.js +88 -0
- package/src/components/Stores/BusinessSalesGoogle/styles.js +119 -0
- package/src/components/Stores/BusinessSalesInstagram/AdvancedInstagram.js +54 -0
- package/src/components/Stores/BusinessSalesInstagram/GeneralInstagram.js +53 -0
- package/src/components/Stores/BusinessSalesInstagram/index.js +81 -0
- package/src/components/Stores/BusinessSalesInstagram/styles.js +157 -0
- package/src/components/Stores/BusinessSalesTiktok/index.js +116 -0
- package/src/components/Stores/BusinessSalesTiktok/styles.js +100 -0
- package/src/components/Stores/BusinessSummary/index.js +32 -3
- package/src/components/Stores/BusinessTypeDetail/index.js +1 -1
- package/src/components/Stores/BusinessesList/styles.js +1 -1
- package/src/components/Stores/BusinessesListing/index.js +24 -11
- package/src/components/Stores/BusinessesListingHeader/index.js +25 -4
- package/src/components/Stores/BusinessesListingHeader/styles.js +13 -1
- package/src/components/Stores/ImportersButton/index.js +1 -0
- package/src/components/Stores/PaymentOption/index.js +4 -6
- package/src/components/Stores/PaymentOptionMethods/index.js +42 -21
- package/src/components/Stores/PaymentOptionPaypal/index.js +42 -21
- package/src/components/Stores/PaymentOptionStripeDirect/index.js +42 -21
- package/src/components/Stores/PaymethodOptionStripeConnect/index.js +45 -22
- package/src/components/Stores/PaymethodOptionStripeRedirect/index.js +42 -21
- package/src/components/Stores/ProductDetails/index.js +1 -0
- package/src/components/Stores/ProductDetailsAdvanced/index.js +18 -0
- package/src/components/Stores/ProductDetailsAdvanced/styles.js +5 -0
- package/src/components/Stores/ProductDetatilsInformation/index.js +2 -48
- package/src/components/Stores/ProductExtraOptionDetails/index.js +1 -1
- package/src/components/Stores/ProductExtraOptions/index.js +1 -1
- package/src/components/Stores/ProductExtraSuboption/index.js +1 -1
- package/src/components/Stores/ProductGallery/index.js +1 -1
- package/src/components/Stores/ProductSummary/index.js +24 -3
- package/src/components/Stores/ProductTagDetails/index.js +1 -1
- package/src/components/Stores/SeoOptions/index.js +18 -12
- package/src/components/Stores/SeoOptions/styles.js +5 -14
- package/src/components/Stores/ServiceDetail/index.js +1 -1
- package/src/components/Stores/WizardBusiness/index.js +1 -0
- package/src/components/Stores/index.js +2 -0
- package/src/components/Users/CustomerDetails/index.js +39 -14
- package/src/components/Users/CustomerDetails/styles.js +2 -5
- package/src/components/Users/CustomersListing/index.js +32 -15
- package/src/components/Users/CustomersListing/styles.js +1 -1
- package/src/components/Users/ProfessionalDetail/index.js +43 -23
- package/src/components/Users/ProfessionalDetail/styles.js +5 -0
- package/src/components/Users/ProfessionalList/styles.js +1 -1
- package/src/components/Users/ProfessionalListing/index.js +6 -1
- package/src/components/Users/UserAddForm/index.js +1 -1
- package/src/components/Users/UserDetails/index.js +34 -17
- package/src/components/Users/UserDetails/styles.js +17 -2
- package/src/components/Users/UserDetailsLateralBar/styles.js +0 -1
- package/src/components/Users/UserFilterGroup/index.js +306 -0
- package/src/components/Users/UserFilterGroup/styles.js +116 -0
- package/src/components/Users/UserProfileForm/index.js +1 -1
- package/src/components/Users/UsersExportCSV/index.js +19 -1
- package/src/components/Users/UsersList/index.js +9 -2
- package/src/components/Users/UsersList/styles.js +28 -1
- package/src/components/Users/UsersListing/index.js +7 -1
- package/src/components/Users/UsersListingHeader/index.js +66 -33
- package/src/components/Users/UsersListingHeader/styles.js +4 -0
- package/src/components/Users/index.js +2 -0
- package/src/config/constants.js +1215 -244
- package/src/index.js +2 -2
- package/template/assets/images/icons/business-google.svg +26 -0
- package/template/assets/images/icons/facebook.svg +11 -0
- package/template/assets/images/icons/instagram.svg +19 -0
- package/template/assets/images/icons/tiktok.svg +11 -0
- package/template/assets/images/salesChannels/facebook-post-step1.png +0 -0
- package/template/assets/images/salesChannels/facebook-post-step2.png +0 -0
- package/template/assets/images/salesChannels/facebook-profile-step2.png +0 -0
- package/template/assets/images/salesChannels/facebook-profile-step3-1.png +0 -0
- package/template/assets/images/salesChannels/facebook-profile-step3-2.png +0 -0
- package/template/assets/images/salesChannels/facebook-profile-step4.png +0 -0
- package/template/assets/images/salesChannels/facebook-profile-step5.png +0 -0
- package/template/assets/images/salesChannels/google-step1.png +0 -0
- package/template/assets/images/salesChannels/google-step2.png +0 -0
- package/template/assets/images/salesChannels/google-step3.png +0 -0
- package/template/assets/images/salesChannels/instagram-advanced-step31.png +0 -0
- package/template/assets/images/salesChannels/instagram-advanced-step32.png +0 -0
- package/template/assets/images/salesChannels/instagram-advanced-step41.png +0 -0
- package/template/assets/images/salesChannels/instagram-advanced-step42.png +0 -0
- package/template/assets/images/salesChannels/instagram-general-step2.png +0 -0
- package/template/assets/images/salesChannels/instagram-general-step3.png +0 -0
- package/template/assets/images/salesChannels/instagram-general-step4.png +0 -0
- package/template/assets/images/salesChannels/instagram-general-step5.png +0 -0
- package/template/assets/images/salesChannels/instagram-general-step6.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step1.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step10.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step2.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step3.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step4.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step5.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step6.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step7.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step8.png +0 -0
- package/template/assets/images/salesChannels/tiktok-step9.png +0 -0
- package/template/pages/CustomersList/index.js +1 -1
- package/template/pages/Login/index.js +7 -1
- package/src/components/Loyalty/PointsWallet/index.js +0 -71
- /package/_bundles/{ordering-ui-admin.8ae8bce37d1d9d2daf8b.js.LICENSE.txt → ordering-ui-admin.7260e823d98951f8d36d.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react'
|
|
2
|
+
import { Dropdown, DropdownButton } from 'react-bootstrap'
|
|
3
|
+
import { useTheme } from 'styled-components'
|
|
4
|
+
import { useForm } from 'react-hook-form'
|
|
5
|
+
import { ThreeDots, Image as ImageIcon } from 'react-bootstrap-icons'
|
|
6
|
+
import { useLanguage, DragAndDrop, ExamineClick, useUtils, PlatformProductDetail as PlatformProductDetailController } from 'ordering-components-admin-external'
|
|
7
|
+
import { Confirm, Alert, ImageCrop, Modal } from '../../Shared'
|
|
8
|
+
import { Input, Button, Switch } from '../../../styles'
|
|
9
|
+
import { bytesConverter } from '../../../utils'
|
|
10
|
+
|
|
11
|
+
import {
|
|
12
|
+
Container,
|
|
13
|
+
DetailsHeader,
|
|
14
|
+
LeftHeader,
|
|
15
|
+
RightHeader,
|
|
16
|
+
LevelName,
|
|
17
|
+
ActionSelectorWrapper,
|
|
18
|
+
Content,
|
|
19
|
+
FormController,
|
|
20
|
+
ButtonWrapper,
|
|
21
|
+
LoyaltyImage,
|
|
22
|
+
UploadImageIconContainer,
|
|
23
|
+
UploadImageIcon
|
|
24
|
+
} from './styles'
|
|
25
|
+
|
|
26
|
+
const GiftCardDetailUI = (props) => {
|
|
27
|
+
const {
|
|
28
|
+
product,
|
|
29
|
+
formState,
|
|
30
|
+
handleChangeInput,
|
|
31
|
+
handlechangeImage,
|
|
32
|
+
handleChangeItem,
|
|
33
|
+
handleAddProduct,
|
|
34
|
+
handleUpdateProduct,
|
|
35
|
+
handleDeleteProduct
|
|
36
|
+
} = props
|
|
37
|
+
|
|
38
|
+
const theme = useTheme()
|
|
39
|
+
const [, t] = useLanguage()
|
|
40
|
+
const [{ optimizeImage }] = useUtils()
|
|
41
|
+
const { handleSubmit } = useForm()
|
|
42
|
+
|
|
43
|
+
const [confirm, setConfirm] = useState({ open: false, content: null, handleOnAccept: null })
|
|
44
|
+
const [alertState, setAlertState] = useState({ open: false, content: [] })
|
|
45
|
+
const [cropState, setCropState] = useState({ name: null, data: null, open: false })
|
|
46
|
+
|
|
47
|
+
const imageRef = useRef()
|
|
48
|
+
|
|
49
|
+
const closeAlert = () => {
|
|
50
|
+
setAlertState({
|
|
51
|
+
open: false,
|
|
52
|
+
content: []
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const onClickDeleteGiftCard = () => {
|
|
57
|
+
setConfirm({
|
|
58
|
+
open: true,
|
|
59
|
+
content: t('QUESTION_DELETE_ITEM', 'Are you sure to delete this _item_?').replace('_item_', t('GIFT_CARD', 'Gift card')),
|
|
60
|
+
handleOnAccept: () => {
|
|
61
|
+
setConfirm({ ...confirm, open: false })
|
|
62
|
+
handleDeleteProduct()
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const handleChangePhoto = (croppedImg) => {
|
|
68
|
+
handleChangeItem({ [cropState?.name]: croppedImg })
|
|
69
|
+
setCropState({ name: null, data: null, open: false })
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const onSubmit = () => {
|
|
73
|
+
if (formState?.changes?.name === '') {
|
|
74
|
+
setAlertState({
|
|
75
|
+
open: true,
|
|
76
|
+
content: t(
|
|
77
|
+
'VALIDATION_ERROR_REQUIRED',
|
|
78
|
+
'Value is required'
|
|
79
|
+
).replace('_attribute_', 'name')
|
|
80
|
+
})
|
|
81
|
+
return
|
|
82
|
+
}
|
|
83
|
+
if (formState?.changes?.accumulation_rate === '') {
|
|
84
|
+
setAlertState({
|
|
85
|
+
open: true,
|
|
86
|
+
content: t(
|
|
87
|
+
'VALIDATION_ERROR_REQUIRED',
|
|
88
|
+
'Value is required'
|
|
89
|
+
).replace('_attribute_', 'accumulation_rate')
|
|
90
|
+
})
|
|
91
|
+
return
|
|
92
|
+
}
|
|
93
|
+
if (formState?.changes?.minimum_points === '') {
|
|
94
|
+
setAlertState({
|
|
95
|
+
open: true,
|
|
96
|
+
content: t(
|
|
97
|
+
'VALIDATION_ERROR_REQUIRED',
|
|
98
|
+
'Value is required'
|
|
99
|
+
).replace('_attribute_', 'points_required')
|
|
100
|
+
})
|
|
101
|
+
return
|
|
102
|
+
}
|
|
103
|
+
if (product?.id) handleUpdateProduct()
|
|
104
|
+
else handleAddProduct('gift_card')
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const handleClickImage = () => {
|
|
108
|
+
imageRef.current.click()
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const handleFiles = (files) => {
|
|
112
|
+
if (files.length === 1) {
|
|
113
|
+
const type = files[0].type.split('/')[0]
|
|
114
|
+
if (type !== 'image') {
|
|
115
|
+
setAlertState({
|
|
116
|
+
open: true,
|
|
117
|
+
content: [t('ERROR_ONLY_IMAGES', 'Only images can be accepted')]
|
|
118
|
+
})
|
|
119
|
+
return
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (bytesConverter(files[0]?.size) > 2048) {
|
|
123
|
+
setAlertState({
|
|
124
|
+
open: true,
|
|
125
|
+
content: [t('IMAGE_MAXIMUM_SIZE', 'The maximum image size is 2 megabytes')]
|
|
126
|
+
})
|
|
127
|
+
return
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const reader = new window.FileReader()
|
|
131
|
+
reader.readAsDataURL(files[0])
|
|
132
|
+
reader.onload = () => {
|
|
133
|
+
setCropState({ name: 'image', data: reader.result, open: true })
|
|
134
|
+
}
|
|
135
|
+
reader.onerror = error => console.log(error)
|
|
136
|
+
|
|
137
|
+
handlechangeImage(files[0])
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
useEffect(() => {
|
|
142
|
+
if (!formState.error) return
|
|
143
|
+
setAlertState({
|
|
144
|
+
open: true,
|
|
145
|
+
content: formState.error
|
|
146
|
+
})
|
|
147
|
+
}, [formState?.error])
|
|
148
|
+
|
|
149
|
+
return (
|
|
150
|
+
<>
|
|
151
|
+
<Container>
|
|
152
|
+
<DetailsHeader>
|
|
153
|
+
<LeftHeader>
|
|
154
|
+
<LevelName>{product?.id ? (formState?.changes?.name ?? product?.name) : t('NEW_GIFT_CARD', 'New gift card')}</LevelName>
|
|
155
|
+
{product?.id && (
|
|
156
|
+
<Switch
|
|
157
|
+
defaultChecked={product?.enabled}
|
|
158
|
+
onChange={val => handleUpdateProduct({ enabled: val })}
|
|
159
|
+
/>
|
|
160
|
+
)}
|
|
161
|
+
</LeftHeader>
|
|
162
|
+
{product?.id && (
|
|
163
|
+
<RightHeader>
|
|
164
|
+
<ActionSelectorWrapper>
|
|
165
|
+
<DropdownButton
|
|
166
|
+
menuAlign={theme?.rtl ? 'left' : 'right'}
|
|
167
|
+
title={<ThreeDots />}
|
|
168
|
+
id={theme?.rtl ? 'dropdown-menu-align-left' : 'dropdown-menu-align-right'}
|
|
169
|
+
>
|
|
170
|
+
<Dropdown.Item onClick={onClickDeleteGiftCard}>
|
|
171
|
+
{t('DELETE', 'Delete')}
|
|
172
|
+
</Dropdown.Item>
|
|
173
|
+
</DropdownButton>
|
|
174
|
+
</ActionSelectorWrapper>
|
|
175
|
+
</RightHeader>
|
|
176
|
+
)}
|
|
177
|
+
</DetailsHeader>
|
|
178
|
+
<Content onSubmit={handleSubmit(onSubmit)}>
|
|
179
|
+
<LoyaltyImage
|
|
180
|
+
onClick={() => handleClickImage()}
|
|
181
|
+
>
|
|
182
|
+
<ExamineClick
|
|
183
|
+
onFiles={files => handleFiles(files)}
|
|
184
|
+
childRef={(e) => { imageRef.current = e }}
|
|
185
|
+
accept='image/png, image/jpeg, image/jpg'
|
|
186
|
+
disabled={formState.loading}
|
|
187
|
+
>
|
|
188
|
+
<DragAndDrop
|
|
189
|
+
onDrop={dataTransfer => handleFiles(dataTransfer.files)}
|
|
190
|
+
accept='image/png, image/jpeg, image/jpg'
|
|
191
|
+
disabled={formState.loading}
|
|
192
|
+
>
|
|
193
|
+
{
|
|
194
|
+
(!formState.changes?.image || formState.error)
|
|
195
|
+
? product?.image && (<img src={optimizeImage(product?.image, 'h_200,c_limit')} alt='tag image' loading='lazy' />)
|
|
196
|
+
: formState?.changes?.image && (<img src={formState?.changes?.image} alt='tag image' loading='lazy' />)
|
|
197
|
+
}
|
|
198
|
+
<UploadImageIconContainer>
|
|
199
|
+
<UploadImageIcon>
|
|
200
|
+
<ImageIcon />
|
|
201
|
+
</UploadImageIcon>
|
|
202
|
+
</UploadImageIconContainer>
|
|
203
|
+
</DragAndDrop>
|
|
204
|
+
</ExamineClick>
|
|
205
|
+
</LoyaltyImage>
|
|
206
|
+
<FormController>
|
|
207
|
+
<label>{t('NAME', 'Name')}</label>
|
|
208
|
+
<Input
|
|
209
|
+
name='name'
|
|
210
|
+
placeholder={t('Name', 'name')}
|
|
211
|
+
value={formState?.changes?.name ?? product?.name ?? ''}
|
|
212
|
+
onChange={handleChangeInput}
|
|
213
|
+
disabled={formState.loading}
|
|
214
|
+
autoComplete='off'
|
|
215
|
+
/>
|
|
216
|
+
</FormController>
|
|
217
|
+
<FormController>
|
|
218
|
+
<label>{t('AMOUNT', 'Amount')}</label>
|
|
219
|
+
<Input
|
|
220
|
+
name='price'
|
|
221
|
+
placeholder={t('AMOUNT', 'Amount')}
|
|
222
|
+
value={formState?.changes?.price ?? product?.price ?? ''}
|
|
223
|
+
onChange={handleChangeInput}
|
|
224
|
+
disabled={formState.loading}
|
|
225
|
+
autoComplete='off'
|
|
226
|
+
onKeyPress={(e) => {
|
|
227
|
+
if (!/^[0-9.]$/.test(e.key)) {
|
|
228
|
+
e.preventDefault()
|
|
229
|
+
}
|
|
230
|
+
}}
|
|
231
|
+
/>
|
|
232
|
+
</FormController>
|
|
233
|
+
<ButtonWrapper>
|
|
234
|
+
<Button
|
|
235
|
+
color='primary'
|
|
236
|
+
type='submit'
|
|
237
|
+
disabled={Object.keys(formState?.changes).length === 0 || formState?.loading}
|
|
238
|
+
>
|
|
239
|
+
{product?.id ? ('SAVE', 'Save') : ('ADD', 'Add')}
|
|
240
|
+
</Button>
|
|
241
|
+
</ButtonWrapper>
|
|
242
|
+
</Content>
|
|
243
|
+
</Container>
|
|
244
|
+
<Confirm
|
|
245
|
+
width='700px'
|
|
246
|
+
title={t('WEB_APPNAME', 'Ordering')}
|
|
247
|
+
content={confirm.content}
|
|
248
|
+
acceptText={t('ACCEPT', 'Accept')}
|
|
249
|
+
open={confirm.open}
|
|
250
|
+
onClose={() => setConfirm({ ...confirm, open: false })}
|
|
251
|
+
onCancel={() => setConfirm({ ...confirm, open: false })}
|
|
252
|
+
onAccept={confirm.handleOnAccept}
|
|
253
|
+
closeOnBackdrop={false}
|
|
254
|
+
/>
|
|
255
|
+
<Alert
|
|
256
|
+
title={t('WEB_APPNAME', 'Ordering')}
|
|
257
|
+
content={alertState.content}
|
|
258
|
+
acceptText={t('ACCEPT', 'Accept')}
|
|
259
|
+
open={alertState.open}
|
|
260
|
+
onClose={() => closeAlert()}
|
|
261
|
+
onAccept={() => closeAlert()}
|
|
262
|
+
closeOnBackdrop={false}
|
|
263
|
+
/>
|
|
264
|
+
<Modal
|
|
265
|
+
width='700px'
|
|
266
|
+
height='80vh'
|
|
267
|
+
padding='30px'
|
|
268
|
+
title={t('IMAGE_CROP', 'Image crop')}
|
|
269
|
+
open={cropState?.open}
|
|
270
|
+
onRemove={() => setCropState({ ...cropState, open: false })}
|
|
271
|
+
>
|
|
272
|
+
<ImageCrop
|
|
273
|
+
photo={cropState?.data}
|
|
274
|
+
handleChangePhoto={handleChangePhoto}
|
|
275
|
+
/>
|
|
276
|
+
</Modal>
|
|
277
|
+
</>
|
|
278
|
+
)
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export const GiftCardDetail = (props) => {
|
|
282
|
+
const giftCardDetailProps = {
|
|
283
|
+
...props,
|
|
284
|
+
UIComponent: GiftCardDetailUI
|
|
285
|
+
}
|
|
286
|
+
return <PlatformProductDetailController {...giftCardDetailProps} />
|
|
287
|
+
}
|
|
@@ -352,7 +352,7 @@ const LoyaltyLevelDetailUI = (props) => {
|
|
|
352
352
|
padding='30px'
|
|
353
353
|
title={t('IMAGE_CROP', 'Image crop')}
|
|
354
354
|
open={cropState?.open}
|
|
355
|
-
|
|
355
|
+
onRemove={() => setCropState({ ...cropState, open: false })}
|
|
356
356
|
>
|
|
357
357
|
<ImageCrop
|
|
358
358
|
photo={cropState?.data}
|
|
@@ -213,7 +213,7 @@ const PointsWalletBusinessListUI = (props) => {
|
|
|
213
213
|
<tr>
|
|
214
214
|
<th className='business-info'>{t('BUSINESSES', 'Businesses')}</th>
|
|
215
215
|
<th>{t('ORDERS_BOX_STATUS_HEADER', 'Status')}</th>
|
|
216
|
-
<th>{t('
|
|
216
|
+
<th>{t('REDEEEM', 'Redeeem')}</th>
|
|
217
217
|
<th>{t('ACCUMULATION', 'Accumulation')}</th>
|
|
218
218
|
<th />
|
|
219
219
|
</tr>
|
|
@@ -37,10 +37,13 @@ export const BusinessTable = styled.table`
|
|
|
37
37
|
border-bottom: 1px solid ${props => props.theme.colors.secundaryLight};
|
|
38
38
|
tr{
|
|
39
39
|
th {
|
|
40
|
-
padding: 12px
|
|
40
|
+
padding: 12px 5px;
|
|
41
41
|
:not(.business-info) {
|
|
42
42
|
text-align: center;
|
|
43
43
|
}
|
|
44
|
+
&:first-child, &:last-child {
|
|
45
|
+
padding: 12px 0px;
|
|
46
|
+
}
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
}
|
|
@@ -78,11 +81,16 @@ export const BusinessInfoWrapper = styled.div`
|
|
|
78
81
|
margin-right: 12px;
|
|
79
82
|
margin-left: 0;
|
|
80
83
|
`}
|
|
84
|
+
display: -webkit-box;
|
|
85
|
+
-webkit-box-orient: vertical;
|
|
86
|
+
-webkit-line-clamp: 2;
|
|
87
|
+
overflow: hidden;
|
|
81
88
|
}
|
|
82
89
|
`
|
|
83
90
|
|
|
84
91
|
export const WrapperImage = styled.div`
|
|
85
92
|
max-width: 38px;
|
|
93
|
+
min-width: 38px;
|
|
86
94
|
max-height: 38px;
|
|
87
95
|
height: 38px;
|
|
88
96
|
width: 38px;
|
|
@@ -110,13 +110,8 @@ export const LevelBottomContainer = styled.div`
|
|
|
110
110
|
export const AddNewLevelButton = styled.div`
|
|
111
111
|
cursor: pointer;
|
|
112
112
|
font-size: 14px;
|
|
113
|
-
color: ${props => props.theme.colors.
|
|
114
|
-
transition: all 0.3s linear;
|
|
113
|
+
color: ${props => props.theme.colors.primary};
|
|
115
114
|
user-select: none;
|
|
116
|
-
|
|
117
|
-
&:hover {
|
|
118
|
-
color: ${props => props.theme.colors.primary};
|
|
119
|
-
}
|
|
120
115
|
`
|
|
121
116
|
export const NotFoundSourceWrapper = styled.div`
|
|
122
117
|
> div {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
|
-
import { List as MenuIcon, Wallet,
|
|
3
|
-
import { useLanguage
|
|
2
|
+
import { List as MenuIcon, BarChartSteps, Gift, Wallet as Cash, InfoCircle } from 'react-bootstrap-icons'
|
|
3
|
+
import { useLanguage } from 'ordering-components-admin-external'
|
|
4
4
|
import { useInfoShare } from '../../../contexts/InfoShareContext'
|
|
5
5
|
import { IconButton } from '../../../styles'
|
|
6
6
|
import { SideBar } from '../../Shared'
|
|
7
|
+
import { Wallet } from '../Wallet'
|
|
8
|
+
import { PointsWalletLevels } from '../PointsWalletLevels'
|
|
7
9
|
|
|
8
10
|
import {
|
|
9
11
|
Container,
|
|
@@ -11,12 +13,12 @@ import {
|
|
|
11
13
|
LoyaltyListContainer,
|
|
12
14
|
LoyaltyItemWrapper,
|
|
13
15
|
IconWrapper,
|
|
14
|
-
LoyaltyItemContent
|
|
16
|
+
LoyaltyItemContent,
|
|
17
|
+
InfoWrapper,
|
|
18
|
+
InfoContent
|
|
15
19
|
} from './styles'
|
|
16
|
-
import { PointsWallet } from '../PointsWallet'
|
|
17
|
-
import { PointsWalletLevels } from '../PointsWalletLevels'
|
|
18
20
|
|
|
19
|
-
const
|
|
21
|
+
export const RewardsPrograms = () => {
|
|
20
22
|
const [, t] = useLanguage()
|
|
21
23
|
const [{ isCollapse }, { handleMenuCollapse }] = useInfoShare()
|
|
22
24
|
|
|
@@ -24,6 +26,13 @@ const RewardsProgramsUI = (props) => {
|
|
|
24
26
|
const [moveDistance, setMoveDistance] = useState(0)
|
|
25
27
|
const [levelMoveDistance, setLevelMoveDistance] = useState(0)
|
|
26
28
|
|
|
29
|
+
const walletList = [
|
|
30
|
+
{ key: 'credit_point', name: t('POINTS_WALLET', 'Points wallet'), description: t('POINTS_WALLET_DESCRIPTION', 'Points wallet general and per business setup.'), icon: <Cash /> },
|
|
31
|
+
{ key: 'levels', name: t('LEVELS', 'Levels'), description: t('LEVELS_DESCRIPTION', 'Setup different loyalty levels for your users.'), icon: <BarChartSteps /> },
|
|
32
|
+
// { key: 'gift_card', name: t('GIFT_CARD', 'Gift Card'), description: t('GIFT_CARD_DESCRIPTION', 'Setup different gift cards for your customers.'), icon: <Gift /> },
|
|
33
|
+
{ key: 'cashback', name: t('CASH_WALLET', 'Cash wallet'), description: t('CASH_WALLET_DESCRIPTION', 'Cash wallet general and per business setup.'), icon: <Cash /> }
|
|
34
|
+
]
|
|
35
|
+
|
|
27
36
|
const hanldeClosePointsWallet = () => {
|
|
28
37
|
setMoveDistance(0)
|
|
29
38
|
setShowOption(null)
|
|
@@ -47,43 +56,54 @@ const RewardsProgramsUI = (props) => {
|
|
|
47
56
|
</IconButton>
|
|
48
57
|
)}
|
|
49
58
|
<h1>{t('LOYALTY_AUTOMATION', 'Loyalty automation')}</h1>
|
|
59
|
+
<InfoWrapper>
|
|
60
|
+
<IconButton
|
|
61
|
+
color='primary'
|
|
62
|
+
>
|
|
63
|
+
<InfoCircle />
|
|
64
|
+
</IconButton>
|
|
65
|
+
<InfoContent>
|
|
66
|
+
{t('LOYALTY_AUTOMATION_DESCRIPTION', 'Configure the available loyalty plans to allow your users to receive rewards per order in your website and app. This can be done in general and customized per business.')}
|
|
67
|
+
</InfoContent>
|
|
68
|
+
</InfoWrapper>
|
|
50
69
|
</HeaderTitleContainer>
|
|
51
70
|
|
|
52
71
|
<LoyaltyListContainer>
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
<
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
<p>{t('LEVELS_DESCRIPTION', 'Setup different loyalty levels for your users.')}</p>
|
|
69
|
-
</LoyaltyItemContent>
|
|
70
|
-
</LoyaltyItemWrapper>
|
|
72
|
+
{walletList.map(item => (
|
|
73
|
+
<LoyaltyItemWrapper
|
|
74
|
+
key={item.key}
|
|
75
|
+
onClick={() => setShowOption(item.key)}
|
|
76
|
+
>
|
|
77
|
+
<IconWrapper>
|
|
78
|
+
{item.icon}
|
|
79
|
+
</IconWrapper>
|
|
80
|
+
|
|
81
|
+
<LoyaltyItemContent>
|
|
82
|
+
<h5>{item.name}</h5>
|
|
83
|
+
<p>{item.description}</p>
|
|
84
|
+
</LoyaltyItemContent>
|
|
85
|
+
</LoyaltyItemWrapper>
|
|
86
|
+
))}
|
|
71
87
|
</LoyaltyListContainer>
|
|
72
88
|
</Container>
|
|
73
|
-
|
|
89
|
+
|
|
90
|
+
{(showOption === 'credit_point' || showOption === 'cashback') && (
|
|
74
91
|
<SideBar
|
|
75
92
|
sidebarId='loyaltyWallet'
|
|
76
|
-
open={showOption === '
|
|
93
|
+
open={(showOption === 'credit_point' || showOption === 'cashback')}
|
|
77
94
|
onClose={hanldeClosePointsWallet}
|
|
78
95
|
defaultSideBarWidth={550 + moveDistance}
|
|
79
96
|
moveDistance={moveDistance}
|
|
80
97
|
>
|
|
81
|
-
<
|
|
82
|
-
{
|
|
98
|
+
<Wallet
|
|
99
|
+
type={showOption}
|
|
100
|
+
title={walletList.find(item => item.key === showOption)?.name}
|
|
101
|
+
moveDistance={moveDistance}
|
|
83
102
|
handleParentSidebarMove={val => setMoveDistance(val)}
|
|
84
103
|
/>
|
|
85
104
|
</SideBar>
|
|
86
105
|
)}
|
|
106
|
+
|
|
87
107
|
{showOption === 'levels' && (
|
|
88
108
|
<SideBar
|
|
89
109
|
sidebarId='loyaltyLevels'
|
|
@@ -91,20 +111,27 @@ const RewardsProgramsUI = (props) => {
|
|
|
91
111
|
onClose={() => handleCloseLevel()}
|
|
92
112
|
defaultSideBarWidth={550 + levelMoveDistance}
|
|
93
113
|
moveDistance={levelMoveDistance}
|
|
114
|
+
showExpandIcon
|
|
94
115
|
>
|
|
95
116
|
<PointsWalletLevels
|
|
96
117
|
handleParentSidebarMove={val => setLevelMoveDistance(val)}
|
|
97
118
|
/>
|
|
98
119
|
</SideBar>
|
|
99
120
|
)}
|
|
121
|
+
|
|
122
|
+
{/* {showOption === 'gift_card' && (
|
|
123
|
+
<SideBar
|
|
124
|
+
open={showOption === 'gift_card'}
|
|
125
|
+
onClose={() => handleCloseGiftCard()}
|
|
126
|
+
defaultSideBarWidth={550 + giftCardMoveDistance}
|
|
127
|
+
moveDistance={giftCardMoveDistance}
|
|
128
|
+
showExpandIcon
|
|
129
|
+
>
|
|
130
|
+
<GiftCards
|
|
131
|
+
handleParentSidebarMove={val => setGiftCardMoveDistance(val)}
|
|
132
|
+
/>
|
|
133
|
+
</SideBar>
|
|
134
|
+
)} */}
|
|
100
135
|
</>
|
|
101
136
|
)
|
|
102
137
|
}
|
|
103
|
-
|
|
104
|
-
export const RewardsPrograms = (props) => {
|
|
105
|
-
const rewardsProgramsProps = {
|
|
106
|
-
...props,
|
|
107
|
-
UIComponent: RewardsProgramsUI
|
|
108
|
-
}
|
|
109
|
-
return <RewardsProgramsController {...rewardsProgramsProps} />
|
|
110
|
-
}
|
|
@@ -101,3 +101,60 @@ export const LoyaltyItemContent = styled.div`
|
|
|
101
101
|
overflow: hidden;
|
|
102
102
|
}
|
|
103
103
|
`
|
|
104
|
+
|
|
105
|
+
export const InfoWrapper = styled.div`
|
|
106
|
+
position: relative;
|
|
107
|
+
${props => props.theme?.rtl ? css`
|
|
108
|
+
margin-left: -8px;
|
|
109
|
+
margin-right: 8px;
|
|
110
|
+
` : css`
|
|
111
|
+
margin-right: -8px;
|
|
112
|
+
margin-left: 8px;
|
|
113
|
+
`}
|
|
114
|
+
|
|
115
|
+
> button {
|
|
116
|
+
height: 25px;
|
|
117
|
+
svg {
|
|
118
|
+
width: 16px;
|
|
119
|
+
height: 16px;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
&:hover > div {
|
|
123
|
+
/* display: block; */
|
|
124
|
+
visibility: visible;
|
|
125
|
+
opacity: 1;
|
|
126
|
+
}
|
|
127
|
+
`
|
|
128
|
+
|
|
129
|
+
export const InfoContent = styled.div`
|
|
130
|
+
position: absolute;
|
|
131
|
+
top: 100%;
|
|
132
|
+
z-index: 999;
|
|
133
|
+
background: ${props => props.theme.colors.backgroundInfo};
|
|
134
|
+
border: 1px solid ${props => props.theme.colors.primary};
|
|
135
|
+
box-sizing: border-box;
|
|
136
|
+
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
|
|
137
|
+
border-radius: 7.6px;
|
|
138
|
+
padding: 8px 12px;
|
|
139
|
+
font-size: 12px;
|
|
140
|
+
line-height: 18px;
|
|
141
|
+
min-width: 150px;
|
|
142
|
+
transition: all 0.3s linear;
|
|
143
|
+
visibility: hidden;
|
|
144
|
+
opacity: 0;
|
|
145
|
+
right: 0px;
|
|
146
|
+
${props => props.theme.rtl && css`
|
|
147
|
+
left: 0px;
|
|
148
|
+
right: initial;
|
|
149
|
+
`}
|
|
150
|
+
|
|
151
|
+
@media (min-width: 576px) {
|
|
152
|
+
min-width: 330px;
|
|
153
|
+
padding: 12px 15px;
|
|
154
|
+
left: 0px;
|
|
155
|
+
${props => props.theme.rtl && css`
|
|
156
|
+
right: 0px;
|
|
157
|
+
left: initial;
|
|
158
|
+
`}
|
|
159
|
+
}
|
|
160
|
+
`
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
|
+
import { useLanguage, RewardsPrograms as RewardsProgramsController } from 'ordering-components-admin-external'
|
|
3
|
+
import { PointsWalletBusinessDetail } from '../PointsWalletBusinessDetail'
|
|
4
|
+
import { PointsWalletBusinessList } from '../PointsWalletBusinessList'
|
|
5
|
+
import { IconButton } from '../../../styles'
|
|
6
|
+
import { ArrowsAngleContract, ArrowsAngleExpand } from 'react-bootstrap-icons'
|
|
7
|
+
import { useWindowSize } from '../../../hooks/useWindowSize'
|
|
8
|
+
import {
|
|
9
|
+
Container,
|
|
10
|
+
Title,
|
|
11
|
+
Tabs,
|
|
12
|
+
Tab,
|
|
13
|
+
Header,
|
|
14
|
+
SkeletonWrapper
|
|
15
|
+
} from './styles'
|
|
16
|
+
import Skeleton from 'react-loading-skeleton'
|
|
17
|
+
|
|
18
|
+
const WalletUI = (props) => {
|
|
19
|
+
const {
|
|
20
|
+
handleParentSidebarMove,
|
|
21
|
+
pointWallet,
|
|
22
|
+
handleUpdatePointsWallet,
|
|
23
|
+
moveDistance,
|
|
24
|
+
loyaltyPlanList,
|
|
25
|
+
title
|
|
26
|
+
} = props
|
|
27
|
+
|
|
28
|
+
const [, t] = useLanguage()
|
|
29
|
+
const { width } = useWindowSize()
|
|
30
|
+
|
|
31
|
+
const [selectedOption, setSelectedOption] = useState('general')
|
|
32
|
+
const [selectedBusinessList, setSelectedBusinessList] = useState([])
|
|
33
|
+
const [isExpand, setIsExpand] = useState(false)
|
|
34
|
+
|
|
35
|
+
const walletOptionList = [
|
|
36
|
+
{ key: 'general', name: t('GENERAL', 'General') },
|
|
37
|
+
{ key: 'business', name: t('BUSINESSES', 'Businesses') }
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
const expandSidebar = () => {
|
|
41
|
+
const element = document.getElementById('loyaltyWallet')
|
|
42
|
+
if (isExpand) element.style.width = '550px'
|
|
43
|
+
else element.style.width = '100vw'
|
|
44
|
+
setIsExpand(prev => !prev)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (selectedOption !== 'business') handleParentSidebarMove(0)
|
|
49
|
+
}, [selectedOption])
|
|
50
|
+
|
|
51
|
+
return (
|
|
52
|
+
<Container>
|
|
53
|
+
<Header>
|
|
54
|
+
<Title>{title}</Title>
|
|
55
|
+
{width > 576 && moveDistance === 0 && (
|
|
56
|
+
<IconButton
|
|
57
|
+
color='black'
|
|
58
|
+
onClick={expandSidebar}
|
|
59
|
+
>
|
|
60
|
+
{isExpand ? <ArrowsAngleContract /> : <ArrowsAngleExpand />}
|
|
61
|
+
</IconButton>
|
|
62
|
+
)}
|
|
63
|
+
</Header>
|
|
64
|
+
<Tabs>
|
|
65
|
+
{walletOptionList.map(option => (
|
|
66
|
+
<Tab
|
|
67
|
+
key={option.key}
|
|
68
|
+
active={selectedOption === option.key}
|
|
69
|
+
onClick={() => setSelectedOption(option.key)}
|
|
70
|
+
>
|
|
71
|
+
{option.name}
|
|
72
|
+
</Tab>
|
|
73
|
+
))}
|
|
74
|
+
</Tabs>
|
|
75
|
+
{loyaltyPlanList?.loading ? (
|
|
76
|
+
<SkeletonWrapper>
|
|
77
|
+
<h1>
|
|
78
|
+
<Skeleton width={150} height={20} />
|
|
79
|
+
</h1>
|
|
80
|
+
<Skeleton height={18} style={{ marginBottom: 10 }} count={8} />
|
|
81
|
+
</SkeletonWrapper>
|
|
82
|
+
) : (
|
|
83
|
+
<>
|
|
84
|
+
{selectedOption === 'general' && (
|
|
85
|
+
<div>
|
|
86
|
+
<PointsWalletBusinessDetail
|
|
87
|
+
loyaltyPlanList={loyaltyPlanList}
|
|
88
|
+
walletData={pointWallet}
|
|
89
|
+
handleUpdatePointsWallet={handleUpdatePointsWallet}
|
|
90
|
+
selectedBusinessList={selectedBusinessList}
|
|
91
|
+
/>
|
|
92
|
+
</div>
|
|
93
|
+
)}
|
|
94
|
+
{selectedOption === 'business' && (
|
|
95
|
+
<div>
|
|
96
|
+
<PointsWalletBusinessList
|
|
97
|
+
{...props}
|
|
98
|
+
setSelectedBusinessList={setSelectedBusinessList}
|
|
99
|
+
isCloseBusinessDetails={selectedOption !== 'business'}
|
|
100
|
+
/>
|
|
101
|
+
</div>
|
|
102
|
+
)}
|
|
103
|
+
</>
|
|
104
|
+
)}
|
|
105
|
+
</Container>
|
|
106
|
+
)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export const Wallet = (props) => {
|
|
110
|
+
const walletProps = {
|
|
111
|
+
...props,
|
|
112
|
+
UIComponent: WalletUI
|
|
113
|
+
}
|
|
114
|
+
return <RewardsProgramsController {...walletProps} />
|
|
115
|
+
}
|