{"version":3,"sources":["components/editor/flyersCatalog/mainFlyersCatalog/flyersCatalog.module.scss","components/editor/header/controls/right/settings/saleTypesSettings/saleTypesSettingsRow.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/MenuForItems/menuForItem.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/AddDeleteImageModal/AddDeleteImageModal.module.scss","components/editor/pages/pages.module.scss","components/editor/pages/page/page.module.scss","com/searchBar/searchBar.module.scss","components/editor/promos/leftMenu/promosLeftMenu.module.scss","components/com/PromosSaleTypesPopup/PromosSaleTypesPopup.module.scss","components/editor/flyersCatalog/trashFlyerCatalog/trashFlyer/trashFlyer.module.scss","components/editor/flyersCatalog/archiveFlyerCatalog/archiveFlyer/archiveFlyer.module.scss","components/editor/spots/leftMenu/FrameLeftMenu.module.scss","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/unlinkTablesForPromosItemsScreen/unlinkTablesForPromosItemsScreen.module.scss","components/editor/promos/rightContent/unlinkHeader/unlinkHeader.module.scss","components/editor/promos/FlyerPromosEditor.module.scss","components/editor/header/controls/right/settings/saleTypesSettings/saleTypesSettings.module.scss","components/com/tooltipPreviewOnlyImage/imagePreview.module.scss","components/com/pagesTab/pagesSpinner/spinner.module.scss","com/clickMenu/itemInMenu/itemInMenuContent/itemInMenuContent.module.scss","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/unlinkTablesForPromosItemsScreen/unlinkedPromoOrItem/unlinkedPromoOrItem.module.scss","com/qualityCheck/qualityCheck.module.scss","components/com/FileInput/FileInput.module.scss","com/horizontalTabs/horizontalTab/horizontalTab.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/PromotionDetailsModalPopup/PromotionDetailsModalPopup.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/CreateEditItemModal/CreateEditItemModal.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuContentElement.module.scss","components/editor/header/editorHeader.module.scss","components/editor/pages/page/image/image.module.scss","components/com/flyerPages/topBar/TopBar.module.scss","components/editor/flyersCatalog/mainFlyersCatalog/flyer/flyer.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContent.module.scss","components/com/QualificationForItemComponent/QualificationForItemComponent.module.scss","components/editor/promos/rightContent/flyerPages/FlyerPages.module.scss","components/editor/promos/rightContent/FlyerEditorContent.module.scss","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/rightMenu.module.scss","com/horizontalTabs/horizontalTabs.module.scss","components/editor/flyersCatalog/trashFlyerCatalog/trashFlyersCatalog.module.scss","components/editor/flyersCatalog/archiveFlyerCatalog/archiveFlyersCatalog.module.scss","com/statusPopup/StatusPopup.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions.module.scss","components/editor/flyerDetailsPopup/flyerDetailsPopup.module.scss","components/editor/flyerDetailsPopup/flyerDetailsRightPanel.module.scss","components/com/PromosSaleTypesPopup/PromoSaleType/PromoSaleType.module.scss","store/actionTypes/index.ts","store/reducers/authReducer.ts","store/reducers/flyersReducer.ts","globals/index.ts","store/reducers/flyerDetailsReducer.ts","store/reducers/changedStateForFlyerReducer.ts","dtos/index.ts","store/reducers/flippingFlyerReducer.ts","store/reducers/smartFlyerReducer.ts","store/reducers/guiSettingsReducer.ts","store/reducers/pagesReducer.ts","store/reducers/selectedPageForTabReducer.ts","store/reducers/saleTypesReducer.ts","store/reducers/spotsReducer.ts","store/reducers/promotionsAndItemsReducer.ts","store/reducers/flyerConversionSettingsReducer.ts","store/reducers/toggleActionForEditorReducer.ts","store/reducers/sellingUnitsReducer.ts","store/reducers/accountSettingsAndLangReducer.ts","store/reducers/accountEmailsSettingsReducer.ts","store/reducers/analyticsDataReducer.ts","store/reducers/flyerFromPdfReducer.ts","store/reducers/flyersFiltersReducer.ts","store/reducers/uploadingImagesProgressReducer.ts","store/reducers/tocForPagesReducer.ts","store/reducers/flyerFromJpegsReducer.ts","store/reducers/flyerWithoutPageImagesReducer.ts","store/reducers/flyerClassesReducer.ts","store/reducers/downloadFileReducer.ts","store/reducers/accountStoreSettingsReducer.ts","store/reducers/storeShelfStylesReducer.ts","store/reducers/storeForAccountReducer.ts","store/reducers/usersAndPermissionsReducer.ts","store/reducers/updatePasswordReducer.ts","store/reducers/index.ts","store/store.ts","com/envManager/EnvManager.ts","store/actionCreators/index.ts","store/actionCreators/flyersActionCreators.ts","store/actionCreators/flyerDetailsActionCreators.ts","globals/CustomDataEvent.ts","globals/EventDispatcher.ts","store/actionCreators/flippingFlyerActionCreators.ts","assets/editors/close_icon_x.svg","store/actionCreators/spotsActionCreators.ts","helpers/history.js","com/errorBoundary/ErrorBoundary.jsx","com/statusPopup/StatusPopup.tsx","assets/popup/vi_icon.png","components/com/pagesTab/orangeBtn/OrangeButton.tsx","assets/popup/x_icon.png","assets/popup/error_icon.png","assets/popup/warning_icon.png","hooks/useTypeSelector.ts","components/reduxErrorsHandler/ReduxErrorsHandler.tsx","com/loader/Loader.tsx","assets/loading_icon.png","com/buttonLoader/ButtonLoader.tsx","com/textInput/TextInput.tsx","com/passwordInput/PasswordInput.tsx","assets/password_input_eye.png","helpers/utils.ts","webpack:///./src/assets/camera_icon.svg?3ecd","components/auth/signIn/SigninForm.tsx","assets/auth/email_sent_icon.svg","components/auth/emailSent/EmailSent.tsx","components/auth/register/RegisterForm.tsx","assets/auth/mail_icon.svg","components/auth/completeRegistration/CompleteRegistration.tsx","components/auth/forgotPassword/ForgotPasswordForm.tsx","components/auth/resetPassword/ResetPassword.tsx","assets/logo.svg","com/authPrivacy/AuthPrivacy.tsx","components/auth/completeUserRegistration/CompleteUserRegistration.tsx","components/auth/setPassword/SetPassword.tsx","components/auth/AuthScreen.tsx","components/com/pagesTab/pagesSpinner/spinner.tsx","com/imageWithLoader/imageWithLoader.tsx","store/actionCreators/flyerFromPdfActionCreator.ts","components/editor/progressBar/progressBar.tsx","store/actionCreators/uploadingImagesProgressActionCreator.ts","globals/globalFunctions.js","components/xCircularLandingPage/uploadingPdfAndCreateFlyer/uploadingPdfAndCreateFlyer.tsx","assets/xCircularIcons/uploadPdfIcon.png","com/rolloverMenu/RolloverMenu.tsx","components/editor/header/controls/right/settings/menu/SettingsControlsMenu.tsx","com/dragManager/DragManager.ts","assets/close_icon.svg","com/colorsSelector2/ColorsSelector.jsx","assets/colors_selector_icon.png","com/labelFileSelector/LabelFileSelector.tsx","assets/editors/upload_icon.svg","com/closePopupBtn/closePopupBtn.tsx","components/editor/header/controls/right/settings/guiThemes/header/GuiThemesHeader.tsx","com/imageLoader/ImageLoader.ts","assets/promos&items/image_error.svg","webpack:///./src/assets/iconStyles/set_1/set_1_Promo.svg?c19b","webpack:///./src/assets/iconStyles/set_2/set_2_Promo-1.svg?5c45","webpack:///./src/assets/iconStyles/set_3/set_3_Promo-2.svg?48b1","webpack:///./src/assets/iconStyles/set_4/set_4_Promo-3.svg?051a","webpack:///./src/assets/iconStyles/set_5/set_5_Promo-4.svg?f614","webpack:///./src/assets/iconStyles/set_6/set_6_Promo-5.svg?e0fa","webpack:///./src/assets/iconStyles/set_7/set_7_Promo-6.svg?f50b","webpack:///./src/assets/iconStyles/set_8/set_8_Promo-7.svg?60d1","webpack:///./src/assets/iconStyles/set_1/set_1_Page.svg?100a","webpack:///./src/assets/iconStyles/set_2/set_2_Page-1.svg?77c2","webpack:///./src/assets/iconStyles/set_3/set_3_Page-2.svg?208d","webpack:///./src/assets/iconStyles/set_4/set_4_Page-3.svg?00b2","webpack:///./src/assets/iconStyles/set_5/set_5_Page-4.svg?fd5b","webpack:///./src/assets/iconStyles/set_6/set_6_Page-5.svg?bbe7","webpack:///./src/assets/iconStyles/set_7/set_7_Page-6.svg?e58c","webpack:///./src/assets/iconStyles/set_8/set_8_Page-7.svg?2cf8","webpack:///./src/assets/iconStyles/set_1/set_1_Link.svg?f986","webpack:///./src/assets/iconStyles/set_2/set_2_Link-1.svg?90d1","webpack:///./src/assets/iconStyles/set_3/set_3_Link-2.svg?73bc","webpack:///./src/assets/iconStyles/set_4/set_4_Link-3.svg?981e","webpack:///./src/assets/iconStyles/set_5/set_5_Link-4.svg?5d25","webpack:///./src/assets/iconStyles/set_6/set_6_Link-5.svg?c86e","webpack:///./src/assets/iconStyles/set_7/set_7_Link-6.svg?f651","webpack:///./src/assets/iconStyles/set_8/set_8_Link-7.svg?353f","webpack:///./src/assets/iconStyles/set_1/set_1_Video.svg?6cca","webpack:///./src/assets/iconStyles/set_2/set_2_Video-1.svg?d4fc","webpack:///./src/assets/iconStyles/set_3/set_3_Video-2.svg?9860","webpack:///./src/assets/iconStyles/set_4/set_4_Video-3.svg?534a","webpack:///./src/assets/iconStyles/set_5/set_5_Video-4.svg?0dd0","webpack:///./src/assets/iconStyles/set_6/set_6_Video-5.svg?4b6c","webpack:///./src/assets/iconStyles/set_7/set_7_Video-6.svg?c6c4","webpack:///./src/assets/iconStyles/set_8/set_8_Video-7.svg?ee1f","webpack:///./src/assets/iconStyles/set_1/set_1_Image.svg?41d2","webpack:///./src/assets/iconStyles/set_2/set_2_Image-1.svg?79c2","webpack:///./src/assets/iconStyles/set_3/set_3_Image-2.svg?a822","webpack:///./src/assets/iconStyles/set_4/set_4_Image-3.svg?9e07","webpack:///./src/assets/iconStyles/set_5/set_5_Image-4.svg?583c","webpack:///./src/assets/iconStyles/set_6/set_6_Image-5.svg?b9b8","webpack:///./src/assets/iconStyles/set_7/set_7_Image-6.svg?1aa0","webpack:///./src/assets/iconStyles/set_8/set_8_Image-7.svg?a0d6","webpack:///./src/assets/iconStyles/set_1/set_1_360.svg?ccf1","webpack:///./src/assets/iconStyles/set_2/set_2_360-1.svg?de78","webpack:///./src/assets/iconStyles/set_3/set_3_360-2.svg?30f1","webpack:///./src/assets/iconStyles/set_4/set_4_360-3.svg?1ea1","webpack:///./src/assets/iconStyles/set_5/set_5_360-4.svg?9336","webpack:///./src/assets/iconStyles/set_6/set_6_360-5.svg?632f","webpack:///./src/assets/iconStyles/set_7/set_7_360-6.svg?a055","webpack:///./src/assets/iconStyles/set_8/set_8_360-7.svg?0e96","assets/download_icon.svg","assets/iconStyles/set_1/set_1_Promo.svg","assets/iconStyles/set_2/set_2_Promo-1.svg","assets/iconStyles/set_3/set_3_Promo-2.svg","assets/iconStyles/set_4/set_4_Promo-3.svg","assets/iconStyles/set_5/set_5_Promo-4.svg","assets/iconStyles/set_6/set_6_Promo-5.svg","assets/iconStyles/set_7/set_7_Promo-6.svg","assets/iconStyles/set_8/set_8_Promo-7.svg","assets/iconStyles/set_1/set_1_Page.svg","assets/iconStyles/set_2/set_2_Page-1.svg","assets/iconStyles/set_3/set_3_Page-2.svg","assets/iconStyles/set_4/set_4_Page-3.svg","assets/iconStyles/set_5/set_5_Page-4.svg","assets/iconStyles/set_6/set_6_Page-5.svg","assets/iconStyles/set_7/set_7_Page-6.svg","assets/iconStyles/set_8/set_8_Page-7.svg","assets/iconStyles/set_1/set_1_Link.svg","assets/iconStyles/set_2/set_2_Link-1.svg","assets/iconStyles/set_3/set_3_Link-2.svg","assets/iconStyles/set_4/set_4_Link-3.svg","assets/iconStyles/set_5/set_5_Link-4.svg","assets/iconStyles/set_6/set_6_Link-5.svg","assets/iconStyles/set_7/set_7_Link-6.svg","assets/iconStyles/set_8/set_8_Link-7.svg","assets/iconStyles/set_1/set_1_Video.svg","assets/iconStyles/set_2/set_2_Video-1.svg","assets/iconStyles/set_3/set_3_Video-2.svg","assets/iconStyles/set_4/set_4_Video-3.svg","assets/iconStyles/set_5/set_5_Video-4.svg","assets/iconStyles/set_6/set_6_Video-5.svg","assets/iconStyles/set_7/set_7_Video-6.svg","assets/iconStyles/set_8/set_8_Video-7.svg","assets/iconStyles/set_1/set_1_Image.svg","assets/iconStyles/set_2/set_2_Image-1.svg","assets/iconStyles/set_3/set_3_Image-2.svg","assets/iconStyles/set_4/set_4_Image-3.svg","assets/iconStyles/set_5/set_5_Image-4.svg","assets/iconStyles/set_6/set_6_Image-5.svg","assets/iconStyles/set_7/set_7_Image-6.svg","assets/iconStyles/set_8/set_8_Image-7.svg","assets/iconStyles/set_1/set_1_360.svg","assets/iconStyles/set_2/set_2_360-1.svg","assets/iconStyles/set_3/set_3_360-2.svg","assets/iconStyles/set_4/set_4_360-3.svg","assets/iconStyles/set_5/set_5_360-4.svg","assets/iconStyles/set_6/set_6_360-5.svg","assets/iconStyles/set_7/set_7_360-6.svg","assets/iconStyles/set_8/set_8_360-7.svg","globals/constans.ts","assets/promo_sale_types_icons/promo_sale_type_10_icon.png","assets/upload_excel_icon.svg","assets/upload_image_icon.svg","assets/upload_excel_cloud_icon.svg","assets/delete_icon.svg","assets/flyersScreen/archive_icon.svg","assets/flyersScreen/3_dots_icon.svg","globals/Contants.js","assets/promo_sale_types_icons/promo_sale_type_1_icon.png","assets/promo_sale_types_icons/promo_sale_type_2_icon.png","assets/promo_sale_types_icons/promo_sale_type_12_icon.png","assets/promo_sale_types_icons/promo_sale_type_13_icon.png","assets/promo_sale_types_icons/promo_sale_type_20_icon.png","assets/promo_sale_types_icons/promo_sale_type_21_icon.png","assets/promo_sale_types_icons/promo_sale_type_30_icon.png","assets/promo_sale_types_icons/promo_sale_type_40_icon.png","assets/promo_sale_types_icons/promo_sale_type_41_icon.png","assets/promo_sale_types_icons/promo_sale_type_44_icon.png","assets/promo_sale_types_icons/promo_sale_type_50_icon.png","assets/promo_sale_types_icons/promo_sale_type_51_icon.png","assets/promo_sale_types_icons/promo_sale_type_62_icon.png","assets/promo_sale_types_icons/promo_sale_type_63_icon.png","assets/promo_sale_types_icons/promo_sale_type_70_icon.png","assets/promo_sale_types_icons/promo_sale_type_71_icon.png","assets/promo_sale_types_icons/promo_sale_type_72_icon.png","assets/promo_sale_types_icons/promo_sale_type_81_icon.png","globals/globFunctions.ts","com/iconsStyleSelector/iconsStylesDropdown.tsx","com/fontsSelect/fontsSelect.tsx","components/editor/header/controls/right/settings/guiThemes/guiThemeSettings/GuiThemeSettingsPopup.tsx","assets/edit_no_fill_icon.svg","assets/xCircularIcons/delete_icon.svg","assets/xCircularIcons/setting_icon.svg","assets/flyersScreen/upload_icon.svg","assets/flyersScreen/restore_icon.svg","assets/flyersScreen/delete_icon.svg","assets/flyersScreen/donwload_pdf_icon.svg","assets/flyersScreen/info.svg","assets/editors/delete_icon_main.svg","store/actionCreators/toggleActionForEditorActionCreators.ts","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions.tsx","components/editor/header/controls/right/settings/guiThemes/table/GuiThemesTableItem.tsx","components/editor/header/controls/right/settings/guiThemes/table/GuiThemesTable.tsx","components/editor/header/controls/right/settings/guiThemes/GuiThemesPopup.tsx","store/actionCreators/guiSettingsActionCreators.ts","com/simpleConfirmPopup/SimpleConfirmPopup.tsx","assets/editors/plus_icon.svg","assets/editors/delete_icon_line.svg","assets/flyerDetailsPopupAssets/dropdown.svg","components/editor/header/controls/right/settings/checkoutSettingsPopup/optionalVar.tsx","components/editor/header/controls/right/settings/checkoutSettingsPopup/optionalVarString.tsx","com/radioButton/RadioButton.tsx","com/textareaWithLabel/textareaWithLabel.tsx","components/editor/header/controls/right/settings/accountCheckoutSettingsForPopup/accountCheckoutSettingForPopup.tsx","components/editor/header/controls/right/settings/checkoutSettingsPopup/checkoutSettingPopup.tsx","store/actionCreators/flyerConversionUrlSettings.ts","components/editor/header/controls/right/settings/saleTypesSettings/saleTypeSettingsRow.tsx","components/editor/header/controls/right/settings/saleTypesSettings/saleTypesSettings.tsx","assets/setting_icon.svg","com/selectWithLabel/selectWithLabel.tsx","com/textAreaWithSwitchControlAndLabel/TextAreaWithSwitchControlAndLabel.tsx","com/textInputWithLabel/textInputWithLabel.tsx","components/editor/header/controls/right/settings/accountLocalAndTextSettings/accountLocalAndTextSetting.tsx","store/actionCreators/accountSettingAndLangActionCreators.ts","components/editor/header/controls/right/settings/accountLocalAndTextSettings/accountLocalAndTextSettingModal.tsx","assets/analytics_icon.svg","assets/analitics_popup/view_dashboard_icon.svg","store/actionCreators/analyticsActionCreators.ts","assets/analitics_popup/download_ecxel_icon.svg","assets/editors/spots/arrow_up_icon.svg","com/analyticsPopup/analyticsPopup.tsx","assets/editors/spots/arrow_down_icon.svg","assets/up_down_icon.svg","assets/delete_no_fill_icon.svg","components/com/sortBtn/sortBtn.tsx","assets/promos&items/icon_plus.svg","components/editor/header/controls/right/settings/flyerClassesPopup/flyerClass.tsx","store/actionCreators/flyerClassesActionCreators.ts","components/editor/header/controls/right/settings/flyerClassesPopup/createEditFlyerClassPopup.tsx","components/editor/header/controls/right/settings/flyerClassesPopup/flyerClassesPopup.tsx","components/com/inputWithShowingResults/inputResult.tsx","components/com/inputWithShowingResults/inputWithShowingResults.tsx","components/editor/header/controls/right/settings/emailsSettingsPopup/accountEmailSettingPopup.tsx","store/actionCreators/accountEmailsActionCreators.ts","components/com/popupHeader/popupHeader.tsx","components/editor/header/controls/right/settings/storeSettingsPopup/storeSettingsRow.tsx","components/editor/header/controls/right/settings/storeSettingsPopup/storeSettingsTable.tsx","com/storeShelfStylesSelect/storeShelfStylesSelect.tsx","components/editor/header/controls/right/settings/storeSettingsPopup/storeSettingCreateEditPopup/storeSettingCreateEditPopup.tsx","components/editor/header/controls/right/settings/storeSettingsPopup/storeSettingsPopup.tsx","store/actionCreators/accountStoreSettingsActionCreators.ts","com/clickMenu/itemInMenu/itemInMenuContent/itemInMenuContent.tsx","com/clickMenu/itemInMenu/itemInMenu.tsx","com/clickMenu/clickMenu.tsx","assets/createNewFlyerModal/upload_pdf_icon.svg","store/actionCreators/storeForAccountActionCreators.ts","components/editor/pages/getSetttingsForPopup.ts","components/editor/header/controls/right/settings/usersAndPermissionPopup/userAndPermissionRow.tsx","components/editor/header/controls/right/settings/usersAndPermissionPopup/usersAndPermissionTable.tsx","store/actionCreators/usersAndPermissionActionCreators.ts","components/editor/header/controls/right/settings/usersAndPermissionPopup/userAndPermissionSettingCreateEditPopup/userAndPermissionSettingCreateEditPopup.tsx","components/editor/header/controls/right/settings/usersAndPermissionPopup/usersAndPermissionPopup.tsx","components/editor/header/controls/right/settings/SettingsControls.tsx","components/editor/header/controls/right/user/menu/UserControlsMenu.tsx","components/editor/header/controls/right/user/menu/ChangePasswordPopup.tsx","store/actionCreators/updatePasswordActionCreators.ts","components/editor/header/controls/right/user/UserControls.tsx","components/editor/header/controls/right/HeaderRightControls.tsx","com/envManager/EnvMode.tsx","assets/createNewFlyerModal/upload_jpegs_icon.svg","assets/createNewFlyerModal/empty_pages_icon.svg","assets/toolsBar/flyers_icon.svg","store/actionCreators/flyerWithoutPageImagesActionCreator.ts","components/editor/createFlyerModal/createFlyerWithEmptyPages.tsx","store/actionCreators/flyerFromJpegsActionCreator.ts","components/editor/createFlyerModal/createFlyerWithJpegsPages.tsx","components/editor/createFlyerModal/createFlyerModal.tsx","components/editor/header/editorHeader.tsx","assets/toolsBar/pages_icon.svg","assets/toolsBar/spots_icon.svg","assets/toolsBar/promotions_items_icon.svg","components/editor/toolsBar/item/ToolsBarItem.tsx","store/actionCreators/promotionsItemsCreators.ts","components/editor/toolsBar/ToolsBar.tsx","helpers/PrivateRoute.jsx","assets/editors/delete_icon.svg","assets/promos&items/menu_on_hover.svg","assets/editors/unlinked_page.svg","assets/pages/approved_page.svg","assets/pages/not_approved_page.svg","assets/pages/approved_page_system.svg","assets/promos&items/pages_icon_large.svg","components/editor/pages/page/optionsSelectForMove/optionsSelectForMove.tsx","store/actionCreators/pagesActionCreators.ts","components/editor/pages/page/image/image.tsx","components/editor/pages/page/page.tsx","assets/promos&items/promotions_icon_large.svg","assets/promos&items/items_icon_large.svg","assets/info_icon.svg","com/qualityCheckStatistic/qualityCheckStatistic.tsx","assets/flyerDetailsPopupAssets/calendar_icon.svg","com/qualityCheck/qualityCheck.tsx","com/guiSelector/GuiSelectorItem.tsx","com/guiSelector/GuiSelector.tsx","assets/promo_sale_types_icons/edit_icon.svg","store/actionCreators/changeFlyerDetailsActionCreators.ts","assets/flyerDetailsPopupAssets/expand_right_panel_icon.svg","components/editor/header/controls/right/settings/flyerCheckoutSettingForPopup/flyerCheckoutSettingsForPopup.tsx","com/expandCollapseBtn/expandCollapseBtn.tsx","components/editor/header/controls/right/settings/emailsSettingsPopup/flyerEmailSettings.tsx","components/editor/flyerDetailsPopup/flyerDetailsRightPanel.tsx","components/editor/pages/pages.tsx","components/editor/spots/leftMenu/FlyerEditorLeftMenu.tsx","com/canvas/Canvas.tsx","com/keyboardManager/KeyboardManager.ts","components/com/canvas/spots/persistence/SpotsPersistenceManager.ts","com/canvas/mouseTracker/CanvasMouseTracker.ts","components/com/canvas/spots/spot/SpotSelectedLayer.ts","com/canvas/strotedText/StrokedText.ts","globals/Boundries.ts","assets/editors/spots/bottom_left_to_top_right_scaller.svg","assets/editors/spots/top_left_to_bottom_right_scaller.svg","globals/GlobalIdGenerator.ts","components/com/canvas/spots/spot/Spot.ts","assets/frames_screen/arrow_left_slim.svg","assets/editors/spots/frames_grid_creation_icon.svg","assets/editors/spots/no_access.svg","assets/editors/spots/moveFrameIcon.svg","components/com/canvas/spots/SpotsFunctions.ts","components/com/canvas/spots/collisionManagers/SpotsCollisionManager.ts","components/com/canvas/spots/scallingManager/SpotsScallingManager.ts","components/com/canvas/spots/translationManager/SpotsTranslationManager.ts","components/com/canvas/spots/Spots.ts","components/editor/spots/rightContent/flyerPages/flyerPage/FlyerPage.tsx","assets/frames_screen/arrow_right_slim.svg","assets/pagination/max_right_pagination_arrow_icon.svg","components/com/flyerPages/arrows/arrow/FlyerArrow.tsx","components/com/flyerPages/arrows/FlyerPagesArrows.tsx","components/editor/spots/rightContent/flyerPages/spotsSizeSelector/grid/GridItem.ts","components/editor/spots/rightContent/flyerPages/spotsSizeSelector/grid/Grid.ts","components/editor/spots/rightContent/flyerPages/spotsSizeSelector/SpotsSizeSelector.tsx","assets/pagination/max_left_pagination_arrow_icon.svg","assets/pagination/right_pagination_arrow_icon.svg","assets/pagination/left_pagination_arrow_icon.svg","assets/editors/spots/new_frames_icon.svg","components/com/flyerPages/topBar/TopBar.tsx","com/button/Button.tsx","assets/editors/spots/auto_numbering_horizontal_frames_icon.svg","assets/editors/spots/auto_numbering_vertical_frames_icon.svg","assets/editors/spots/renumber_frames_icon.svg","assets/promos&items/zoom_in_icon.svg","components/editor/spots/rightContent/topBarControls/SpotsTopBarControls.tsx","assets/editors/garbage_icon.svg","assets/promos&items/zoom_out_icon.svg","assets/editors/flyers_left_arrow.svg","components/editor/spots/rightContent/flyerPages/controls/zoomInOut.tsx","components/editor/spots/rightContent/flyerPages/controls/FlyerPageControls.tsx","assets/editors/flyers_right_arrow.svg","assets/add_to_my_list_icon.svg","assets/jump_to_page_flyer_icon.svg","assets/jump_to_URL_icon.svg","assets/play_video_icon.svg","assets/play_360_video_icon.svg","assets/open_image_url_icon.svg","assets/frames_screen/eye_open_icon.svg","components/com/previewUrlPopup/typesOfPopups/linkPreviewPopup.tsx","components/com/previewUrlPopup/typesOfPopups/imagePreviewPopup.tsx","components/com/previewUrlPopup/previewUrlPopup.tsx","assets/promos&items/promotion_icon.svg","assets/camera_icon.svg","components/editor/spots/rightContent/flyerPages/FramesScreenRightPanel.tsx","components/editor/spots/rightContent/flyerPages/FlyerPages.tsx","globals/globalProjectFunctions.ts","components/editor/spots/rightContent/FlyerEditorContent.tsx","components/editor/spots/FlyerSpotsEditor.tsx","assets/promos&items/toggle_collapse_items_in_promotion_icon.svg","assets/promos&items/drag_icon.svg","assets/promos&items/item_icon.svg","assets/promos&items/upload_image_icon.svg","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/MenuForItems/menuForItem.tsx","assets/promos&items/delete_image_icon.svg","assets/promos&items/upload_icon.svg","components/com/FileInput/FileInput.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/AddDeleteImageModal/AddDeleteImageModal.tsx","assets/promos&items/delete_icon.svg","assets/frame_screenshot_icon.svg","assets/promos&items/approved_item_in_promo_system.svg","components/com/nonImagePlaceholder/nonImagePlaceholder.tsx","components/com/tooltipPreviewOnlyImage/imagePreview.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/CreateEditItemModal/CreateEditItemModal.tsx","components/com/QualificationForItemComponent/TooltipDetailsItemPopup/TooltipDetailsItemPopup.tsx","assets/promos&items/approved_item_in_promo.svg","assets/promos&items/not_approved_item_in_promo.svg","assets/promos&items/calendar_icon.svg","components/com/QualificationForItemComponent/QualificationForItemComponent.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/LeftMenuPromotionItem.tsx","assets/promos&items/approved_promo.svg","components/com/PromosSaleTypesPopup/PromoSaleType/PromoSaleType.tsx","globals/PromoSaleTypeCaptionGenerator.ts","components/com/PromosSaleTypesPopup/PromosSaleTypesPopup.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/PromotionDetailsModalPopup/PromotionDetailsModalPopup.tsx","components/com/QualificationForPromoComponent/TooltipDetailsPromoPopup/TooltipDetailsPromoPopup.tsx","assets/promos&items/not_approved_promo.svg","assets/promos&items/approved_promo_system.svg","assets/promos&items/search_icon.svg","components/com/QualificationForPromoComponent/QualificationForPromoComponent.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuContentElement.tsx","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContent.tsx","components/editor/promos/leftMenu/FlyerEditorLeftMenu.tsx","components/editor/promos/rightContent/flyerPages/flyerPage/FlyerPage.tsx","components/editor/promos/rightContent/flyerPages/FlyerPages.tsx","com/horizontalTabs/horizontalTab/horizontalTab.tsx","com/horizontalTabs/horizontalTabs.tsx","assets/promos&items/search_filter_icon.svg","assets/promos&items/search_clear_icon.svg","com/searchBar/searchBar.tsx","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/unlinkTablesForPromosItemsScreen/unlinkedPromoOrItem/unlinkedPromoOrItem.tsx","assets/promos&items/openCloseRightMenuIcon.svg","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/unlinkTablesForPromosItemsScreen/unlinkTablesForPromosItemsScreen.tsx","components/editor/promos/rightContent/unlinkMenuForPromosItemsScreen/rightMenu.tsx","assets/big_warning_with_circle_icon.svg","components/editor/promos/rightContent/unlinkHeader/unlinkHeader.tsx","components/editor/promos/rightContent/FlyerEditorContent.tsx","assets/editors/archive_icon.svg","components/editor/uploadPromosItemsExcelOptionsPopup/uploadPromosItemsExcelOptionsPopup.tsx","components/editor/promos/FlyerPromosEditor.tsx","components/com/leftMenufileItem/LeftMenuFileItem.tsx","assets/editors/upload_xls_icon.svg","components/editor/promoItems/leftMenu/FlyerEditorLeftMenu.tsx","components/editor/promoItems/rightContent/flyerPages/flyerPage/FlyerPage.tsx","components/editor/promoItems/rightContent/flyerPages/FlyerPages.tsx","components/editor/promoItems/rightContent/FlyerEditorContent.tsx","components/editor/promoItems/FlyerPromoItemsEditor.tsx","assets/flyersScreen/analitics_icon_blue.svg","assets/editors/upload_pdf_icon.svg","store/actionCreators/dowloadFileActionCreators.ts","components/editor/flyersCatalog/mainFlyersCatalog/flyer/flyer.tsx","assets/calendar_icon.svg","assets/arrow_down_icon.svg","assets/plus_icon.svg","com/datePickerComponent/datePickerComponent.tsx","components/flippingFlyersCatalog/flippingFlyerToCTabItem.tsx","store/actionCreators/tocForPagesActionsCreator.ts","components/flippingFlyersCatalog/addEditToCCaption.tsx","components/flippingFlyersCatalog/flippingFlyerTocTab.tsx","components/flippingFlyersCatalog/flippingFlyersCatalogCreateEditFlyer.tsx","assets/flyer_image_icon_.png","components/flippingFlyersCatalog/sidePanel.tsx","assets/error_icon.svg","components/editor/welcomeScreen/welcomeScreen.tsx","components/editor/flyersCatalog/mainFlyersCatalog/flyersCatalog.tsx","store/actionCreators/flyersFiltersActionCreators.ts","components/editor/flyersCatalog/trashFlyerCatalog/trashFlyer/trashFlyer.tsx","components/editor/flyersCatalog/trashFlyerCatalog/trashFlyersCatalog.tsx","components/editor/flyersCatalog/archiveFlyerCatalog/archiveFlyer/archiveFlyer.tsx","components/editor/flyersCatalog/archiveFlyerCatalog/archiveFlyersCatalog.tsx","assets/big_success_with_circle_icon.svg","assets/big_failed_with_circle_icon.svg","components/editor/uploadImagesProgressPopup/uploadImagesProgressPopup.tsx","components/editor/content/editorContent.tsx","components/editor/main/main.tsx","App.tsx","index.tsx","components/com/QualificationForItemComponent/TooltipDetailsItemPopup/TooltipDetailsItemPopup.module.scss","components/editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/LeftMenuPromotionItem.module.scss","components/com/QualificationForPromoComponent/TooltipDetailsPromoPopup/TooltipDetailsPromoPopup.module.scss"],"names":["module","exports","ActionType","initialState","loading","error","data","type","isAuthenticated","reducer","state","action","REGISTER_START","REGISTER_SUCCESS","payload","REGISTER_ERROR","REGISTER_COMPLETED","LOGIN_START","LOGIN_SUCCESS","LOGIN_ERROR","LOGIN_COMPLETED","LOG_OUT","localStorage","removeItem","FORGOT_PASSWORD_START","FORGOT_PASSWORD_SUCCESS","FORGOT_PASSWORD_ERROR","FORGOT_PASSWORD_COMPLETED","FETCH_USER_DATA_START","FETCH_USER_DATA_SUCCESS","FETCH_USER_DATA_ERROR","FETCH_USER_DATA_COMPLETED","RESET_PASSWORD_START","RESET_PASSWORD_SUCCESS","RESET_PASSWORD_ERROR","RESET_PASSWORD_COMPLETED","CONFIRM_EMAIL_START","CONFIRM_EMAIL_SUCCESS","CONFIRM_EMAIL_ERROR","CONFIRM_EMAIL_COMPLETED","flyers","archivedFlyersCount","softDeletedFlyersCount","GET_FLYERS_START","GET_FLYERS_SUCCESS","map","flyer","index","flyerTypes","languageCultures","analyticsDashboardUrl","CHANGE_FLYERS_STATE","GET_FLYERS_ERROR","GET_FLYERS_COMPLETED","SOFT_DELETE_FLYER","SOFT_DELETE_FLYER_SUCCESS","SOFT_DELETE_FLYER_ERROR","UPDATE_SALE_TYPES_FOR_ACCOUNT_START","UPDATE_SALE_TYPES_FOR_ACCOUNT_SUCCESS","UPDATE_SALE_TYPES_FOR_ACCOUNT_ERROR","UPDATE_SALE_TYPES_FOR_ACCOUNT_COMPLETE","HARD_DELETE_FLYER","HARD_DELETE_FLYER_SUCCESS","HARD_DELETE_FLYER_ERROR","ARCHIVE_FLYER","ARCHIVE_FLYER_SUCCESS","ARCHIVE_FLYER_ERROR","SET_DEFAULT_STATE_FLYERS","FLYER_CANVAS_WIDTH","FLYER_CANVAS_HEIGHT","getCanvasWrapperSize","container","document","getElementById","containerWidth","clientWidth","containerHeight","clientHeight","getCanvasElementsScales","realFlyerWidth","realFlyerHeight","scaleX","scaleY","getCanvasSize","fitToWidth","maxWidthForContainer","maxHeightForContainer","finalCanvasWidth","finalCanvasHeight","finalCanvasTop","finalCanvasTranslateY","yScalerDown","xScalerDown","dimensions","width","height","top","translateY","updateCanvasSize","spots","canvasId","canvasDimensions","setDimensions","canvas","setAttribute","widthStr","heightStr","topStr","transformStr","documentElement","style","setProperty","FLIPPING_FLYER_TYPE","fltRecId","fltCaption","LANGUAGE_ENGLISH","lacRecId","lacGuid","lacCode","lacCaption","lacDir","lacCurrencySymbol","FONT_NAME_ARIAL","FONT_NAME_ROBOTO","FONT_NAME_MONTSERRAT","FONT_NAME_LATO","FONT_NAME_POPPINS","FONT_NAME_RALEWAY","FONTS_ARRAY_FOR_SELECT","value","label","FLYER_STATUS_IN_EDIT","fstRecId","fstGuid","fstCode","fstCaption","FLYER_STATUSES","FLYER_PAGINATION_VARIANTS","flyCode","flyCaption","flyDisplayCaption","flyDesc","flyValidFromUtc","undefined","flyValidToUtc","flyCreatedUtc","flyModifiedUtc","flyLacRecId","flyLacRec","Globals","flyRecId","flyFltRecId","flyFltRec","flyerPages","flyFstRec","flyFstRecId","flyAcuRecId","noPages","flyDisclaimer","qualificationLevel","flyPageLayoutPc","toc","RESET_FLYER_STATE","FLYER_DETAILS_DATA_CHANGE_EVENT","FLYER_DETAILS_SET_IMAGE_TO_TARGET_PAGE","pageExistInCurrentFlyerStateForUpdate","some","page","flpRecId","pageId","flpImageUrl","imageUrl","flyImageThumbnailUrl","imageThumbnailUrl","isChangedFlyerData","FLYER_DETAILS_ANY_DATA_WAS_CHANGED","flyerDtoInitialState","deletedFlyerPages","flyGusRec","gusPrimaryColorRgb","gusFont","gusFontSizePt","GuiSettingsDto","gusRecId","gusAccRecId","gusGuid","gusCode","gusCaption","gusLogo","gusBackgroundImage","gusBackgroundImageUrl","gusBackgroundColorRgb","gusSecondaryColorRgb","gusLogoUrl","isDeleteable","gusIconContrast","logoFile","backgroundFile","ErrorDtoFactory","err","errorDto","status","message","response","languageCultureMessageResponseDto","title","CreateSpotsRequestDto","userId","uiLanguageCultureCode","flyerPageId","dtos","flyerPage","cultureCode","userDtoStr","getItem","userDto","JSON","parse","requestDto","dto","spotItemDto","caption","fpsCaption","positionNo","fpsPositionNo","displayCaption","widthPX","fpsWidthPx","heightPX","fpsHeightPx","x0PX","fpsX0px","y0PX","fpsY0px","rotationDeg","fpsRotationDeg","iconXPct","fpsIconXPct","iconYPct","fpsIconYPct","frameType","fpsFrameType","frameLink","fpsFrameLink","frameLinkApp","fpsFrameLinkApp","jumpToPageId","fpsJumpToPageId","landingPageUrl","fpsLandingPageUrl","tocTitle","fpsTocEntry","tooltip","fpsTooltip","flpWidthPx","flpHeightPx","x1","Math","floor","y1","round","console","log","UpdateSpotsRequestDto","flyerPageDto","spotId","fpsRecId","code","DeleteSpotsRequestDto","reuqestDto","flyerDto","uploadLogo","file","hasUploadLogo","pageSpotsFile","promotionDataFile","itemsDataFile","hasFlyerPages","successInfo","GET_FLIPPING_FLYER_START","GET_FLIPPING_FLYER_SUCCESS","flyImage","CLEAR_DATA_FROM_FLYER","GET_FLIPPING_FLYER_ERROR","GET_FLIPPING_FLYER_COMPLETED","FLIPPING_FLYER_DATA_CHANGE_EVENT","POST_FLIPPING_FLYER_START","POST_FLIPPING_FLYER_SUCCESS","POST_FLIPPING_FLYER_ERROR","POST_FLIPPING_FLYER_COMPLETED","POST_FLYER_SPOTS_START","POST_FLYER_SPOTS_SUCCESS","POST_FLYER_SPOTS_ERROR","POST_FLYER_SPOTS_COMPLETED","GET_CURRENT_DATA_FRAMES_FOR_FLYER_START","GET_CURRENT_DATA_FRAMES_FOR_FLYER_SUCCESS","GET_CURRENT_DATA_FRAMES_FOR_FLYER_ERROR","GET_CURRENT_DATA_FRAMES_FOR_FLYER_COMPLETE","POST_FLYER_PROMOS_START","POST_FLYER_PROMOS_SUCCESS","POST_FLYER_PROMOS_ERROR","POST_FLYER_PROMOS_COMPLETED","POST_FLYER_PROMOS_AND_ITEMS_START","POST_FLYER_PROMOS_AND_ITEMS_SUCCESS","POST_FLYER_PROMOS_AND_ITEMS_ERROR","POST_FLYER_PROMOS_AND_ITEMS_COMPLETED","GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_START","GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_SUCCESS","GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_ERROR","GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_COMPLETE","GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_START","GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_SUCCESS","GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_ERROR","GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_COMPLETE","POST_IMAGES_FOR_PROMOTIONS_ITEMS_START","POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS","POST_IMAGES_FOR_PROMOTIONS_ITEMS_ERROR","POST_IMAGES_FOR_PROMOTIONS_ITEMS_COMPLETE","POST_IMAGES_FOR_PROMOTIONS_START","POST_IMAGES_FOR_PROMOTIONS_SUCCESS","POST_IMAGES_FOR_PROMOTIONS_ERROR","POST_IMAGES_FOR_PROMOTIONS_COMPLETE","POST_IMAGES_FOR_ITEMS_START","POST_IMAGES_FOR_ITEMS_SUCCESS","POST_IMAGES_FOR_ITEMS_ERROR","POST_IMAGES_FOR_ITEMS_COMPLETE","POST_FLYER_PROMOITEMS_START","POST_FLYER_PROMOITEMS_SUCCESS","POST_FLYER_PROMOITEMS_ERROR","POST_FLYER_PROMOITEMS_COMPLETED","isFlyerHasBeenSaved","isFlyerHasBeenPublished","isFlyerHasBeenViewed","pageGridDataXLS","hasPageGridDataXLS","promotionListDataXLS","hasPromotionListDataXLS","isFlyerDownloadedAsZipFile","GET_SMART_FLYER_START","GET_SMART_FLYER_SUCCESS","GET_SMART_FLYER_ERROR","GET_SMART_FLYER_COMPLETED","SMART_FLYER_DATA_CHANGE_EVENT","newState","guiSettings","currentGuiSettingsDto","GET_GUI_SETTINGS_START","GET_GUI_SETTINGS_SUCCESS","GET_GUI_SETTINGS_ERROR","GET_GUI_SETTINGS_COMPLETED","PUT_GUI_SETTINGS_START","PUT_GUI_SETTINGS_SUCCESS","guiSettingsDtos","PUT_GUI_SETTINGS_ERROR","PUT_GUI_SETTINGS_COMPLETED","DELETE_GUI_SETTINGS_START","DELETE_GUI_SETTINGS_SUCCESS","DELETE_GUI_SETTINGS_ERROR","DELETE_GUI_SETTINGS_COMPLETED","pagesReducer","DELETE_PAGE","DELETE_PAGE_SUCCESS","DELETE_PAGE_ERROR","DELETE_PAGE_IMAGE","DELETE_PAGE_IMAGE_SUCCESS","DELETE_PAGE_IMAGE_ERROR","INSERT_PAGE","INSERT_PAGE_SUCCESS","INSERT_PAGE_ERROR","MOVE_PAGES_BEFORE","MOVE_PAGES_BEFORE_SUCCESS","MOVE_PAGES_BEFORE_ERROR","UPLOAD_IMAGES_TO_PAGES","UPLOAD_IMAGES_TO_PAGES_SUCCESS","UPLOAD_IMAGES_TO_PAGES_ERROR","CHANGE_QUALIFICATION_STATUS_FOR_PAGES_START","CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS","CHANGE_QUALIFICATION_STATUS_FOR_PAGES_COMPLETE","CHANGE_QUALIFICATION_STATUS_FOR_PAGES_ERROR","pageNo","selectedTabNum","selectPageForTabsReducer","SET_SELECTED_PAGE_FOR_TABS","compare","a","b","satCode","saleTypes","saleTypesForSpecificFlyer","sellingUnits","SET_SALE_TYPES_FOR_ALL_FLYERS","sort","GET_SALE_TYPES_FOR_ALL_FLYERS","SET_SALE_TYPES_FOR_SPECIFIC_FLYER","GET_SALE_TYPES_FOR_SPECIFIC_FLYER","isHorizontalOrientationForFrames","isSelectAll","warnings","POST_FLYER_SPOTS_CREATE_START","POST_FLYER_SPOTS_CREATE_SUCCESS","POST_FLYER_SPOTS_CREATE_ERROR","POST_FLYER_SPOTS_CREATE_COMPLETED","POST_FLYER_SPOTS_UPDATE_START","POST_FLYER_SPOTS_UPDATE_SUCCESS","POST_FLYER_SPOTS_UPDATE_ERROR","POST_FLYER_SPOTS_UPDATE_COMPLETED","POST_FLYER_SPOTS_DELETE_START","POST_FLYER_SPOTS_DELETE_SUCCESS","POST_FLYER_SPOTS_DELETE_ERROR","POST_FLYER_SPOTS_DELETE_COMPLETED","CHANGE_ORIENTATION_NUMBERING_FOR_FRAMES","TOGGLE_SELECT_ALL_FRAMES","CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_START","CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS","frames","CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_COMPLETE","CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_ERROR","activeTab","searchTerm","searchTermForUnlinkedPromotions","searchTermForUnlinkedItems","unlinkPromos","unlinkItems","isQualified","isOpenUnlinkMenu","isLoading","draggingItemRecId","dataFromExcelFileForPromosItems","pages","items","promos","itemsIdsForChangeQualificationLVL","isSelectAllMode","CHANGE_ACTIVE_TAB_NAME","SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE","forEach","pageData","pageIndex","flpPageNo","flyerPageSpots","frame","flyerPromos","length","push","flyerPromoItems","item","SET_ITEMS_TO_PROMO_ITEMS_STATE","newPagesStateItems","ADD_ITEMS_TO_PROMO_ITEMS_STATE","newPagesStateWithItemsAdd","REMOVE_ITEMS_TO_PROMO_ITEMS_STATE","newPagesStateWithItemsRemove","seen","Set","addDeletedItemsToItemsState","filter","promo","duplicate","has","fpiRecId","add","SET_PROMOS_TO_PROMO_ITEMS_STATE","newPagesStatePromos","CHANGE_SEARCH_TERM","SAVE_PROMO_ITEMS_FILE_IN_STATE","ADD_PROMOS_TO_UNLINK_PROMOS","isReplace","ADD_ITEMS_TO_UNLINK_ITEMS","itemsWithIndex","key","isLastSelected","DELETE_PROMOS_FROM_UNLINK_PROMOS","DELETE_ITEMS_FROM_UNLINK_ITEMS","CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU","TOGGLE_UNLINK_PANEL","CHANGE_QUALIFIED_STATUS_FOR_PROMOTIONS_AND_ITEMS","CHANGE_SELECT_ALL_STATUS_FOR_PROMOTIONS_AND_ITEMS","ATTACH_PROMO_TO_FLYER_START","ATTACH_PROMO_TO_FLYER_SUCCESS","ATTACH_PROMO_TO_FLYER_DND_SUCCESS","ATTACH_PROMO_TO_FLYER_ERROR","ATTACH_PROMO_TO_FLYER_COMPLETE","ATTACH_PROMO_TO_FLYER_DND_COMPLETE","ATTACH_ITEMS_TO_FLYER_START","ATTACH_ITEMS_TO_FLYER_SUCCESS","ATTACH_ITEMS_TO_FLYER_ERROR","ATTACH_ITEMS_TO_FLYER_COMPLETE","ATTACH_PROMO_TO_FRAME_START","ATTACH_PROMO_TO_FRAME_SUCCESS","ATTACH_PROMO_TO_FRAME_DND_SUCCESS","ATTACH_PROMO_TO_FRAME_ERROR","ATTACH_PROMO_TO_FRAME_COMPLETE","ATTACH_PROMO_TO_FRAME_DND_COMPLETE","ATTACH_ITEM_TO_PROMO_START","ATTACH_ITEM_TO_PROMO_SUCCESS","ATTACH_ITEM_TO_PROMO_ERROR","ATTACH_ITEM_TO_PROMO_COMPLETE","POST_IMAGE_TO_ITEM_START","POST_IMAGE_TO_ITEM_SUCCESS","POST_IMAGE_TO_ITEM_ERROR","POST_IMAGE_TO_ITEM_COMPLETED","CHANGE_QUALIFICATION_LVL_FOR_ITEMS_START","CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS","CHANGE_QUALIFICATION_LVL_FOR_ITEMS_ERROR","CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED","CHANGE_QUALIFICATION_LVL_FOR_PROMOS_START","CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS","CHANGE_QUALIFICATION_LVL_FOR_PROMOS_ERROR","CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED","UPDATE_ITEM_START","UPDATE_ITEM_SUCCESS","UPDATE_ITEM_ERROR","UPDATE_ITEM_COMPLETE","EDIT_PROMOTION_ITEM_START","EDIT_PROMOTION_ITEM_SUCCESS","EDIT_PROMOTION_ITEM_ERROR","EDIT_PROMOTION_ITEM_COMPLETE","CREATE_PROMOTION_ITEM_START","CREATE_PROMOTION_ITEM_SUCCESS","CREATE_PROMOTION_ITEM_ERROR","CREATE_PROMOTION_ITEM_COMPLETE","CREATE_ITEM_START","CREATE_ITEM_SUCCESS","CREATE_ITEM_ERROR","CREATE_ITEM_COMPLETE","UPDATE_PROMOTION_START","UPDATE_PROMOTION_SUCCESS","UPDATE_PROMOTION_ERROR","UPDATE_PROMOTION_COMPLETE","CREATE_PROMOTION_START","CREATE_PROMOTION_SUCCESS","CREATE_PROMOTION_ERROR","CREATE_PROMOTION_COMPLETE","DELETE_PROMO_FROM_FLYER_START","DELETE_PROMO_FROM_FLYER_SUCCESS","DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS","DELETE_PROMO_FROM_FLYER_ERROR","DELETE_PROMO_FROM_FLYER_COMPLETE","DELETE_PROMO_WITH_ITEMS_FROM_FLYER_COMPLETE","DELETE_ITEMS_FROM_FLYER_START","DELETE_ITEMS_FROM_FLYER_SUCCESS","DELETE_ITEMS_FROM_FLYER_ERROR","DELETE_ITEMS_FROM_FLYER_COMPLETE","DELETE_IMAGE_FROM_ITEM_START","DELETE_IMAGE_FROM_ITEM_SUCCESS","DELETE_IMAGE_FROM_ITEM_ERROR","DELETE_IMAGE_FROM_ITEM_COMPLETE","DELETE_IMAGE_FROM_PROMOTION_START","DELETE_IMAGE_FROM_PROMOTION_SUCCESS","DELETE_IMAGE_FROM_PROMOTION_ERROR","DELETE_IMAGE_FROM_PROMOTION_COMPLETE","CHANGE_DRAGGING_ITEM_RECID","GET_CONVERSION_URL_START","GET_CONVERSION_URL_SUCCESS","GET_CONVERSION_URL_ERROR","GET_CONVERSION_URL_COMPLETED","POST_CONVERSION_URL_START","POST_CONVERSION_URL_SUCCESS","POST_CONVERSION_URL_ERROR","POST_CONVERSION_URL_COMPLETED","isShowCreateNewFlyerPopup","isShowRightPanel","isZoomIn","EDITOR_TOGGLE_FLYER_DETAILS_POPUP","EDITOR_TOGGLE_FLYER_RIGHT_PANEL","EDITOR_TOGGLE_ZOOM_IN_MODE_FOR_FRAMES_PROMOS_SCREENS","sellingUnitsForFlyer","SET_SALE_UNITS_FOR_ALL_FLYERS","sellingUnit","languageCaption","SET_SALE_UNITS_FOR_FLYER","accountSetting","languageId","SET_ACCOUNT_SETTING_START","SET_ACCOUNT_SETTING_SUCCESS","SET_ACCOUNT_SETTING_COMPLETE","SET_ACCOUNT_SETTING_ERROR","SET_ACCOUNT_LANGUAGE_ID","emails","emailAddress1","emailAddress2","emailAddress3","emailAddress4","GET_ACCOUNT_EMAILS_SETTING_START","SET_ACCOUNT_EMAILS_SETTING_START","GET_ACCOUNT_EMAILS_SETTING_SUCCESS","SET_ACCOUNT_EMAILS_SETTING_SUCCESS","GET_ACCOUNT_EMAILS_SETTING_COMPLETE","SET_ACCOUNT_EMAILS_SETTING_COMPLETE","GET_ACCOUNT_EMAILS_SETTING_ERROR","SET_ACCOUNT_EMAILS_SETTING_ERROR","analyticsData","todaysImpressions","todaysConversions","totalImpressions","totalConversions","loadingExcel","GET_ANALYTICS_DATA_FOR_FLYER_START","GET_ANALYTICS_DATA_FOR_FLYER_SUCCESS","GET_ANALYTICS_DATA_FOR_FLYER_COMPLETE","GET_ANALYTICS_DATA_FOR_FLYER_ERROR","DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_START","DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_SUCCESS","DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_COMPLETE","DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_ERROR","flyerId","createFlyerFromPdfReducer","CREATE_FLYER_FROM_PDF_START","CREATE_FLYER_FROM_PDF_SUCCESS","CREATE_FLYER_FROM_PDF_ERROR","CREATE_FLYER_FROM_PDF_COMPLETED","UPDATE_FLIPBOOK_START","UPDATE_FLIPBOOK_SUCCESS","UPDATE_FLIPBOOK_ERROR","UPDATE_FLIPBOOK_COMPLETED","viewFilter","classFilter","CHANGE_FLYERS_VIEW_FILTER","CHANGE_FLYERS_CLASSES_FILTER","isOpen","current","failCount","processingFinished","successCount","total","titlePopup","notUploadedImages","severityLevel","isUploadingFilesToSystem","isUploadingFilesToSystemFinished","tocForPage","flyerClasses","storeSettings","GET_ACCOUNT_STORE_SETTINGS_START","SAVE_ACCOUNT_STORE_SETTING_START","DELETE_ACCOUNT_STORE_SETTINGS_START","SET_DEFAULT_ACCOUNT_STORE_SETTINGS_START","GET_ACCOUNT_STORE_SETTINGS_SUCCESS","DELETE_ACCOUNT_STORE_SETTINGS_SUCCESS","SET_DEFAULT_ACCOUNT_STORE_SETTINGS_SUCCESS","SAVE_ACCOUNT_STORE_SETTING_SUCCESS","GET_ACCOUNT_STORE_SETTINGS_COMPLETE","SAVE_ACCOUNT_STORE_SETTING_COMPLETE","DELETE_ACCOUNT_STORE_SETTINGS_COMPLETE","SET_DEFAULT_ACCOUNT_STORE_SETTINGS_COMPLETE","GET_ACCOUNT_STORE_SETTINGS_ERROR","DELETE_ACCOUNT_STORE_SETTINGS_ERROR","SET_DEFAULT_ACCOUNT_STORE_SETTINGS_ERROR","SAVE_ACCOUNT_STORE_SETTING_ERROR","storeShelfStyles","storeShelfStylesReducer","SET_STORE_SHELF_STYLES","usersAndPermissions","GET_USERS_AND_PERMISSIONS_DATA_START","SAVE_USER_AND_PERMISSIONS_DATA_START","DELETE_USER_AND_PERMISSIONS_DATA_START","GET_USERS_AND_PERMISSIONS_DATA_SUCCESS","DELETE_USER_AND_PERMISSIONS_DATA_SUCCESS","UPDATE_USER_AND_PERMISSIONS_DATA","SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS","GET_USERS_AND_PERMISSIONS_DATA_COMPLETE","DELETE_USER_AND_PERMISSIONS_DATA_COMPLETE","SAVE_USER_AND_PERMISSIONS_DATA_COMPLETE","GET_USERS_AND_PERMISSIONS_DATA_ERROR","DELETE_USER_AND_PERMISSIONS_DATA_ERROR","SAVE_USER_AND_PERMISSIONS_DATA_ERROR","UPDATE_USER_PASSWORD_START","UPDATE_USER_PASSWORD_SUCCESS","UPDATE_USER_PASSWORD_COMPLETE","UPDATE_USER_PASSWORD_ERROR","reducers","combineReducers","auth","authReducer","analyticsDataReducer","flyersReducer","flyerDetails","flyerDetailsReducer","changedStateForFlyer","changedStateForFlyerReducer","flippingFlyer","flippingFlyerReducer","smartFlyer","smartFlyerReducer","selectPageForTabs","promotionsAndItems","storeForAccount","UPLOAD_STORE_ITEMS_EXCEL_FILE_START","UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_START","DELETE_STORE_ITEMS_EXCEL_FILE_START","UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS","UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_SUCCESS","DELETE_STORE_ITEMS_EXCEL_FILE_SUCCESS","UPLOAD_STORE_ITEMS_EXCEL_FILE_COMPLETE","UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_COMPLETE","DELETE_STORE_ITEMS_EXCEL_FILE_COMPLETE","UPLOAD_STORE_ITEMS_EXCEL_FILE_ERROR","UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_ERROR","DELETE_STORE_ITEMS_EXCEL_FILE_ERROR","saleTypesReducer","sellingUnitsReducer","conversionUrlSetting","flyerConversionSettingsReducer","toggleActionsForFlyers","accountSettingWithLang","accountSettingsAndLangReducer","uploadImagesPopup","UPLOAD_IMAGES_PROGRESSBAR_POPUP_START","UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR","UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE","UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE","flyerDataFromPdf","flyerDataFromJpegs","CREATE_FLYER_FROM_JPEGS_START","CREATE_FLYER_FROM_JPEGS_SUCCESS","CREATE_FLYER_FROM_JPEGS_ERROR","CREATE_FLYER_FROM_JPEGS_COMPLETED","flyerDataWithoutImages","CREATE_FLYER_WITHOUT_PAGE_IMAGES_START","CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS","CREATE_FLYER_WITHOUT_PAGE_IMAGES_ERROR","CREATE_FLYER_WITHOUT_PAGE_IMAGES_COMPLETED","CREATE_TOC_FOR_PAGE_START","CREATE_TOC_FOR_PAGE_SUCCESS","CREATE_TOC_FOR_PAGE_ERROR","CREATE_TOC_FOR_PAGE_COMPLETE","UPDATE_TOC_FOR_PAGE_START","UPDATE_TOC_FOR_PAGE_SUCCESS","UPDATE_TOC_FOR_PAGE_ERROR","UPDATE_TOC_FOR_PAGE_COMPLETE","DELETE_TOC_FOR_PAGE_START","DELETE_TOC_FOR_PAGE_SUCCESS","DELETE_TOC_FOR_PAGE_ERROR","DELETE_TOC_FOR_PAGE_COMPLETE","GET_FLYER_CLASSES_START","GET_FLYER_CLASSES_SUCCESS","GET_FLYER_CLASSES_ERROR","GET_FLYER_CLASSES_COMPLETE","DELETE_FLYER_CLASS_START","DELETE_FLYER_CLASS_SUCCESS","flyerClass","id","toString","DELETE_FLYER_CLASS_ERROR","DELETE_FLYER_CLASS_COMPLETE","CREATE_FLYER_CLASS_START","CREATE_FLYER_CLASS_SUCCESS","CREATE_FLYER_CLASS_ERROR","CREATE_FLYER_CLASS_COMPLETE","UPDATE_FLYER_CLASS_START","UPDATE_FLYER_CLASS_SUCCESS","isFlyerClassShouldBeRemoved","find","updatedClass","UPDATE_FLYER_CLASS_ERROR","UPDATE_FLYER_CLASS_COMPLETE","downloadFileState","DOWNLOAD_FILE_START","DOWNLOAD_FILE_SUCCESS","DOWNLOAD_FILE_COMPLETE","DOWNLOAD_FILE_ERROR","flyersFiltersState","flyersFiltersReducer","accountEmailsState","accountEmailsSettingsReducer","accountStoreSettings","accountStoreSettingsReducer","usersAndPermissionsReducer","updatePassword","store","createStore","applyMiddleware","thunk","process","REACT_APP_FLYER_SHOPPER_SERVER_ADDRESS","REACT_APP_DEVELOPMENT_MODE","REACT_APP_FLYER_EDITOR_SERVER_ADDRESS","REACT_APP_FLYER_APP_ADDREESS","envManager","developmentMode","flyerEditorServerAddress","flyerShopperServerAddress","flyerAppAddress","prefix","splitted","this","split","https","splitted2","i","logout","dispatch","register","registerDto","axios","post","result","createErrorDto","login","loginDto","isForPreview","setItem","stringify","forgotPassword","forgotPasswordDto","resetPassword","resetPasswordDto","config","headers","token","fetchUserData","updatedUserDto","accountTier","firstName","lastName","company","emailAddress","confirmEmail","isSaveUserDto","url","getFlyers","isArchived","isSoftDeleted","request","softDeleteFlyer","flyersIds","lang","isSoftDelete","flyersState","newFlayerState","flyersStatePayload","hardDeleteFlyer","archiveFlyer","isArchive","clearFlyersData","updateFlyerDetailsState","updateFlyerDetailsPageImageState","CustomDataEvent","_data","Event","EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED","EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS","EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS","EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS","EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS","EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A","EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED","EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE","EVENT_TYPE_PAGE_INDEX_CHANGED","EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS","EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM","EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER","EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER","EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME","EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE","EVENT_DATA_TYPE_CREAT_NEW_FLYER","EVENT_DATA_TYPE_OPEN_PAGES_FLYER","EVENT_DATA_TYPE_UPLOAD_FILE_TYPE","EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE","EVENT_DATA_TYPE_DISABLE_TABS","EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP","EVENT_TYPE_GET_ALL_SELECTED_SPOTS","EVENT_TYPE_CHANGE_ICON_POSITION","EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT","EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT","EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT","EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT","EVENT_DATA_TYPE_SPOT_PRESS_MOVE","eventTypes","eventDispatcher","EventDispatcher","validEventTypes","addEventTypeListener","onEventType","callback","on","addEventDataTypeListener","removeEventTypeListener","off","dispatchEventType","eventType","trigger","dispatchEventDataType","event","_path","resetFlyerState","getFlippingFlyer","signal","Authorization","get","flyerDetailPayload","flippingFlyerPayload","conversion","saleType","isAssignedToAccount","savePageSpotsData","spotsFile","languageCultureCode","postPageSpotsData","userFriendlyMessage","getFramesDataExcel","Promise","resolve","reject","responseType","contentType","reader","FileReader","onload","onerror","readAsText","then","contentLanguageCulture","formData","FormData","append","name","postPromotionsAndItemsTemplate","optionValue","getPromotionsAndItemsTemplate","getPromotionsAndItemsDataExcel","loadImagesForPromoItemsTemplate","loadImagesForPromoTemplate","files","loadImagesForItemsTemplate","postPromoItemsData","createSpots","updateSpots","deleteSpots","changeOrientationNumberingForFrames","isHorizontal","toggleSelectAllMode","changeQualificationStatusForFrame","flyerFramesIds","flyerState","pageDtoNumber","currentFramesForPage","framesFromResponse","frameFromResponse","promoFromFrameResponse","flrRecId","itemFromPromoFromFrameResponse","newFramesForPage","history","createBrowserHistory","ErrorBoundary","props","errorInfo","setState","whiteSpace","componentStack","children","React","Component","_extends","Object","assign","target","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgCloseIconX","_ref","svgRef","titleId","viewBox","fill","xmlns","ref","d","StatusPopupType","ForwardRef","useStyles","makeStyles","orangeBtn","padding","background","backgroundColor","color","borderRadius","border","fontSize","lineHeight","display","alignItems","textTransform","opacity","OrangeButton","properties","classes","Button","className","disabled","isDisabled","onClick","Typography","buttonName","StatusPopup","useState","setValue","onChangeValue","e","isWithItems","setWithItems","onChangeWithItems","messagesToRender","messages","ListItem","disablePadding","settings","modalName","Modal","dialogClassName","styles","soft_hard_delete_popup_wrapper","show","onHide","handleClose","close_button_container","content_popup_container","button_container","confirmOnClick","onHardDeleteClick","onUploadImage","uploadPdfFileToFlipbook","options_list","onChange","checked","onSoftDeleteClick","deletePromosItemsFromFlyer","targetItemsLength","deleteFramesFromFlyer","backdropClassName","Body","src","alt","ERROR","INFO","NOTE","CONFIRM","vi_icon","subTitle","List","useTypedSelector","useSelector","ReduxErrorsHandler","authState","pagesState","flippingFlyerState","guiSettingsState","promosItemsState","accountSettingsAndLang","storeSettingsState","storeState","usersState","updatePasswordState","setTitle","setSubTitle","recommendation","setRecommendation","setErrorDto","setShow","popupType","setPopupType","useEffect","oldErrorDto","newErrorDto","hasErrors","messageResponseDto","toLowerCase","recommendedAction","text","includes","technicalMessage","hasUnauthorizedError","diagnostics","splitter","trim","Loader","forwardRef","showLoader","useImperativeHandle","visibility","ButtonLoader","loader","useRef","inputStyles","bordersColor","borderLeft","borderLeftColor","TextInput","verticalMode","Input","isRequired","errorMessage","inputProps","maxLength","readOnly","autoComplete","disableUnderline","placeholder","placeHolder","sx","withoutErrorMessage","m","Boolean","horizontalLabelCol","horizontalInputCol","defaultProps","PasswordInput","hidden","setHidden","validEmailRegex","RegExp","getVariableName","varObj","hexToRgb","hex","exec","r","parseInt","g","_path2","formWrapper","textEventsWrapper","justifyContent","marginTop","textEventBox","flexFlow","rowGap","emailIconWrapper","emailIcon","SigninForm","setEmailAddress","password","setPassword","errors","setErrors","hooksNames","useDispatch","buttonLoaderRef","isFormdValid","allErrors","validate","values","join","onInputChange","hookName","hookFunction","enforceValue","currentError","validateInput","validator","isEmail","setTimeout","textAlign","marginBottom","fontWeight","noValidate","onSubmit","preventDefault","actionCreators","Box","onForgotPasswordClick","textDecoration","cursor","onRegisterClick","EmailSent","emailSentIcon","onResendAnotherEmailClick","RegisterForm","setFirstName","setLastName","fullName","phoneNumber","setCompany","useParams","projectName","sentEmail","setSentEmail","str","test","onRegisterSucceeded","refEmail","onSigninClick","CompleteRegistration","userEmail","userToken","onRegisterEmailSucceeded","onRegisterEmailFailed","setStatus","statusClass","setStatusClass","delay","onRegistraterClick","completeRegistrationIcon","ForgotPasswordForm","sendEmail","onEmailSent","handleResendAnotherEmail","ResetPassword","verifiedPassword","setVerifiedPassword","userData","authWrapper","link","textDecorationColor","AuthPrivacy","Link","href","CompleteUserRegistration","SetPassword","authScreen","offsetHeight","logo","isXs","authContentWrapper","flex","AuthScreen","FormsTypes","screenName","forgotPasswordFormRef","sendEmailRef","useMediaQuery","isSm","isResetPasswordMode","location","pathname","isCompleteRegistrationMode","initialForm","Signin","currentForm","exact","path","component","ForgotPassword","Number","from","to","PageSpinner","loaderSpinnerBox","CircularProgress","imageWrapper","maxWidth","maxHeight","withoutLoader","image","withBorders","hideImage","AsyncImageWithLoader","didLoad","onLoad","notLoad","onNotLoad","canvasRef","stylesProperties","handleLoad","handleError","loadImageCallback","Image","canvasContainer","selectedPageImage","ctx","getContext","offsetWidth","addEventListener","imgWidth","imgHeight","scale","drawImage","removeEventListener","notUploadIcon","createFlyerFromPdfFile","createFlyerFromPdfFileRequest","onUploadProgress","progressEvent","loaded","updateFlipbook","updateFlipbookRequest","newData","primaryColorRgb","guiColor","font","fontFamily","flyerStatusCode","iconContrast","iconStyle","iconStyleType","urls","accountHomePageUrl","homePage","startDate","validFromUtc","Date","getTime","getTimezoneOffset","toJSON","endDate","validToUtc","bgImageFile","bgImage","bgColor","backgroundColorRgb","language","languageCultureId","pdfFile","BorderLinearProgress","styled","LinearProgress","theme","linearProgressClasses","bar","ProgressBarWithLabel","withLabel","columns","xs","variant","startUploadingImagesProgressPopup","changeUploadingImagesProgressPopup","changedData","createExampleCheckoutUrl","urlSettings","firstExample","secondExample","conversionUrlBase","interItemSeparator","intraItemSeparator","itemCodePrefix","itemListVarName","itemOptionalParamValue","optionalVars","optionalVarsString","obj","qty","replace","createExampleCheckoutUrlApp","conversionUrlBaseApp","interItemSeparatorApp","intraItemSeparatorApp","itemCodePrefixApp","itemListVarNameApp","itemOptionalParamValueApp","optionalVarsApp","optionalVarsStringApp","formatBytes","bytes","decimals","k","dm","sizes","parseFloat","pow","toFixed","uploadingPdfWrapper","uploadButtonWrapper","uploadButton","boxShadow","loaderWrapper","uploadingProgressBarWrapper","flyerPreviewWrapper","flyerPreview","position","defaultUploadingState","isShowProgressBar","isPagesUploading","pdfFileSizeMb","defaultPagesState","currentPageNumber","totalPageNumber","UploadingPdfAndCreateFlyer","flyerDetailsState","userDataInfo","uploadData","uploadingState","setUploadingState","setPagesState","isProcessingFinished","setProcessingFinished","setUserData","setLang","connection","setConnection","optionsSignal","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","newConnection","HubConnectionBuilder","withUrl","configureLogging","LogLevel","Information","withAutomaticReconnect","build","onGetResponse","origin","window","statusCaption","appUrl","getFlyerAppAddressWithEnvPrefix","accountName","flyAccRec","accCaption","flyerName","postMessage","fileName","keepAliveIntervalInMilliseconds","serverTimeoutInMilliseconds","start","catch","imageFileName","thumbnailUrl","overflow","p","bgcolor","dir","accept","multiple","size","RolloverMenu","setTarget","Overlay","placement","containerPadding","rootClose","Popover","Content","SettingsControls","showGuiThemeSettings","showFlyerClassesPopup","showAccountLocalSettings","showCheckoutSettings","showEmailSettingsPopup","showSaleTypesSettings","showStoreSettingsPopup","showUsersAndPermissionsPopup","DragManager","_container","_touchArea","handleMouseDown","handleDrag","handleMouseUp","movementX","mouvementY","movementY","getBoundingClientRect","x","y","left","touchArea","SvgCameraIcon","fillRule","clipRule","ColorSelector","onDynamicColorSwatchClick","displayColorPicker","handleChange","nextColor","rgb","currentSelectedColor","onColorSwatchChange","onColorSwatchClick","color1","color2","color3","color4","color5","color6","color7","color8","backgroundUrl","backgroundImageURL","isImageUrl","isImageUrlSelected","abovePosition","prevProps","nextState","reactCSS","swatch","popover","zIndex","cover","right","bottom","columnSpacing","LabelFileSelector","inputRef","htmlFor","fileId","pointerEvents","SvgCloseIcon","closePopupBtn","ClosePopupBtn","onClose","guiThemeHeader","GuiThemesHeader","containerRef","getRef","listener","options","draggable","ImageLoader","URL","createObjectURL","SvgUploadIcon","stroke","strokeWidth","_path3","SvgImageError","_path4","_path5","_path6","SvgSet1Promo","_rect","SvgSet2Promo1","rx","SvgSet3Promo2","SvgSet4Promo3","SvgSet5Promo4","SvgSet6Promo5","SvgSet7Promo6","SvgSet8Promo7","SvgSet1Page","SvgSet2Page1","SvgSet3Page2","SvgSet4Page3","SvgSet5Page4","SvgSet6Page5","SvgSet7Page6","SvgSet8Page7","SvgSet1Link","SvgSet2Link1","SvgSet3Link2","SvgSet4Link3","SvgSet5Link4","SvgSet6Link5","SvgSet7Link6","SvgSet8Link7","SvgSet1Video","SvgSet2Video1","SvgSet3Video2","SvgSet4Video3","SvgSet5Video4","SvgSet6Video5","SvgSet7Video6","SvgSet8Video7","SvgSet1Image","SvgSet2Image1","SvgSet3Image2","SvgSet4Image3","SvgSet5Image4","SvgSet6Image5","SvgSet7Image6","SvgSet8Image7","SvgSet1360","SvgSet23601","SvgSet33602","SvgSet43603","SvgSet53604","SvgSet63605","SvgSet73606","SvgSet83607","iconStyles","iconStyleData","promoCompIcon","Set1PromoIcon","pageCompIcon","Set1PageIcon","linkCompIcon","Set1LinkIcon","videoCompIcon","Set1VideoIcon","imgCompIcon","Set1ImageIcon","img360CompIcon","Set1360Icon","promoCompSrc","set1PromoIcon","pageCompSrc","set1PageIcon","linkCompSrc","set1LinkIcon","videoCompSrc","set1VideoIcon","imgCompSrc","set1ImageIcon","img360CompSrc","set1360Icon","Set2PromoIcon","Set2PageIcon","Set2LinkIcon","Set2VideoIcon","Set2ImageIcon","Set2360Icon","set2PromoIcon","set2PageIcon","set2LinkIcon","set2VideoIcon","set2ImageIcon","set2360Icon","Set3PromoIcon","Set3PageIcon","Set3LinkIcon","Set3VideoIcon","Set3ImageIcon","Set3360Icon","set3PromoIcon","set3PageIcon","set3LinkIcon","set3VideoIcon","set3ImageIcon","set3360Icon","Set4PromoIcon","Set4PageIcon","Set4LinkIcon","Set4VideoIcon","Set4ImageIcon","Set4360Icon","set4PromoIcon","set4PageIcon","set4LinkIcon","set4VideoIcon","set4ImageIcon","set4360Icon","Set5PromoIcon","Set5PageIcon","Set5LinkIcon","Set5VideoIcon","Set5ImageIcon","Set5360Icon","set5PromoIcon","set5PageIcon","set5LinkIcon","set5VideoIcon","set5ImageIcon","set5360Icon","Set6PromoIcon","Set6PageIcon","Set6LinkIcon","Set6VideoIcon","Set6ImageIcon","Set6360Icon","set6PromoIcon","set6PageIcon","set6LinkIcon","set6VideoIcon","set6ImageIcon","set6360Icon","Set7PromoIcon","Set7PageIcon","Set7LinkIcon","Set7VideoIcon","Set7ImageIcon","Set7360Icon","set7PromoIcon","set7PageIcon","set7LinkIcon","set7VideoIcon","set7ImageIcon","set7360Icon","Set8PromoIcon","Set8PageIcon","Set8LinkIcon","Set8VideoIcon","Set8ImageIcon","Set8360Icon","set8PromoIcon","set8PageIcon","set8LinkIcon","set8VideoIcon","set8ImageIcon","set8360Icon","SvgDownloadIcon","SvgUploadExcelIcon","SvgUploadImageIcon","SvgUploadExcelCloudIcon","SvgDeleteIcon","SvgArchiveIcon","MENU_LIST_PROMOTIONS_ITEMS","isDownload","filesFormat","isMultiply","icon","MENU_LIST_STORE_ITEMS","MENU_LIST_FRAME_ITEMS","TABS_LIST_PROMOTIONS_ITEMS_UNLINK","saleTypesDropdownData","saleTypeId","saleTypeData","isChangeableRequisite","isChangeableBenefit","nameRequisite","nameBenefit","defaultRequisite","defaultBenefit","imageSrc","saleType10","USER_ROLES","convertPagesRangeToString","pageRange","pageRangeString","range","startPageNo","endPageNo","slice","isUnicode","letters","substring","charCodeAt","getDate","date","moment","toDate","getIconStyle","iconType","convertEmailsObjectToArray","email","findUserRole","user","role","IconsStylesDropdown","setIconStyle","mainColor","iconsStyles","useMemo","IconPromoComp","IconPageComp","IconLinkComp","IconVideoComp","IconImageComp","Icon360Comp","MenuItem","Select","displayEmpty","selectedStyle","IconComponent","KeyboardArrowDownIcon","MenuProps","PaperProps","MenuListProps","FontsSelect","fontName","frameTypeSelectOptions","GuiThemeSettingsPopup","themeName","setThemeName","setColor","setBackgroundColor","setLogo","backgroundImg","setBackgroundImg","logoUrl","setLogoUrl","setBackgroundUrl","setImageUrlMain","setFontName","fontLabel","setFontLabel","infoPopupSubTitle","setInfoPopupSubTitle","showInfoPopup","setShowInfoPopup","contentRef","headerRef","dragManager","onUploadLogoFileChange","imageLoader","loadImageDimensions","imageDimentions","newLogo","onUploadBackgroundImage","newBackground","fileDto","backgroundDto","init","dispose","hexColor","margin","minWidth","minHeight","mx","selectedFont","fontInArray","onSave","Svg3DotsIcon","SvgEditNoFillIcon","SvgSettingIcon","strokeMiterlimit","SvgRestoreIcon","strokeLinejoin","_g","mask","SvgDonwloadPdfIcon","SvgInfo","toggleFlyerDetailsPopup","isShow","toggleFlyerRightPanel","popper","paper","list","root","MenuForPromotion","isAccountTier1","isMd","anchorRef","contains","setOpen","handleListKeyDown","prevOpen","open","focus","unlinkPromo","makeUnlinkTargetPromo","deletePromo","deleteUnlinkPromotionsFromFlyer","linkUnlinkPromoToFirstEmptyFrame","linkUnlinkPromotionToFirstEmptyFrame","unlinkAllItemsFromPromotion","unlinkAllItemFromPromoSelectedPromo","editFlyer","editFlyerFromMobile","onSoftDeleteArchivedFlyer","stopPropagation","handleDeleteRestoreClick","onRestoreArchivedFlyer","onHardDeleteDeletedFlyer","handleHardDeleteFlyer","onRestoreDeletedFlyer","handleRestoreFlyer","onArchiveDeletedFlyer","Popper","anchorEl","transition","modifiers","preventOverflow","boundariesElement","TransitionProps","Grow","transformOrigin","Paper","ClickAwayListener","onClickAway","MenuList","autoFocusItem","onKeyDown","infoForMenu","option","columnGap","isDisableDelete","editPromotion","createNewItem","isPromotionIncludeItems","createNewPromotion","editTocCaption","deleteTocCaption","downloadFlyer","onAddImageFilesToPages","isDisableUpload","handleDeleteClick","isShowInfoForPage","pageWxH","noneHover","onChangePageNUmber","isDisabledContextMenuOption","insertBeforePageCallback","insertAfterPageCallback","preventClose","boxSizing","marginRight","movePageCallback","pageNumber","optionForSelectPages","totalPagesInFlyer","deletePages","selectedPageRange","editGui","deleteGui","editStoreSetting","deleteStoreSetting","setDefaultStoreSetting","editUserAndPermission","deleteUserAndPermission","useStyle","cellBox","iconWrapper","GuiThemesTableItem","anchorRefForGUIMenu","isOpenedGUIMenu","setOpenGUIMenu","isHoverOnUnlinkPromoAndItem","changeStatusForUnlinkPromoAndItem","prevOpenGUIMenu","setIsCloseMenu","isCloseMenu","logoIcon","clickMenuDataForFlyer","onMouseLeavePromo","onMouseEnter","onMouseLeave","aria-controls","aria-haspopup","onDelete","rowIndex","onEdit","GuiThemesTable","onScroll","GuiThemesPopup","showSettingsPopup","setShowSettingsPopup","currentGuiSettingDto","setCurrentGuiSettingDto","getGuiSettings","guiSettingDto","delete","deleteGuiSettings","put","isNeedToUpdateFlyerState","newFlyerState","saveGuiSettings","confirmPopupHeader","mainBtn","secondaryBtn","SimpleConfirmPopup","contentText","onConfirm","buttonText","onCloseWithoutSaving","isSaveDisabled","onClosePopup","buttons","mt","px","pb","SvgDeleteIconMain","SvgPlusIcon","SvgDeleteIconLine","optionalVarBox","paddingBottom","conversionUrlSettingInput","borderColor","variableRowButtonsWrap","OptionalVar","variable","checkValidValue","allVarsData","addRemoveRowFromOptionalVars","onChangeInput","OptionalVarString","RadioButton","labelCaption","isBold","readonly","requiredFieldIdentificationColor","TextareaWithLabel","labelGridSizeNumber","inputGridSizeNumber","valueForInput","labelAlign","fieldName","isNotValid","rows","isNoWrap","showPassword","setShowPassword","handleMouseUpDownPassword","noWrap","multiline","maxRows","endAdornment","InputAdornment","marginLeft","IconButton","aria-label","onMouseUp","onMouseDown","edge","disableRipple","VisibilityOff","Visibility","AccountCheckoutSettingForPopup","conversionUrlSettingState","onChangePhoneNumber","handleChangeRadioBtn","checkoutUrl","setCheckoutUrl","checkoutUrlApp","setCheckoutUrlApp","checkoutUrlLink","conversationUrlResult","checkoutUrlLinkApp","conversationUrlResultApp","_","isEmpty","exampleItemCode1","exampleItemQTY1","exampleItemCode2","exampleItemQTY2","conversionSetting","conversionType","conversionEmail","mb","my","paddingLeft","underline","rel","wordBreak","isShowAppSetting","phoneInput","requiredField","error_signal","conversionPhoneNo","conversionPhoneMessage","checkoutSettingPopup","checkoutSettingPopupHeader","buttonConversionUrlSettings","radioBtnGroup","conversionUrlExampleWrapper","rowBox","trashButtonWrapper","tabButton","borderRight","borderBottom","resultBox","CheckoutSettingPopup","closePopup","settingForAccount","setCheckoutUrlSetting","setFirstExample","setSecondExample","checkoutUrlDataForFlyer","accountCheckoutSettings","activeTabInUrlSetting","conversionUrlSettingData","setLoadingStatus","setConversionUrlSettingState","defaultConversionUrlSettingState","setDefaultConversionUrlSettingState","isDomainChanged","changeDomain","isChangesNotSaved","changeStatusForNotSavedChanges","activeTabName","setActiveTab","getConversionUrlSettings","dataForState","setStatesForPopups","conversionNotificationText","optionVarsStateWithEmptyRow","optionVarsStateWithEmptyRowApp","isAddRow","rowNumber","settingObj","currentOptionalVarRows","optionalVar","newStateForOptionalVarRows","addRemoveRowFromOptionalVarsApp","indexKey","nameVal","valVal","isNumeric","inputName","isValid","isURL","isMobilePhone","checkAllRequiredFields","forOwn","property","openUrlInTab","currentTarget","urlWrapperChildrenArray","Array","childNodes","selector","textContent","encodeUrl","encodeURI","checkerBeforeSaveSettingsCheckoutUrl","saveSettingUrl","optionalVarOnlyWithValue","optionalVarOnlyWithValueApp","jsonForRequest","dataForRequest","saveConversionUrlSettings","onClickOnTab","optionalVarStrings","optionalVarStringsApp","pt","disableTouchRipple","Checkbox","isChecked","py","pl","RadioGroup","row","FormControlLabel","control","Radio","pr","optionalVarName","SaleTypeSettingsRow","defaultSaleType","isSelected","onChangeSelectionForSaleType","requisiteValue","setRequisiteValue","benefitValue","setBenefitValue","isSelectedSaleType","setSelectedSaleType","requisite","benefit","sale_type_row","selected_row","content_cell_wrapper","disabledSaleTypeIcon","satCaption","caption_for_requisite_benefit","saleTypesPopupWrapper","transform","saleTypesPopupHeaderWrapper","saleTypesPopupHeaderBox","saleTypesPopupContentWrapper","saleTypesPopupBtnWrapper","saleTypesPopupBtn","SaleTypesSettings","saleTypesState","setSaleTypesState","setSelectAllStatus","numberOfSelectedSaleType","setNumberOfSelectedSaleTypes","isSelectedAllSaleTypes","every","selectedSaleTypes","selectedSaleType","isSelect","newStateForSaleTypes","satRecID","saleTypeRows","selectedPatternSaleType","letterSpacing","sale_types_table","header_sale_types_popup","content_sale_types","collectDataForRequest","requestData","saleTypeIds","updateSaleTypeForAccount","SvgDropdown","defaultFontForLabel","DropdownIndicator","SelectWithLabel","selectGridSizeNumber","valueForSelect","onChangeSelect","selectArray","withDisabledSomeOptions","disabledOptions","customStylesForSelect","base","singleValue","valueContainer","input","menuList","menu","classNamePrefix","isOptionDisabled","disabledOption","getOptionValue","getOptionLabel","isSearchable","components","radioBtnsGroupWithLabelWrapper","radioBtn","direction","TextAreaWithSwitchControlAndLabel","textareaGridSizeNumber","valueForTextarea","onChangeTextarea","numberOfRows","isShowFromAccountBtn","checkboxName","onCopyFromAccount","hideTextArea","handleDiameter","onColor","onHandleColor","resize","isMultiplyRows","withoutPadding","TextInputWithLabel","localAndTextSettingWrapper","localAndTextSettingHeader","localAndTextSettingContent","localAndTextSettingBtnsWrapper","AccountLocalAndTextSetting","changeData","isNew","languages","currencies","currencySymbol","jobCaption","currency","disclaimerTitle","disclaimer","showDisclaimer","quickTips","showQuickTips","listDisclaimer","showListDisclaimer","checkoutBtn","homePageUrl","defaultState","setDefaultState","isDefaultStateChanged","setStatusForDefaultStateChanged","disclaimerDirection","setDisclaimerDirection","disclaimerTitleDirection","setDisclaimerTitleDirection","quickTipsDirection","setQuickTipsDirection","itemsDisclaimerDirection","setItemsDisclaimerDirection","stateObjectUsingCurrentData","accountLanguage","captionNative","currencyAbbrv","uiTexts","flyerDisclaimerPopupTitle","disclaimers","flyerDisclaimer","isFlyerDisclaimer","isQuickTips","isListDisclaimer","goToCheckout","selectedLangData","uiText","isStateWasChanged","checkIfSomethingChangeInDefaultState","newDataForFlyer","onChangeText","targetName","isEnableShowFlyerDisclaimerOnce","dataRequest","setAccountSettingAndLang","AccountLocalAndTextSettingModal","_rect2","_rect3","_rect4","SvgAnalyticsIcon","_mask","downloadAnalyticsReportExcel","SvgViewDashboardIcon","_mask2","_mask3","_path7","_path8","SvgDownloadEcxelIcon","maskUnits","analyticsPopup","analyticsCell","cellCaption","cellCount","AnalyticsPopup","setShowAnalyticsPopup","flyerData","flyersData","getAnalyticsDataForSelectedFlyer","rowSpacing","flyerID","flyerCaption","Blob","createElement","click","revokeObjectURL","SvgArrowUpIcon","SvgArrowDownIcon","SvgUpDownIcon","sortButton","doubleArrowSortBox","SortBtn","sortCaption","setSortConfig","sortConfig","getClassNamesFor","requestSort","SvgDeleteNoFillIcon","_defs","flyerClassWrap","flyerClassRow","FlyerClass","flyerClassData","editNewFlyerClass","showActions","setShowAction","ids","deleteFlyerClass","createEditFlyerClassPopupWrap","createEditFlyerClassHeader","actionBtn","CreateEditFlyerClassPopup","hide","flyerClassState","setFlyerClassState","classesCaption","newClasses","createFlyerClass","updateClasses","updateFlyerClass","autoFocus","flyerClassesWrapper","flyerClassesHeader","newFlyerClassBtnWrap","flyerClassesContentHeader","FlyerClassesPopup","flyerClassesState","setFlyerClassesState","isShowCreateEditPopup","setIsShowCreateEditPopup","accountId","setFlyerClassData","isNewFlyerClass","setNewFlyerClass","classNone","flyerClassesData","getFlyerClasses","sortableItems","fyerClass","flyerClassesArray","disableFocusRipple","InputResult","InputWithShowingResults","addItem","inputValue","isReadOnly","emailsComp","ml","flexWrap","emailsSettingPopup","emailsSettingPopupHeader","buttonSave","AccountEmailSettingPopup","setInputValue","setEmails","getEmailsSettingForAccount","emailsArray","isEmailsStateWasChanged","emailsArrayDefault","onSaveEmails","emailsObj","setEmailsSettingForAccount","newEmails","emailFromState","PopupHeader","headerCaption","bg","jc","classForHeader","tableRow","borderTop","storeMainColor","StoreSettingsRow","storeSettingData","setDefaultSettingForStore","anchorRefForMenu","shelfStyleData","shelfStyle","storeShelfStyleId","isHoverOnRow","changeStatusForHoverOnRow","isOpenedMenu","setOpenMenu","prevOpenMenu","onMouseLeaveRow","TableRow","TableCell","isDefaultAccountStoreSetting","backgroundImageUrl","textureImageUrl","backgroundImage","backgroundSize","clipPath","colorRgb","storeSettingsTableWrapper","storeSettingsTable","borderCollapse","storeSettingTableHeadRow","verticalAlign","StoreSettingsTable","storeSettingArray","storeSetting","Table","TableHead","StoreShelfStylesSelect","shelfStyleId","storeSettingCreateEditWrapperContainer","storeSettingCreateEditPopup","storeSettingCreateEditContentWrapper","saveBtn","fontStyle","paddingTop","StoreSettingCreateEditPopup","isDisplayPrices","setIsDisplayPrices","isDisplayPromos","setIsDisplayPromos","setLanguage","fontValue","setFontValue","setShelfStyleId","widthForLabels","widthForInputs","currentLang","getLanguage","langId","langFromLangArray","bounds","handle","defaultPosition","storeSettingsPopupWrapperContainer","storeSettingsPopup","storeSettingsPopupContentWrapper","selectedStoreSettingCaption","controlsRowWrapper","selectedStoreSettingCaptionWrapper","StoreSettingsPopup","setStoreSettings","showStoreSettingPopup","setShowStoreSettingPopup","currentStoreSettingData","setCurrentStoreSettingData","getStoreSettingForAccount","storeSettingId","storeSettingsAfterDelete","deleteStoreSettingForAccount","defaultAccountStoreSettingId","newStoreSettingsAfterDelete","setDefaultStoreSettingForAccount","secondaryColorRgb","fontSizePt","storeSettingsArrayWithNewSetting","saveStoreSettingForAccount","ItemInMenuContent","promotionsItemsState","setDisabled","deletedSpotsIds","spot","item_name","mr","ItemInMenu","ClickMenu","disablePortal","SvgIconPlus","x2","y2","gradientUnits","stopColor","offset","getStoreExcelTemplate","uploadExcelFileRequest","wmName","getSettingsForPopup","typeStatus","UserAndPermissionRow","acuFirstName","acuLastName","acuRole","acuEmailAddress","onSendEmailToUser","userAndPermissionTableWrapper","userAndPermissionTable","headerBoxWithControl","UsersAndPermissionTable","roleCaptionA","roleCaptionB","users","acuRecId","createEditWrapperContainer","createEditPopup","createEditContentWrapper","createEditFieldsWrapper","UserAndPermissionSettingCreateEditPopup","userAndPermissionData","usersAndPermissionsState","setRole","setIsDisabled","isShowConfirmPopup","setIsShowConfirmPopup","isNoChanges","compareCurrentAndDefaultState","currentState","handleSave","mainLabelColumnNumber","usersAndPermissionPopupWrapperContainer","usersAndPermissionPopup","usersAndPermissionPopupContentWrapper","accountRow","UsersAndPermissionPopup","showUserAndPermissionSettingPopup","setShowUserAndPermissionSettingPopup","isShowConfirmDeletePopup","setShowConfirmDeletePopup","currentUserAndPermissionData","setCurrentUserAndPermissionData","getUsersAndPermissions","createdUsers","usersAfterDelete","usersWithNewUsers","saveUserFromAccount","usersDataAfterDelete","deleteUserFromAccount","analyticsButton","openStoreBtn","showStoreSettingsMenu","setShowStoreSettingsMenu","showSettingsMenu","setShowSettingsMenu","showAnalyticsPopup","showAccountLocalSettingPopup","setShowAccountLocalSettingPopup","showGuiThemesPopup","setShowGuiThemesPopup","setShowFlyerClassesPopup","showCheckoutSettingsPopup","toggleCheckoutSettingsPopup","showEmailsSettingsPopup","toggleEmailsSettingsPopup","toggleUsersAndPermissionsPopup","showSaleTypesPopup","toggleSaleTypesPopup","setLoading","openMenuForStore","setOpenMenuForStore","selectedItemInMenuForStore","setSelectedItemInMenuForStore","popupSettings","setPopupSettings","isModalPopup","setModalPopup","accountSettingLang","menuRef","isUserViewer","isUserEditor","setAnchorEl","uploadItemsExcelFileForStore","uploadItemsExcelFileWithImagesForStore","uploadDeletionItemsExcelFileForStore","DOWNLOAD_STORE_EMPTY_EXCEL_FILE_START","DOWNLOAD_STORE_EMPTY_EXCEL_FILE_SUCCESS","DOWNLOAD_STORE_EMPTY_EXCEL_FILE_COMPLETE","DOWNLOAD_STORE_EMPTY_EXCEL_FILE_ERROR","getEmptyFileForStore","clickMenuDataForStore","settingsForPopup","gap","supportedFeatures","isStore","env","handleClick","anchorOrigin","vertical","horizontal","muiBox","UserControlsMenu","userFullName","setUserName","userCompany","setUserCompany","setUserEmail","openChangePasswordPopup","changePasswordPopupWrapper","changePasswordPopupContent","changePasswordFieldsWrapper","ChangePasswordPopup","setIsOpenChangePasswordPopup","currentPassword","newPassword","confirmPassword","isShowSuccessPopup","setIsShowSuccessPopup","requestBody","requestObj","updateUserPassword","UserControls","showMenu","setShowMenu","userName","isOpenChangePasswordPopup","twoCharsName","charAt","HeaderRightControls","EnvMode","SvgUploadPdfIcon","SvgUploadJpegsIcon","SvgEmptyPagesIcon","createFlyerWithoutPageImagesRequest","numberOfPages","pageWidth","pageHeight","CreateFlyerWithEmptyPages","setIsOpen","disableScrollLock","createFlyerWithoutPageImages","createFlyerFromJpegFilesRequest","uniformPageImageDimension","CreateFlyerWithJpegsPages","aria-labelledby","defaultValue","createFlyerFromJpegFiles","createNewFlyerBtnWrapper","CreateFlyerModal","isOpenCreateEmptyFlyer","setOpenCreateEmptyFlyer","isOpenCreateNewJpegFlyer","setOpenCreateNewJpegFlyer","editorHeader","headerBox","openFlyerBtn","openFlyerDetailsPopup","EditorHeader","createNew","isInfoPopupOpen","setInfoPopupStatus","setUrl","isDisabledOpen","setDisabledOpen","setDisabledFlyerDetailPopup","selectedPageState","getActiveTabIndex","fltCode","isChangedData","is_active","SvgFlyersIcon","SvgPagesIcon","SvgSpotsIcon","SvgPromotionsItemsIcon","ToolsBarItem","containerClass","imgClass","selected","backClass","frontClass","isAboveTheSelected","isBelowTheSelected","disabledStyle","isDisabledTab","titleForBtn","changeActiveUnlinkTab","tabName","changeSearchTermForUnlinkedPromotionsItems","addPromosForUnlinkedPromotionsMenu","addItemsForUnlinkedPromotionsItemsMenu","deletePromosFromUnlinkedPromotionsMenu","deleteItemsFromUnlinkedPromotionsItemsMenu","toggleUnlinkPromotionsItemsPanel","attachPromoToFlyer","isDndEvent","attachItemsToFlyer","promoItems","targetFrameId","targetPromo","itemsIds","attachPromoToFrame","promoId","frameId","isDnD","fromUnlinkMenu","editPromotionItemRequest","itemData","imageSrcState","withPegPrice","displayCaption1","displayCaption2","regularPrice","keywords","createPromotionItemRequest","withItemPrice","updatePromotionRequest","promoData","imageSelection","saleTypeCode","sellingUnitId","createPromotionRequest","deletePromosFromFlyer","promosIds","isDeletePromoWithItems","deleteItemsFromFlyer","promoItemsIds","changeDraggingItemRecId","recId","changeQualificationStatusForItems","flyerPromoItemIds","onlyOne","isUnlinkedPromo","totalItemsApproved","totalNotApproved","changedItemId","totalApprovedPromos","changeQualificationStatusForPromos","flyerPromoIds","postItemImage","itemId","deleteImageFromItems","ToolsBar","isDisabledRightTabBtn","setDisabledRightTabBtn","selectedIndex","setSelectedIndex","onItemClick","isDisabledTabs","PrivateRoute","rest","isLoggedIn","render","_ellipse","_ellipse2","_ellipse3","SvgMenuOnHover","ry","SvgUnlinkedPage","SvgApprovedPage","SvgNotApprovedPage","SvgApprovedPageSystem","OptionsForSelectPages","numberOfPage","currentPage","deletePageFromPages","uploadImagesToPages","UiLanguageCultureCode","Images","img","Pages","setSelectedPageForTabs","changeQualificationStatusForPage","flyerPagesIds","updatedPages","updatedPageInCurrentFlyer","updatedPage","qualification","AsyncPageImage","hide_image","qualificationIconWrapper","isNotQualified","flyerBoxWrapper","Page","isOpenedPageMenu","setOpenPageMenu","anchorRefForPageMenu","prevOpenPageMenu","dataKey","pagesDataState","pagesFlyer","isPageHasContent","selectedPages","timer","prevent","doClickAction","tagName","isCtrlKey","ctrlKey","metaKey","isShiftKey","shiftKey","lastSelectedPageLength","lastSelectedPage","isActivePage","newArr","flpGuid","selectedPagesAfterDeselected","setActivePages","pagesData","lowerFlpPageNo","min","upperFlpPageNo","max","setActivePageStatus","doDoubleClickAction","isDoubleClick","isExist","setPagesDataState","setAlwaysActivePage","columnNumbersWidth","page_active","isLastActivePage","linked_page","pagesIds","clearTimeout","onDoubleClick","grey_icon","data-src","data-src-main","page_footer","is_active_page","onAddImageToPageFile","userSelect","maxPage","insertPageCallback","flyerRecID","flpFlyRecId","minPage","deleteImagesFromPages","SvgPagesIconLarge","SvgPromotionsIconLarge","SvgItemsIconLarge","reportColumn","flexDirection","QualityCheckStatistic","totalPages","acceptedPages","totalFrames","acceptedFrames","totalPromotions","acceptedPromotions","totalItems","acceptedItems","SvgInfoIcon","_path9","_path10","_path11","_path12","_path13","_path14","_path15","qualificationMiniPopup","createTheme","MuiTooltip","styleOverrides","QualityCheck","withCheckbox","qualification_wrapper","input_wrapper","targetStatus","ThemeProvider","Tooltip","enterDelay","enterNextDelay","styleType","GuiSelectorItem","CurrentIconComp","GuiSelector","customStyles","selectedItem","Option","innerRef","innerProps","SvgCalendarIcon","someFlyerDetailsDataWasChangedInFlyerDetailsPopup","isChanged","SvgEditIcon","FlyerCheckoutSettingsForPopup","onFulfilmentListChanges","isFlyerPublished","onChangeCheckoutForCheckoutUrlForAccount","editCheckoutUrl","onFulfilmentTypeChanged","deleteCheckoutUrl","deleteCheckoutUrlApp","onChangeEmail","stateError","onChangePhoneMessage","onChangeCheckoutBtnText","copyDataFromAccountUsingPropertyName","copyDataFromAccount","btnName","radioType","section_with_columns","without_space","caption_field","read_only","radio_btn_for_excel_or_text","excel","emailErr","isUrl","isPhoneNumber","phoneNumberErr","phoneMessage","phoneMessageErr","checkoutBtnCaptionErr","SvgExpandRightPanelIcon","strokeLinecap","ExpandCollapseBtn","animationTime","FlyerEmailSettings","isValidEmailFromInputContactUsEmails","inputValueForContactUsEmails","contactUsEmails","addItemToContactUsEmails","removeEmailFromContactUsEmails","onChangeInputEmailForContactUsEmails","tabContentWrapper","tabs","illegalFlyersCountWrapper","initialFlyerState","description","createDate","modifiedDate","languageData","gui","flygusRecId","conversationUrl","conversationUrlApp","flyerStatus","flyerType","guiInitialState","FlyerDetailsRightPanel","activeFlyers","isShouldCheckCurrentFlyerStateBeforeLeave","setIsShouldCheckCurrentFlyerStateBeforeLeave","flyersForHold","setCurrentState","rightPanelAnimationTimeInMs","isPagesTab","getCurrency","lacCurrencyAbbrv","getFlyerClass","currentFlyerClass","getFlyerPagination","currentFlyerPaginationVariant","paginationVariant","isOpenPageScreen","changeOpenPageScreenStatus","setGui","captionErr","displayCationErr","noPagesErr","startDateErr","endDateErr","checkoutUrlSettingErr","noCodeErr","setErrorState","isNoEdit","setNoEdit","setReadOnly","isChangedDataForCurrentFlyer","changeDataForCurrentFlyer","checkoutUrlSetting","setActiveTabInUrlSetting","isMessagePopupShow","showMessagePopup","setHoverTabName","isShowConfirmExitPopup","setShowConfirmExitPopup","isRequiredFieldsNotFilled","setIsRequiredFieldsNotFilled","isCopied","setCopiedStatus","isUrlCaptionUpdateByUser","setIsUrlCaptionUpdateByUser","isExpired","setIsExpired","setInputValueForContactUsEmails","setContactUsEmails","inputColumnsNumber","onClosePromoDetailsPopup","dataForFlyer","flyFlyerClassId","contactDetails","validUntil","onlyHebrewPattern","onlyNumbers","isValidCaption","isValidCode","codeErr","endOf","defaultStateString","changedState","isAlreadyExist","checkValidValueForEmailsInput","filteredFlyerTypes","flyerStatuses","flyerPaginationOptions","flyerCheckoutSettings","propertyName","changeCheckoutForCheckoutUrlForAccount","targetCheckoutSettingFromAccountName","accountCheckoutUrl","accountCheckoutUrlApp","onSaveFlyer","toPages","saveFlyer","onSaveBtnClick","goToPages","isDisabledOption","flyer_info_popup","Divider","orientation","content_wrapper","read_only_content","isNumber","no_symbols","amount","isNaN","trimStart","navigator","clipboard","writeText","guiSetting","paginationOption","format","withTitle","date_picker_wrapper","dateFormat","popperProps","positionFixed","popperClassName","date_picker","maxDate","subtract","popperPlacement","calendar","date_picker_end","minDate","isMobilePhoneEmail","newEmailArray","buttons_wrapper","lastActivatedFlyer","contentPagesWrapper","isMdForContent","isLg","selectedPagesForTabState","pageNoForMoveBefore","dataForUploadImageToPage","notLoaderPagesImagesCodes","isRemoveAllPagesFromFlyer","isSelectedAll","modalSetup","setModalSetup","itemsPerPage","hasMore","setHasMore","records","setRecords","allDeletedPagesNo","newPages","deleteImagesFromPagesRequest","newPagesArr","arrOfPagesAfterDelete","targetIndex","splice","newPageObject","doubleClickOnPage","keydownHandler","imagesArray","isOnlyImages","flpCaption","flpDisplayCaption","flpImage","itPagesHasThumbnails","isAllSelectedPagesHasNotLoadedImages","deletePagesPopupConfirm","deleteImageOrPageConfirm","hasContent","hasImage","onlyIds","insertPageRequest","insertPageToFlyer","movePageRequest","numPageForMove","movePageBeforeInFlyer","setDefaultPageNumberForTabs","useCallback","newActivePagesArray","pageNumberForTab","prevState","arrayForDelete","setColumnNumbersWidth","val","isLastSelectedPage","isActive","xl","lg","sm","md","header","left_side","fake_btn","pagesCounter","pagesIdsWhichCanBeChangeQualification","right_side","pageStart","loadMore","useWindow","showItems","FlyerEditorLeftMenu","clickMenuData","flyers_frames_editor_left_menu","current_promos","promos_items_name","Canvas","addChild","reInitCanvas","setChildren","stage","createjs","Stage","removeAllEventListeners","removeAllChildren","child","update","innerWidth","innerHeight","KeyboardManagerEvents","SpotsPersistenceManager","_createdSpots","_updatedSpots","_deletedSpots","reInit","hasNumber","isForDeletion","parsedForDb","parseForDB","successfull","deleteSpotsAsync","updateSpotsAsync","createSpotsAsync","KeyboardManager","_keyStack","_keysTable","_eventTypes","_eventDispatcher","nodeName","addCharToKeyStack","onKeyUp","dispatchEvent","removeCharFromKeyStack","CTRL_A","DELETE","DELETE2","CTRL_LEFT_MOUSE_CLICK","LEFT_ARROW_KEYBOARD_CLICK","RIGHT_ARROW_KEYBOARD_CLICK","TOP_ARROW_KEYBOARD_CLICK","BOTTOM_ARROW_KEYBOARD_CLICK","PRESS_UP_ARROWS","bind","which","eventToDispatch","getPossibleEVent","indexToDelete","currentStack","getCurrentCharsStack","eventToReturn","keyStack","resultingString","clear","_instance","CanvasMouseTracker","_stage","_imagesDtos","_currentForcedMouseIcon","bitmap","parent","removeChild","mouseX","stageX","mouseY","stageY","trackedObject","isAttachedToStageTree","coordinates","getPositionRelativeToStage","isInsideTrackedObject","visible","getBounds","setInterval","currentParent","x0","y0","Point","onIconReadyCallback","warn","MouseDto","Bitmap","force","nextIcon","setCursor","hideIcon","SpotSelectedLayer","_topLeftRect","_topRightRect","_bottomLeftRect","_bottomRightRect","_canvasMouseTracker","onAddedToStage","onRemovedFromStage","createShape","shape","Shape","graphics","setStrokeStyle","beginStroke","beginFill","drawRect","endFill","setBounds","parentWidth","parentHeight","topLeftRect","topRightRect","bottomLeftRect","bottomRightRect","Container","StrokedText","frontColor","_background","_text1","_text2","Text","outline","bgWidth","bgHeight","initBackground","mouseChildren","updateLayout","fillColor","alpha","bounds1","bounds2","Boundries","deltaX","deltaY","GlobalIdGenerator","_globalId","Spot","mainContainer","_originalX","_originalY","_originalWidth","_originalHeight","_frameIcon","_frameIconData","_label","_isSelected","_selectedLayer","_input","_canvasInput","_hasNumber","_mainContainer","getInstance","generateId","iconXPercentageNumber","iconYPercentageNumber","initIconsManagement","getElementsByClassName","appendChild","golbalId","mouseTracker","canvasMouseTracker","addMouseIcon","top_left_to_bottom_right_scaller","showMouseIcon","bottom_left_to_top_right_scaller","spotIndex","frameIconData","isSelectedSpot","getIconSrcUsingFrameType","frameIcon","frameSizesWxH","mouseEnabled","createHtmlInput","setVisible","mouseEvent","updateScale","updateLabelPosition","inputWidth","inputHeight","oninput","handleOnInput","DOMElement","nextValue","keyCode","newPositionNumber","spotsFunctions","hasPositionNumberAlreadyExist","alert","showEditMode","updatedData","persistenceManager","prepareSpotsForSaving","setSelected","strokeColor","frameIcons","_framesIcons","promoJumpToPageIcon","promoJumpToUrlIcon","promoPlayVideoIcon","promoImageIcon","promoImage360Icon","promoIcon","frameIconSrc","updateIconPosition","getMinimalSpotDimensions","iconWidth","updatePosition","backgroundBounds","labelBounds","iconSize","isDisabledZoom","bgBounds","SpotsFunctions","spotsContainer","_mainSpotsContainer","createSpot","setPosition","innerSpots","deletedSpotsDtos","currentDeletedSpotsDtos","hasSelectedSpots","updateStage","isIgnoreUnselectAll","totalSelected","updateFrameIconImage","selectedFrame","_isDisabledZoom","selectedSpotsArray","currentSpotsContainer","createdSpotsDtos","isPageContainer","hasSpotsContainerSelected","isAllSelected","setStrokeDash","originalPageWidth","originalPageHeight","isSelectedAllFramesModeOn","selectedFrames","spotsDtos","modelViewDtos","reOrderedDtos","getReorderedSpotsDtos","pageHeigth","spotDto","initialData","_flyerPageDto","nextGgridSize","innerSpotsContainer","Spots","showLabel","showIcon","spotsDto","ordered","mvA","mvB","itemsGroupedByY","currentSpot","nextSpot","j","group","spotBounds","selectedSpots","getModelViewDtos","mvDto","itemsToSave","getSelectedSpots","selectedSpot","fromSelectedSpot","minimumIndex","hasFoundSelectedSpot","notReorderingSpots","noChangeMvDto","currentPositionNumber","SpotsCollisionManager","minimalDimensions","getNextGridMinimalDimensions","boundries1","hasIntersections","isInRangeHorizontally","getBoundaries","isInRangeVertically","otherSpots","hasCollisions","spot_j","hasPassedAnyBorder","hasCollision","correctionBoundries","abs","boundries2","left_i","right_i","success","top_i","bottom_i","spotModelViewDto","nextScaleX","nextScaleY","miniamlDimensions","nextWidth","originalWidth","nextHeight","originalHeight","SpotsScallingManager","_collisionManager","onMainSpotsContainerPressMove","isInScallingIndividualSpotsMode","isMouseDown","isInCollisionState","handleNewGridLiveScale","isMinimalGridHasCollisions","redStokedShape","createRedStroke","reInitiAllCollidersState","mouseX0","mouseY0","lastMouseX","lastMouseY","addInitialGrid","onMainSpotsContainerPressUp","handleScallingMouseUpForSelectedSpots","isInMoveSpotsMode","spotsTranslationManager","handleScallingMouseUpForMovedSpots","isRedStrokeVisible","pop","extractSpotsFromTheirContainer","currentSelectedSpotsDtos","updateOriginalDImensions","currentSpotBounds","currentSelectedSpotScallerDto","preStartDraggingFromCorner","currentMouseX","currentMouseY","generatedWidth","generatedHeight","currentSelectedSpotScallerSpotDto","seleectedSpotsDto","normalizedScale","normalizeScallings","currentSpots","unSelectedSpots","handleCollisionsStateForDraggingSelectedSpots","currentSpotScallerSpotDto","nextBackgroundScaleX","nextBackgroundScaleY","backgroundScale","updateSpotsBackgroundPosition","newSpot","handleCollisionsStateForFirstGridCreation","hasCollisionsBetweenSpots","updatedSpotsDtos","updatePositionByScale","SpotsTranslationManager","translationOffsetX","translationOffsetY","preMoveFromKeyboard","boundriesCorrectors","boundriesCorrectorItem","getBoundariesToRetriveToAvoidCanvasBorders","updateSpotsWithBoundriesCorrector","unselectedSpots","handleCollisionsStateForMovingSelectedSpots","preMove","nextX","nextY","boundriesItem","retrieve","camvasWidth","camvasHeight","enableInteractivity","framesIconsData","_isPageContainer","_hitLayer","_pageWidth","_pageHeigth","_isMouseDown","_mouseX0","_mouseY0","_currentMouseX","_currentMouseY","_lastMouseX","_lastMouseY","_isRightCollider","_isBottomCollider","_nextGgridSize","_innerSpots","_keyboardManager","_currentSpotsContainer","_redStokedShape","_isInCtrlClickMode","_hitAreaName","_spotsFunctions","_spotsScallingManager","_spotsTranslationManager","_isInScallingIndividualSpotsMode","_currentEditedSpot","_currentSelectedSpotScallerDto","_currentSelectedSpotsDtos","_hitLayerParent","_isInMoveSpotsMode","_translationOffsetX","_translationOffsetY","_persistenceManager","_isInCollisionState","onMainSpotsContainerClick","nativeEvent","button","functions","isInCtrlClickMode","nextSelected","putSelectedSpotsChildrenOnTop","selectAllPageSpots","changeIconDataForSelectedFrames","hasAllSpotsSelected","deleteSelectedSpots","moveSelectedSpots","selectedFrameData","selectFrameUsingFrameDataFromRightPanel","reNumberAllSpots","reNumberAllSpotsWithDataForSelectedFrames","iconDataForUpdate","reNumberFrom","liveDragFromBottomRight","liveDragFromBottomLeft","liveDragFromTopLeft","liveDragFromTopRight","liveMove","enableContainerHitArea","Graphics","f","dr","hitArea","framesGridCreationIcon","noAccessIcon","moveFramesIcon","initSpotsDtos","selectedSpotsDataArray","selectedSpotsDataFromCanvas","selectedFramesData","FlyerPage","flyerIconStyleType","spotsState","setNextGridSize","setIsLoading","canvasWidth","canvasHeigth","setNextGgridSize","handlePresistency","save","newSelectedFramesState","findUpdateFrameInSelectedFrames","setSelectedFrames","updateSpotsDtos","SvgArrowLeftSlim","SvgArrowRightSlim","FlyerArrow","arrowType","classNames","FlyerPagesArrows","onLeftArrowClick","onNextArrowClick","GridItem","rectOff","rectOn","showSelected","Grid","_mousePoisition","_isInDragMode","_gridItems","_onGridSizeSelected","_totalSelectedRows","_totalSelectedColumns","drawRoundRect","createBackground","gridItem","showSelectedInnerGrid","mousePoisition","relatedRow","relatedColumn","gridItems","SpotsSizeSelector","grid","onGridSizeSelected","createGrid","SvgMaxRightPaginationArrowIcon","SvgMaxLeftPaginationArrowIcon","SvgRightPaginationArrowIcon","SvgLeftPaginationArrowIcon","topBar","leftPart","middlePart","screen","rightPart","navigationBtn","counterBox","inputWrapper","TopBar","showBack","showNext","setPageIndex","tempPageIndex","setTempPageIndex","checkerFrameStateBeforeChangeThePage","changePageIndex","onPageIndexChanges","compareDefaultAndCurrentState","defaultFramesState","currentFramesState","leftChildren","currentValue","rightChildren","isDragStart","drag_start","isLegalNumber","onSaveFramesSetting","ButtonForFramesTopBar","showOn","isOn","setIsOn","imageClass","textClass","textColor","colorOn","colorOff","SVGICon","svg","isToggle","SvgNewFramesIcon","SvgAutoNumberingHorizontalFramesIcon","SvgAutoNumberingVerticalFramesIcon","SvgRenumberFramesIcon","_circle","orientationForFramesMenu","orientationForFrameOptionWrapper","SpotsTopBarControls","newSpotsButtonRef","handleToggle","NewSpotsIcon","showNewSpotControls","AutoNumberingHorizontalIcon","AutoNumberingVerticalIcon","RenumberFromIcon","SvgZoomInIcon","cx","cy","SvgZoomOutIcon","ZoomInOut","setIsZoomIn","pagesControls","checkboxWithLabelWrapper","trashIcon","FlyerPageControls","garbageIconClass","setGarbageIconClass","setGarbadgeIconEnabled","framesOnPage","garbageIcon","SvgFlyersLeftArrow","SvgFlyersRightArrow","SvgAddToMyListIcon","SvgJumpToPageFlyerIcon","SvgJumpToUrlIcon","SvgPlayVideoIcon","SvgPlay360VideoIcon","_circle2","SvgOpenImageUrlIcon","previewContentWrapper","textOverflow","LinkPreviewPopup","previewUrlData","Skeleton","animation","domain","ImagePreviewPopup","is360iframe","allowFullScreen","allow","popup","PreviewUrlPopup","popupContent","SvgEyeOpenIcon","frameTypes","framesRightPanel","columnBox","framesRightPanelHeader","pinControl","frameRightPanelTitle","framesControlsWrapper","isOnlyOneSelectedFrame","framesRightPanelContent","settingBox","titleBox","inputBaseWrapper","inputBaseLeftRightText","baseInput","framesRightPanelFooter","FramesScreenRightPanel","pageDto","coordinatesAndSizesForSelectedFrame","framesStates","currentSelectedFrameIndex","setCurrentSelectedFrameIndex","qualificationLvlForSelectedFrame","setQualificationLvlForSelectedFrame","valueForFramesType","setValueForFramesType","placeholderForTitle","setPlaceholderForTitle","placeholderForLink","setPlaceholderForLink","placeholderForAppLink","setPlaceholderForAppLink","isDisabledSaveButton","setDisableSaveButton","dataForPreviewLink","setDataForPreviewLink","totalSpotsOnPageNumber","classesProperties","fpsCode","mainGuiColorForFlyer","frameTypeSelectValue","isValidUrlApp","placeholders","setPlaceholderForTooltip","appPlaceholder","setPlaceholderForAppTooltip","selectedFrameIndex","allFramesOnPage","getPreviewData","host","cameraIcon","currentFrameIndex","currentSelectedFrame","onClickNextFrameBtn","isNextFrame","futureFrameIndex","isAllowedNumber","regex","match","Icon","framesIds","InputBase","data-tip","arrowColor","afterShow","pageDataFromNumberWhichUserPutInFrameLink","afterHide","delayShow","previewLinkTooltip","flyerPagesContainerSpots","flyerFramesPagesContent","rightPanelForFrame","FlyerPages","showSotsSizeSelectorGrid","topBarReference","flyerPageRef","contentPagesRef","scrollWrapper","setPageDto","showSpotsSizeSelector","setShowSpotsSizeSelector","setDefaultFrameState","setCurrentFrameState","setCoordinatesAndSizesForSelectedFrame","isSelectedFrames","_bounds","framesData","frameStateObject","level","orderInParent","parentTocEntryId","defaultFrameStateObject","frameData","findOwnPropertiesForSelectedFrames","scrollCount","scrollRef","scroll","sliderElement","onScrollPages","flyerPagesRef","setZoomStatus","FlyerEditorContent","changePageIndexState","FlyerSpotsEditor","flayerDetailsState","selectedItemInMenu","setSelectedItemInMenu","changeModalStatus","isOpenPagesTab","openPagesTab","getExcelFileWithCurrentDataForFramesData","onSpotsFileSelected","SvgPromotionIcon","SvgToggleCollapseItemsInPromotionIcon","SvgDragIcon","SvgItemIcon","MenuForItems","unlinkItem","makeUnlinkTargetItem","deleteItems","deleteUnlinkItemsFromFlyer","addNewItem","onCreateNewItem","editItem","onEditExistItem","duplicateItem","unlinkAllItems","isUnlinkPromo","isUnlinkItem","SvgDeleteImageIcon","FileInput","icon_wrapper","disabledAction","validFileExtensions","isMultipleSelection","onFileSelected","AddDeleteImageModal","setOpenImageModal","setItemState","selectedImageFile","setImageFile","setLoadingWrapper","setFileName","newSrc","fpiImage","add_delete_image_modal","header_modal","header_caption","content_modal","image_wrapper","footer_modal","upload_icon_wrapper","uploadImageToItem","image_file_name","delete_icon_wrapper","SvgFrameScreenshotIcon","NonImagePlaceholder","item_tooltip_preview_popup","row_with_image","CreateEditItemModal","defaultContentForModal","isNewItem","setOpenItemModal","defaultItemState","setDefaultItemState","itemState","itemPromoState","setItemPromoState","isHidden","setHiddenItemPopup","isEmptyItemCode","isEmptyItemCaption","isEmptyRegularPrice","emptyFields","setEmptyFields","isOpenImagePopup","setImagePopupStatus","fpiCode","fpiCaption","fpiRegularPrice","pasteImage","clipboardData","getAsFile","onSaveItem","fpiKeywords","createPromotionItem","fpiDisplayCaption2","editPromotionItem","compareDefaultItemStateWithCurrentItemState","add_edit_item_modal","hidden_popup","row_in_modal","column","wideColumn","flrCode","one_columns_row","image_content","info_for_image_wrapper","images_controls","onBlur","save_wrap","fpiDisplayCaption1","TooltipDetailsItemPopup","isDisableEditBtn","item_tooltip_details_popup","missing_property","value_for_prop","button_wrapper","SvgApprovedItemInPromoSystem","SvgApprovedItemInPromo","SvgNotApprovedItemInPromo","QualificationForItemComponent","QualificationIcon","itemQualification","ApprovePromotionForSystem","ApprovePromotion","NotApprovePromotion","qualification_lvl_item_wrapper","PromotionItem","isHebrew","setHebrewLang","isOpenItemModal","setStatusForNewOrNotForItem","setItemQualificationStatus","isHoverOnItem","changeHoverOnItemStatus","openItemMenu","setOpenItemMenu","setImageSrc","prevOpenItemMenu","promoItem","onEditItem","promo_item_wrapper","is_hebrew","hover_style","hideMenu","item_wrapper","item_info","isQualification","is_qualification","item_icon_and_caption_wrapper","item_caption","item_price","item_qualification_status","menu_for_item","sourcePromo","PromoSaleType","setSelectedSaleTypeData","requisiteMaxValue","requisiteMinValue","isEditRequisite","setEditRequisite","isEditBenefit","setEditBenefit","onEditRequisite","onClickRow","onEditBenefit","requisiteVal","benefitVal","content_wrapper_for_requisite_benefit","sale_type_input","edit_icon","getPromoSaleTypeCaptions","promotion","flrSatCode","flrSalePrice","itemsPricesArray","minRegPrice","maxRegPrice","regularPricesRange","minRegPriceConv","maxRegPriceConv","flrGetAmountOff","flrBuyQty","flrGetPctOff","flrPctAt","flrBuyAmount","languageDisplayCaption","languageAbbrv","getPromoSaleTypeCaptionForType70UsingSellingUnits","benefitItem","fpiIsBenefit","flrCaption","convertPromoPropertiesToGenericParams","genericParams","flrGetQty","PromosSaleTypesPopup","saleTypesArray","currentPromoSaleTypeCode","openSaleTypesDropdown","promotionState","defaultPromotionState","saleTypeDefaultState","convertValuesForBenefitAndRequisite","saleTypeObj","sale_types_popup","close_icon","imagesButton","themeSelect","spacing","controlHeight","PromotionDetailsModalPopup","isNewPromotion","promotionData","openPromotionModalPopup","isUnlinked","setDefaultPromotionState","setPromotionState","isEmptyPromotionCaption","isEmptyPromotionCode","convertedPromoCaption","setPromoCaption","dateRange","setDateRange","isSaleTypesDropdownOpen","selectedSellingUnit","setSelectedSellingUnit","sellingUnitsState","setSellingUnitsState","setImageSrcState","newSellingUnitFromChangedSellingUnitsArray","notDisabledSellingUnitsArray","flrImage","flrSeuRecId","sellingUnitsForFlyerWithDisabledOption","flrValidFromUtc","flrValidToUtc","selectedSaleTypeData","convertedPromotionFromSaleType","convertGenericPromoParamsToProperties","onSavePromotion","currentSaleType","defaultValueForSelectedSaleType","promoObjectForRequest","createPromotion","updatePromotion","compareDefaultPromoStateWithCurrentPromoState","edit_add_promotion_modal","deleteImageFromPromotion","isRtl","selectsRange","disabledKeyboardNavigation","shouldCloseOnSelect","calendar_icon_wrap","div_button_like_input","hebrew_fake_row","TooltipDetailsPromoPopup","promotionTypeCaption","isShowPromoCaption","SvgApprovedPromo","SvgNotApprovedPromo","SvgApprovedPromoSystem","QualificationForPromoComponent","promoQualification","LeftMenuContentElement","memo","setCaption","isShowItems","setStatusForShowItem","setPromoQualificationStatus","isHover","changeHoverStatus","isOpenedFrameMenu","setOpenFrameMenu","prevOpenFrameMenu","isHoverOnPromotion","changeHoverOnPromotionStatus","openPromotionMenu","setOpenPromotionMenu","prevOpenPromotionMenu","isOpenPromotionModalPopup","setStatusForNewOrNotForPromotion","setSelectedItem","isShowCaptionForPromotion","toggleShowCaptionForPromotion","isShowItemsInPromo","expandedPromos","expandedPromo","currentPromo","isFlyerWithPrices","handleToggleForFrame","anchorRefForFrameMenu","department","frameTypeTitle","getStyle","snapshot","isDragging","isDropAnimating","transitionDuration","onMouseEnterPromo","setTargetPromos","isDisableDraggable","showHideItems","onChangeExpandedPromosData","changeQualificationForPromo","setQualificationForFrame","clickMenuDataForPromotion","clickMenuDataForFrame","fpiDeptName","isNotPromoFrameType","frame_wrap","getSelection","removeAllRanges","onSelectFrame","frame_promo_wrap","hover_frame","isSelectPromo","droppableId","droppableProps","frame_promo_container","frame_promo_container_without_placeholder","disableInteractiveElementBlocking","draggableId","isDragDisabled","draggableProps","dragHandleProps","frame_promo","promo_wrapper","align_center","promo_info_wrapper","frame_info_wrapper","frame_info","frame_number","promos_category","right_corner_menu_for_target","promotion_info_container","hover","promotion_content","promotion_info","promotion_icon","promotion_details","promotion_caption_name","promotion_items_wrapper","with_quality","promotion_items_caption","promotion_right_part_wrapper","promotion_code_group","promotion_code","is_qualification_mode","promo_qualification_icon","arrow_wrapper","toggle_collapse_icon_wrapper","is_open","arrow_with_margin","draggable_area","list_of_items","setFrames","isDropDisabled","frame_promo_without_content","nextProps","LeftMenuContent","isAddPromo","setExpandedPromos","newExpandedPromosState","framesRows","currentPageState","promoFromState","frames_wrapper","unlinkSelectedPromosBtn","controlsPromoItemsButton","totalPromotionsItems","setTotalPromotionsItems","isApproveSelected","changeApproveStateForSelectedPromos","isClickOnApproveAllCheckbox","toggleApproveAllCheckboxStatue","setAllPromosWithItems","selectedPromos","setSelectedPromos","isSelectedPromosExpanded","toggleExpandStatus","isAllSelectedPromosDoesntHaveItems","toggleStatusForAllSelectedPromosWhichDoesntHaveItems","totalPromotionsInFrames","promosFromFrame","getTotalPromotionsInFramesOnPage","allItemsArraysInSelectedPromos","allItemsInSelectedPromos","itemsArray","selectedItemIsExistInSelectedPromoAndAllItemsInFrames","targetIDValue","setItemsToPromosItemsState","selectedPromoIsExistInAllPromosInFrame","selectedPromo","setPromosToPromosItemsState","totalPromotionsWithItems","selectAllPossiblePromosInFramesOrDeselectAll","expandedPromosInSelectedPromos","selectedPromosWithItems","flyers_promos_editor_left_menu","total_promos","targetPromos","targetPromosIds","promosQualification","itemPromo","upcomingFrame","promotionsInFrames","isLastSelectedPromo","isLastSelectedFrame","newStateForSelectedPromos","newStateForSelectedFrames","lastSelectedIndex","promoIndex","frameIndex","HorizontalTab","tab_wrapper","active","tab","HorizontalTabs","tabs_wrapper","SvgSearchIcon","SvgSearchFilterIcon","SvgSearchClearIcon","SearchBar","onSearchEnteredTerm","search_bar_form","search_bar_wrapper","search_icon","icons","search_filter_icon","search_clear_icon","clearSearch","onChangeSearchValue","searchValue","UnlinkPromoOrItem","isOpenPromotionOrItemMenu","setStatusForPromotionOrItemMenu","setQualificationLevel","setSelect","promoState","onClickFrame","onChangeSelectedItems","onChangeSelectedPromos","changeQualificationStatus","onLinkToFirstEmptyFrame","firstEmptyFrames","onAddNew","onEditItemFromPromotion","isDeleteWithItem","targetItemsIds","targetItems","unlink_promo_main_wrapper","unlink_promo_wrapper","unlink_promo","menu_for_promotion_and_items_wrapper","shouldShowSelection","onContextMenu","unlink_item_wrap","dragging_item","isHide","hide_item","on_hover_unlink_item","item_dept_wrapper","qualification_item_icon","filled_item_department","item_department","unlink_item_content","unlink_item_img_wrapper","unlink_item_info_wrapper","unlink_item_caption","unlink_item_price","unlink_item_sku","fpiSku","unlink_items_menu_area","selection_count","UnlinkTablesForPromosItemsScreen","itemsState","setItemsState","itemsWhichShouldBeUnlinkFromTargetPromo","newItemsArray","tables","targetUnlinkedPromos","flrKeywords","unlink_items_columns","unlink_table_item_first","draggingRecId","unlink_table_item_second","FlyerPromoItemsRightMenu","changeValue","selectedPromosIds","header_for_right_menu","setTargetUnlinkedPromos","setTargetItems","SvgOpenCloseRightMenuIcon","UnlinkHeader","is_open_menu","right_menu_collapse_icon","right_content_wrapper","SvgBigWarningWithCircleIcon","UploadPromosItemsExcelOptionsPopup","promosFile","savePagePromosAndItemsData","FlyerPromosEditor","framesState","setDragStatus","isOpenPopupForUploadPromosItemsExcel","setOpenPopupForUploadPromosItemsExcel","sourceId","destinationId","sourceIndex","destinationIndex","sourceIdAndDestinationIds","setSourceIdAndDestinationIds","sortedArray","saveImagesDataForPromotionsItems","promosImages","saveImagesDataForPromotions","itemsImages","saveImagesDataForItems","getEmptyFileForPromosAndItemsData","getExcelFileWithCurrentDataForPromosAndItemsData","newStatePromosForUnlinkMenu","newStateFrames","targetPromosStateForChange","flrFpsRecId","destinationPromo","selectedRecId","newStateForUnlinkPromos","unlinkedPromo","unlinkedItemsWhichNeedToAdd","newStateForUnlinkItems","unlinkedItem","unlinkItemsArray","someItemsNotQualified","targetItemsWhichShouldToAdd","newStateItemsForUnlinkMenu","changedTargetItems","fpiFlyRecId","fpiFlrRecId","onDragEnd","destination","activePromo","targetFrame","itemsId","attachItemsToPromo","itemsIdsWhichShouldUnlink","sourceFrame","onDragStart","unlinkPromotions","selectedItemState","selectedItemsArray","oldSelectedItems","newStateForSelectedItems","lastSelectedItem","LeftMenuFileItem","afterRequest","fileNameData","isForDownloading","withInputInfo","uploadIcon","onImageLoadComplete","isComplete","originalDimensions","onError","FlyerPromoItemsEditor","promoItemsFile","savePagePromoItemsData","_rect5","SvgAnaliticsIconBlue","getFlyerPdf","onDownloadProgress","flyerWrapper","activeFlyer","imageWrapperBlock","flyerDescription","flyerDetailWrapper","controlsFlyerWrapper","openBtn","controlBtn","Flyer","anchorRefForFlyerMenu","isOpenedFlyerMenu","setOpenFlyerMenu","prevOpenFlyerMenu","setModalName","filesDataForRequest","setFilesDataForRequest","thumbnailImg","setThumbnailImg","useDoubleTap","handleDoubleClick","useLayoutEffect","scrollPosition","sessionStorage","contentDiv","elem","scrollIntoView","doubleClickOnFlyer","data-index","isMenuOption","classList","lastSelectedFlyer","setFlyersForHold","setFlyerState","isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex","setDisabledStatus","WebkitLineClamp","WebkitBoxOrient","aria-describedby","isDisabledOptionBeforeFlyerWillBeReady","setActionIds","onSoftDeleteFlyer","onArchiveFlyer","checkIfSomeOfSelectedFlyerIsAlreadyPublished","pagesInFlyer","datePickerWrapper","calendarIconBlock","calendarIconWrapper","dropdownIcon","datePickerBlock","dateTimePicker","datePickerHeight","DatePickerComponent","datePickerGridSide","datePickerLabelValue","datePickerValue","datePickerRef","datePickerName","datePickerPlacement","openDatePicker","FlippingFlyerToCTabItem","openPopup","anchorRefForPageToCMenu","setIsHover","isOpenedPageToCMenu","setOpenPageToCMenu","pageStringRange","setPageStringRange","prevOpenPageToCMenu","pagesRangeInString","clickMenuDataForPageToC","flexItem","borderWidth","tocId","tocPageData","tocEntryDto","deleteToc","AddEditToCCaption","popupData","pageTocCaption","popupState","setPopupState","popupDefaultState","setPopupDefaultState","isPossibleValue","pagesRange","validatorForPages","saveToC","pageRangesArray","pageRuns","createTocForPage","tocEntryId","updateToc","compareDefaultStateAndCurrentState","addButton","tableHeader","captionsHeader","pagesHeader","divider","contentWrapper","FlippingFlyerTocTab","setItems","setDefaultItems","setPopupData","nonConvertA","nonConvertB","firstNumberA","firstNumberB","pagesItems","backIconWrapper","backToFlyersBtn","flyerContentWrapper","flyerContent","captionWrapper","urlWrapper","languageWrapper","durationWrapper","uploadPdfPagesWrapper","previewFlyerFirstPageBox","uploadLogoWrapper","uploadLogoButton","uploadedLogoView","dropdownBtn","dropdownContentWrapper","dropdownContent","dropdownSelector","controlButton","tabsPanel","FlippingFlyersCatalogCreateEditFlyer","startDateRef","endDateRef","defaultFlyerState","setDefaultFlyerState","tabPanelIndex","setTabPanelIndex","onChangeDatePicker","imageDimensions","onUploadBgFileChange","checkAllRequiredFieldsInPopup","onTabClick","tabIndex","onCloseConfirmPopup","selfServiceSidePanel","SidePanel","flyerIcon","welcomeScreenWrapper","sidePanel","userControlsWrapper","sidePanelForMobile","contentRightPanel","buttonWrapper","addNewFlyer","WelcomeScreen","isHSm","isFocused","customStylesClassesView","selectedOptions","headerContainer","alignItem","headerItem","boxes","urlBox","buttonLeftSide","counterWrapper","select","newFlyerBtnWrapper","FlyersCatalog","activeFlyersRef","filtersState","archiveCount","softDeleteCount","infoForPagesTab","setOpenPagesTab","selectValue","setSelectValue","selectClassesValue","setSelectClassesValue","isShowModal","setShowModal","actionIds","showWelcomeScreen","setShowWelcomeScreen","isShowLoader","setShowLoader","controller","AbortController","abort","isFirstTimeCall","keydownHandlerFlyersScreen","flyersAfterFiltering","getFlyersAfterAllFiltersFromFilters","removeWelcomeAndLoaderScreen","existedActiveFlyers","onAddNewButtonClick","openFlyerDetails","filterName","filteredFlyers","filteredFlyersFromStatusFilter","expiredFlyers","activeFlyersIds","doubleClickOnFlayer","flyerIndex","selectedOption","selectedFilter","newStateForFlyers","numberOfFlyers","TrashFlyer","setTooltip","clickedFlyerAlreadyActive","changeFlyersState","data-for","flyer_active","data-img","flyer_footer","onChangeDeleteIDs","onRestoreFlyer","TrashFlyersCatalog","flyersIDs","changeFlyersIDs","currentFlyerStatus","keydownHandlerFlyersDeleteScreen","isDefaultFlyer","onHardDeleteFlyer","restoreIds","deleteIds","catalogStyles","trash","content","ArchiveFlyer","isDelete","ArchiveFlyersCatalog","deleteIDs","changeDeleteIDs","keydownHandlerFlyersArchiveScreen","archive","SvgErrorIcon","SvgBigSuccessWithCircleIcon","SvgBigFailedWithCircleIcon","uploadingPopupWrapper","uploadingContentPopupWrapper","uploadingPopupHeaderWrapper","closeBtn","uploadingStatusInfo","uploadingFinishedWrapper","showHideErrorsBtn","errorsRowsWrapper","errorIconWrapper","successfulMessageWrapper","UploadImagesProgressPopup","isModal","isShowErrorsDetails","changeErrorDetailsDetails","setIsCopied","messageString","EditorContent","setTabsState","Main","MuiButton","App","onbeforeunload","ReactDOM"],"mappings":"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AAA,E,8DAAAA,E,gDAAAA,E,8DAAAA,E,oDAAAA,E,sEAAAA,E,sEAAAA,E,0CAAAA,E,sCAAAA,E,sDAAAA,E,kDAAAA,E,0EAAAA,E,8EAAAA,E,0EAAAA,E,gFAAAA,E,sCAAAA,E,sDAAAA,E,kDAAAA,E,8BAAAA,E,8CAAAA,E,0CAAAA,E,oDAAAA,E,kEAAAA,E,gFAAAA,E,wEAAAA,E,oDAAAA,E,wDAAAA,E,oDAAAA,E,4DAAAA,E,8CAAAA,E,oEAAAA,E,sDAAAA,E,0DAAAA,E,sDAAAA,E,8DAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,kEAAAA,E,8DAAAA,E,kEAAAA,E,8DAAAA,E,sEAAAA,E,gFAAAA,E,oFAAAA,E,gFAAAA,E,wFAAAA,E,8CAAAA,E,kDAAAA,E,8CAAAA,E,sDAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,wDAAAA,E,kFAAAA,E,sFAAAA,E,kFAAAA,E,wFAAAA,E,8DAAAA,E,kEAAAA,E,8DAAAA,E,sEAAAA,E,8DAAAA,E,kEAAAA,E,8DAAAA,E,sEAAAA,E,8DAAAA,E,kEAAAA,E,8DAAAA,E,sEAAAA,E,kFAAAA,E,oDAAAA,E,kDAAAA,E,sDAAAA,E,kDAAAA,E,0DAAAA,E,sEAAAA,E,0EAAAA,E,sEAAAA,E,8EAAAA,E,4FAAAA,E,gGAAAA,E,4FAAAA,E,kGAAAA,E,sGAAAA,E,0GAAAA,E,sGAAAA,E,4GAAAA,E,gFAAAA,E,oFAAAA,E,gFAAAA,E,sFAAAA,E,oEAAAA,E,wEAAAA,E,oEAAAA,E,0EAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,gEAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,kEAAAA,E,oDAAAA,E,wDAAAA,E,oDAAAA,E,4DAAAA,E,oFAAAA,E,wFAAAA,E,oFAAAA,E,4FAAAA,E,sFAAAA,E,0FAAAA,E,sFAAAA,E,8FAAAA,E,8CAAAA,E,kDAAAA,E,8CAAAA,E,sDAAAA,E,8DAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,wDAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,wDAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,wDAAAA,E,sDAAAA,E,0DAAAA,E,sDAAAA,E,8DAAAA,E,0BAAAA,E,0CAAAA,E,sCAAAA,E,sCAAAA,E,sDAAAA,E,kDAAAA,E,0BAAAA,E,0CAAAA,E,sCAAAA,E,sCAAAA,E,sDAAAA,E,kDAAAA,E,gDAAAA,E,gEAAAA,E,4DAAAA,E,0FAAAA,E,8FAAAA,E,0FAAAA,E,gGAAAA,E,wDAAAA,E,gDAAAA,E,wCAAAA,E,gEAAAA,E,0DAAAA,E,sDAAAA,E,oEAAAA,E,gEAAAA,E,0EAAAA,E,0CAAAA,E,oGAAAA,E,sGAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,gEAAAA,E,kEAAAA,E,oEAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,gEAAAA,E,4EAAAA,E,gEAAAA,E,gEAAAA,E,sEAAAA,E,kEAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,gEAAAA,E,sEAAAA,E,wEAAAA,E,wDAAAA,E,4DAAAA,E,wDAAAA,E,8DAAAA,E,sCAAAA,E,0CAAAA,E,sCAAAA,E,4CAAAA,E,sDAAAA,E,0DAAAA,E,sDAAAA,E,4DAAAA,E,0DAAAA,E,8DAAAA,E,0DAAAA,E,gEAAAA,E,sCAAAA,E,0CAAAA,E,sCAAAA,E,4CAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,sDAAAA,E,gDAAAA,E,oDAAAA,E,gDAAAA,E,sDAAAA,E,oEAAAA,E,sEAAAA,E,8DAAAA,E,8DAAAA,E,kEAAAA,E,oEAAAA,E,wFAAAA,E,0FAAAA,E,8DAAAA,E,8DAAAA,E,kEAAAA,E,oEAAAA,E,4DAAAA,E,4DAAAA,E,gEAAAA,E,kEAAAA,E,sEAAAA,E,0EAAAA,E,sEAAAA,E,4EAAAA,E,wDAAAA,E,sEAAAA,E,kEAAAA,E,4GAAAA,E,sDAAAA,E,4DAAAA,E,sDAAAA,E,0DAAAA,E,4DAAAA,E,sDAAAA,E,kDAAAA,E,wEAAAA,E,4EAAAA,E,8EAAAA,E,wEAAAA,E,8FAAAA,E,kGAAAA,E,8FAAAA,E,oGAAAA,E,8EAAAA,E,gFAAAA,E,8EAAAA,E,8EAAAA,E,0CAAAA,E,8CAAAA,E,0CAAAA,E,gDAAAA,E,sDAAAA,E,0DAAAA,E,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GACdC,cAAeC,GACfC,YAAaC,GACbC,eAAgBC,GAChBC,aAAcC,GACdC,YAAaC,GACbC,YAAaC,GACbC,aAAcC,GACdC,WAAYC,GACZC,cAAeC,KAGvB,CACIh8C,MAAO,IACPC,MAAO,2BACPipC,cAAe,EACfsR,cAAe,CACXC,cAAewB,GACftB,aAAcuB,GACdrB,aAAcsB,GACdpB,cAAeqB,GACfnB,YAAaoB,GACblB,eAAgBmB,GAChBjB,aAAckB,GACdhB,YAAaiB,GACbf,YAAagB,GACbd,aAAce,GACdb,WAAYc,GACZZ,cAAea,KAGvB,CACI58C,MAAO,IACPC,MAAO,2BACPipC,cAAe,EACfsR,cAAe,CACXC,cAAeoC,GACflC,aAAcmC,GACdjC,aAAckC,GACdhC,cAAeiC,GACf/B,YAAagC,GACb9B,eAAgB+B,GAChB7B,aAAc8B,GACd5B,YAAa6B,GACb3B,YAAa4B,GACb1B,aAAc2B,GACdzB,WAAY0B,GACZxB,cAAeyB,KAGvB,CACIx9C,MAAO,IACPC,MAAO,0BACPipC,cAAe,EACfsR,cAAe,CACXC,cAAegD,GACf9C,aAAc+C,GACd7C,aAAc8C,GACd5C,cAAe6C,GACf3C,YAAa4C,GACb1C,eAAgB2C,GAChBzC,aAAc0C,GACdxC,YAAayC,GACbvC,YAAawC,GACbtC,aAAcuC,GACdrC,WAAYsC,GACZpC,cAAeqC,KAGvB,CACIp+C,MAAO,IACPC,MAAO,4BACPipC,cAAe,EACfsR,cAAe,CACXC,cAAe4D,GACf1D,aAAc2D,GACdzD,aAAc0D,GACdxD,cAAeyD,GACfvD,YAAawD,GACbtD,eAAgBuD,GAChBrD,aAAcsD,GACdpD,YAAaqD,GACbnD,YAAaoD,GACblD,aAAcmD,GACdjD,WAAYkD,GACZhD,cAAeiD,KAGvB,CACIh/C,MAAO,IACPC,MAAO,2BACPipC,cAAe,EACfsR,cAAe,CACXC,cAAewE,GACftE,aAAcuE,GACdrE,aAAcsE,GACdpE,cAAeqE,GACfnE,YAAaoE,GACblE,eAAgBmE,GAChBjE,aAAckE,GACdhE,YAAaiE,GACb/D,YAAagE,GACb9D,aAAc+D,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","file":"static/js/main.5e527de4.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"flyersCatalog_container__54URX\",\"loading\":\"flyersCatalog_loading__2sDw7\",\"header\":\"flyersCatalog_header__1bFd3\",\"url_wrapper\":\"flyersCatalog_url_wrapper__17hcA\",\"url_link\":\"flyersCatalog_url_link__1hcfM\",\"action_btns_wrapper\":\"flyersCatalog_action_btns_wrapper__naMSW\",\"counter_wrapper\":\"flyersCatalog_counter_wrapper__3UXB0\",\"active_btn\":\"flyersCatalog_active_btn__2rtcr\",\"content\":\"flyersCatalog_content__1VxXy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sale_type_row\":\"saleTypesSettingsRow_sale_type_row__2XnCE\",\"selected_row\":\"saleTypesSettingsRow_selected_row__qrfqg\",\"content_cell_wrapper\":\"saleTypesSettingsRow_content_cell_wrapper__2B-rX\",\"disabledSaleTypeIcon\":\"saleTypesSettingsRow_disabledSaleTypeIcon__1TyEJ\",\"content_wrapper_for_requisite_benefit\":\"saleTypesSettingsRow_content_wrapper_for_requisite_benefit__1bKpa\",\"sale_type_input\":\"saleTypesSettingsRow_sale_type_input__32X65\",\"edit_icon\":\"saleTypesSettingsRow_edit_icon__25fkO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"menuForItem_option__3udmD\",\"disabled\":\"menuForItem_disabled__o_cPk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"add_delete_image_modal\":\"AddDeleteImageModal_add_delete_image_modal__MytyI\",\"header_modal\":\"AddDeleteImageModal_header_modal__3fobI\",\"header_caption\":\"AddDeleteImageModal_header_caption__Ti-Xf\",\"close_modal_wrapper\":\"AddDeleteImageModal_close_modal_wrapper__1fWZP\",\"content_modal\":\"AddDeleteImageModal_content_modal__1Cj3Q\",\"image_wrapper\":\"AddDeleteImageModal_image_wrapper__3gJN6\",\"footer_modal\":\"AddDeleteImageModal_footer_modal__3beKU\",\"delete_icon_wrapper\":\"AddDeleteImageModal_delete_icon_wrapper__xvX9S\",\"upload_icon_wrapper\":\"AddDeleteImageModal_upload_icon_wrapper__32DmA\",\"image_file_name\":\"AddDeleteImageModal_image_file_name__14fq8\",\"isLoading\":\"AddDeleteImageModal_isLoading__1lIBl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"pages_container__VsFUf\",\"loading\":\"pages_loading__Y0Yoa\",\"header\":\"pages_header__13RpN\",\"left_side\":\"pages_left_side__uKeZB\",\"pagesCounter\":\"pages_pagesCounter__31IiN\",\"fake_btn\":\"pages_fake_btn__3ogMC\",\"right_side\":\"pages_right_side__2Vjt2\",\"content\":\"pages_content__3KXql\",\"disabled\":\"pages_disabled__es8Ca\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"page_page__Byy2C\",\"hide_image\":\"page_hide_image__2JhL2\",\"linked_page\":\"page_linked_page__2w1IS\",\"page_footer\":\"page_page_footer__2bGnA\",\"is_active_page\":\"page_is_active_page__3VSK4\",\"page_active\":\"page_page_active__osSEG\",\"contextWrapper\":\"page_contextWrapper__3_Q4Z\",\"disabled\":\"page_disabled__3XB3x\",\"menu_item\":\"page_menu_item__ZrY-I\",\"icon_wrapper\":\"page_icon_wrapper__2qeDf\",\"page_numbers_wrapper\":\"page_page_numbers_wrapper__2TJDA\",\"disabledStyle\":\"page_disabledStyle__k0NrZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search_bar_form\":\"searchBar_search_bar_form__1c6EY\",\"search_bar_wrapper\":\"searchBar_search_bar_wrapper__3qpmb\",\"icons\":\"searchBar_icons__HONL9\",\"search_icon\":\"searchBar_search_icon__2fqcf\",\"search_filter_icon\":\"searchBar_search_filter_icon__1gDZ8\",\"search_clear_icon\":\"searchBar_search_clear_icon__3gXXb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flyers_promos_editor_left_menu\":\"promosLeftMenu_flyers_promos_editor_left_menu__13UYN\",\"row\":\"promosLeftMenu_row__3LrFE\",\"current_promos\":\"promosLeftMenu_current_promos__1TLDA\",\"promos_items_name\":\"promosLeftMenu_promos_items_name__OTbee\",\"left_menu_controls\":\"promosLeftMenu_left_menu_controls__aruuG\",\"show_hide_all_items\":\"promosLeftMenu_show_hide_all_items__1D1pO\",\"collapse_expand_promos_control\":\"promosLeftMenu_collapse_expand_promos_control__YGDXT\",\"toggle_icon\":\"promosLeftMenu_toggle_icon__2czj4\",\"is_open\":\"promosLeftMenu_is_open__R75we\",\"approve_all_wrapper\":\"promosLeftMenu_approve_all_wrapper__3G_-J\",\"input_wrapper\":\"promosLeftMenu_input_wrapper__3HcCQ\",\"disabled\":\"promosLeftMenu_disabled__2YKuI\",\"spots_files_items_container\":\"promosLeftMenu_spots_files_items_container__g4AR7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sale_types_popup\":\"PromosSaleTypesPopup_sale_types_popup__13wgf\",\"sale_types_table\":\"PromosSaleTypesPopup_sale_types_table__OMN7_\",\"header_sale_types_popup\":\"PromosSaleTypesPopup_header_sale_types_popup__HCWds\",\"close_icon\":\"PromosSaleTypesPopup_close_icon__qI9BF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"trashFlyer_tooltip__qLdJE\",\"flyer\":\"trashFlyer_flyer__aMkGy\",\"hide_image\":\"trashFlyer_hide_image__2JoLO\",\"flyer_footer\":\"trashFlyer_flyer_footer__2uEwU\",\"is_active_flyer\":\"trashFlyer_is_active_flyer__3hWTY\",\"flyer_active\":\"trashFlyer_flyer_active__J93UU\",\"contextWrapper\":\"trashFlyer_contextWrapper__3U8p1\",\"menu_flyer_item\":\"trashFlyer_menu_flyer_item__2zo6X\",\"icon_wrapper\":\"trashFlyer_icon_wrapper__1KEXR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"archiveFlyer_tooltip__2i7Uh\",\"flyer\":\"archiveFlyer_flyer__H6T5j\",\"hide_image\":\"archiveFlyer_hide_image__2pQc_\",\"flyer_footer\":\"archiveFlyer_flyer_footer__3Qmzu\",\"is_active_flyer\":\"archiveFlyer_is_active_flyer__56TWk\",\"flyer_active\":\"archiveFlyer_flyer_active__HNERS\",\"contextWrapper\":\"archiveFlyer_contextWrapper__2WWW4\",\"menu_flyer_item\":\"archiveFlyer_menu_flyer_item__2qkgc\",\"icon_wrapper\":\"archiveFlyer_icon_wrapper__1QL29\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flyers_frames_editor_left_menu\":\"FrameLeftMenu_flyers_frames_editor_left_menu__2v24T\",\"row\":\"FrameLeftMenu_row__10lUl\",\"current_promos\":\"FrameLeftMenu_current_promos__2NdoV\",\"promos_items_name\":\"FrameLeftMenu_promos_items_name__veyMz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tables\":\"unlinkTablesForPromosItemsScreen_tables__2ErUY\",\"unlink_items_columns\":\"unlinkTablesForPromosItemsScreen_unlink_items_columns__2nqgC\",\"unlink_table_item_first\":\"unlinkTablesForPromosItemsScreen_unlink_table_item_first__YrRTK\",\"unlink_table_item_second\":\"unlinkTablesForPromosItemsScreen_unlink_table_item_second__2oqq_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"unlinkHeader_header__3ULeo\",\"is_open_menu\":\"unlinkHeader_is_open_menu__Qfnhf\",\"right_menu_collapse_icon\":\"unlinkHeader_right_menu_collapse_icon__q7D_u\",\"is_open\":\"unlinkHeader_is_open__nyB7q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"isLoading\":\"FlyerPromosEditor_isLoading__2_bZX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header_sale_types_popup\":\"saleTypesSettings_header_sale_types_popup__3DB77\",\"close_icon\":\"saleTypesSettings_close_icon__OoXrt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item_tooltip_preview_popup\":\"imagePreview_item_tooltip_preview_popup__AXlX-\",\"row_with_image\":\"imagePreview_row_with_image__QwAVf\",\"image_wrapper\":\"imagePreview_image_wrapper__3BnRY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"spinner_loader__1BvNr\",\"loaderSpinnerBox\":\"spinner_loaderSpinnerBox__2MX2N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item_name\":\"itemInMenuContent_item_name__3K0Gy\",\"disabled\":\"itemInMenuContent_disabled__tzjAo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"unlink_promo_main_wrapper\":\"unlinkedPromoOrItem_unlink_promo_main_wrapper__2xL0X\",\"unlink_promo_wrapper\":\"unlinkedPromoOrItem_unlink_promo_wrapper__1yDYw\",\"frame_number\":\"unlinkedPromoOrItem_frame_number__1IgDN\",\"frame_department\":\"unlinkedPromoOrItem_frame_department__2-68o\",\"linked_promo_to_frame\":\"unlinkedPromoOrItem_linked_promo_to_frame__1bt2c\",\"unlink_promo\":\"unlinkedPromoOrItem_unlink_promo__10fwz\",\"selectedPromo\":\"unlinkedPromoOrItem_selectedPromo__26PT6\",\"frame_promo_without_content\":\"unlinkedPromoOrItem_frame_promo_without_content__3XWfe\",\"promo_wrapper\":\"unlinkedPromoOrItem_promo_wrapper__2qF8T\",\"align_center\":\"unlinkedPromoOrItem_align_center__2_KBy\",\"promo_info_wrapper\":\"unlinkedPromoOrItem_promo_info_wrapper__NvybH\",\"frame_info_wrapper\":\"unlinkedPromoOrItem_frame_info_wrapper__1vXPy\",\"frame_promo_name\":\"unlinkedPromoOrItem_frame_promo_name__37WfA\",\"frame_promo_info\":\"unlinkedPromoOrItem_frame_promo_info__2f0x3\",\"frame_info\":\"unlinkedPromoOrItem_frame_info__1Aiji\",\"promos_category\":\"unlinkedPromoOrItem_promos_category__3K49i\",\"promotion_info_container\":\"unlinkedPromoOrItem_promotion_info_container__2xzH_\",\"promotion_content\":\"unlinkedPromoOrItem_promotion_content__17FOD\",\"promotion_info\":\"unlinkedPromoOrItem_promotion_info__3TEpl\",\"promotion_details\":\"unlinkedPromoOrItem_promotion_details__2xhXw\",\"promotion_caption_name\":\"unlinkedPromoOrItem_promotion_caption_name__XC0q_\",\"promotion_items_wrapper\":\"unlinkedPromoOrItem_promotion_items_wrapper__21I1d\",\"promotion_items_caption\":\"unlinkedPromoOrItem_promotion_items_caption__1_xqR\",\"with_quality\":\"unlinkedPromoOrItem_with_quality__16-eW\",\"promotion_right_part_wrapper\":\"unlinkedPromoOrItem_promotion_right_part_wrapper__lokR4\",\"promotion_code_group\":\"unlinkedPromoOrItem_promotion_code_group__HV_zc\",\"promotion_code\":\"unlinkedPromoOrItem_promotion_code__qWs6o\",\"is_qualification_mode\":\"unlinkedPromoOrItem_is_qualification_mode__3h-3x\",\"arrow_wrapper\":\"unlinkedPromoOrItem_arrow_wrapper__21rfA\",\"toggle_collapse_icon_wrapper\":\"unlinkedPromoOrItem_toggle_collapse_icon_wrapper__3LHUa\",\"is_open\":\"unlinkedPromoOrItem_is_open__1xQVl\",\"arrow_with_margin\":\"unlinkedPromoOrItem_arrow_with_margin__3g3wj\",\"promo_qualification_icon\":\"unlinkedPromoOrItem_promo_qualification_icon__SKmOI\",\"hover\":\"unlinkedPromoOrItem_hover__1DlcC\",\"draggable_area\":\"unlinkedPromoOrItem_draggable_area__eNEhf\",\"list_of_items\":\"unlinkedPromoOrItem_list_of_items__NEknM\",\"sale_icon\":\"unlinkedPromoOrItem_sale_icon__XUJSx\",\"is_hebrew\":\"unlinkedPromoOrItem_is_hebrew__3py9i\",\"unlink_item_wrap\":\"unlinkedPromoOrItem_unlink_item_wrap__3sV6A\",\"on_hover_unlink_item\":\"unlinkedPromoOrItem_on_hover_unlink_item__1ol8W\",\"item_dept_wrapper\":\"unlinkedPromoOrItem_item_dept_wrapper__7BiVT\",\"qualification_item_icon\":\"unlinkedPromoOrItem_qualification_item_icon__PoIc9\",\"item_department\":\"unlinkedPromoOrItem_item_department__3j79D\",\"filled_item_department\":\"unlinkedPromoOrItem_filled_item_department__3A11w\",\"unlink_item_content\":\"unlinkedPromoOrItem_unlink_item_content__2tHF7\",\"unlink_item_img_wrapper\":\"unlinkedPromoOrItem_unlink_item_img_wrapper__3G7Q2\",\"unlink_item_info_wrapper\":\"unlinkedPromoOrItem_unlink_item_info_wrapper__3K_62\",\"unlink_item_caption\":\"unlinkedPromoOrItem_unlink_item_caption__2xuCF\",\"unlink_item_price\":\"unlinkedPromoOrItem_unlink_item_price__3y_w9\",\"unlink_item_sku\":\"unlinkedPromoOrItem_unlink_item_sku__x4Pgg\",\"selectedItem\":\"unlinkedPromoOrItem_selectedItem__1vvBd\",\"hide_item\":\"unlinkedPromoOrItem_hide_item__2-PI3\",\"selection_count\":\"unlinkedPromoOrItem_selection_count__2ML1I\",\"menu_for_promotion_and_items_wrapper\":\"unlinkedPromoOrItem_menu_for_promotion_and_items_wrapper__2w_cH\",\"unlink_items_menu_area\":\"unlinkedPromoOrItem_unlink_items_menu_area__2Iv-i\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qualification_wrapper\":\"qualityCheck_qualification_wrapper__3_10k\",\"input_wrapper\":\"qualityCheck_input_wrapper__1w6y6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon_wrapper\":\"FileInput_icon_wrapper__23Vz0\",\"disabledAction\":\"FileInput_disabledAction__mnMxj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tab_wrapper\":\"horizontalTab_tab_wrapper__vw3K7\",\"active\":\"horizontalTab_active__1GiLa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"edit_add_promotion_modal\":\"PromotionDetailsModalPopup_edit_add_promotion_modal__1Md7k\",\"header_modal\":\"PromotionDetailsModalPopup_header_modal__2ZzE-\",\"header_caption\":\"PromotionDetailsModalPopup_header_caption__1q1yv\",\"close_modal_wrapper\":\"PromotionDetailsModalPopup_close_modal_wrapper__3MV-0\",\"content_modal\":\"PromotionDetailsModalPopup_content_modal__3JDFP\",\"requirement_row\":\"PromotionDetailsModalPopup_requirement_row__2ZoHF\",\"requirement_icon\":\"PromotionDetailsModalPopup_requirement_icon__11zRX\",\"requirement_caption\":\"PromotionDetailsModalPopup_requirement_caption__2mvs-\",\"row_in_modal\":\"PromotionDetailsModalPopup_row_in_modal__31BZs\",\"caption\":\"PromotionDetailsModalPopup_caption__1sKjz\",\"column\":\"PromotionDetailsModalPopup_column__1VbTK\",\"input_wrapper\":\"PromotionDetailsModalPopup_input_wrapper__3IoWB\",\"requiredField\":\"PromotionDetailsModalPopup_requiredField__I1DpM\",\"error_signal\":\"PromotionDetailsModalPopup_error_signal__2Qps3\",\"calendar_icon_wrap\":\"PromotionDetailsModalPopup_calendar_icon_wrap__1Ugxd\",\"one_columns_row\":\"PromotionDetailsModalPopup_one_columns_row__3A3RR\",\"div_button_like_input\":\"PromotionDetailsModalPopup_div_button_like_input__357_w\",\"hebrew_fake_row\":\"PromotionDetailsModalPopup_hebrew_fake_row__2wtwG\",\"image_content\":\"PromotionDetailsModalPopup_image_content__3-AzG\",\"column_style\":\"PromotionDetailsModalPopup_column_style__14Et-\",\"info_for_image_wrapper\":\"PromotionDetailsModalPopup_info_for_image_wrapper__2EbdY\",\"image_wrapper\":\"PromotionDetailsModalPopup_image_wrapper__1GWMj\",\"change_img_btn\":\"PromotionDetailsModalPopup_change_img_btn__2js6b\",\"images_controls\":\"PromotionDetailsModalPopup_images_controls__1vyU3\",\"is_required\":\"PromotionDetailsModalPopup_is_required__2Mmfx\",\"footer_modal\":\"PromotionDetailsModalPopup_footer_modal__AB-rX\",\"save_wrap\":\"PromotionDetailsModalPopup_save_wrap__3EaeJ\",\"disabled\":\"PromotionDetailsModalPopup_disabled__3cbB0\",\"isLoading\":\"PromotionDetailsModalPopup_isLoading__1VaFB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"add_edit_item_modal\":\"CreateEditItemModal_add_edit_item_modal__Y0OwG\",\"hidden_popup\":\"CreateEditItemModal_hidden_popup__2v04T\",\"header_modal\":\"CreateEditItemModal_header_modal__1R_IE\",\"close_modal_wrapper\":\"CreateEditItemModal_close_modal_wrapper__3s28N\",\"content_modal\":\"CreateEditItemModal_content_modal__2Tacc\",\"requirement_row\":\"CreateEditItemModal_requirement_row__1Mflf\",\"requirement_icon\":\"CreateEditItemModal_requirement_icon__2pRU-\",\"requirement_caption\":\"CreateEditItemModal_requirement_caption__OFjzL\",\"row_in_modal\":\"CreateEditItemModal_row_in_modal__2SAoP\",\"caption\":\"CreateEditItemModal_caption__C9vbG\",\"column\":\"CreateEditItemModal_column__1bcu6\",\"requiredField\":\"CreateEditItemModal_requiredField__3Vas7\",\"error_signal\":\"CreateEditItemModal_error_signal__ZSLw3\",\"wideColumn\":\"CreateEditItemModal_wideColumn__27532\",\"one_columns_row\":\"CreateEditItemModal_one_columns_row__1Erst\",\"image_content\":\"CreateEditItemModal_image_content__2lEJ3\",\"column_style\":\"CreateEditItemModal_column_style__2Cjrh\",\"info_for_image_wrapper\":\"CreateEditItemModal_info_for_image_wrapper__dUJMv\",\"image_wrapper\":\"CreateEditItemModal_image_wrapper__2p56I\",\"change_img_btn\":\"CreateEditItemModal_change_img_btn__39UMQ\",\"images_controls\":\"CreateEditItemModal_images_controls__8hBTL\",\"upload_icon_wrapper\":\"CreateEditItemModal_upload_icon_wrapper__36wOb\",\"is_required\":\"CreateEditItemModal_is_required__2w-r2\",\"footer_modal\":\"CreateEditItemModal_footer_modal__N8CaB\",\"save_wrap\":\"CreateEditItemModal_save_wrap__1PNN6\",\"disabled\":\"CreateEditItemModal_disabled__2ifyg\",\"isLoading\":\"CreateEditItemModal_isLoading__zVLhx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"frame_wrap\":\"LeftMenuContentElement_frame_wrap__1MkNE\",\"empty_promo\":\"LeftMenuContentElement_empty_promo__1EscQ\",\"frame_promo_wrap\":\"LeftMenuContentElement_frame_promo_wrap__1AHtA\",\"hover_frame\":\"LeftMenuContentElement_hover_frame__2GW2s\",\"isSelectPromo\":\"LeftMenuContentElement_isSelectPromo__3MrDI\",\"frame_promo_container\":\"LeftMenuContentElement_frame_promo_container__17uMp\",\"frame_promo\":\"LeftMenuContentElement_frame_promo__2qAZc\",\"frame_promo_without_content\":\"LeftMenuContentElement_frame_promo_without_content__WQywt\",\"right_corner_menu_for_target\":\"LeftMenuContentElement_right_corner_menu_for_target__Mdl-Y\",\"promo_wrapper\":\"LeftMenuContentElement_promo_wrapper__z7n_g\",\"promo_info_wrapper\":\"LeftMenuContentElement_promo_info_wrapper__4W-ei\",\"frame_info_wrapper\":\"LeftMenuContentElement_frame_info_wrapper__1y3ma\",\"frame_promo_name\":\"LeftMenuContentElement_frame_promo_name__3dbMW\",\"frame_promo_info\":\"LeftMenuContentElement_frame_promo_info__2ReZS\",\"frame_info\":\"LeftMenuContentElement_frame_info__kyBdd\",\"frame_number\":\"LeftMenuContentElement_frame_number__FVho3\",\"promos_category\":\"LeftMenuContentElement_promos_category__2EW4Q\",\"linked_promo_to_frame\":\"LeftMenuContentElement_linked_promo_to_frame__35HfW\",\"promotion_info_container\":\"LeftMenuContentElement_promotion_info_container__3QJ_6\",\"promotion_content\":\"LeftMenuContentElement_promotion_content__692__\",\"promotion_info\":\"LeftMenuContentElement_promotion_info__GG2nw\",\"promotion_details\":\"LeftMenuContentElement_promotion_details__3IMYx\",\"promotion_caption_name\":\"LeftMenuContentElement_promotion_caption_name__3zk5o\",\"promotion_items_wrapper\":\"LeftMenuContentElement_promotion_items_wrapper__3mtOZ\",\"promotion_items_caption\":\"LeftMenuContentElement_promotion_items_caption__1GErZ\",\"with_quality\":\"LeftMenuContentElement_with_quality__2nR9M\",\"promotion_right_part_wrapper\":\"LeftMenuContentElement_promotion_right_part_wrapper__2ZwBc\",\"promotion_code_group\":\"LeftMenuContentElement_promotion_code_group__15i79\",\"promotion_code\":\"LeftMenuContentElement_promotion_code__2f02Z\",\"is_qualification_mode\":\"LeftMenuContentElement_is_qualification_mode__3o7fT\",\"arrow_wrapper\":\"LeftMenuContentElement_arrow_wrapper__3Cw-h\",\"toggle_collapse_icon_wrapper\":\"LeftMenuContentElement_toggle_collapse_icon_wrapper__3bSgZ\",\"is_open\":\"LeftMenuContentElement_is_open__E53pp\",\"arrow_with_margin\":\"LeftMenuContentElement_arrow_with_margin__2sSLD\",\"promo_qualification_icon\":\"LeftMenuContentElement_promo_qualification_icon__8newT\",\"hover\":\"LeftMenuContentElement_hover__34aSH\",\"draggable_area\":\"LeftMenuContentElement_draggable_area__pABU3\",\"list_of_items\":\"LeftMenuContentElement_list_of_items__3wGuD\",\"sale_icon\":\"LeftMenuContentElement_sale_icon__2TpMm\",\"menu_flyer_item\":\"LeftMenuContentElement_menu_flyer_item__bS6sO\",\"icon_wrapper\":\"LeftMenuContentElement_icon_wrapper__2jZ7l\",\"disabled\":\"LeftMenuContentElement_disabled__3s3X-\",\"is_hebrew\":\"LeftMenuContentElement_is_hebrew__13wmO\",\"context_menu\":\"LeftMenuContentElement_context_menu__11UFU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"editor_header\":\"editorHeader_editor_header__ynb_z\",\"logo\":\"editorHeader_logo__38JG3\",\"header\":\"editorHeader_header__3c1Br\",\"title\":\"editorHeader_title__1L8tu\",\"is_active\":\"editorHeader_is_active__3jh6G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hide_image\":\"image_hide_image__fL3sA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drag_start\":\"TopBar_drag_start__1jcus\",\"disabled\":\"TopBar_disabled__3qlR0\",\"counter_wrapper\":\"TopBar_counter_wrapper__3MpUP\",\"read_only_counter\":\"TopBar_read_only_counter__gXPl2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"flyer_tooltip__2I4_Y\",\"previewLinkTooltip\":\"flyer_previewLinkTooltip__2fyCf\",\"flyer\":\"flyer_flyer__3tCeA\",\"hide_image\":\"flyer_hide_image__14sUI\",\"flyer_footer\":\"flyer_flyer_footer__KWlmo\",\"is_active_flyer\":\"flyer_is_active_flyer__LHTko\",\"flyer_active\":\"flyer_flyer_active__1y5eM\",\"contextWrapper\":\"flyer_contextWrapper__1dqwA\",\"menu_flyer_item\":\"flyer_menu_flyer_item__3twqt\",\"icon_wrapper\":\"flyer_icon_wrapper__2uOK7\",\"disabled\":\"flyer_disabled__1_4j3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"frames_wrapper\":\"LeftMenuContent_frames_wrapper__3q-fG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"qualification_lvl_item_wrapper\":\"QualificationForItemComponent_qualification_lvl_item_wrapper__3cFbU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drag_start\":\"FlyerPages_drag_start__17TLs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"right_content_wrapper\":\"FlyerEditorContent_right_content_wrapper__2DuuK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header_for_right_menu\":\"rightMenu_header_for_right_menu__2t99_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabs_wrapper\":\"horizontalTabs_tabs_wrapper__heWCV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trash\":\"trashFlyersCatalog_trash__1UCkD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"archive\":\"archiveFlyersCatalog_archive__rjGYc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"soft_hard_delete_popup_wrapper\":\"StatusPopup_soft_hard_delete_popup_wrapper__3u9bd\",\"close_button_container\":\"StatusPopup_close_button_container__oTp2z\",\"content_popup_container\":\"StatusPopup_content_popup_container__Irzop\",\"options_list\":\"StatusPopup_options_list__LUhGl\",\"button_container\":\"StatusPopup_button_container__2ww8f\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"menuForPromotions_option__1PbhD\",\"noneHover\":\"menuForPromotions_noneHover__HZqtR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"relative\":\"flyerDetailsPopup_relative__ppoUB\",\"flyer_info_popup\":\"flyerDetailsPopup_flyer_info_popup__1YusO\",\"value_field\":\"flyerDetailsPopup_value_field__2SYvH\",\"header\":\"flyerDetailsPopup_header__3Xzpb\",\"loading\":\"flyerDetailsPopup_loading__2ShdF\",\"content_wrapper\":\"flyerDetailsPopup_content_wrapper__3M_1O\",\"caption_field\":\"flyerDetailsPopup_caption_field__IfY41\",\"read_only_content\":\"flyerDetailsPopup_read_only_content__1oOdQ\",\"column_with_textarea\":\"flyerDetailsPopup_column_with_textarea__O5zgk\",\"with_error_message\":\"flyerDetailsPopup_with_error_message__20Aup\",\"error_message\":\"flyerDetailsPopup_error_message__1WBeR\",\"date_picker_wrapper\":\"flyerDetailsPopup_date_picker_wrapper__3hCD7\",\"calendar\":\"flyerDetailsPopup_calendar__3xUs_\",\"date_picker\":\"flyerDetailsPopup_date_picker__FG6dV\",\"directionRtl\":\"flyerDetailsPopup_directionRtl__UnIit\",\"read_only\":\"flyerDetailsPopup_read_only__AL5Ym\",\"requiredField\":\"flyerDetailsPopup_requiredField__w0nJO\",\"error_signal\":\"flyerDetailsPopup_error_signal__2_--I\",\"without_space\":\"flyerDetailsPopup_without_space__oh8O6\",\"radio_btn_for_excel_or_text\":\"flyerDetailsPopup_radio_btn_for_excel_or_text__31U-m\",\"buttons_wrapper\":\"flyerDetailsPopup_buttons_wrapper__1Ebua\",\"disabled\":\"flyerDetailsPopup_disabled__jd7ZH\",\"section_with_columns\":\"flyerDetailsPopup_section_with_columns__2SHPX\",\"text_align_end\":\"flyerDetailsPopup_text_align_end__3dkY3\",\"phoneInput\":\"flyerDetailsPopup_phoneInput__nv2Ek\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"relative\":\"flyerDetailsRightPanel_relative__1_roM\",\"flyer_info_popup\":\"flyerDetailsRightPanel_flyer_info_popup__3mmYt\",\"value_field\":\"flyerDetailsRightPanel_value_field__l2UYI\",\"header\":\"flyerDetailsRightPanel_header__3-PAn\",\"loading\":\"flyerDetailsRightPanel_loading__2At-y\",\"content_wrapper\":\"flyerDetailsRightPanel_content_wrapper__x5QR4\",\"caption_field\":\"flyerDetailsRightPanel_caption_field__2Q3Zx\",\"read_only_content\":\"flyerDetailsRightPanel_read_only_content__1IL6D\",\"column_with_textarea\":\"flyerDetailsRightPanel_column_with_textarea__3KzzS\",\"with_error_message\":\"flyerDetailsRightPanel_with_error_message__2_Vmz\",\"error_message\":\"flyerDetailsRightPanel_error_message__32iQW\",\"date_picker_wrapper\":\"flyerDetailsRightPanel_date_picker_wrapper__fSnXo\",\"calendar\":\"flyerDetailsRightPanel_calendar__10lj2\",\"date_picker\":\"flyerDetailsRightPanel_date_picker__2WCSq\",\"directionRtl\":\"flyerDetailsRightPanel_directionRtl__3blk_\",\"read_only\":\"flyerDetailsRightPanel_read_only__25gPZ\",\"requiredField\":\"flyerDetailsRightPanel_requiredField__39pgn\",\"error_signal\":\"flyerDetailsRightPanel_error_signal__1pM8I\",\"without_space\":\"flyerDetailsRightPanel_without_space__2Yb-3\",\"radio_btn_for_excel_or_text\":\"flyerDetailsRightPanel_radio_btn_for_excel_or_text__1DMAZ\",\"buttons_wrapper\":\"flyerDetailsRightPanel_buttons_wrapper__26PEl\",\"disabled\":\"flyerDetailsRightPanel_disabled__ViLgi\",\"section_with_columns\":\"flyerDetailsRightPanel_section_with_columns__3slb_\",\"text_align_end\":\"flyerDetailsRightPanel_text_align_end__3RP7k\",\"phoneInput\":\"flyerDetailsRightPanel_phoneInput__3NFdi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sale_type_row\":\"PromoSaleType_sale_type_row__pdyBX\",\"selected_row\":\"PromoSaleType_selected_row__3ygAC\",\"content_cell_wrapper\":\"PromoSaleType_content_cell_wrapper__1U853\",\"disabledSaleTypeIcon\":\"PromoSaleType_disabledSaleTypeIcon__xfZL6\",\"content_wrapper_for_requisite_benefit\":\"PromoSaleType_content_wrapper_for_requisite_benefit__38tbH\",\"sale_type_input\":\"PromoSaleType_sale_type_input__GxCdb\",\"edit_icon\":\"PromoSaleType_edit_icon__2KKBK\"};","export enum ActionType {\r\n\r\n //\r\n LOG_OUT = 'LOG_OUT',\r\n RESET_FLYER_STATE = 'RESET_FLYER_STATE',\r\n\r\n //\r\n LOGIN_START = 'LOGIN_START',\r\n LOGIN_SUCCESS = 'LOGIN_SUCCESS',\r\n LOGIN_ERROR = 'LOGIN_ERROR',\r\n LOGIN_COMPLETED = 'LOGIN_COMPLETED',\r\n\r\n REGISTER_START = 'REGISTER_START',\r\n REGISTER_SUCCESS = 'REGISTER_SUCCESS',\r\n REGISTER_ERROR = 'REGISTER_ERROR',\r\n REGISTER_COMPLETED = 'REGISTER_COMPLETED',\r\n\r\n FORGOT_PASSWORD_START = 'FORGOT_PASSWORD_START',\r\n FORGOT_PASSWORD_SUCCESS = 'FORGOT_PASSWORD_SUCCESS',\r\n FORGOT_PASSWORD_ERROR = 'FORGOT_PASSWORD_ERROR',\r\n FORGOT_PASSWORD_COMPLETED = 'FORGOT_PASSWORD_COMPLETED',\r\n\r\n RESET_PASSWORD_START = 'RESET_PASSWORD_START',\r\n RESET_PASSWORD_SUCCESS = 'RESET_PASSWORD_SUCCESS',\r\n RESET_PASSWORD_ERROR = 'RESET_PASSWORD_ERROR',\r\n RESET_PASSWORD_COMPLETED = 'RESET_PASSWORD_COMPLETED',\r\n\r\n FETCH_USER_DATA_START = 'FETCH_USER_DATA_START',\r\n FETCH_USER_DATA_SUCCESS = 'FETCH_USER_DATA_SUCCESS',\r\n FETCH_USER_DATA_ERROR = 'FETCH_USER_DATA_ERROR',\r\n FETCH_USER_DATA_COMPLETED = 'FETCH_USER_DATA_COMPLETED',\r\n\r\n CONFIRM_EMAIL_START = 'CONFIRM_EMAIL_START',\r\n CONFIRM_EMAIL_SUCCESS = 'CONFIRM_EMAIL_SUCCESS',\r\n CONFIRM_EMAIL_ERROR = 'CONFIRM_EMAIL_ERROR',\r\n CONFIRM_EMAIL_COMPLETED = 'CONFIRM_EMAIL_COMPLETED',\r\n\r\n\r\n // fetching flyers list\r\n GET_FLYERS_START = 'GET_FLYERS_START',\r\n GET_FLYERS_SUCCESS = 'GET_FLYERS_SUCCESS',\r\n GET_FLYERS_ERROR = 'GET_FLYERS_ERROR',\r\n GET_FLYERS_COMPLETED = 'GET_FLYERS_COMPLETED',\r\n\r\n //getConversationUrlSetting\r\n GET_CONVERSION_URL_START = 'GET_CONVERSION_URL_START',\r\n GET_CONVERSION_URL_SUCCESS = 'GET_CONVERSION_URL_SUCCESS',\r\n GET_CONVERSION_URL_ERROR = 'GET_CONVERSION_URL_ERROR',\r\n GET_CONVERSION_URL_COMPLETED = 'GET_CONVERSION_URL_COMPLETED',\r\n\r\n //postConversationUrlSetting\r\n POST_CONVERSION_URL_START = 'POST_CONVERSION_URL_START',\r\n POST_CONVERSION_URL_SUCCESS = 'POST_CONVERSION_URL_SUCCESS',\r\n POST_CONVERSION_URL_ERROR = 'POST_CONVERSION_URL_ERROR',\r\n POST_CONVERSION_URL_COMPLETED = 'POST_CONVERSION_URL_COMPLETED',\r\n\r\n\r\n SET_SALE_TYPES_FOR_ALL_FLYERS = 'SET_SALE_TYPES_FOR_ALL_FLYERS',\r\n GET_SALE_TYPES_FOR_ALL_FLYERS = 'GET_SALE_TYPES_FOR_ALL_FLYERS',\r\n\r\n SET_STORE_SHELF_STYLES = 'SET_STORE_SHELF_STYLES',\r\n\r\n SET_SALE_UNITS_FOR_ALL_FLYERS = 'SET_SALE_UNITS_FOR_ALL_FLYERS',\r\n SET_SALE_UNITS_FOR_FLYER = 'SET_SALE_UNITS_FOR_FLYER',\r\n\r\n SET_SALE_TYPES_FOR_SPECIFIC_FLYER = 'SET_SALE_TYPES_FOR_SPECIFIC_FLYER',\r\n GET_SALE_TYPES_FOR_SPECIFIC_FLYER = 'GET_SALE_TYPES_FOR_SPECIFIC_FLYER',\r\n\r\n CHANGE_FLYERS_STATE = 'CHANGE_FLYERS_STATE',\r\n\r\n //flyers actions\r\n SOFT_DELETE_FLYER = 'SOFT_DELETE_FLYER',\r\n SOFT_DELETE_FLYER_SUCCESS = 'SOFT_DELETE_FLYER_SUCCESS',\r\n SOFT_DELETE_FLYER_ERROR = 'SOFT_DELETE_FLYER_ERROR',\r\n\r\n UPDATE_SALE_TYPES_FOR_ACCOUNT_START = 'UPDATE_SALE_TYPES_FOR_ACCOUNT_START',\r\n UPDATE_SALE_TYPES_FOR_ACCOUNT_SUCCESS = 'UPDATE_SALE_TYPES_FOR_ACCOUNT_SUCCESS',\r\n UPDATE_SALE_TYPES_FOR_ACCOUNT_ERROR = 'UPDATE_SALE_TYPES_FOR_ACCOUNT_ERROR',\r\n UPDATE_SALE_TYPES_FOR_ACCOUNT_COMPLETE = 'UPDATE_SALE_TYPES_FOR_ACCOUNT_COMPLETE',\r\n\r\n\r\n HARD_DELETE_FLYER = 'HARD_DELETE_FLYER',\r\n HARD_DELETE_FLYER_SUCCESS = 'HARD_DELETE_FLYER_SUCCESS',\r\n HARD_DELETE_FLYER_ERROR = 'HARD_DELETE_FLYER_ERROR',\r\n\r\n ARCHIVE_FLYER = 'ARCHIVE_FLYER',\r\n ARCHIVE_FLYER_SUCCESS = 'ARCHIVE_FLYER_SUCCESS',\r\n ARCHIVE_FLYER_ERROR = 'ARCHIVE_FLYER_ERROR',\r\n\r\n SET_DEFAULT_STATE_FLYERS = \"SET_DEFAULT_STATE_FLYERS\",\r\n\r\n FLYER_DETAILS_DATA_CHANGE_EVENT = 'FLYER_DETAILS_DATA_CHANGE_EVENT',\r\n FLYER_DETAILS_SET_IMAGE_TO_TARGET_PAGE = 'FLYER_DETAILS_SET_IMAGE_TO_TARGET_PAGE',\r\n\r\n //\r\n FLYER_DETAILS_ANY_DATA_WAS_CHANGED = 'FLYER_DETAILS_ANY_DATA_WAS_CHANGED',\r\n\r\n\r\n // flipping flyer\r\n GET_FLIPPING_FLYER_START = 'GET_FLIPPING_FLYER_START',\r\n GET_FLIPPING_FLYER_SUCCESS = 'GET_FLIPPING_FLYER_SUCCESS',\r\n GET_FLIPPING_FLYER_ERROR = 'GET_FLIPPING_FLYER_ERROR',\r\n GET_FLIPPING_FLYER_COMPLETED = 'GET_FLIPPING_FLYER_COMPLETED',\r\n\r\n CLEAR_DATA_FROM_FLYER = 'CLEAR_DATA_FROM_FLYER',\r\n\r\n FLIPPING_FLYER_DATA_CHANGE_EVENT = 'FLIPPING_FLYER_DATA_CHANGE_EVENT',\r\n\r\n POST_FLIPPING_FLYER_START = 'POST_FLIPPING_FLYER_START',\r\n POST_FLIPPING_FLYER_SUCCESS = 'POST_FLIPPING_FLYER_SUCCESS',\r\n POST_FLIPPING_FLYER_ERROR = 'POST_FLIPPING_FLYER_ERROR',\r\n POST_FLIPPING_FLYER_COMPLETED = 'POST_FLIPPING_FLYER_COMPLETED',\r\n //crete flyer from pdf\r\n CREATE_FLYER_FROM_PDF_START = 'CREATE_FLYER_FROM_PDF_START',\r\n CREATE_FLYER_FROM_PDF_SUCCESS = 'CREATE_FLYER_FROM_PDF_SUCCESS',\r\n CREATE_FLYER_FROM_PDF_ERROR = 'CREATE_FLYER_FROM_PDF_ERROR',\r\n CREATE_FLYER_FROM_PDF_COMPLETED = 'CREATE_FLYER_FROM_PDF_COMPLETED',\r\n //crete flyer from jpegs\r\n CREATE_FLYER_FROM_JPEGS_START = 'CREATE_FLYER_FROM_JPEGS_START',\r\n CREATE_FLYER_FROM_JPEGS_SUCCESS = 'CREATE_FLYER_FROM_JPEGS_SUCCESS',\r\n CREATE_FLYER_FROM_JPEGS_ERROR = 'CREATE_FLYER_FROM_JPEGS_ERROR',\r\n CREATE_FLYER_FROM_JPEGS_COMPLETED = 'CREATE_FLYER_FROM_JPEGS_COMPLETED',\r\n //crete flyer from page numbering\r\n CREATE_FLYER_WITHOUT_PAGE_IMAGES_START = 'CREATE_FLYER_WITHOUT_PAGE_IMAGES_START',\r\n CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS = 'CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS',\r\n CREATE_FLYER_WITHOUT_PAGE_IMAGES_ERROR = 'CREATE_FLYER_WITHOUT_PAGE_IMAGES_ERROR',\r\n CREATE_FLYER_WITHOUT_PAGE_IMAGES_COMPLETED = 'CREATE_FLYER_WITHOUT_PAGE_IMAGES_COMPLETED',\r\n //update flyer/flipbook\r\n UPDATE_FLIPBOOK_START = 'UPDATE_FLIPBOOK_START',\r\n UPDATE_FLIPBOOK_SUCCESS = 'UPDATE_FLIPBOOK_SUCCESS',\r\n UPDATE_FLIPBOOK_ERROR = 'UPDATE_FLIPBOOK_ERROR',\r\n UPDATE_FLIPBOOK_COMPLETED = 'UPDATE_FLIPBOOK_COMPLETED',\r\n\r\n // spots xls file\r\n POST_FLYER_SPOTS_START = 'POST_FLYER_SPOTS_START',\r\n POST_FLYER_SPOTS_SUCCESS = 'POST_FLYER_SPOTS_SUCCESS',\r\n POST_FLYER_SPOTS_ERROR = 'POST_FLYER_SPOTS_ERROR',\r\n POST_FLYER_SPOTS_COMPLETED = 'POST_FLYER_SPOTS_COMPLETED',\r\n // frames get xls file\r\n GET_CURRENT_DATA_FRAMES_FOR_FLYER_START = 'GET_CURRENT_DATA_FRAMES_FOR_FLYER_START',\r\n GET_CURRENT_DATA_FRAMES_FOR_FLYER_SUCCESS = 'GET_CURRENT_DATA_FRAMES_FOR_FLYER_SUCCESS',\r\n GET_CURRENT_DATA_FRAMES_FOR_FLYER_ERROR = 'GET_CURRENT_DATA_FRAMES_FOR_FLYER_ERROR',\r\n GET_CURRENT_DATA_FRAMES_FOR_FLYER_COMPLETE = 'GET_CURRENT_DATA_FRAMES_FOR_FLYER_COMPLETE',\r\n\r\n\r\n // spots create\r\n POST_FLYER_SPOTS_CREATE_START = 'POST_FLYER_SPOTS_CREATE_START',\r\n POST_FLYER_SPOTS_CREATE_SUCCESS = 'POST_FLYER_SPOTS_CREATE_SUCCESS',\r\n POST_FLYER_SPOTS_CREATE_ERROR = 'POST_FLYER_SPOTS_CREATE_ERROR',\r\n POST_FLYER_SPOTS_CREATE_COMPLETED = 'POST_FLYER_SPOTS_CREATE_COMPLETED',\r\n\r\n // spots update\r\n POST_FLYER_SPOTS_UPDATE_START = 'POST_FLYER_SPOTS_UPDATE_START',\r\n POST_FLYER_SPOTS_UPDATE_SUCCESS = 'POST_FLYER_SPOTS_UPDATE_SUCCESS',\r\n POST_FLYER_SPOTS_UPDATE_ERROR = 'POST_FLYER_SPOTS_UPDATE_ERROR',\r\n POST_FLYER_SPOTS_UPDATE_COMPLETED = 'POST_FLYER_SPOTS_UPDATE_COMPLETED',\r\n\r\n // spots delete\r\n POST_FLYER_SPOTS_DELETE_START = 'POST_FLYER_SPOTS_DELETE_START',\r\n POST_FLYER_SPOTS_DELETE_SUCCESS = 'POST_FLYER_SPOTS_DELETE_SUCCESS',\r\n POST_FLYER_SPOTS_DELETE_ERROR = 'POST_FLYER_SPOTS_DELETE_ERROR',\r\n POST_FLYER_SPOTS_DELETE_COMPLETED = 'POST_FLYER_SPOTS_DELETE_COMPLETED',\r\n //frames orientation numbering\r\n CHANGE_ORIENTATION_NUMBERING_FOR_FRAMES = 'CHANGE_ORIENTATION_NUMBERING_FOR_FRAMES',\r\n //frames selectAllMode\r\n TOGGLE_SELECT_ALL_FRAMES = 'TOGGLE_SELECT_ALL_FRAMES',\r\n\r\n // promos xls file\r\n POST_FLYER_PROMOS_START = 'POST_FLYER_PROMOS_START',\r\n POST_FLYER_PROMOS_SUCCESS = 'POST_FLYER_PROMOS_SUCCESS',\r\n POST_FLYER_PROMOS_ERROR = 'POST_FLYER_PROMOS_ERROR',\r\n POST_FLYER_PROMOS_COMPLETED = 'POST_FLYER_PROMOS_COMPLETED',\r\n // promos and items xls file\r\n POST_FLYER_PROMOS_AND_ITEMS_START = 'POST_FLYER_PROMOS_AND_ITEMS_START',\r\n POST_FLYER_PROMOS_AND_ITEMS_SUCCESS = 'POST_FLYER_PROMOS_AND_ITEMS_SUCCESS',\r\n POST_FLYER_PROMOS_AND_ITEMS_ERROR = 'POST_FLYER_PROMOS_AND_ITEMS_ERROR',\r\n POST_FLYER_PROMOS_AND_ITEMS_COMPLETED = 'POST_FLYER_PROMOS_AND_ITEMS_COMPLETED',\r\n\r\n // get empty promotion and items xls file\r\n GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_START = 'GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_START',\r\n GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_SUCCESS = 'GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_SUCCESS',\r\n GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_ERROR = 'GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_ERROR',\r\n GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_COMPLETE = 'GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_COMPLETE',\r\n // get promotions and items data for current flyer xls file\r\n GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_START = 'GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_START',\r\n GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_SUCCESS = 'GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_SUCCESS',\r\n GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_ERROR = 'GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_ERROR',\r\n GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_COMPLETE = 'GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_COMPLETE',\r\n\r\n // items images items xls file\r\n POST_IMAGES_FOR_PROMOTIONS_ITEMS_START = 'POST_IMAGES_FOR_PROMOTIONS_ITEMS_START',\r\n POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS = 'POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS',\r\n POST_IMAGES_FOR_PROMOTIONS_ITEMS_ERROR = 'POST_IMAGES_FOR_PROMOTIONS_ITEMS_ERROR',\r\n POST_IMAGES_FOR_PROMOTIONS_ITEMS_COMPLETE = 'POST_IMAGES_FOR_PROMOTIONS_ITEMS_COMPLETE',\r\n\r\n // promotion images files\r\n POST_IMAGES_FOR_PROMOTIONS_START = 'POST_IMAGES_FOR_PROMOTIONS_START',\r\n POST_IMAGES_FOR_PROMOTIONS_SUCCESS = 'POST_IMAGES_FOR_PROMOTIONS_SUCCESS',\r\n POST_IMAGES_FOR_PROMOTIONS_ERROR = 'POST_IMAGES_FOR_PROMOTIONS_ERROR',\r\n POST_IMAGES_FOR_PROMOTIONS_COMPLETE = 'POST_IMAGES_FOR_PROMOTIONS_COMPLETE',\r\n\r\n // items images files\r\n POST_IMAGES_FOR_ITEMS_START = 'POST_IMAGES_FOR_ITEMS_START',\r\n POST_IMAGES_FOR_ITEMS_SUCCESS = 'POST_IMAGES_FOR_ITEMS_SUCCESS',\r\n POST_IMAGES_FOR_ITEMS_ERROR = 'POST_IMAGES_FOR_ITEMS_ERROR',\r\n POST_IMAGES_FOR_ITEMS_COMPLETE = 'POST_IMAGES_FOR_ITEMS_COMPLETE',\r\n\r\n // promo items xls file\r\n POST_FLYER_PROMOITEMS_START = 'POST_FLYER_PROMOITEMS_START',\r\n POST_FLYER_PROMOITEMS_SUCCESS = 'POST_FLYER_PROMOITEMS_SUCCESS',\r\n POST_FLYER_PROMOITEMS_ERROR = 'POST_FLYER_PROMOITEMS_ERROR',\r\n POST_FLYER_PROMOITEMS_COMPLETED = 'POST_FLYER_PROMOITEMS_COMPLETED',\r\n\r\n // post image to item jpg file\r\n POST_IMAGE_TO_ITEM_START = 'POST_IMAGE_TO_ITEM_START',\r\n POST_IMAGE_TO_ITEM_SUCCESS = 'POST_IMAGE_TO_ITEM_SUCCESS',\r\n POST_IMAGE_TO_ITEM_ERROR = 'POST_IMAGE_TO_ITEM_ERROR',\r\n POST_IMAGE_TO_ITEM_COMPLETED = 'POST_IMAGE_TO_ITEM_COMPLETED',\r\n // change qualification status of items\r\n CHANGE_QUALIFICATION_LVL_FOR_ITEMS_START = 'CHANGE_QUALIFICATION_LVL_FOR_ITEMS_START',\r\n CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS = 'CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS',\r\n CHANGE_QUALIFICATION_LVL_FOR_ITEMS_ERROR = 'CHANGE_QUALIFICATION_LVL_FOR_ITEMS_ERROR',\r\n CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED = 'CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED',\r\n // change qualification status of promos\r\n CHANGE_QUALIFICATION_LVL_FOR_PROMOS_START = 'CHANGE_QUALIFICATION_LVL_FOR_PROMOS_START',\r\n CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS = 'CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS',\r\n CHANGE_QUALIFICATION_LVL_FOR_PROMOS_ERROR = 'CHANGE_QUALIFICATION_LVL_FOR_PROMOS_ERROR',\r\n CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED = 'CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED',\r\n\r\n // smart flyer\r\n GET_SMART_FLYER_START = 'GET_SMART_FLYER_START',\r\n GET_SMART_FLYER_SUCCESS = 'GET_SMART_FLYER_SUCCESS',\r\n GET_SMART_FLYER_ERROR = 'GET_SMART_FLYER_ERROR',\r\n GET_SMART_FLYER_COMPLETED = 'GET_SMART_FLYER_COMPLETED',\r\n\r\n SMART_FLYER_DATA_CHANGE_EVENT = 'SMART_FLYER_DATA_CHANGE_EVENT',\r\n\r\n POST_SMART_FLYER_START = 'POST_SMART_FLYER_START',\r\n POST_SMART_FLYER_SUCCESS = 'POST_SMART_FLYER_SUCCESS',\r\n POST_SMART_FLYER_ERROR = 'POST_SMART_FLYER_ERROR',\r\n POST_SMART_FLYER_COMPLETED = 'POST_SMART_FLYER_COMPLETED',\r\n\r\n\r\n // gui settings\r\n GET_GUI_SETTINGS_START = 'GET_GUI_SETTINGS_START',\r\n GET_GUI_SETTINGS_SUCCESS = 'GET_GUI_SETTINGS_SUCCESS',\r\n GET_GUI_SETTINGS_ERROR = 'GET_GUI_SETTINGS_ERROR',\r\n GET_GUI_SETTINGS_COMPLETED = 'GET_GUI_SETTINGS_COMPLETED',\r\n\r\n PUT_GUI_SETTINGS_START = 'PUT_GUI_SETTINGS_START',\r\n PUT_GUI_SETTINGS_SUCCESS = 'PUT_GUI_SETTINGS_SUCCESS',\r\n PUT_GUI_SETTINGS_ERROR = 'PUT_GUI_SETTINGS_ERROR',\r\n PUT_GUI_SETTINGS_COMPLETED = 'PUT_GUI_SETTINGS_COMPLETED',\r\n\r\n DELETE_GUI_SETTINGS_START = 'DELETE_GUI_SETTINGS_START',\r\n DELETE_GUI_SETTINGS_SUCCESS = 'DELETE_GUI_SETTINGS_SUCCESS',\r\n DELETE_GUI_SETTINGS_ERROR = 'DELETE_GUI_SETTINGS_ERROR',\r\n DELETE_GUI_SETTINGS_COMPLETED = 'DELETE_GUI_SETTINGS_COMPLETED',\r\n\r\n //pages\r\n DELETE_PAGE = 'DELETE_PAGE',\r\n DELETE_PAGE_SUCCESS = 'DELETE_PAGE_SUCCESS',\r\n DELETE_PAGE_ERROR = 'DELETE_PAGE_ERROR',\r\n\r\n DELETE_PAGE_IMAGE = 'DELETE_PAGE_IMAGE',\r\n DELETE_PAGE_IMAGE_SUCCESS = 'DELETE_PAGE_IMAGE_SUCCESS',\r\n DELETE_PAGE_IMAGE_ERROR = 'DELETE_PAGE_IMAGE_ERROR',\r\n\r\n INSERT_PAGE = 'INSERT_PAGE',\r\n INSERT_PAGE_SUCCESS = 'INSERT_PAGE_SUCCESS',\r\n INSERT_PAGE_ERROR = 'INSERT_PAGE_ERROR',\r\n\r\n MOVE_PAGES_BEFORE = 'MOVE_PAGES_BEFORE',\r\n MOVE_PAGES_BEFORE_SUCCESS = 'MOVE_PAGES_BEFORE_SUCCESS',\r\n MOVE_PAGES_BEFORE_ERROR = 'MOVE_PAGES_BEFORE_ERROR',\r\n\r\n UPLOAD_IMAGES_TO_PAGES = 'UPLOAD_IMAGES_TO_PAGES',\r\n UPLOAD_IMAGES_TO_PAGES_SUCCESS = 'UPLOAD_IMAGES_TO_PAGES_SUCCESS',\r\n UPLOAD_IMAGES_TO_PAGES_ERROR = 'UPLOAD_IMAGES_TO_PAGES_ERROR',\r\n\r\n CHANGE_QUALIFICATION_STATUS_FOR_PAGES_START = 'CHANGE_QUALIFICATION_STATUS_FOR_PAGES_START',\r\n CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS = 'CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS',\r\n CHANGE_QUALIFICATION_STATUS_FOR_PAGES_ERROR = 'CHANGE_QUALIFICATION_STATUS_FOR_PAGES_ERROR',\r\n CHANGE_QUALIFICATION_STATUS_FOR_PAGES_COMPLETE = 'CHANGE_QUALIFICATION_STATUS_FOR_PAGES_COMPLETE',\r\n\r\n SET_SELECTED_PAGE_FOR_TABS = 'SET_SELECTED_PAGE_FOR_TABS',\r\n\r\n CHANGE_ACTIVE_TAB_NAME = 'CHANGE_ACTIVE_TAB_NAME',\r\n CHANGE_SEARCH_TERM = 'CHANGE_SEARCH_TERM',\r\n SAVE_PROMO_ITEMS_FILE_IN_STATE = 'SAVE_PROMO_ITEMS_FILE_IN_STATE',\r\n ADD_PROMOS_TO_UNLINK_PROMOS = 'ADD_PROMOS_TO_UNLINK_PROMOS',\r\n ADD_ITEMS_TO_UNLINK_ITEMS = 'ADD_ITEMS_TO_UNLINK_ITEMS',\r\n DELETE_PROMOS_FROM_UNLINK_PROMOS = 'DELETE_PROMOS_FROM_UNLINK_PROMOS',\r\n DELETE_ITEMS_FROM_UNLINK_ITEMS = 'DELETE_ITEMS_FROM_UNLINK_ITEMS',\r\n CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU = 'CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU',\r\n TOGGLE_UNLINK_PANEL = 'TOGGLE_UNLINK_PANEL',\r\n CHANGE_QUALIFIED_STATUS_FOR_PROMOTIONS_AND_ITEMS = \"CHANGE_QUALIFIED_STATUS_FOR_PROMOTIONS_AND_ITEMS\",\r\n CHANGE_SELECT_ALL_STATUS_FOR_PROMOTIONS_AND_ITEMS = \"CHANGE_SELECT_ALL_STATUS_FOR_PROMOTIONS_AND_ITEMS\",\r\n\r\n\r\n ATTACH_PROMO_TO_FLYER_START = 'ATTACH_PROMO_TO_FLYER_START',\r\n ATTACH_PROMO_TO_FLYER_SUCCESS = 'ATTACH_PROMO_TO_FLYER_SUCCESS',\r\n ATTACH_PROMO_TO_FLYER_ERROR = 'ATTACH_PROMO_TO_FLYER_ERROR',\r\n ATTACH_PROMO_TO_FLYER_COMPLETE = 'ATTACH_PROMO_TO_FLYER_COMPLETE',\r\n\r\n ATTACH_PROMO_TO_FLYER_DND_SUCCESS = 'ATTACH_PROMO_TO_FLYER_SUCCESS',\r\n ATTACH_PROMO_TO_FLYER_DND_COMPLETE = 'ATTACH_PROMO_TO_FLYER_COMPLETE',\r\n\r\n ATTACH_ITEMS_TO_FLYER_START = 'ATTACH_ITEMS_TO_FLYER_START',\r\n ATTACH_ITEMS_TO_FLYER_SUCCESS = 'ATTACH_ITEMS_TO_FLYER_SUCCESS',\r\n ATTACH_ITEMS_TO_FLYER_ERROR = 'ATTACH_ITEMS_TO_FLYER_ERROR',\r\n ATTACH_ITEMS_TO_FLYER_COMPLETE = 'ATTACH_ITEMS_TO_FLYER_COMPLETE',\r\n\r\n\r\n SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE = 'SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE',\r\n SET_ITEMS_TO_PROMO_ITEMS_STATE = 'SET_ITEMS_TO_PROMO_ITEMS_STATE',\r\n ADD_ITEMS_TO_PROMO_ITEMS_STATE = 'ADD_ITEMS_TO_PROMO_ITEMS_STATE',\r\n REMOVE_ITEMS_TO_PROMO_ITEMS_STATE = 'REMOVE_ITEMS_TO_PROMO_ITEMS_STATE',\r\n\r\n SET_PROMOS_TO_PROMO_ITEMS_STATE = 'SET_PROMOS_TO_PROMO_ITEMS_STATE',\r\n\r\n\r\n // ATTACH_ITEMS_TO_FLYER_DND_SUCCESS = 'ATTACH_ITEMS_TO_FLYER_DND_SUCCESS',\r\n // ATTACH_ITEMS_TO_FLYER_DND_COMPLETE = 'ATTACH_ITEMS_TO_FLYER_DND_COMPLETE',\r\n\r\n\r\n ATTACH_PROMO_TO_FRAME_START = 'ATTACH_PROMO_TO_FRAME_START',\r\n ATTACH_PROMO_TO_FRAME_SUCCESS = 'ATTACH_PROMO_TO_FRAME_SUCCESS',\r\n ATTACH_PROMO_TO_FRAME_ERROR = 'ATTACH_PROMO_TO_FRAME_ERROR',\r\n ATTACH_PROMO_TO_FRAME_COMPLETE = 'ATTACH_PROMO_TO_FRAME_COMPLETE',\r\n\r\n ATTACH_PROMO_TO_FRAME_DND_SUCCESS = 'ATTACH_PROMO_TO_FRAME_DND_SUCCESS',\r\n ATTACH_PROMO_TO_FRAME_DND_COMPLETE = 'ATTACH_PROMO_TO_FRAME_DND_COMPLETE',\r\n\r\n ATTACH_ITEM_TO_PROMO_START = 'ATTACH_ITEM_TO_PROMO_START',\r\n ATTACH_ITEM_TO_PROMO_SUCCESS = 'ATTACH_ITEM_TO_PROMO_SUCCESS',\r\n ATTACH_ITEM_TO_PROMO_ERROR = 'ATTACH_ITEM_TO_PROMO_ERROR',\r\n ATTACH_ITEM_TO_PROMO_COMPLETE = 'ATTACH_ITEM_TO_PROMO_COMPLETE',\r\n\r\n UPDATE_ITEM_START = 'UPDATE_ITEM_START',\r\n UPDATE_ITEM_SUCCESS = 'UPDATE_ITEM_SUCCESS',\r\n UPDATE_ITEM_ERROR = 'UPDATE_ITEM_ERROR',\r\n UPDATE_ITEM_COMPLETE = 'UPDATE_ITEM_COMPLETE',\r\n\r\n EDIT_PROMOTION_ITEM_START = 'EDIT_PROMOTION_ITEM_START',\r\n EDIT_PROMOTION_ITEM_SUCCESS = 'EDIT_PROMOTION_ITEM_SUCCESS',\r\n EDIT_PROMOTION_ITEM_ERROR = 'EDIT_PROMOTION_ITEM_ERROR',\r\n EDIT_PROMOTION_ITEM_COMPLETE = 'EDIT_PROMOTION_ITEM_COMPLETE',\r\n\r\n CREATE_PROMOTION_ITEM_START = 'CREATE_PROMOTION_ITEM_START',\r\n CREATE_PROMOTION_ITEM_SUCCESS = 'CREATE_PROMOTION_ITEM_SUCCESS',\r\n CREATE_PROMOTION_ITEM_ERROR = 'CREATE_PROMOTION_ITEM_ERROR',\r\n CREATE_PROMOTION_ITEM_COMPLETE = 'CREATE_PROMOTION_ITEM_COMPLETE',\r\n\r\n CREATE_ITEM_START = 'CREATE_ITEM_START',\r\n CREATE_ITEM_SUCCESS = 'CREATE_ITEM_SUCCESS',\r\n CREATE_ITEM_ERROR = 'CREATE_ITEM_ERROR',\r\n CREATE_ITEM_COMPLETE = 'CREATE_ITEM_COMPLETE',\r\n\r\n UPDATE_PROMOTION_START = 'UPDATE_PROMOTION_START',\r\n UPDATE_PROMOTION_SUCCESS = 'UPDATE_PROMOTION_SUCCESS',\r\n UPDATE_PROMOTION_ERROR = 'UPDATE_PROMOTION_ERROR',\r\n UPDATE_PROMOTION_COMPLETE = 'UPDATE_PROMOTION_COMPLETE',\r\n\r\n CREATE_PROMOTION_START = 'CREATE_PROMOTION_START',\r\n CREATE_PROMOTION_SUCCESS = 'CREATE_PROMOTION_SUCCESS',\r\n CREATE_PROMOTION_ERROR = 'CREATE_PROMOTION_ERROR',\r\n CREATE_PROMOTION_COMPLETE = 'CREATE_PROMOTION_COMPLETE',\r\n\r\n\r\n ATTACH_ITEM_TO_PROMO_DND_SUCCESS = 'ATTACH_ITEM_TO_PROMO_DND_SUCCESS',\r\n ATTACH_ITEM_TO_PROMO_DND_COMPLETE = 'ATTACH_ITEM_TO_PROMO_DND_COMPLETE',\r\n\r\n DELETE_PROMO_FROM_FLYER_START = 'DELETE_PROMO_FROM_FLYER_START',\r\n DELETE_PROMO_FROM_FLYER_ERROR = 'DELETE_PROMO_FROM_FLYER_ERROR',\r\n DELETE_PROMO_FROM_FLYER_SUCCESS = 'DELETE_PROMO_FROM_FLYER_SUCCESS',\r\n DELETE_PROMO_FROM_FLYER_COMPLETE = 'DELETE_PROMO_FROM_FLYER_COMPLETE',\r\n\r\n DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS = 'DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS',\r\n DELETE_PROMO_WITH_ITEMS_FROM_FLYER_COMPLETE = 'DELETE_PROMO_WITH_ITEMS_FROM_FLYER_COMPLETE',\r\n\r\n DELETE_ITEMS_FROM_FLYER_START = 'DELETE_ITEMS_FROM_FLYER_START',\r\n DELETE_ITEMS_FROM_FLYER_ERROR = 'DELETE_ITEMS_FROM_FLYER_ERROR',\r\n DELETE_ITEMS_FROM_FLYER_SUCCESS = 'DELETE_ITEMS_FROM_FLYER_SUCCESS',\r\n DELETE_ITEMS_FROM_FLYER_COMPLETE = 'DELETE_ITEMS_FROM_FLYER_COMPLETE',\r\n\r\n DELETE_IMAGE_FROM_ITEM_START = 'DELETE_IMAGE_FROM_ITEM_START',\r\n DELETE_IMAGE_FROM_ITEM_ERROR = 'DELETE_IMAGE_FROM_ITEM_ERROR',\r\n DELETE_IMAGE_FROM_ITEM_SUCCESS = 'DELETE_IMAGE_FROM_ITEM_SUCCESS',\r\n DELETE_IMAGE_FROM_ITEM_COMPLETE = 'DELETE_IMAGE_FROM_ITEM_COMPLETE',\r\n\r\n DELETE_IMAGE_FROM_PROMOTION_START = 'DELETE_IMAGE_FROM_PROMOTION_START',\r\n DELETE_IMAGE_FROM_PROMOTION_SUCCESS = 'DELETE_IMAGE_FROM_PROMOTION_SUCCESS',\r\n DELETE_IMAGE_FROM_PROMOTION_ERROR = 'DELETE_IMAGE_FROM_PROMOTION_ERROR',\r\n DELETE_IMAGE_FROM_PROMOTION_COMPLETE = 'DELETE_IMAGE_FROM_PROMOTION_COMPLETE',\r\n\r\n CHANGE_DRAGGING_ITEM_RECID = 'CHANGE_DRAGGING_ITEM_RECID',\r\n // SHOW_HIDE_ALL_ITEMS_IN_ALL_PROMOTIONS = 'SHOW_HIDE_ALL_ITEMS_IN_ALL_PROMOTIONS',\r\n\r\n EDITOR_TOGGLE_FLYER_DETAILS_POPUP = 'EDITOR_TOGGLE_FLYER_DETAILS_POPUP',\r\n EDITOR_TOGGLE_FLYER_RIGHT_PANEL = 'EDITOR_TOGGLE_FLYER_RIGHT_PANEL',\r\n EDITOR_TOGGLE_ZOOM_IN_MODE_FOR_FRAMES_PROMOS_SCREENS = 'EDITOR_TOGGLE_ZOOM_IN_MODE_FOR_FRAMES_PROMOS_SCREENS',\r\n\r\n //filters action types\r\n CHANGE_FLYERS_VIEW_FILTER = \"CHANGE_FLYERS_VIEW_FILTER\",\r\n CHANGE_FLYERS_CLASSES_FILTER = \"CHANGE_FLYERS_CLASSES_FILTER\",\r\n\r\n SET_ACCOUNT_SETTING_START = 'SET_ACCOUNT_SETTING_START',\r\n SET_ACCOUNT_SETTING_SUCCESS = 'SET_ACCOUNT_SETTING_SUCCESS',\r\n SET_ACCOUNT_SETTING_COMPLETE = 'SET_ACCOUNT_SETTING_COMPLETE',\r\n SET_ACCOUNT_SETTING_ERROR = 'SET_ACCOUNT_SETTING_ERROR',\r\n SET_ACCOUNT_LANGUAGE_ID = 'SET_ACCOUNT_LANGUAGE_ID',\r\n\r\n GET_ANALYTICS_DATA_FOR_FLYER_START = 'GET_ANALYTICS_DATA_FOR_FLYER_START',\r\n GET_ANALYTICS_DATA_FOR_FLYER_SUCCESS = 'GET_ANALYTICS_DATA_FOR_FLYER_SUCCESS',\r\n GET_ANALYTICS_DATA_FOR_FLYER_COMPLETE = 'GET_ANALYTICS_DATA_FOR_FLYER_COMPLETE',\r\n GET_ANALYTICS_DATA_FOR_FLYER_ERROR = 'GET_ANALYTICS_DATA_FOR_FLYER_ERROR',\r\n\r\n\r\n DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_START = 'DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_START',\r\n DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_SUCCESS = 'DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_SUCCESS',\r\n DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_ERROR = 'DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_ERROR',\r\n DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_COMPLETE = 'DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_COMPLETE',\r\n\r\n UPLOAD_IMAGES_PROGRESSBAR_POPUP_START = \"UPLOAD_IMAGES_PROGRESSBAR_POPUP_START\",\r\n UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE = \"UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE\",\r\n UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE = \"UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE\",\r\n UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR = \"UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR\",\r\n\r\n DOWNLOAD_FILE_START = 'DOWNLOAD_FILE_START',\r\n DOWNLOAD_FILE_SUCCESS = 'DOWNLOAD_FILE_SUCCESS',\r\n DOWNLOAD_FILE_ERROR = 'DOWNLOAD_FILE_ERROR',\r\n DOWNLOAD_FILE_COMPLETE = 'DOWNLOAD_FILE_COMPLETE',\r\n\r\n\r\n CREATE_TOC_FOR_PAGE_START = \"CREATE_TOC_FOR_PAGE_START\",\r\n CREATE_TOC_FOR_PAGE_SUCCESS = \"CREATE_TOC_FOR_PAGE_SUCCESS\",\r\n CREATE_TOC_FOR_PAGE_ERROR = \"CREATE_TOC_FOR_PAGE_ERROR\",\r\n CREATE_TOC_FOR_PAGE_COMPLETE = \"CREATE_TOC_FOR_PAGE_COMPLETE\",\r\n\r\n UPDATE_TOC_FOR_PAGE_START = \"UPDATE_TOC_FOR_PAGE_START\",\r\n UPDATE_TOC_FOR_PAGE_SUCCESS = \"UPDATE_TOC_FOR_PAGE_SUCCESS\",\r\n UPDATE_TOC_FOR_PAGE_ERROR = \"UPDATE_TOC_FOR_PAGE_ERROR\",\r\n UPDATE_TOC_FOR_PAGE_COMPLETE = \"UPDATE_TOC_FOR_PAGE_COMPLETE\",\r\n\r\n DELETE_TOC_FOR_PAGE_START = \"DELETE_TOC_FOR_PAGE_START\",\r\n DELETE_TOC_FOR_PAGE_SUCCESS = \"DELETE_TOC_FOR_PAGE_SUCCESS\",\r\n DELETE_TOC_FOR_PAGE_ERROR = \"DELETE_TOC_FOR_PAGE_ERROR\",\r\n DELETE_TOC_FOR_PAGE_COMPLETE = \"DELETE_TOC_FOR_PAGE_COMPLETE\",\r\n\r\n CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_START = \"CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_START\",\r\n CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS = \"CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS\",\r\n CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_ERROR = \"CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_ERROR\",\r\n CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_COMPLETE = \"CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_COMPLETE\",\r\n\r\n //flyer classes types\r\n GET_FLYER_CLASSES_START = \"GET_FLYER_CLASSES_START\",\r\n GET_FLYER_CLASSES_SUCCESS = \"GET_FLYER_CLASSES_SUCCESS\",\r\n GET_FLYER_CLASSES_ERROR = \"GET_FLYER_CLASSES_ERROR\",\r\n GET_FLYER_CLASSES_COMPLETE = \"GET_FLYER_CLASSES_COMPLETE\",\r\n\r\n CREATE_FLYER_CLASS_START = \"CREATE_FLYER_CLASS_START\",\r\n CREATE_FLYER_CLASS_SUCCESS = \"CREATE_FLYER_CLASS_SUCCESS\",\r\n CREATE_FLYER_CLASS_ERROR = \"CREATE_FLYER_CLASS_ERROR\",\r\n CREATE_FLYER_CLASS_COMPLETE = \"CREATE_FLYER_CLASS_COMPLETE\",\r\n\r\n UPDATE_FLYER_CLASS_START = \"UPDATE_FLYER_CLASS_START\",\r\n UPDATE_FLYER_CLASS_SUCCESS = \"UPDATE_FLYER_CLASS_SUCCESS\",\r\n UPDATE_FLYER_CLASS_ERROR = \"UPDATE_FLYER_CLASS_ERROR\",\r\n UPDATE_FLYER_CLASS_COMPLETE = \"UPDATE_FLYER_CLASS_COMPLETE\",\r\n\r\n DELETE_FLYER_CLASS_START = \"DELETE_FLYER_CLASS_START\",\r\n DELETE_FLYER_CLASS_SUCCESS = \"DELETE_FLYER_CLASS_SUCCESS\",\r\n DELETE_FLYER_CLASS_ERROR = \"DELETE_FLYER_CLASS_ERROR\",\r\n DELETE_FLYER_CLASS_COMPLETE = \"DELETE_FLYER_CLASS_COMPLETE\",\r\n\r\n //emails types\r\n GET_ACCOUNT_EMAILS_SETTING_START = 'GET_ACCOUNT_EMAILS_SETTING_START',\r\n GET_ACCOUNT_EMAILS_SETTING_SUCCESS = 'GET_ACCOUNT_EMAILS_SETTING_SUCCESS',\r\n GET_ACCOUNT_EMAILS_SETTING_COMPLETE = 'GET_ACCOUNT_EMAILS_SETTING_COMPLETE',\r\n GET_ACCOUNT_EMAILS_SETTING_ERROR = 'GET_ACCOUNT_EMAILS_SETTING_ERROR',\r\n\r\n SET_ACCOUNT_EMAILS_SETTING_START = 'SET_ACCOUNT_EMAILS_SETTING_START',\r\n SET_ACCOUNT_EMAILS_SETTING_SUCCESS = 'SET_ACCOUNT_EMAILS_SETTING_SUCCESS',\r\n SET_ACCOUNT_EMAILS_SETTING_COMPLETE = 'SET_ACCOUNT_EMAILS_SETTING_COMPLETE',\r\n SET_ACCOUNT_EMAILS_SETTING_ERROR = 'SET_ACCOUNT_EMAILS_SETTING_ERROR',\r\n\r\n //store settings types\r\n GET_ACCOUNT_STORE_SETTINGS_START = 'GET_ACCOUNT_STORE_SETTINGS_START',\r\n GET_ACCOUNT_STORE_SETTINGS_SUCCESS = 'GET_ACCOUNT_STORE_SETTINGS_SUCCESS',\r\n GET_ACCOUNT_STORE_SETTINGS_COMPLETE = 'GET_ACCOUNT_STORE_SETTINGS_COMPLETE',\r\n GET_ACCOUNT_STORE_SETTINGS_ERROR = 'GET_ACCOUNT_STORE_SETTINGS_ERROR',\r\n\r\n DELETE_ACCOUNT_STORE_SETTINGS_START = 'DELETE_ACCOUNT_STORE_SETTINGS_START',\r\n DELETE_ACCOUNT_STORE_SETTINGS_SUCCESS = 'DELETE_ACCOUNT_STORE_SETTINGS_SUCCESS',\r\n DELETE_ACCOUNT_STORE_SETTINGS_COMPLETE = 'DELETE_ACCOUNT_STORE_SETTINGS_COMPLETE',\r\n DELETE_ACCOUNT_STORE_SETTINGS_ERROR = 'DELETE_ACCOUNT_STORE_SETTINGS_ERROR',\r\n\r\n SET_DEFAULT_ACCOUNT_STORE_SETTINGS_START = 'SET_DEFAULT_ACCOUNT_STORE_SETTINGS_START',\r\n SET_DEFAULT_ACCOUNT_STORE_SETTINGS_SUCCESS = 'SET_DEFAULT_ACCOUNT_STORE_SETTINGS_SUCCESS',\r\n SET_DEFAULT_ACCOUNT_STORE_SETTINGS_COMPLETE = 'SET_DEFAULT_ACCOUNT_STORE_SETTINGS_COMPLETE',\r\n SET_DEFAULT_ACCOUNT_STORE_SETTINGS_ERROR = 'SET_DEFAULT_ACCOUNT_STORE_SETTINGS_ERROR',\r\n\r\n SAVE_ACCOUNT_STORE_SETTING_START = 'SAVE_ACCOUNT_STORE_SETTING_START',\r\n SAVE_ACCOUNT_STORE_SETTING_SUCCESS = 'SAVE_ACCOUNT_STORE_SETTING_SUCCESS',\r\n SAVE_ACCOUNT_STORE_SETTING_COMPLETE = 'SAVE_ACCOUNT_STORE_SETTING_COMPLETE',\r\n SAVE_ACCOUNT_STORE_SETTING_ERROR = 'SAVE_ACCOUNT_STORE_SETTING_ERROR',\r\n\r\n //users and permissions types\r\n GET_USERS_AND_PERMISSIONS_DATA_START = 'GET_USERS_AND_PERMISSIONS_DATA_START',\r\n GET_USERS_AND_PERMISSIONS_DATA_SUCCESS = 'GET_USERS_AND_PERMISSIONS_DATA_SUCCESS',\r\n GET_USERS_AND_PERMISSIONS_DATA_COMPLETE = 'GET_USERS_AND_PERMISSIONS_DATA_COMPLETE',\r\n GET_USERS_AND_PERMISSIONS_DATA_ERROR = 'GET_USERS_AND_PERMISSIONS_DATA_ERROR',\r\n\r\n DELETE_USER_AND_PERMISSIONS_DATA_START = 'DELETE_USER_AND_PERMISSIONS_DATA_START',\r\n DELETE_USER_AND_PERMISSIONS_DATA_SUCCESS = 'DELETE_USER_AND_PERMISSIONS_DATA_SUCCESS',\r\n DELETE_USER_AND_PERMISSIONS_DATA_COMPLETE = 'DELETE_USER_AND_PERMISSIONS_DATA_COMPLETE',\r\n DELETE_USER_AND_PERMISSIONS_DATA_ERROR = 'DELETE_USER_AND_PERMISSIONS_DATA_ERROR',\r\n\r\n SAVE_USER_AND_PERMISSIONS_DATA_START = 'SAVE_USER_AND_PERMISSIONS_DATA_START',\r\n SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS = 'SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS',\r\n SAVE_USER_AND_PERMISSIONS_DATA_COMPLETE = 'SAVE_USER_AND_PERMISSIONS_DATA_COMPLETE',\r\n SAVE_USER_AND_PERMISSIONS_DATA_ERROR = 'SAVE_USER_AND_PERMISSIONS_DATA_ERROR',\r\n\r\n UPDATE_USER_AND_PERMISSIONS_DATA = 'UPDATE_USER_AND_PERMISSIONS_DATA',\r\n\r\n UPDATE_USER_PASSWORD_START = 'UPDATE_USER_PASSWORD_START',\r\n UPDATE_USER_PASSWORD_SUCCESS = 'UPDATE_USER_PASSWORD_SUCCESS',\r\n UPDATE_USER_PASSWORD_COMPLETE = 'UPDATE_USER_PASSWORD_COMPLETE',\r\n UPDATE_USER_PASSWORD_ERROR = 'UPDATE_USER_PASSWORD_ERROR',\r\n\r\n\r\n //store types\r\n UPLOAD_STORE_ITEMS_EXCEL_FILE_START = 'UPLOAD_STORE_ITEMS_EXCEL_FILE_START',\r\n UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS = 'UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS',\r\n UPLOAD_STORE_ITEMS_EXCEL_FILE_COMPLETE = 'UPLOAD_STORE_ITEMS_EXCEL_FILE_COMPLETE',\r\n UPLOAD_STORE_ITEMS_EXCEL_FILE_ERROR = 'UPLOAD_STORE_ITEMS_EXCEL_FILE_ERROR',\r\n UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_START = 'UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_START',\r\n UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_SUCCESS = 'UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_SUCCESS',\r\n UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_COMPLETE = 'UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_COMPLETE',\r\n UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_ERROR = 'UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_ERROR',\r\n DOWNLOAD_STORE_EMPTY_EXCEL_FILE_START = 'DOWNLOAD_STORE_EMPTY_EXCEL_FILE_START',\r\n DOWNLOAD_STORE_EMPTY_EXCEL_FILE_SUCCESS = 'DOWNLOAD_STORE_EMPTY_EXCEL_FILE_SUCCESS',\r\n DOWNLOAD_STORE_EMPTY_EXCEL_FILE_COMPLETE = 'DOWNLOAD_STORE_EMPTY_EXCEL_FILE_COMPLETE',\r\n DOWNLOAD_STORE_EMPTY_EXCEL_FILE_ERROR = 'DOWNLOAD_STORE_EMPTY_EXCEL_FILE_ERROR',\r\n DELETE_STORE_ITEMS_EXCEL_FILE_START = 'DELETE_STORE_ITEMS_EXCEL_FILE_START',\r\n DELETE_STORE_ITEMS_EXCEL_FILE_SUCCESS = 'DELETE_STORE_ITEMS_EXCEL_FILE_SUCCESS',\r\n DELETE_STORE_ITEMS_EXCEL_FILE_COMPLETE = 'DELETE_STORE_ITEMS_EXCEL_FILE_COMPLETE',\r\n DELETE_STORE_ITEMS_EXCEL_FILE_ERROR = 'DELETE_STORE_ITEMS_EXCEL_FILE_ERROR',\r\n}","\r\nimport { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions';\r\n\r\nimport { ErrorDto, UserDto } from '../../dtos'\r\n\r\ninterface AuthState {\r\n loading: boolean;\r\n error: ErrorDto | null;\r\n data: UserDto | null;\r\n type: string | null;\r\n\r\n isAuthenticated: boolean;\r\n}\r\n\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n data: null,\r\n type: null,\r\n isAuthenticated: false,\r\n}\r\n\r\nconst reducer = (\r\n state: AuthState = initialState,\r\n action: Action\r\n): AuthState => {\r\n\r\n switch (action.type) {\r\n\r\n\r\n // Register\r\n case ActionType.REGISTER_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.REGISTER_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.REGISTER_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.REGISTER_COMPLETED:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n\r\n // Login\r\n case ActionType.LOGIN_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.LOGIN_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type, isAuthenticated: true }\r\n\r\n case ActionType.LOGIN_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.LOGIN_COMPLETED:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: true }\r\n\r\n\r\n case ActionType.LOG_OUT:\r\n localStorage.removeItem('userDto')\r\n return { ...initialState };\r\n \r\n\r\n // Forgot Password\r\n case ActionType.FORGOT_PASSWORD_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.FORGOT_PASSWORD_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.FORGOT_PASSWORD_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.FORGOT_PASSWORD_COMPLETED:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n\r\n // Fetch user data\r\n case ActionType.FETCH_USER_DATA_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: true }\r\n\r\n case ActionType.FETCH_USER_DATA_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type, isAuthenticated: true }\r\n\r\n case ActionType.FETCH_USER_DATA_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: true }\r\n\r\n case ActionType.FETCH_USER_DATA_COMPLETED:\r\n return { loading: false, error: null, data: action.payload, type: action.type, isAuthenticated: true }\r\n\r\n\r\n // Reset Password\r\n case ActionType.RESET_PASSWORD_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.RESET_PASSWORD_SUCCESS:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.RESET_PASSWORD_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.RESET_PASSWORD_COMPLETED:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n\r\n // Register Email\r\n case ActionType.CONFIRM_EMAIL_START:\r\n return { loading: true, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.CONFIRM_EMAIL_SUCCESS:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.CONFIRM_EMAIL_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type, isAuthenticated: false }\r\n\r\n case ActionType.CONFIRM_EMAIL_COMPLETED:\r\n return { loading: false, error: null, data: null, type: action.type, isAuthenticated: false }\r\n\r\n // the default switch case must be included as followed:\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {ErrorDto, FlyerDto, FlyerLanguageDto, FlyerTypeDto} from '../../dtos';\r\n\r\nimport {Action} from '../actions/flyersActions';\r\nimport {ActionType} from '../actionTypes';\r\n\r\nexport interface FlyersState {\r\n flyers: FlyerDto[]\r\n\r\n loading: boolean;\r\n error?: ErrorDto | null;\r\n\r\n type: string | null;\r\n archivedFlyersCount?: number;\r\n softDeletedFlyersCount?: number;\r\n flyerTypes?: FlyerTypeDto[];\r\n languageCultures?: FlyerLanguageDto[];\r\n analyticsDashboardUrl?: string;\r\n // accountSetting?: AccountSettingDto;\r\n // languageId?: number;\r\n}\r\n\r\nexport class FlyersStateInitialState implements FlyersState {\r\n flyers = [];\r\n\r\n loading = false;\r\n error = null;\r\n\r\n type = null;\r\n archivedFlyersCount = 0;\r\n softDeletedFlyersCount = 0;\r\n}\r\n\r\n\r\nconst initialState = new FlyersStateInitialState();\r\n\r\nconst reducer = (state: FlyersState = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.GET_FLYERS_START:\r\n return { ...state, flyers: initialState.flyers, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.GET_FLYERS_SUCCESS:\r\n return {\r\n error: null,\r\n loading: false,\r\n flyers: action.payload.flyers!.map((flyer: FlyerDto, index) => {\r\n return {\r\n ...flyer,\r\n index: index\r\n }\r\n }),\r\n type: action.type,\r\n archivedFlyersCount: action.payload.archivedFlyersCount,\r\n softDeletedFlyersCount: action.payload.softDeletedFlyersCount,\r\n flyerTypes: action.payload.flyerTypes,\r\n languageCultures: action.payload.languageCultures,\r\n analyticsDashboardUrl: action.payload.analyticsDashboardUrl\r\n // accountSetting: action.payload.accountSetting,\r\n // languageId: action.payload.languageId\r\n };\r\n case ActionType.CHANGE_FLYERS_STATE:\r\n return { ... state,\r\n error: null,\r\n loading: false,\r\n flyers: action.payload.flyers!.map((flyer: FlyerDto, index) => {\r\n return {\r\n ...flyer,\r\n index: index\r\n }\r\n }),\r\n type: action.type\r\n };\r\n\r\n case ActionType.GET_FLYERS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.GET_FLYERS_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n case ActionType.SOFT_DELETE_FLYER:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.SOFT_DELETE_FLYER_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.SOFT_DELETE_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n case ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n case ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n case ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.HARD_DELETE_FLYER:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.HARD_DELETE_FLYER_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n case ActionType.HARD_DELETE_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.ARCHIVE_FLYER:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.ARCHIVE_FLYER_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n case ActionType.ARCHIVE_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.SET_DEFAULT_STATE_FLYERS:\r\n return {\r\n ...state,\r\n error: null,\r\n loading: false,\r\n flyers: [],\r\n type: action.type\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n CurrencyValues,\r\n DimensionsDto,\r\n FlyerPageDto, FlyerPagination,\r\n FlyerStatus,\r\n FlyerType, FontSelectObjDto,\r\n LanguageCulture,\r\n ScaleDto,\r\n} from \"../dtos\";\r\nimport {Spots} from \"../components/com/canvas/spots/Spots\";\r\n\r\nexport const FLYER_CANVAS_MAX_WIDTH = 1024;\r\nexport const FLYER_CANVAS_MAX_HEIGHT = 820;\r\n\r\nexport const FLYER_SPOTS_MIN_WIDTH_PX = 40;\r\nexport const FLYER_SPOTS_MIN_HEIGHT_PX = 40;\r\n\r\n// there 2 variables are NOT CONSTANTS! we will change them dynamically.\r\nexport let FLYER_CANVAS_WIDTH = FLYER_CANVAS_MAX_WIDTH;\r\nexport let FLYER_CANVAS_HEIGHT = FLYER_CANVAS_MAX_HEIGHT;\r\n\r\nexport const getCanvasWrapperSize = (): { containerWidth: number, containerHeight: number } => {\r\n const container = document.getElementById('flyerCanvasContainer');\r\n if (container) {\r\n const containerWidth = container.clientWidth !== 0 ? container.clientWidth - 32 : 1024;\r\n const containerHeight = container.clientHeight !== 0 ? container.clientHeight - 20 : 820;\r\n return {\r\n containerWidth,\r\n containerHeight\r\n }\r\n }\r\n return {\r\n containerWidth: 1024,\r\n containerHeight: 820\r\n }\r\n}\r\n\r\nexport const getOriginalPageDimensions = (dto: FlyerPageDto) => {\r\n let originalWidth = dto.flpWidthPx!;\r\n let originalHeight = dto.flpHeightPx!;\r\n return {originalWidth, originalHeight};\r\n};\r\n\r\n// used to scale visual elements inside the canvas\r\nexport const getCanvasElementsScales = (\r\n realFlyerWidth: number,\r\n realFlyerHeight: number\r\n): ScaleDto => {\r\n // both should be <= 1\r\n let scaleX = 1;\r\n let scaleY = 1;\r\n\r\n // ex:\r\n // realFlyerWidth = 500\r\n // FLYER_CANVAS_WIDTH = 600\r\n // scaleX = 600 / 500 > 1 (this is not what we expect because we need it to be <= 1)\r\n if (realFlyerWidth >= FLYER_CANVAS_WIDTH) {\r\n scaleX = FLYER_CANVAS_WIDTH / realFlyerWidth;\r\n }\r\n\r\n if (realFlyerHeight >= FLYER_CANVAS_HEIGHT) {\r\n scaleY = FLYER_CANVAS_HEIGHT / realFlyerHeight;\r\n }\r\n\r\n return {scaleX, scaleY};\r\n};\r\n\r\n// used to calculate canvas sizes\r\nexport const getCanvasSize = (\r\n realFlyerWidth: number,\r\n realFlyerHeight: number,\r\n fitToWidth: boolean = false,\r\n maxWidthForContainer: number,\r\n maxHeightForContainer: number\r\n): DimensionsDto => {\r\n // let maxCanvasWidth = FLYER_CANVAS_MAX_WIDTH\r\n // let maxCanvasHeight = FLYER_CANVAS_MAX_HEIGHT\r\n\r\n /*let finalCanvasWidth: number = realFlyerWidth\r\n let finalCanvasHeight: number = realFlyerHeight\r\n\r\n let xScaler = 1\r\n let yScaler = 1\r\n\r\n if(realFlyerHeight <= maxCanvasHeight) {\r\n yScaler = realFlyerHeight / maxCanvasHeight // < 1\r\n }\r\n else {\r\n yScaler = maxCanvasHeight / realFlyerHeight // < 1\r\n }\r\n\r\n if(realFlyerWidth <= maxCanvasWidth) {\r\n xScaler = realFlyerWidth / maxCanvasWidth // < 1\r\n }\r\n else {\r\n xScaler = maxCanvasWidth / realFlyerWidth // < 1\r\n }\r\n\r\n finalCanvasWidth = finalCanvasWidth * xScaler\r\n finalCanvasHeight = finalCanvasHeight * yScaler\r\n\r\n */\r\n let finalCanvasWidth: number = realFlyerWidth;\r\n let finalCanvasHeight: number = realFlyerHeight;\r\n let finalCanvasTop: number = 50;\r\n let finalCanvasTranslateY: number = -50;\r\n\r\n // AFTER SCALING CALCULTATION:\r\n // ---------------------------\r\n let yScalerDown = 1;\r\n let xScalerDown = 1;\r\n\r\n if (fitToWidth) {\r\n if (\r\n finalCanvasWidth < maxWidthForContainer ||\r\n finalCanvasWidth > maxWidthForContainer\r\n ) {\r\n xScalerDown = maxWidthForContainer / finalCanvasWidth;\r\n }\r\n\r\n finalCanvasWidth *= xScalerDown;\r\n finalCanvasHeight *= xScalerDown;\r\n } else {\r\n if (finalCanvasHeight >= finalCanvasWidth) {\r\n // ensure that the resulting flyer has at least the maximum height\r\n if (\r\n finalCanvasHeight > maxHeightForContainer ||\r\n finalCanvasHeight < maxHeightForContainer\r\n ) {\r\n yScalerDown = maxHeightForContainer / finalCanvasHeight;\r\n }\r\n\r\n finalCanvasWidth *= yScalerDown;\r\n finalCanvasHeight *= yScalerDown;\r\n } else if (finalCanvasWidth > finalCanvasHeight) {\r\n if (\r\n finalCanvasWidth < maxWidthForContainer ||\r\n finalCanvasWidth > maxWidthForContainer\r\n ) {\r\n xScalerDown = maxWidthForContainer / finalCanvasWidth;\r\n }\r\n\r\n finalCanvasWidth *= xScalerDown;\r\n finalCanvasHeight *= xScalerDown;\r\n if (finalCanvasHeight > realFlyerHeight) {\r\n yScalerDown = maxHeightForContainer / realFlyerHeight;\r\n finalCanvasWidth = realFlyerWidth * yScalerDown;\r\n finalCanvasHeight = realFlyerHeight * yScalerDown;\r\n }\r\n }\r\n }\r\n\r\n if (fitToWidth && finalCanvasHeight >= maxHeightForContainer) {\r\n finalCanvasTop = 0.5;\r\n finalCanvasTranslateY = 0;\r\n }\r\n\r\n // we need to update the following global dimensions\r\n // otherwise calculation will be wrong in other places in code\r\n FLYER_CANVAS_WIDTH = finalCanvasWidth;\r\n FLYER_CANVAS_HEIGHT = finalCanvasHeight;\r\n\r\n let dimensions: DimensionsDto = {\r\n width: finalCanvasWidth,\r\n height: finalCanvasHeight,\r\n top: finalCanvasTop,\r\n translateY: finalCanvasTranslateY\r\n };\r\n\r\n return dimensions;\r\n};\r\n\r\nexport const updateCanvasSize = (\r\n spots: Spots,\r\n realFlyerWidth: number,\r\n realFlyerHeight: number,\r\n fitToWidth: boolean,\r\n canvasId: string = \"cavansTest\"\r\n) => {\r\n const {containerWidth, containerHeight} = getCanvasWrapperSize();\r\n let canvasDimensions = getCanvasSize(realFlyerWidth, realFlyerHeight, fitToWidth, containerWidth, containerHeight);\r\n\r\n spots.setDimensions(canvasDimensions.width, canvasDimensions.height);\r\n\r\n let canvas = document.getElementById(canvasId)!;\r\n canvas.setAttribute(\"width\", `${canvasDimensions.width}`);\r\n canvas.setAttribute(\"height\", `${canvasDimensions.height}`);\r\n\r\n let widthStr = `${canvasDimensions.width}px`;\r\n let heightStr = `${canvasDimensions.height}px`;\r\n let topStr = `${canvasDimensions.top === 0 ? \"0\" : `${canvasDimensions.top}%`}`;\r\n let transformStr = `translateY(${canvasDimensions.translateY === 0 ? \"0\" : `${canvasDimensions.translateY}%`})`;\r\n\r\n // $('.flyer_page_container').css('width', widthStr)\r\n // $('.flyer_page_container').css('height', heightStr)\r\n //\r\n // $('.flyer_page_container > img').css('width', widthStr)\r\n // $('.flyer_page_container > img').css('height', heightStr)\r\n //\r\n // $('.flyer_page_container > .canvas_container').css('width', widthStr)\r\n // $('.flyer_page_container > .canvas_container').css('height', heightStr)\r\n //\r\n // $('.flyer_page_container > .flyer_page_container_loader').css('width', widthStr)\r\n // $('.flyer_page_container > .flyer_page_container_loader').css('height', heightStr);\r\n\r\n document.documentElement.style.setProperty(\"--canvas-width\", widthStr);\r\n document.documentElement.style.setProperty(\"--canvas-height\", heightStr);\r\n document.documentElement.style.setProperty(\"--canvas-top\", topStr);\r\n document.documentElement.style.setProperty(\"--canvas-transform\", transformStr);\r\n};\r\n\r\n// Represent FLT_CODE in the FlyerType table\r\nexport const FLIPPING_FLYER_TYPE: FlyerType = {\r\n fltRecId: 3,\r\n // fltCode: \"Flipping\",\r\n fltCaption: \"Flipping Flyer\",\r\n};\r\nexport const SMART_FLYER_TYPE: FlyerType = {\r\n fltRecId: 4,\r\n // fltCode: \"Smart\",\r\n fltCaption: \"Smart Flyer\",\r\n};\r\nexport const SHOPPING_FLYER_TYPE: FlyerType = {\r\n fltRecId: 5,\r\n // fltCode: \"Shopping\",\r\n fltCaption: \"Shopping Flyer\",\r\n};\r\n\r\nexport const FLYER_TYPES: FlyerType[] = [\r\n FLIPPING_FLYER_TYPE,\r\n SMART_FLYER_TYPE,\r\n SHOPPING_FLYER_TYPE,\r\n];\r\nexport const getFlyerTypeByCaption = (caption: string): FlyerType | null => {\r\n var toReturn: FlyerType | null = null;\r\n\r\n FLYER_TYPES.forEach((flyerType: FlyerType) => {\r\n if (flyerType.fltCaption === caption) {\r\n toReturn = {...flyerType};\r\n return;\r\n }\r\n });\r\n\r\n return toReturn;\r\n};\r\n\r\nexport const LANGUAGE_HEBREW: LanguageCulture = {\r\n lacRecId: 2,\r\n lacGuid: \"737A9BB1-D196-EB11-9CCF-00155DAA8404\",\r\n lacCode: \"he-IL\",\r\n lacCaption: \"Hebrew\",\r\n lacDir: \"RTL\",\r\n lacCurrencySymbol: \"₪\",\r\n};\r\n\r\nexport const LANGUAGE_ENGLISH: LanguageCulture = {\r\n lacRecId: 1,\r\n lacGuid: \"4ACFECAA-D196-EB11-9CCF-00155DAA8404\",\r\n lacCode: \"en-US\",\r\n lacCaption: \"English (US)\",\r\n lacDir: \"LTR\",\r\n lacCurrencySymbol: \"$\",\r\n};\r\n\r\nexport const CURRENCY_VALUES: CurrencyValues[] = [\r\n {\r\n value: \"₪\",\r\n label: \"NIS\",\r\n },\r\n {\r\n value: \"$\",\r\n label: \"$\",\r\n },\r\n];\r\n\r\nexport const LANGUAGES: LanguageCulture[] = [LANGUAGE_HEBREW, LANGUAGE_ENGLISH];\r\nexport const getLanguageCultureByCaption = (\r\n caption: string\r\n): LanguageCulture | null => {\r\n var langToReturn: LanguageCulture | null = null;\r\n\r\n LANGUAGES.forEach((lang: LanguageCulture) => {\r\n if (lang.lacCaption === caption) {\r\n langToReturn = {...lang};\r\n return;\r\n }\r\n });\r\n\r\n return langToReturn;\r\n};\r\n\r\nexport const FONT_NAME_ARIAL = \"Arial\";\r\nexport const FONT_NAME_ROBOTO = \"Roboto\";\r\nexport const FONT_NAME_MONTSERRAT = \"Montserrat\";\r\nexport const FONT_NAME_LATO = \"Lato\";\r\nexport const FONT_NAME_POPPINS = \"Poppins\";\r\nexport const FONT_NAME_RALEWAY = \"Raleway\";\r\nexport const FONT_NAME_OPENSANS = \"OpenSans\";\r\nexport const FONT_NAME_OPENSANS_HEB = \"OpenSansHeb\";\r\nexport const FONT_NAME_ALMONI_TZAR = \"AlmoniTzar\";\r\n\r\nexport const FONTS: string[] = [\r\n FONT_NAME_ARIAL,\r\n FONT_NAME_ROBOTO,\r\n FONT_NAME_MONTSERRAT,\r\n FONT_NAME_LATO,\r\n FONT_NAME_POPPINS,\r\n FONT_NAME_RALEWAY,\r\n];\r\n\r\nexport const FONTS_ARRAY_FOR_SELECT: FontSelectObjDto[] = [\r\n {value: FONT_NAME_ARIAL, label: FONT_NAME_ARIAL},\r\n {value: FONT_NAME_ROBOTO, label: FONT_NAME_ROBOTO},\r\n {value: FONT_NAME_MONTSERRAT, label: FONT_NAME_MONTSERRAT},\r\n {value: FONT_NAME_LATO, label: FONT_NAME_LATO},\r\n {value: FONT_NAME_POPPINS, label: FONT_NAME_POPPINS},\r\n {value: FONT_NAME_RALEWAY, label: FONT_NAME_RALEWAY},\r\n {value: FONT_NAME_OPENSANS, label: 'Open Sans'},\r\n {value: FONT_NAME_ALMONI_TZAR, label: 'Almoni Tzar (Hebrew)'},\r\n {value: FONT_NAME_OPENSANS_HEB, label: 'Open Sans (Hebrew)'}\r\n];\r\n\r\n\r\nexport const getFontByName = (name: string): string | null => {\r\n var toReturn: string | null = null;\r\n\r\n FONTS.forEach((fontName: string) => {\r\n if (fontName === name) {\r\n toReturn = fontName;\r\n return;\r\n }\r\n });\r\n\r\n return toReturn;\r\n};\r\n\r\nexport const FONT_SIZE_1 = 10;\r\nexport const FONT_SIZE_2 = 12;\r\nexport const FONT_SIZE_3 = 14;\r\nexport const FONT_SIZE_4 = 16;\r\n\r\nexport const FONT_SIZES: number[] = [\r\n FONT_SIZE_1,\r\n FONT_SIZE_2,\r\n FONT_SIZE_3,\r\n FONT_SIZE_4,\r\n];\r\nexport const getFontSizeBySize = (size: number): string | null => {\r\n var toReturn: number | null = null;\r\n\r\n FONT_SIZES.forEach((fontSize: number) => {\r\n if (fontSize === size) {\r\n toReturn = fontSize;\r\n return;\r\n }\r\n });\r\n\r\n return toReturn;\r\n};\r\n\r\n// flyer status\r\nexport const FLYER_STATUS_IN_EDIT: FlyerStatus = {\r\n fstRecId: 1,\r\n fstGuid: \"D5C58717-D196-EB11-9CCF-00155DAA8404\",\r\n fstCode: 1,\r\n fstCaption: \"In Edit\",\r\n};\r\nexport const FLYER_STATUS_QA: FlyerStatus = {\r\n fstRecId: 3,\r\n fstGuid: \"C8F7BB22-D196-EB11-9CCF-00155DAA8404\",\r\n fstCode: 2,\r\n fstCaption: \"QA\",\r\n};\r\nexport const FLYER_STATUS_PUBLISHED: FlyerStatus = {\r\n fstRecId: 5,\r\n fstGuid: \"85F27A44-D196-EB11-9CCF-00155DAA8404\",\r\n fstCode: 3,\r\n fstCaption: \"Published\",\r\n};\r\n// export const FLYER_STATUS_INACTIVE: FlyerStatus = {\r\n// fstRecId: 6,\r\n// fstGuid: \"85F27A44-D196-EB11-9CCF-00155DAA8404\",\r\n// fstCode: 4,\r\n// fstCaption: \"Inactive\",\r\n// };\r\n\r\nexport const FLYER_STATUSES: FlyerStatus[] = [\r\n FLYER_STATUS_IN_EDIT,\r\n FLYER_STATUS_QA,\r\n FLYER_STATUS_PUBLISHED,\r\n // FLYER_STATUS_INACTIVE,\r\n];\r\nexport const getFlyerStatusByCaption = (\r\n caption: string\r\n): FlyerStatus | null => {\r\n var toReturn: FlyerStatus | null = null;\r\n\r\n FLYER_STATUSES.forEach((flyerStatys: FlyerStatus) => {\r\n if (flyerStatys.fstCaption === caption) {\r\n toReturn = {...toReturn};\r\n return;\r\n }\r\n });\r\n\r\n return toReturn;\r\n};\r\n\r\n// flyer pagination\r\nexport const FLYER_PAGINATION_SINGLE_HORIZONTAL: FlyerPagination = {\r\n value: \"4\",\r\n label: 'Horizontal Paging, Single Pages'\r\n};\r\nexport const FLYER_PAGINATION_DOUBLE_HORIZONTAL: FlyerPagination = {\r\n value: \"1\",\r\n label: 'Horizontal Paging, Double Pages'\r\n};\r\nexport const FLYER_PAGINATION_DOUBLE_VERTICAL: FlyerPagination = {\r\n value: \"2\",\r\n label: 'Vertical Paging, Double Pages'\r\n};\r\nexport const FLYER_PAGINATION_SINGLE_VERTICAL: FlyerPagination = {\r\n value: \"3\",\r\n label: 'Vertical Paging, Single Pages'\r\n};\r\nexport const FLYER_PAGINATION_VARIANTS: FlyerPagination[] = [\r\n FLYER_PAGINATION_SINGLE_HORIZONTAL,\r\n FLYER_PAGINATION_DOUBLE_HORIZONTAL,\r\n FLYER_PAGINATION_SINGLE_VERTICAL,\r\n FLYER_PAGINATION_DOUBLE_VERTICAL,\r\n];\r\n\r\n\r\nexport interface Dictionary {\r\n [Key: string]: T;\r\n}\r\n","import {\r\n Account, ConversionDto, DisclaimerDto, EmailsObjectDto,\r\n FlyerPageDto,\r\n FlyerStatus, FlyerTocDto,\r\n FlyerType,\r\n GuiSettingsDto,\r\n LanguageCulture,\r\n PromoDto,\r\n PromoItemsDto, UITextDto, URLSDto,\r\n} from \"../../dtos\";\r\nimport * as Globals from \"../../globals/index\";\r\n\r\nimport {Action} from \"../actions/flyerDetailsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nexport interface FlyerDetailsState {\r\n flyCode: string;\r\n flyCaption: string;\r\n flyDisplayCaption: string;\r\n flyDesc: string;\r\n flyValidFromUtc: any;\r\n flyValidToUtc: any;\r\n flyCreatedUtc: any;\r\n flyModifiedUtc: any;\r\n flyRecId: number;\r\n flyLacRecId: number;\r\n flyLacRec: LanguageCulture;\r\n\r\n flyFltRecId: number;\r\n flyFltRec: FlyerType;\r\n flyerPages: FlyerPageDto[];\r\n // flyConversionEmail: string;\r\n flyFstRec: FlyerStatus;\r\n flyFstRecId: number;\r\n flyAccRec?: Account;\r\n flyGusRec?: GuiSettingsDto;\r\n flyAcuRecId?: number;\r\n noPages?: number;\r\n flygusRecId?: number;\r\n flyerPromos?: PromoDto[];\r\n flyerPromoItems?: PromoItemsDto[];\r\n // flyConversionType: number;\r\n flyDisclaimer: string;\r\n qualificationLevel: number;\r\n // flyerSetting?: null | CheckoutSettingDto;\r\n type?: string;\r\n conversion?: null | ConversionDto;\r\n disclaimers?: null | DisclaimerDto;\r\n uiTexts?: null | UITextDto;\r\n urls?: null | URLSDto;\r\n flyPageLayoutPc: number;\r\n toc: FlyerTocDto[] | [];\r\n flyFlyerClassId?: number | null;\r\n contactDetails?: EmailsObjectDto\r\n}\r\n\r\nexport class FlyerDetailsInitialState implements FlyerDetailsState {\r\n flyCode = \"\";\r\n flyCaption = \"\";\r\n flyDisplayCaption = \"\";\r\n flyDesc = \"\";\r\n flyValidFromUtc = undefined;\r\n flyValidToUtc = undefined;\r\n flyCreatedUtc = undefined;\r\n flyModifiedUtc = undefined;\r\n\r\n flyLacRecId = 0;\r\n flyLacRec = Globals.LANGUAGE_ENGLISH;\r\n flyRecId = 0;\r\n flyFltRecId = 0;\r\n flyFltRec = Globals.FLIPPING_FLYER_TYPE;\r\n flyerPages = [];\r\n // flyConversionEmail = \"\";\r\n flyFstRec = {\r\n fstRecId: 0,\r\n fstGuid: \"\",\r\n fstCode: 0,\r\n fstCaption: \"\",\r\n };\r\n flyFstRecId = 0;\r\n flyAcuRecId = 0;\r\n noPages = 2;\r\n // flyConversionType = 0;\r\n flyDisclaimer = '';\r\n qualificationLevel = 0;\r\n flyPageLayoutPc = 1;\r\n toc = []\r\n}\r\n\r\n// export class FlyerDetailsInitialState implements FlyerDetailsState {\r\n// code: string = \"1\";\r\n// caption: string = \"2\";\r\n// displayCaption: string = \"3\";\r\n// flyDescription: string = \"4\";\r\n// language: string = Globals.LANGUAGE_HEBREW;\r\n// startDate: Date | null = null;\r\n// endDate: Date | null = null;\r\n// FlyCreatedUtc: Date | null = null;\r\n// modifiedDate: Date | null = null;\r\n// flyerType: string = Globals.SMART_FLYER_TYPE;\r\n// }\r\n\r\nconst initialState = new FlyerDetailsInitialState();\r\n\r\nconst reducer = (state: FlyerDetailsState = initialState, action: Action) => {\r\n switch (action.type) {\r\n case ActionType.RESET_FLYER_STATE:\r\n return {...initialState};\r\n\r\n case ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT:\r\n return {\r\n ...state,\r\n ...action.payload,\r\n };\r\n\r\n case ActionType.FLYER_DETAILS_SET_IMAGE_TO_TARGET_PAGE:\r\n const pageExistInCurrentFlyerStateForUpdate = state.flyerPages.some((page: FlyerPageDto) => {\r\n return page.flpRecId === action.payload.pageId\r\n });\r\n if(pageExistInCurrentFlyerStateForUpdate){\r\n return {\r\n ...state,\r\n flyerPages: state.flyerPages.map((page: FlyerPageDto) => {\r\n if(page.flpRecId === action.payload.pageId){\r\n page.flpImageUrl = action.payload.imageUrl;\r\n page.flyImageThumbnailUrl = action.payload.imageThumbnailUrl\r\n }\r\n return page;\r\n })\r\n };\r\n } else {\r\n return state\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","\r\nimport { Action } from \"../actions/changeFlyerDetailsActions\";\r\nimport { ActionType } from \"../actionTypes\";\r\n\r\nexport interface FlyerDetailsState {\r\n isChangedFlyerData: boolean;\r\n}\r\n\r\nexport class FlyerDetailsInitialState implements FlyerDetailsState {\r\n isChangedFlyerData = false;\r\n}\r\n\r\n\r\nconst initialState = new FlyerDetailsInitialState();\r\n\r\nconst reducer = (state: FlyerDetailsState = initialState, action: Action) => {\r\n switch (action.type) {\r\n case ActionType.FLYER_DETAILS_ANY_DATA_WAS_CHANGED:\r\n return { ...state, isChangedFlyerData : action.payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import {\r\n FLIPPING_FLYER_TYPE,\r\n LANGUAGE_HEBREW,\r\n FLYER_STATUS_IN_EDIT, LANGUAGE_ENGLISH,\r\n} from \"../globals\";\r\n\r\nimport * as Globals from \"../globals\";\r\nimport {ReactComponentElement} from \"react\";\r\nimport * as React from \"react\";\r\n\r\nexport interface RegisterDto {\r\n firstName?: string;\r\n lastName?: string;\r\n fullName?: string;\r\n phoneNumber?: string;\r\n company: string;\r\n emailAddress: string;\r\n // userName: string;\r\n password: string;\r\n accountTier: number;\r\n}\r\n\r\nexport interface ResetPasswordDto {\r\n userId: number;\r\n token: string;\r\n password: string;\r\n}\r\n\r\nexport interface LoginDto {\r\n emailAddress: string;\r\n password: string;\r\n}\r\n\r\nexport interface ForgotPasswordDto {\r\n emailAddress: string;\r\n}\r\n\r\nexport interface UserDto {\r\n userId: number;\r\n token: string;\r\n accountTier?: number;\r\n firstName?: string;\r\n lastName?: string;\r\n company?: string;\r\n emailAddress?: string;\r\n role?: number;\r\n // userName?: string;\r\n}\r\n\r\nexport interface FileDto {\r\n label: string | null;\r\n file: File | null;\r\n}\r\n\r\nexport class FlyersDto {\r\n archivedFlyersCount?: number;\r\n softDeletedFlyersCount?: number;\r\n flyers?: FlyerDto[];\r\n flyerTypes?: FlyerTypeDto[];\r\n languageCultures?: FlyerLanguageDto[];\r\n accountSetting?: AccountSettingDto;\r\n languageId?: number;\r\n analyticsDashboardUrl?: string;\r\n}\r\n\r\nexport class FlyerDto {\r\n flyRecId?: number;\r\n flyAccRecId?: number;\r\n flyAcuRecId?: number;\r\n flyFlsRecId?: number;\r\n flygusRecId?: number;\r\n flyLacRecId?: number;\r\n flyFltRecId?: number;\r\n flyCode?: string;\r\n flyGuid?: string;\r\n flyCaption?: string;\r\n flyValidFromUtc?: Date;\r\n flyValidToUtc?: Date;\r\n flyDisplayCaption?: string;\r\n flyDesc?: string;\r\n flyCreatedUtc?: Date;\r\n flyModifiedUtc?: Date;\r\n // flyConversionEmail?: string;\r\n\r\n flyImage?: string;\r\n flyImageUrl?: string;\r\n\r\n flyAccRec?: Account = new Account();\r\n\r\n flyerPages?: FlyerPageDto[] = [];\r\n deletedFlyerPages?: FlyerPageDto[] = [];\r\n\r\n flyGusRec?: GuiSettingsDto = new GuiSettingsDto();\r\n\r\n flyLacRec?: LanguageCulture = LANGUAGE_HEBREW;\r\n flyFltRec?: FlyerType = FLIPPING_FLYER_TYPE;\r\n\r\n flyFstRecId?: number = FLYER_STATUS_IN_EDIT.fstRecId!;\r\n flyFstRec?: FlyerStatus = FLYER_STATUS_IN_EDIT;\r\n noPages?: number;\r\n\r\n flySpotExcelFileName?: string;\r\n flyPromoExcelFileName?: string;\r\n flyPromoItemExcelFileName?: string;\r\n flyerPromoItems?: any;\r\n flyerPromos?: any;\r\n index?: number;\r\n flyFlyerClassId?: number | null;\r\n contactDetails?: EmailsObjectDto\r\n // flyerSetting?: null | CheckoutSettingDto;\r\n\r\n // public virtual Account flyAccRec { get; set; }\r\n // public virtual AccountUser flyAcuRec { get; set; }\r\n // public virtual flyerStatus flyFlsRec { get; set; }\r\n // public virtual flyerType flyFltRec { get; set; }\r\n // public virtual GuiSetting flyGusRec { get; set; }\r\n // public virtual LanguageCulture flyLacRec { get; set; }\r\n // public virtual ICollection flyerPages { get; set; }\r\n}\r\n\r\nexport class Account {\r\n accRecId?: number;\r\n accXcAccRecId?: string;\r\n accGuid?: string;\r\n accCode?: string;\r\n accCaption?: string;\r\n accSettings?: string;\r\n accountSetting?: null | AccountSettingDto;\r\n}\r\n\r\nexport interface AccountSettingDto {\r\n conversion?: null | ConversionDto;\r\n id?: null | number;\r\n supportedFeatures?: null | SupportedFeatureDto;\r\n disclaimers?: null | DisclaimerDto;\r\n uiTexts?: null | UITextDto;\r\n accountId?: number;\r\n urls?: null | URLSDto;\r\n}\r\n\r\nexport interface SupportedFeatureDto {\r\n isStore: boolean;\r\n}\r\n\r\nexport interface URLSDto {\r\n accountHomePageUrl?: string | null\r\n}\r\n\r\n// export interface CheckoutSettingDto {\r\n// conversionUrl?: null | CheckoutUrlSettingDto;\r\n// id?: number;\r\n// supportedFeatures?: null | boolean;\r\n// disclaimer?: null | DisclaimerDto;\r\n// uiText?: null | UITextDto;\r\n// }\r\n\r\nexport interface CheckoutUrlSettingStateDto {\r\n conversionEmail?: string,\r\n conversionNotificationText?: string;\r\n conversionPhoneNo?: string;\r\n conversionPhoneMessage?: string;\r\n conversionType?: number | null;\r\n conversionUrlBase?: string;\r\n conversionUrlBaseApp?: string;\r\n itemListVarName?: string;\r\n itemListVarNameApp?: string;\r\n itemCodePrefix?: string;\r\n itemCodePrefixApp?: string;\r\n itemOptionalParamValue?: string;\r\n itemOptionalParamValueApp?: string;\r\n optionalVarName?: string;\r\n optionalVarValue?: string;\r\n optionalVars?: OptionalVarsDto[];\r\n optionalVarsApp?: OptionalVarsDto[];\r\n interItemSeparator?: string;\r\n interItemSeparatorApp?: string;\r\n intraItemSeparator?: string;\r\n intraItemSeparatorApp?: string;\r\n exampleItemCode1?: string;\r\n exampleItemQTY1?: string;\r\n exampleItemCode2?: string;\r\n exampleItemQTY2?: string;\r\n isShowAppSetting?: boolean;\r\n // applyTo?: string;\r\n}\r\n\r\nexport interface ConversionDto {\r\n conversionEmail?: null | string;\r\n conversionNotificationText?: null | string;\r\n conversionPhoneNo?: null | string;\r\n conversionPhoneMessage?: null | string;\r\n conversionType?: number | null;\r\n conversionUrlBase?: null | string;\r\n conversionUrlBaseApp?: null | string;\r\n interItemSeparator?: null | string;\r\n interItemSeparatorApp?: null | string;\r\n intraItemSeparator?: null | string;\r\n intraItemSeparatorApp?: null | string;\r\n itemCodePrefix?: null | string;\r\n itemCodePrefixApp?: null | string;\r\n itemListVarName?: null | string;\r\n itemListVarNameApp?: null | string;\r\n itemOptionalParamValue?: null | string;\r\n itemOptionalParamValueApp?: null | string;\r\n optionalVars?: null | OptionalVarsDto[];\r\n optionalVarsApp?: null | OptionalVarsDto[];\r\n\r\n}\r\n\r\nexport interface OptionalVarsDto {\r\n name?: null | string;\r\n value?: null | string;\r\n}\r\n\r\nexport interface DisclaimerDto {\r\n isFlyerDisclaimer?: null | boolean;\r\n isListDisclaimer?: null | boolean;\r\n flyerDisclaimer?: null | string;\r\n isEnableShowFlyerDisclaimerOnce?: null | boolean;\r\n listDisclaimer?: null | string;\r\n}\r\n\r\nexport interface UITextDto {\r\n goToCheckout?: null | string;\r\n flyerDisclaimerPopupTitle?: null | string;\r\n isQuickTips?: null | boolean;\r\n quickTips?: null | string;\r\n}\r\n\r\n// export interface CheckoutUrlSettingDto {\r\n// conversionUrlBase?: null | string;\r\n// interItemSeparator?: null | string;\r\n// intraItemSeparator?: null | string;\r\n// itemCodePrefix?: null | string;\r\n// itemListVarName?: null | string;\r\n// itemOptionalParamValue?: null | string;\r\n// optionalVarName?: null | string;\r\n// optionalVarValue?: null | string;\r\n// }\r\n\r\n\r\nexport const flyerDtoInitialState: FlyerDto = {\r\n flyerPages: [],\r\n deletedFlyerPages: [],\r\n flyGusRec: {\r\n gusPrimaryColorRgb: \"#430C79\",\r\n gusFont: Globals.FONT_NAME_ARIAL,\r\n gusFontSizePt: Globals.FONT_SIZE_1,\r\n },\r\n flyLacRec: LANGUAGE_ENGLISH,\r\n flyFltRec: FLIPPING_FLYER_TYPE,\r\n\r\n flyFstRecId: FLYER_STATUS_IN_EDIT.fstRecId!,\r\n flyFstRec: FLYER_STATUS_IN_EDIT,\r\n\r\n // flyConversionEmail: \"\",\r\n};\r\n\r\nexport class FlyerPageDto {\r\n flpFlyRecId?: number;\r\n flpRecId?: number;\r\n flpflyRecId?: number;\r\n flpFptRecId?: number;\r\n flpGuid?: string;\r\n flpCaption?: string;\r\n flpDisplayCaption?: string;\r\n flpPageNo?: number;\r\n flpImage?: string;\r\n flpHeightPx?: number;\r\n flpWidthPx?: number;\r\n\r\n flpImageUrl?: string;\r\n flyImageThumbnailUrl?: string;\r\n\r\n // flpflyRec\r\n // flpFptRec\r\n // flyerPromos\r\n flyerPageSpots?: FlyerPageSpotDto[] = [];\r\n qualificationLevel?: number;\r\n tocEntry?: FlyerTocEntriesDto;\r\n file?: File;\r\n}\r\n\r\nexport class PagesDto {\r\n pages?: string[] = [];\r\n uiLanguageCultureCode?: string;\r\n}\r\n\r\nexport class InsertPageDto {\r\n pageNo?: number;\r\n uiLanguageCultureCode?: string;\r\n flyerRecID?: number;\r\n}\r\n\r\nexport class MovePagesDto {\r\n pageNo?: number;\r\n uiLanguageCultureCode?: string;\r\n flyerPages?: string[] = [];\r\n}\r\n\r\nexport class UploadImagesToPagesDto {\r\n FirstPageId?: number;\r\n Pages!: FlyerPageDto[];\r\n UiLanguageCultureCode?: string;\r\n Images: object[] = [];\r\n}\r\n\r\nexport interface SelectPageForTabsDto {\r\n pageNo: number;\r\n selectedTabNum?: number;\r\n}\r\n\r\nexport interface ImageDataForPage {\r\n pageId: number,\r\n imageUrl: string,\r\n imageThumbnailUrl: string\r\n}\r\n\r\nexport class GuiSettingsDto {\r\n gusRecId?: number;\r\n gusAccRecId?: number;\r\n gusGuid?: string;\r\n gusCode?: string;\r\n gusCaption?: string;\r\n gusLogo?: string;\r\n gusPrimaryColorRgb?: string;\r\n gusBackgroundImage?: string | null;\r\n gusBackgroundImageUrl?: string | null;\r\n gusBackgroundColorRgb?: string | null;\r\n gusSecondaryColorRgb?: string;\r\n gusFont?: string;\r\n gusFontSizePt?: number;\r\n\r\n // public virtual Account gusAccRec { get; set; }\r\n // public virtual ICollection flyers { get; set; }\r\n\r\n //\r\n gusLogoUrl?: string;\r\n isDeleteable?: boolean = false;\r\n gusIconContrast?: number = 1;\r\n\r\n logoFile?: FileDto | null;\r\n backgroundFile?: FileDto | null;\r\n}\r\n\r\nexport class LanguageCulture {\r\n lacRecId?: number;\r\n lacGuid?: string;\r\n lacCode?: string;\r\n lacCaption?: string;\r\n lacDir?: string;\r\n lacCurrencySymbol?: string;\r\n lacCurrencyAbbrv?: string;\r\n\r\n // public virtual ICollection Flyers { get; set; }\r\n // public virtual ICollection SellingUnitLanguages { get; set; }\r\n}\r\n\r\nexport class CurrencyValues {\r\n value?: string;\r\n label?: string;\r\n}\r\n\r\nexport class FlyerType {\r\n fltRecId?: number;\r\n fltGuid?: string;\r\n fltCode?: number;\r\n fltCaption?: string;\r\n\r\n // public virtual ICollection Flyers { get; set; }\r\n}\r\n\r\nexport class FlyerStatus {\r\n fstRecId?: number;\r\n fstGuid?: string;\r\n fstCode?: number;\r\n fstCaption?: string;\r\n}\r\n\r\nexport class FlyerPagination {\r\n value!: string;\r\n label!: string;\r\n}\r\n\r\nexport class FlyerStatusForSelect {\r\n value?: string;\r\n label?: string;\r\n status?: FlyerStatus;\r\n}\r\n\r\nexport interface ErrorDto {\r\n data?: any;\r\n elapsedTimeSecs?: number;\r\n finishTimestampUtc?: string;\r\n messageID?: number;\r\n recommendedAction?: string;\r\n severityLevel?: string;\r\n startTimestampUtc?: string;\r\n technicalMessage?: string;\r\n title?: string;\r\n userFriendlyMessage?: string;\r\n id?: number;\r\n signature?: string;\r\n siagnostics?: DataItem[];\r\n languageCultureMessageResponseDto?: LanguageCultureMessageResponseDto;\r\n diagnostics?: DiagnosticItem[];\r\n}\r\n\r\nexport interface SuccessDto {\r\n severityLevel: string;\r\n userFriendlyMessage: string;\r\n}\r\n\r\nexport class ErrorsDto {\r\n status?: number;\r\n message?: string = \"\";\r\n errors?: ErrorDto[] = [];\r\n}\r\n\r\nexport interface DataItem {\r\n id?: number;\r\n name?: string;\r\n value?: string;\r\n}\r\n\r\nexport interface LanguageCultureMessageResponseDto {\r\n title?: string;\r\n userFriendlyMessage?: string;\r\n recommendedAction?: string;\r\n}\r\n\r\nexport interface DiagnosticItem {\r\n key?: string;\r\n value?: string;\r\n}\r\n\r\n// export interface ErrorDto {\r\n// status?: number;\r\n// message?: string;\r\n// errors?: string[];\r\n// }\r\n\r\nexport class ErrorDtoFactory {\r\n public static createErrorDto(err: any): ErrorDto {\r\n let errorDto: ErrorDto;\r\n let status: number;\r\n let message: string;\r\n\r\n if (!err.response) {\r\n // client error\r\n\r\n message = err.message;\r\n\r\n errorDto = {\r\n languageCultureMessageResponseDto: {\r\n title: message,\r\n },\r\n };\r\n } else {\r\n status = err.response.status;\r\n if (status >= 400 && status < 500 ) {\r\n message = err.message;\r\n\r\n errorDto = {};\r\n\r\n if (err.response.data) {\r\n errorDto = {...err.response.data.data};\r\n return errorDto;\r\n }\r\n\r\n if (!errorDto.languageCultureMessageResponseDto) {\r\n errorDto.languageCultureMessageResponseDto = {\r\n title: message,\r\n };\r\n return errorDto;\r\n }\r\n } else {\r\n errorDto = {...err.response.data};\r\n }\r\n }\r\n\r\n return errorDto;\r\n }\r\n}\r\n\r\nexport class FlyerPageSpotDto {\r\n fpsRecId?: number;\r\n fpsFlpRecId?: number;\r\n fpsCode?: number;\r\n\r\n fpsGuid?: string;\r\n fpsPositionNo?: number;\r\n fpsCaption?: string;\r\n\r\n fpsDisplayCaption?: string;\r\n fpsX0px?: number;\r\n fpsY0px?: number;\r\n fpsHeightPx?: number;\r\n fpsWidthPx?: number;\r\n fpsRotationDeg?: number;\r\n\r\n //\r\n isForDeletion?: boolean = false;\r\n hasNumber?: boolean = false;\r\n flyerPromos?: PromoDto[];\r\n fpsImage?: string;\r\n fpsJumpToPageId?: null | number;\r\n fpsLandingPageUrl?: null | string;\r\n fpsFrameLink?: null | string;\r\n fpsFrameLinkApp?: null | string;\r\n fpsFrameType?: null | number;\r\n fpsIconXPct?: null | number;\r\n fpsIconYPct?: null | number;\r\n fpsTocEntry?: null | FrameTOCDto;\r\n fpsTooltip?: null | string;\r\n qualificationLevel?: null | number;\r\n isLastSelected?: boolean;\r\n}\r\n\r\nexport interface FrameTOCDto {\r\n accountId?: number | null;\r\n caption?: string | null;\r\n id?: number | null;\r\n level?: number | null;\r\n orderInParent?: number | null;\r\n parentTocEntryId?: number | null;\r\n}\r\n\r\nexport interface FramesQualificationResponseDto {\r\n frames: FlyerPageSpotDto[],\r\n warnings: string[] | null\r\n}\r\n\r\nexport interface FlyerFrameSettingDto {\r\n fpsJumpToPageId?: null | number;\r\n fpsLandingPageUrl?: null | string;\r\n fpsFrameLink?: null | string;\r\n fpsFrameType?: null | number;\r\n fpsIconXPct?: null | number;\r\n fpsIconYPct?: null | number;\r\n fpsTocEntry?: null | FrameTOCDto;\r\n fpsTooltip?: null | string;\r\n fpsFrameLinkApp?: null | string;\r\n qualificationLevel?: null | number;\r\n hasNumber?: boolean;\r\n\r\n [index: string]: any\r\n}\r\n\r\nexport interface PromoDto {\r\n flrBuyQty?: number;\r\n flrCaption?: string;\r\n flrCode?: string;\r\n flrDisplayCaption1?: string;\r\n flrDisplayCaption2?: string;\r\n flrDisplayCaption3?: string;\r\n flrFpsRecId?: number;\r\n flrGuid?: string;\r\n flrIsQualified?: boolean;\r\n flrRecId?: number;\r\n flrRegularPrice?: number;\r\n flrSalePrice?: number;\r\n flrSatRecId?: number;\r\n flrSeuRecId?: number; //selling unit\r\n flyerPromoItems?: PromoItemsDto[];\r\n qualificationLevel?: number;\r\n flrKeywords?: string;\r\n flrSatCode?: number;\r\n flrGetPctOff?: number | null;\r\n flrPctAt?: number | null;\r\n flrBuyAmount?: number | null;\r\n flrGetAmountOff?: number | null;\r\n flrValidToUtc?: any;\r\n flrValidFromUtc?: any;\r\n flrGetQty?: any;\r\n flrImage?: string;\r\n isLastSelected?: boolean;\r\n imageSelection?: number;\r\n}\r\n\r\nexport interface PromoItemsDto {\r\n fpiBackgroundAudio?: null | any;\r\n fpiBrand?: null | any;\r\n fpiBrandLogo?: null | any;\r\n fpiBuyQty?: null | any;\r\n fpiCaption?: string;\r\n fpiCode?: string;\r\n fpiDisplayCaption1?: string;\r\n fpiDisplayCaption2?: string;\r\n fpiDisplayCaption3?: string;\r\n fpiFlrRecId?: number;\r\n fpiFlyRecId?: null | any;\r\n fpiGetQty?: null | any;\r\n fpiGuid?: string;\r\n fpiImage?: string;\r\n fpiIsQualified?: boolean;\r\n fpiKeywords?: string;\r\n fpiLandingPageUrl?: null | any;\r\n fpiPreSaleBuyPrice?: null | any;\r\n fpiRecId?: number;\r\n fpiRegularPrice?: number | any;\r\n fpiSalePrice?: null | any;\r\n fpiSeuRecId?: null | any;\r\n fpiSku?: string;\r\n fpiVisualImpairmentAudio?: null | any;\r\n qualificationLevel?: number;\r\n index?: number;\r\n isLastSelected?: boolean;\r\n fpiDeptName?: string | null;\r\n fpiIsBenefit?: boolean;\r\n}\r\n\r\nexport class CreateSpotsRequestDto {\r\n userId?: number;\r\n uiLanguageCultureCode?: string;\r\n flyerPageId?: number;\r\n spots?: Array;\r\n\r\n public static parseForDB(\r\n dtos: FlyerPageSpotDto[],\r\n flyerPageId: number,\r\n flyerPage: FlyerPageDto,\r\n cultureCode: string = \"en-US\"\r\n ): CreateSpotsRequestDto {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n // let prevSpotX = 0;\r\n // let prevSpotY = 0;\r\n // let initialXArray: number[] = [];\r\n // let initialYArray: number[] = [];\r\n //\r\n\r\n let requestDto: CreateSpotsRequestDto = {\r\n userId: userDto.userId,\r\n uiLanguageCultureCode: cultureCode,\r\n flyerPageId: flyerPageId,\r\n spots: dtos.map((dto) => {\r\n let spotItemDto: CreateSpotItemRequestDto = {\r\n caption: dto.fpsCaption,\r\n positionNo: dto.fpsPositionNo,\r\n displayCaption: dto.fpsCaption,\r\n widthPX: dto.fpsWidthPx,\r\n heightPX: dto.fpsHeightPx,\r\n x0PX: dto.fpsX0px,\r\n y0PX: dto.fpsY0px,\r\n rotationDeg: dto.fpsRotationDeg,\r\n iconXPct: dto.fpsIconXPct,\r\n iconYPct: dto.fpsIconYPct,\r\n frameType: dto.fpsFrameType,\r\n frameLink: dto.fpsFrameLink,\r\n frameLinkApp: dto.fpsFrameLinkApp,\r\n jumpToPageId: dto.fpsJumpToPageId,\r\n landingPageUrl: dto.fpsLandingPageUrl,\r\n tocTitle: dto.fpsTocEntry?.caption ? dto.fpsTocEntry.caption : null,\r\n tooltip: dto.fpsTooltip\r\n };\r\n\r\n let scaleX = flyerPage.flpWidthPx! / Globals.FLYER_CANVAS_WIDTH;\r\n let scaleY = flyerPage.flpHeightPx! / Globals.FLYER_CANVAS_HEIGHT;\r\n\r\n const x1 = Math.floor((dto.fpsX0px! + dto.fpsWidthPx!) * scaleX);\r\n const y1 = Math.floor((dto.fpsY0px! + dto.fpsHeightPx!) * scaleY);\r\n spotItemDto.x0PX! = Math.round(dto.fpsX0px! * scaleX);\r\n spotItemDto.y0PX! = Math.round(dto.fpsY0px! * scaleY);\r\n spotItemDto.widthPX = x1 - spotItemDto.x0PX!;\r\n spotItemDto.heightPX = y1 - spotItemDto.y0PX!;\r\n\r\n console.log(`\r\n create spot:\r\n x: ${spotItemDto.x0PX!}\r\n y: ${spotItemDto.y0PX!}\r\n width: ${spotItemDto.widthPX}\r\n height: ${spotItemDto.heightPX}`);\r\n\r\n // spotItemDto.x0PX! *= scaleX;\r\n // spotItemDto.y0PX! *= scaleY;\r\n // spotItemDto.widthPX! *= scaleX;\r\n // spotItemDto.heightPX! *= scaleY;\r\n //\r\n // spotItemDto.widthPX = Math.floor(spotItemDto.widthPX!);\r\n // spotItemDto.heightPX = Math.floor(spotItemDto.heightPX!);\r\n // spotItemDto.x0PX = Math.floor(spotItemDto.x0PX!);\r\n // spotItemDto.y0PX = Math.floor(spotItemDto.y0PX!);\r\n // console.log(`x1: ${spotItemDto.x0PX!}\r\n // y1: ${spotItemDto.y0PX!}\r\n // width1: ${spotItemDto.widthPX}\r\n // height1: ${spotItemDto.heightPX}`);\r\n\r\n\r\n return spotItemDto;\r\n }),\r\n };\r\n\r\n return requestDto;\r\n }\r\n}\r\n\r\nexport class CreateSpotItemRequestDto {\r\n positionNo?: number;\r\n caption?: string;\r\n displayCaption?: string;\r\n x0PX?: number;\r\n y0PX?: number;\r\n heightPX?: number;\r\n widthPX?: number;\r\n rotationDeg?: number;\r\n jumpToPageId?: null | number;\r\n landingPageUrl?: null | string;\r\n frameLink?: null | string;\r\n frameLinkApp?: null | string;\r\n frameType?: null | number;\r\n iconXPct?: null | number;\r\n iconYPct?: null | number;\r\n tocTitle?: null | string;\r\n tooltip?: null | string;\r\n}\r\n\r\nexport class UpdateSpotsRequestDto {\r\n userId?: number;\r\n uiLanguageCultureCode?: string;\r\n flyerPageId?: number;\r\n spots?: Array;\r\n\r\n public static parseForDB(\r\n dtos: FlyerPageSpotDto[],\r\n flyerPageDto: FlyerPageDto,\r\n cultureCode: string = \"en-US\"\r\n ): UpdateSpotsRequestDto {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n\r\n // let prevSpotX = 0;\r\n // let prevSpotY = 0;\r\n // let initialXArray: number[] = [];\r\n // let initialYArray: number[] = [];\r\n //\r\n let requestDto: UpdateSpotsRequestDto = {\r\n userId: userDto.userId,\r\n uiLanguageCultureCode: cultureCode,\r\n flyerPageId: flyerPageDto.flpRecId,\r\n spots: dtos.map((dto) => {\r\n let spotItemDto: UpdateSpotItemDto = {\r\n spotId: dto.fpsRecId,\r\n caption: dto.fpsCaption,\r\n // for now code represent positiono\r\n code: dto.fpsPositionNo,\r\n positionNo: dto.fpsPositionNo,\r\n displayCaption: dto.fpsCaption,\r\n widthPX: dto.fpsWidthPx,\r\n heightPX: dto.fpsHeightPx,\r\n x0PX: dto.fpsX0px,\r\n y0PX: dto.fpsY0px,\r\n iconXPct: dto.fpsIconXPct,\r\n iconYPct: dto.fpsIconYPct,\r\n frameType: dto.fpsFrameType,\r\n frameLink: dto.fpsFrameLink,\r\n frameLinkApp: dto.fpsFrameLinkApp,\r\n jumpToPageId: dto.fpsJumpToPageId,\r\n landingPageUrl: dto.fpsLandingPageUrl,\r\n tocTitle: dto.fpsTocEntry?.caption ? dto.fpsTocEntry.caption : null,\r\n tooltip: dto.fpsTooltip,\r\n };\r\n\r\n //\r\n let scaleX = flyerPageDto.flpWidthPx! / Globals.FLYER_CANVAS_WIDTH;\r\n let scaleY = flyerPageDto.flpHeightPx! / Globals.FLYER_CANVAS_HEIGHT;\r\n\r\n const x1 = Math.floor((dto.fpsX0px! + dto.fpsWidthPx!) * scaleX);\r\n const y1 = Math.floor((dto.fpsY0px! + dto.fpsHeightPx!) * scaleY);\r\n spotItemDto.x0PX! = Math.round(dto.fpsX0px! * scaleX);\r\n spotItemDto.y0PX! = Math.round(dto.fpsY0px! * scaleY);\r\n spotItemDto.widthPX = x1 - spotItemDto.x0PX!;\r\n spotItemDto.heightPX = y1 - spotItemDto.y0PX!;\r\n\r\n console.log(`\r\n update spot:\r\n x: ${spotItemDto.x0PX!}\r\n y: ${spotItemDto.y0PX!}\r\n width: ${spotItemDto.widthPX}\r\n height: ${spotItemDto.heightPX}`);\r\n\r\n // spotItemDto.x0PX! *= scaleX;\r\n // spotItemDto.y0PX! *= scaleY;\r\n // spotItemDto.widthPX! *= scaleX;\r\n // spotItemDto.heightPX! *= scaleY;\r\n //\r\n // spotItemDto.x0PX = Math.floor(spotItemDto.x0PX!);\r\n // spotItemDto.y0PX = Math.floor(spotItemDto.y0PX!);\r\n // spotItemDto.widthPX = Math.round(spotItemDto.widthPX!);\r\n // spotItemDto.heightPX = Math.round(spotItemDto.heightPX!);\r\n // console.log(`x: ${spotItemDto.x0PX!}\r\n // y: ${spotItemDto.y0PX!}\r\n // width: ${spotItemDto.widthPX}\r\n // height: ${spotItemDto.heightPX}`);\r\n\r\n return spotItemDto;\r\n }),\r\n };\r\n\r\n return requestDto;\r\n }\r\n}\r\n\r\nexport class UpdateSpotItemDto {\r\n spotId?: number;\r\n // for now represent positionNo\r\n code?: number;\r\n positionNo?: number;\r\n caption?: string;\r\n displayCaption?: string;\r\n x0PX?: number;\r\n y0PX?: number;\r\n heightPX?: number;\r\n widthPX?: number;\r\n rotationDeg?: number;\r\n jumpToPageId?: null | number;\r\n landingPageUrl?: null | string;\r\n frameLink?: null | string;\r\n frameLinkApp?: null | string;\r\n frameType?: null | number;\r\n iconXPct?: null | number;\r\n iconYPct?: null | number;\r\n tocTitle?: null | string;\r\n tooltip?: null | string;\r\n}\r\n\r\nexport class DeleteSpotsRequestDto {\r\n userId?: number;\r\n uiLanguageCultureCode?: string;\r\n spots?: Array;\r\n\r\n public static parseForDB(\r\n dtos: FlyerPageSpotDto[],\r\n cultureCode: string = \"en-US\"\r\n ): DeleteSpotsRequestDto {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n let reuqestDto: DeleteSpotsRequestDto = {\r\n userId: userDto.userId,\r\n uiLanguageCultureCode: cultureCode,\r\n spots: dtos.map((dto) => {\r\n return dto.fpsRecId!;\r\n }),\r\n };\r\n\r\n return reuqestDto;\r\n }\r\n}\r\n\r\nexport interface FlyersStateForArchiveAndDeletedFlyersDto {\r\n archiveCount: number;\r\n softDeleteCount: number;\r\n flyersData: FlyerDto[];\r\n showLoader: boolean;\r\n activeFlyers: FlyerDto[];\r\n isOpenPagesTab?: boolean;\r\n url: string;\r\n isSoftDelete?: boolean;\r\n isModalPopup?: boolean;\r\n lastActivatedFlyer: FlyerDto\r\n}\r\n\r\nexport interface ItemInMenuDto {\r\n type: string;\r\n name: string;\r\n isDownload: boolean;\r\n filesFormat: string;\r\n isMultiply: boolean;\r\n code: string;\r\n text?: string;\r\n icon?: ReactComponentElement;\r\n tooltip?: string;\r\n}\r\n\r\nexport interface ItemsListMenuDto {\r\n setOpen: any;\r\n prevOpen: any;\r\n open: boolean;\r\n anchorRef: any;\r\n menuList?: ItemInMenuDto[];\r\n}\r\n\r\nexport interface StoreMenuDto {\r\n setOpen: any;\r\n prevOpen: any;\r\n open: boolean;\r\n anchorRef: any;\r\n menuList?: ItemInMenuDto[];\r\n}\r\n\r\nexport interface HorizontalTabsDto {\r\n name: string;\r\n}\r\n\r\nexport interface ScaleDto {\r\n scaleX: number;\r\n scaleY: number;\r\n}\r\n\r\nexport interface DimensionsDto {\r\n width: number;\r\n height: number;\r\n top: number;\r\n translateY: number;\r\n}\r\n\r\nexport interface SaleTypeDto {\r\n astAccRecId?: number;\r\n benefit?: any;\r\n displayCaption?: string;\r\n lacCode?: string;\r\n requisite?: any;\r\n satCaption?: string;\r\n satCode?: number;\r\n satRecID?: number;\r\n isAssignedToAccount?: boolean;\r\n astRecId?: number;\r\n}\r\n\r\nexport interface StoreShelfStylesDto {\r\n storeShelfStyles: StoreShelfStyleDto[]\r\n}\r\nexport interface StoreShelfStyleDto {\r\n accountId: null | number;\r\n caption: null | string;\r\n colorRgb: null | string;\r\n id: number;\r\n textureImage: null | string;\r\n textureImageUrl: null | string;\r\n}\r\n\r\nexport interface DefaultSaleTypeDto {\r\n saleTypeId: number,\r\n saleTypeData: DefaultSaleTypeDataDto;\r\n}\r\n\r\nexport interface DefaultSaleTypeDataDto {\r\n isChangeableRequisite: boolean,\r\n isChangeableBenefit: boolean,\r\n nameRequisite: string,\r\n nameBenefit: string,\r\n defaultRequisite: number,\r\n defaultBenefit: number,\r\n imageSrc: string\r\n}\r\n\r\nexport interface PopupSettings {\r\n typeStatus?: number;\r\n title?: string;\r\n subTitle?: string;\r\n messages?: string[];\r\n modalName?: string;\r\n}\r\n\r\n// export interface CheckoutUrlSettingDto {\r\n// conversionUrlBase?: null | string;\r\n// itemListVarName?: null | string;\r\n// itemCodePrefix?: null | string;\r\n// interItemSeparator?: null | string;\r\n// itemOptionalParamValue?: null | string;\r\n// intraItemSeparator?: null | string;\r\n// optionalVarName?: null | string;\r\n// optionalVarValue?: null | string;\r\n// }\r\n\r\nexport interface ExampleCodeAndQtyDto {\r\n code: string;\r\n qty: string;\r\n}\r\n\r\nexport interface FlyerTypeDto {\r\n caption: string;\r\n id: number;\r\n code: number | string;\r\n}\r\n\r\nexport interface FlyerLanguageDto {\r\n caption: string;\r\n captionNative: string;\r\n code: string;\r\n currencySymbol: string;\r\n currencyAbbrv: string;\r\n dir: string;\r\n id: number;\r\n}\r\n\r\n\r\nexport interface UpdateSaleTypesObjectDto {\r\n saleTypeId?: number;\r\n action?: number;\r\n}\r\n\r\nexport interface SellingUnitsDto {\r\n sellingUnits?: SellingUnitDto[];\r\n sellingUnitsForFlyer?: SellingUnitDto[];\r\n}\r\n\r\nexport interface SellingUnitDto {\r\n caption?: string;\r\n code?: string;\r\n id?: number;\r\n languageCaption?: string;\r\n languageId?: number;\r\n guiIncrement?: number,\r\n maxQty?: number,\r\n value?: string,\r\n label?: string\r\n disabled?: boolean;\r\n languageDisplayCaption?: string;\r\n languageAbbrv?: string;\r\n}\r\n\r\nexport interface AccountSettingWithLangDto {\r\n accountSetting?: AccountSettingDto;\r\n languageId?: number;\r\n loading?: boolean;\r\n error?: null | ErrorDto;\r\n type?: null | string;\r\n\r\n}\r\n\r\nexport interface AccountSettingWithLangRequestDto {\r\n languageId?: number;\r\n disclaimers?: DisclaimerDto,\r\n uiTexts?: UITextDto;\r\n urls?: null | URLSDto;\r\n}\r\n\r\nexport interface AsyncAnalyticsDataDto {\r\n analyticsData?: AnalyticsDataDto,\r\n loading?: boolean;\r\n error?: null | ErrorDto;\r\n type: null | string;\r\n loadingExcel?: null | boolean;\r\n}\r\n\r\nexport interface AnalyticsDataDto {\r\n todaysImpressions: null | number;\r\n todaysConversions: null | number;\r\n totalImpressions: null | number;\r\n totalConversions: null | number;\r\n}\r\n\r\nexport interface UploadProgressingImagesDto {\r\n isOpen?: boolean;\r\n current: number;\r\n failCount: number;\r\n processingFinished: boolean;\r\n successCount: number;\r\n total: number;\r\n titlePopup: string;\r\n notUploadedImages: NotUploadedImagesDto[] | null;\r\n severityLevel: string;\r\n isUploadingFilesToSystem: boolean;\r\n isUploadingFilesToSystemFinished: boolean\r\n}\r\n\r\nexport interface NotUploadedImagesDto {\r\n imageFileName: string;\r\n message: string;\r\n}\r\n\r\nexport interface FrameIconDataDto {\r\n iconXPercentageNumber: number | null,\r\n iconYPercentageNumber: number | null,\r\n type: number | null;\r\n}\r\n\r\nexport interface flipbookEditorUrlDto {\r\n flyerId: string;\r\n}\r\n\r\nexport interface IAuthParamsDto {\r\n projectName: string;\r\n screenName?: string;\r\n userId?: string;\r\n userEmail?: string;\r\n token?: string;\r\n}\r\n\r\nexport interface FlyerTocDto {\r\n pageRuns: PageRunsDto[] | []\r\n tocEntryDto: FlyerTocEntriesDto\r\n}\r\n\r\nexport interface PageRunsDto {\r\n endPageNo: number;\r\n startPageNo: number;\r\n}\r\n\r\nexport interface FlyerTocEntriesDto {\r\n caption: string;\r\n flyerId: number;\r\n id: number;\r\n orderInParent: number;\r\n}\r\n\r\nexport interface FlyerPagesTocEntriesDto {\r\n pageRange: PageRunsDto[] | [];\r\n caption: string;\r\n flyerId: number;\r\n id: number;\r\n orderInParent: number;\r\n}\r\n\r\n\r\nexport interface PopupDataDto {\r\n isOpen: boolean;\r\n pageTocCaption: string | null;\r\n pageRange: PageRunsDto[] | [];\r\n isNew: boolean;\r\n tocEntryId: number | null;\r\n}\r\n\r\nexport interface FlyerWithoutPageImagesDto {\r\n numberOfPages: string;\r\n pageWidth: string;\r\n pageHeight: string;\r\n}\r\n\r\nexport interface FlyerClassDto {\r\n id: string;\r\n accountId: number;\r\n caption: string;\r\n}\r\n\r\nexport interface FlyerPagesAfterWMDto {\r\n pageId: number;\r\n pageNo: number;\r\n qualification: number;\r\n}\r\n\r\nexport interface IconStyleDto {\r\n iconStyleType: number,\r\n value: string,\r\n label: string,\r\n iconStyleData: IconStyleDataDto\r\n\r\n}\r\n\r\nexport interface IconStyleDataDto {\r\n promoCompIcon: React.FunctionComponent>;\r\n pageCompIcon: React.FunctionComponent>;\r\n linkCompIcon: React.FunctionComponent>;\r\n videoCompIcon: React.FunctionComponent>;\r\n imgCompIcon: React.FunctionComponent>;\r\n img360CompIcon: React.FunctionComponent>;\r\n promoCompSrc: string;\r\n pageCompSrc: string;\r\n linkCompSrc: string;\r\n videoCompSrc: string;\r\n imgCompSrc: string;\r\n img360CompSrc: string;\r\n}\r\n\r\nexport interface AccountEmailsSettingsDto {\r\n emails?: EmailsObjectDto;\r\n loading?: boolean;\r\n error?: null | ErrorDto;\r\n type?: null | string;\r\n}\r\n\r\nexport interface AccountStoreSettingsDto {\r\n loading: boolean,\r\n type: string | null,\r\n error: null | ErrorDto,\r\n storeSettings: AccountStoreSettingDto[];\r\n}\r\n\r\nexport interface UsersAndPermissionsDataDto {\r\n loading: boolean,\r\n type: string | null,\r\n error: null | ErrorDto,\r\n usersAndPermissions: UserAndPermissionDto[];\r\n}\r\n\r\nexport interface UpdatePasswordDataDto {\r\n loading: boolean,\r\n type: string | null,\r\n error: null | ErrorDto,\r\n}\r\n\r\nexport interface AccountStoreSettingDto {\r\n id?: number | null,\r\n accountId?: number | null,\r\n languageCultureId?: number | null,\r\n caption?: string | null,\r\n logo?: string | null,\r\n primaryColorRgb?: string | null,\r\n secondaryColorRgb?: string | null,\r\n font?: string | null,\r\n fontSizePt?: number | null,\r\n iconContrast?: number | null,\r\n backgroundImage?: string | null,\r\n backgroundColorRgb?: string | null,\r\n logoUrl?: string | null,\r\n backgroundImageUrl?: string | null,\r\n isDefaultAccountStoreSetting?: boolean | null,\r\n storeShelfStyleId?: number | null,\r\n isDisplayPrices?: boolean;\r\n isDisplayPromos?: boolean;\r\n}\r\n\r\nexport interface UserAndPermissionDto {\r\n acuRecId?: number | null;\r\n acuAccRecId?: number | null;\r\n acuXcUsrRecId?: string | null;\r\n acuGuid?: string | null;\r\n acuFirstName?: string | null;\r\n acuLastName?: string | null;\r\n acuEmailAddress?: string | null;\r\n acuPasswordHash?: string | null;\r\n acuPasswordSalt?: string | null;\r\n acuCreatedUtc?: string | null;\r\n acuModifiedUtc?: string | null;\r\n acuIsValidated?: true | null;\r\n acuPassword?: string | null;\r\n acuRole?: number | null;\r\n}\r\n\r\nexport interface UserRoleDto {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nexport interface EmailsObjectDto {\r\n emailAddress1?: string;\r\n emailAddress2?: string;\r\n emailAddress3?: string;\r\n emailAddress4?: string;\r\n}\r\n\r\nexport interface DefaultSizesDto {\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport interface FontSelectObjDto {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nexport interface UpdatePasswordDto {\r\n currentPassword: string,\r\n newPassword: string\r\n}","\r\nimport { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/flippingFlyerActions';\r\nimport {ErrorDto, FileDto, FlyerDto, flyerDtoInitialState, SuccessDto} from \"../../dtos\";\r\n\r\n\r\nexport interface FlippingFlyerState {\r\n\r\n flyerDto?: FlyerDto;\r\n\r\n uploadLogo?: FileDto;\r\n hasUploadLogo?: boolean;\r\n\r\n pageSpotsFile?: FileDto;\r\n promotionDataFile?: FileDto;\r\n itemsDataFile?: FileDto;\r\n\r\n isFlyerHasBeenPublished?: boolean;\r\n hasFlyerPages?: boolean;\r\n\r\n loading: boolean;\r\n error?: ErrorDto | null;\r\n type: string | null;\r\n successInfo?: SuccessDto | null;\r\n}\r\n\r\nexport class FlippingFlyerInitialState implements FlippingFlyerState {\r\n\r\n flyerDto = { ...flyerDtoInitialState };\r\n\r\n uploadLogo = { label: '', file: null };\r\n hasUploadLogo = false;\r\n\r\n pageSpotsFile = { label: '', file: null };\r\n promotionDataFile = { label: '', file: null };\r\n itemsDataFile = { label: '', file: null };\r\n\r\n hasFlyerPages = false;\r\n\r\n loading = true;\r\n error = null;\r\n type = null;\r\n successInfo = null;\r\n}\r\n\r\nconst initialState = new FlippingFlyerInitialState();\r\n\r\nconst reducer = (state: FlippingFlyerState = initialState, action: Action): FlippingFlyerState => {\r\n\r\n switch (action.type) {\r\n\r\n //\r\n // case ActionType.RESET_FLYER_STATE:\r\n // return { ...initialState };\r\n\r\n //\r\n case ActionType.GET_FLIPPING_FLYER_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.GET_FLIPPING_FLYER_SUCCESS: {\r\n\r\n state.uploadLogo!.label = action.payload.flyerDto?.flyImage!;\r\n action.payload.flyerDto!.deletedFlyerPages = [];\r\n\r\n return { ...state, ...action.payload, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.CLEAR_DATA_FROM_FLYER: {\r\n return { ...initialState, type: action.type };\r\n }\r\n\r\n case ActionType.GET_FLIPPING_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.GET_FLIPPING_FLYER_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n //\r\n case ActionType.FLIPPING_FLYER_DATA_CHANGE_EVENT:\r\n return { ...state, ...action.payload, error: null, loading: false, type: action.type, successInfo: null }\r\n //\r\n case ActionType.POST_FLIPPING_FLYER_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLIPPING_FLYER_SUCCESS: {\r\n\r\n action.payload.flyerDto!.deletedFlyerPages = [];\r\n state.uploadLogo!.label = action.payload.flyerDto?.flyImage!;\r\n\r\n return { ...state, ...action.payload, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.POST_FLIPPING_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLIPPING_FLYER_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n\r\n // spots xls file\r\n case ActionType.POST_FLYER_SPOTS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_SPOTS_SUCCESS: {\r\n return { ...state, flyerDto: { ...action.payload.flyer }, error: null, loading: false, type: action.type, successInfo: {...action.payload.successInfo} };\r\n }\r\n\r\n case ActionType.POST_FLYER_SPOTS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_SPOTS_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // get frames xls file\r\n case ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_SUCCESS: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // promos xls file\r\n case ActionType.POST_FLYER_PROMOS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOS_SUCCESS: {\r\n return { ...state, flyerDto: { ...action.payload }, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.POST_FLYER_PROMOS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOS_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n // promos and items xls file\r\n case ActionType.POST_FLYER_PROMOS_AND_ITEMS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOS_AND_ITEMS_SUCCESS: {\r\n return { ...state, flyerDto: { ...action.payload.flyer }, error: null, loading: false, type: action.type, successInfo: {...action.payload.successInfo} };\r\n }\r\n\r\n case ActionType.POST_FLYER_PROMOS_AND_ITEMS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOS_AND_ITEMS_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n // empty excel for promos and items xls file\r\n case ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null};\r\n case ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n case ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n // empty excel for promos and items xls file\r\n case ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n case ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n case ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n // images for promos items xls file\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS: {\r\n return { ...state, flyerDto: { ...action.payload }, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // images for promos files\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_SUCCESS: {\r\n return { ...state, error: null, loading: false, type: action.type, successInfo: {...action.payload.successInfo} };\r\n }\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n case ActionType.POST_IMAGES_FOR_PROMOTIONS_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // images for items files\r\n case ActionType.POST_IMAGES_FOR_ITEMS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_IMAGES_FOR_ITEMS_SUCCESS: {\r\n return { ...state, error: null, loading: false, type: action.type, successInfo: {...action.payload.successInfo} };\r\n }\r\n case ActionType.POST_IMAGES_FOR_ITEMS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_IMAGES_FOR_ITEMS_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // promo items xls file\r\n case ActionType.POST_FLYER_PROMOITEMS_START:\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOITEMS_SUCCESS: {\r\n return { ...state, flyerDto: { ...action.payload }, error: null, loading: false, type: action.type };\r\n }\r\n\r\n case ActionType.POST_FLYER_PROMOITEMS_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n\r\n case ActionType.POST_FLYER_PROMOITEMS_COMPLETED:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n // the default switch case must be included as followed:\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n\r\nexport default reducer;","import { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/smartFlyerActions';\r\nimport { FileDto, FlyerDto, ErrorDto, flyerDtoInitialState } from \"../../dtos\";\r\n\r\n\r\nexport class SmartFlyerState {\r\n\r\n flyerDto?: FlyerDto;\r\n\r\n uploadLogo?: FileDto;\r\n hasUploadLogo?: boolean;\r\n\r\n isFlyerHasBeenSaved?: boolean;\r\n isFlyerHasBeenPublished?: boolean;\r\n isFlyerHasBeenViewed?: boolean;\r\n isFlyerDownloadedAsZipFile?: boolean;\r\n hasFlyerPages?: boolean;\r\n\r\n loading?: boolean;\r\n error?: ErrorDto | null;\r\n\r\n //\r\n pageGridDataXLS?: FileDto;\r\n hasPageGridDataXLS?: boolean;\r\n\r\n promotionListDataXLS?: FileDto;\r\n hasPromotionListDataXLS?: boolean;\r\n}\r\n\r\nclass SmartFlyerInitialState extends SmartFlyerState {\r\n \r\n flyerDto = { ...flyerDtoInitialState };\r\n\r\n uploadLogo = { label: '', file: null };\r\n hasUploadLogo = false;\r\n \r\n isFlyerHasBeenSaved = false;\r\n isFlyerHasBeenPublished = false;\r\n isFlyerHasBeenViewed = false;\r\n hasFlyerPages = false;\r\n\r\n loading = false;\r\n error = null;\r\n\r\n //\r\n pageGridDataXLS = { label: '', file: null };\r\n hasPageGridDataXLS = false;\r\n\r\n promotionListDataXLS = { label: '', file: null };\r\n hasPromotionListDataXLS = false;\r\n}\r\n\r\nconst initialState = new SmartFlyerInitialState();\r\n\r\nconst reducer = (state: SmartFlyerState = initialState, action: Action) : SmartFlyerState => {\r\n \r\n switch(action.type){\r\n case ActionType.GET_SMART_FLYER_START:\r\n return { ...state, error: null, loading: true };\r\n\r\n case ActionType.GET_SMART_FLYER_SUCCESS:\r\n state.uploadLogo!.label = action.payload.flyerDto?.flyImage!;\r\n action.payload.flyerDto!.deletedFlyerPages = []; \r\n\r\n return { ...state, error: null, loading: false, ...action.payload };\r\n\r\n case ActionType.GET_SMART_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false };\r\n\r\n case ActionType.GET_SMART_FLYER_COMPLETED:\r\n return { ...state, error: null, loading: false };\r\n\r\n case ActionType.SMART_FLYER_DATA_CHANGE_EVENT:\r\n const newState = { ...state, ...action.payload, error: null, loading: false }\r\n return newState;\r\n\r\n // the default switch case must be included as followed:\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n\r\nexport default reducer;","\r\nimport { ErrorDto, FlyerDto, FlyerType, GuiSettingsDto, LanguageCulture } from '../../dtos';\r\nimport * as Globals from '../../globals/index';\r\n\r\nimport { Action } from '../actions/guiSettingsActions';\r\nimport { ActionType } from '../actionTypes';\r\n\r\nexport interface GuiSettingsState {\r\n guiSettings: GuiSettingsDto[];\r\n currentGuiSettingsDto: GuiSettingsDto;\r\n\r\n loading?: boolean;\r\n error?: ErrorDto | null;\r\n}\r\n\r\nexport class GuiSettingsInitialState implements GuiSettingsState {\r\n guiSettings = [];\r\n currentGuiSettingsDto = new GuiSettingsDto();\r\n\r\n loading = false;\r\n error = null;\r\n}\r\n\r\n\r\nconst initialState = new GuiSettingsInitialState();\r\n\r\nconst reducer = (state: GuiSettingsState = initialState, action: Action) : GuiSettingsState => {\r\n\r\n switch(action.type)\r\n {\r\n // get\r\n case ActionType.GET_GUI_SETTINGS_START:\r\n return { ...state, error: null, loading: true};\r\n\r\n case ActionType.GET_GUI_SETTINGS_SUCCESS:\r\n return { \r\n guiSettings: [ ...action.payload ], \r\n currentGuiSettingsDto: new GuiSettingsDto(),\r\n error: null, \r\n loading: false \r\n };\r\n\r\n case ActionType.GET_GUI_SETTINGS_ERROR:\r\n return { ...state, error: action.payload, loading: false};\r\n\r\n case ActionType.GET_GUI_SETTINGS_COMPLETED:\r\n return { ...state, error: null, loading: false};\r\n\r\n\r\n // Save\r\n case ActionType.PUT_GUI_SETTINGS_START:\r\n return { ...state, error: null, loading: true};\r\n\r\n case ActionType.PUT_GUI_SETTINGS_SUCCESS:\r\n return { \r\n guiSettings: [ ...action.payload.guiSettingsDtos ], \r\n currentGuiSettingsDto: { ...action.payload.currentGuiSettingsDto },\r\n error: null, \r\n loading: false \r\n };\r\n\r\n case ActionType.PUT_GUI_SETTINGS_ERROR:\r\n return { ...state, error: action.payload, loading: false};\r\n\r\n case ActionType.PUT_GUI_SETTINGS_COMPLETED:\r\n return { ...state, error: null, loading: false};\r\n\r\n // Delete\r\n case ActionType.DELETE_GUI_SETTINGS_START:\r\n return { ...state, error: null, loading: true};\r\n\r\n case ActionType.DELETE_GUI_SETTINGS_SUCCESS:\r\n return { \r\n guiSettings: [ ...action.payload ],\r\n currentGuiSettingsDto: new GuiSettingsDto(),\r\n error: null, \r\n loading: false \r\n };\r\n\r\n case ActionType.DELETE_GUI_SETTINGS_ERROR:\r\n return { ...state, error: action.payload, loading: false};\r\n\r\n case ActionType.DELETE_GUI_SETTINGS_COMPLETED:\r\n return { ...state, error: null, loading: false};\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {Action} from '../actions/pagesActions';\r\nimport {ActionType} from '../actionTypes';\r\n\r\nexport interface ErrorPagesDto {\r\n data?: any;\r\n elapsedTimeSecs?: number;\r\n finishTimestampUtc?: string;\r\n messageID?: number;\r\n severityLevel?: string;\r\n signature?: string;\r\n recommendedAction?: string;\r\n startTimestampUtc?: string;\r\n technicalMessage?: string;\r\n title?: string;\r\n userFriendlyMessage?: string;\r\n}\r\n\r\nexport interface PagesState {\r\n data: any\r\n loading?: boolean;\r\n error?: ErrorPagesDto | any;\r\n type: string | null;\r\n}\r\n\r\nexport class PagesStateInitialState implements PagesState {\r\n data = null;\r\n loading = false;\r\n type = null;\r\n error = null;\r\n}\r\n\r\nconst initialState = new PagesStateInitialState();\r\n\r\nconst pagesReducer = (state: PagesState = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //delete a whole page\r\n case ActionType.DELETE_PAGE:\r\n return { ...state, loading: true, type: null };\r\n\r\n case ActionType.DELETE_PAGE_SUCCESS:\r\n return { ...state, data: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.DELETE_PAGE_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n //delete only image from page\r\n case ActionType.DELETE_PAGE_IMAGE:\r\n return { ...state, loading: true, type: null };\r\n\r\n case ActionType.DELETE_PAGE_IMAGE_SUCCESS:\r\n return { ...state, data: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.DELETE_PAGE_IMAGE_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.INSERT_PAGE:\r\n return { ...state, loading: true, type: null };\r\n\r\n case ActionType.INSERT_PAGE_SUCCESS:\r\n return { ...state, data: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.INSERT_PAGE_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.MOVE_PAGES_BEFORE:\r\n return { ...state, loading: true, type: null };\r\n\r\n case ActionType.MOVE_PAGES_BEFORE_SUCCESS:\r\n return { ...state, data: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.MOVE_PAGES_BEFORE_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.UPLOAD_IMAGES_TO_PAGES:\r\n return { ...state, loading: true, type: null };\r\n\r\n case ActionType.UPLOAD_IMAGES_TO_PAGES_SUCCESS:\r\n return { ...state, loading: false, type: action.type };\r\n // return { ...state, data: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.UPLOAD_IMAGES_TO_PAGES_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_START:\r\n return { ...initialState, loading: true, type: action.type };\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS:\r\n return { ...state, data: action.payload, error: null, loading: false, type: action.type };\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default pagesReducer;","import {Action} from \"../actions/pagesActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport {SelectPageForTabsDto} from \"../../dtos\";\r\n\r\n\r\nexport class SelectPageForTabsState implements SelectPageForTabsDto {\r\n pageNo = 0;\r\n selectedTabNum = 0;\r\n}\r\n\r\nconst initialState = new SelectPageForTabsState();\r\n\r\nconst selectPageForTabsReducer = (state: SelectPageForTabsState = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n case ActionType.SET_SELECTED_PAGE_FOR_TABS:\r\n return {\r\n pageNo: action.payload.pageNo,\r\n selectedTabNum: action.payload.selectedTabNum\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default selectPageForTabsReducer;","import {SaleTypeDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/saleTypeActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nexport interface SaleTypes {\r\n saleTypes: any;\r\n saleTypesForSpecificFlyer: any;\r\n sellingUnits: any;\r\n}\r\n\r\nexport class SaleTypesInitialState implements SaleTypes {\r\n saleTypes = [];\r\n saleTypesForSpecificFlyer = [];\r\n sellingUnits = [];\r\n}\r\n\r\nconst compare = (a: SaleTypeDto, b: SaleTypeDto) => {\r\n if (a.satCode! < b.satCode!) {\r\n return -1;\r\n }\r\n if (a.satCode! > b.satCode!) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nconst initialState = new SaleTypesInitialState();\r\n\r\nconst reducer = (state: SaleTypes = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.SET_SALE_TYPES_FOR_ALL_FLYERS:\r\n return { ...state, saleTypes: action.payload.sort(compare) };\r\n case ActionType.GET_SALE_TYPES_FOR_ALL_FLYERS:\r\n return { ...state.saleTypes };\r\n case ActionType.SET_SALE_TYPES_FOR_SPECIFIC_FLYER:\r\n return { ...state, saleTypesForSpecificFlyer: action.payload.sort(compare) };\r\n case ActionType.GET_SALE_TYPES_FOR_SPECIFIC_FLYER:\r\n return { ...state.saleTypesForSpecificFlyer };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;\r\n","\r\nimport { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/spotsActions';\r\nimport { ErrorDto, FlyerPageSpotDto } from \"../../dtos\";\r\n\r\n\r\nexport interface SpotsState {\r\n spots?: FlyerPageSpotDto[];\r\n warnings?: string[] | null;\r\n loading?: boolean;\r\n error?: ErrorDto | null;\r\n type: string | null;\r\n isHorizontalOrientationForFrames: boolean;\r\n isSelectAll: boolean;\r\n}\r\n\r\nexport class SpotsInitialState implements SpotsState {\r\n spots = [];\r\n loading = false;\r\n error = null;\r\n type = null;\r\n isHorizontalOrientationForFrames = true;\r\n isSelectAll = false;\r\n warnings = null;\r\n}\r\n\r\nconst initialState = new SpotsInitialState();\r\n\r\nconst reducer = (state: SpotsState = initialState, action: Action): SpotsState => {\r\n\r\n switch (action.type) {\r\n\r\n // spots create\r\n case ActionType.POST_FLYER_SPOTS_CREATE_START:\r\n return { ...state, type: action.type, error: null, loading: true, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_CREATE_SUCCESS:\r\n return { ...state, type: action.type, spots: action.payload, error: null, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_CREATE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_CREATE_COMPLETED:\r\n return { ...state, type: action.type, error: null, loading: false, warnings: null }\r\n\r\n\r\n // spots update\r\n case ActionType.POST_FLYER_SPOTS_UPDATE_START:\r\n return { ...state, type: action.type, error: null, loading: true, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_UPDATE_SUCCESS:\r\n return { ...state, type: action.type, spots: action.payload, error: null, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_UPDATE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_UPDATE_COMPLETED:\r\n return { ...state, type: action.type, error: null, loading: false, warnings: null }\r\n\r\n // spots delete \r\n case ActionType.POST_FLYER_SPOTS_DELETE_START:\r\n return { ...state, type: action.type, error: null, loading: true, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_DELETE_SUCCESS:\r\n return { ...state, type: action.type, spots: action.payload, error: null, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_DELETE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false, warnings: null }\r\n\r\n case ActionType.POST_FLYER_SPOTS_DELETE_COMPLETED:\r\n return { ...state, type: action.type, error: null, loading: false, warnings: null }\r\n\r\n case ActionType.CHANGE_ORIENTATION_NUMBERING_FOR_FRAMES:\r\n return { ...state, isHorizontalOrientationForFrames: action.payload }\r\n\r\n case ActionType.TOGGLE_SELECT_ALL_FRAMES:\r\n return { ...state, isSelectAll: action.payload }\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_START:\r\n return {\r\n ...state, error: null, loading: false, type: action.type, warnings: null\r\n }\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS:\r\n return {\r\n ...state, spots: action.payload.frames, warnings: action.payload.warnings, error: null, loading: false, type: action.type\r\n }\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_COMPLETE:\r\n return {\r\n ...state, error: null, loading: false, type: action.type, warnings: null\r\n }\r\n case ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type, warnings: null };\r\n // the default switch case must be included as followed:\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n\r\nexport default reducer;","import {ActionType} from '../actionTypes';\r\nimport {Action} from '../actions/promotionsItemsActions';\r\nimport {FlyerPageDto, FlyerPageSpotDto, PromoDto, PromoItemsDto} from \"../../dtos\";\r\n\r\nexport interface PageForPromoItems {\r\n pageIndex?: number;\r\n items?: PromoItemsDto[];\r\n promos?: PromoDto[];\r\n}\r\n\r\nexport interface PromotionItemsState {\r\n activeTab: string;\r\n searchTerm: SearchTermForUnlinkedPromotionsItems;\r\n unlinkPromos: PromoDto[] | any[];\r\n unlinkItems: PromoItemsDto[] | any[];\r\n type?: string | null;\r\n isQualified: boolean;\r\n isOpenUnlinkMenu: boolean;\r\n isLoading?: boolean;\r\n error?: boolean | null;\r\n draggingItemRecId?: boolean | null;\r\n // isShowsAllItemsOfPromotions?: boolean;\r\n dataFromExcelFileForPromosItems: object;\r\n items: PromoItemsDto[];\r\n promos: PromoDto[];\r\n pages: PageForPromoItems[];\r\n itemsIdsForChangeQualificationLVL: number[];\r\n isSelectAllMode: boolean;\r\n}\r\n\r\nexport interface SearchTermForUnlinkedPromotionsItems {\r\n searchTermForUnlinkedPromotions: string;\r\n searchTermForUnlinkedItems: string;\r\n\r\n}\r\n\r\n\r\nconst initialState: PromotionItemsState = {\r\n activeTab: 'Promotions',\r\n searchTerm: {\r\n searchTermForUnlinkedPromotions: '',\r\n searchTermForUnlinkedItems: ''\r\n },\r\n unlinkPromos: [],\r\n unlinkItems: [],\r\n type: null,\r\n isQualified: false,\r\n isOpenUnlinkMenu: false,\r\n isLoading: false,\r\n error: null,\r\n draggingItemRecId: null,\r\n // isShowsAllItemsOfPromotions: false,\r\n dataFromExcelFileForPromosItems: {},\r\n pages: [],\r\n items: [],\r\n promos: [],\r\n itemsIdsForChangeQualificationLVL:[],\r\n isSelectAllMode: false\r\n};\r\n\r\nconst reducer = (state: PromotionItemsState = initialState, action: Action) => {\r\n switch (action.type) {\r\n case ActionType.CHANGE_ACTIVE_TAB_NAME:\r\n return {...state, activeTab: action.payload, type: action.type}\r\n case ActionType.SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE:\r\n let pages: PageForPromoItems[] = [];\r\n action.payload.forEach((page: FlyerPageDto) => {\r\n const pageData: PageForPromoItems = {};\r\n pageData.pageIndex = page.flpPageNo;\r\n pageData.items = [];\r\n pageData.promos = [];\r\n\r\n page.flyerPageSpots?.forEach((frame: FlyerPageSpotDto) => {\r\n if(frame.flyerPromos?.length){\r\n pageData.promos?.push(frame.flyerPromos[0]);\r\n\r\n if(frame.flyerPromos[0]!.flyerPromoItems?.length){\r\n frame.flyerPromos[0]!.flyerPromoItems.forEach((item: PromoItemsDto) => {\r\n pageData.items?.push(item);\r\n })\r\n }\r\n }\r\n\r\n })\r\n\r\n pages = [...pages, pageData];\r\n })\r\n\r\n return {\r\n ...state,\r\n pages: pages,\r\n // pages: action.payload.map((page: FlyerPageDto) => {\r\n // return {\r\n // pageIndex: page.flpPageNo,\r\n // }\r\n // }),\r\n type: action.type,\r\n }\r\n case ActionType.SET_ITEMS_TO_PROMO_ITEMS_STATE:\r\n // const currentPageIsAlreadyExistedForItems = state.pages.find((page: PageForPromoItems) => page.pageIndex === action.payload.pageIndex);\r\n // if (currentPageIsAlreadyExistedForItems) {\r\n const newPagesStateItems = state.pages.map((page: PageForPromoItems) => {\r\n if (page.pageIndex === action.payload.pageIndex) {\r\n page.items = action.payload.items;\r\n }\r\n return page;\r\n })\r\n\r\n return {\r\n ...state,\r\n pages: newPagesStateItems,\r\n items: action.payload.items,\r\n type: action.type\r\n }\r\n // } else {\r\n // return {\r\n // ...state,\r\n // pages: [\r\n // ...state.pages,\r\n // {\r\n // ...state.pages[action.payload.pageIndex],\r\n // items: action.payload.items,\r\n // pageIndex: action.payload.pageIndex\r\n // }\r\n // ],\r\n // items: action.payload.items,\r\n // type: action.type\r\n // }\r\n //\r\n // }\r\n case ActionType.ADD_ITEMS_TO_PROMO_ITEMS_STATE:\r\n // const currentPageIsAlreadyExistedForItemsForAdd = state.pages.some((page: PageForPromoItems) => page.pageIndex === action.payload.pageIndex);\r\n // if (currentPageIsAlreadyExistedForItemsForAdd) {\r\n const newPagesStateWithItemsAdd = state.pages.map((page: PageForPromoItems) => {\r\n if (page.pageIndex === action.payload.pageIndex) {\r\n page.items = [...page.items!, ...action.payload.items]\r\n }\r\n return page;\r\n })\r\n\r\n return {\r\n ...state,\r\n pages: newPagesStateWithItemsAdd,\r\n items: action.payload.items,\r\n type: action.type\r\n }\r\n // } else {\r\n // return {\r\n // ...state,\r\n // pages: [\r\n // ...state.pages,\r\n // {\r\n // ...state.pages[action.payload.pageIndex],\r\n // items: action.payload.items,\r\n // pageIndex: action.payload.pageIndex\r\n // }\r\n // ],\r\n // items: action.payload.items,\r\n // type: action.type\r\n // }\r\n // }\r\n case ActionType.REMOVE_ITEMS_TO_PROMO_ITEMS_STATE:\r\n // const currentPageIsAlreadyExistedForItemsForDelete = state.pages.some((page: PageForPromoItems) => page.pageIndex === action.payload.pageIndex);\r\n // if (currentPageIsAlreadyExistedForItemsForDelete) {\r\n const newPagesStateWithItemsRemove = state.pages.map((page: PageForPromoItems) => {\r\n if (page.pageIndex === action.payload.pageIndex) {\r\n //remove duplicates from arrays\r\n const seen = new Set();\r\n const addDeletedItemsToItemsState = [...page.items!, ...action.payload.items]\r\n page.items = addDeletedItemsToItemsState.filter((promo: PromoItemsDto) => {\r\n const duplicate = seen.has(promo.fpiRecId);\r\n seen.add(promo.fpiRecId);\r\n return !duplicate;\r\n });\r\n }\r\n return page;\r\n })\r\n\r\n return {\r\n ...state,\r\n pages: newPagesStateWithItemsRemove,\r\n items: action.payload.items,\r\n type: action.type\r\n }\r\n // } else {\r\n // return {\r\n // ...state,\r\n // pages: [\r\n // ...state.pages,\r\n // {\r\n // ...state.pages[action.payload.pageIndex],\r\n // items: action.payload.items,\r\n // pageIndex: action.payload.pageIndex\r\n // }\r\n // ],\r\n // items: action.payload.items,\r\n // type: action.type\r\n // }\r\n // }\r\n case ActionType.SET_PROMOS_TO_PROMO_ITEMS_STATE:\r\n // const currentPageIsAlreadyExistedForPromos = state.pages.find((page: PageForPromoItems) => page.pageIndex === action.payload.pageIndex);\r\n //\r\n // if (currentPageIsAlreadyExistedForPromos) {\r\n const newPagesStatePromos = state.pages.map((page: PageForPromoItems) => {\r\n if (page.pageIndex === action.payload.pageIndex) {\r\n page.promos = action.payload.promos;\r\n }\r\n return page;\r\n })\r\n\r\n return {\r\n ...state,\r\n pages: newPagesStatePromos,\r\n promos: action.payload.promos,\r\n type: action.type\r\n }\r\n // } else {\r\n // return {\r\n // ...state,\r\n // pages: [\r\n // ...state.pages,\r\n // {\r\n // ...state.pages[action.payload.pageIndex],\r\n // promo: action.payload.promos,\r\n // pageIndex: action.payload.pageIndex\r\n // }\r\n // ],\r\n // promos: action.payload.promos,\r\n // type: action.type\r\n // }\r\n //\r\n // }\r\n\r\n case ActionType.CHANGE_SEARCH_TERM:\r\n return {...state, searchTerm: action.payload, type: action.type}\r\n case ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE:\r\n return {...state, dataFromExcelFileForPromosItems: action.payload, type: action.type}\r\n case ActionType.ADD_PROMOS_TO_UNLINK_PROMOS:\r\n if (action.payload.isReplace) {\r\n return {\r\n ...state,\r\n unlinkPromos: [...action.payload.newState],\r\n type: ActionType.ADD_PROMOS_TO_UNLINK_PROMOS\r\n }\r\n } else {\r\n return {\r\n ...state,\r\n unlinkPromos: [...action.payload.newState, ...state.unlinkPromos],\r\n type: ActionType.ADD_PROMOS_TO_UNLINK_PROMOS\r\n }\r\n }\r\n\r\n case ActionType.ADD_ITEMS_TO_UNLINK_ITEMS:\r\n const itemsWithIndex = action.payload.newState.map((key: PromoItemsDto, index: number) => {\r\n key.index = index;\r\n key.isLastSelected = false;\r\n return key;\r\n });\r\n if (action.payload.isReplace) {\r\n return {...state, unlinkItems: [...itemsWithIndex], type: action.type}\r\n } else {\r\n return {\r\n ...state,\r\n unlinkItems: [...itemsWithIndex, ...state.unlinkItems],\r\n type: action.type\r\n }\r\n }\r\n\r\n case ActionType.DELETE_PROMOS_FROM_UNLINK_PROMOS:\r\n return {...state, unlinkPromos: action.payload, type: action.type}\r\n\r\n case ActionType.DELETE_ITEMS_FROM_UNLINK_ITEMS:\r\n return {...state, unlinkItems: action.payload, type: action.type}\r\n\r\n case ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU:\r\n return {...state, unlinkItems: [], unlinkPromos: [], type: action.type}\r\n\r\n case ActionType.TOGGLE_UNLINK_PANEL:\r\n return {...state, isOpenUnlinkMenu: action.payload, type: action.type}\r\n\r\n case ActionType.CHANGE_QUALIFIED_STATUS_FOR_PROMOTIONS_AND_ITEMS:\r\n return {\r\n ...state,\r\n isQualified: action.payload,\r\n type: action.type\r\n }\r\n case ActionType.CHANGE_SELECT_ALL_STATUS_FOR_PROMOTIONS_AND_ITEMS:\r\n return {\r\n ...state,\r\n isSelectAllMode: action.payload,\r\n type: action.type\r\n }\r\n\r\n case ActionType.ATTACH_PROMO_TO_FLYER_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FLYER_SUCCESS:\r\n case ActionType.ATTACH_PROMO_TO_FLYER_DND_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FLYER_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FLYER_COMPLETE:\r\n case ActionType.ATTACH_PROMO_TO_FLYER_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.ATTACH_ITEMS_TO_FLYER_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.ATTACH_ITEMS_TO_FLYER_SUCCESS:\r\n // case ActionType.ATTACH_ITEMS_TO_FLYER_DND_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_ITEMS_TO_FLYER_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_ITEMS_TO_FLYER_COMPLETE:\r\n // case ActionType.ATTACH_ITEMS_TO_FLYER_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.ATTACH_PROMO_TO_FRAME_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FRAME_SUCCESS:\r\n case ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FRAME_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_PROMO_TO_FRAME_COMPLETE:\r\n case ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.ATTACH_ITEM_TO_PROMO_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.ATTACH_ITEM_TO_PROMO_SUCCESS:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_ITEM_TO_PROMO_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.ATTACH_ITEM_TO_PROMO_COMPLETE:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n // post image to item\r\n case ActionType.POST_IMAGE_TO_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.POST_IMAGE_TO_ITEM_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.POST_IMAGE_TO_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.POST_IMAGE_TO_ITEM_COMPLETED:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n // change qualification lvl for promos\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_START:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS:\r\n return {...state, itemsIdsForChangeQualificationLVL: action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n // change qualification lvl for promos\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_START:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.UPDATE_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.UPDATE_ITEM_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.UPDATE_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.UPDATE_ITEM_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.EDIT_PROMOTION_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.EDIT_PROMOTION_ITEM_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.EDIT_PROMOTION_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.EDIT_PROMOTION_ITEM_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.CREATE_PROMOTION_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.CREATE_PROMOTION_ITEM_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CREATE_PROMOTION_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.CREATE_PROMOTION_ITEM_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.CREATE_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.CREATE_ITEM_SUCCESS:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CREATE_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.CREATE_ITEM_COMPLETE:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.UPDATE_PROMOTION_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.UPDATE_PROMOTION_SUCCESS:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.UPDATE_PROMOTION_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.UPDATE_PROMOTION_COMPLETE:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.CREATE_PROMOTION_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.CREATE_PROMOTION_SUCCESS:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n case ActionType.CREATE_PROMOTION_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.CREATE_PROMOTION_COMPLETE:\r\n // case ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n\r\n case ActionType.DELETE_PROMO_FROM_FLYER_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.DELETE_PROMO_FROM_FLYER_SUCCESS:\r\n case ActionType.DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.DELETE_PROMO_FROM_FLYER_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.DELETE_PROMO_FROM_FLYER_COMPLETE:\r\n case ActionType.DELETE_PROMO_WITH_ITEMS_FROM_FLYER_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.DELETE_ITEMS_FROM_FLYER_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.DELETE_ITEMS_FROM_FLYER_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.DELETE_ITEMS_FROM_FLYER_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.DELETE_ITEMS_FROM_FLYER_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.DELETE_IMAGE_FROM_ITEM_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_ITEM_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_ITEM_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_ITEM_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.DELETE_IMAGE_FROM_PROMOTION_START:\r\n return {...state, error: null, isLoading: true, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_PROMOTION_SUCCESS:\r\n return {...state, ...action.payload, error: null, isLoading: false, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_PROMOTION_ERROR:\r\n return {...state, error: action.payload, isLoading: false, type: action.type};\r\n case ActionType.DELETE_IMAGE_FROM_PROMOTION_COMPLETE:\r\n return {...state, error: null, isLoading: false, type: action.type};\r\n\r\n case ActionType.CHANGE_DRAGGING_ITEM_RECID:\r\n return {...state, draggingItemRecId: action.payload}\r\n // case ActionType.SHOW_HIDE_ALL_ITEMS_IN_ALL_PROMOTIONS:\r\n // return {...state, isShowsAllItemsOfPromotions: action.payload}\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","\r\nimport { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/flyerConversionSettingsActions';\r\n\r\nimport {ErrorDto, ConversionDto} from '../../dtos'\r\n\r\ninterface ConversionUrlSettingsState {\r\n loading: boolean;\r\n error: ErrorDto | null;\r\n data: ConversionDto | null;\r\n type: string | null;\r\n}\r\n\r\nconst initialState = {\r\n loading: false,\r\n error: null,\r\n data: null,\r\n type: null,\r\n}\r\n\r\nconst reducer = (\r\n state: ConversionUrlSettingsState = initialState,\r\n action: Action\r\n): ConversionUrlSettingsState => {\r\n switch (action.type) {\r\n case ActionType.GET_CONVERSION_URL_START:\r\n return { loading: true, error: null, data: null, type: action.type}\r\n\r\n case ActionType.GET_CONVERSION_URL_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type}\r\n\r\n case ActionType.GET_CONVERSION_URL_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type}\r\n\r\n case ActionType.GET_CONVERSION_URL_COMPLETED:\r\n return { ...state, loading: false, error: null, type: action.type}\r\n case ActionType.POST_CONVERSION_URL_START:\r\n return { loading: true, error: null, data: null, type: action.type}\r\n\r\n case ActionType.POST_CONVERSION_URL_SUCCESS:\r\n return { loading: false, error: null, data: action.payload, type: action.type}\r\n\r\n case ActionType.POST_CONVERSION_URL_ERROR:\r\n return { loading: false, error: action.payload, data: null, type: action.type}\r\n\r\n case ActionType.POST_CONVERSION_URL_COMPLETED:\r\n return { ...state, loading: false, error: null, type: action.type}\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","\r\nimport { Action } from \"../actions/toggleActionForEditorActions\";\r\nimport { ActionType } from \"../actionTypes\";\r\n\r\nexport interface EditorFlyersActionsForPopups {\r\n isShowCreateNewFlyerPopup: boolean;\r\n isShowRightPanel: boolean;\r\n isZoomIn: boolean;\r\n}\r\n\r\nexport class EditorFlyersActionsForPopupsInitialState implements EditorFlyersActionsForPopups {\r\n isShowCreateNewFlyerPopup = false;\r\n isShowRightPanel = true;\r\n isZoomIn = false;\r\n}\r\n\r\nconst initialState = new EditorFlyersActionsForPopupsInitialState();\r\n\r\nconst reducer = (state: EditorFlyersActionsForPopups = initialState, action: Action) => {\r\n switch (action.type) {\r\n case ActionType.EDITOR_TOGGLE_FLYER_DETAILS_POPUP:\r\n return { ...state, isShowCreateNewFlyerPopup: action.payload };\r\n case ActionType.EDITOR_TOGGLE_FLYER_RIGHT_PANEL:\r\n return { ...state, isShowRightPanel: !state.isShowRightPanel };\r\n case ActionType.EDITOR_TOGGLE_ZOOM_IN_MODE_FOR_FRAMES_PROMOS_SCREENS:\r\n return { ...state, isZoomIn: !state.isZoomIn };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import {SellingUnitDto, SellingUnitsDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/sellingUnitsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\n\r\nexport class SellingUnitsInitialState implements SellingUnitsDto {\r\n sellingUnits = [];\r\n sellingUnitsForFlyer = []\r\n}\r\n\r\nconst initialState = new SellingUnitsInitialState();\r\n\r\nconst reducer = (state: SellingUnitsDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.SET_SALE_UNITS_FOR_ALL_FLYERS:\r\n return {\r\n ...state,\r\n sellingUnits: action.payload.map((sellingUnit: SellingUnitDto) => {\r\n return {\r\n ...sellingUnit,\r\n value: sellingUnit.languageCaption,\r\n label: sellingUnit.languageCaption\r\n }\r\n })\r\n };\r\n case ActionType.SET_SALE_UNITS_FOR_FLYER:\r\n return {\r\n ...state,\r\n sellingUnitsForFlyer: action.payload.map((sellingUnit: SellingUnitDto) => {\r\n return {\r\n ...sellingUnit,\r\n value: sellingUnit.languageCaption,\r\n label: sellingUnit.languageCaption\r\n }\r\n })\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;\r\n","import {\r\n AccountSettingWithLangDto,\r\n} from '../../dtos';\r\n\r\nimport {Action} from '../actions/accountSettingsAndLangActions';\r\nimport {ActionType} from '../actionTypes';\r\n\r\n\r\nexport class FlyersStateInitialState implements AccountSettingWithLangDto {\r\n accountSetting = {};\r\n languageId = 0;\r\n loading = false;\r\n error = null;\r\n type = null;\r\n}\r\n\r\n\r\nconst initialState = new FlyersStateInitialState();\r\n\r\nconst reducer = (state: AccountSettingWithLangDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.SET_ACCOUNT_SETTING_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.SET_ACCOUNT_SETTING_SUCCESS:\r\n return {\r\n ...state,\r\n accountSetting: action.payload.accountSetting,\r\n languageId: action.payload.languageId,\r\n error: null,\r\n loading: false,\r\n type: action.type\r\n };\r\n case ActionType.SET_ACCOUNT_SETTING_COMPLETE:\r\n return { ... state, error: null, loading: false, type: action.type};\r\n case ActionType.SET_ACCOUNT_SETTING_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n case ActionType.SET_ACCOUNT_LANGUAGE_ID:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {AccountEmailsSettingsDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/accountEmailsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nconst initialState: AccountEmailsSettingsDto = {\r\n loading: true,\r\n type: null,\r\n error: null,\r\n emails: {\r\n emailAddress1: \"\",\r\n emailAddress2: \"\",\r\n emailAddress3: \"\",\r\n emailAddress4: \"\"\r\n }\r\n}\r\n\r\nconst reducer = (state: AccountEmailsSettingsDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.GET_ACCOUNT_EMAILS_SETTING_START:\r\n case ActionType.SET_ACCOUNT_EMAILS_SETTING_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.GET_ACCOUNT_EMAILS_SETTING_SUCCESS:\r\n case ActionType.SET_ACCOUNT_EMAILS_SETTING_SUCCESS:\r\n return {\r\n ...state,\r\n emails: action.payload,\r\n error: null,\r\n loading: false,\r\n type: action.type\r\n };\r\n case ActionType.GET_ACCOUNT_EMAILS_SETTING_COMPLETE:\r\n case ActionType.SET_ACCOUNT_EMAILS_SETTING_COMPLETE:\r\n return { ... state, error: null, loading: false, type: action.type};\r\n\r\n case ActionType.GET_ACCOUNT_EMAILS_SETTING_ERROR:\r\n case ActionType.SET_ACCOUNT_EMAILS_SETTING_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {\r\n AsyncAnalyticsDataDto,\r\n} from '../../dtos';\r\n\r\nimport {Action} from '../actions/analyticsActions';\r\nimport {ActionType} from '../actionTypes';\r\n\r\n\r\nconst initialState = {\r\n analyticsData: {\r\n todaysImpressions: null,\r\n todaysConversions: null,\r\n totalImpressions: null,\r\n totalConversions: null\r\n },\r\n loadingExcel: false,\r\n loading: false,\r\n error: null,\r\n type: null,\r\n}\r\n\r\nconst reducer = (state: AsyncAnalyticsDataDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.GET_ANALYTICS_DATA_FOR_FLYER_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n\r\n case ActionType.GET_ANALYTICS_DATA_FOR_FLYER_SUCCESS:\r\n return {\r\n ...state,\r\n analyticsData: action.payload,\r\n error: null,\r\n loading: false,\r\n type: action.type\r\n };\r\n case ActionType.GET_ANALYTICS_DATA_FOR_FLYER_COMPLETE:\r\n return { ... state, error: null, loading: false, type: action.type};\r\n case ActionType.GET_ANALYTICS_DATA_FOR_FLYER_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n case ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_START:\r\n return { ...state, loadingExcel: true, error: null, type: action.type};\r\n case ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_SUCCESS:\r\n return {...state, loadingExcel: false, error: null, type: action.type};\r\n case ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_COMPLETE:\r\n return { ... state, loadingExcel: false, error: null, type: action.type};\r\n case ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_ERROR:\r\n return { ...state, loadingExcel: false, error: action.payload, type: action.type };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {ActionType} from \"../actionTypes\";\r\nimport {Action} from \"../actions/flyerFromPdfActions\";\r\nimport {ErrorDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n flyerId: null,\r\n loading: true,\r\n error: null,\r\n type: null,\r\n successInfo: null\r\n}\r\n\r\ninterface initialStateInterface {\r\n flyerId: null | number,\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: null | string,\r\n successInfo: null | string;\r\n}\r\n\r\nconst createFlyerFromPdfReducer = (state: initialStateInterface = initialState, action: Action): initialStateInterface => {\r\n\r\n switch (action.type) {\r\n case ActionType.CREATE_FLYER_FROM_PDF_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_PDF_SUCCESS: {\r\n return { ...state, flyerId: action.payload, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_PDF_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_PDF_COMPLETED: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.UPDATE_FLIPBOOK_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.UPDATE_FLIPBOOK_SUCCESS: {\r\n return { ...state, flyerId: action.payload, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.UPDATE_FLIPBOOK_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.UPDATE_FLIPBOOK_COMPLETED: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n //\r\n default: {\r\n return state;\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default createFlyerFromPdfReducer;\r\n","\r\nimport { Action } from \"../actions/flyersFiltersActions\";\r\nimport { ActionType } from \"../actionTypes\";\r\nimport {OptionTypeBase} from \"react-select/src/types\";\r\n\r\nexport interface FlyersFiltersDto {\r\n viewFilter: OptionTypeBase;\r\n classFilter: OptionTypeBase;\r\n}\r\n\r\nexport class EditorFlyersActionsForPopupsInitialState implements FlyersFiltersDto {\r\n viewFilter = {\r\n value: \"All\",\r\n label: \"All\"\r\n };\r\n classFilter = {\r\n value: \"All\",\r\n label: \"All\"\r\n };\r\n}\r\n\r\nconst initialState = new EditorFlyersActionsForPopupsInitialState();\r\n\r\nconst reducer = (state: FlyersFiltersDto = initialState, action: Action): FlyersFiltersDto => {\r\n switch (action.type) {\r\n case ActionType.CHANGE_FLYERS_VIEW_FILTER:\r\n return { ...state, viewFilter: action.payload };\r\n case ActionType.CHANGE_FLYERS_CLASSES_FILTER:\r\n return { ...state, classFilter: action.payload };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n","import {Action} from \"../actions/uploadingImagesProgressActions\";\r\nimport {UploadProgressingImagesDto} from \"../../dtos\";\r\nimport {ActionType} from '../actionTypes';\r\n\r\nconst initialState = {\r\n isOpen: false,\r\n current: 0,\r\n failCount: 0,\r\n processingFinished: true,\r\n successCount: 0,\r\n total: 0,\r\n titlePopup: ``,\r\n notUploadedImages: null,\r\n severityLevel: \"OK\",\r\n isUploadingFilesToSystem: false,\r\n isUploadingFilesToSystemFinished: false\r\n}\r\n\r\nexport const uploadingImagesProgressReducer = (state: UploadProgressingImagesDto = initialState, action: Action): UploadProgressingImagesDto => {\r\n switch (action.type) {\r\n case ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_START:\r\n return {\r\n ...initialState,\r\n titlePopup: action?.payload.title || \"\",\r\n processingFinished: false,\r\n isUploadingFilesToSystem: false,\r\n isOpen: true\r\n };\r\n case ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR:\r\n return {\r\n ...initialState,\r\n };\r\n\r\n case ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE:\r\n return {\r\n ...state,\r\n ...action.payload,\r\n isOpen: action.payload.isOpen || true,\r\n notUploadedImages:\r\n state.notUploadedImages && action.payload.notUploadedImages\r\n ? [...state.notUploadedImages, ...action.payload.notUploadedImages]\r\n : action.payload.notUploadedImages\r\n ? [...action.payload.notUploadedImages]\r\n : state.notUploadedImages\r\n ? [...state.notUploadedImages]\r\n : null\r\n };\r\n\r\n case ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE:\r\n return {\r\n ...state,\r\n isOpen: false\r\n };\r\n //delete only image from page\r\n default:\r\n return state;\r\n }\r\n\r\n}","import {Action} from \"../actions/tocForPagesActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport {ErrorDto, FlyerPagesTocEntriesDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n tocForPage: null,\r\n loading: false,\r\n error: null,\r\n type: null\r\n}\r\n\r\ninterface initialStateDto {\r\n tocForPage: FlyerPagesTocEntriesDto | null,\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: string | null\r\n\r\n}\r\n\r\nexport const tocForPagesReducer = (state: initialStateDto = initialState, action: Action): initialStateDto => {\r\n switch (action.type) {\r\n\r\n // create toc for page\r\n case ActionType.CREATE_TOC_FOR_PAGE_START:\r\n return { tocForPage: null, type: action.type, error: null, loading: true }\r\n\r\n case ActionType.CREATE_TOC_FOR_PAGE_SUCCESS:\r\n return { ...state, type: action.type, tocForPage: action.payload, error: null, loading: false }\r\n\r\n case ActionType.CREATE_TOC_FOR_PAGE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false }\r\n\r\n case ActionType.CREATE_TOC_FOR_PAGE_COMPLETE:\r\n return { ...state, type: action.type, error: null, loading: false }\r\n\r\n // update toc for page\r\n case ActionType.UPDATE_TOC_FOR_PAGE_START:\r\n return { tocForPage: null, type: action.type, error: null, loading: true }\r\n\r\n case ActionType.UPDATE_TOC_FOR_PAGE_SUCCESS:\r\n return { ...state, type: action.type, tocForPage: action.payload, error: null, loading: false }\r\n\r\n case ActionType.UPDATE_TOC_FOR_PAGE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false }\r\n\r\n case ActionType.UPDATE_TOC_FOR_PAGE_COMPLETE:\r\n return { ...state, type: action.type, error: null, loading: false }\r\n\r\n // delete toc for page\r\n case ActionType.DELETE_TOC_FOR_PAGE_START:\r\n return { tocForPage: null, type: action.type, error: null, loading: true }\r\n\r\n case ActionType.DELETE_TOC_FOR_PAGE_SUCCESS:\r\n return { ...state, type: action.type, tocForPage: action.payload, error: null, loading: false }\r\n\r\n case ActionType.DELETE_TOC_FOR_PAGE_ERROR:\r\n return { ...state, type: action.type, error: action.payload, loading: false }\r\n\r\n case ActionType.DELETE_TOC_FOR_PAGE_COMPLETE:\r\n return { ...state, type: action.type, error: null, loading: false }\r\n\r\n default:\r\n return state;\r\n }\r\n\r\n}","import {ActionType} from \"../actionTypes\";\r\nimport {Action} from \"../actions/flyerFromJpegsActions\";\r\nimport {ErrorDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n flyerId: null,\r\n loading: true,\r\n error: null,\r\n type: null,\r\n successInfo: null\r\n}\r\n\r\ninterface initialStateInterface {\r\n flyerId: null | number,\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: null | string,\r\n successInfo: null | string;\r\n}\r\n\r\nexport const createFlyerFromJpegsReducer = (state: initialStateInterface = initialState, action: Action): initialStateInterface => {\r\n\r\n switch (action.type) {\r\n case ActionType.CREATE_FLYER_FROM_JPEGS_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_JPEGS_SUCCESS: {\r\n return { ...state, flyerId: action.payload, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_JPEGS_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_FROM_JPEGS_COMPLETED: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n //\r\n default: {\r\n return state;\r\n }\r\n }\r\n\r\n}","import {ActionType} from \"../actionTypes\";\r\nimport {Action} from \"../actions/flyerWithoutPageImagesActions\";\r\nimport {ErrorDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n flyerId: null,\r\n loading: false,\r\n error: null,\r\n type: null,\r\n successInfo: null\r\n}\r\n\r\ninterface initialStateInterface {\r\n flyerId: null | number,\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: null | string,\r\n successInfo: null | string;\r\n}\r\n\r\nexport const createFlyerWithoutPageImagesReducer = (state: initialStateInterface = initialState, action: Action): initialStateInterface => {\r\n\r\n switch (action.type) {\r\n case ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS: {\r\n return { ...state, flyerId: action.payload, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_COMPLETED: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n //\r\n default: {\r\n return state;\r\n }\r\n }\r\n\r\n}","import {ActionType} from \"../actionTypes\";\r\nimport {Action} from \"../actions/flyerClassesActions\";\r\nimport {ErrorDto, FlyerClassDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n flyerClasses: [],\r\n loading: true,\r\n error: null,\r\n type: null,\r\n successInfo: null\r\n}\r\n\r\ninterface initialStateInterface {\r\n flyerClasses: FlyerClassDto[] | [],\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: null | string,\r\n successInfo: null | string;\r\n}\r\n\r\nexport const flyerClassesReducer = (state: initialStateInterface = initialState, action: Action): initialStateInterface => {\r\n\r\n switch (action.type) {\r\n case ActionType.GET_FLYER_CLASSES_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.GET_FLYER_CLASSES_SUCCESS: {\r\n return { ...state, flyerClasses: action.payload, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.GET_FLYER_CLASSES_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.GET_FLYER_CLASSES_COMPLETE: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.DELETE_FLYER_CLASS_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.DELETE_FLYER_CLASS_SUCCESS: {\r\n return {\r\n ...state,\r\n error: null,\r\n loading: false,\r\n type: action.type,\r\n flyerClasses: state.flyerClasses.filter((flyerClass: FlyerClassDto) => {\r\n const isFlyerClassShouldBeRemoved = action.payload.some(id => id.toString() === flyerClass.id);\r\n if(!isFlyerClassShouldBeRemoved){\r\n return flyerClass;\r\n }\r\n }),\r\n };\r\n }\r\n case ActionType.DELETE_FLYER_CLASS_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.DELETE_FLYER_CLASS_COMPLETE: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.CREATE_FLYER_CLASS_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_CLASS_SUCCESS: {\r\n return {\r\n ...state,\r\n error: null,\r\n loading: false,\r\n type: action.type,\r\n flyerClasses: [...action.payload, ...state.flyerClasses],\r\n };\r\n }\r\n case ActionType.CREATE_FLYER_CLASS_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.CREATE_FLYER_CLASS_COMPLETE: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n case ActionType.UPDATE_FLYER_CLASS_START: {\r\n return { ...state, error: null, loading: true, type: action.type, successInfo: null };\r\n }\r\n case ActionType.UPDATE_FLYER_CLASS_SUCCESS: {\r\n return {\r\n ...state,\r\n error: null,\r\n loading: false,\r\n type: action.type,\r\n flyerClasses: state.flyerClasses.map((flyerClass: FlyerClassDto) => {\r\n const isFlyerClassShouldBeRemoved = action.payload.find((updatedClass) => updatedClass.id === flyerClass.id);\r\n if(isFlyerClassShouldBeRemoved){\r\n flyerClass = {...isFlyerClassShouldBeRemoved}\r\n }\r\n return flyerClass;\r\n }),\r\n };\r\n }\r\n case ActionType.UPDATE_FLYER_CLASS_ERROR: {\r\n return { ...state, error: action.payload, loading: false, type: action.type, successInfo: null };\r\n }\r\n case ActionType.UPDATE_FLYER_CLASS_COMPLETE: {\r\n return { ...state, error: null, loading: false, type: action.type };\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n\r\n}\r\n","import {Action} from \"../actions/downloadFileActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport {ErrorDto} from \"../../dtos\";\r\n\r\nconst initialState = {\r\n file: null,\r\n loading: true,\r\n error: null,\r\n type: null,\r\n successInfo: null\r\n}\r\n\r\ninterface InitialStateInterface {\r\n file: null | File,\r\n loading: boolean,\r\n error: ErrorDto | null,\r\n type: null | string,\r\n successInfo: null | string;\r\n}\r\n\r\nexport const DownloadFileReducer = (\r\n state: InitialStateInterface = initialState,\r\n action: Action\r\n): InitialStateInterface => {\r\n switch (action.type) {\r\n case ActionType.DOWNLOAD_FILE_START:\r\n return {\r\n ...state, file: null, loading: true, error: null, type: action.type\r\n };\r\n case ActionType.DOWNLOAD_FILE_SUCCESS:\r\n return {\r\n ...state,\r\n file: action.payload,\r\n type: action.type\r\n };\r\n case ActionType.DOWNLOAD_FILE_COMPLETE:\r\n return {...state, loading: false, error: null, type: action.type};\r\n case ActionType.DOWNLOAD_FILE_ERROR:\r\n return {\r\n ...state,\r\n file: null,\r\n error: action.payload, loading: false, type: action.type\r\n };\r\n default:\r\n return state;\r\n }\r\n}","import {AccountStoreSettingsDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/accountStoreSettingsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nconst initialState: AccountStoreSettingsDto = {\r\n loading: true,\r\n type: null,\r\n error: null,\r\n storeSettings: []\r\n}\r\n\r\nconst reducer = (state: AccountStoreSettingsDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.GET_ACCOUNT_STORE_SETTINGS_START:\r\n case ActionType.SAVE_ACCOUNT_STORE_SETTING_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n case ActionType.DELETE_ACCOUNT_STORE_SETTINGS_START:\r\n case ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_START:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.GET_ACCOUNT_STORE_SETTINGS_SUCCESS:\r\n case ActionType.DELETE_ACCOUNT_STORE_SETTINGS_SUCCESS:\r\n case ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_SUCCESS:\r\n case ActionType.SAVE_ACCOUNT_STORE_SETTING_SUCCESS:\r\n return {\r\n ...state,\r\n storeSettings: action.payload,\r\n error: null,\r\n loading: false,\r\n type: action.type\r\n };\r\n case ActionType.GET_ACCOUNT_STORE_SETTINGS_COMPLETE:\r\n case ActionType.SAVE_ACCOUNT_STORE_SETTING_COMPLETE:\r\n case ActionType.DELETE_ACCOUNT_STORE_SETTINGS_COMPLETE:\r\n case ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_COMPLETE:\r\n return { ... state, error: null, loading: false, type: action.type};\r\n\r\n case ActionType.GET_ACCOUNT_STORE_SETTINGS_ERROR:\r\n case ActionType.DELETE_ACCOUNT_STORE_SETTINGS_ERROR:\r\n case ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_ERROR:\r\n case ActionType.SAVE_ACCOUNT_STORE_SETTING_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {StoreShelfStylesDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/storeShelfStylesActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nexport interface SaleTypes {\r\n saleTypes: any;\r\n saleTypesForSpecificFlyer: any;\r\n sellingUnits: any;\r\n}\r\n\r\n\r\n\r\nconst initialState: StoreShelfStylesDto = {\r\n storeShelfStyles: []\r\n};\r\n\r\nconst storeShelfStylesReducer = (state: StoreShelfStylesDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n case ActionType.SET_STORE_SHELF_STYLES:\r\n return { ...state, storeShelfStyles: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default storeShelfStylesReducer;\r\n","import {Action} from \"../actions/storeForAccountActions\";\r\nimport {ActionType} from '../actionTypes';\r\nimport {ErrorDto, SuccessDto} from \"../../dtos\";\r\n\r\nexport interface StoreForAccountInt {\r\n file: null | File;\r\n type: null | string;\r\n loading: boolean;\r\n error: ErrorDto | null;\r\n successInfo?: SuccessDto | null;\r\n}\r\n\r\nconst initialState = {\r\n file: null,\r\n type: null,\r\n loading: false,\r\n error: null,\r\n successInfo: null\r\n}\r\n\r\nexport const storeForAccountReducer = (state: StoreForAccountInt = initialState, action: Action) => {\r\n switch (action.type) {\r\n case ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_START:\r\n case ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_START:\r\n case ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_START:\r\n {\r\n return {...state, type: action.type, loading: true, error: null, successInfo: null}\r\n }\r\n case ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS:\r\n case ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_SUCCESS:\r\n case ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_SUCCESS:\r\n {\r\n return {...state, file: action.payload.file, type: action.type, successInfo: action.payload.successInfo}\r\n }\r\n case ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_COMPLETE:\r\n case ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_COMPLETE:\r\n case ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_COMPLETE:\r\n {\r\n return {...state, type: action.type, loading: false, error: null, successInfo: null}\r\n }\r\n case ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_ERROR:\r\n case ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_ERROR:\r\n case ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_ERROR:\r\n {\r\n return {...state, error: action.payload, type: action.type, loading: false, successInfo: null}\r\n }\r\n default: {\r\n return state\r\n }\r\n }\r\n}","import {UsersAndPermissionsDataDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/usersAndPermissionsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nconst initialState: UsersAndPermissionsDataDto = {\r\n loading: true,\r\n type: null,\r\n error: null,\r\n usersAndPermissions: []\r\n}\r\n\r\nconst reducer = (state: UsersAndPermissionsDataDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n //\r\n case ActionType.GET_USERS_AND_PERMISSIONS_DATA_START:\r\n case ActionType.SAVE_USER_AND_PERMISSIONS_DATA_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n case ActionType.DELETE_USER_AND_PERMISSIONS_DATA_START:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.GET_USERS_AND_PERMISSIONS_DATA_SUCCESS:\r\n case ActionType.DELETE_USER_AND_PERMISSIONS_DATA_SUCCESS:\r\n case ActionType.UPDATE_USER_AND_PERMISSIONS_DATA:\r\n case ActionType.SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS:\r\n return {\r\n usersAndPermissions: action.payload,\r\n error: null,\r\n loading: false,\r\n type: action.type\r\n };\r\n case ActionType.GET_USERS_AND_PERMISSIONS_DATA_COMPLETE:\r\n case ActionType.DELETE_USER_AND_PERMISSIONS_DATA_COMPLETE:\r\n case ActionType.SAVE_USER_AND_PERMISSIONS_DATA_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type};\r\n\r\n case ActionType.GET_USERS_AND_PERMISSIONS_DATA_ERROR:\r\n case ActionType.DELETE_USER_AND_PERMISSIONS_DATA_ERROR:\r\n case ActionType.SAVE_USER_AND_PERMISSIONS_DATA_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {UpdatePasswordDataDto} from \"../../dtos\";\r\nimport {Action} from \"../actions/updatePasswordActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nconst initialState: UpdatePasswordDataDto = {\r\n loading: false,\r\n type: null,\r\n error: null,\r\n}\r\n\r\nconst reducer = (state: UpdatePasswordDataDto = initialState, action: Action) => {\r\n\r\n switch(action.type)\r\n {\r\n case ActionType.UPDATE_USER_PASSWORD_START:\r\n return { ...state, error: null, loading: true, type: action.type };\r\n case ActionType.UPDATE_USER_PASSWORD_SUCCESS:\r\n return { ...state, error: null, loading: false, type: action.type };\r\n case ActionType.UPDATE_USER_PASSWORD_COMPLETE:\r\n return { ...state, error: null, loading: false, type: action.type};\r\n case ActionType.UPDATE_USER_PASSWORD_ERROR:\r\n return { ...state, error: action.payload, loading: false, type: action.type };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import {combineReducers} from 'redux';\r\n\r\nimport authReducer from './authReducer';\r\n\r\nimport flyersReducer from './flyersReducer';\r\n\r\nimport flyerDetailsReducer from './flyerDetailsReducer';\r\nimport changedStateForFlyerReducer from './changedStateForFlyerReducer';\r\n\r\nimport flippingFlyerReducer from './flippingFlyerReducer';\r\nimport smartFlyerReducer from './smartFlyerReducer';\r\n\r\nimport guiSettings from './guiSettingsReducer';\r\nimport pagesReducer from \"./pagesReducer\";\r\nimport selectPageForTabsReducer from \"./selectedPageForTabReducer\";\r\nimport saleTypesReducer from \"./saleTypesReducer\";\r\n\r\nimport spots from './spotsReducer'\r\nimport promotionsAndItems from './promotionsAndItemsReducer'\r\nimport flyerConversionSettingsReducer from \"./flyerConversionSettingsReducer\";\r\nimport toggleActionsForFlyers from \"./toggleActionForEditorReducer\";\r\nimport sellingUnitsReducer from \"./sellingUnitsReducer\";\r\nimport accountSettingsAndLangReducer from \"./accountSettingsAndLangReducer\";\r\nimport accountEmailsSettingsReducer from \"./accountEmailsSettingsReducer\";\r\nimport analyticsDataReducer from \"./analyticsDataReducer\";\r\nimport createFlyerFromPdfReducer from \"./flyerFromPdfReducer\";\r\nimport flyersFiltersReducer from \"./flyersFiltersReducer\";\r\nimport {uploadingImagesProgressReducer} from \"./uploadingImagesProgressReducer\";\r\nimport {tocForPagesReducer} from \"./tocForPagesReducer\";\r\nimport {createFlyerFromJpegsReducer} from \"./flyerFromJpegsReducer\";\r\nimport {createFlyerWithoutPageImagesReducer} from \"./flyerWithoutPageImagesReducer\";\r\nimport {flyerClassesReducer} from \"./flyerClassesReducer\";\r\nimport {DownloadFileReducer} from \"./downloadFileReducer\";\r\nimport accountStoreSettingsReducer from \"./accountStoreSettingsReducer\";\r\nimport storeShelfStylesReducer from \"./storeShelfStylesReducer\";\r\nimport {storeForAccountReducer} from \"./storeForAccountReducer\";\r\nimport usersAndPermissionsReducer from \"./usersAndPermissionsReducer\";\r\nimport updatePassword from \"./updatePasswordReducer\";\r\n\r\nconst reducers = combineReducers({\r\n auth: authReducer,\r\n analyticsData: analyticsDataReducer,\r\n flyers: flyersReducer,\r\n\r\n flyerDetails: flyerDetailsReducer,\r\n\r\n changedStateForFlyer: changedStateForFlyerReducer,\r\n\r\n flippingFlyer: flippingFlyerReducer,\r\n smartFlyer: smartFlyerReducer,\r\n\r\n guiSettings: guiSettings,\r\n\r\n pages: pagesReducer,\r\n selectPageForTabs: selectPageForTabsReducer,\r\n\r\n spots: spots,\r\n promotionsAndItems: promotionsAndItems,\r\n storeForAccount: storeForAccountReducer,\r\n saleTypes: saleTypesReducer,\r\n sellingUnits: sellingUnitsReducer,\r\n conversionUrlSetting: flyerConversionSettingsReducer,\r\n toggleActionsForFlyers: toggleActionsForFlyers,\r\n accountSettingWithLang: accountSettingsAndLangReducer,\r\n uploadImagesPopup: uploadingImagesProgressReducer,\r\n flyerDataFromPdf: createFlyerFromPdfReducer,\r\n flyerDataFromJpegs: createFlyerFromJpegsReducer,\r\n flyerDataWithoutImages: createFlyerWithoutPageImagesReducer,\r\n tocForPage: tocForPagesReducer,\r\n flyerClasses: flyerClassesReducer,\r\n downloadFileState: DownloadFileReducer,\r\n flyersFiltersState: flyersFiltersReducer,\r\n accountEmailsState: accountEmailsSettingsReducer,\r\n accountStoreSettings: accountStoreSettingsReducer,\r\n usersAndPermissions: usersAndPermissionsReducer,\r\n storeShelfStyles: storeShelfStylesReducer,\r\n\r\n updatePassword: updatePassword\r\n})\r\n\r\nexport default reducers;\r\n\r\n\r\n// take the reducers function and return back whatever type \r\n// that function returns\r\nexport type RootState = ReturnType;\r\n\r\n\r\n\r\n\r\n\r\n","\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport reducers from './reducers';\r\n\r\n// Redux Store combined with Thunk\r\nexport const store = createStore(reducers, {}, applyMiddleware(thunk));","const {\r\n\r\n REACT_APP_FLYER_SHOPPER_SERVER_ADDRESS,\r\n REACT_APP_DEVELOPMENT_MODE,\r\n REACT_APP_FLYER_EDITOR_SERVER_ADDRESS,\r\n REACT_APP_FLYER_APP_ADDREESS\r\n\r\n} = process.env;\r\n\r\nclass EnvManager {\r\n developmentMode: string | undefined = REACT_APP_DEVELOPMENT_MODE;\r\n flyerEditorServerAddress: string | undefined = REACT_APP_FLYER_EDITOR_SERVER_ADDRESS;\r\n flyerShopperServerAddress: string | undefined = REACT_APP_FLYER_SHOPPER_SERVER_ADDRESS;\r\n flyerAppAddress: string | undefined = REACT_APP_FLYER_APP_ADDREESS;\r\n\r\n getFlyerAppAddressWithEnvPrefix(prefix: string) {\r\n // ex: https://dev.xcshopper.com\r\n let splitted = this.flyerAppAddress!.split('//')\r\n\r\n let https = splitted[0] + '//';\r\n let url_without_https = splitted[1]\r\n\r\n let finalUrl = https + prefix + '.'\r\n\r\n // [dev, xcshopper, com]\r\n let splitted2 = url_without_https.split('.')\r\n\r\n for (let i = 1; i < splitted2.length; i++) {\r\n const urlPart = splitted2[i];\r\n\r\n finalUrl += urlPart\r\n\r\n if (i < (splitted2.length - 1)) {\r\n finalUrl += '.'\r\n }\r\n }\r\n\r\n finalUrl += '/'\r\n\r\n if (prefix.length === 0) {\r\n // prod\r\n finalUrl = `${https}xcshopper.xcircular.com/`\r\n }\r\n\r\n\r\n //-------------------------------------------------//\r\n // FOR NOW HARD CORDED BY ENV:\r\n finalUrl = REACT_APP_FLYER_APP_ADDREESS! + \"/\";\r\n //-------------------------------------------------//\r\n\r\n return finalUrl;\r\n }\r\n}\r\n\r\nconst envManager = new EnvManager();\r\n\r\nexport default envManager;","\r\n\r\nimport axios from 'axios';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions';\r\n\r\nimport { Dispatch } from 'redux';\r\n\r\n\r\nimport { RegisterDto, LoginDto, ForgotPasswordDto, UserDto, ResetPasswordDto, ErrorDtoFactory } from '../../dtos';\r\n\r\nexport const logout = () => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({ type: ActionType.LOG_OUT });\r\n }\r\n\r\n}\r\n\r\nexport const register = (registerDto: RegisterDto) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n \r\n dispatch({\r\n type: ActionType.REGISTER_START\r\n })\r\n \r\n try\r\n {\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/auth/register`, registerDto)\r\n let data = result.data.data;\r\n\r\n let userDto:UserDto = { ...data } \r\n // localStorage.setItem('userDto', JSON.stringify(userDto))\r\n\r\n dispatch({\r\n type: ActionType.REGISTER_SUCCESS,\r\n payload: userDto\r\n })\r\n\r\n dispatch({\r\n type: ActionType.REGISTER_COMPLETED,\r\n })\r\n } \r\n catch(err){\r\n\r\n dispatch({\r\n type: ActionType.REGISTER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const login = (loginDto: LoginDto, isForPreview: boolean = false) => {\r\n return async (dispatch: Dispatch) => {\r\n \r\n dispatch({\r\n type: ActionType.LOGIN_START\r\n })\r\n\r\n try\r\n {\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/auth/login`, loginDto)\r\n let data = result.data.data;\r\n let userDto:UserDto = { ...data }\r\n if(isForPreview){\r\n localStorage.setItem('userDtoForPreview', JSON.stringify(userDto))\r\n } else {\r\n localStorage.setItem('userDto', JSON.stringify(userDto))\r\n }\r\n\r\n dispatch({\r\n type: ActionType.LOGIN_SUCCESS,\r\n payload: userDto\r\n })\r\n\r\n dispatch({\r\n type: ActionType.LOGIN_COMPLETED,\r\n })\r\n } \r\n catch(err){\r\n\r\n dispatch({\r\n type: ActionType.LOGIN_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const forgotPassword = (forgotPasswordDto: ForgotPasswordDto) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n \r\n dispatch({\r\n type: ActionType.FORGOT_PASSWORD_START\r\n })\r\n\r\n try\r\n {\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/auth/forgotPassword`, forgotPasswordDto)\r\n let data = result.data.data;\r\n \r\n dispatch({\r\n type: ActionType.FORGOT_PASSWORD_SUCCESS,\r\n payload: null\r\n })\r\n\r\n dispatch({\r\n type: ActionType.FORGOT_PASSWORD_COMPLETED,\r\n })\r\n } \r\n catch(err){\r\n\r\n dispatch({\r\n type: ActionType.FORGOT_PASSWORD_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const resetPassword = (resetPasswordDto: ResetPasswordDto) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n \r\n dispatch({\r\n type: ActionType.RESET_PASSWORD_START\r\n })\r\n\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + resetPasswordDto.token\r\n }\r\n }\r\n\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/auth/resetPassword`, resetPasswordDto, config)\r\n let data = result.data.data;\r\n\r\n dispatch({\r\n type: ActionType.RESET_PASSWORD_SUCCESS,\r\n payload: null\r\n })\r\n\r\n dispatch({\r\n type: ActionType.RESET_PASSWORD_COMPLETED,\r\n payload: null\r\n })\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.RESET_PASSWORD_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const fetchUserData = (userDto: UserDto) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n \r\n dispatch({\r\n type: ActionType.FETCH_USER_DATA_START\r\n })\r\n\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/auth/user/`, userDto, config);\r\n let data = result.data.data;\r\n \r\n let updatedUserDto:UserDto = {\r\n token: data.token,\r\n userId: data.userId,\r\n accountTier: data.accountTier,\r\n firstName: data.firstName,\r\n lastName: data.lastName,\r\n company: data.company,\r\n emailAddress: data.emailAddress,\r\n // userName: data.userName,\r\n } \r\n\r\n dispatch({\r\n type: ActionType.FETCH_USER_DATA_SUCCESS,\r\n payload: updatedUserDto\r\n })\r\n\r\n dispatch({\r\n type: ActionType.FETCH_USER_DATA_COMPLETED,\r\n payload: updatedUserDto\r\n })\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.FETCH_USER_DATA_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const confirmEmail = (userId: number, token: string, isSaveUserDto: boolean = true) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n \r\n try{\r\n dispatch({\r\n type: ActionType.CONFIRM_EMAIL_START\r\n })\r\n\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/auth/confirmEmail/${userId}/${token}`\r\n let result = await axios.post(url, {}, config);\r\n let data = result.data.data;\r\n localStorage.removeItem('userDto');\r\n let userDto:UserDto = { ...data }\r\n if(isSaveUserDto){\r\n localStorage.setItem('userDto', JSON.stringify(userDto))\r\n localStorage.setItem(`userEnterForFirstTime${userDto.userId}`, \"true\");\r\n }\r\n\r\n dispatch({\r\n type: ActionType.CONFIRM_EMAIL_SUCCESS,\r\n payload: userDto\r\n })\r\n\r\n dispatch({\r\n type: ActionType.CONFIRM_EMAIL_COMPLETED,\r\n })\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.CONFIRM_EMAIL_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n\r\n }\r\n}","import axios from 'axios';\r\n\r\nimport {ActionType} from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport {\r\n Action as FlyersActions,\r\n Action as HardDeleteFlyerStartAction,\r\n Action as SoftDeleteFlyerStartAction,\r\n Action as ClearDataForFlyer\r\n} from '../actions/flyersActions';\r\n\r\nimport {Action as SaleTypesActions} from \"../actions/saleTypeActions\";\r\nimport {Action as SellingUnitsActions} from \"../actions/sellingUnitsActions\";\r\nimport {Action as ShelvesStylesForStoreActions} from \"../actions/storeShelfStylesActions\";\r\nimport {Action as CheckoutUrlSettingActions} from \"../actions/flyerConversionSettingsActions\";\r\nimport {Action as AccountSettingsWithLangActions} from \"../actions/accountSettingsAndLangActions\";\r\n\r\nimport {Dispatch} from 'redux';\r\nimport {ErrorDtoFactory, SaleTypeDto, UpdateSaleTypesObjectDto, UserDto} from '../../dtos';\r\nimport {FlyersState} from \"../reducers/flyersReducer\";\r\n\r\nexport const getFlyers = (isArchived: boolean, isSoftDeleted: boolean) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_FLYERS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let request: {};\r\n\r\n if (isArchived) {\r\n request = {\r\n \"isArchived\": isArchived,\r\n }\r\n } else if (isSoftDeleted) {\r\n request = {\r\n \"isSoftDeleted\": isSoftDeleted\r\n }\r\n } else {\r\n request = {\r\n \"isArchived\": isArchived,\r\n \"isSoftDeleted\": isSoftDeleted\r\n }\r\n }\r\n\r\n\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/flyers/${userDto.userId}/GetFlyersFiltered`, request, config);\r\n let data = result.data.data\r\n\r\n dispatch({\r\n type: ActionType.GET_FLYERS_SUCCESS,\r\n payload: data\r\n })\r\n\r\n dispatch({\r\n type: ActionType.SET_SALE_TYPES_FOR_ALL_FLYERS,\r\n payload: data.saleTypes\r\n })\r\n\r\n dispatch({\r\n type: ActionType.SET_SALE_UNITS_FOR_ALL_FLYERS,\r\n payload: data.sellingUnits\r\n })\r\n dispatch({\r\n type: ActionType.SET_STORE_SHELF_STYLES,\r\n payload: data.storeShelfStyles\r\n // payload: [...data.storeShelfStyles, {\r\n // accountId: null,\r\n // caption: \"Default\",\r\n // colorRgb: \"#aabb00\",\r\n // id: 1,\r\n // textureImage: \"Dummy.png\",\r\n // textureImageUrl: null\r\n // }]\r\n })\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_SUCCESS,\r\n payload: {\r\n accountSetting: data.accountSetting,\r\n languageId: data.languageId\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_COMPLETE,\r\n })\r\n\r\n dispatch({\r\n type: ActionType.GET_FLYERS_COMPLETED,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_FLYERS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const softDeleteFlyer = (flyersIds: number[], lang: string, isSoftDelete: boolean, flyersState: FlyersState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SOFT_DELETE_FLYER\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token,\r\n 'XC-ConnectionId': '1'\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyers': flyersIds,\r\n 'uiLanguageCultureCode': lang,\r\n 'flyerSoftDeleteState': isSoftDelete\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/SetFlyersSoftDeleteState`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.SOFT_DELETE_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n const newFlayerState = flyersState.flyers.filter(key => {\r\n let isExist = flyersIds.some(id => key.flyRecId === id);\r\n if (!isExist) {\r\n return key;\r\n }\r\n })\r\n\r\n const flyersStatePayload: FlyersState = {...flyersState, flyers: [...newFlayerState]}\r\n dispatch({type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SOFT_DELETE_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const hardDeleteFlyer = (flyersIds: number[], flyersState: FlyersState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.HARD_DELETE_FLYER\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyers': flyersIds\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/HardDeleteFlyers`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.HARD_DELETE_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n\r\n const newFlayerState = flyersState.flyers.filter(key => {\r\n let isExist = flyersIds.some(id => key.flyRecId === id);\r\n if (!isExist) {\r\n return key;\r\n }\r\n })\r\n\r\n const flyersStatePayload: FlyersState = {...flyersState, flyers: [...newFlayerState]}\r\n dispatch({type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.HARD_DELETE_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const archiveFlyer = (flyersIds: number[], lang: string, isArchive: boolean, flyersState: FlyersState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ARCHIVE_FLYER\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyers': flyersIds,\r\n 'uiLanguageCultureCode': lang,\r\n 'flyerArchiveState': isArchive\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/SetFlyersArchiveState`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.ARCHIVE_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n const newFlayerState = flyersState.flyers.filter(key => {\r\n let isExist = flyersIds.some(id => key.flyRecId === id);\r\n if (!isExist) {\r\n return key;\r\n }\r\n })\r\n\r\n const flyersStatePayload: FlyersState = {...flyersState, flyers: [...newFlayerState]}\r\n dispatch({type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.ARCHIVE_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const clearFlyersData = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_DEFAULT_STATE_FLYERS\r\n })\r\n }\r\n}\r\n\r\nexport const updateSaleTypeForAccount = (saleTypes: SaleTypeDto[], requestData: UpdateSaleTypesObjectDto[]) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token,\r\n }\r\n }\r\n\r\n const request = {\r\n // accountId: userDto.userId,\r\n saleTypeIds: requestData\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Account/UpdateAccountSaleType/${userDto.userId}`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_SUCCESS,\r\n })\r\n\r\n dispatch({\r\n type: ActionType.SET_SALE_TYPES_FOR_ALL_FLYERS,\r\n payload: saleTypes\r\n })\r\n\r\n dispatch({\r\n type: ActionType.SET_SALE_TYPES_FOR_SPECIFIC_FLYER,\r\n payload: saleTypes.filter((saleType: SaleTypeDto) => {\r\n if (saleType.isAssignedToAccount) {\r\n return saleType;\r\n }\r\n }),\r\n })\r\n\r\n\r\n dispatch({type: ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_COMPLETE})\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPDATE_SALE_TYPES_FOR_ACCOUNT_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n","import { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/flyerDetailsActions';\r\n\r\nimport { Dispatch } from 'redux';\r\n\r\nimport { FlyerDetailsState } from '../reducers/flyerDetailsReducer';\r\nimport {ImageDataForPage} from \"../../dtos\";\r\n\r\n\r\nexport const updateFlyerDetailsState = (newState: FlyerDetailsState) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({ \r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState\r\n });\r\n }\r\n\r\n}\r\n\r\nexport const updateFlyerDetailsPageImageState = (data: ImageDataForPage) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_SET_IMAGE_TO_TARGET_PAGE,\r\n payload: data\r\n });\r\n }\r\n\r\n}","import {EventDispatcher, Event} from 'EventDispatcher';\r\nexport class CustomDataEvent extends Event {\r\n\r\n private _data?: any;\r\n\r\n constructor(type: string) {\r\n super(type);\r\n }\r\n\r\n public get data(){\r\n return this._data;\r\n }\r\n\r\n public set data(value: any){\r\n this._data = value\r\n }\r\n\r\n}","import {EventDispatcher} from \"EventDispatcher\";\r\n\r\nimport {CustomDataEvent} from './CustomDataEvent';\r\n\r\n\r\n// Simple Event Types\r\nexport const EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED = \"EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED\"\r\n\r\nexport const EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS = \"EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS\"\r\nexport const EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS = \"EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS\"\r\nexport const EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS = \"EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS\";\r\n\r\nexport const EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS = \"EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS\"\r\nexport const EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A = \"EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A\";\r\nexport const EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED = \"EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED\";\r\n\r\nexport const EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE = \"EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE\";\r\n\r\nexport const EVENT_TYPE_PAGE_INDEX_CHANGED = \"EVENT_TYPE_PAGE_INDEX_CHANGED\";\r\n\r\n\r\n// Event Types with data\r\nexport const EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS = \"EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS\"\r\nexport const EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM = \"EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM\";\r\nexport const EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER = \"EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER\";\r\nexport const EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER = \"EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER\";\r\nexport const EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME = \"EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME\";\r\nexport const EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE = \"EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE\";\r\nexport const EVENT_DATA_TYPE_CREAT_NEW_FLYER = \"EVENT_DATA_TYPE_CREAT_NEW_FLYER\";\r\nexport const EVENT_DATA_TYPE_OPEN_PAGES_FLYER = \"EVENT_DATA_TYPE_OPEN_PAGES_FLYER\";\r\nexport const EVENT_DATA_TYPE_UPLOAD_FILE_TYPE = \"EVENT_DATA_TYPE_UPLOAD_FILE_TYPE\";\r\nexport const EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE = \"EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE\";\r\nexport const EVENT_DATA_TYPE_DISABLE_TABS = \"EVENT_DATA_TYPE_DISABLE_TABS\";\r\nexport const EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP = \"EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP\";\r\nexport const EVENT_TYPE_GET_ALL_SELECTED_SPOTS = \"EVENT_TYPE_GET_ALL_SELECTED_SPOTS\";\r\nexport const EVENT_TYPE_CHANGE_ICON_POSITION = \"EVENT_TYPE_CHANGE_ICON_POSITION\";\r\n\r\n\r\nexport const EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT = \"EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT\";\r\nexport const EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT = \"EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT\";\r\nexport const EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT = \"EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT\";\r\nexport const EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT = \"EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT\";\r\nexport const EVENT_DATA_TYPE_SPOT_PRESS_MOVE = \"EVENT_DATA_TYPE_SPOT_PRESS_MOVE\";\r\n\r\n\r\nconst eventTypes: string[] = [\r\n\r\n // Event Types\r\n EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED,\r\n\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS,\r\n\r\n EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A,\r\n EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED,\r\n EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE,\r\n\r\n EVENT_TYPE_PAGE_INDEX_CHANGED,\r\n\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT,\r\n EVENT_DATA_TYPE_SPOT_PRESS_MOVE,\r\n\r\n\r\n // Event Types with data\r\n EVENT_TYPE_CHANGE_ICON_POSITION,\r\n EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE,\r\n EVENT_DATA_TYPE_CREAT_NEW_FLYER,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE,\r\n EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP,\r\n EVENT_TYPE_GET_ALL_SELECTED_SPOTS,\r\n EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM,\r\n]\r\nconst eventDispatcher: EventDispatcher = new EventDispatcher({validEventTypes: eventTypes});\r\n\r\nexport function addEventTypeListener(onEventType: string, callback: () => void) {\r\n eventDispatcher.on(onEventType, callback);\r\n}\r\n\r\nexport function addEventDataTypeListener(onEventType: string, callback: (event: any) => void) {\r\n eventDispatcher.on(onEventType, callback);\r\n}\r\n\r\nexport function removeEventTypeListener(onEventType: string) {\r\n eventDispatcher.off(onEventType)\r\n}\r\n\r\nexport function dispatchEventType(eventType: string) {\r\n eventDispatcher.trigger(eventType)\r\n}\r\n\r\nexport function dispatchEventDataType(eventType: string, data: any) {\r\n let event = new CustomDataEvent(eventType);\r\n event.data = data;\r\n\r\n eventDispatcher.trigger(event)\r\n}","import axios from \"axios\";\r\n\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\n\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {Action as FlippingFlyerActions} from \"../actions/flippingFlyerActions\";\r\nimport {Action as GuiSettingsActions} from \"../actions/guiSettingsActions\";\r\nimport {Action as FlyersActions} from \"../actions/flyersActions\";\r\nimport {Action as PromotionsItemsActions} from \"../actions/promotionsItemsActions\";\r\nimport {Action as SpecificSaleTypes} from \"../actions/saleTypeActions\";\r\nimport {Action as CheckoutUrlSettingActions} from \"../actions/flyerConversionSettingsActions\";\r\nimport {Action as SellingUnitsActions} from \"../actions/sellingUnitsActions\";\r\n\r\n\r\nimport {Dispatch} from \"redux\";\r\nimport {FlippingFlyerState} from \"../reducers/flippingFlyerReducer\";\r\nimport {\r\n UserDto,\r\n FlyerDto,\r\n flyerDtoInitialState,\r\n ErrorDtoFactory, SaleTypeDto\r\n} from \"../../dtos\";\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\nimport {FlyersState} from \"../reducers/flyersReducer\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE,\r\n} from \"../../globals/EventDispatcher\";\r\n\r\nexport const resetFlyerState = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.RESET_FLYER_STATE,\r\n });\r\n };\r\n};\r\n\r\nexport const updateFlippingFlyerState = (newState: FlippingFlyerState) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.FLIPPING_FLYER_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n };\r\n};\r\n\r\nexport const getFlippingFlyer = (flyerId: number, signal?: AbortSignal, isForPreview: boolean = false) => {\r\n\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(isForPreview){\r\n userDtoStr = localStorage.getItem(\"userDtoForPreview\");\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.GET_FLIPPING_FLYER_START,\r\n });\r\n try {\r\n const config = {\r\n signal: signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n let result = await axios.get(\r\n `${envManager.flyerEditorServerAddress}/api/flyers/${flyerId}`,\r\n config\r\n );\r\n let data = result.data.data;\r\n\r\n if (data.flyer === null) {\r\n // New Flyer Mode\r\n data.flyer = {\r\n ...flyerDtoInitialState,\r\n\r\n // set default gui setting\r\n flyGusRec: {...data.guiSettings[0]},\r\n };\r\n }\r\n\r\n // left\r\n const flyerDetailPayload: FlyerDetailsState = {\r\n ...data.flyer,\r\n };\r\n\r\n // right\r\n const flippingFlyerPayload: FlippingFlyerState = {\r\n ...data,\r\n flyerDto: {...data.flyer},\r\n };\r\n dispatch({\r\n type: ActionType.GET_CONVERSION_URL_SUCCESS,\r\n payload: data.accountSetting.conversion\r\n })\r\n dispatch({\r\n type: ActionType.SET_SALE_UNITS_FOR_FLYER,\r\n payload: data.sellingUnits\r\n })\r\n\r\n dispatch({\r\n type: ActionType.GET_FLIPPING_FLYER_SUCCESS,\r\n payload: flippingFlyerPayload,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.GET_FLIPPING_FLYER_COMPLETED,\r\n payload: '',\r\n });\r\n\r\n dispatch({\r\n type: ActionType.SET_SALE_TYPES_FOR_SPECIFIC_FLYER,\r\n payload: data.saleTypes.filter((saleType: SaleTypeDto) => {\r\n if (saleType.isAssignedToAccount) {\r\n return saleType;\r\n }\r\n }),\r\n });\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyerDetailPayload,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.GET_GUI_SETTINGS_SUCCESS,\r\n payload: data.guiSettings,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE,\r\n payload: data.flyer.flyerPages\r\n })\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_FLIPPING_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const clearDataForFlyer = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CLEAR_DATA_FROM_FLYER,\r\n });\r\n };\r\n};\r\n\r\nexport const saveFlyer = (\r\n flyerDetailsState: FlyerDetailsState,\r\n flippingFlyerState: FlippingFlyerState,\r\n flyersState: FlyersState,\r\n isNew: boolean\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n // prepare flyerDto\r\n let flyerDto: FlyerDto = {\r\n ...flippingFlyerState.flyerDto!,\r\n ...flyerDetailsState,\r\n flyAcuRecId: userDto.userId,\r\n };\r\n\r\n flyerDto.flyCode = flyerDetailsState.flyCode;\r\n flyerDto.flyCaption = flyerDetailsState.flyCaption;\r\n flyerDto.flyDisplayCaption = flyerDetailsState.flyDisplayCaption;\r\n flyerDto.flyDesc = flyerDetailsState.flyDesc;\r\n\r\n flyerDto.flyValidFromUtc = flyerDetailsState.flyValidFromUtc;\r\n flyerDto.flyValidToUtc = flyerDetailsState.flyValidToUtc;\r\n flyerDto.flyCreatedUtc = flyerDetailsState.flyCreatedUtc;\r\n flyerDto.flyModifiedUtc = flyerDetailsState.flyModifiedUtc;\r\n\r\n // FlyerType\r\n flyerDto.flyFltRecId = flyerDetailsState.flyFltRec.fltRecId;\r\n flyerDto.flyFltRec = flyerDetailsState.flyFltRec;\r\n\r\n // LanguageCulture\r\n flyerDto.flyLacRecId = flyerDetailsState.flyLacRec.lacRecId;\r\n flyerDto.flyLacRec = flyerDetailsState.flyLacRec;\r\n\r\n flyerDto.flyGusRec = flyerDetailsState.flyGusRec!;\r\n flyerDto.flygusRecId = flyerDetailsState.flyGusRec!.gusRecId;\r\n\r\n // excels files\r\n //\r\n // if (flyerDetailsState.flyConversionEmail?.trim().length === 0) {\r\n // } else {\r\n // flyerDto.flyConversionEmail = flyerDetailsState.flyConversionEmail;\r\n // }\r\n\r\n delete flyerDto.flyerPages;\r\n delete flyerDto.flyerPromoItems;\r\n delete flyerDto.flyerPromos;\r\n //\r\n\r\n // excels files\r\n\r\n // prepare files data\r\n const formData = new FormData();\r\n\r\n //\r\n formData.append(\"flyerDto\", JSON.stringify(flyerDto));\r\n\r\n // page files\r\n // logo file\r\n\r\n // prepare flyerDto\r\n\r\n // prepare files d// page files\r\n\r\n // logo file\r\n if (\r\n flippingFlyerState.uploadLogo != null ||\r\n flippingFlyerState.uploadLogo != undefined\r\n ) {\r\n let logo = flippingFlyerState.uploadLogo!;\r\n if (logo.file != null) {\r\n formData.append(`logo`, logo.file, logo.file.name);\r\n }\r\n }\r\n\r\n //\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_FLIPPING_FLYER_START,\r\n });\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let result = await axios.post(\r\n `${envManager.flyerEditorServerAddress}/api/flyerEditor/${userDto.userId}`,\r\n formData,\r\n config\r\n );\r\n let data = result.data.data;\r\n\r\n // await handleFlyerExcelsFiles(\r\n // flippingFlyerState,\r\n // data,\r\n // flyerDto,\r\n // dispatch\r\n // );\r\n //\r\n const flyerDetailPayload: FlyerDetailsState = {\r\n ...flyerDetailsState,\r\n ...data.flyer,\r\n };\r\n // right\r\n const flippingFlyerPayload: FlippingFlyerState = {\r\n ...flippingFlyerState,\r\n flyerDto: {...data.flyer},\r\n };\r\n\r\n dispatch({\r\n type: ActionType.POST_FLIPPING_FLYER_SUCCESS,\r\n payload: flippingFlyerPayload,\r\n });\r\n if (isNew) {\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [data.flyer, ...flyersState.flyers],\r\n };\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyerDetailPayload,\r\n });\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n // dispatch({\r\n // type: ActionType.SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE,\r\n // payload: data.flyer.flyerPages\r\n // })\r\n } else {\r\n const flyers: FlyerDto[] = flyersState.flyers.map((key: FlyerDto) => {\r\n if (data.flyer.flyRecId === key.flyRecId) {\r\n return data.flyer;\r\n } else {\r\n return key;\r\n }\r\n });\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [...flyers],\r\n };\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyerDetailPayload,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n // dispatch({\r\n // type: ActionType.SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE,\r\n // payload: data.flyer.flyerPages\r\n // })\r\n }\r\n dispatchEventDataType(\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE,\r\n data.flyer.flyCaption\r\n );\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_FLIPPING_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const updateFlyersState = (flyersState: FlyersState) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: {\r\n ...flyersState\r\n }\r\n });\r\n };\r\n}\r\n\r\n// if exception occure inside this function still dispatch new data to ui\r\n// => catch the exception inside the function\r\n\r\nexport const savePageSpotsData = (\r\n flyRecId: number,\r\n spotsFile: File,\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_START,\r\n });\r\n\r\n try {\r\n let result: any = await postPageSpotsData(\r\n flyRecId,\r\n spotsFile,\r\n languageCultureCode\r\n );\r\n\r\n var flyer = result.data.data.flyer;\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_SUCCESS, payload: {\r\n flyer: flyer,\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyer,\r\n });\r\n\r\n\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_COMPLETED});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const getExcelFileWithCurrentDataForFramesData = (flyerID: number, flyerCaption: string) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_START,\r\n });\r\n\r\n try {\r\n let result: any = await getFramesDataExcel(flyerID, userDto.userId);\r\n dispatch({type: ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_SUCCESS});\r\n\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${flyerCaption}-Frames.xlsx`); //this is the name with which the file will be downloaded\r\n link.click();\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 0);\r\n\r\n dispatch({type: ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_CURRENT_DATA_FRAMES_FOR_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst getFramesDataExcel = (flyerId: number, userId: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPageSpots/DownloadFlyerSpotsExcel?userId=${userId}&flyerId=${flyerId}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n // \"Content-Type\": \"multipart/form-data\",\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n });\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n\r\n }\r\n });\r\n};\r\n\r\n\r\nexport const savePagePromosData = (\r\n flyRecId: number,\r\n promosFile: File,\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOS_START,\r\n });\r\n\r\n try {\r\n let result: any = await postPromotionsTemplate(\r\n flyRecId,\r\n promosFile,\r\n languageCultureCode\r\n );\r\n\r\n var flyer = result.data.data.flyer;\r\n\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({type: ActionType.POST_FLYER_PROMOS_SUCCESS, payload: flyer});\r\n\r\n dispatch({type: ActionType.POST_FLYER_PROMOS_COMPLETED});\r\n } catch (err) {\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const savePagePromosAndItemsData = (\r\n flyRecId: number,\r\n promosFile: File,\r\n languageCultureCode: string,\r\n optionValue: string,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOS_AND_ITEMS_START,\r\n });\r\n\r\n try {\r\n let result: any = await postPromotionsAndItemsTemplate(\r\n flyRecId,\r\n promosFile,\r\n languageCultureCode,\r\n optionValue\r\n );\r\n\r\n var flyer = result.data.data.flyer;\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOS_AND_ITEMS_SUCCESS, payload: {\r\n flyer: flyer,\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n dispatch({type: ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE, payload: promosFile});\r\n\r\n dispatch({type: ActionType.POST_FLYER_PROMOS_AND_ITEMS_COMPLETED});\r\n } catch (err) {\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n // dispatch({type: ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE, payload: promosFile});\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOS_AND_ITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nexport const getEmptyFileForPromosAndItemsData = (lang: string) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_START,\r\n });\r\n\r\n try {\r\n let result: any = await getPromotionsAndItemsTemplate(lang);\r\n dispatch({type: ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_SUCCESS});\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `Template_Lang_${lang === 'he-IL' ? 'Hebrew' : 'English'}_Flyer_Data.xlsx`); //this is the name with which the file will be downloaded\r\n link.click();\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 0);\r\n\r\n dispatch({type: ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_EMPTY_EXCEL_FLYER_PROMOS_AND_ITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const getExcelFileWithCurrentDataForPromosAndItemsData = (flyerID: number, flyerCaption: string) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_START,\r\n });\r\n\r\n try {\r\n let result: any = await getPromotionsAndItemsDataExcel(flyerID);\r\n dispatch({type: ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_SUCCESS});\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${flyerCaption}_Flyer_Data.xlsx`); //this is the name with which the file will be downloaded\r\n link.click();\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 0);\r\n\r\n dispatch({type: ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_CURRENT_DATA_PROMOS_AND_ITEMS_FOR_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const saveImagesDataForPromotionsItems = (\r\n flyRecId: number,\r\n promosFile: File,\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_START,\r\n });\r\n\r\n try {\r\n let result: any = await loadImagesForPromoItemsTemplate(\r\n flyRecId,\r\n promosFile,\r\n languageCultureCode\r\n );\r\n\r\n var flyer = result.data.data.flyer;\r\n\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({type: ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS, payload: flyer});\r\n dispatch({type: ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE, payload: {}});\r\n\r\n dispatch({type: ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_COMPLETE});\r\n } catch (err) {\r\n dispatch({type: ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE, payload: {}});\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const saveImagesDataForPromotions = (\r\n flyRecId: number,\r\n promosImages: File[],\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_PROMOTIONS_START,\r\n });\r\n try {\r\n let result: any = await loadImagesForPromoTemplate(\r\n flyRecId,\r\n promosImages,\r\n languageCultureCode\r\n );\r\n\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_PROMOTIONS_SUCCESS,\r\n payload: {\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n\r\n dispatch({type: ActionType.POST_IMAGES_FOR_PROMOTIONS_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_PROMOTIONS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const saveImagesDataForItems = (\r\n flyRecId: number,\r\n itemsImages: File[],\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_ITEMS_START,\r\n });\r\n\r\n try {\r\n let result: any = await loadImagesForItemsTemplate(\r\n flyRecId,\r\n itemsImages,\r\n languageCultureCode\r\n );\r\n\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_ITEMS_SUCCESS,\r\n payload: {\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n\r\n dispatch({type: ActionType.POST_IMAGES_FOR_ITEMS_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_IMAGES_FOR_ITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const savePagePromoItemsData = (\r\n flyRecId: number,\r\n promoItemsFile: File,\r\n languageCultureCode: string\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOITEMS_START,\r\n });\r\n\r\n try {\r\n let result: any = await postPromoItemsData(\r\n flyRecId,\r\n promoItemsFile,\r\n languageCultureCode\r\n );\r\n\r\n var flyer = result.data.data.flyer;\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOITEMS_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.POST_FLYER_PROMOITEMS_COMPLETED});\r\n } catch (err) {\r\n dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_FLYER_PROMOITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst postPageSpotsData = (\r\n flyerId: number,\r\n file: File,\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`File`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/UploadFlyerSpotsExcel`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst postPromotionsTemplate = (\r\n flyerId: number,\r\n file: File,\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`File`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/UploadFlyerPromosExcel`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst postPromotionsAndItemsTemplate = (\r\n flyerId: number,\r\n file: File,\r\n contentLanguageCulture: string,\r\n optionValue: string,\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`DuplicateItemAction`, optionValue);\r\n formData.append(`File`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/UploadFlyerPromosAndPromoItems`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst getPromotionsAndItemsTemplate = (lang: string) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/GetFlyerPromoAndPromoItemsExcelEmpty?uiContentLanguageCultureCode=${lang}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n // \"Content-Type\": \"multipart/form-data\",\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n });\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n }\r\n });\r\n};\r\n\r\nconst getPromotionsAndItemsDataExcel = (flyerId: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/GetFlyerPromoAndPromoItemsExcel?flyerId=${flyerId}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n // \"Content-Type\": \"multipart/form-data\",\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n });\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n }\r\n });\r\n};\r\n\r\nconst loadImagesForPromoItemsTemplate = (\r\n flyerId: number,\r\n file: File,\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`File`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/LoadPromoItemImagesFromExcel`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst loadImagesForPromoTemplate = (\r\n flyerId: number,\r\n files: File[],\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n const images = [...files];\r\n images.forEach((file: File) => {\r\n formData.append(`Images`, file, file.name);\r\n })\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/UploadPromoImages`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst loadImagesForItemsTemplate = (\r\n flyerId: number,\r\n files: File[],\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n const images = [...files]\r\n images.forEach((file: File) => {\r\n formData.append(`Images`, file, file.name);\r\n })\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/UploadPromoItemImages`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nconst postPromoItemsData = (\r\n flyerId: number,\r\n file: File,\r\n contentLanguageCulture: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`File`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${userDto.userId}/UploadFlyerPromoItemsExcel`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCloseIconX(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.30626 7.95596L15.7863 1.47596C15.9319 1.30592 16.008 1.08718 15.9993 0.863469C15.9907 0.639757 15.898 0.427545 15.7397 0.269239C15.5813 0.110933 15.3691 0.0181922 15.1454 0.00955116C14.9217 0.000910139 14.703 0.0770048 14.5329 0.222628L8.05293 6.70263L1.57293 0.213739C1.40288 0.0681157 1.18415 -0.00797811 0.960436 0.00066292C0.736724 0.00930395 0.524512 0.102043 0.366205 0.26035C0.207899 0.418656 0.115159 0.630868 0.106518 0.85458C0.0978767 1.07829 0.173971 1.29703 0.319595 1.46707L6.79959 7.95596L0.310706 14.436C0.217655 14.5156 0.142082 14.6137 0.0887276 14.724C0.0353736 14.8343 0.00539082 14.9544 0.000662382 15.0768C-0.00406606 15.1992 0.0165614 15.3213 0.0612499 15.4354C0.105938 15.5494 0.173724 15.653 0.26035 15.7397C0.346976 15.8263 0.450574 15.8941 0.564641 15.9387C0.678708 15.9834 0.800781 16.0041 0.923198 15.9993C1.04561 15.9946 1.16573 15.9646 1.27601 15.9113C1.38629 15.8579 1.48435 15.7823 1.56404 15.6893L8.05293 9.20929L14.5329 15.6893C14.703 15.8349 14.9217 15.911 15.1454 15.9024C15.3691 15.8937 15.5813 15.801 15.7397 15.6427C15.898 15.4844 15.9907 15.2722 15.9993 15.0485C16.008 14.8247 15.9319 14.606 15.7863 14.436L9.30626 7.95596Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCloseIconX);\nexport default __webpack_public_path__ + \"static/media/close_icon_x.8526c2e6.svg\";\nexport { ForwardRef as ReactComponent };","import axios from 'axios';\r\n\r\nimport {ActionType} from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport {Action as SpotsActions} from '../actions/spotsActions'\r\nimport {Action as FlyerDetailsActions} from '../actions/flyerDetailsActions'\r\n\r\nimport {Dispatch} from 'redux';\r\nimport {\r\n UserDto,\r\n ErrorDtoFactory,\r\n CreateSpotsRequestDto,\r\n UpdateSpotsRequestDto,\r\n DeleteSpotsRequestDto,\r\n FlyerPageSpotDto,\r\n PromoDto, PromoItemsDto, FlyerPageDto,\r\n} from '../../dtos';\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\n\r\n\r\nexport const createSpots = (dto: CreateSpotsRequestDto, callback: Function) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n //\r\n return async (dispatch: Dispatch) => {\r\n\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_CREATE_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Authorization': 'Bearer ' + userDto.token,\r\n }\r\n }\r\n\r\n let result = await axios.post(\r\n `${envManager.flyerEditorServerAddress}/api/flyerPageSpots/CreateSpots`,\r\n dto,\r\n config\r\n );\r\n let data = result.data.data\r\n\r\n let dtos: FlyerPageSpotDto[] = data;\r\n\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_CREATE_SUCCESS, payload: dtos})\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_CREATE_COMPLETED})\r\n\r\n callback(true)\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_CREATE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n\r\n callback(false)\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nexport const updateSpots = (dto: UpdateSpotsRequestDto, callback?: Function) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n //\r\n return async (dispatch: Dispatch) => {\r\n\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_UPDATE_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Authorization': 'Bearer ' + userDto.token,\r\n }\r\n }\r\n\r\n let result = await axios.post(\r\n `${envManager.flyerEditorServerAddress}/api/flyerPageSpots/UpdateSpots`,\r\n dto,\r\n config\r\n );\r\n let data = result.data.data\r\n\r\n let dtos: FlyerPageSpotDto[] = data;\r\n\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_UPDATE_SUCCESS, payload: dtos})\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_UPDATE_COMPLETED})\r\n if (callback) {\r\n callback(true)\r\n }\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.POST_FLYER_SPOTS_UPDATE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n if (callback) {\r\n callback(false)\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nexport const deleteSpots = (dto: DeleteSpotsRequestDto, callback?: Function) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n //\r\n return async (dispatch: Dispatch) => {\r\n\r\n dispatch({\r\n // type: ActionType.POST_FLYER_SPOTS_CREATE_START\r\n type: ActionType.POST_FLYER_SPOTS_DELETE_START\r\n\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Authorization': 'Bearer ' + userDto.token,\r\n }\r\n }\r\n\r\n let result = await axios.post(\r\n `${envManager.flyerEditorServerAddress}/api/flyerPageSpots/DeleteSpots`,\r\n dto,\r\n config\r\n );\r\n let data = result.data.data\r\n\r\n let dtos: FlyerPageSpotDto[] = data;\r\n\r\n // dispatch({ type: ActionType.POST_FLYER_SPOTS_CREATE_SUCCESS, payload: dtos })\r\n // dispatch({ type: ActionType.POST_FLYER_SPOTS_CREATE_COMPLETED })\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_DELETE_SUCCESS, payload: dtos});\r\n\r\n dispatch({type: ActionType.POST_FLYER_SPOTS_DELETE_COMPLETED})\r\n\r\n if (callback) {\r\n callback(true)\r\n }\r\n } catch (err) {\r\n dispatch({\r\n // type: ActionType.POST_FLYER_SPOTS_CREATE_ERROR,\r\n type: ActionType.POST_FLYER_SPOTS_DELETE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n if (callback) {\r\n callback(false)\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const changeOrientationNumberingForFrames = (isHorizontal: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_ORIENTATION_NUMBERING_FOR_FRAMES,\r\n payload: isHorizontal,\r\n });\r\n };\r\n}\r\n\r\nexport const toggleSelectAllMode = (isSelectAll: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.TOGGLE_SELECT_ALL_FRAMES,\r\n payload: isSelectAll,\r\n });\r\n };\r\n}\r\n\r\nexport const changeQualificationStatusForFrame = (\r\n flyerFramesIds: number[],\r\n languageCultureCode: string,\r\n qualificationLevel: number,\r\n flyerState: FlyerDetailsState,\r\n pageDtoNumber: number,\r\n currentFramesForPage: FlyerPageSpotDto[] = []\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_START,\r\n });\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'spotIds': flyerFramesIds,\r\n 'uiLanguageCultureCode': languageCultureCode,\r\n 'qualificationLevel': qualificationLevel,\r\n 'flyerId': flyerState.flyRecId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPageSpots/SetSpotsQualification`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n const newState = {...flyerState}\r\n const framesFromResponse: FlyerPageSpotDto[] = data.data.frames;\r\n newState.flyerPages[pageDtoNumber].flyerPageSpots?.forEach((frame: FlyerPageSpotDto) => {\r\n const frameFromResponse = framesFromResponse.find((frameFromResponse: FlyerPageSpotDto) => frameFromResponse.fpsRecId === frame.fpsRecId);\r\n if(frameFromResponse){\r\n frame.qualificationLevel = frameFromResponse.qualificationLevel;\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n const promoFromFrameResponse = frameFromResponse.flyerPromos?.find((promoFromFrameResponse: PromoDto) => promoFromFrameResponse.flrRecId === promo.flrRecId);\r\n promo.qualificationLevel = promoFromFrameResponse ? promoFromFrameResponse.qualificationLevel : promo.qualificationLevel;\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n const itemFromPromoFromFrameResponse = promoFromFrameResponse?.flyerPromoItems?.find((itemFromPromoFromFrameResponse: PromoItemsDto) => itemFromPromoFromFrameResponse.fpiRecId === item.fpiRecId);\r\n item.qualificationLevel = itemFromPromoFromFrameResponse ? itemFromPromoFromFrameResponse.qualificationLevel : item.qualificationLevel;\r\n })\r\n })\r\n }\r\n });\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n const newFramesForPage = currentFramesForPage?.map((frame: FlyerPageSpotDto) => {\r\n const frameFromResponse = framesFromResponse.find((frameFromResponse: FlyerPageSpotDto) => frameFromResponse.fpsRecId === frame.fpsRecId);\r\n return {\r\n ...frame,\r\n qualificationLevel: frameFromResponse ? frameFromResponse.qualificationLevel : frame.qualificationLevel\r\n }\r\n });\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS,\r\n payload: {\r\n frames: newFramesForPage,\r\n warnings: data.data.warnings\r\n }\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_COMPLETE,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n };\r\n};\r\n","import { createBrowserHistory } from 'history';\r\n\r\nexport const history = createBrowserHistory();","import React from 'react';\r\n\r\nclass ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {error: null, errorInfo: null};\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // Catch errors in any components below and re-render with error message\r\n this.setState({\r\n error: error,\r\n errorInfo: errorInfo\r\n })\r\n // You can also log error messages to an error reporting service here\r\n }\r\n\r\n render() {\r\n if (this.state.errorInfo) {\r\n // Error path\r\n return (\r\n
\r\n

Something went wrong.

\r\n
\r\n {this.state.error && this.state.error.toString()}\r\n
\r\n {this.state.errorInfo.componentStack}\r\n
\r\n
\r\n );\r\n }\r\n // Normally, just render children\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import React, {useState} from \"react\";\r\n\r\nimport {Modal} from \"react-bootstrap\";\r\nimport styles from './StatusPopup.module.scss';\r\n\r\nimport './StatusPopup.scss'\r\n\r\nimport x_icon from '../../assets/popup/x_icon.png';\r\n\r\nimport {ReactComponent as CloseIcon} from \"../../assets/editors/close_icon_x.svg\";\r\n\r\nimport error_icon from '../../assets/popup/error_icon.png';\r\nimport warning_icon from '../../assets/popup/warning_icon.png';\r\nimport vi_icon from '../../assets/popup/vi_icon.png';\r\nimport {OrangeButton} from \"../../components/com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {List, ListItem} from \"@mui/material\";\r\n\r\nexport enum StatusPopupType {\r\n ERROR,\r\n INFO,\r\n NOTE,\r\n CONFIRM\r\n}\r\n\r\ninterface IStatusPopup {\r\n type: StatusPopupType;\r\n title: string;\r\n subTitle: string;\r\n messages: string[] | undefined;\r\n show: boolean;\r\n handleClose: () => void;\r\n confirmOnClick?: React.MouseEventHandler;\r\n settings?: any;\r\n targetItemsLength?: number;\r\n}\r\n\r\n\r\nconst StatusPopup: React.FC = (props) => {\r\n const getIconByType = (type: StatusPopupType) => {\r\n if (type === StatusPopupType.ERROR) {\r\n return error_icon\r\n } else if (type === StatusPopupType.INFO) {\r\n return warning_icon\r\n } else if (type === StatusPopupType.NOTE) {\r\n return vi_icon\r\n } else if (type === StatusPopupType.CONFIRM) {\r\n return vi_icon\r\n }\r\n }\r\n const [value, setValue] = useState('softDelete');\r\n\r\n const onChangeValue = (e: React.ChangeEvent) => {\r\n setValue(e.target.value);\r\n }\r\n const [isWithItems, setWithItems] = useState('withOutItems');\r\n\r\n const onChangeWithItems = (e: React.ChangeEvent) => {\r\n setWithItems(e.target.value);\r\n }\r\n\r\n const onDeletePromotion = () => {\r\n props.settings.confirmOnClick.deletePromosItemsFromFlyer(isWithItems === 'withItems')\r\n }\r\n const messagesToRender = props.messages && props.messages.length ? props.messages.map((message, index) => {\r\n return {message}\r\n }\r\n ) : [];\r\n\r\n\r\n switch (props.settings.modalName) {\r\n case \"confirmHardDelete\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Are you sure you want to delete the Page(s)?
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n case \"confirmHardDeleteFlyer\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Are you sure you want to permanently delete the Flyer?
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n case \"confirmHardDeleteFlipbook\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Are you sure you want to permanently delete the Flipbook?
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n case \"uploadImageToPage\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Confirm overwrite of the current image?
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n\r\n case \"uploadPdfFileToFlipbook\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Overwrite the existing one?
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n\r\n case \"confirmSoftOrHardDelete\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
What do you wish to Delete?
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n Delete Page Image, Keep Content\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n Delete Page and Content\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n )\r\n case \"deletePromosFromFlyer\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
What do you wish to Delete?
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n Delete the Promotion, keep its items\r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n Delete the Promotion and Delete its Items\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n case \"deleteItemsFromFlyer\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{props.targetItemsLength! > 1 ? 'Confirm Items Delete with all they contents and Images.' : 'Confirm Item Delete with all its content and Image.'}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n case \"deleteFramesFromFlyer\":\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Confirm delete of all flyers frames
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n default:\r\n return (\r\n \r\n\r\n \r\n\r\n
\r\n \"image\"/\r\n
\r\n\r\n
\r\n \"image\"/\r\n {props.title}\r\n
\r\n\r\n
\r\n

{props.subTitle}

\r\n {messagesToRender}\r\n
\r\n
\r\n\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default StatusPopup;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASLSURBVHgB1ZpPTBN5FMff71fEXVcXdlfjhtAynBa6Ow2bLImb3WTLcU/loPFC4h9i4p8DJRpvatWTJsZ6ARMDYiIHowfxYvSg9ebBRCJQNDFaBfEPRpEmRsXOz/cGp9LpTDszndLpJ6H8+utMZ77z3vu9N33DwAYtk5JUy5SIUFiYMdEGAuoFQD24BAMYFcBSjIsEF3xktDWVsrFvceSk1AlM9IAQYVhGSBi+xO+1Pj1nYVtz/piUwgzEoeUWoAdPMsUZ7yhkIW72QSgZiDKh3Ky0CALdV8oI5XFoojFmto2hRUJJ/xD66hbwJvGx4NNe/WSeRULjgbiHRRBRecJ/Vj+ZIyQ0EYgJDj3gdRjbihc8mjOlDdpwaSU/hCpCZJSOcXk6QeOsRRQK7CqD+dghbawKkcf9W2llgKqDheX7/giNVCGMM+/HhRkKqLHCKTbQGm3gEQabLkCkbqONPVi49VFzU81nrJ2YAE+wa10v/LVqw+LfDxugfzYOMwvTRffzfch0coYFIHiAhhWNsGvttxU1UrcJLjZfVeeLgWVUmOOLBB6ArKHnRvqaJYuglDbuhfigmNDHxTMU0P86bu0L8HaCQ4VZw380tEb/7EmL1gDyrcoL6fqlOy8ORuYuwpV3l8AOFRWiD3Aircxbd6klVFQI5Qw9fa9suNQSbAnp+rkbun7aDm5Awa13KQrw4beD4IQaqxu2Y5Lav/6gOl7tq4PTr0+CU1SXMgjw7iebwSmWLEIHjvvPZN/vXheFnWt7wSkkQm+NvllnLqVhSUikfqO6TC7FqZjfvgsa5ozTDgJ8Kb71e+pixTa68/62egvWvurvnPl2rIfwtnjxc4sMS5dhjS/3okSnd5RkDcJysFMB128QF2SZow0nrHyFoUtRzrBzIcywZBENOuC8koZ/V/+XM9+C7tJQ64eb6eum+5KAU41ncubIpQ4836fmjlKxnUeG3wxAD7qC/uDk9wOBC3mxpFFyGVIERwmRrvx2XCqf6U6CYmagKV+MUVHopAwphOPM/uBDUl339WLIzUiMFgtGRaHTMqQQJZUo5BZmYga/ijEqCp2WIYVgcjJQ8o2uljBbVgZz5ulkjcqQ/x/+A27jStGoWeaGbtUyuk0tpQwphGvVbzozrya287iqmdE3675LaZCQOXCR4y+PGCZON8qQQrguhDCqAg7M7IVygUE+ikLYKJQBEnMMrUO4VYaYgb8EpWoENh6ZAp1QBqgKmFmYUnNOOcHCNcGqsZ2gZ+Hjp2a+2GBkCahSKD7u//kitbj8cqV8y0mZEdi+pv/ZjpWcbMJGT+U7uDZJYWO0mQbZhCgy7DBUGRgbHdo4K2RcTiUUBZz/orDMCKHEKDa093l9dmzDDQH3dHsaEdhrn8q56IYPDMhJP6ZlFgUvIsTQ2O9T2/TThkUjqRUCYuAxBChRIxFEwYdqWu7+Kq1YWUttawkqiACsPkDExoLTt8y2sfSYUxDb1xw7v2yZm0KqAAFxtMJIsW0tCdEgC9V8XxsBte8oJJeFURU+J6iIxfovo/guTwYfP7G68xchtsyyZ+aVHQAAAABJRU5ErkJggg==\"","import React from \"react\";\r\nimport {Button, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n orangeBtn: (props: any) => ({\r\n '&.MuiButton-root': {\r\n padding: `8px 12px`,\r\n height: `36px`,\r\n background: props.backgroundColor,\r\n color: `#FFFFFF`,\r\n borderRadius: `2px`,\r\n border: `none`,\r\n fontSize: `14px`,\r\n lineHeight: `1`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n textTransform: `capitalize`,\r\n width: props.width,\r\n '&:hover': {\r\n opacity: `0.7`,\r\n backgroundColor: props.backgroundColor,\r\n },\r\n '&:disabled': {\r\n opacity: `0.5`,\r\n color: `#FFFFFF`,\r\n }\r\n }\r\n })\r\n}))\r\n\r\ntype Props = {\r\n buttonName: string;\r\n backgroundColor?: string;\r\n isDisabled?: boolean;\r\n onClick?: (e: React.MouseEvent) => void;\r\n width?: number;\r\n}\r\n\r\n\r\nexport const OrangeButton = (props: Props) => {\r\n const properties = {\r\n backgroundColor: props.backgroundColor || `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n width: `${props.width}%` || \"auto\"\r\n }\r\n const classes = useStyles(properties);\r\n return (\r\n \r\n )\r\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACpSURBVHgBfZBfCsIwDMaTVhQWH5TVB9+k82DeZNsJ9AbDm3iD3UAvID4O9KUmgzFW0gYKTb7vR/5Ycr7fFOXxN3wekImtOzcr2nV2Tfsv51eGMAWJOUCo+XsbC3TwF3JVEEEzi1Y4Xy8EDdLMGEMQsEPAVnIZg18zvJ8tpGLqpI7BYeICBnOaRYOxbiFacBoDEe6Qu562YPJ6ydNpUM6sQlRWr5x5Cfn+D1z2SR78+puXAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIvSURBVHgB3dqNcYJAEAXgxUkBlEAJpALpQDsAK8AOMBVoB9qBkwowFWAHpAPtYLMbPKNE5PDW3F3ezEt0vEE/+RUIYEAQIKJ/E2pCjanhqVLZUz+pO+p70DyWCwGm1JKKf9yKmoJpaCKJJUC79WlpeAixcADQ7mKIgREbBxGqS13EymGE6roP4eLiNGwxoxcijxCqyS1I7RFAtWwjMo8+fLspG0YnSw7+JuM/ATY7mhr8TsRzZAL+Z8qQBPxPwpAI/E/MkBgkEtNkqoq+lqh/bBg2Y9MUhBKCyCYwjhEPB/xOXSNGUffYMESsKjwnTUU2w+aQS4RKF6aNEMSYQW4hujBdCCEMPAXRxvQhBDAv8Gh45Q57fq7zil+WAMdjM/6ZMZmdmGUoFmuLliTG+sougXFm82uCEULIQrjzuT6iKFDyveUguptYlb4jACuQoYgnYMAaQhgDVhGCGLCOEMKM4NHkud5hR5YBzGb94/hwxuT3icnsxM3m/rd8uZ/o28+s1xbXkXuYWzu7LowhQkEO4ph7e+w2RgChILXEhM4YncMOhRFCUCuGbIUmhjge649NEikEd8uQXHCCtpr/l1Omr6Pg53Kwr9mTYa92iG/gb1ZXz9CNy9BDW/9iYXNN3ScEYtd5a3ph7hGigHtBt6+xq65BJzRw6T3iAlM4iCjgkWBz7b12AMB3CY3BNNhcvi4tAPg9U53PGMCA4PWNZ/xY8sz08VS++WxH/Qiax1r5AogHJ4DONoGaAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKESURBVHgB7Zo/bhNBGMXfTJKCAglRpF4kSpBMQb8REoEK34BwgpgTYE6Ab0C4AW4gEQULBQ2Nb4BpKRAoRYr8mbxv1vZ6vet4I+2sZ6L9SZZnxxNl3n7fzM7sG4VrYD4jwgZe4AIxLztQuAPDT32M+BlDI8E5huo5yxVRVRqZI3TZ4X0WYzTLiD0cqF18WNXwSiGMQMwWb9C8gEXGvJE7V0VIL/vBHKJHEV+xfhFCxL784o3tL2tQGhH+wQF/eQkfSVPtdbF6AUZiwK99+M2BeoZX8xW51JqEzncRwp75xNSfYxYRO7UyDxES6QSQSDGLSDqwwyKdUS1WCKOxB5kZwiM2X/iAxjQiOohxUc55OlZUkGNjkS1E2q6dQucUXT1ZAIZOrJlWEcKnozkXdxA63EpswhW7plj3PQJOfqN2uC/SuCG0QnyjFeIbrRDfaIX4RivEN9yttf4mxbrT/3CF4nssgxuAu9Ta5Ev6+33gMV/OPHgP3IrgEnep9ZCd3+5m13dj4Mcj4OwfXOAmIrc7eRGCRGTb3euBZmetrTo9oTyyZ68/1sc0nk7G+TpJqT9DuEL27G6S9udOOgWLAPmW60VxdaEwksEuvl2EupFOS+ebwGCsrfEYPokW9xShYzDUE4MxQahwfIiGdPrdsHZbqNi+Z47VoTcO7nUY00u8J4XsgWjwFqFB621anAmxXtxF0fb1FoX+/AGCoj3ts8eeMWBK5W56+YGBI7xj2Hrwk4LHLpQuGu3JArX8uMQa6ZWJEFYdqokmtnWE9ZLwlvfVU3xb1qDaMSexr8X5bd4USpCOh5Wrj0pCpswOnhn7vIlqFSbbCVmJK3tGK+H/+aieoLIrdAkCRqGRdqNxCAAAAABJRU5ErkJggg==\"","\r\n\r\nimport { useSelector, TypedUseSelectorHook } from 'react-redux';\r\n\r\nimport { RootState } from '../store';\r\n\r\n\r\nexport const useTypedSelector: TypedUseSelectorHook = useSelector;","import {useState, useEffect} from 'react';\r\n\r\nimport {history} from '../../helpers/history';\r\nimport StatusPopup, {StatusPopupType} from '../../com/statusPopup/StatusPopup'\r\nimport {useTypedSelector} from '../../hooks/useTypeSelector';\r\nimport {ErrorDto} from \"../../dtos\";\r\n\r\nconst ReduxErrorsHandler: React.FC = () => {\r\n const authState = useTypedSelector((state) => state.auth);\r\n const analyticsData = useTypedSelector((state) => state.analyticsData);\r\n const pagesState = useTypedSelector((state) => state.pages);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const guiSettingsState = useTypedSelector((state) => state.guiSettings);\r\n const promosItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const conversionUrlSetting = useTypedSelector((state) => state.conversionUrlSetting);\r\n const accountSettingsAndLang = useTypedSelector((state) => state.accountSettingWithLang)\r\n const flyerDataFromPdf = useTypedSelector((state) => state.flyerDataFromPdf)\r\n const flyerDataFromJpegs = useTypedSelector((state) => state.flyerDataFromJpegs)\r\n const flyerDataWithoutImages = useTypedSelector((state) => state.flyerDataWithoutImages)\r\n const tocForPage = useTypedSelector((state) => state.tocForPage)\r\n const spots = useTypedSelector((state) => state.spots);\r\n const flyerClasses = useTypedSelector((state) => state.flyerClasses);\r\n const downloadFileState = useTypedSelector((state) => state.downloadFileState);\r\n const storeSettingsState = useTypedSelector((state) => state.accountStoreSettings);\r\n const storeState = useTypedSelector((state) => state.storeForAccount);\r\n const usersState = useTypedSelector((state) => state.usersAndPermissions);\r\n const updatePasswordState = useTypedSelector((state) => state.updatePassword);\r\n\r\n const [title, setTitle] = useState('');\r\n const [subTitle, setSubTitle] = useState('');\r\n const [recommendation, setRecommendation] = useState('');\r\n\r\n const [errorDto, setErrorDto] = useState(null);\r\n const [show, setShow] = useState(false);\r\n const [popupType, setPopupType] = useState(StatusPopupType.ERROR)\r\n\r\n const handleClose = () => {\r\n setShow(false)\r\n\r\n setTitle('')\r\n setSubTitle('')\r\n setRecommendation('')\r\n\r\n setErrorDto(null)\r\n };\r\n\r\n const hasUnauthorizedError = (errorDto: ErrorDto) => {\r\n if (errorDto) {\r\n if (errorDto.languageCultureMessageResponseDto) {\r\n let messageResponseDto = errorDto.languageCultureMessageResponseDto\r\n\r\n let texts = [\r\n messageResponseDto.title ? messageResponseDto.title.toLowerCase() : '',\r\n messageResponseDto.recommendedAction ? messageResponseDto.recommendedAction.toLowerCase() : '',\r\n messageResponseDto.userFriendlyMessage ? messageResponseDto.userFriendlyMessage.toLowerCase() : '',\r\n ];\r\n\r\n let hasUnauthorizedMessage = texts.some(text => text.includes('401') || text.includes('unauthorized'))\r\n\r\n if (hasUnauthorizedMessage) {\r\n return true;\r\n }\r\n } else if (errorDto.technicalMessage) {\r\n let message = errorDto.technicalMessage!.toLowerCase();\r\n\r\n if (message.includes('401') ||\r\n message.includes('unauthorized')) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // const removeCarriageReturn = (text: string): string => {\r\n // let filteredText = text.replace(/(\\r\\n)/gm,\"\");\r\n // return filteredText;\r\n // }\r\n\r\n const splitStringBy = (text: string, splitter: string): string[] => {\r\n if (!text || text.trim().length === 0) {\r\n return []\r\n }\r\n\r\n return text.split(splitter);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n let oldErrorDto = errorDto;\r\n let newErrorDto: ErrorDto | null = null;\r\n\r\n if (oldErrorDto) {\r\n // means that the current popup is still showing and has some errors inside of it\r\n // => dont try to close or change it\r\n if(oldErrorDto.languageCultureMessageResponseDto?.title?.indexOf('401') && oldErrorDto.languageCultureMessageResponseDto?.title?.indexOf('401') > 0){\r\n setErrorDto(null);\r\n }\r\n return;\r\n }\r\n\r\n if (authState.error) {\r\n newErrorDto = authState.error\r\n } else if (flippingFlyerState.error) {\r\n newErrorDto = flippingFlyerState.error\r\n } else if (promosItemsState.error) {\r\n newErrorDto = promosItemsState.error\r\n } else if (flyersState.error) {\r\n newErrorDto = flyersState.error\r\n } else if (guiSettingsState.error) {\r\n newErrorDto = guiSettingsState.error\r\n } else if (pagesState.error) {\r\n newErrorDto = pagesState.error\r\n } else if (analyticsData.error) {\r\n newErrorDto = analyticsData.error\r\n } else if (conversionUrlSetting.error) {\r\n newErrorDto = conversionUrlSetting.error\r\n } else if (spots.error) {\r\n newErrorDto = spots.error\r\n } else if (accountSettingsAndLang.error) {\r\n newErrorDto = accountSettingsAndLang.error\r\n } else if (flyerDataFromPdf.error) {\r\n newErrorDto = flyerDataFromPdf.error\r\n } else if (flyerDataFromJpegs.error) {\r\n newErrorDto = flyerDataFromJpegs.error\r\n } else if (flyerDataWithoutImages.error) {\r\n newErrorDto = flyerDataWithoutImages.error\r\n } else if (tocForPage.error) {\r\n newErrorDto = tocForPage.error\r\n } else if (flyerClasses.error) {\r\n newErrorDto = flyerClasses.error\r\n } else if (downloadFileState.error) {\r\n newErrorDto = downloadFileState.error\r\n } else if (storeSettingsState.error) {\r\n newErrorDto = storeSettingsState.error\r\n } else if (storeState.error) {\r\n newErrorDto = storeState.error\r\n } else if (usersState.error) {\r\n newErrorDto = usersState.error\r\n } else if (updatePasswordState.error) {\r\n newErrorDto = updatePasswordState.error\r\n }\r\n //\r\n if (newErrorDto && Object.keys(newErrorDto).length === 0) {\r\n newErrorDto = null;\r\n }\r\n\r\n //\r\n // if(newErrorsDto.errors!.length === 1){ \r\n // title = 'ERROR ' + newErrorsDto.errors![0].status\r\n // }\r\n // else {\r\n // title = 'ERRORS'\r\n // }\r\n\r\n\r\n //\r\n /*if(newErrorsDto!.errors && newErrorsDto!.errors!.length > 0){\r\n title = 'INFO'\r\n setPopupType(StatusPopupType.INFO)\r\n }\r\n else {\r\n setPopupType(StatusPopupType.ERROR)\r\n }*/\r\n\r\n //\r\n if (newErrorDto?.languageCultureMessageResponseDto?.title !== \"canceled\") {\r\n let hasErrors = newErrorDto !== null\r\n if (newErrorDto !== null) {\r\n setErrorDto(newErrorDto);\r\n setPopupType(StatusPopupType.INFO);\r\n if (newErrorDto.languageCultureMessageResponseDto && newErrorDto.languageCultureMessageResponseDto?.title === 'Network Error') {\r\n setRecommendation(\"Site temporarily not available. Please try again soon.\");\r\n setShow(hasErrors);\r\n } else if (newErrorDto.languageCultureMessageResponseDto\r\n && newErrorDto.languageCultureMessageResponseDto?.title\r\n && newErrorDto.languageCultureMessageResponseDto?.title?.indexOf(\"404\") > -1)\r\n {\r\n //handler for 404\r\n setRecommendation(newErrorDto.languageCultureMessageResponseDto?.title);\r\n setShow(hasErrors);\r\n } else if (hasUnauthorizedError(newErrorDto!)) {\r\n // setTitle(\"Unauthorized\")\r\n\r\n // navigate to login screen => reset errors list\r\n newErrorDto!.diagnostics = [];\r\n\r\n localStorage.removeItem('userDto')\r\n history.push('/')\r\n } else {\r\n setRecommendation(newErrorDto.userFriendlyMessage!.toString());\r\n setShow(hasErrors);\r\n // setRecommendation(newErrorDto.userFriendlyMessage! === '' ? newErrorDto.data.toString() : newErrorDto.userFriendlyMessage!.toString());\r\n }\r\n // let languageCultureMessage = newErrorDto.languageCultureMessageResponseDto!\r\n //\r\n // setTitle(languageCultureMessage && languageCultureMessage!.title ? languageCultureMessage!.title! : '')\r\n // setSubTitle(languageCultureMessage && languageCultureMessage!.recommendedAction ? languageCultureMessage!.recommendedAction! : '')\r\n // setRecommendation(languageCultureMessage && languageCultureMessage!.userFriendlyMessage ? languageCultureMessage!.userFriendlyMessage!.trim() : '')\r\n // if (hasUnauthorizedError(newErrorDto!)) {\r\n // setTitle(\"Unauthorized\")\r\n //\r\n // // navigate to login screen => reset errors list\r\n // newErrorDto!.diagnostics = [];\r\n //\r\n // localStorage.removeItem('userDto')\r\n // history.push('/')\r\n // }\r\n }\r\n }\r\n\r\n }, [\r\n authState.error,\r\n flippingFlyerState.error,\r\n flyersState.error,\r\n guiSettingsState.error,\r\n pagesState.error,\r\n promosItemsState.error,\r\n conversionUrlSetting.error,\r\n spots.error,\r\n accountSettingsAndLang.error,\r\n analyticsData.error,\r\n flyerDataFromPdf.error,\r\n tocForPage.error,\r\n flyerClasses.error,\r\n flyerDataFromJpegs.error,\r\n flyerDataWithoutImages.error,\r\n downloadFileState.error,\r\n storeSettingsState.error,\r\n storeState.error,\r\n usersState.error,\r\n updatePasswordState.error,\r\n ])\r\n\r\n const setting = {\r\n modalName: \"error\"\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default ReduxErrorsHandler;","import {forwardRef, Ref, useImperativeHandle, useState, useEffect} from 'react';\r\n\r\nimport loaderImg from '../../assets/loading_icon.png';\r\n\r\nimport './Loader.scss'\r\n\r\ninterface ILoader {\r\n show?: boolean;\r\n src?: string | null;\r\n}\r\n\r\nexport interface ILoaderRef {\r\n showLoader: (value: boolean) => void;\r\n}\r\n\r\nconst Loader = forwardRef((props: ILoader, ref: Ref) => {\r\n\r\n useImperativeHandle(ref, () => ({showLoader}));\r\n\r\n function showLoader(value: boolean): void {\r\n setShow(value)\r\n }\r\n\r\n const [show, setShow] = useState(props.show);\r\n\r\n useEffect(() => {\r\n if (show !== undefined) {\r\n setShow(show)\r\n }\r\n }, [show])\r\n\r\n return (\r\n
\r\n {\"No\r\n
\r\n )\r\n})\r\n\r\nexport default Loader;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAG6SURBVHgB7VU7bsJAEB0bCkpuYHODiA5RxLkBRvQ4J4CcwOYG4QSBGpDTUJuIX7m5ge0bpKQB8iaCyIA/C6JAgieNdjUzvLezO4OJHrhLbLdbnY0ugCqTFEPe3Nk/XNct0rUEAQ+iRlJwNBpZ6/XaoysKdmEfSUFFUWws73QtQRAyWYAq7eMYqnPgp0aj0ZfhihUEQREmYNF36sBquz2Td3eHeYbVIgdow/zxeKzFcSuUAIhZWPYVmSD9phQMBgMjl8vZ3GDIter1+hddAr5GWGZDDIdDgcpsujWcXKnv+7qqqgczttlsuqVS6SeNCHOoI+/gd+Dpm6YZHPhIDjJDfXKg1WpFtw9csRMEgcjKWy6X3nQ6dbLy1BQhA0I+zxnavU0ZwPu9Ia+5WCx8iDfpHHDjsFgYhq2I7wm+v/EQQhRBqvMeAgKVGfu8+Xxusc/zvNh3z8c50ZEBL1EfKnVhPd6jGfYH6cD3yQOP/YQd1WqVc3qUAKkuRXUWr5qmdY5jlUqFffpsNsu8dmlBVNGCOSnxV8xciyQg+wF+QXWJXwNUOSkUCgZJIC+TdPwvgzc8ES+XyyE9cBf4Bd0PxogvWZTMAAAAAElFTkSuQmCC\"","import {forwardRef, useRef, Ref, useImperativeHandle} from 'react';\r\n\r\nimport Loader, {ILoaderRef} from '../loader/Loader';\r\n\r\nimport './ButtonLoader.scss'\r\n\r\nexport interface IButtonLoaderRef {\r\n showLoader(value: boolean): void;\r\n}\r\n\r\nexport interface IButtonLoader {\r\n className?: string;\r\n children?: React.ReactNode,\r\n onClick?: () => void\r\n}\r\n\r\nconst ButtonLoader = forwardRef((props: IButtonLoader, ref: Ref) => {\r\n\r\n const loader = useRef(null);\r\n\r\n useImperativeHandle(ref, () => ({showLoader}));\r\n\r\n function showLoader(value: boolean): void {\r\n if (loader != null) {\r\n loader.current?.showLoader(value);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n )\r\n})\r\n\r\nexport default ButtonLoader;\r\n","import React from 'react';\r\n\r\nimport './TextInput.scss';\r\nimport {Input, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n inputStyles: (props: any) => ({\r\n width: `100%`,\r\n lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: `1px solid ${props.bordersColor}`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n '& > input': {\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: `12px`,\r\n borderRadius: \"5px\",\r\n // height: \"48px\",\r\n // lineHeight: `1`,\r\n },\r\n '& > textarea': {\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: `5px`,\r\n // lineHeight: `1`,\r\n }\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n }),\r\n\r\n}))\r\n\r\ninterface ITextInput {\r\n value?: string;\r\n label?: string;\r\n onChange: (event: React.ChangeEvent) => void;\r\n errorMessage?: string;\r\n type?: string;\r\n disabled?: boolean;\r\n verticalMode?: boolean;\r\n horizontalLabelCol?: string;\r\n horizontalInputCol?: string;\r\n maxLength?: number;\r\n readOnly?: boolean;\r\n placeHolder?: string;\r\n isRequired?: boolean;\r\n bordersColor?: string;\r\n withoutErrorMessage?: boolean;\r\n}\r\n\r\nconst TextInput: React.FC = (props) => {\r\n const properties = {\r\n bordersColor: props.bordersColor || \"#888888\"\r\n }\r\n const classes = useStyles(properties);\r\n return (\r\n // vertical mode\r\n <>\r\n {props.verticalMode &&\r\n\r\n
\r\n {props.label && }\r\n \r\n {\r\n !props.withoutErrorMessage &&\r\n {Boolean(props.errorMessage) ? props.errorMessage : ''}\r\n }\r\n
\r\n }\r\n\r\n {!props.verticalMode &&\r\n\r\n
\r\n
\r\n {props.label && }\r\n
\r\n
\r\n \r\n {\r\n !props.withoutErrorMessage &&\r\n {Boolean(props.errorMessage) ? props.errorMessage : ''}\r\n }\r\n
\r\n
\r\n }\r\n \r\n // horizontal\r\n )\r\n}\r\n\r\nTextInput.defaultProps = {\r\n verticalMode: true,\r\n\r\n horizontalLabelCol: 'col-sm-3',\r\n horizontalInputCol: 'col-sm-9',\r\n\r\n readOnly: false,\r\n}\r\n\r\nexport default TextInput;","import {useState} from 'react';\r\n\r\nimport TextInput from '../textInput/TextInput';\r\n\r\nimport './PasswordInput.scss';\r\n\r\nimport PasswordInputEyeImage from '../../assets/password_input_eye.png'\r\n\r\ninterface IPasswordInput {\r\n value: string;\r\n onChange: (event: React.ChangeEvent) => void;\r\n errorMessage?: string;\r\n}\r\n\r\nconst PasswordInput: React.FC = (props) => {\r\n\r\n const [hidden, setHidden] = useState(true);\r\n\r\n const onClick = () => {\r\n setHidden(!hidden);\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\"Image\r\n {/* */}\r\n
\r\n )\r\n}\r\n\r\nexport default PasswordInput;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGFSURBVHgB7VTtUcMwDLXTBbIBHaFMQNkAFmjaCVomSDJBwwT5WAA2IExA2SAbkAWS8BTkns8oScsf+qPvTuc4lvQk2ZJSV/w39JRCmqY+lgVk7nneDf+u27b93Gw25Z8J4Hiutd52XbfG1h9QqyGvkBhk1ckEcJ5g2arzQCTRKAFFjeVF/ZTERjmbzaKmaagsdVEUdyjRmrOzcYA82tloyzmV4QMyd4wiGMRKAGxCOhdI7ikQ2nhHJq33gvPMOIezCPLFQrqKz0rHhrLfm43HxlK6CmXJ+JzuhKL1WXZ5noesJmW3hs3ySKAGLnS1Wr3zZ+Ce4Q52/HlQMkKboJY0+F5GYWotwLcJ4gGl/jWhwRLhLOMglpKhsfE4ihJLLuj1aQZBQAGQQc1CL+uJzvA4AokcNr0/95m+qd89IDYQ20QmCAsV5NaU7tRGyyA5ZWpmEyIP8fKWjt5wozlEUgNNITFlszE17CjKBzUy7KCTQef5rGHngmYPnCwsogqOKzOb1BUXjW+0/66Rn7itoAAAAABJRU5ErkJggg==\"","\r\n\r\n\r\nexport const validEmailRegex = RegExp(/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/);\r\n \r\n// var varObj = { test: 1 } => getVariableName(test) will return: \"test\"\r\nexport const getVariableName = (varObj: Object) : string => {\r\n return Object.keys(varObj)[0];\r\n}\r\n\r\n\r\n\r\n\r\nexport function hexToRgb(hex: string) {\r\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n \r\n var res = result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n\r\n return res;\r\n}\r\n\r\nexport function rgbToHex(r: number, g: number, b: number) {\r\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\r\n}\r\n\r\n// for error validation label\r\nexport const getUnusableCharacterInsideUrl = () => {\r\n return '/\\\\?!@#$%^&*()'\r\n}\r\n\r\nexport const isUsableInsideUrl = (str: string) => {\r\n\r\n // IMPORTANT:\r\n // without using \\\\\\\\ the test wont work properly for\r\n // testing backslashes\r\n\r\n let invalidCharacters = '/\\\\\\\\?!@#$%^&*()'\r\n\r\n let regex: RegExp = new RegExp(`[${invalidCharacters}]`)\r\n\r\n if (!regex.test(str))\r\n {\r\n // No special chars\r\n return true;\r\n }\r\n\r\n return false;\r\n}","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCameraIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 88,\n height: 88,\n viewBox: \"0 0 88 65\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.3985 35.6767C27.378 44.8789 34.7766 52.3185 43.9584 52.339C53.0991 52.3595 60.5592 44.9608 60.5797 35.8406C60.6207 26.6794 53.1606 19.1783 44.0198 19.1578C34.9201 19.1373 27.419 26.5769 27.3985 35.6767ZM31.9483 36.1275C31.6819 29.5282 36.9696 23.9741 43.7534 23.7281C50.2503 23.5027 55.8044 28.8109 56.0504 35.4307C56.2758 41.8866 50.9881 47.5432 44.4912 47.7891C37.8099 48.0556 32.2148 42.8499 31.9483 36.1275Z\",\n fill: \"#616161\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M32.6689 64.9068C36.4126 64.9045 40.1563 64.9023 43.9001 64.9023C55.1518 64.9023 66.424 64.9023 77.6962 64.8818C83.6807 64.8613 87.9641 60.5983 87.9846 54.6138C88.0051 43.4236 88.0051 32.2129 87.9846 21.0227C87.9846 15.0791 83.6192 10.7752 77.6757 10.7752C73.8841 10.7752 70.0926 10.7752 66.301 10.7957C65.4812 10.7957 64.9688 10.5293 64.5385 9.83243C63.3293 7.84443 62.0996 5.87691 60.8494 3.95039C59.1893 1.36804 56.8119 0.0153712 53.7376 0.0153712C47.2408 -0.00512373 40.7644 -0.00512373 34.2675 0.0153712C31.1523 0.0153712 28.7748 1.40902 27.0943 4.05287C26.8975 4.36298 26.7008 4.67254 26.5042 4.98183C25.4927 6.57352 24.4858 8.15787 23.5077 9.77095C23.0363 10.5293 22.4624 10.8162 21.5811 10.8162C18.7842 10.7855 15.9989 10.7893 13.2077 10.7931C12.2765 10.7944 11.3446 10.7957 10.4114 10.7957C4.32442 10.7957 0 15.0791 0 21.1456C0 32.2744 0 43.4031 0.0409898 54.5318C0.0409898 55.3721 0.102475 56.2534 0.286929 57.0732C1.33217 61.8075 5.2467 64.9023 10.2065 64.9023C17.6939 64.9159 25.1814 64.9114 32.6689 64.9068ZM77.4502 60.3524H10.5549C6.72233 60.3524 4.59086 58.2209 4.59086 54.3884V21.2891C4.59086 17.5385 6.74282 15.3661 10.4729 15.3661C11.5145 15.3661 12.5578 15.3627 13.6018 15.3594C16.2142 15.351 18.8312 15.3426 21.4377 15.3866C24.1225 15.4275 26.09 14.3823 27.4427 12.0459C28.1406 10.8568 28.8874 9.69223 29.6318 8.53152C30.0677 7.85164 30.5029 7.1731 30.9268 6.49176C31.7261 5.20058 32.8738 4.56524 34.4109 4.56524C40.8054 4.58574 47.1793 4.58574 53.5737 4.56524C55.1108 4.56524 56.238 5.20058 57.0578 6.49176C57.4802 7.16479 57.9077 7.83531 58.3357 8.50683C59.133 9.75752 59.9325 11.0117 60.7059 12.2918C61.9766 14.4028 63.8211 15.3661 66.2395 15.3661C68.7407 15.3524 71.2509 15.357 73.7581 15.3615C75.0106 15.3638 76.2623 15.3661 77.5117 15.3661C81.2418 15.3661 83.4143 17.5385 83.4143 21.2891V54.3884C83.4143 58.2004 81.2623 60.3524 77.4502 60.3524Z\",\n fill: \"#616161\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCameraIcon);\nexport default __webpack_public_path__ + \"static/media/camera_icon.3a10ee50.svg\";\nexport { ForwardRef as ReactComponent };","import {useState, useEffect, useRef} from 'react';\r\n\r\nimport {useDispatch} from 'react-redux';\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport {ActionType} from '../../../store/actionTypes';\r\n\r\nimport {history} from '../../../helpers/history';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\n\r\nimport ButtonLoader, {IButtonLoaderRef} from '../../../com/buttonLoader/ButtonLoader';\r\n\r\nimport {LoginDto, UserDto} from '../../../dtos';\r\n\r\nimport PasswordInput from '../../../com/passwordInput/PasswordInput';\r\n\r\nimport TextInput from '../../../com/textInput/TextInput';\r\n\r\nimport {getVariableName} from '../../../helpers/utils';\r\nimport validator from \"validator\";\r\n\r\nimport './SigninForm.scss';\r\nimport {Box, Typography} from \"@mui/material\";\r\n// import {ReactComponent as EmailIcon} from \"./../../../assets/email_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n// import {makeStyles, Theme} from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n formWrapper: {\r\n width: \"100%\"\r\n },\r\n textEventsWrapper: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n marginTop: \"20px\"\r\n },\r\n textEventBox: {\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n rowGap: \"4px\",\r\n \"& > .MuiTypography-root\": {\r\n fontSize: \"14px\"\r\n }\r\n },\r\n emailIconWrapper: {\r\n display: `flex`,\r\n justifyContent: `center`,\r\n alignItems: `center`,\r\n marginTop: `20px`\r\n },\r\n emailIcon: {\r\n padding: `20px`,\r\n borderRadius: `50%`,\r\n backgroundColor: `#263EB91A`\r\n }\r\n}))\r\n\r\ninterface ISigninForm {\r\n onForgotPasswordClick: () => void;\r\n onRegisterClick: () => void;\r\n}\r\n\r\nconst SigninForm: React.FC = (props) => {\r\n\r\n // const {projectName} = useParams();\r\n\r\n const [emailAddress, setEmailAddress] = useState('');\r\n const [password, setPassword] = useState('');\r\n\r\n // for testing\r\n // const [userName, setUsername] = useState('johny');\r\n // const [password, setPassword] = useState('123456');\r\n\r\n const [errors, setErrors] = useState({\r\n emailAddress: '',\r\n password: '',\r\n });\r\n\r\n const hooksNames: string[] = [\r\n getVariableName({emailAddress}),\r\n getVariableName({password}),\r\n ];\r\n\r\n const dispatch = useDispatch();\r\n\r\n let buttonLoaderRef = useRef(null);\r\n\r\n const {loading, type} = useTypedSelector((state) => state.auth);\r\n const classes = useStyles();\r\n\r\n const onSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n if (!isFormdValid()) {\r\n return;\r\n }\r\n\r\n let loginDto: LoginDto = {\r\n emailAddress,\r\n password\r\n }\r\n\r\n buttonLoaderRef.current?.showLoader(true);\r\n\r\n dispatch(actionCreators.login(loginDto));\r\n }\r\n\r\n const isFormdValid = () => {\r\n\r\n let allErrors = validate();\r\n\r\n // if length === 0 => true\r\n // else false\r\n return Object.values(allErrors).join('').length === 0;\r\n }\r\n\r\n const onInputChange = (event: React.ChangeEvent, hookName: string, hookFunction: React.Dispatch>) => {\r\n var value = event.target.value;\r\n hookFunction(value);\r\n\r\n validate(hookName, value);\r\n }\r\n\r\n const validate = (hookName?: string, enforceValue?: any) => {\r\n\r\n let allErrors: any = {...errors}\r\n hooksNames.forEach(name => {\r\n let currentError = validateInput(name, enforceValue);\r\n\r\n if (hookName) {\r\n // validate only 1 input\r\n if (name === hookName) {\r\n allErrors[name] = currentError;\r\n }\r\n } else {\r\n // validate all inputs\r\n allErrors[name] = currentError;\r\n }\r\n });\r\n\r\n setErrors(allErrors);\r\n\r\n return allErrors;\r\n }\r\n\r\n const validateInput = (name: string, enforceValue?: any) => {\r\n\r\n let value = null;\r\n let err = '';\r\n\r\n if (enforceValue === undefined) {\r\n switch (name) {\r\n case getVariableName({emailAddress}):\r\n value = enforceValue ? enforceValue : emailAddress;\r\n const isValidEmail = validator.isEmail(value);\r\n err = !isValidEmail\r\n ? 'Email address is wrong'\r\n : ''\r\n break;\r\n\r\n case getVariableName({password}):\r\n // value = enforceValue;\r\n value = enforceValue ? enforceValue : password\r\n err = value.length < 6\r\n ? 'Password must be at least 6 characters'\r\n : ''\r\n break;\r\n }\r\n }\r\n\r\n return err;\r\n }\r\n\r\n const delay = 500;\r\n\r\n useEffect(() => {\r\n if (type === ActionType.LOGIN_SUCCESS) {\r\n setTimeout(() => {\r\n const userDto = localStorage.getItem('userDto');\r\n if (userDto) {\r\n history.push('/flyersCatalog');\r\n }\r\n }, delay);\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setTimeout(() => {\r\n buttonLoaderRef.current?.showLoader(false);\r\n }, delay);\r\n }\r\n }, [loading])\r\n\r\n return (\r\n
\r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n Sign In\r\n \r\n\r\n
\r\n \r\n onInputChange(e, getVariableName({emailAddress}), setEmailAddress)}\r\n errorMessage={errors.emailAddress}\r\n isRequired={true}\r\n />\r\n \r\n \r\n onInputChange(e, getVariableName({password}), setPassword)}\r\n errorMessage={errors.password}\r\n />\r\n\r\n \r\n \r\n SIGN IN\r\n \r\n \r\n \r\n \r\n Forgot Password?\r\n \r\n \r\n Click here\r\n \r\n \r\n \r\n \r\n Not registered yet?\r\n \r\n \r\n Register here\r\n \r\n\r\n \r\n \r\n\r\n {/**/}\r\n\r\n\r\n {/*\r\n
\r\n

New to xCircular?

\r\n
Register Free
\r\n
\r\n*/}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SigninForm;\r\n","export default __webpack_public_path__ + \"static/media/email_sent_icon.b7311b37.svg\";","import {forwardRef, Ref, useImperativeHandle, useRef} from 'react';\r\nimport emailSentIcon from '../../../assets/auth/email_sent_icon.svg';\r\nimport Loader, {ILoaderRef} from '../../../com/loader/Loader';\r\n\r\nimport './EmailSent.scss'\r\n\r\nexport interface IEmailSentRef {\r\n showLoader: (value: boolean) => void\r\n}\r\n\r\ninterface IEmailSent {\r\n onResendAnotherEmailClick: () => void\r\n}\r\n\r\nexport const EmailSent = forwardRef((props: IEmailSent, ref: Ref) => {\r\n\r\n const loader = useRef(null);\r\n\r\n useImperativeHandle(ref, () => ({showLoader}));\r\n\r\n const showLoader = (value: boolean) => {\r\n if (loader != null) {\r\n loader.current?.showLoader(value);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n\r\n {\"No\r\n\r\n

Email has been sent

\r\n\r\n

We have sent an email to your email adress. Click the confirmation link and Sign In please.

\r\n\r\n

If you did not recieve an email please press

\r\n\r\n
Resend another Email
\r\n\r\n \r\n\r\n
\r\n )\r\n})","import React, {useState, useEffect, useRef, Ref} from 'react';\r\n\r\n// the useSelector is kind of mapstatetoprops\r\nimport {useDispatch} from 'react-redux';\r\n\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\n\r\nimport ButtonLoader, {IButtonLoaderRef} from '../../../com/buttonLoader/ButtonLoader';\r\n\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport PasswordInput from '../../../com/passwordInput/PasswordInput';\r\nimport TextInput from '../../../com/textInput/TextInput';\r\n\r\nimport {IAuthParamsDto, RegisterDto} from '../../../dtos';\r\n\r\nimport './RegisterForm.scss';\r\n\r\nimport {\r\n validEmailRegex,\r\n getVariableName,\r\n isUsableInsideUrl,\r\n getUnusableCharacterInsideUrl\r\n} from '../../../helpers/utils';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {useParams} from \"react-router-dom\";\r\nimport {EmailSent, IEmailSentRef} from \"../emailSent/EmailSent\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Typography} from \"@mui/material\";\r\nimport 'react-phone-number-input/style.css'\r\n\r\nconst useStyles = makeStyles(() => ({\r\n formWrapper: {\r\n width: \"100%\"\r\n },\r\n textEventsWrapper: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n marginTop: \"20px\"\r\n },\r\n textEventBox: {\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n rowGap: \"4px\",\r\n \"& > .MuiTypography-root\": {\r\n fontSize: \"14px\"\r\n }\r\n },\r\n}))\r\n\r\ninterface IRegisterForm {\r\n onSigninClick: () => void;\r\n onRegisterSucceeded: () => void;\r\n refEmail: Ref;\r\n}\r\n\r\nconst RegisterForm: React.FC = (props) => {\r\n\r\n const classes = useStyles();\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [fullName, setFullName] = useState('');\r\n const [phoneNumber, setPhoneNumber] = useState('');\r\n const [company, setCompany] = useState('');\r\n const [emailAddress, setEmailAddress] = useState('');\r\n // const [userName, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const {projectName} = useParams();\r\n const [sentEmail, setSentEmail] = useState(false);\r\n // for testing \r\n // const [firstName, setFirstName] = useState('John');\r\n // const [lastName, setLastName] = useState('Doe');\r\n // const [company, setCompany] = useState('johndoecompany');\r\n // const [emailAddress, setEmailAddress] = useState('johndoe@gmail.com');\r\n // const [userName, setUsername] = useState('johny');\r\n // const [password, setPassword] = useState('123456');\r\n\r\n const [errors, setErrors] = useState({\r\n firstName: '',\r\n lastName: '',\r\n fullName: '',\r\n company: '',\r\n emailAddress: '',\r\n phoneNumber: '',\r\n // userName: '',\r\n password: '',\r\n });\r\n\r\n const hooksNames: string[] = [\r\n getVariableName({fullName}),\r\n getVariableName({firstName}),\r\n getVariableName({lastName}),\r\n getVariableName({company}),\r\n getVariableName({phoneNumber}),\r\n getVariableName({emailAddress}),\r\n // getVariableName({userName}),\r\n getVariableName({password}),\r\n ];\r\n\r\n\r\n const {data, error, loading, type} = useTypedSelector((state) => state.auth);\r\n\r\n const dispatch = useDispatch();\r\n\r\n let buttonLoaderRef = useRef(null);\r\n\r\n const onSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n\r\n if (!isFormdValid()) {\r\n return;\r\n }\r\n\r\n let registerDto: RegisterDto = {\r\n firstName,\r\n lastName,\r\n // fullName,\r\n company,\r\n emailAddress,\r\n // userName,\r\n password,\r\n // phoneNumber,\r\n accountTier: 1\r\n // accountTier: projectName === 'flyersCatalog' ? 10 : 1\r\n }\r\n\r\n buttonLoaderRef.current?.showLoader(true);\r\n\r\n dispatch(actionCreators.register(registerDto));\r\n }\r\n\r\n const isFormdValid = () => {\r\n\r\n let allErrors = validate();\r\n\r\n // if length === 0 => true\r\n // else false\r\n return Object.values(allErrors).join('').length === 0;\r\n }\r\n\r\n const onInputChange = (event: React.ChangeEvent, hookName: string, hookFunction: React.Dispatch>) => {\r\n var value = event.target.value;\r\n hookFunction(value);\r\n\r\n validate(hookName, value);\r\n }\r\n\r\n const onChangePhoneNumber = (phoneNumberString: string = \"\") => {\r\n setPhoneNumber(phoneNumberString);\r\n\r\n validate(getVariableName({phoneNumber}), phoneNumberString);\r\n };\r\n\r\n\r\n const validate = (hookName?: string, enforceValue?: any) => {\r\n\r\n let allErrors: any = {...errors}\r\n\r\n hooksNames.forEach(name => {\r\n let currentError = validateInput(name, enforceValue);\r\n\r\n if (hookName) {\r\n // validate only 1 input\r\n if (name === hookName) {\r\n allErrors[name] = currentError;\r\n }\r\n } else {\r\n // validate all inputs\r\n allErrors[name] = currentError;\r\n }\r\n });\r\n\r\n setErrors(allErrors);\r\n\r\n return allErrors;\r\n }\r\n\r\n const validateInput = (name: string, enforceValue?: any) => {\r\n\r\n let value = null;\r\n let err = '';\r\n\r\n if (enforceValue === undefined) {\r\n switch (name) {\r\n\r\n case getVariableName({firstName}):\r\n value = enforceValue ? enforceValue : firstName\r\n err = value.length < 2\r\n ? 'First Name must be at least 2 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({lastName}):\r\n value = enforceValue ? enforceValue : lastName\r\n err = value.length < 3\r\n ? 'Last Name must be at least 3 characters'\r\n : ''\r\n break;\r\n /*\r\n case getVariableName({fullName}):\r\n value = enforceValue ? enforceValue : fullName\r\n err = value.length < 3\r\n ? 'Full Name must include 2 or more letters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({phoneNumber}):\r\n value = enforceValue !== undefined ? enforceValue : phoneNumber;\r\n const isMobilePhoneEmail = validator.isMobilePhone(value);\r\n if (value !== \"\" && !isMobilePhoneEmail) {\r\n err = value.length < 3\r\n ? 'Incorrect Phone Number'\r\n : ''\r\n }\r\n break;\r\n */\r\n case getVariableName({company}):\r\n value = enforceValue ? enforceValue : company\r\n err = value.length < 3\r\n ? 'Company must be at least 3 characters'\r\n : ''\r\n\r\n if (err.length === 0) {\r\n if (!isUsableInsideUrl(value)) {\r\n let invalidCharacterInsideUrl = getUnusableCharacterInsideUrl()\r\n err = `Company contain invalid character (${invalidCharacterInsideUrl})`\r\n }\r\n }\r\n\r\n break;\r\n\r\n case getVariableName({emailAddress}):\r\n value = enforceValue ? enforceValue : emailAddress\r\n err = !validEmailRegex.test(value)\r\n ? 'Email address is wrong'\r\n : ''\r\n break;\r\n\r\n // case getVariableName({userName}):\r\n // value = enforceValue ? enforceValue : userName\r\n // err = value.length < 3\r\n // ? 'User Name must be at least 3 characters long'\r\n // : ''\r\n // break;\r\n\r\n case getVariableName({password}):\r\n value = enforceValue ? enforceValue : password\r\n err = value.length < 6\r\n ? 'Password must be at least 6 characters'\r\n : ''\r\n break;\r\n }\r\n }\r\n\r\n return err;\r\n }\r\n\r\n const delay = 500;\r\n\r\n useEffect(() => {\r\n if (type === ActionType.REGISTER_SUCCESS) {\r\n setTimeout(() => {\r\n //history.push('/flyersCatalog')\r\n props.onRegisterSucceeded();\r\n setSentEmail(true);\r\n }, delay);\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setTimeout(() => {\r\n buttonLoaderRef.current?.showLoader(false);\r\n }, delay);\r\n }\r\n }, [loading])\r\n\r\n if (sentEmail) {\r\n return {\r\n }}\r\n />\r\n }\r\n\r\n return (\r\n \r\n \r\n Register\r\n \r\n\r\n
\r\n
\r\n onInputChange(e, getVariableName({company}), setCompany)}\r\n errorMessage={errors.company}\r\n isRequired={true}\r\n />\r\n
\r\n
\r\n onInputChange(e, getVariableName({firstName}), setFirstName)}\r\n errorMessage={errors.firstName}\r\n isRequired={true}\r\n />\r\n
\r\n
\r\n onInputChange(e, getVariableName({lastName}), setLastName)}\r\n errorMessage={errors.lastName}\r\n isRequired={true}\r\n />\r\n
\r\n {/*\r\n
\r\n onInputChange(e, getVariableName({fullName}), setFullName)}\r\n errorMessage={errors.fullName}\r\n isRequired={true}\r\n />\r\n
\r\n*/}\r\n {/*\r\n \r\n \r\n {Boolean(errors.phoneNumber) ? errors.phoneNumber : ''}\r\n\r\n \r\n*/}\r\n
\r\n onInputChange(e, getVariableName({emailAddress}), setEmailAddress)}\r\n errorMessage={errors.emailAddress}\r\n isRequired={true}\r\n />\r\n
\r\n
\r\n onInputChange(e, getVariableName({password}), setPassword)}\r\n errorMessage={errors.password}\r\n />\r\n
\r\n\r\n \r\n REGISTER\r\n \r\n \r\n \r\n \r\n Already Have any account?\r\n \r\n \r\n Sign In\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default RegisterForm;\r\n","export default __webpack_public_path__ + \"static/media/mail_icon.be03989c.svg\";","import {useDispatch} from 'react-redux';\r\n\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport envManager from '../../../com/envManager/EnvManager';\r\n\r\n\r\nimport Loader, {ILoaderRef} from '../../../com/loader/Loader';\r\n\r\nimport completeRegistrationIcon from '../../../assets/auth/mail_icon.svg'\r\n\r\nimport './CompleteRegistration.scss'\r\nimport {useRef} from 'react';\r\nimport {useEffect} from 'react';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\nimport {useState} from 'react';\r\n\r\ninterface ICompleteRegistration {\r\n userId: number,\r\n userEmail: string,\r\n userToken: string,\r\n onRegisterEmailSucceeded: () => void\r\n onRegisterEmailFailed: () => void\r\n}\r\n\r\nexport const CompleteRegistration: React.FC = ({\r\n userId,\r\n userEmail,\r\n userToken,\r\n onRegisterEmailSucceeded,\r\n onRegisterEmailFailed\r\n }) => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const loader = useRef(null);\r\n const {data, error, loading, type} = useTypedSelector((state) => state.auth);\r\n\r\n const [status, setStatus] = useState('In Progress')\r\n const [statusClass, setStatusClass] = useState('')\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/auth/confirmEmail/${userId}/${userEmail}/${userToken}`\r\n\r\n const onRegistraterClick = () => {\r\n loader.current?.showLoader(true)\r\n dispatch(actionCreators.confirmEmail(userId, userToken));\r\n }\r\n\r\n const delay = 1000;\r\n\r\n useEffect(() => {\r\n if (type === ActionType.CONFIRM_EMAIL_COMPLETED) {\r\n setTimeout(() => {\r\n loader.current?.showLoader(false)\r\n\r\n setStatus('Succeded')\r\n setStatusClass('success')\r\n\r\n setTimeout(() => {\r\n onRegisterEmailSucceeded()\r\n }, delay);\r\n }, delay);\r\n }\r\n if (type === ActionType.CONFIRM_EMAIL_ERROR) {\r\n setTimeout(() => {\r\n loader.current?.showLoader(false)\r\n onRegisterEmailFailed()\r\n\r\n setStatus('Failed')\r\n setStatusClass('failed')\r\n }, delay);\r\n }\r\n }, [type])\r\n\r\n useEffect(() => {\r\n onRegistraterClick()\r\n }, [])\r\n\r\n return (\r\n\r\n
\r\n\r\n \"\"/\r\n\r\n

Hello {userEmail},

\r\n\r\n

Registration {status}

\r\n\r\n \r\n\r\n

Please contact the\r\n Administrator

\r\n\r\n

xCircular Team

\r\n\r\n
\r\n\r\n\r\n )\r\n}","import React, {useState, useEffect, useRef, Ref, forwardRef, useImperativeHandle} from 'react';\r\nimport {useDispatch} from 'react-redux';\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\n\r\nimport ButtonLoader, {IButtonLoaderRef} from '../../../com/buttonLoader/ButtonLoader';\r\n\r\nimport {ForgotPasswordDto} from '../../../dtos';\r\n\r\nimport TextInput from '../../../com/textInput/TextInput';\r\n\r\nimport './ForgotPasswordForm.scss';\r\nimport {getVariableName, validEmailRegex} from '../../../helpers/utils';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {EmailSent, IEmailSentRef} from \"../emailSent/EmailSent\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n formWrapper: {\r\n width: \"100%\"\r\n },\r\n}))\r\n\r\nexport interface IForgotPasswordFormRef {\r\n sendEmail: () => void\r\n}\r\n\r\ninterface IForgotPasswordForm {\r\n onEmailSent: () => void,\r\n show: boolean,\r\n handleResendAnotherEmail: () => void;\r\n refEmail: Ref;\r\n}\r\n\r\n\r\nconst ForgotPasswordForm = forwardRef((props: IForgotPasswordForm, ref: Ref) => {\r\n\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n // for testing\r\n //const [emailAddress, setEmailAddress] = useState('shomron.hazave@xcircular.com');\r\n const [emailAddress, setEmailAddress] = useState('');\r\n const [errors, setErrors] = useState({emailAddress: ''});\r\n const [sentEmail, setSentEmail] = useState(false);\r\n const {data, error, loading, type} = useTypedSelector((state) => state.auth);\r\n\r\n const hooksNames: string[] = [getVariableName({emailAddress})];\r\n\r\n //\r\n let buttonLoaderRef = useRef(null);\r\n useImperativeHandle(ref, () => ({sendEmail}));\r\n\r\n //\r\n const onSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n if (!isFormdValid()) {\r\n return;\r\n }\r\n\r\n sendEmail()\r\n }\r\n\r\n const sendEmail = () => {\r\n let forgotPasswordDto: ForgotPasswordDto = {\r\n emailAddress\r\n }\r\n\r\n buttonLoaderRef.current?.showLoader(true);\r\n\r\n dispatch(actionCreators.forgotPassword(forgotPasswordDto));\r\n }\r\n\r\n useEffect(() => {\r\n if (type === ActionType.FORGOT_PASSWORD_SUCCESS) {\r\n setTimeout(() => {\r\n props.onEmailSent();\r\n setSentEmail(true);\r\n }, delay);\r\n }\r\n })\r\n\r\n const isFormdValid = () => {\r\n\r\n let allErrors = validate();\r\n\r\n // if length === 0 => true\r\n // else false\r\n return Object.values(allErrors).join('').length === 0;\r\n }\r\n\r\n const onInputChange = (event: React.ChangeEvent, hookName: string, hookFunction: React.Dispatch>) => {\r\n var value = event.target.value;\r\n hookFunction(value);\r\n\r\n validate(hookName, value);\r\n }\r\n\r\n const validate = (hookName?: string, enforceValue?: any) => {\r\n\r\n let allErrors: any = {...errors}\r\n\r\n hooksNames.forEach(name => {\r\n let currentError = validateInput(name, enforceValue);\r\n\r\n if (hookName) {\r\n // validate only 1 input\r\n if (name === hookName) {\r\n allErrors[name] = currentError;\r\n }\r\n } else {\r\n // validate all inputs\r\n allErrors[name] = currentError;\r\n }\r\n });\r\n\r\n setErrors(allErrors);\r\n\r\n return allErrors;\r\n }\r\n\r\n const validateInput = (name: string, enforceValue?: any) => {\r\n\r\n let value = null;\r\n let err = '';\r\n if (enforceValue === undefined) {\r\n switch (name) {\r\n\r\n case getVariableName({emailAddress}):\r\n value = enforceValue ? enforceValue : emailAddress\r\n err = !validEmailRegex.test(value)\r\n ? 'Email address is wrong'\r\n : ''\r\n break;\r\n }\r\n }\r\n\r\n return err;\r\n }\r\n\r\n const delay = 500;\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setTimeout(() => {\r\n buttonLoaderRef.current?.showLoader(false);\r\n }, delay);\r\n }\r\n }, [loading])\r\n\r\n // if(!props.show){\r\n // return null\r\n // }\r\n if (sentEmail) {\r\n return \r\n }\r\n\r\n return (\r\n \r\n\r\n \r\n Forgot password\r\n \r\n\r\n \r\n Enter your email address and get an email with the link to reset the password\r\n \r\n\r\n
\r\n
\r\n onInputChange(e, getVariableName({emailAddress}), setEmailAddress)}\r\n errorMessage={errors.emailAddress}\r\n isRequired={true}\r\n />\r\n
\r\n\r\n \r\n SEND\r\n \r\n\r\n {/**/}\r\n \r\n
\r\n )\r\n})\r\n\r\nexport default ForgotPasswordForm;\r\n","import React, {useState, useEffect, useRef} from 'react';\r\n\r\n// the useSelector is kind of mapstatetoprops\r\nimport {useDispatch} from 'react-redux';\r\n\r\nimport ButtonLoader, {IButtonLoaderRef} from '../../../com/buttonLoader/ButtonLoader';\r\n\r\nimport {history} from '../../../helpers/history';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\n\r\n\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport PasswordInput from '../../../com/passwordInput/PasswordInput';\r\n\r\nimport {ResetPasswordDto, UserDto} from '../../../dtos';\r\n\r\n// import './../register/RegisterForm.scss';\r\nimport './../resetPassword/ResetPassword.scss';\r\n\r\nimport {validEmailRegex, getVariableName} from '../../../helpers/utils';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n formWrapper: {\r\n width: \"100%\"\r\n },\r\n}))\r\n\r\n\r\ninterface IResetPassword {\r\n onSigninClick: () => void;\r\n userId: number;\r\n userEmail: string;\r\n userToken: string;\r\n}\r\n\r\nconst ResetPassword: React.FC = (props) => {\r\n\r\n const classes = useStyles();\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [company, setCompany] = useState('');\r\n const [emailAddress, setEmailAddress] = useState('');\r\n // const [userName, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [verifiedPassword, setVerifiedPassword] = useState('');\r\n\r\n // for testing \r\n // const [firstName, setFirstName] = useState('John');\r\n // const [lastName, setLastName] = useState('Doe');\r\n // const [company, setCompany] = useState('johndoecompany');\r\n // const [emailAddress, setEmailAddress] = useState('johndoe@gmail.com');\r\n // const [userName, setUsername] = useState('johny');\r\n // const [password, setPassword] = useState('123456');\r\n // const [verifiedPassword, setVerifiedPassword] = useState('123456');\r\n\r\n\r\n const [errors, setErrors] = useState({\r\n firstName: '',\r\n lastName: '',\r\n company: '',\r\n emailAddress: '',\r\n // userName: '',\r\n password: '',\r\n verifiedPassword: ''\r\n });\r\n\r\n const hooksNames: string[] = [\r\n getVariableName({firstName}),\r\n getVariableName({lastName}),\r\n getVariableName({company}),\r\n getVariableName({emailAddress}),\r\n // getVariableName({userName}),\r\n getVariableName({password}),\r\n getVariableName({verifiedPassword}),\r\n ];\r\n\r\n\r\n const {data, loading, type} = useTypedSelector((state) => state.auth);\r\n\r\n const dispatch = useDispatch();\r\n\r\n let buttonLoaderRef = useRef(null);\r\n\r\n const onSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n if (!isFormdValid()) {\r\n return;\r\n }\r\n\r\n let resetPasswordDto: ResetPasswordDto = {\r\n userId: props.userId,\r\n token: props.userToken,\r\n password: password\r\n }\r\n\r\n buttonLoaderRef.current?.showLoader(true);\r\n\r\n dispatch(actionCreators.resetPassword(resetPasswordDto));\r\n }\r\n\r\n const isFormdValid = () => {\r\n\r\n let allErrors = validate();\r\n\r\n // if length === 0 => true\r\n // else false\r\n return Object.values(allErrors).join('').length === 0;\r\n }\r\n\r\n const onInputChange = (event: React.ChangeEvent, hookName: string, hookFunction: React.Dispatch>) => {\r\n var value = event.target.value;\r\n hookFunction(value);\r\n\r\n validate(hookName, value);\r\n }\r\n\r\n const validate = (hookName?: string, enforceValue?: any) => {\r\n\r\n let allErrors: any = {...errors}\r\n\r\n hooksNames.forEach(name => {\r\n let currentError = validateInput(name, enforceValue);\r\n\r\n if (hookName) {\r\n // validate only 1 input\r\n if (name === hookName) {\r\n allErrors[name] = currentError;\r\n }\r\n } else {\r\n // validate all inputs\r\n allErrors[name] = currentError;\r\n }\r\n });\r\n\r\n setErrors(allErrors);\r\n\r\n return allErrors;\r\n }\r\n\r\n const validateInput = (name: string, enforceValue?: any) => {\r\n\r\n let value = null;\r\n let err = '';\r\n\r\n if (enforceValue === undefined) {\r\n switch (name) {\r\n case getVariableName({firstName}):\r\n value = enforceValue ? enforceValue : firstName\r\n err = value.length < 3\r\n ? 'First Name must be at least 3 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({lastName}):\r\n value = enforceValue ? enforceValue : lastName\r\n err = value.length < 3\r\n ? 'Last Name must be at least 3 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({company}):\r\n value = enforceValue ? enforceValue : company\r\n err = value.length < 3\r\n ? 'Company must be at least 3 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({emailAddress}):\r\n value = enforceValue ? enforceValue : emailAddress\r\n err = !validEmailRegex.test(value)\r\n ? 'Email address is wrong'\r\n : ''\r\n break;\r\n\r\n // case getVariableName({userName}):\r\n // value = enforceValue ? enforceValue : userName\r\n // err = value.length < 3\r\n // ? 'User Name must be at least 3 characters long'\r\n // : ''\r\n // break;\r\n\r\n case getVariableName({password}):\r\n value = enforceValue ? enforceValue : password\r\n err = value.length < 6\r\n ? 'Password must be at least 6 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({verifiedPassword}):\r\n value = enforceValue ? enforceValue : verifiedPassword\r\n\r\n err = value.length < 6\r\n ? 'Verified Password must be at least 6 characters'\r\n : ''\r\n\r\n if (err === '' &&\r\n value.length !== 0 &&\r\n password.length !== 0 &&\r\n value !== password) {\r\n err = 'Verified Password and Password must match.';\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n return err;\r\n }\r\n\r\n useEffect(() => {\r\n // will run once\r\n var userData: UserDto = {\r\n userId: props.userId,\r\n token: props.userToken\r\n }\r\n\r\n dispatch(actionCreators.fetchUserData(userData));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (type === ActionType.REGISTER_SUCCESS) {\r\n history.push('/flyersCatalog');\r\n /*\r\n if (isMobile || projectName.indexOf('flipbookEditor') > -1) {\r\n history.push('/flipbookEditor');\r\n } else {\r\n history.push('/flyersCatalog');\r\n }\r\n */\r\n }\r\n\r\n if (type === ActionType.FETCH_USER_DATA_SUCCESS) {\r\n setFirstName(data!.firstName!);\r\n setLastName(data!.lastName!);\r\n setCompany(data!.company!);\r\n setEmailAddress(data!.emailAddress!);\r\n // setUsername(data!.userName!);\r\n }\r\n\r\n if (type === ActionType.RESET_PASSWORD_SUCCESS) {\r\n setTimeout(() => {\r\n history.push('/auth')\r\n props.onSigninClick();\r\n }, delay);\r\n }\r\n })\r\n\r\n const delay = 500;\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setTimeout(() => {\r\n buttonLoaderRef.current?.showLoader(false);\r\n }, delay);\r\n }\r\n }, [loading])\r\n\r\n return (\r\n
\r\n \r\n Reset Password\r\n \r\n\r\n \r\n For the account {props.userEmail}\r\n \r\n\r\n
\r\n
\r\n \r\n onInputChange(e, getVariableName({password}), setPassword)}\r\n errorMessage={errors.password}\r\n />\r\n
\r\n
\r\n \r\n onInputChange(e, getVariableName({verifiedPassword}), setVerifiedPassword)}\r\n errorMessage={errors.verifiedPassword}\r\n />\r\n
\r\n\r\n \r\n RESET PASSWORD\r\n \r\n\r\n {/*

Already have an account? Sign In

*/}\r\n\r\n {/**/}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default ResetPassword;\r\n","export default __webpack_public_path__ + \"static/media/logo.c38bef26.svg\";","import React from \"react\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Link} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n authWrapper: {\r\n marginBottom: \"24px\",\r\n textAlign: \"center\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-around\",\r\n\r\n // \"& span, a\": {\r\n // fontSize: \"12px\",\r\n // fontStyle: \"normal\",\r\n // lineHeight: \"22px\",\r\n // letterSpacing: \"0em\",\r\n // },\r\n\r\n // \"& a\": {\r\n // color: \"#2D40C5\",\r\n // },\r\n\r\n // \"& a:nth-of-type(1), a:nth-of-type(2)\": {\r\n // fontStyle: \"normal\",\r\n // fontWeight: 900,\r\n // lineHeight: \"22px\",\r\n // letterSpacing: \"0em\",\r\n // }\r\n },\r\n link: {\r\n \"&.MuiTypography-root\": {\r\n color: \"#828282\",\r\n fontSize: \"14px\",\r\n lineHeight: \"16px\",\r\n textDecorationColor: \"#828282\"\r\n }\r\n }\r\n}));\r\n\r\nconst AuthPrivacy = () => {\r\n const classes = useStyles();\r\n return (\r\n \r\n Privacy\r\n Policy \r\n Terms &\r\n Conditions\r\n \r\n );\r\n}\r\n\r\nexport default AuthPrivacy;","import {useDispatch} from 'react-redux';\r\nimport {actionCreators} from '../../../store';\r\nimport Loader, {ILoaderRef} from '../../../com/loader/Loader';\r\nimport completeRegistrationIcon from '../../../assets/auth/mail_icon.svg'\r\n\r\nimport './CompleteUserRegistration.scss'\r\nimport {useRef} from 'react';\r\nimport {useEffect} from 'react';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\nimport {useState} from 'react';\r\nimport {logout} from \"../../../store/actionCreators\";\r\nimport {resetFlyerState} from \"../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {clearFlyersData} from \"../../../store/actionCreators/flyersActionCreators\";\r\n\r\ninterface ICompleteRegistration {\r\n userId: number,\r\n userEmail: string,\r\n userToken: string,\r\n onRegisterEmailSucceeded: () => void\r\n onRegisterEmailFailed: () => void\r\n}\r\n\r\nexport const CompleteUserRegistration: React.FC = ({\r\n userId,\r\n userEmail,\r\n userToken,\r\n onRegisterEmailSucceeded,\r\n onRegisterEmailFailed\r\n }) => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const loader = useRef(null);\r\n const {type} = useTypedSelector((state) => state.auth);\r\n\r\n const [status, setStatus] = useState('In Progress')\r\n const [statusClass, setStatusClass] = useState('')\r\n\r\n const onRegistraterClick = () => {\r\n loader.current?.showLoader(true)\r\n dispatch(actionCreators.confirmEmail(userId, userToken, false));\r\n }\r\n\r\n const delay = 1000;\r\n\r\n useEffect(() => {\r\n if (type === ActionType.CONFIRM_EMAIL_COMPLETED) {\r\n setTimeout(() => {\r\n loader.current?.showLoader(false)\r\n\r\n setStatus('Succeded')\r\n setStatusClass('success')\r\n\r\n setTimeout(() => {\r\n onRegisterEmailSucceeded()\r\n }, delay);\r\n }, delay);\r\n }\r\n if (type === ActionType.CONFIRM_EMAIL_ERROR) {\r\n setTimeout(() => {\r\n loader.current?.showLoader(false)\r\n onRegisterEmailFailed()\r\n\r\n setStatus('Failed')\r\n setStatusClass('failed')\r\n }, delay);\r\n }\r\n }, [type])\r\n\r\n useEffect(() => {\r\n dispatch(logout());\r\n dispatch(resetFlyerState());\r\n dispatch(clearFlyersData());\r\n setTimeout(() => {\r\n onRegistraterClick();\r\n }, 1000)\r\n }, [])\r\n\r\n return (\r\n\r\n
\r\n\r\n \"\"/\r\n\r\n

Hello {userEmail},

\r\n\r\n

Registration {status}

\r\n\r\n \r\n\r\n

Please contact the\r\n Administrator

\r\n\r\n

xCircular Team

\r\n\r\n
\r\n\r\n\r\n )\r\n}","import React, {useState, useEffect, useRef} from 'react';\r\n\r\n// the useSelector is kind of mapstatetoprops\r\nimport {useDispatch} from 'react-redux';\r\n\r\nimport ButtonLoader, {IButtonLoaderRef} from '../../../com/buttonLoader/ButtonLoader';\r\n\r\nimport {history} from '../../../helpers/history';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\n\r\n\r\nimport {actionCreators} from '../../../store';\r\n\r\nimport PasswordInput from '../../../com/passwordInput/PasswordInput';\r\n\r\nimport {ResetPasswordDto, UserDto} from '../../../dtos';\r\n\r\nimport './SetPassword.scss';\r\n\r\nimport {validEmailRegex, getVariableName} from '../../../helpers/utils';\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n formWrapper: {\r\n width: \"100%\"\r\n },\r\n}))\r\n\r\n\r\ninterface IResetPassword {\r\n onSigninClick: () => void;\r\n userId: number;\r\n userEmail: string;\r\n userToken: string;\r\n}\r\n\r\nconst SetPassword: React.FC = (props) => {\r\n\r\n const classes = useStyles();\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [company, setCompany] = useState('');\r\n const [emailAddress, setEmailAddress] = useState('');\r\n // const [userName, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n const [verifiedPassword, setVerifiedPassword] = useState('');\r\n\r\n // for testing \r\n // const [firstName, setFirstName] = useState('John');\r\n // const [lastName, setLastName] = useState('Doe');\r\n // const [company, setCompany] = useState('johndoecompany');\r\n // const [emailAddress, setEmailAddress] = useState('johndoe@gmail.com');\r\n // const [userName, setUsername] = useState('johny');\r\n // const [password, setPassword] = useState('123456');\r\n // const [verifiedPassword, setVerifiedPassword] = useState('123456');\r\n\r\n\r\n const [errors, setErrors] = useState({\r\n firstName: '',\r\n lastName: '',\r\n company: '',\r\n emailAddress: '',\r\n // userName: '',\r\n password: '',\r\n verifiedPassword: ''\r\n });\r\n\r\n const hooksNames: string[] = [\r\n getVariableName({firstName}),\r\n getVariableName({lastName}),\r\n getVariableName({company}),\r\n getVariableName({emailAddress}),\r\n // getVariableName({userName}),\r\n getVariableName({password}),\r\n getVariableName({verifiedPassword}),\r\n ];\r\n\r\n\r\n const {data, loading, type} = useTypedSelector((state) => state.auth);\r\n\r\n const dispatch = useDispatch();\r\n\r\n let buttonLoaderRef = useRef(null);\r\n\r\n const onSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n\r\n if (!isFormdValid()) {\r\n return;\r\n }\r\n\r\n let resetPasswordDto: ResetPasswordDto = {\r\n userId: props.userId,\r\n token: props.userToken,\r\n password: password\r\n }\r\n\r\n buttonLoaderRef.current?.showLoader(true);\r\n\r\n dispatch(actionCreators.resetPassword(resetPasswordDto));\r\n }\r\n\r\n const isFormdValid = () => {\r\n\r\n let allErrors = validate();\r\n\r\n // if length === 0 => true\r\n // else false\r\n return Object.values(allErrors).join('').length === 0;\r\n }\r\n\r\n const onInputChange = (event: React.ChangeEvent, hookName: string, hookFunction: React.Dispatch>) => {\r\n const value = event.target.value;\r\n hookFunction(value);\r\n\r\n validate(hookName, value);\r\n }\r\n\r\n const validate = (hookName?: string, enforceValue?: any) => {\r\n\r\n let allErrors: any = {...errors}\r\n\r\n hooksNames.forEach(name => {\r\n let currentError = validateInput(name, enforceValue);\r\n\r\n if (hookName) {\r\n // validate only 1 input\r\n if (name === hookName) {\r\n allErrors[name] = currentError;\r\n }\r\n } else {\r\n // validate all inputs\r\n allErrors[name] = currentError;\r\n }\r\n });\r\n\r\n setErrors(allErrors);\r\n\r\n return allErrors;\r\n }\r\n\r\n const validateInput = (name: string, enforceValue?: any) => {\r\n\r\n let value = null;\r\n let err = '';\r\n\r\n if (enforceValue === undefined) {\r\n switch (name) {\r\n case getVariableName({firstName}):\r\n value = enforceValue ? enforceValue : firstName\r\n err = value.length < 2\r\n ? 'First Name must be at least 2 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({lastName}):\r\n value = enforceValue ? enforceValue : lastName\r\n err = value.length < 3\r\n ? 'Last Name must be at least 3 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({company}):\r\n value = enforceValue ? enforceValue : company\r\n err = value.length < 6\r\n ? 'Company must be at least 3 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({emailAddress}):\r\n value = enforceValue ? enforceValue : emailAddress\r\n err = !validEmailRegex.test(value)\r\n ? 'Email address is wrong'\r\n : ''\r\n break;\r\n\r\n // case getVariableName({userName}):\r\n // value = enforceValue ? enforceValue : userName\r\n // err = value.length < 3\r\n // ? 'User Name must be at least 3 characters long'\r\n // : ''\r\n // break;\r\n\r\n case getVariableName({password}):\r\n value = enforceValue ? enforceValue : password\r\n err = value.length < 6\r\n ? 'Password must be at least 6 characters'\r\n : ''\r\n break;\r\n\r\n case getVariableName({verifiedPassword}):\r\n value = enforceValue ? enforceValue : verifiedPassword\r\n\r\n err = value.length < 6\r\n ? 'Verified Password must be at least 6 characters'\r\n : ''\r\n\r\n if (err === '' &&\r\n value.length !== 0 &&\r\n password.length !== 0 &&\r\n value !== password) {\r\n err = 'Verified Password and Password must match.';\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n return err;\r\n }\r\n\r\n useEffect(() => {\r\n // will run once\r\n var userData: UserDto = {\r\n userId: props.userId,\r\n token: props.userToken\r\n }\r\n\r\n dispatch(actionCreators.fetchUserData(userData));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (type === ActionType.REGISTER_SUCCESS) {\r\n history.push('/flyersCatalog');\r\n /*\r\n if (isMobile || projectName.indexOf('flipbookEditor') > -1) {\r\n history.push('/flipbookEditor');\r\n } else {\r\n history.push('/flyersCatalog');\r\n }\r\n */\r\n }\r\n\r\n if (type === ActionType.FETCH_USER_DATA_SUCCESS) {\r\n setFirstName(data!.firstName!);\r\n setLastName(data!.lastName!);\r\n setCompany(data!.company!);\r\n setEmailAddress(data!.emailAddress!);\r\n // setUsername(data!.userName!);\r\n }\r\n\r\n if (type === ActionType.RESET_PASSWORD_SUCCESS) {\r\n setTimeout(() => {\r\n history.push('/auth')\r\n props.onSigninClick();\r\n }, delay);\r\n }\r\n })\r\n\r\n const delay = 500;\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setTimeout(() => {\r\n buttonLoaderRef.current?.showLoader(false);\r\n }, delay);\r\n }\r\n }, [loading])\r\n\r\n return (\r\n
\r\n \r\n Set password\r\n \r\n\r\n \r\n For the account {props.userEmail}\r\n \r\n\r\n
\r\n
\r\n \r\n onInputChange(e, getVariableName({password}), setPassword)}\r\n errorMessage={errors.password}\r\n />\r\n
\r\n
\r\n \r\n onInputChange(e, getVariableName({verifiedPassword}), setVerifiedPassword)}\r\n errorMessage={errors.verifiedPassword}\r\n />\r\n
\r\n\r\n \r\n CONFIRM\r\n \r\n\r\n {/*

Already have an account? Sign In

*/}\r\n\r\n {/**/}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SetPassword;\r\n","import React, {useState, useEffect, useRef} from 'react';\r\n\r\nimport {Redirect, Route, RouteComponentProps, Switch, useParams} from 'react-router-dom';\r\n\r\nimport {history} from '../../helpers/history';\r\n\r\nimport SigninForm from './signIn/SigninForm'\r\n\r\nimport RegisterForm from './register/RegisterForm';\r\nimport {CompleteRegistration} from './completeRegistration/CompleteRegistration';\r\n\r\nimport {IEmailSentRef} from './emailSent/EmailSent';\r\n\r\nimport ForgotPasswordForm, {IForgotPasswordFormRef} from './forgotPassword/ForgotPasswordForm';\r\n\r\nimport ResetPassword from './resetPassword/ResetPassword';\r\n\r\nimport logo from '../../assets/logo.svg';\r\n\r\nimport './AuthScreen.scss';\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, useMediaQuery} from \"@mui/material\";\r\nimport {IAuthParamsDto, UserDto} from \"../../dtos\";\r\nimport AuthPrivacy from \"../../com/authPrivacy/AuthPrivacy\";\r\nimport { CompleteUserRegistration } from './completeUserRegistration/CompleteUserRegistration';\r\nimport SetPassword from \"./setPassword/SetPassword\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n authScreen: {\r\n height: document.documentElement.offsetHeight,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n flexFlow: `column`,\r\n // padding: `15px`\r\n },\r\n logo: (props: any) => ({\r\n width: props.isXs ? `40%` : `158px`,\r\n cursor: `pointer`\r\n // [theme.breakpoints.down('xs')]: {\r\n // width: `30%`\r\n // }\r\n }),\r\n authContentWrapper: (props: any) => ({\r\n width: \"100%\",\r\n flex: \"1 1 auto\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\"\r\n })\r\n}))\r\n\r\ninterface RouteParams {\r\n userId?: string;\r\n token?: string;\r\n}\r\n\r\ninterface IAuthScreen extends RouteComponentProps {\r\n\r\n}\r\n\r\nconst AuthScreen: React.FC = (props) => {\r\n const {userId, userEmail, token, screenName} = useParams();\r\n const projectName = \"flyersCatalog\";\r\n\r\n\r\n let forgotPasswordFormRef = useRef(null);\r\n let sendEmailRef = useRef(null);\r\n\r\n /*\r\n const showForm = (type: FormsTypes, initiatorType: FormsTypes) => {\r\n setCurrentInitiatorForm(initiatorType)\r\n setCurrentForm(type)\r\n }\r\n */\r\n const isXs = useMediaQuery(`(max-width:419px)`);\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const stylesProperties = {\r\n isXs: isXs,\r\n isSm: isSm\r\n }\r\n const classes = useStyles(stylesProperties);\r\n\r\n enum FormsTypes {\r\n Register,\r\n EmailSent,\r\n CompleteRegistration,\r\n\r\n Signin,\r\n ForgotPassword,\r\n\r\n ResetPassword\r\n }\r\n\r\n const isUrlInResetPasswordMode = () => {\r\n let res = props.location.pathname.includes('resetPassword');\r\n return res;\r\n }\r\n\r\n const isUrlInCompleteRegistrationMode = () => {\r\n let res = props.location.pathname.includes('completeRegistration');\r\n return res;\r\n }\r\n\r\n //\r\n let isResetPasswordMode = isUrlInResetPasswordMode();\r\n let isCompleteRegistrationMode = isUrlInCompleteRegistrationMode();\r\n\r\n let splitted = props.location.pathname.split(\"/\");\r\n // let userId = 0\r\n // let userEmail = ''\r\n // let token = ''\r\n\r\n //\r\n let initialForm: FormsTypes = FormsTypes.Signin;\r\n // let initialCompleteRegistrationUrl = ''\r\n\r\n\r\n if (isCompleteRegistrationMode) {\r\n // userId = parseInt(splitted[3]);\r\n // userEmail = splitted[4];\r\n // token = splitted[5];\r\n\r\n initialForm = FormsTypes.CompleteRegistration;\r\n } else if (isResetPasswordMode) {\r\n // userId = parseInt(splitted[3]);\r\n // userEmail = splitted[4];\r\n // token = splitted[5];\r\n\r\n initialForm = FormsTypes.ResetPassword;\r\n }\r\n\r\n // the + sign convert the reference to int\r\n const [currentForm, setCurrentForm] = useState(+initialForm)\r\n // const [currentInitiatorForm, setCurrentInitiatorForm] = useState(+initialForm)\r\n\r\n //\r\n const handleResendAnotherEmail = () => {\r\n // the + sign convert the reference to int\r\n forgotPasswordFormRef.current?.sendEmail();\r\n sendEmailRef.current?.showLoader(true)\r\n\r\n /*\r\n let currentFormType = +currentForm\r\n\r\n if (currentInitiatorForm === FormsTypes.Register) {\r\n\r\n } else if (currentInitiatorForm === FormsTypes.ForgotPassword) {\r\n forgotPasswordFormRef.current?.sendEmail();\r\n sendEmailRef.current?.showLoader(true)\r\n }\r\n */\r\n }\r\n\r\n useEffect(() => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n if (userDto !== null && screenName !== \"completeUserRegistration\") {\r\n history.push(`/flyersCatalog`);\r\n // if (projectName) {\r\n // history.push(isMobile ? '/flipbookEditor' : userDto.accountTier === 10 ? `/flyersCatalog` : `/flipbookEditor`);\r\n // } else {\r\n // history.push(isMobile ? '/flipbookEditor' : `/flyersCatalog`);\r\n // }\r\n }\r\n }, []);\r\n\r\n let redirectPath = `/auth/flyersCatalog/signInForm`;\r\n // let redirectPath = projectName ? `/auth/${projectName}/signInForm` : `/auth/flyersCatalog/signInForm`;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n // showForm(FormsTypes.Signin, FormsTypes.Signin)\r\n // history.push('/auth');\r\n history.push(`/auth/${projectName}/signInForm`)\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n {\r\n return {\r\n history.push(`/auth/${projectName}/signInForm`)\r\n }}\r\n onRegisterSucceeded={() => {\r\n // history.push(`/auth/${projectName}/emailSent`)\r\n }}\r\n />\r\n }}/>\r\n {\r\n return {\r\n history.push(`/auth/${projectName}/forgotPasswordForm`)\r\n }}\r\n onRegisterClick={() => {\r\n history.push(`/auth/${projectName}/registerForm`)\r\n }}\r\n />\r\n }}/>\r\n {/* {*/}\r\n {/* return */}\r\n\r\n {/*}}/>*/}\r\n {\r\n return {\r\n sendEmailRef.current?.showLoader(false);\r\n // history.push(`/auth/${projectName}/emailSent`)\r\n // showForm(FormsTypes.EmailSent, FormsTypes.ForgotPassword)\r\n }}/>\r\n\r\n }}/>\r\n {/*{*/}\r\n {/* userId && userEmail && token &&*/}\r\n {\r\n return {\r\n history.push(`/auth/${projectName}/signInForm`)\r\n // showForm(FormsTypes.Signin, FormsTypes.ResetPassword)\r\n }}\r\n />\r\n }}/>\r\n {\r\n return {\r\n history.push(`/auth/${projectName}/signInForm`)\r\n // showForm(FormsTypes.Signin, FormsTypes.ResetPassword)\r\n }}\r\n />\r\n }}/>\r\n {\r\n return {\r\n // let loginDto: LoginDto = {\r\n // emailAddress: userDto.,\r\n\r\n // password\r\n // }\r\n // dispatch(actionCreators.login(loginDto));\r\n let userDto = localStorage.getItem('userDto');\r\n if (userDto) {\r\n // const userDtoParse: UserDto = JSON.parse(userDto);\r\n history.push('/flyersCatalog');\r\n /*\r\n if (isMobile || userDtoParse.accountTier === 1) {\r\n history.push('/flipbookEditor');\r\n } else {\r\n history.push('/flyersCatalog');\r\n }\r\n */\r\n }\r\n }}\r\n onRegisterEmailFailed={() => {\r\n }}\r\n />\r\n }}/>\r\n {\r\n return {\r\n history.push(`/auth/flyersCatalog/setPassword/${userId}/${userEmail}/${token}`);\r\n }}\r\n onRegisterEmailFailed={() => {\r\n }}\r\n />\r\n }}/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default AuthScreen;\r\n\r\n\r\n","import React from \"react\";\r\nimport styles from \"./spinner.module.scss\";\r\nimport {ReactComponent as Spinner} from \"../../../../assets/editors/spinner.svg\";\r\nimport {Box, CircularProgress} from \"@mui/material\";\r\n\r\nexport const PageSpinner = () => {\r\n return (\r\n
\r\n \r\n \r\n {/**/}\r\n \r\n
\r\n )\r\n}\r\n","import React, {ReactElement, useEffect, useRef, useState} from \"react\";\r\nimport {PageSpinner} from \"../../components/com/pagesTab/pagesSpinner/spinner\";\r\nimport {Box} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {FlyerPageSpotDto} from \"../../dtos\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n imageWrapper: (props: any) => ({\r\n width: `100%`,\r\n height: `100%`,\r\n maxWidth: `inherit`,\r\n maxHeight: `inherit`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n borderRadius: `inherit`,\r\n '& > svg': {\r\n maxWidth: `inherit`,\r\n maxHeight: `inherit`,\r\n width: `100%`,\r\n height: `100%`,\r\n padding: props.withoutLoader ? `20px` : `2px`,\r\n }\r\n }),\r\n image: (props: any) => ({\r\n maxWidth: `inherit`,\r\n maxHeight: `inherit`,\r\n // padding: `2px`,\r\n border: props.withBorders ? \"1px solid #e4e4e4\" : \"none\",\r\n padding: \"1px\"\r\n }),\r\n hideImage: {\r\n display: `none`,\r\n }\r\n}))\r\n\r\ninterface Props {\r\n src: string;\r\n notUploadIcon?: ReactElement;\r\n loadImageCallback?: (isLoad: boolean) => void;\r\n withoutLoader?: boolean;\r\n selectedPageImage?: string;\r\n frame?: FlyerPageSpotDto;\r\n withBorders?: boolean;\r\n}\r\n\r\nexport const AsyncImageWithLoader = (props: Props) => {\r\n const [didLoad, onLoad] = useState(false);\r\n const [notLoad, onNotLoad] = useState(false);\r\n const canvasRef = useRef(null)\r\n\r\n const stylesProperties = {\r\n withoutLoader: props.withoutLoader,\r\n withBorders: props.withBorders || false\r\n }\r\n const classes = useStyles(stylesProperties);\r\n\r\n useEffect(() => {\r\n onLoad(false);\r\n // if (props.src) {\r\n const handleLoad = () => {\r\n onLoad(true);\r\n onNotLoad(false);\r\n };\r\n const handleError = () => {\r\n onNotLoad(true);\r\n if (props.loadImageCallback) {\r\n props.loadImageCallback(false);\r\n }\r\n };\r\n const image = new Image();\r\n if (props.frame && props.src === `frameImage${props.frame.fpsRecId}`) {\r\n const canvasContainer = canvasRef.current as HTMLCanvasElement | null;\r\n if (canvasContainer && props.selectedPageImage && props.frame) {\r\n const ctx = canvasContainer.getContext(\"2d\");\r\n canvasContainer.style.width = '100%';\r\n canvasContainer.style.height = '100%';\r\n canvasContainer.width = canvasContainer.offsetWidth;\r\n canvasContainer.height = canvasContainer.offsetHeight;\r\n image.src = props.selectedPageImage;\r\n image.addEventListener('load', () => {\r\n if (ctx && props.frame) {\r\n let imgWidth = props.frame.fpsWidthPx!;\r\n let screenWidth = canvasContainer.width;\r\n let scaleX = screenWidth / imgWidth;\r\n let imgHeight = props.frame.fpsHeightPx!;\r\n let screenHeight = canvasContainer.height;\r\n let scaleY = screenHeight / imgHeight;\r\n let scale = scaleY;\r\n if (scaleX < scaleY) {\r\n scale = scaleX;\r\n }\r\n imgHeight = imgHeight * scale;\r\n imgWidth = imgWidth * scale;\r\n canvasContainer.style.width = `${imgWidth}px`;\r\n canvasContainer.style.height = `${imgHeight}px`;\r\n canvasContainer.height = imgHeight;\r\n canvasContainer.width = imgWidth;\r\n\r\n\r\n ctx.drawImage(\r\n image,\r\n props.frame.fpsX0px!, //x0\r\n props.frame.fpsY0px!, // y0 Start at 70/20 pixels from the left and the top of the image (crop),\r\n props.frame.fpsWidthPx!, //x1 - x0\r\n props.frame.fpsHeightPx!, //y1 - y0 \"Get\" a `50 * 50` (w * h) area from the source image (crop),\r\n 0,\r\n 0, // Place the result at 0, 0 in the canvas,\r\n // 100 * props.frame.fpsWidthPx! / props.frame.fpsHeightPx!,\r\n // 100 * props.frame.fpsHeightPx! / props.frame.fpsWidthPx!\r\n imgWidth,\r\n imgHeight\r\n ); // With as width / height: 100 * 100 (scale)\r\n\r\n }\r\n })\r\n }\r\n } else {\r\n image.addEventListener('load', handleLoad);\r\n image.addEventListener('error', handleError);\r\n image.src = props.src;\r\n }\r\n\r\n return () => {\r\n image.removeEventListener('load', handleLoad);\r\n image.removeEventListener('error', handleError);\r\n };\r\n }, [props.src]);\r\n\r\n if (props.frame && props.src === `frameImage${props.frame.fpsRecId}`) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {`don't\r\n {\r\n !didLoad && !notLoad && !props.withoutLoader && \r\n }\r\n {notLoad && props.notUploadIcon && props.notUploadIcon}\r\n \r\n )\r\n}","import {ErrorDtoFactory, FlyerDto, UploadProgressingImagesDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as FlyerFromPdfActions} from \"../actions/flyerFromPdfActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\nimport {Action as ProgressPopupActions} from \"../actions/uploadingImagesProgressActions\";\r\nimport {\r\n DefaultFlyerStateForSelfService\r\n} from \"../../components/flippingFlyersCatalog/flippingFlyersCatalogCreateEditFlyer\";\r\nimport {FlyersState} from \"../reducers/flyersReducer\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {Action as FlyersActions} from \"../actions/flyersActions\";\r\n\r\nexport const createFlyerFromPdfFile = (\r\n file: File,\r\n isForPreview: boolean = false,\r\n flyersState?: FlyersState\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(isForPreview){\r\n userDtoStr = localStorage.getItem(\"userDtoForPreview\");\r\n }\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_PDF_START,\r\n });\r\n\r\n try {\r\n let result: any = await createFlyerFromPdfFileRequest(\r\n file,\r\n isForPreview,\r\n dispatch\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data.flyer;\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_PDF_SUCCESS,\r\n payload: flyer.flyRecId,\r\n });\r\n // dispatch({\r\n // type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n // payload: flyer,\r\n // });\r\n if(flyersState){\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [flyer, ...flyersState.flyers],\r\n };\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyer,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n }\r\n localStorage.removeItem(`userEnterForFirstTime${userDto.userId}`);\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_PDF_COMPLETED\r\n });\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR\r\n })\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_PDF_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst createFlyerFromPdfFileRequest = (\r\n file: File,\r\n isForPreview: boolean,\r\n dispatch: Dispatch\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(isForPreview){\r\n userDtoStr = localStorage.getItem(\"userDtoForPreview\");\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`Pdf`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n onUploadProgress: (progressEvent : any) => {\r\n const percentCompleted = Math.round(\r\n (progressEvent.loaded * 100) / progressEvent.total\r\n );\r\n // console.log(percentCompleted);\r\n const data: UploadProgressingImagesDto = {\r\n isUploadingFilesToSystem: progressEvent.loaded !== progressEvent.total,\r\n isUploadingFilesToSystemFinished: progressEvent.loaded === progressEvent.total,\r\n current: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.loaded,\r\n failCount: 0,\r\n processingFinished: false,\r\n successCount: 0,\r\n severityLevel: '',\r\n total: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.total,\r\n titlePopup: `Uploading file...`,\r\n notUploadedImages: null,\r\n }\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: data\r\n });\r\n },\r\n\r\n };\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/CreateFlyerFromPdf`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\nexport const updateFlipbook = (\r\n data: DefaultFlyerStateForSelfService,\r\n flyersState: FlyersState,\r\n) => {\r\n/*\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n*/\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.UPDATE_FLIPBOOK_START,\r\n });\r\n\r\n try {\r\n let result: any = await updateFlipbookRequest(\r\n data,\r\n dispatch\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data.flyer;\r\n dispatch({\r\n type: ActionType.UPDATE_FLIPBOOK_SUCCESS,\r\n payload: flyer.flyRecId,\r\n });\r\n // dispatch({\r\n // type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n // payload: flyer,\r\n // });\r\n const flyers: FlyerDto[] = flyersState.flyers.map((key: FlyerDto) => {\r\n if (data.flyerId === key.flyRecId) {\r\n return flyer;\r\n } else {\r\n return key;\r\n }\r\n });\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [...flyers],\r\n };\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyer,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.UPDATE_FLIPBOOK_COMPLETED\r\n });\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR\r\n })\r\n dispatch({\r\n type: ActionType.UPDATE_FLIPBOOK_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst updateFlipbookRequest = (\r\n data: DefaultFlyerStateForSelfService,\r\n dispatch: Dispatch\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n const newData: any = {\r\n displayCaption: data.displayCaption!,\r\n caption: data.caption!,\r\n primaryColorRgb: data.guiColor!,\r\n flyerId: data.flyerId!.toString(),\r\n font: data.fontFamily!,\r\n flyerStatusCode: data.flyerStatusCode!,\r\n iconContrast: data.iconStyle?.iconStyleType,\r\n urls: {\r\n accountHomePageUrl: data.homePage\r\n }\r\n };\r\n // formData.append(`DisplayCaption`, data.displayCaption!);\r\n // formData.append(`Caption`, data.caption!);\r\n // formData.append(`PrimaryColorRgb`, data.guiColor!);\r\n if(data.startDate){\r\n newData.validFromUtc = new Date(\r\n data.startDate?.getTime() -\r\n data.startDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n // if(data.startDate){\r\n // const parseStartData = new Date(\r\n // data.startDate?.getTime() -\r\n // data.startDate?.getTimezoneOffset() * 60000\r\n // ).toJSON();\r\n // formData.append(`ValidFromUtc`, parseStartData);\r\n // }\r\n if(data.endDate){\r\n newData.validToUtc = new Date(\r\n data.endDate?.getTime() -\r\n data.endDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n // if(data.endDate){\r\n // const parseEndData = new Date(\r\n // data.endDate?.getTime() -\r\n // data.endDate?.getTimezoneOffset() * 60000\r\n // ).toJSON();\r\n // formData.append(`ValidToUtc`, parseEndData);\r\n // }\r\n if((!data.bgImageFile && !data.bgImage) || data.bgColor){\r\n newData.backgroundColorRgb = data.bgColor!;\r\n }\r\n // if((!data.bgImageFile && !data.bgImage) || data.bgColor){\r\n // formData.append(`backgroundColorRgb`, data.bgColor!);\r\n // }\r\n if(data.language?.id){\r\n newData.languageCultureId = data.language.id.toString();\r\n // formData.append(`LanguageCultureId`, data.language.id.toString());\r\n }\r\n\r\n if(data.logoFile){\r\n formData.append(`GuiLogo`, data.logoFile, data.logoFile.name);\r\n }\r\n if(data.bgImageFile && data.bgImage){\r\n formData.append(`GuiBackgroudImage`, data.bgImageFile, data.bgImageFile.name);\r\n newData.backgroundColorRgb = \"\";\r\n }\r\n if(data.pdfFile){\r\n formData.append(`Pdf`, data.pdfFile, data.pdfFile.name);\r\n }\r\n // if(data.bgImageFile && data.bgImage){\r\n // formData.append(`GuiBackgroudImage`, data.bgImageFile, data.bgImageFile.name);\r\n // formData.append(`backgroundColorRgb`, ``);\r\n // }\r\n\r\n // formData.append(`FlyerId`, data.flyerId!.toString());\r\n // formData.append(`Font`, data.fontFamily!);\r\n // formData.append(`FlyerStatusCode`\r\n // console.log(JSON.stringify(newData));\r\n formData.append(\"UpdateSelfServiceFlyerData\", JSON.stringify(newData));\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n onUploadProgress: (progressEvent : any) => {\r\n if(data.pdfFile && data.pdfFile.name){\r\n const percentCompleted = Math.round(\r\n (progressEvent.loaded * 100) / progressEvent.total\r\n );\r\n const newData: UploadProgressingImagesDto = {\r\n isUploadingFilesToSystem: progressEvent.loaded !== progressEvent.total,\r\n isUploadingFilesToSystemFinished: progressEvent.loaded === progressEvent.total,\r\n current: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.loaded,\r\n failCount: 0,\r\n processingFinished: false,\r\n successCount: 0,\r\n severityLevel: '',\r\n total: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.total,\r\n titlePopup: `Uploading file...`,\r\n notUploadedImages: null,\r\n }\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: newData\r\n });\r\n }\r\n },\r\n };\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/UpdateSelfServiceFlyer`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n","import React from \"react\";\r\nimport {styled} from \"@mui/styles\";\r\nimport {Box, Grid, LinearProgress, linearProgressClasses, Typography} from \"@mui/material\";\r\n\r\n\r\nconst BorderLinearProgress = styled(LinearProgress)(({theme}) => ({\r\n height: 10,\r\n borderRadius: 5,\r\n // [`&.${linearProgressClasses.colorPrimary}`]: {\r\n // backgroundColor: `yellow`\r\n // },\r\n [`& .${linearProgressClasses.bar}`]: {\r\n borderRadius: `28px`,\r\n backgroundColor: `linear-gradient(90deg, #47B5F9 0%, #2283D2 100%)`\r\n }\r\n}));\r\n\r\ninterface Props {\r\n withLabel: boolean,\r\n value: number,\r\n}\r\n\r\nexport const ProgressBarWithLabel: React.FC = ({\r\n withLabel,\r\n value,\r\n }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n withLabel &&\r\n \r\n \r\n {value}%\r\n \r\n \r\n }\r\n \r\n )\r\n}\r\n","import {Dispatch} from \"redux\";\r\nimport {Action} from \"../actions/uploadingImagesProgressActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport {UploadProgressingImagesDto} from \"../../dtos\";\r\n\r\n\r\nexport const startUploadingImagesProgressPopup = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_START,\r\n payload: {\r\n title: \"\"\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\nexport const errorUploadingImagesProgressPopup = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR,\r\n });\r\n }\r\n\r\n}\r\nexport const changeUploadingImagesProgressPopup = (changedData: UploadProgressingImagesDto) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: changedData\r\n });\r\n }\r\n\r\n}\r\nexport const closeUploadingImagesProgressPopup = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE,\r\n });\r\n }\r\n\r\n}\r\n","export const createExampleCheckoutUrl = (\r\n urlSettings,\r\n firstExample,\r\n secondExample\r\n) => {\r\n const {\r\n conversionUrlBase,\r\n interItemSeparator,\r\n intraItemSeparator,\r\n itemCodePrefix,\r\n itemListVarName,\r\n itemOptionalParamValue,\r\n optionalVars\r\n } = urlSettings;\r\n\r\n let optionalVarsString = '';\r\n if (optionalVars && optionalVars.length) {\r\n optionalVars.forEach((obj) => {\r\n if(obj.name && obj.value){\r\n optionalVarsString += `&${obj.name}=${obj.value}`\r\n }\r\n })\r\n }\r\n return `${Boolean(conversionUrlBase) ? conversionUrlBase : ``}\r\n ${Boolean(conversionUrlBase) && Boolean(itemListVarName) ? `?` : ``}\r\n ${Boolean(itemListVarName) ? itemListVarName : ``}\r\n ${firstExample.code !== '' || secondExample.code !== '' ? `=` : ``}\r\n ${Boolean(itemCodePrefix) && firstExample.code !== '' && firstExample.qty !== '' ? itemCodePrefix : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? firstExample.code : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? intraItemSeparator : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? firstExample.qty : ``}\r\n ${Boolean(itemOptionalParamValue) && firstExample.code !== '' && firstExample.qty !== '' ? intraItemSeparator : ``}\r\n ${Boolean(itemOptionalParamValue) && firstExample.code !== '' && firstExample.qty !== '' ? itemOptionalParamValue : ``}\r\n ${(\r\n firstExample.code !== '' &&\r\n firstExample.qty !== '' &&\r\n secondExample.code !== '' &&\r\n secondExample.qty !== ''\r\n ) || (\r\n firstExample.code !== '' &&\r\n firstExample.qty !== '' &&\r\n optionalVarsString !== ''\r\n ) ? interItemSeparator : ``}\r\n ${Boolean(itemCodePrefix) && secondExample.code !== '' && secondExample.qty !== '' ? itemCodePrefix : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? secondExample.code : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? intraItemSeparator : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? secondExample.qty : ``}\r\n ${Boolean(itemOptionalParamValue) && secondExample.code !== '' && secondExample.qty !== '' ? intraItemSeparator : ``}\r\n ${Boolean(itemOptionalParamValue) && secondExample.code !== '' && secondExample.qty !== '' ? itemOptionalParamValue : ``}\r\n ${optionalVarsString !== '' ? optionalVarsString : ``}\r\n `\r\n .replace(/\\s/g, '');\r\n // ${optionalVarValue !== '' && optionalVarName !== '' ? `=` : ``}\r\n // ${optionalVarValue !== '' && optionalVarName !== '' ? optionalVarValue : ``}\r\n\r\n}\r\n\r\nexport const createExampleCheckoutUrlApp = (\r\n urlSettings,\r\n firstExample,\r\n secondExample\r\n) => {\r\n const {\r\n conversionUrlBaseApp,\r\n interItemSeparatorApp,\r\n intraItemSeparatorApp,\r\n itemCodePrefixApp,\r\n itemListVarNameApp,\r\n itemOptionalParamValueApp,\r\n optionalVarsApp\r\n } = urlSettings;\r\n\r\n let optionalVarsStringApp = '';\r\n if (optionalVarsApp && optionalVarsApp.length) {\r\n optionalVarsApp.forEach((obj) => {\r\n if(obj.name && obj.value){\r\n optionalVarsStringApp += `&${obj.name}=${obj.value}`\r\n }\r\n })\r\n }\r\n return `${Boolean(conversionUrlBaseApp) ? conversionUrlBaseApp : ``}\r\n ${Boolean(conversionUrlBaseApp) && Boolean(itemListVarNameApp) ? `?` : ``}\r\n ${Boolean(itemListVarNameApp) ? itemListVarNameApp : ``}\r\n ${firstExample.code !== '' || secondExample.code !== '' ? `=` : ``}\r\n ${Boolean(itemCodePrefixApp) && firstExample.code !== '' && firstExample.qty !== '' ? itemCodePrefixApp : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? firstExample.code : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? intraItemSeparatorApp : ``}\r\n ${firstExample.code !== '' && firstExample.qty !== '' ? firstExample.qty : ``}\r\n ${Boolean(itemOptionalParamValueApp) && firstExample.code !== '' && firstExample.qty !== '' ? intraItemSeparatorApp : ``}\r\n ${Boolean(itemOptionalParamValueApp) && firstExample.code !== '' && firstExample.qty !== '' ? itemOptionalParamValueApp : ``}\r\n ${(\r\n firstExample.code !== '' &&\r\n firstExample.qty !== '' &&\r\n secondExample.code !== '' &&\r\n secondExample.qty !== ''\r\n ) || (\r\n firstExample.code !== '' &&\r\n firstExample.qty !== '' &&\r\n optionalVarsStringApp && optionalVarsStringApp !== ''\r\n ) ? interItemSeparatorApp : ``}\r\n ${Boolean(itemCodePrefixApp) && secondExample.code !== '' && secondExample.qty !== '' ? itemCodePrefixApp : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? secondExample.code : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? intraItemSeparatorApp : ``}\r\n ${secondExample.code !== '' && secondExample.qty !== '' ? secondExample.qty : ``}\r\n ${Boolean(itemOptionalParamValueApp) && secondExample.code !== '' && secondExample.qty !== '' ? intraItemSeparatorApp : ``}\r\n ${Boolean(itemOptionalParamValueApp) && secondExample.code !== '' && secondExample.qty !== '' ? itemOptionalParamValueApp : ``}\r\n ${optionalVarsStringApp && optionalVarsStringApp !== '' ? optionalVarsStringApp : ``}\r\n `\r\n .replace(/\\s/g, '');\r\n // ${optionalVarValue !== '' && optionalVarName !== '' ? `=` : ``}\r\n // ${optionalVarValue !== '' && optionalVarName !== '' ? optionalVarValue : ``}\r\n\r\n}\r\n\r\nexport const formatBytes = (bytes, decimals = 2) => {\r\n if (!+bytes) return '0 Bytes'\r\n\r\n const k = 1024\r\n const dm = decimals < 0 ? 0 : decimals\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k))\r\n\r\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`\r\n}\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {AsyncImageWithLoader} from \"../../../com/imageWithLoader/imageWithLoader\";\r\nimport uploadPdfIcon from \"./../../../assets/xCircularIcons/uploadPdfIcon.png\"\r\nimport {createFlyerFromPdfFile} from \"../../../store/actionCreators/flyerFromPdfActionCreator\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {ProgressBarWithLabel} from \"../../editor/progressBar/progressBar\";\r\nimport {LoginDto, UploadProgressingImagesDto, UserDto} from \"../../../dtos\";\r\nimport {HttpTransportType, HubConnectionBuilder, IHttpConnectionOptions, LogLevel} from \"@microsoft/signalr\";\r\nimport envManager from \"../../../com/envManager/EnvManager\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {updateFlyerDetailsPageImageState} from \"../../../store/actionCreators/flyerDetailsActionCreators\";\r\nimport {actionCreators, getFlippingFlyer} from \"../../../store\";\r\nimport {\r\n changeUploadingImagesProgressPopup,\r\n startUploadingImagesProgressPopup\r\n} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {formatBytes} from \"../../../globals/globalFunctions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n uploadingPdfWrapper: {\r\n display: `flex`,\r\n width: `100%`,\r\n height: `100vh`,\r\n backgroundColor: `#ffffff`,\r\n },\r\n\r\n uploadButtonWrapper: {\r\n display: `flex`,\r\n alignItems: `end`\r\n },\r\n uploadButton: {\r\n '&.MuiButtonBase-root': {\r\n padding: `10px 0`,\r\n // height: `100%`,\r\n flex: `1 1 auto`,\r\n // width: `100%`,\r\n // height: `64px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n border: `2px dashed #161B7E`,\r\n borderRadius: `0`,\r\n boxShadow: `none`,\r\n backgroundColor: `#F9F9FF`,\r\n width: `100%`,\r\n height: `220px`,\r\n maxHeight: `50vh`,\r\n flexFlow: `column`,\r\n color: `inherit`,\r\n\r\n '&:hover': {\r\n backgroundColor: `#F9F9FF`,\r\n boxShadow: `none`\r\n }\r\n }\r\n },\r\n loaderWrapper: {\r\n display: `flex`,\r\n justifyContent: `center`,\r\n alignItems: `center`,\r\n height: `100%`\r\n },\r\n uploadingProgressBarWrapper: {\r\n width: `100%`,\r\n height: `100%`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n justifyContent: `space-between`,\r\n padding: `30px`,\r\n },\r\n flyerPreviewWrapper: {\r\n flex: `1 1 auto`,\r\n backgroundColor: `#ffffff`,\r\n display: `flex`,\r\n justifyContent: `flex-end`\r\n },\r\n flyerPreview: {\r\n maxHeight: `100%`,\r\n maxWidth: `100%`,\r\n position: `relative`,\r\n }\r\n\r\n}));\r\n\r\ninterface UploadingStateDto {\r\n isShowProgressBar: boolean;\r\n isPagesUploading: boolean;\r\n pdfFile: null | File;\r\n pdfFileSizeMb: string;\r\n}\r\n\r\ninterface PagesStateDto {\r\n currentPageNumber: number;\r\n totalPageNumber: number;\r\n}\r\n\r\nconst defaultUploadingState: UploadingStateDto = {\r\n isShowProgressBar: false,\r\n isPagesUploading: false,\r\n pdfFile: null,\r\n pdfFileSizeMb: ''\r\n}\r\n\r\nconst defaultPagesState: PagesStateDto = {\r\n currentPageNumber: 0,\r\n totalPageNumber: 0,\r\n}\r\n\r\n\r\nexport const UploadingPdfAndCreateFlyer = () => {\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyerDataFromPdf = useTypedSelector((state) => state.flyerDataFromPdf);\r\n const userDataInfo = useTypedSelector((state) => state.auth);\r\n const uploadData = useTypedSelector((state) => state.uploadImagesPopup);\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [uploadingState, setUploadingState] = useState(defaultUploadingState);\r\n const [pagesState, setPagesState] = useState(defaultPagesState);\r\n const [isProcessingFinished, setProcessingFinished] = useState(false);\r\n const [userData, setUserData] = useState();\r\n const [lang, setLang] = useState<'he' | 'en-US'>('en-US')\r\n\r\n //signalR start\r\n\r\n const [connection, setConnection] = useState(null);\r\n\r\n /*\r\n const optionsSignal: IHttpConnectionOptions = {\r\n accessTokenFactory: () => {\r\n return userDto.token;\r\n },\r\n skipNegotiation: true,\r\n transport: HttpTransportType.WebSockets\r\n };\r\n */\r\n\r\n useEffect(() => {\r\n if (userDataInfo.type === 'LOGIN_SUCCESS') {\r\n let userDtoStr = localStorage.getItem(\"userDtoForPreview\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n setUserData(userDto);\r\n }\r\n }, [userDataInfo.type]);\r\n\r\n useEffect(() => {\r\n setProcessingFinished(uploadData.processingFinished)\r\n if (uploadData.processingFinished) {\r\n setPagesState(defaultPagesState);\r\n } else {\r\n setPagesState({\r\n currentPageNumber: uploadData.current,\r\n totalPageNumber: uploadData.total,\r\n });\r\n }\r\n\r\n }, [uploadData])\r\n\r\n useEffect(() => {\r\n if (userData?.token) {\r\n console.log(userData.token);\r\n const optionsSignal: IHttpConnectionOptions = {\r\n accessTokenFactory: () => {\r\n return userData.token;\r\n },\r\n skipNegotiation: true,\r\n transport: HttpTransportType.WebSockets\r\n };\r\n\r\n if (connection === null) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`${envManager.flyerEditorServerAddress}/xceditor-hub`, optionsSignal)\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build()\r\n setConnection(newConnection);\r\n }\r\n\r\n }\r\n }, [userData]);\r\n\r\n\r\n useEffect(() => {\r\n const onGetResponse = (event: MessageEvent) => {\r\n // IMPORTANT: check the origin of the data!\r\n if (event.origin === 'https://www.xcircular.com') {\r\n // if (event.origin === 'https://xcircular.com') {\r\n setLang(event.data.lang);\r\n // The data was sent from your site.\r\n // Data sent with postMessage is stored in event.data:\r\n // if (event?.data?.userData) {\r\n // setUserData(event.data.userData);\r\n // localStorage.setItem('userDto', JSON.stringify(event.data.userData));\r\n // } else {\r\n // let loginDto: LoginDto = {\r\n // emailAddress: `marketing@xcircular.com`,\r\n // password: `a1b2c3d4e5f6`\r\n // }\r\n // dispatch(actionCreators.login(loginDto));\r\n // }\r\n\r\n } else {\r\n // The data was NOT sent from your site!\r\n // Be careful! Do not use it. This else branch is\r\n // here just for clarity, you usually shouldn't need it.\r\n return;\r\n }\r\n\r\n }\r\n window.addEventListener('message', onGetResponse);\r\n return () => {\r\n window.removeEventListener('message', onGetResponse);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n let currentFlyerStatus = flyerDetailsState.flyFstRec;\r\n let statusCaption = currentFlyerStatus.fstCaption?.toLowerCase()\r\n\r\n let appUrl = '';\r\n\r\n if (statusCaption?.includes('edit')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (statusCaption?.includes('qa')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else if (statusCaption?.includes('published')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && flyerDetailsState.flyRecId) {\r\n let accountName = flyerDetailsState.flyAccRec?.accCaption;\r\n let flyerName = flyerDetailsState.flyCaption;\r\n appUrl += `flipbook/${accountName}/${flyerName}`\r\n }\r\n\r\n if (statusCaption?.includes('inactive')) {\r\n appUrl = ''\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!flyerDetailsState.flyRecId) {\r\n appUrl = ''\r\n }\r\n if (window.location !== window.top.location && appUrl !== '') {\r\n window.top.postMessage({\r\n url: appUrl,\r\n fileName: uploadingState.pdfFile?.name || \"\"\r\n }, 'https://www.xcircular.com')\r\n // window.top.postMessage({\r\n // url: appUrl,\r\n // fileName: uploadingState.pdfFile?.name || \"\"\r\n // }, 'https://xcircular.com')\r\n }\r\n setUploadingState(defaultUploadingState);\r\n\r\n // if (flyerDetailsState.flyFstRec.fstCaption === \"Published\" && flyerDetailsState.qualificationLevel === 0) {\r\n // setDisabledOpen(true);\r\n // }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n }, [flyerDetailsState.flyFstRec, flyerDetailsState.flyRecId])\r\n\r\n\r\n useEffect(() => {\r\n //start with default flyer\r\n // dispatch(getFlippingFlyer(418));\r\n // const userDto = localStorage.getItem('userDtoForPreview');\r\n // if(!userDto){\r\n let loginDto: LoginDto = {\r\n // emailAddress: `support@xcircular.com`,\r\n // password: `123456`\r\n // emailAddress: `johndoe@gmail.com`,\r\n // password: `123456`\r\n emailAddress: `marketing@xcircular.com`,\r\n password: `a1b2c3d4e5f6`\r\n }\r\n dispatch(actionCreators.login(loginDto, true));\r\n // }\r\n\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n if (isProcessingFinished && flyerDataFromPdf.flyerId) {\r\n dispatch(getFlippingFlyer(Number(flyerDataFromPdf.flyerId), undefined, true));\r\n setProcessingFinished(false);\r\n }\r\n }, [isProcessingFinished])\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.keepAliveIntervalInMilliseconds = 1000 * 60 * 3;\r\n connection.serverTimeoutInMilliseconds = 1000 * 60 * 6;\r\n connection.start().catch((e: any) => {\r\n console.log('Connection failed: ', e)\r\n });\r\n connection.on('UploadPageImagesResponse', (message: any) => {\r\n const data: UploadProgressingImagesDto = {\r\n isUploadingFilesToSystem: false,\r\n isUploadingFilesToSystemFinished: true,\r\n current: message.current,\r\n failCount: message.failCount,\r\n processingFinished: message.processingFinished,\r\n successCount: message.successCount,\r\n severityLevel: message.response.severityLevel,\r\n total: message.total,\r\n titlePopup: message.response.userFriendlyMessage,\r\n notUploadedImages: message.response.severityLevel.toString().toLowerCase() === 'error' ? [{\r\n imageFileName: message.response.data[0].value,\r\n message: message.response.userFriendlyMessage\r\n }] : null,\r\n }\r\n dispatch(changeUploadingImagesProgressPopup(data))\r\n dispatch(updateFlyerDetailsPageImageState({\r\n pageId: message.data?.pageId,\r\n imageUrl: message.data?.imageUrl,\r\n imageThumbnailUrl: message.data?.thumbnailUrl\r\n }));\r\n console.log(`signalR response \"UploadPageImagesResponse event\":`);\r\n console.log(message);\r\n });\r\n }\r\n }, [connection]);\r\n\r\n //signalR end\r\n /*\r\n useEffect(() => {\r\n //signalR start\r\n if (connection === null) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`${envManager.flyerEditorServerAddress}/xceditor-hub`, optionsSignal)\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build()\r\n setConnection(newConnection);\r\n }\r\n //signalR end\r\n }, []);\r\n */\r\n\r\n useEffect(() => {\r\n if (flyerDataFromPdf.type === 'CREATE_FLYER_FROM_PDF_ERROR') {\r\n setUploadingState(defaultUploadingState);\r\n setPagesState(defaultPagesState);\r\n }\r\n }, [flyerDataFromPdf])\r\n\r\n\r\n const onFileSelected = (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n setUploadingState({\r\n isShowProgressBar: true,\r\n isPagesUploading: true,\r\n pdfFile: file,\r\n pdfFileSizeMb: formatBytes(file.size)\r\n })\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(createFlyerFromPdfFile(file, true));\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n uploadingState.isPagesUploading && uploadingState.isShowProgressBar && pagesState.totalPageNumber === 0 &&\r\n \r\n \r\n \r\n\r\n }\r\n {\r\n uploadingState.isPagesUploading && uploadingState.isShowProgressBar && pagesState.totalPageNumber > 0 && uploadingState.pdfFile &&\r\n \r\n \r\n \r\n {Number(Math.floor((pagesState.currentPageNumber * 100) / pagesState.totalPageNumber))}%\r\n {uploadData.isUploadingFilesToSystem ? ' Uploading file' : ' Creating pages'}\r\n \r\n \r\n {uploadingState.pdfFileSizeMb ? uploadingState.pdfFileSizeMb : `test mb`}\r\n \r\n \r\n \r\n \r\n {uploadData.isUploadingFilesToSystem &&\r\n \r\n {uploadingState.pdfFile?.name ? uploadingState.pdfFile.name : `test mb`}\r\n \r\n }\r\n {!uploadData.isUploadingFilesToSystem &&\r\n \r\n {uploadData.current}/{uploadData.total} pages created\r\n \r\n }\r\n \r\n \r\n }\r\n {\r\n !uploadingState.isPagesUploading &&\r\n <>\r\n \"\"/\r\n \r\n {lang === 'he' ? `העלאת קובץ PDF` : 'Upload PDF File'}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n*/}\r\n \r\n \r\n \r\n \r\n )\r\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwvSURBVHgB1VtrbBzVFf7O7K7t2E4cEwdIHHAIhAQCaRRKE6BpoRWBlpdEpbZSeFSoBTU8K6BJIMgEREsKqkCqyquhKlX7o5VKkahooC2PtpRXRUuwCuSNk807duLn7s7c2zuP3ZnZubM7s3tnHT55PddnZu6555vv3DNzZ004RnDyA0MLNK35q+B8MYiWEGgmCG1iF4n2GMCzIO0fwrZJI/3lLaub+3AMgDCB6FrPJ7flc9dxRtcR+LliNGTRZY2MnAES7B9yRlva/z4xvuHIVO1XB26mYUwQJozAngdGVjJOq8UAToKXJGtUkUkEB7Ki8eC2NfQkJgANJ7Bn7cApRirzcyK6tOieHFK8JBK5ZNp7w0l08KYBWrFjDe1AA9FQArvvO3oeaanfiflsFuxsRSUS4yjROeBTcLp66xr6NxoEDQ3CjHsPf1GE+RLnbJaZd4JEUS/srfW72LZ+bJtjdLfe/cU+fMfhZI3w1mnr+ZVoEBqiwO7e4UXcMP4m0rITMhUpVqL4PUCcvrb5HnobCSNxAmfde7CbIWPefswuEdEAEjWiw6Rj4SdraTcSROIpbCDdKxJttvUHLyanJBVjpjOvks6M8+NYmj+DhJGoAmfeO3CVCOePkFTWRilR/HXJljX0MhJCogoUmljvV5arIlVKRHUlPoIEkRiBx99z6BLOMC9ISv0kcu6SxFE5nYUQF85+WL8KCSE5BXJa4fKgnkRwv9IqkZiGdi0SQiJz4Ize3a0s17JP9N7uzkn2L/8cV/+cGPGJJX8kdbjr4KrpQ1CMRBSo5yedI65/u18JTjvBdC55Cyqxqb3QsQAJIBECibOz5elk75+IwkJIXYEEkAiBovJd4FUCD1THCSks3UgASubA2b3bW0ZG284lzTiL89RxwnS9mJPm2g7C7tOctuI5Mew+UeAjsf2NRtqgobMPoaff2rGOxlEnaiaw4/s7O9OtzdeIfP2OSJAFYrzN1YNwCZjowiLAxGrie4ynnkul8cKWVbQLNSA2gbN7ecvg0ewPtRTdJlJjmi+gCEqYaCVKn1g49kHjvx5Oaffvu5tGEAOxCJzyg/4vpEgT63noCQ+6xiCARJUY2ofHv8BOptH3tq+iVxARkYtIxx393xVLRK+LybonOLFzpxBEv9k9RgqLb3wCPSnO/zT3x/w+REQkAjtv37lKbJ4Rc0YLIAuiFCuikohAEN7+1JEY54nF2WQ48QdOfZjfhQiomsIdt+28UUj8STg5I0tJN5287Whz0rFUWMqnE2FZsXk1/RYVUJHAqXdme1gh/67obXp0IsoCqmlOLOsDakiMPyfTQCqFCz++mz5ACCqmsJ7PPS0206OmZDCdUWM6eftQm86SwVVIZ95pGHhUtEKFFrqj/ZbNFxKlX609Jb3tYyuda1DipVtW00ZIkEYoMmvN62F2YV4QIm5dCDHB2t2bSjAHYu+0rh2ZF4pMJbgknjkjjfkzUmjJkBu8E57379LYS8HADc4XtL0vqxewcXwUqZEmZHa1SPxz6+A4Y7f2F/uAdz/MIiolUKrAlpu39aQJO3wDj6mms7ozWHlRK2Z3pVxH5HfoEYqHsHJCvb5c28o9O/AvPSeucwbpfDNm/rcTxu5MLCVGLSyCbF0cs3jbatqEMkjnQI2z5WXTBHxzTJV57YLTmtB7ZTt6HPKcszx9+W2eTXA/vL5cW14oEOanUIDelMOe8w+DnZSPNSdGXAozlZg2w4KMK5mRKLU0SBhCB+IlcfpkDTdd2IrWJoQSFonEgK2MREMXLOYFgXmLxILY7lsan8SohYUYvxSRCeRsWWnYJaccpfv5CiRe/rkWHNdG8FfKIGGRSeRyEqHrJQUWt0xsDy4dAM3J1axEjjAl8kWISqAh1s6454oE0zn8ai6b2+QnoV4SUW5zWiaBeYe8ohLzthKzC4/UpETu7pSROA0SyBXI+CS7r3ISqyvRTGG/arzHIEBYzUosKjBfCCoROSud4yqxPJ25f38rohIoKrnuuZl0hx1QooREKj9GEYnlbZPAQpC8Eonis++cQZWFhUGCkCcRPujrRKpEeTo7rUDAypTobJpNp2bq5u0iYimxkJcXlln1FxbRHIQEcgI5+krdVSQxmM6BgFUr0enzlJY2W23VlGgWlvMGxAn1FRbR2ILIBBK9DS8hkdLZc+Hg3yonUWD5Cd2u6goFvxIlhWWPKCyYpsdWoif+dyCBvIjAeLP8PiiqEtEgEhdMnYbLTpzlJ7GoPFlhoRxGzxhyCYpBokWUwV6OTODo8fNeFOcfiE5iyW9F1agm8db5i3DW5A5/6lZI5+GOUfgIikgiY2zXgUz+LUQlEOvIrDhPBBy5HkILi9MKJxHqSJzWMgnPnn8x7ph7Nk5IZdwiElJYZmZ4mc+IJBL9YeieKYcgQehqTLPW8tg4G79dLEx0hK5ScO48kLsrIKZvcobiLIgEbWabPDZrpFSywXOszObt0/R/zZz5+Pacedg8dARjzLAXOEgzv6YqPpp1pCbapze34lu8YK/ElHxWWcURua+n2aNhPIUSeOSJnoFJN33Sy8EeQ6WlnjISvQgl0dmpikRuBUI4Y8pU65hKqzh2JzwyieKp4s7s2rZ+hKDiivTYU6c/Lrp8Xip5ZyD2xpOU3rkQaOicWHTsmVyCfjz3eFXTmeifp7LWp1ABVd/KaWParaLDTVFJ9AZXNWB3/B5bnSSi3FYbiYyjX8+Pr3htnVgLrICqBI49N293mjVdLHxtj0tibQF7AwqeH1mJkJNY8lCRRN5nIP+lPQ917kQVRHovPPKLOfty47RMzBSvVCOxPDiOasFBknr27//t1fD+bk3aJ2L3WSTO40FComi+AiN3yd51nTsQAdG/3iaUmPs4+3XhYKVwlAsjkXvC8wYns/kJgy/gvr2En75KePyNNP6TrZFElNtsVqUkWs//fF32wcnLdz3UFfl/S+J9P/C1i/Tc0/OfoHxhrnD8E1G+Pg2SCCmJkZToND7McvxoI8PQuIFcwcBjr6fxTr8aJZbGWtxJtJ+Brx8p8DnZBzvuR0wQ6sENH01uy2hLGeFycQuwRHR36ot3dXe572/8b+GivFTqyzI88hcd4wUNpKXE/ZsGTbzdbm9O4eZlOhbNZLH79Nou+9n4fnGbclBo5yWN2Ouj6c6/D64j6UpLFNRHoAR/3TrCSx0TSYMLC7hvt471f85hTBekFckzt4JAEu3mTAp3fLk+Ej/fPUlpzIn9m0OlOVGWzpv6C+h9YRhDYwaYIT7M/DAYYmsYtq2YznUVFsVQTqAskGqFJadzbN2v4xuLm9DVzi3imMEsErnzMW1drQYuP7OA/kFC3pD5gdSPrLCoQhqqYQYifRzjpTnRtdnHNIm3+FctnmTt3bTrKPYfNTxnm7DPnCbeSly90GwzOA9/sR/7VEM5gZUCkZHojcr8s5i65dCsfebBKYcM20ncZ2fVUK/AIkJJrGITz1DmfOeHvZdxraSkWklUjUQILCWeNBDu2OTpzLg998l65SzluzA1kagYyaRwmSFOOnOzgDAG/xlOq5jadZCoGokWkcpKlJNoV+BgETHBuOFeoBpJVI1k5sBY85+fxJICJREzxt1zy/xMFInJpbBs0BGINedA695PGMqeNyxy/UXE7zMKiaqRWBGRKcREtcKycvl0jOSY/ZrAsWnOFyDbWzRf/97CEFWJqpGYAmtTIsdpJzaXDis+v5LEQSU/lUhUjUSehXnZ1vuYxYt2DumjV71LYX4bD/hRDfUERgiuZI9BIiTHVfPTCBKTWUyISKLMxmPapH7QOBKTS+GICgknJ/pSGGS2ECWqRgIEcve3EiUGSYTkuGp+OCQnK0BC64HxSKysREBtYVGLRIpILSR6j01SiaqRWBGplUSZjce0Sf3gs6JA1Edi0oVFNRJ+qZSUEoMkynxL/ShGg14quXvUKBGoq7AohHICdYPnVZEYPL/cFk+JBYPLlrrrQhIEvluZhPgkymw8ps2EAXoPiqGcwLE8NlQPbmIKi5HnG6AYygm89pwpv8wV+BuqSUSILWo6D46yDzZsan0WipFIFd47euTqoXFjY2OViFAl6oy9MTDMvvL7b9KxPweauGXJrEPPf7LxsuExdmNOZ+80urCYX10TBSOfM6jv0Ci7oe/j3BXXL5H/m0K9+D+fcEznhZXBXgAAAABJRU5ErkJggg==\"","import {useState, useRef, useEffect} from 'react';\r\n\r\nimport { Overlay, Popover } from 'react-bootstrap';\r\n\r\nimport './RolloverMenu.scss'\r\n\r\ninterface IRolloverMenu {\r\n show: boolean;\r\n target: any;\r\n onHide: () => void;\r\n placement: any;\r\n className?: string;\r\n}\r\n\r\nconst RolloverMenu: React.FC = (props) => {\r\n\r\n const [show, setShow] = useState(props.show);\r\n\r\n const [target, setTarget] = useState(null);\r\n\r\n const ref = useRef(null);\r\n\r\n useEffect(() => {\r\n if (props.target) {\r\n setShow(props.show);\r\n setTarget(props.target.current);\r\n }\r\n }, [props.show])\r\n\r\n let className = 'roll_over_menu'\r\n if (props.className) {\r\n className += ' ' + props.className\r\n }\r\n\r\n return (\r\n
\r\n\r\n props.onHide()}\r\n rootClose={true}\r\n >\r\n \r\n {/* Popover bottom */}\r\n \r\n {props.children}\r\n \r\n \r\n\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default RolloverMenu;","import RolloverMenu from '../../../../../../../com/rolloverMenu/RolloverMenu'\r\n\r\nimport './SettingsControlsMenu.scss'\r\nimport React from \"react\";\r\nimport {Box, Typography} from \"@mui/material\";\r\n\r\ninterface ISettingsControls {\r\n show: boolean;\r\n target: any;\r\n onHide: () => void;\r\n showGuiThemeSettings: () => void;\r\n showCheckoutSettings?: () => void;\r\n showSaleTypesSettings?: () => void;\r\n showAccountLocalSettings?: () => void;\r\n showFlyerClassesPopup?: () => void;\r\n showEmailSettingsPopup?: () => void;\r\n showStoreSettingsPopup?: () => void;\r\n showUsersAndPermissionsPopup?: () => void;\r\n}\r\n\r\nconst SettingsControls: React.FC = (props) => {\r\n\r\n return (\r\n
\r\n props.onHide()}\r\n placement=\"bottom-start\"\r\n >\r\n .MuiTypography-root\": {\r\n cursor: \"pointer\",\r\n fontSize: \"14px\"\r\n }\r\n }}\r\n >\r\n \r\n Account Settings\r\n \r\n Brands\r\n Flyer Classes\r\n Startup Options\r\n Checkout Options\r\n Email Settings\r\n Sale Types\r\n Store Settings\r\n Users & Permissions\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default SettingsControls;","class DragManager {\r\n\r\n _container?: HTMLElement;\r\n _touchArea?: HTMLElement;\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n init(container: any, touchArea: any) {\r\n this._container = container;\r\n this._touchArea = touchArea\r\n\r\n this._touchArea!.addEventListener('mousedown', this.handleMouseDown)\r\n this._touchArea!.addEventListener('mouseup', this.handleMouseUp)\r\n }\r\n\r\n dispose() {\r\n\r\n if (this._touchArea) {\r\n this._touchArea!.removeEventListener('mousedown', this.handleMouseDown)\r\n this._touchArea!.removeEventListener('mouseup', this.handleMouseUp)\r\n\r\n window.removeEventListener('mousemove', this.handleDrag)\r\n }\r\n\r\n }\r\n\r\n handleMouseDown = (e: MouseEvent) => {\r\n\r\n // otherwise when moving mouse while mouse down\r\n // we dont have new mouseX values\r\n e.preventDefault();\r\n\r\n window.addEventListener('mousemove', this.handleDrag)\r\n }\r\n\r\n handleMouseUp = (e: MouseEvent) => {\r\n window.removeEventListener('mousemove', this.handleDrag)\r\n }\r\n\r\n handleDrag = (e: any) => {\r\n\r\n e.preventDefault();\r\n\r\n let movementX = e.movementX\r\n let mouvementY = e.movementY\r\n\r\n const {x, y} = this._container!.getBoundingClientRect()\r\n\r\n this._container!.style.left = `${x + movementX}px`\r\n this._container!.style.top = `${y + mouvementY}px`\r\n\r\n // this._container!.style.left = `${x}px`\r\n // this._container!.style.top = `${y }px`\r\n\r\n console.log(this._container!.style.left, this._container!.style.top)\r\n }\r\n\r\n}\r\n\r\nexport default DragManager","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCloseIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.7917 1.67676L13.323 0.208008L7.50004 6.03093L1.67712 0.208008L0.208374 1.67676L6.03129 7.49967L0.208374 13.3226L1.67712 14.7913L7.50004 8.96842L13.323 14.7913L14.7917 13.3226L8.96879 7.49967L14.7917 1.67676Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCloseIcon);\nexport default __webpack_public_path__ + \"static/media/close_icon.9e1c93de.svg\";\nexport { ForwardRef as ReactComponent };","'use strict'\r\n\r\nimport React from 'react'\r\nimport reactCSS from 'reactcss'\r\nimport {SketchPicker} from 'react-color'\r\n\r\nimport './ColorsSelector.scss'\r\n\r\nimport colorsSelectorIcon from '../../assets/colors_selector_icon.png';\r\n\r\nimport {hexToRgb} from '../../helpers/utils';\r\nimport {Grid} from \"@mui/material\";\r\nimport {AsyncImageWithLoader} from \"../imageWithLoader/imageWithLoader\";\r\nimport {ReactComponent as CameraIcon} from \"../../assets/camera_icon.svg\";\r\n\r\nclass ColorSelector extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.color1 = '#EB3223';\r\n this.color2 = '#DF8244';\r\n this.color3 = '#4EAC5B';\r\n this.color4 = '#3F552A';\r\n this.color5 = '#2A70BA';\r\n this.color6 = '#04215C';\r\n this.color7 = '#7B601D';\r\n this.color8 = '#595959';\r\n\r\n // this.colors = [\r\n // this.pink1,\r\n // this.blue1,\r\n // this.pink1,\r\n // this.pink1,\r\n // this.pink1\r\n // ];\r\n this.state = {\r\n displayColorPicker: false,\r\n /*color: {\r\n r: '241',\r\n g: '112',\r\n b: '19',\r\n a: '1',\r\n },\r\n currentSelectedColor: this.pink1*/\r\n backgroundUrl: props.type === 'backgroundColor' && props.backgroundImageURL ? props.backgroundImageURL : null,\r\n type: props.type,\r\n isImageUrl: props.isImageUrlSelected,\r\n color: hexToRgb(props.currentSelectedColor),\r\n currentSelectedColor: props.currentSelectedColor,\r\n abovePosition: Boolean(props.abovePosition)\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.currentSelectedColor !== this.props.currentSelectedColor || prevProps.backgroundImageURL !== this.props.backgroundImageURL || prevProps.isImageUrlSelected !== this.props.isImageUrlSelected) {\r\n const nextState = {\r\n ...this.state,\r\n backgroundUrl: this.props.type === 'backgroundColor' && this.props.backgroundImageURL ? this.props.backgroundImageURL : null,\r\n color: hexToRgb(this.props.currentSelectedColor),\r\n currentSelectedColor: this.props.currentSelectedColor,\r\n isImageUrl: this.props.isImageUrlSelected\r\n };\r\n this.setState(nextState)\r\n }\r\n }\r\n\r\n // will be called each time props will change\r\n /*static getDerivedStateFromProps(nextProps, current_state) {\r\n if (nextProps.currentSelectedColor && \r\n current_state.currentSelectedColor !== nextProps.currentSelectedColor) {\r\n const nextState = {\r\n ...current_state,\r\n color: hexToRgb(nextProps.currentSelectedColor),\r\n currentSelectedColor: nextProps.currentSelectedColor\r\n }\r\n return nextState;\r\n }\r\n return null\r\n }*/\r\n\r\n onDynamicColorSwatchClick = () => {\r\n this.setState({displayColorPicker: !this.state.displayColorPicker})\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({displayColorPicker: false})\r\n };\r\n\r\n handleChange = (nextColor) => {\r\n this.setState({color: nextColor.rgb})\r\n this.setState({currentSelectedColor: nextColor.hex})\r\n\r\n //\r\n this.props.onColorSwatchChange(nextColor.hex);\r\n };\r\n\r\n onColorSwatchClick = (nextColor) => {\r\n this.setState({currentSelectedColor: nextColor})\r\n\r\n //\r\n this.props.onColorSwatchChange(nextColor);\r\n }\r\n\r\n render() {\r\n\r\n const styles = reactCSS({\r\n 'default': {\r\n color: {\r\n width: '36px',\r\n height: '14px',\r\n borderRadius: '2px',\r\n background: `rgba(\r\n ${this.state.color.r}, \r\n ${this.state.color.g}, \r\n ${this.state.color.b}, \r\n ${this.state.color.a}\r\n )`,\r\n },\r\n swatch: {\r\n padding: '5px',\r\n background: '#fff',\r\n borderRadius: '1px',\r\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\r\n display: 'inline-block',\r\n cursor: 'pointer',\r\n },\r\n popover: {\r\n position: 'absolute',\r\n top: this.state.abovePosition ? `-316px` : `auto`,\r\n zIndex: '2',\r\n },\r\n cover: {\r\n position: 'fixed',\r\n top: '0px',\r\n right: '0px',\r\n bottom: '0px',\r\n left: '0px',\r\n },\r\n },\r\n });\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {this.state.backgroundUrl && this.state.isImageUrl\r\n ? )}\r\n />\r\n\r\n :
\r\n }\r\n
\r\n \r\n \r\n
\r\n this.onColorSwatchClick(this.color1)}\r\n style={{backgroundColor: this.color1}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color2)}\r\n style={{backgroundColor: this.color2}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color3)}\r\n style={{backgroundColor: this.color3}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color4)}\r\n style={{backgroundColor: this.color4}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color5)}\r\n style={{backgroundColor: this.color5}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color6)}\r\n style={{backgroundColor: this.color6}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color7)}\r\n style={{backgroundColor: this.color7}}\r\n />\r\n\r\n this.onColorSwatchClick(this.color8)}\r\n style={{backgroundColor: this.color8}}\r\n />\r\n\r\n \r\n {``}/\r\n
\r\n
\r\n\r\n {this.state.displayColorPicker &&\r\n\r\n
\r\n
\r\n \r\n
\r\n }\r\n\r\n\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ColorSelector","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ6SURBVHgBXVO9b9NQEL97z3ZLWqUpLZVSlrTAgIDGfExMMWJga4auiE5ILJCOTK0nxBYxM4SNrelf0HRCqEKNRGkkSiFIDEVKhZX0g8Tvo2c7cdKc9PTO9/G7u987IwzJ/uOlnAa1CIh50JCZmGoA3VVEqEpEN/2xUh+Mx56yk8unxjhfI8urwYAQ4EKCLp60mTtXrngxwE5hPZVofNvEwx27F2gaJjDGYGKmAVJKEB0Rg1gLrAoPtTPpVDwjMIyAXlPTN21UPlhHNUgkxgggdMF48iy8lVTQ/NcEI0sA99AGgatkXsFaYT1D7l9BEOccLnd+Ax7u9kdI90fALEJnvgVayPBbCuUwSl7tBaQmkwCzWdDpO0QcFsmZ4xpyiFhiNgN2l4GVSMSA3GCLBgLammg2LZqZs8iTXihNvXu5MsDdlv6yFJBWYCbF0XhKiOB18oySQ+I4Y31kzUowLAo24lFo1O6TZIzNRDbURy9ZkByL2tNS43B+aXSaViPSW5YFbf0/1IOy9ZAQYrknNMriMAAyeBY3IyMSqfuqQbBl0Lrg0zt36FiWATVTF56+P0pprT40HlSoU57flQfLt9lBuBO+8CNQjVUDhdrQHAuB4bh1Bn9nxuG7GfSql4n95aDJgORdOQ9aKbja2o678rVy2Yu3N6gEFgPDHpfw+bR1YZyeCN+HT94V+CqudflTxddOuR6uW9tg7gGTuZ8jYANV8bwmmKYRrvLp8Um0yiJa5T24DgbI6iz8cHskwoo75/1Jcod2ohi35wtotzt02nFyt3Rx37vluE65/zMNypM3tQxDc5U8wX7YR/c3KQrroHRZcV3efvR8azD+HP08+zdFZaKnAAAAAElFTkSuQmCC\"","import React, {useRef} from 'react';\r\n\r\nimport './LabelFileSelector.scss'\r\nimport {Box} from \"@mui/material\";\r\n\r\n\r\ninterface ILabelFileSelector {\r\n fileId: string;\r\n accept?: string;\r\n onChange?: (event: React.ChangeEvent) => void;\r\n onClick?: () => void;\r\n multiple?: boolean;\r\n isDisabled?: boolean\r\n}\r\n\r\nconst LabelFileSelector: React.FC = (props) => {\r\n\r\n const inputRef: React.LegacyRef = useRef(null);\r\n\r\n return (\r\n <>\r\n \r\n\r\n {\r\n //--------------------------------------------------//\r\n // BUG FIX: to select the same file multiple times\r\n if (props?.onClick) {\r\n props?.onClick();\r\n }\r\n // bug fix: for chrome\r\n if (inputRef.current !== null) {\r\n inputRef.current!.value = '';\r\n }\r\n\r\n // bug fix: for firefox\r\n return false;\r\n //--------------------------------------------------//\r\n }}\r\n onChange={props.onChange}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default LabelFileSelector;","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19,\n height: 18,\n viewBox: \"0 0 19 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.817 16.9989H8.63533C8.2339 16.9989 7.9081 16.6724 7.9081 16.2717V12.6355H6.09002C5.94312 12.6355 5.81003 12.5468 5.75404 12.4108C5.69804 12.2748 5.72931 12.1185 5.83258 12.0145L9.46874 8.37833C9.61055 8.23652 9.84108 8.23652 9.98289 8.37833L13.6191 12.0145C13.723 12.1185 13.7543 12.2748 13.6976 12.4108C13.6409 12.5468 13.5092 12.6355 13.3623 12.6355H11.5443V16.2717C11.5443 16.6724 11.2185 16.9989 10.817 16.9989ZM6.96779 11.9083H8.27172C8.47243 11.9083 8.63533 12.0712 8.63533 12.2719V16.2717H10.817V12.2719C10.817 12.0712 10.9799 11.9083 11.1806 11.9083H12.4846L9.72618 9.14992L6.96779 11.9083Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.27327 12.6139C4.25945 12.6139 4.24636 12.6132 4.23182 12.6117C2.38974 12.4074 1 10.854 1 8.99955C1 7.07821 2.49737 5.50084 4.38599 5.37212C4.88924 2.85881 7.13275 1 9.72678 1C11.7638 1 13.64 2.14757 14.5651 3.94093C16.7628 4.17146 18.4536 6.0339 18.4536 8.27232C18.4536 10.2213 17.1475 11.9448 15.2785 12.4626C15.0836 12.5157 14.8843 12.4023 14.8312 12.2088C14.7774 12.0154 14.8909 11.8147 15.0843 11.7616C16.6399 11.3311 17.7263 9.8955 17.7263 8.27232C17.7263 6.34734 16.2261 4.75615 14.3105 4.64998C14.176 4.64271 14.0575 4.56198 14.0007 4.44054C13.2313 2.79263 11.5543 1.72723 9.72678 1.72723C7.38873 1.72723 5.38012 3.46895 5.05432 5.77792C5.02886 5.95681 4.87542 6.09062 4.69434 6.09062C3.03189 6.09062 1.72723 7.39528 1.72723 8.99955C1.72723 10.4831 2.83844 11.7252 4.31327 11.8888C4.51253 11.9114 4.65652 12.091 4.63398 12.2903C4.61362 12.4764 4.45581 12.6139 4.27327 12.6139Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadIcon);\nexport default __webpack_public_path__ + \"static/media/upload_icon.e008c906.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Button} from \"@mui/material\";\r\nimport {ReactComponent as CloseIcon} from \"../../assets/close_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n closePopupBtn: {\r\n '&.MuiButton-root': {\r\n padding: `6px`,\r\n '& > svg > path': {\r\n fill: `#ffffff`\r\n },\r\n '&:hover': {\r\n backgroundColor: `#ffffff80`,\r\n '& > svg > path': {\r\n fill: `#000000`\r\n },\r\n }\r\n }\r\n }\r\n}))\r\n\r\n\r\ninterface Props {\r\n onClose: VoidFunction;\r\n}\r\n\r\nexport const ClosePopupBtn: React.FC = ({\r\n onClose\r\n }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n )\r\n}","import {forwardRef, useRef, Ref, useImperativeHandle} from 'react';\r\n\r\n\r\nimport './GuiThemesHeader.scss'\r\nimport {Box, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ClosePopupBtn} from \"../../../../../../../../com/closePopupBtn/closePopupBtn\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n guiThemeHeader: {\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n display: `flex`,\r\n justifyContent: `space-between`,\r\n padding: `6px 20px`,\r\n cursor: \"move\"\r\n }\r\n}))\r\n\r\nexport interface IGuiThemesHeaderRef {\r\n getRef(): HTMLDivElement;\r\n\r\n addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\r\n\r\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\r\n}\r\n\r\ninterface IGuiThemesHeader {\r\n label: string;\r\n onClose: () => void;\r\n}\r\n\r\n// const GuiThemesHeader: React.FC = (props) => {\r\nconst GuiThemesHeader = forwardRef((props: IGuiThemesHeader, ref: Ref) => {\r\n const classes = useStyles();\r\n let containerRef = useRef(null);\r\n\r\n useImperativeHandle(ref, () => ({getRef, addEventListener, removeEventListener}));\r\n\r\n function getRef(): HTMLDivElement {\r\n return containerRef.current!\r\n }\r\n\r\n function addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void {\r\n containerRef.current?.addEventListener(type, listener)\r\n }\r\n\r\n function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void {\r\n containerRef.current?.removeEventListener(type, listener)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\nexport default GuiThemesHeader","class ImageLoader {\r\n\r\n image?: HTMLImageElement | null;\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n loadImageDimensions(file: File): Promise<{ width: number, height: number }> {\r\n\r\n return new Promise(async (resolve, reject) => {\r\n\r\n let image = this.image;\r\n image = new Image();\r\n\r\n var url = URL.createObjectURL(file);\r\n\r\n image.onload = function () {\r\n resolve({width: image!.width, height: image!.height})\r\n // dispose the image\r\n image = null;\r\n };\r\n\r\n image.onerror = function (e) {\r\n reject(e)\r\n }\r\n\r\n image.src = url;\r\n\r\n })\r\n\r\n }\r\n}\r\n\r\nexport default ImageLoader","var _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgImageError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 244,\n height: 305,\n viewBox: \"0 0 244 305\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.3492 93.7016C78.9928 81.4946 76.2352 68.3097 76.2501 54.9809V30.5C79.0573 30.5 81.3334 28.2239 81.3334 25.4167V5.08333C81.3334 2.27608 79.0573 0 76.2501 0H35.5834C32.7762 0 30.5001 2.27608 30.5001 5.08333V25.4167C30.5001 28.2239 32.7762 30.5 35.5834 30.5V54.9809C35.5983 68.3097 32.8407 81.4946 27.4868 93.7016L13.2173 126.326C4.47534 146.233 -0.0271796 167.74 0.000123433 189.481V299.917C0.000123433 302.724 2.2762 305 5.08345 305H106.75C109.557 305 111.833 302.724 111.833 299.917V189.481C111.861 167.74 107.361 146.233 98.6163 126.326L84.3492 93.7016ZM40.6668 10.1667H71.1668V20.3333H40.6668V10.1667ZM101.667 294.833H10.1668V189.481C10.142 169.14 14.3516 149.018 22.5301 130.392L36.7997 97.7672C42.717 84.282 45.765 69.7096 45.7501 54.9809V30.5H66.0834V54.9809C66.0685 69.7096 69.1165 84.282 75.0363 97.7672L89.3034 130.392C97.4819 149.018 101.692 169.14 101.667 189.481V294.833Z\",\n fill: \"#616161\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4163 177.917C22.6091 177.917 20.333 180.193 20.333 183V269.416C20.333 272.224 22.6091 274.5 25.4163 274.5H86.4163C89.2235 274.5 91.4996 272.224 91.4996 269.416V183C91.4996 180.193 89.2235 177.917 86.4163 177.917H25.4163ZM81.333 264.333H30.4997V188.083H81.333V264.333Z\",\n fill: \"#616161\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M227.733 292.8C217.67 285.287 205.687 280.775 193.167 279.787V208.158C221.937 205.508 243.963 181.392 244 152.5C244 152.259 243.985 152.016 243.951 151.778L241.275 133.04V133.006L233.784 80.611C233.424 78.1091 231.28 76.25 228.75 76.25H147.417C144.888 76.25 142.743 78.1091 142.386 80.611L132.219 151.778C132.184 152.016 132.167 152.259 132.167 152.5C132.204 181.392 154.23 205.508 183 208.158V279.792C170.481 280.78 158.497 285.29 148.435 292.805L144.366 295.856C142.622 297.169 141.909 299.452 142.602 301.525C143.294 303.597 145.233 304.997 147.417 305H228.75C230.939 305 232.88 303.6 233.573 301.525C234.265 299.447 233.551 297.164 231.801 295.851L227.733 292.8ZM151.825 86.4167H224.342L230.443 129.116L220.659 130.211C209.541 131.454 198.288 130.519 187.53 127.448L186.924 127.272C174.435 123.725 161.356 122.74 148.474 124.373L146.365 124.633L151.825 86.4167ZM142.334 152.85L144.875 135.058L149.725 134.465C161.225 132.988 172.906 133.852 184.063 137.007L184.658 137.183C196.714 140.638 209.328 141.695 221.79 140.296L231.883 139.166L233.834 152.85C233.834 178.118 213.351 198.6 188.084 198.6C162.816 198.6 142.334 178.118 142.334 152.85ZM164.821 294.833C179.62 288.199 196.548 288.199 211.346 294.833H164.821Z\",\n fill: \"#616161\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgImageError);\nexport default __webpack_public_path__ + \"static/media/image_error.ce9d5d88.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1Promo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0ZM0.805557 16C0.805557 24.3917 7.60834 31.1944 16 31.1944C24.3917 31.1944 31.1944 24.3917 31.1944 16C31.1944 7.60834 24.3917 0.805557 16 0.805557C7.60834 0.805557 0.805557 7.60834 0.805557 16Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"black\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1Promo);\nexport default __webpack_public_path__ + \"static/media/set_1_Promo.a796b18c.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet2Promo1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet2Promo1);\nexport default __webpack_public_path__ + \"static/media/set_2_Promo-1.49fb647f.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet3Promo2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet3Promo2);\nexport default __webpack_public_path__ + \"static/media/set_3_Promo-2.4757f2c6.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet4Promo3(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet4Promo3);\nexport default __webpack_public_path__ + \"static/media/set_4_Promo-3.37e3204c.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet5Promo4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet5Promo4);\nexport default __webpack_public_path__ + \"static/media/set_5_Promo-4.a89b7310.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet6Promo5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet6Promo5);\nexport default __webpack_public_path__ + \"static/media/set_6_Promo-5.54442a54.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet7Promo6(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet7Promo6);\nexport default __webpack_public_path__ + \"static/media/set_7_Promo-6.3ff79903.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet8Promo7(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 9H10.0582L13.0926 21.005H21.0231L22.0599 17.2067L21.0952 16.9433L20.2595 20.005H13.8713L12.3522 13.9952H17.9949V12.9952H12.0995L10.8368 8H7V9Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.0137 12.9827H22V10.9934H21V12.9827H19.0137V13.9827H21V15.9828H22V13.9827H24.0137V12.9827Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8141 22.7828C15.8141 23.4455 15.2768 23.9828 14.6141 23.9828C13.9513 23.9828 13.4141 23.4455 13.4141 22.7828C13.4141 22.12 13.9513 21.5828 14.6141 21.5828C15.2768 21.5828 15.8141 22.12 15.8141 22.7828Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4352 22.7828C20.4352 23.4455 19.8979 23.9828 19.2352 23.9828C18.5724 23.9828 18.0352 23.4455 18.0352 22.7828C18.0352 22.12 18.5724 21.5828 19.2352 21.5828C19.8979 21.5828 20.4352 22.12 20.4352 22.7828Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet8Promo7);\nexport default __webpack_public_path__ + \"static/media/set_8_Promo-7.d2cec6e8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1Page(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.402779,\n y: 0.402779,\n width: 31.1944,\n height: 31.1944,\n rx: 15.5972,\n stroke: \"black\",\n strokeWidth: 0.805557\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1Page);\nexport default __webpack_public_path__ + \"static/media/set_1_Page.0d2933d3.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet2Page1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet2Page1);\nexport default __webpack_public_path__ + \"static/media/set_2_Page-1.a3231526.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet3Page2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet3Page2);\nexport default __webpack_public_path__ + \"static/media/set_3_Page-2.d55a0f2d.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet4Page3(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet4Page3);\nexport default __webpack_public_path__ + \"static/media/set_4_Page-3.efb29c1f.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet5Page4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet5Page4);\nexport default __webpack_public_path__ + \"static/media/set_5_Page-4.7e4cb071.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet6Page5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet6Page5);\nexport default __webpack_public_path__ + \"static/media/set_6_Page-5.75a78e9d.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet7Page6(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet7Page6);\nexport default __webpack_public_path__ + \"static/media/set_7_Page-6.14644eb1.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet8Page7(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 16.0004H13L13 17.0001H19L19 16.0004Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19.0001H13.0001V20.0001H18L18 19.0001Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.0001 11.8708L18.7367 7.99995L10 8L10 24.0002H22L22.0001 11.8708ZM11 23.0002L11 8.99999L18 8.99995L18 12.9999L21.0001 13L21 23.0002H11ZM19 11.9999L19 9.86362L20.8011 12L19 11.9999Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet8Page7);\nexport default __webpack_public_path__ + \"static/media/set_8_Page-7.4da4cce9.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1Link(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.402779,\n y: 0.402779,\n width: 31.1944,\n height: 31.1944,\n rx: 15.5972,\n stroke: \"black\",\n strokeWidth: 0.805557\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1Link);\nexport default __webpack_public_path__ + \"static/media/set_1_Link.d48ca6bb.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet2Link1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet2Link1);\nexport default __webpack_public_path__ + \"static/media/set_2_Link-1.e032d117.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet3Link2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet3Link2);\nexport default __webpack_public_path__ + \"static/media/set_3_Link-2.e3814b1c.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet4Link3(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet4Link3);\nexport default __webpack_public_path__ + \"static/media/set_4_Link-3.9cee8c71.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet5Link4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet5Link4);\nexport default __webpack_public_path__ + \"static/media/set_5_Link-4.335aa7ae.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet6Link5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet6Link5);\nexport default __webpack_public_path__ + \"static/media/set_6_Link-5.17367224.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet7Link6(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet7Link6);\nexport default __webpack_public_path__ + \"static/media/set_7_Link-6.19b4b929.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet8Link7(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.4402 9.15763C17.6068 7.79101 19.6796 7.60948 21.075 8.74607L22.8105 10.1597C24.2123 11.3016 24.4039 13.3445 23.2318 14.7177L20.3371 18.1087C19.1706 19.4754 17.0977 19.6569 15.7024 18.5203L14.4006 17.46L14.995 16.7303L16.2968 17.7906C17.2984 18.6065 18.7891 18.4726 19.6213 17.4977L22.5159 14.1066C23.3426 13.1382 23.2113 11.7001 22.2161 10.8894L20.4806 9.4758C19.4789 8.65987 17.9883 8.79373 17.156 9.76868L16.1876 10.9033L15.4717 10.2922L16.4402 9.15763ZM11.6629 13.8913C12.8294 12.5246 14.9023 12.3431 16.2976 13.4797L17.8664 14.7575L17.272 15.4873L15.7032 14.2094C14.7016 13.3935 13.2109 13.5274 12.3787 14.5023L9.48407 17.8934C8.65743 18.8618 8.7887 20.2999 9.78392 21.1106L11.5194 22.5242C12.5211 23.3401 14.0117 23.2063 14.844 22.2313L15.6399 21.2989L16.3557 21.9099L15.5598 22.8424C14.3932 24.209 12.3204 24.3905 10.925 23.2539L9.18953 21.8403C7.78771 20.6984 7.59611 18.6555 8.76823 17.2823L11.6629 13.8913Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet8Link7);\nexport default __webpack_public_path__ + \"static/media/set_8_Link-7.25d1c0b9.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1Video(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.402779,\n y: 0.402779,\n width: 31.1944,\n height: 31.1944,\n rx: 15.5972,\n stroke: \"black\",\n strokeWidth: 0.805557\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8401 15.8897L11.916 8.93799V22.8414L22.8401 15.8897Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1Video);\nexport default __webpack_public_path__ + \"static/media/set_1_Video.90865367.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet2Video1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet2Video1);\nexport default __webpack_public_path__ + \"static/media/set_2_Video-1.a9d1198b.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet3Video2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet3Video2);\nexport default __webpack_public_path__ + \"static/media/set_3_Video-2.8bbaf592.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet4Video3(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet4Video3);\nexport default __webpack_public_path__ + \"static/media/set_4_Video-3.e530c171.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet5Video4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet5Video4);\nexport default __webpack_public_path__ + \"static/media/set_5_Video-4.d7d785f6.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet6Video5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet6Video5);\nexport default __webpack_public_path__ + \"static/media/set_6_Video-5.bb5aa9ee.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet7Video6(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet7Video6);\nexport default __webpack_public_path__ + \"static/media/set_7_Video-6.4104ba5f.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet8Video7(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23 16L12 9V23L23 16Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet8Video7);\nexport default __webpack_public_path__ + \"static/media/set_8_Video-7.4e0df089.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1Image(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.402779,\n y: 0.402779,\n width: 31.1944,\n height: 31.1944,\n rx: 15.5972,\n stroke: \"black\",\n strokeWidth: 0.805557\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1Image);\nexport default __webpack_public_path__ + \"static/media/set_1_Image.1eacf8d6.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet2Image1(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet2Image1);\nexport default __webpack_public_path__ + \"static/media/set_2_Image-1.f23f5427.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet3Image2(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet3Image2);\nexport default __webpack_public_path__ + \"static/media/set_3_Image-2.0417541b.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet4Image3(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet4Image3);\nexport default __webpack_public_path__ + \"static/media/set_4_Image-3.2776d008.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet5Image4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet5Image4);\nexport default __webpack_public_path__ + \"static/media/set_5_Image-4.c2c32fdb.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet6Image5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet6Image5);\nexport default __webpack_public_path__ + \"static/media/set_6_Image-5.d61732cc.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet7Image6(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet7Image6);\nexport default __webpack_public_path__ + \"static/media/set_7_Image-6.1491aacc.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet8Image7(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 14C15 15.1046 14.1055 16 13 16C11.8945 16 11 15.1046 11 14C11 12.8954 11.8945 12 13 12C14.1055 12 15 12.8954 15 14ZM14 14C14 14.5522 13.5527 15 13 15C12.4473 15 12 14.5522 12 14C12 13.6558 12.1738 13.3521 12.4375 13.1721C12.5977 13.0635 12.791 13 13 13C13.5527 13 14 13.4478 14 14Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 9V23H25V9H7ZM24 10H8V21.2803L12.2949 16.8242L16.6289 19.6866L21.0879 14.219L24 17.6409V10ZM24 22H8.69531L12.4375 18.1171L16.832 21.0194L21.1035 15.7811L24 19.1842V22Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet8Image7);\nexport default __webpack_public_path__ + \"static/media/set_8_Image-7.a0d1c2fb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet1360(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16 0C7.16344 0 0 7.16344 0 16C0 24.8366 7.16344 32 16 32C24.8366 32 32 24.8366 32 16C32 7.16344 24.8366 0 16 0Z\",\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.402779,\n y: 0.402779,\n width: 31.1944,\n height: 31.1944,\n rx: 15.5972,\n stroke: \"black\",\n strokeWidth: 0.805557\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.7905 12.2653H11.329C11.4669 12.2653 11.5797 12.238 11.6672 12.1833C11.757 12.1262 11.8238 12.0467 11.8675 11.9449C11.9113 11.8405 11.9332 11.7176 11.9332 11.576C11.9332 11.4667 11.9124 11.3661 11.8708 11.2742C11.8314 11.1823 11.7701 11.109 11.6869 11.0544C11.6038 10.9973 11.4976 10.9687 11.3684 10.9687C11.2809 10.9687 11.1955 10.9898 11.1123 11.032C11.0291 11.0718 10.9602 11.1289 10.9054 11.2034C10.8529 11.2779 10.8266 11.3686 10.8266 11.4754H9.71677C9.71677 11.1674 9.7912 10.9041 9.94006 10.6855C10.0911 10.4645 10.2892 10.2956 10.5344 10.1788C10.7818 10.0596 11.0477 10 11.3323 10C11.6716 10 11.9693 10.0596 12.2255 10.1788C12.4816 10.2956 12.6808 10.4694 12.8231 10.7004C12.9676 10.929 13.0398 11.2121 13.0398 11.5499C13.0398 11.7362 13.0015 11.9113 12.9249 12.0753C12.8483 12.2392 12.741 12.3833 12.6031 12.5075C12.5137 12.588 12.4141 12.6575 12.3045 12.7161C12.4438 12.7723 12.5674 12.8455 12.6753 12.9359C12.8176 13.0551 12.9271 13.2029 13.0037 13.3793C13.0803 13.5532 13.1186 13.7531 13.1186 13.9791C13.1186 14.2325 13.0737 14.4585 12.984 14.6572C12.8942 14.8559 12.7684 15.0236 12.6064 15.1602C12.4444 15.2968 12.255 15.4011 12.0383 15.4732C11.8216 15.5427 11.5863 15.5775 11.3323 15.5775C11.1331 15.5775 10.9339 15.5477 10.7347 15.4881C10.5355 15.426 10.3538 15.3316 10.1896 15.2049C10.0254 15.0758 9.89299 14.9118 9.79229 14.7131C9.69379 14.5119 9.64453 14.2722 9.64453 13.994H10.7544C10.7544 14.1083 10.7818 14.2126 10.8365 14.307C10.8934 14.3989 10.9689 14.4722 11.0631 14.5268C11.1572 14.5815 11.259 14.6088 11.3684 14.6088C11.5042 14.6088 11.6191 14.5802 11.7132 14.5231C11.8095 14.4635 11.8829 14.384 11.9332 14.2847C11.9836 14.1853 12.0087 14.0748 12.0087 13.9531C12.0087 13.7693 11.9814 13.6227 11.9267 13.5134C11.8741 13.4041 11.7964 13.3246 11.6935 13.275C11.5928 13.2253 11.4713 13.2004 11.329 13.2004H10.7905V12.2653Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.1757 10H16.353V10.9873H16.2939C16.0815 10.9873 15.8823 11.0209 15.6963 11.0879C15.5124 11.155 15.3504 11.2568 15.2103 11.3934C15.0724 11.5276 14.964 11.6977 14.8852 11.9039C14.8448 12.0126 14.815 12.1314 14.7959 12.2602C14.899 12.1429 15.024 12.0465 15.1709 11.9709C15.3351 11.8865 15.5255 11.8443 15.7422 11.8443C15.9611 11.8443 16.1538 11.8915 16.3202 11.9858C16.4887 12.0802 16.6299 12.2119 16.7437 12.3808C16.8598 12.5497 16.9473 12.7471 17.0064 12.9732C17.0655 13.1992 17.0951 13.4439 17.0951 13.7072C17.0951 13.9729 17.0535 14.2201 16.9703 14.4486C16.8893 14.6746 16.7744 14.8721 16.6255 15.041C16.4767 15.2099 16.3005 15.3415 16.0969 15.4359C15.8933 15.5303 15.6689 15.5775 15.4237 15.5775C15.172 15.5775 14.9388 15.5291 14.7243 15.4322C14.512 15.3328 14.3259 15.19 14.1661 15.0037C14.0085 14.815 13.8848 14.5852 13.795 14.3145C13.7075 14.0437 13.6637 13.737 13.6637 13.3942V12.9359C13.6637 12.4714 13.7305 12.0579 13.864 11.6952C13.9997 11.3326 14.1836 11.0258 14.4156 10.775C14.6499 10.5216 14.918 10.3291 15.2201 10.1975C15.5222 10.0658 15.8407 10 16.1757 10ZM14.7703 13.5805V13.1971L14.7768 13.1818C14.8272 13.0725 14.9005 12.9831 14.9968 12.9136C15.0954 12.8415 15.2147 12.8055 15.3548 12.8055C15.4467 12.8055 15.531 12.8266 15.6076 12.8689C15.6864 12.9086 15.7532 12.9682 15.8079 13.0477C15.8648 13.1247 15.9086 13.2191 15.9393 13.3309C15.9699 13.4426 15.9852 13.5681 15.9852 13.7072C15.9852 13.8363 15.971 13.9555 15.9425 14.0648C15.9141 14.1741 15.8725 14.2697 15.8178 14.3517C15.7652 14.4337 15.7028 14.497 15.6306 14.5417C15.5583 14.5864 15.4795 14.6088 15.3942 14.6088C15.2913 14.6088 15.2004 14.5877 15.1216 14.5455C15.045 14.5032 14.9804 14.4399 14.9279 14.3554C14.8754 14.271 14.836 14.1642 14.8097 14.035C14.7834 13.9059 14.7703 13.7543 14.7703 13.5805Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.9041 13.2861V12.2951C20.9041 11.9821 20.8778 11.7027 20.8253 11.4568C20.7728 11.2084 20.6972 10.9935 20.5987 10.8122C20.5024 10.6309 20.3853 10.4806 20.2474 10.3614C20.1095 10.2397 19.9551 10.1503 19.7844 10.0931C19.6158 10.0335 19.433 10.0037 19.236 10.0037C18.9908 10.0037 18.7665 10.0497 18.5629 10.1416C18.3593 10.2335 18.1831 10.3738 18.0342 10.5626C17.8853 10.7514 17.7704 10.9898 17.6894 11.2779C17.6106 11.5636 17.5712 11.9026 17.5712 12.2951V13.2861C17.5712 13.5991 17.5975 13.8798 17.65 14.1282C17.7026 14.3741 17.7781 14.5877 17.8766 14.769C17.9751 14.9503 18.0922 15.1018 18.2279 15.2235C18.3659 15.3428 18.5202 15.4322 18.6909 15.4918C18.8617 15.5489 19.0456 15.5775 19.2426 15.5775C19.4878 15.5775 19.7121 15.5315 19.9157 15.4396C20.1193 15.3477 20.2944 15.2074 20.4411 15.0186C20.59 14.8299 20.7038 14.5914 20.7826 14.3033C20.8636 14.0152 20.9041 13.6761 20.9041 13.2861ZM19.7975 12.1349V13.4389C19.7975 13.6575 19.7844 13.8425 19.7581 13.994C19.734 14.1431 19.6968 14.2635 19.6465 14.3554C19.5983 14.4449 19.5403 14.5094 19.4724 14.5492C19.4046 14.5889 19.328 14.6088 19.2426 14.6088C19.1725 14.6088 19.108 14.5964 19.0488 14.5715C18.9897 14.5467 18.9372 14.507 18.8912 14.4523C18.8453 14.3952 18.8059 14.3219 18.773 14.2325C18.7424 14.1406 18.7183 14.0301 18.7008 13.9009C18.6855 13.7693 18.6778 13.6153 18.6778 13.4389V12.1349C18.6778 11.9188 18.6898 11.7362 18.7139 11.5872C18.7402 11.4382 18.7774 11.3189 18.8256 11.2295C18.8737 11.1401 18.9317 11.0755 18.9996 11.0358C19.0696 10.9935 19.1485 10.9724 19.236 10.9724C19.3061 10.9724 19.3695 10.9861 19.4265 11.0134C19.4856 11.0383 19.5381 11.0792 19.5841 11.1364C19.6301 11.191 19.6684 11.263 19.699 11.3525C19.7318 11.4419 19.7559 11.5512 19.7712 11.6803C19.7888 11.8095 19.7975 11.961 19.7975 12.1349Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 17.328C8 17.3156 8.00698 17.2579 8.07085 17.1495C8.13222 17.0453 8.22924 16.9232 8.36086 16.7916C8.62445 16.5281 8.98442 16.269 9.34055 16.081L8.87373 15.1967C8.44005 15.4256 7.99645 15.742 7.65392 16.0843C7.48249 16.2557 7.32581 16.444 7.20924 16.6419C7.09519 16.8355 7 17.0714 7 17.328C7 17.7772 7.20663 18.1692 7.5062 18.4899C7.80328 18.808 8.21298 19.081 8.6884 19.3129C9.64049 19.7774 10.9491 20.1219 12.4384 20.3067L12.4608 20.3095L13.6789 20.3503L12.3125 21.7886L13.0375 22.4774L15.5075 19.8773L13.0375 17.2773L12.3125 17.9661L13.6252 19.3479L12.5394 19.3115C11.1255 19.1343 9.94227 18.812 9.12686 18.4142C8.7164 18.2139 8.42229 18.0057 8.23702 17.8073C8.05425 17.6116 8 17.452 8 17.328Z\",\n fill: \"black\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.1614 16.0615C21.6648 16.3797 22 16.793 22 17.3281C22 17.85 21.6546 18.2884 20.7184 18.6545C19.7877 19.0184 18.443 19.2337 16.83 19.3794L16.92 20.3753C18.5417 20.2288 20.0095 20.0054 21.0826 19.5858C22.1503 19.1683 23 18.4781 23 17.328C23 16.3008 22.3352 15.6204 21.6957 15.2162L21.1614 16.0615Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet1360);\nexport default __webpack_public_path__ + \"static/media/set_1_360.25e1d1ff.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet23601(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet23601);\nexport default __webpack_public_path__ + \"static/media/set_2_360-1.10845fa8.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet33602(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#3149AD\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet33602);\nexport default __webpack_public_path__ + \"static/media/set_3_360-2.7aa7a97d.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet43603(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DA3C27\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet43603);\nexport default __webpack_public_path__ + \"static/media/set_4_360-3.ef691182.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet53604(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#58B149\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet53604);\nexport default __webpack_public_path__ + \"static/media/set_5_360-4.b2b87a61.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet63605(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#274ADA\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet63605);\nexport default __webpack_public_path__ + \"static/media/set_6_360-5.0f548a95.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet73606(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#DAB47B\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet73606);\nexport default __webpack_public_path__ + \"static/media/set_7_360-6.4910b24c.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSet83607(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 32,\n height: 32,\n rx: 16,\n fill: \"#C5C5C5\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7905 12.2653H12.329C12.4669 12.2653 12.5797 12.238 12.6672 12.1833C12.757 12.1262 12.8238 12.0467 12.8675 11.9449C12.9113 11.8405 12.9332 11.7176 12.9332 11.576C12.9332 11.4667 12.9124 11.3661 12.8708 11.2742C12.8314 11.1823 12.7701 11.109 12.6869 11.0544C12.6038 10.9973 12.4976 10.9687 12.3684 10.9687C12.2809 10.9687 12.1955 10.9898 12.1123 11.032C12.0291 11.0718 11.9602 11.1289 11.9054 11.2034C11.8529 11.2779 11.8266 11.3686 11.8266 11.4754H10.7168C10.7168 11.1674 10.7912 10.9041 10.9401 10.6855C11.0911 10.4645 11.2892 10.2956 11.5344 10.1788C11.7818 10.0596 12.0477 10 12.3323 10C12.6716 10 12.9693 10.0596 13.2255 10.1788C13.4816 10.2956 13.6808 10.4694 13.8231 10.7004C13.9676 10.929 14.0398 11.2121 14.0398 11.5499C14.0398 11.7362 14.0015 11.9113 13.9249 12.0753C13.8483 12.2392 13.741 12.3833 13.6031 12.5075C13.5137 12.588 13.4141 12.6575 13.3045 12.7161C13.4438 12.7723 13.5674 12.8455 13.6753 12.9359C13.8176 13.0551 13.9271 13.2029 14.0037 13.3793C14.0803 13.5532 14.1186 13.7531 14.1186 13.9791C14.1186 14.2325 14.0737 14.4585 13.984 14.6572C13.8942 14.8559 13.7684 15.0236 13.6064 15.1602C13.4444 15.2968 13.255 15.4011 13.0383 15.4732C12.8216 15.5427 12.5863 15.5775 12.3323 15.5775C12.1331 15.5775 11.9339 15.5477 11.7347 15.4881C11.5355 15.426 11.3538 15.3316 11.1896 15.2049C11.0254 15.0758 10.893 14.9118 10.7923 14.7131C10.6938 14.5119 10.6445 14.2722 10.6445 13.994H11.7544C11.7544 14.1083 11.7818 14.2126 11.8365 14.307C11.8934 14.3989 11.9689 14.4722 12.0631 14.5268C12.1572 14.5815 12.259 14.6088 12.3684 14.6088C12.5042 14.6088 12.6191 14.5802 12.7132 14.5231C12.8095 14.4635 12.8829 14.384 12.9332 14.2847C12.9836 14.1853 13.0087 14.0748 13.0087 13.9531C13.0087 13.7693 12.9814 13.6227 12.9267 13.5134C12.8741 13.4041 12.7964 13.3246 12.6935 13.275C12.5928 13.2253 12.4713 13.2004 12.329 13.2004H11.7905V12.2653Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.1757 10H17.353V10.9873H17.2939C17.0815 10.9873 16.8823 11.0209 16.6963 11.0879C16.5124 11.155 16.3504 11.2568 16.2103 11.3934C16.0724 11.5276 15.964 11.6977 15.8852 11.9039C15.8448 12.0126 15.815 12.1314 15.7959 12.2602C15.899 12.1429 16.024 12.0465 16.1709 11.9709C16.3351 11.8865 16.5255 11.8443 16.7422 11.8443C16.9611 11.8443 17.1538 11.8915 17.3202 11.9858C17.4887 12.0802 17.6299 12.2119 17.7437 12.3808C17.8598 12.5497 17.9473 12.7471 18.0064 12.9732C18.0655 13.1992 18.0951 13.4439 18.0951 13.7072C18.0951 13.9729 18.0535 14.2201 17.9703 14.4486C17.8893 14.6746 17.7744 14.8721 17.6255 15.041C17.4767 15.2099 17.3005 15.3415 17.0969 15.4359C16.8933 15.5303 16.6689 15.5775 16.4237 15.5775C16.172 15.5775 15.9388 15.5291 15.7243 15.4322C15.512 15.3328 15.3259 15.19 15.1661 15.0037C15.0085 14.815 14.8848 14.5852 14.795 14.3145C14.7075 14.0437 14.6637 13.737 14.6637 13.3942V12.9359C14.6637 12.4714 14.7305 12.0579 14.864 11.6952C14.9997 11.3326 15.1836 11.0258 15.4156 10.775C15.6499 10.5216 15.918 10.3291 16.2201 10.1975C16.5222 10.0658 16.8407 10 17.1757 10ZM15.7703 13.5805V13.1971L15.7768 13.1818C15.8272 13.0725 15.9005 12.9831 15.9968 12.9136C16.0954 12.8415 16.2147 12.8055 16.3548 12.8055C16.4467 12.8055 16.531 12.8266 16.6076 12.8689C16.6864 12.9086 16.7532 12.9682 16.8079 13.0477C16.8648 13.1247 16.9086 13.2191 16.9393 13.3309C16.9699 13.4426 16.9852 13.5681 16.9852 13.7072C16.9852 13.8363 16.971 13.9555 16.9425 14.0648C16.9141 14.1741 16.8725 14.2697 16.8178 14.3517C16.7652 14.4337 16.7028 14.497 16.6306 14.5417C16.5583 14.5864 16.4795 14.6088 16.3942 14.6088C16.2913 14.6088 16.2004 14.5877 16.1216 14.5455C16.045 14.5032 15.9804 14.4399 15.9279 14.3554C15.8754 14.271 15.836 14.1642 15.8097 14.035C15.7834 13.9059 15.7703 13.7543 15.7703 13.5805Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.9041 13.2861V12.2951C21.9041 11.9821 21.8778 11.7027 21.8253 11.4568C21.7728 11.2084 21.6972 10.9935 21.5987 10.8122C21.5024 10.6309 21.3853 10.4806 21.2474 10.3614C21.1095 10.2397 20.9551 10.1503 20.7844 10.0931C20.6158 10.0335 20.433 10.0037 20.236 10.0037C19.9908 10.0037 19.7665 10.0497 19.5629 10.1416C19.3593 10.2335 19.1831 10.3738 19.0342 10.5626C18.8853 10.7514 18.7704 10.9898 18.6894 11.2779C18.6106 11.5636 18.5712 11.9026 18.5712 12.2951V13.2861C18.5712 13.5991 18.5975 13.8798 18.65 14.1282C18.7026 14.3741 18.7781 14.5877 18.8766 14.769C18.9751 14.9503 19.0922 15.1018 19.2279 15.2235C19.3659 15.3428 19.5202 15.4322 19.6909 15.4918C19.8617 15.5489 20.0456 15.5775 20.2426 15.5775C20.4878 15.5775 20.7121 15.5315 20.9157 15.4396C21.1193 15.3477 21.2944 15.2074 21.4411 15.0186C21.59 14.8299 21.7038 14.5914 21.7826 14.3033C21.8636 14.0152 21.9041 13.6761 21.9041 13.2861ZM20.7975 12.1349V13.4389C20.7975 13.6575 20.7844 13.8425 20.7581 13.994C20.734 14.1431 20.6968 14.2635 20.6465 14.3554C20.5983 14.4449 20.5403 14.5094 20.4724 14.5492C20.4046 14.5889 20.328 14.6088 20.2426 14.6088C20.1725 14.6088 20.108 14.5964 20.0488 14.5715C19.9897 14.5467 19.9372 14.507 19.8912 14.4523C19.8453 14.3952 19.8059 14.3219 19.773 14.2325C19.7424 14.1406 19.7183 14.0301 19.7008 13.9009C19.6855 13.7693 19.6778 13.6153 19.6778 13.4389V12.1349C19.6778 11.9188 19.6898 11.7362 19.7139 11.5872C19.7402 11.4382 19.7774 11.3189 19.8256 11.2295C19.8737 11.1401 19.9317 11.0755 19.9996 11.0358C20.0696 10.9935 20.1485 10.9724 20.236 10.9724C20.3061 10.9724 20.3695 10.9861 20.4265 11.0134C20.4856 11.0383 20.5381 11.0792 20.5841 11.1364C20.6301 11.191 20.6684 11.263 20.699 11.3525C20.7318 11.4419 20.7559 11.5512 20.7712 11.6803C20.7888 11.8095 20.7975 11.961 20.7975 12.1349Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 17.328C9 17.3156 9.00698 17.2579 9.07085 17.1495C9.13222 17.0453 9.22924 16.9232 9.36086 16.7916C9.62445 16.5281 9.98442 16.269 10.3405 16.081L9.87373 15.1967C9.44005 15.4256 8.99645 15.742 8.65392 16.0843C8.48249 16.2557 8.32581 16.444 8.20924 16.6419C8.09519 16.8355 8 17.0714 8 17.328C8 17.7772 8.20663 18.1692 8.5062 18.4899C8.80328 18.808 9.21298 19.081 9.6884 19.3129C10.6405 19.7774 11.9491 20.1219 13.4384 20.3067L13.4608 20.3095L14.6789 20.3503L13.3125 21.7886L14.0375 22.4774L16.5075 19.8773L14.0375 17.2773L13.3125 17.9661L14.6252 19.3479L13.5394 19.3115C12.1255 19.1343 10.9423 18.812 10.1269 18.4142C9.7164 18.2139 9.42229 18.0057 9.23702 17.8073C9.05425 17.6116 9 17.452 9 17.328Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1614 16.0615C22.6648 16.3797 23 16.793 23 17.3281C23 17.85 22.6546 18.2884 21.7184 18.6545C20.7877 19.0184 19.443 19.2337 17.83 19.3794L17.92 20.3753C19.5417 20.2288 21.0095 20.0054 22.0826 19.5858C23.1503 19.1683 24 18.4781 24 17.328C24 16.3008 23.3352 15.6204 22.6957 15.2162L22.1614 16.0615Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSet83607);\nexport default __webpack_public_path__ + \"static/media/set_8_360-7.4343dd4a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownloadIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 12.0354H2V18.0194L17.9958 18.0194L17.9958 12.0354H20.0001L20 20.0354L0 20.0354V12.0354Z\",\n fill: \"#2A2A2A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 0V13M10 13L5 8.17424M10 13L15 8.17424\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadIcon);\nexport default __webpack_public_path__ + \"static/media/download_icon.60f45bf6.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/set_1_Promo.a796b18c.svg\";","export default __webpack_public_path__ + \"static/media/set_2_Promo-1.49fb647f.svg\";","export default __webpack_public_path__ + \"static/media/set_3_Promo-2.4757f2c6.svg\";","export default __webpack_public_path__ + \"static/media/set_4_Promo-3.37e3204c.svg\";","export default __webpack_public_path__ + \"static/media/set_5_Promo-4.a89b7310.svg\";","export default __webpack_public_path__ + \"static/media/set_6_Promo-5.54442a54.svg\";","export default __webpack_public_path__ + \"static/media/set_7_Promo-6.3ff79903.svg\";","export default __webpack_public_path__ + \"static/media/set_8_Promo-7.d2cec6e8.svg\";","export default __webpack_public_path__ + \"static/media/set_1_Page.0d2933d3.svg\";","export default __webpack_public_path__ + \"static/media/set_2_Page-1.a3231526.svg\";","export default __webpack_public_path__ + \"static/media/set_3_Page-2.d55a0f2d.svg\";","export default __webpack_public_path__ + \"static/media/set_4_Page-3.efb29c1f.svg\";","export default __webpack_public_path__ + \"static/media/set_5_Page-4.7e4cb071.svg\";","export default __webpack_public_path__ + \"static/media/set_6_Page-5.75a78e9d.svg\";","export default __webpack_public_path__ + \"static/media/set_7_Page-6.14644eb1.svg\";","export default __webpack_public_path__ + \"static/media/set_8_Page-7.4da4cce9.svg\";","export default __webpack_public_path__ + \"static/media/set_1_Link.d48ca6bb.svg\";","export default __webpack_public_path__ + \"static/media/set_2_Link-1.e032d117.svg\";","export default __webpack_public_path__ + \"static/media/set_3_Link-2.e3814b1c.svg\";","export default __webpack_public_path__ + \"static/media/set_4_Link-3.9cee8c71.svg\";","export default __webpack_public_path__ + \"static/media/set_5_Link-4.335aa7ae.svg\";","export default __webpack_public_path__ + \"static/media/set_6_Link-5.17367224.svg\";","export default __webpack_public_path__ + \"static/media/set_7_Link-6.19b4b929.svg\";","export default __webpack_public_path__ + \"static/media/set_8_Link-7.25d1c0b9.svg\";","export default __webpack_public_path__ + \"static/media/set_1_Video.90865367.svg\";","export default __webpack_public_path__ + \"static/media/set_2_Video-1.a9d1198b.svg\";","export default __webpack_public_path__ + \"static/media/set_3_Video-2.8bbaf592.svg\";","export default __webpack_public_path__ + \"static/media/set_4_Video-3.e530c171.svg\";","export default __webpack_public_path__ + \"static/media/set_5_Video-4.d7d785f6.svg\";","export default __webpack_public_path__ + \"static/media/set_6_Video-5.bb5aa9ee.svg\";","export default __webpack_public_path__ + \"static/media/set_7_Video-6.4104ba5f.svg\";","export default __webpack_public_path__ + \"static/media/set_8_Video-7.4e0df089.svg\";","export default __webpack_public_path__ + \"static/media/set_1_Image.1eacf8d6.svg\";","export default __webpack_public_path__ + \"static/media/set_2_Image-1.f23f5427.svg\";","export default __webpack_public_path__ + \"static/media/set_3_Image-2.0417541b.svg\";","export default __webpack_public_path__ + \"static/media/set_4_Image-3.2776d008.svg\";","export default __webpack_public_path__ + \"static/media/set_5_Image-4.c2c32fdb.svg\";","export default __webpack_public_path__ + \"static/media/set_6_Image-5.d61732cc.svg\";","export default __webpack_public_path__ + \"static/media/set_7_Image-6.1491aacc.svg\";","export default __webpack_public_path__ + \"static/media/set_8_Image-7.a0d1c2fb.svg\";","export default __webpack_public_path__ + \"static/media/set_1_360.25e1d1ff.svg\";","export default __webpack_public_path__ + \"static/media/set_2_360-1.10845fa8.svg\";","export default __webpack_public_path__ + \"static/media/set_3_360-2.7aa7a97d.svg\";","export default __webpack_public_path__ + \"static/media/set_4_360-3.ef691182.svg\";","export default __webpack_public_path__ + \"static/media/set_5_360-4.b2b87a61.svg\";","export default __webpack_public_path__ + \"static/media/set_6_360-5.0f548a95.svg\";","export default __webpack_public_path__ + \"static/media/set_7_360-6.4910b24c.svg\";","export default __webpack_public_path__ + \"static/media/set_8_360-7.4343dd4a.svg\";","import {ReactComponent as Set1PromoIcon} from \"../assets/iconStyles/set_1/set_1_Promo.svg\";\r\nimport {ReactComponent as Set2PromoIcon} from \"../assets/iconStyles/set_2/set_2_Promo-1.svg\";\r\nimport {ReactComponent as Set3PromoIcon} from \"../assets/iconStyles/set_3/set_3_Promo-2.svg\";\r\nimport {ReactComponent as Set4PromoIcon} from \"../assets/iconStyles/set_4/set_4_Promo-3.svg\";\r\nimport {ReactComponent as Set5PromoIcon} from \"../assets/iconStyles/set_5/set_5_Promo-4.svg\";\r\nimport {ReactComponent as Set6PromoIcon} from \"../assets/iconStyles/set_6/set_6_Promo-5.svg\";\r\nimport {ReactComponent as Set7PromoIcon} from \"../assets/iconStyles/set_7/set_7_Promo-6.svg\";\r\nimport {ReactComponent as Set8PromoIcon} from \"../assets/iconStyles/set_8/set_8_Promo-7.svg\";\r\nimport {ReactComponent as Set1PageIcon} from \"../assets/iconStyles/set_1/set_1_Page.svg\";\r\nimport {ReactComponent as Set2PageIcon} from \"../assets/iconStyles/set_2/set_2_Page-1.svg\";\r\nimport {ReactComponent as Set3PageIcon} from \"../assets/iconStyles/set_3/set_3_Page-2.svg\";\r\nimport {ReactComponent as Set4PageIcon} from \"../assets/iconStyles/set_4/set_4_Page-3.svg\";\r\nimport {ReactComponent as Set5PageIcon} from \"../assets/iconStyles/set_5/set_5_Page-4.svg\";\r\nimport {ReactComponent as Set6PageIcon} from \"../assets/iconStyles/set_6/set_6_Page-5.svg\";\r\nimport {ReactComponent as Set7PageIcon} from \"../assets/iconStyles/set_7/set_7_Page-6.svg\";\r\nimport {ReactComponent as Set8PageIcon} from \"../assets/iconStyles/set_8/set_8_Page-7.svg\";\r\nimport {ReactComponent as Set1LinkIcon} from \"../assets/iconStyles/set_1/set_1_Link.svg\";\r\nimport {ReactComponent as Set2LinkIcon} from \"../assets/iconStyles/set_2/set_2_Link-1.svg\";\r\nimport {ReactComponent as Set3LinkIcon} from \"../assets/iconStyles/set_3/set_3_Link-2.svg\";\r\nimport {ReactComponent as Set4LinkIcon} from \"../assets/iconStyles/set_4/set_4_Link-3.svg\";\r\nimport {ReactComponent as Set5LinkIcon} from \"../assets/iconStyles/set_5/set_5_Link-4.svg\";\r\nimport {ReactComponent as Set6LinkIcon} from \"../assets/iconStyles/set_6/set_6_Link-5.svg\";\r\nimport {ReactComponent as Set7LinkIcon} from \"../assets/iconStyles/set_7/set_7_Link-6.svg\";\r\nimport {ReactComponent as Set8LinkIcon} from \"../assets/iconStyles/set_8/set_8_Link-7.svg\";\r\nimport {ReactComponent as Set1VideoIcon} from \"../assets/iconStyles/set_1/set_1_Video.svg\";\r\nimport {ReactComponent as Set2VideoIcon} from \"../assets/iconStyles/set_2/set_2_Video-1.svg\";\r\nimport {ReactComponent as Set3VideoIcon} from \"../assets/iconStyles/set_3/set_3_Video-2.svg\";\r\nimport {ReactComponent as Set4VideoIcon} from \"../assets/iconStyles/set_4/set_4_Video-3.svg\";\r\nimport {ReactComponent as Set5VideoIcon} from \"../assets/iconStyles/set_5/set_5_Video-4.svg\";\r\nimport {ReactComponent as Set6VideoIcon} from \"../assets/iconStyles/set_6/set_6_Video-5.svg\";\r\nimport {ReactComponent as Set7VideoIcon} from \"../assets/iconStyles/set_7/set_7_Video-6.svg\";\r\nimport {ReactComponent as Set8VideoIcon} from \"../assets/iconStyles/set_8/set_8_Video-7.svg\";\r\nimport {ReactComponent as Set1ImageIcon} from \"../assets/iconStyles/set_1/set_1_Image.svg\";\r\nimport {ReactComponent as Set2ImageIcon} from \"../assets/iconStyles/set_2/set_2_Image-1.svg\";\r\nimport {ReactComponent as Set3ImageIcon} from \"../assets/iconStyles/set_3/set_3_Image-2.svg\";\r\nimport {ReactComponent as Set4ImageIcon} from \"../assets/iconStyles/set_4/set_4_Image-3.svg\";\r\nimport {ReactComponent as Set5ImageIcon} from \"../assets/iconStyles/set_5/set_5_Image-4.svg\";\r\nimport {ReactComponent as Set6ImageIcon} from \"../assets/iconStyles/set_6/set_6_Image-5.svg\";\r\nimport {ReactComponent as Set7ImageIcon} from \"../assets/iconStyles/set_7/set_7_Image-6.svg\";\r\nimport {ReactComponent as Set8ImageIcon} from \"../assets/iconStyles/set_8/set_8_Image-7.svg\";\r\nimport {ReactComponent as Set1360Icon} from \"../assets/iconStyles/set_1/set_1_360.svg\";\r\nimport {ReactComponent as Set2360Icon} from \"../assets/iconStyles/set_2/set_2_360-1.svg\";\r\nimport {ReactComponent as Set3360Icon} from \"../assets/iconStyles/set_3/set_3_360-2.svg\";\r\nimport {ReactComponent as Set4360Icon} from \"../assets/iconStyles/set_4/set_4_360-3.svg\";\r\nimport {ReactComponent as Set5360Icon} from \"../assets/iconStyles/set_5/set_5_360-4.svg\";\r\nimport {ReactComponent as Set6360Icon} from \"../assets/iconStyles/set_6/set_6_360-5.svg\";\r\nimport {ReactComponent as Set7360Icon} from \"../assets/iconStyles/set_7/set_7_360-6.svg\";\r\nimport {ReactComponent as Set8360Icon} from \"../assets/iconStyles/set_8/set_8_360-7.svg\";\r\nimport set1PromoIcon from \"../assets/iconStyles/set_1/set_1_Promo.svg\";\r\nimport set2PromoIcon from \"../assets/iconStyles/set_2/set_2_Promo-1.svg\";\r\nimport set3PromoIcon from \"../assets/iconStyles/set_3/set_3_Promo-2.svg\";\r\nimport set4PromoIcon from \"../assets/iconStyles/set_4/set_4_Promo-3.svg\";\r\nimport set5PromoIcon from \"../assets/iconStyles/set_5/set_5_Promo-4.svg\";\r\nimport set6PromoIcon from \"../assets/iconStyles/set_6/set_6_Promo-5.svg\";\r\nimport set7PromoIcon from \"../assets/iconStyles/set_7/set_7_Promo-6.svg\";\r\nimport set8PromoIcon from \"../assets/iconStyles/set_8/set_8_Promo-7.svg\";\r\nimport set1PageIcon from \"../assets/iconStyles/set_1/set_1_Page.svg\";\r\nimport set2PageIcon from \"../assets/iconStyles/set_2/set_2_Page-1.svg\";\r\nimport set3PageIcon from \"../assets/iconStyles/set_3/set_3_Page-2.svg\";\r\nimport set4PageIcon from \"../assets/iconStyles/set_4/set_4_Page-3.svg\";\r\nimport set5PageIcon from \"../assets/iconStyles/set_5/set_5_Page-4.svg\";\r\nimport set6PageIcon from \"../assets/iconStyles/set_6/set_6_Page-5.svg\";\r\nimport set7PageIcon from \"../assets/iconStyles/set_7/set_7_Page-6.svg\";\r\nimport set8PageIcon from \"../assets/iconStyles/set_8/set_8_Page-7.svg\";\r\nimport set1LinkIcon from \"../assets/iconStyles/set_1/set_1_Link.svg\";\r\nimport set2LinkIcon from \"../assets/iconStyles/set_2/set_2_Link-1.svg\";\r\nimport set3LinkIcon from \"../assets/iconStyles/set_3/set_3_Link-2.svg\";\r\nimport set4LinkIcon from \"../assets/iconStyles/set_4/set_4_Link-3.svg\";\r\nimport set5LinkIcon from \"../assets/iconStyles/set_5/set_5_Link-4.svg\";\r\nimport set6LinkIcon from \"../assets/iconStyles/set_6/set_6_Link-5.svg\";\r\nimport set7LinkIcon from \"../assets/iconStyles/set_7/set_7_Link-6.svg\";\r\nimport set8LinkIcon from \"../assets/iconStyles/set_8/set_8_Link-7.svg\";\r\nimport set1VideoIcon from \"../assets/iconStyles/set_1/set_1_Video.svg\";\r\nimport set2VideoIcon from \"../assets/iconStyles/set_2/set_2_Video-1.svg\";\r\nimport set3VideoIcon from \"../assets/iconStyles/set_3/set_3_Video-2.svg\";\r\nimport set4VideoIcon from \"../assets/iconStyles/set_4/set_4_Video-3.svg\";\r\nimport set5VideoIcon from \"../assets/iconStyles/set_5/set_5_Video-4.svg\";\r\nimport set6VideoIcon from \"../assets/iconStyles/set_6/set_6_Video-5.svg\";\r\nimport set7VideoIcon from \"../assets/iconStyles/set_7/set_7_Video-6.svg\";\r\nimport set8VideoIcon from \"../assets/iconStyles/set_8/set_8_Video-7.svg\";\r\nimport set1ImageIcon from \"../assets/iconStyles/set_1/set_1_Image.svg\";\r\nimport set2ImageIcon from \"../assets/iconStyles/set_2/set_2_Image-1.svg\";\r\nimport set3ImageIcon from \"../assets/iconStyles/set_3/set_3_Image-2.svg\";\r\nimport set4ImageIcon from \"../assets/iconStyles/set_4/set_4_Image-3.svg\";\r\nimport set5ImageIcon from \"../assets/iconStyles/set_5/set_5_Image-4.svg\";\r\nimport set6ImageIcon from \"../assets/iconStyles/set_6/set_6_Image-5.svg\";\r\nimport set7ImageIcon from \"../assets/iconStyles/set_7/set_7_Image-6.svg\";\r\nimport set8ImageIcon from \"../assets/iconStyles/set_8/set_8_Image-7.svg\";\r\nimport set1360Icon from \"../assets/iconStyles/set_1/set_1_360.svg\";\r\nimport set2360Icon from \"../assets/iconStyles/set_2/set_2_360-1.svg\";\r\nimport set3360Icon from \"../assets/iconStyles/set_3/set_3_360-2.svg\";\r\nimport set4360Icon from \"../assets/iconStyles/set_4/set_4_360-3.svg\";\r\nimport set5360Icon from \"../assets/iconStyles/set_5/set_5_360-4.svg\";\r\nimport set6360Icon from \"../assets/iconStyles/set_6/set_6_360-5.svg\";\r\nimport set7360Icon from \"../assets/iconStyles/set_7/set_7_360-6.svg\";\r\nimport set8360Icon from \"../assets/iconStyles/set_8/set_8_360-7.svg\";\r\nimport {IconStyleDto} from \"../dtos\";\r\n\r\nexport const iconStyles: IconStyleDto[] = [\r\n {\r\n value: \"1\",\r\n label: \"Black cart on White circle\",\r\n iconStyleType: 1,\r\n iconStyleData: {\r\n promoCompIcon: Set1PromoIcon,\r\n pageCompIcon: Set1PageIcon,\r\n linkCompIcon: Set1LinkIcon,\r\n videoCompIcon: Set1VideoIcon,\r\n imgCompIcon: Set1ImageIcon,\r\n img360CompIcon: Set1360Icon,\r\n promoCompSrc: set1PromoIcon,\r\n pageCompSrc: set1PageIcon,\r\n linkCompSrc: set1LinkIcon,\r\n videoCompSrc: set1VideoIcon,\r\n imgCompSrc: set1ImageIcon,\r\n img360CompSrc: set1360Icon,\r\n }\r\n },\r\n {\r\n value: \"2\",\r\n label: \"Black cart on main color\",\r\n iconStyleType: 2,\r\n iconStyleData: {\r\n promoCompIcon: Set2PromoIcon,\r\n pageCompIcon: Set2PageIcon,\r\n linkCompIcon: Set2LinkIcon,\r\n videoCompIcon: Set2VideoIcon,\r\n imgCompIcon: Set2ImageIcon,\r\n img360CompIcon: Set2360Icon,\r\n promoCompSrc: set2PromoIcon,\r\n pageCompSrc: set2PageIcon,\r\n linkCompSrc: set2LinkIcon,\r\n videoCompSrc: set2VideoIcon,\r\n imgCompSrc: set2ImageIcon,\r\n img360CompSrc: set2360Icon,\r\n }\r\n },\r\n {\r\n value: \"3\",\r\n label: \"White cart on main color\",\r\n iconStyleType: 3,\r\n iconStyleData: {\r\n promoCompIcon: Set3PromoIcon,\r\n pageCompIcon: Set3PageIcon,\r\n linkCompIcon: Set3LinkIcon,\r\n videoCompIcon: Set3VideoIcon,\r\n imgCompIcon: Set3ImageIcon,\r\n img360CompIcon: Set3360Icon,\r\n promoCompSrc: set3PromoIcon,\r\n pageCompSrc: set3PageIcon,\r\n linkCompSrc: set3LinkIcon,\r\n videoCompSrc: set3VideoIcon,\r\n imgCompSrc: set3ImageIcon,\r\n img360CompSrc: set3360Icon,\r\n }\r\n },\r\n {\r\n value: \"4\",\r\n label: \"White cart on red color\",\r\n iconStyleType: 4,\r\n iconStyleData: {\r\n promoCompIcon: Set4PromoIcon,\r\n pageCompIcon: Set4PageIcon,\r\n linkCompIcon: Set4LinkIcon,\r\n videoCompIcon: Set4VideoIcon,\r\n imgCompIcon: Set4ImageIcon,\r\n img360CompIcon: Set4360Icon,\r\n promoCompSrc: set4PromoIcon,\r\n pageCompSrc: set4PageIcon,\r\n linkCompSrc: set4LinkIcon,\r\n videoCompSrc: set4VideoIcon,\r\n imgCompSrc: set4ImageIcon,\r\n img360CompSrc: set4360Icon,\r\n }\r\n },\r\n {\r\n value: \"5\",\r\n label: \"White cart on green color\",\r\n iconStyleType: 5,\r\n iconStyleData: {\r\n promoCompIcon: Set5PromoIcon,\r\n pageCompIcon: Set5PageIcon,\r\n linkCompIcon: Set5LinkIcon,\r\n videoCompIcon: Set5VideoIcon,\r\n imgCompIcon: Set5ImageIcon,\r\n img360CompIcon: Set5360Icon,\r\n promoCompSrc: set5PromoIcon,\r\n pageCompSrc: set5PageIcon,\r\n linkCompSrc: set5LinkIcon,\r\n videoCompSrc: set5VideoIcon,\r\n imgCompSrc: set5ImageIcon,\r\n img360CompSrc: set5360Icon,\r\n }\r\n },\r\n {\r\n value: \"6\",\r\n label: \"White cart on blue color\",\r\n iconStyleType: 6,\r\n iconStyleData: {\r\n promoCompIcon: Set6PromoIcon,\r\n pageCompIcon: Set6PageIcon,\r\n linkCompIcon: Set6LinkIcon,\r\n videoCompIcon: Set6VideoIcon,\r\n imgCompIcon: Set6ImageIcon,\r\n img360CompIcon: Set6360Icon,\r\n promoCompSrc: set6PromoIcon,\r\n pageCompSrc: set6PageIcon,\r\n linkCompSrc: set6LinkIcon,\r\n videoCompSrc: set6VideoIcon,\r\n imgCompSrc: set6ImageIcon,\r\n img360CompSrc: set6360Icon,\r\n }\r\n },\r\n {\r\n value: \"7\",\r\n label: \"White cart on beige color\",\r\n iconStyleType: 7,\r\n iconStyleData: {\r\n promoCompIcon: Set7PromoIcon,\r\n pageCompIcon: Set7PageIcon,\r\n linkCompIcon: Set7LinkIcon,\r\n videoCompIcon: Set7VideoIcon,\r\n imgCompIcon: Set7ImageIcon,\r\n img360CompIcon: Set7360Icon,\r\n promoCompSrc: set7PromoIcon,\r\n pageCompSrc: set7PageIcon,\r\n linkCompSrc: set7LinkIcon,\r\n videoCompSrc: set7VideoIcon,\r\n imgCompSrc: set7ImageIcon,\r\n img360CompSrc: set7360Icon,\r\n }\r\n },\r\n {\r\n value: \"8\",\r\n label: \"Black cart on light grey color\",\r\n iconStyleType: 8,\r\n iconStyleData: {\r\n promoCompIcon: Set8PromoIcon,\r\n pageCompIcon: Set8PageIcon,\r\n linkCompIcon: Set8LinkIcon,\r\n videoCompIcon: Set8VideoIcon,\r\n imgCompIcon: Set8ImageIcon,\r\n img360CompIcon: Set8360Icon,\r\n promoCompSrc: set8PromoIcon,\r\n pageCompSrc: set8PageIcon,\r\n linkCompSrc: set8LinkIcon,\r\n videoCompSrc: set8VideoIcon,\r\n imgCompSrc: set8ImageIcon,\r\n img360CompSrc: set8360Icon,\r\n }\r\n },\r\n]\r\n","export default \"data:image/png;base64,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\"","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadExcelIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.22484 13.028L6.23973 13.0498L6.2661 13.0498L7.03144 13.05L7.12793 13.05L7.07231 12.9712L6.00377 11.4565L7.00466 10.0287L7.05983 9.95H6.96372H6.19429H6.16743L6.1526 9.97241L5.51547 10.9352L4.87028 9.97217L4.85543 9.95H4.82874H4.06773H3.97185L4.02673 10.0286L5.02768 11.4627L3.9592 12.9709L3.9033 13.0498H4H4.76101H4.78731L4.80221 13.0282L5.51561 11.991L6.22484 13.028Z\",\n fill: \"#2A2A2A\",\n stroke: \"#2A2A2A\",\n strokeWidth: 0.1\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.08477 13V13.05H8.13477H10.0375H10.0875V13V12.4376V12.3876H10.0375H9.05V10V9.95H9H8.13477H8.08477V10V13Z\",\n fill: \"#2A2A2A\",\n stroke: \"#2A2A2A\",\n strokeWidth: 0.1\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9593 12.5118L10.9341 12.5471L10.9655 12.577C11.3063 12.9022 11.766 13.0723 12.2364 13.0474C12.636 13.0472 12.9394 12.9453 13.1436 12.769C13.3489 12.5918 13.4485 12.3442 13.4485 12.0655C13.4485 11.7813 13.3371 11.5851 13.1696 11.4464C13.0045 11.3099 12.7873 11.2311 12.5772 11.1732C12.4896 11.1491 12.4019 11.1283 12.319 11.1086C12.3021 11.1046 12.2855 11.1006 12.269 11.0967C12.1711 11.0733 12.0819 11.051 12.0061 11.0253C11.9297 10.9995 11.8714 10.9718 11.8329 10.9398C11.7962 10.9092 11.7793 10.8766 11.7793 10.8366C11.7793 10.765 11.8079 10.7075 11.8639 10.6662C11.9216 10.6237 12.0122 10.5959 12.1389 10.5959L12.1393 10.5959C12.4378 10.5934 12.7268 10.702 12.9495 10.9007L12.9898 10.9368L13.0226 10.8937L13.3666 10.4411L13.3945 10.4044L13.3601 10.3736C13.0403 10.0871 12.6219 9.9357 12.1931 9.95106C11.4815 9.95142 11.042 10.3678 11.042 10.8859C11.042 11.1745 11.1535 11.3716 11.3218 11.5096C11.4873 11.6453 11.7053 11.7218 11.9158 11.7784C11.9946 11.7996 12.0737 11.8183 12.1493 11.8361C12.1747 11.8421 12.1998 11.848 12.2243 11.8539C12.3223 11.8775 12.4114 11.9005 12.4871 11.9276C12.5633 11.9549 12.6213 11.9848 12.6599 12.0198C12.6966 12.0533 12.7154 12.0911 12.7154 12.1394C12.7154 12.2044 12.6834 12.2709 12.6109 12.3229C12.5377 12.3753 12.4224 12.4131 12.2596 12.4131H12.2595C11.9245 12.4136 11.6036 12.2771 11.3719 12.0352L11.3302 11.9916L11.2951 12.0408L10.9593 12.5118Z\",\n fill: \"#2A2A2A\",\n stroke: \"#2A2A2A\",\n strokeWidth: 0.1\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 0V20.0803H12.9967V18H3.08951L3 2L10 2V7H14.9967V10.8427L16.9967 9.42134V4.5L12 0H1ZM11.6519 2.93422L13.4353 5.13793H11.6519V2.93422ZM16 12.7241L13.0345 16H15L14.9967 20H16.9967V16H19L16 12.7241Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadExcelIcon);\nexport default __webpack_public_path__ + \"static/media/upload_excel_icon.3e04f58d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadImageIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 0V20.0803H12.9967V18H3.08951L3 2L10 2V7H14.9967V10.8427L16.9967 9.42134V4.5L12 0H1ZM11.6519 2.93422L14.4353 5.13793H11.6519V2.93422ZM16 12.7241L13.0345 16H15L14.9967 20H16.9967V16H19L16 12.7241Z\",\n fill: \"#2A2A2A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.04698 8C6.8556 8 6.67207 8.07902 6.53675 8.21967C6.40142 8.36032 6.3254 8.55109 6.3254 8.75C6.3254 8.94891 6.40142 9.13968 6.53675 9.28033C6.67207 9.42098 6.8556 9.5 7.04698 9.5C7.23835 9.5 7.42189 9.42098 7.55721 9.28033C7.69253 9.13968 7.76856 8.94891 7.76856 8.75C7.76856 8.55109 7.69253 8.36032 7.55721 8.21967C7.42189 8.07902 7.23835 8 7.04698 8ZM10.2941 10.25L7.76856 13.25L5.96461 11.375L4 14H13L10.2941 10.25Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadImageIcon);\nexport default __webpack_public_path__ + \"static/media/upload_image_icon.af8f0f3f.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadExcelCloudIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.1593 8.65398L14.4436 10.168L15.98 10.2797C17.0399 10.3568 18 11.3008 18 12.625C18 12.9501 17.9389 13.2698 17.8224 13.5653C17.7059 13.8606 17.5375 14.1228 17.3313 14.3393C17.1254 14.5555 16.8862 14.7216 16.6302 14.8329C16.3744 14.9442 16.1039 15 15.8333 15H5C4.23671 15 3.48372 14.6825 2.91274 14.083C2.33861 13.4801 2 12.6426 2 11.75C2 9.99555 3.2518 8.6821 4.68021 8.52265L5.76499 8.40156L6.25002 7.42373C6.98523 5.94156 8.41924 5 10 5C11.9855 5 13.7539 6.49435 14.1593 8.65398ZM16.125 8.28499C15.5583 5.26625 13.0333 3 10 3C7.59167 3 5.5 4.435 4.45834 6.535C1.95 6.81499 0 9.04624 0 11.75C0 13.1424 0.526784 14.4777 1.46447 15.4623C2.40215 16.4469 3.67392 17 5 17H7V15H13V17H15.8333C16.3805 17 16.9223 16.8868 17.4278 16.667C17.9334 16.4471 18.3927 16.1248 18.7796 15.7186C19.1665 15.3123 19.4734 14.83 19.6828 14.2992C19.8922 13.7684 20 13.1995 20 12.625C20 10.315 18.2917 8.44249 16.125 8.28499Z\",\n fill: \"#2A2A2A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 17L10 10.5M10 10.5L13 13.4233M10 10.5L7 13.4233\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadExcelCloudIcon);\nexport default __webpack_public_path__ + \"static/media/upload_excel_cloud_icon.5e6b40bb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 4H7M17 4H13M13 4L12 1H8L7 4M13 4H7\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 7L6 19H14L15 7\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIcon);\nexport default __webpack_public_path__ + \"static/media/delete_icon.ed7e10b2.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArchiveIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 17,\n viewBox: \"0 0 21 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.3346 16.4089H1.80967V4.82258H0V0H20.137V4.79998H18.3346V16.4089ZM16.8243 14.9484V4.82514H3.30601V14.9484H16.8243ZM1.46428 3.31228H18.6572V1.46357H1.46428V3.31228Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.3558 6.37396H6.77327C6.77327 6.78479 6.78361 7.17559 6.76914 7.5669C6.7619 7.76871 6.82084 7.83034 7.02766 7.8288C8.24169 7.81955 9.45779 7.82418 10.6703 7.82418H13.1247C13.2343 7.82418 13.3574 7.84883 13.3553 7.67012C13.3532 7.24337 13.3558 6.81714 13.3558 6.37396Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.356 6.37393C13.356 6.8171 13.356 7.24334 13.356 7.66957C13.356 7.84828 13.235 7.82363 13.1254 7.82363H10.6725C9.45799 7.82363 8.24242 7.819 7.02994 7.82825C6.82312 7.82825 6.7621 7.76817 6.77141 7.56635C6.78589 7.17504 6.77554 6.7827 6.77554 6.37341L13.356 6.37393Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArchiveIcon);\nexport default __webpack_public_path__ + \"static/media/archive_icon.a404df4a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction Svg3DotsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99967 13.3333C10.4417 13.3333 10.8656 13.5089 11.1782 13.8215C11.4907 14.134 11.6663 14.558 11.6663 15C11.6663 15.442 11.4907 15.8659 11.1782 16.1785C10.8656 16.491 10.4417 16.6666 9.99967 16.6666C9.55765 16.6666 9.13372 16.491 8.82116 16.1785C8.5086 15.8659 8.33301 15.442 8.33301 15C8.33301 14.558 8.5086 14.134 8.82116 13.8215C9.13372 13.5089 9.55765 13.3333 9.99967 13.3333ZM9.99967 8.33331C10.4417 8.33331 10.8656 8.50891 11.1782 8.82147C11.4907 9.13403 11.6663 9.55795 11.6663 9.99998C11.6663 10.442 11.4907 10.8659 11.1782 11.1785C10.8656 11.491 10.4417 11.6666 9.99967 11.6666C9.55765 11.6666 9.13372 11.491 8.82116 11.1785C8.5086 10.8659 8.33301 10.442 8.33301 9.99998C8.33301 9.55795 8.5086 9.13403 8.82116 8.82147C9.13372 8.50891 9.55765 8.33331 9.99967 8.33331ZM9.99967 3.33331C10.4417 3.33331 10.8656 3.50891 11.1782 3.82147C11.4907 4.13403 11.6663 4.55795 11.6663 4.99998C11.6663 5.44201 11.4907 5.86593 11.1782 6.17849C10.8656 6.49105 10.4417 6.66665 9.99967 6.66665C9.55765 6.66665 9.13372 6.49105 8.82116 6.17849C8.5086 5.86593 8.33301 5.44201 8.33301 4.99998C8.33301 4.55795 8.5086 4.13403 8.82116 3.82147C9.13372 3.50891 9.55765 3.33331 9.99967 3.33331Z\",\n fill: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(Svg3DotsIcon);\nexport default __webpack_public_path__ + \"static/media/3_dots_icon.22732bc6.svg\";\nexport { ForwardRef as ReactComponent };","import saleType1 from '../assets/promo_sale_types_icons/promo_sale_type_1_icon.png'\r\nimport saleType2 from '../assets/promo_sale_types_icons/promo_sale_type_2_icon.png'\r\nimport saleType10 from '../assets/promo_sale_types_icons/promo_sale_type_10_icon.png'\r\nimport saleType12 from '../assets/promo_sale_types_icons/promo_sale_type_12_icon.png'\r\nimport saleType13 from '../assets/promo_sale_types_icons/promo_sale_type_13_icon.png'\r\nimport saleType20 from '../assets/promo_sale_types_icons/promo_sale_type_20_icon.png'\r\nimport saleType21 from '../assets/promo_sale_types_icons/promo_sale_type_21_icon.png'\r\nimport saleType30 from '../assets/promo_sale_types_icons/promo_sale_type_30_icon.png'\r\nimport saleType40 from '../assets/promo_sale_types_icons/promo_sale_type_40_icon.png'\r\nimport saleType41 from '../assets/promo_sale_types_icons/promo_sale_type_41_icon.png'\r\nimport saleType44 from '../assets/promo_sale_types_icons/promo_sale_type_44_icon.png'\r\nimport saleType50 from '../assets/promo_sale_types_icons/promo_sale_type_50_icon.png'\r\nimport saleType51 from '../assets/promo_sale_types_icons/promo_sale_type_51_icon.png'\r\nimport saleType62 from '../assets/promo_sale_types_icons/promo_sale_type_62_icon.png'\r\nimport saleType63 from '../assets/promo_sale_types_icons/promo_sale_type_63_icon.png'\r\nimport saleType70 from '../assets/promo_sale_types_icons/promo_sale_type_70_icon.png'\r\nimport saleType71 from '../assets/promo_sale_types_icons/promo_sale_type_71_icon.png'\r\nimport saleType72 from '../assets/promo_sale_types_icons/promo_sale_type_72_icon.png'\r\nimport saleType81 from '../assets/promo_sale_types_icons/promo_sale_type_81_icon.png'\r\n\r\nimport {ReactComponent as DownloadIcon} from \"../assets/download_icon.svg\";\r\nimport {ReactComponent as UploadExcelIcon} from \"../assets/upload_excel_icon.svg\";\r\nimport {ReactComponent as UploadExcelImageIcon} from \"../assets/upload_image_icon.svg\";\r\nimport {ReactComponent as UploadExcelCloudIcon} from \"../assets/upload_excel_cloud_icon.svg\";\r\nimport {ReactComponent as DeleteIcon} from \"../assets/delete_icon.svg\";\r\nimport {ReactComponent as ArchiveIcon} from \"./../assets/flyersScreen/archive_icon.svg\";\r\n\r\n\r\nexport const MENU_LIST_PROMOTIONS_ITEMS = [\r\n {\r\n name: 'Download Empty Excel File',\r\n type: 'button',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'DownloadEmptyExcelFile',\r\n icon: \r\n },\r\n // {\r\n // name: 'Upload Promos File',\r\n // type: 'file',\r\n // isDownload: false,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'UploadPromosFile',\r\n // text: 'To see the Upload Promotions Excel format'\r\n // },\r\n {\r\n name: 'Upload Promos/Items Excel File',\r\n type: 'file',\r\n isDownload: false,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'UploadPromosAndItemsFile',\r\n text: 'To see the Upload Promotions and Items Excel format',\r\n icon: \r\n },\r\n // {\r\n // name: 'Export Promos to Excel',\r\n // type: 'file',\r\n // isDownload: true,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'ExportPromosToExcel'\r\n // },\r\n // {\r\n // name: 'Download Items Sample File',\r\n // type: 'file',\r\n // isDownload: true,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'DownloadItemsSampleFile'\r\n // },\r\n // {\r\n // name: 'Upload Items File',\r\n // type: 'file',\r\n // isDownload: false,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'UploadItemsFile',\r\n // text: 'To see the Upload Items Excel format'\r\n // },\r\n\r\n // {\r\n // name: 'Upload Promos & Items Excel File',\r\n // type: 'file',\r\n // isDownload: false,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'UploadPromosItemsFile',\r\n // text: 'To see the Upload Promos & Items Excel format'\r\n // },\r\n {\r\n name: 'Upload Promo & Item Images',\r\n type: 'button',\r\n isDownload: false,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'UploadItemsImagesFiles',\r\n icon: \r\n },\r\n {\r\n name: 'Upload Promo Images',\r\n type: 'file',\r\n isDownload: false,\r\n filesFormat: \".jpeg, .jpg, .png\",\r\n isMultiply: true,\r\n code: 'UploadPromoImages',\r\n icon: \r\n },\r\n {\r\n name: 'Upload Item Images',\r\n type: 'file',\r\n isDownload: false,\r\n filesFormat: \".jpeg, .jpg, .png\",\r\n isMultiply: true,\r\n code: 'UploadItemImages',\r\n icon: \r\n },\r\n {\r\n name: 'Export Promos/Items Excel File',\r\n type: 'button',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'ExportPromosItemsToExcel',\r\n icon: \r\n\r\n },\r\n // {\r\n // name: 'Export Items to Excel',\r\n // type: 'file',\r\n // isDownload: true,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'ExportItemsToExcel'\r\n // },\r\n // {\r\n // name: 'Upload Item Images',\r\n // type: 'file',\r\n // isDownload: true,\r\n // filesFormat: \".xls,.xlsx\",\r\n // isMultiply: false,\r\n // code: 'UploadItemImages'\r\n // },\r\n];\r\n\r\nexport const MENU_LIST_STORE_ITEMS = [\r\n {\r\n name: 'Download Empty Excel File',\r\n type: 'button',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'DownloadEmptyExcelForStoreFile',\r\n icon: ,\r\n tooltip: 'Fill in all Item attributes in this Excel.'\r\n },\r\n {\r\n name: 'Upload Items Excel File',\r\n type: 'file',\r\n isDownload: false,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'UploadItemsForStoreFile',\r\n text: 'To see the Upload Promotions and Items Excel format',\r\n icon: ,\r\n },\r\n {\r\n name: 'Upload Item Images',\r\n type: 'button',\r\n isDownload: false,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'UploadItemImagesForStoreFile',\r\n icon: ,\r\n },\r\n {\r\n name: 'Archive Items via Excel',\r\n type: 'file',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'ArchiveItemsFromStoreFile',\r\n icon: ,\r\n tooltip: 'Select an Excel file with a list of items to archive.'\r\n },\r\n];\r\n\r\nexport const MENU_LIST_FRAME_ITEMS = [\r\n {\r\n name: 'Upload Frames Excel',\r\n type: 'file',\r\n isDownload: false,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'UploadFramesExcel',\r\n icon: \r\n },\r\n {\r\n name: 'Download Frames Excel',\r\n type: 'button',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'DownloadFramesExcel',\r\n icon: \r\n },\r\n {\r\n name: 'Delete All Flyers Frames',\r\n type: 'button',\r\n isDownload: true,\r\n filesFormat: \".xls,.xlsx\",\r\n isMultiply: false,\r\n code: 'DeleteAllFlyerFrames',\r\n icon: \r\n },\r\n];\r\n\r\nexport const TABS_LIST_PROMOTIONS_ITEMS_UNLINK = [\r\n {\r\n name: 'Promotions'\r\n },\r\n {\r\n name: 'Items'\r\n },\r\n\r\n]\r\n\r\n\r\nexport const PROMO_CAPTIONS_TEXT_ENG = [\r\n {\r\n name: 'New Product',\r\n type: 1\r\n },\r\n {\r\n name: 'Starting at {CurrencySymbol} {BuyPrice}',\r\n type: 2\r\n },\r\n {\r\n name: '{CurrencySymbol} {BuyPrice} per {SellingUnit}',\r\n type: 10\r\n },\r\n {\r\n name: 'Pay {CurrencySymbol} {BuyPrice} instead of {CurrencySymbol} {RegPrice}',\r\n type: 12\r\n },\r\n {\r\n name: 'Buy {BuyQty} at {CurrencySymbol} {BuyPrice}',\r\n type: 20\r\n },\r\n {\r\n name: 'Buy any {BuyQty} at {CurrencySymbol} {BuyPrice}',\r\n type: 21\r\n },\r\n {\r\n name: '{PercentOff} Off of Regular Price {CurrencySymbol} {RegPrice}',\r\n type: 30\r\n },\r\n {\r\n name: 'The 2nd at {CurrencySymbol} {BuyPrice}',\r\n type: 40\r\n },\r\n {\r\n name: 'Buy 1 Get 1 at {PercentOff} off',\r\n type: 41\r\n },\r\n {\r\n name: 'The 2nd at {PercentAt}',\r\n type: 44\r\n },\r\n {\r\n name: 'Buy {BuyQty}, Get 1 free',\r\n type: 50\r\n },\r\n {\r\n name: 'Buy {BuyQty}, Get 1 free, the cheapest of all',\r\n type: 51\r\n },\r\n {\r\n name: 'Buy {CurrencySymbol} {BuyAmount}, Get {CurrencySymbol} {GetAmount} Back',\r\n type: 62\r\n },\r\n {\r\n name: 'Buy any {CurrencySymbol} {BuyAmount}, Get {CurrencySymbol} {GetAmount} Off',\r\n type: 63\r\n },\r\n {\r\n name: 'Buy {BuyQty} and Get 1 {GetItemCode} {Caption} Free',\r\n type: 80\r\n },\r\n {\r\n name: 'Buy {BuyQty} and Get 1 {GetItemCode} {Caption} Free',\r\n type: 81\r\n },\r\n]\r\n\r\nexport const PROMO_CAPTIONS_TEXT_HEBREW = [\r\n {\r\n name: 'חדש על המדף',\r\n type: 1\r\n },\r\n {\r\n name: 'החל מ- {BuyPrice} {CurrencySymbol}',\r\n type: 2\r\n },\r\n {\r\n name: '{BuyPrice} {CurrencySymbol} ל{SellingUnit}',\r\n type: 10\r\n },\r\n {\r\n name: 'שלם {BuyPrice} {CurrencySymbol} במקום {RegPrice} {CurrencySymbol}',\r\n type: 12\r\n },\r\n {\r\n name: 'קנה {BuyQty} ב- {BuyPrice} {CurrencySymbol}',\r\n type: 20\r\n },\r\n {\r\n name: 'קנה כל {BuyQty} ב- {BuyPrice} {CurrencySymbol}',\r\n type: 21\r\n },\r\n {\r\n name: '{PercentOff} הנחה ממחיר ליח {RegPrice} {CurrencySymbol}',\r\n type: 30\r\n },\r\n {\r\n name: 'השני ב- {BuyPrice} {CurrencySymbol}',\r\n type: 40\r\n },\r\n {\r\n name: 'קנה 1, קבל 1 ב- {PercentOff} הנחה',\r\n type: 41\r\n },\r\n {\r\n name: 'השני ב- {PercentAt}',\r\n type: 44\r\n },\r\n {\r\n name: 'קנה {BuyQty}, קבל 1 מתנה',\r\n type: 50\r\n },\r\n {\r\n name: 'קנה {BuyQty}, קבל 1 מתנה, הזול מביניהם',\r\n type: 51\r\n },\r\n {\r\n name: 'קנה {BuyAmount} {CurrencySymbol}, קבל {GetAmount} {CurrencySymbol} בחזרה',\r\n type: 62\r\n },\r\n {\r\n name: 'קנה כל {BuyAmount} {CurrencySymbol}, קבל {GetAmount} {CurrencySymbol} בחזרה',\r\n type: 63\r\n },\r\n {\r\n name: 'קנה {BuyQty} וקבל {GetItemCode} {Caption} חינם',\r\n type: 80\r\n },\r\n {\r\n name: 'קנה {BuyQty} וקבל {GetItemCode} {Caption} חינם',\r\n type: 81\r\n },\r\n];\r\n\r\n\r\n\r\nexport const saleTypesDropdownData = [\r\n {\r\n saleTypeId: 1,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: false,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 0,\r\n defaultBenefit: 0,\r\n imageSrc: saleType1\r\n }\r\n },\r\n {\r\n saleTypeId: 2,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 10,\r\n imageSrc: saleType2\r\n }\r\n },\r\n {\r\n saleTypeId: 10,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 29.99,\r\n imageSrc: saleType10\r\n }\r\n },\r\n {\r\n saleTypeId: 11,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 29.99,\r\n imageSrc: saleType10\r\n }\r\n },\r\n {\r\n saleTypeId: 12,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 22,\r\n imageSrc: saleType12\r\n }\r\n },\r\n {\r\n saleTypeId: 13,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'LimitQty',\r\n nameBenefit: 'SaveAmount',\r\n defaultRequisite: 0,\r\n defaultBenefit: 2,\r\n imageSrc: saleType13\r\n }\r\n },\r\n {\r\n saleTypeId: 20,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 3,\r\n defaultBenefit: 36,\r\n imageSrc: saleType20\r\n }\r\n },\r\n {\r\n saleTypeId: 21,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 3,\r\n defaultBenefit: 36,\r\n imageSrc: saleType21\r\n }\r\n },\r\n {\r\n saleTypeId: 30,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'GetPctOff',\r\n defaultRequisite: 1,\r\n defaultBenefit: 20,\r\n imageSrc: saleType30\r\n }\r\n },\r\n {\r\n saleTypeId: 40,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 2,\r\n imageSrc: saleType40\r\n }\r\n },\r\n {\r\n saleTypeId: 41,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'GetPctOff',\r\n defaultRequisite: 1,\r\n defaultBenefit: 20,\r\n imageSrc: saleType41\r\n }\r\n },\r\n {\r\n saleTypeId: 44,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'PctAt',\r\n defaultRequisite: 1,\r\n defaultBenefit: 20,\r\n imageSrc: saleType44\r\n }\r\n },\r\n {\r\n saleTypeId: 50,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: false,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'GetQty',\r\n defaultRequisite: 2,\r\n defaultBenefit: 1,\r\n imageSrc: saleType50\r\n }\r\n },\r\n {\r\n saleTypeId: 51,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: false,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'GetQty',\r\n defaultRequisite: 3,\r\n defaultBenefit: 1,\r\n imageSrc: saleType51\r\n }\r\n },\r\n {\r\n saleTypeId: 62,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyAmount',\r\n nameBenefit: 'GetAmountOff',\r\n defaultRequisite: 100,\r\n defaultBenefit: 20,\r\n imageSrc: saleType62\r\n }\r\n },\r\n {\r\n saleTypeId: 63,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyAmount',\r\n nameBenefit: 'GetAmountOff',\r\n defaultRequisite: 100,\r\n defaultBenefit: 20,\r\n imageSrc: saleType63\r\n }\r\n },\r\n {\r\n saleTypeId: 70,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 9.99,\r\n imageSrc: saleType70\r\n }\r\n },\r\n {\r\n saleTypeId: 71,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 9.99,\r\n imageSrc: saleType71\r\n }\r\n },\r\n {\r\n saleTypeId: 72,\r\n saleTypeData: {\r\n isChangeableRequisite: false,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'SalePrice',\r\n defaultRequisite: 1,\r\n defaultBenefit: 9.99,\r\n imageSrc: saleType72\r\n }\r\n },\r\n {\r\n saleTypeId: 80,\r\n saleTypeData: {\r\n isChangeableRequisite: true,\r\n isChangeableBenefit: true,\r\n nameRequisite: 'BuyQty',\r\n nameBenefit: 'GetItemCode',\r\n defaultRequisite: 5,\r\n defaultBenefit: 12345678,\r\n imageSrc: saleType81\r\n }\r\n },\r\n]\r\n\r\nexport const USER_ROLES = [\r\n {\r\n value: \"1\",\r\n label: \"Viewer\"\r\n },\r\n {\r\n value: \"2\",\r\n label: \"Editor\"\r\n },\r\n {\r\n value: \"3\",\r\n label: \"Admin\"\r\n },\r\n\r\n]\r\n\r\n\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import {EmailsObjectDto, FlyerPageSpotDto, IconStyleDto, PageRunsDto, PromoDto, UserRoleDto} from \"../dtos\";\r\nimport moment from \"moment/moment\";\r\nimport {iconStyles} from \"./constans\";\r\nimport {USER_ROLES} from \"./Contants\";\r\n\r\nexport const convertPagesRangeToString = (pageRange: PageRunsDto[]): string => {\r\n let pageRangeString: string = '';\r\n pageRange.forEach((range:PageRunsDto) => {\r\n if(range.startPageNo === range.endPageNo){\r\n pageRangeString += `${range.startPageNo},`;\r\n } else if(range.startPageNo < range.endPageNo){\r\n pageRangeString += `${range.startPageNo}-${range.endPageNo},`\r\n }\r\n });\r\n\r\n return pageRangeString.slice(0, -1);\r\n}\r\n\r\n//find unicode for letter (auto direction)\r\nexport const isUnicode = (str: string) => {\r\n let letters = [];\r\n for (let i = 0; i <= str.length; i++) {\r\n letters[i] = str.substring((i - 1), i);\r\n if (letters[i].charCodeAt(0) >= 1424 && letters[i].charCodeAt(0) <= 1535) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexport const getTotalPromotionsInFramesOnPage = (frames: FlyerPageSpotDto[]): PromoDto[] => {\r\n const totalPromotionsInFrames: PromoDto[] = [];\r\n frames?.forEach((frame: FlyerPageSpotDto) => {\r\n let promosFromFrame: PromoDto = frame.flyerPromos![frame.flyerPromos!.length - 1 < 0 ? 0 : frame.flyerPromos!.length - 1];\r\n if (promosFromFrame) {\r\n totalPromotionsInFrames.push({...promosFromFrame});\r\n }\r\n });\r\n return totalPromotionsInFrames;\r\n}\r\n\r\nexport const getDate = (date: Date | undefined) => {\r\n return date ? moment(date).toDate() : null;\r\n};\r\n\r\nexport const getIconStyle = (iconType: number): IconStyleDto => {\r\n return iconStyles.find((iconStyle: IconStyleDto) => iconStyle.iconStyleType === iconType) || iconStyles[0];\r\n}\r\n\r\nexport const convertEmailsObjectToArray = (email: EmailsObjectDto): string[] => {\r\n return email ? Object.values(email).filter(email => email !== null && email !== '') : [];\r\n}\r\n\r\nexport const findUserRole = (value: number): string => {\r\n const user: UserRoleDto | undefined = USER_ROLES.find((role: UserRoleDto) => {\r\n if(Number(role.value) === value){\r\n return role;\r\n }\r\n });\r\n if(user){\r\n return user.label;\r\n }\r\n return \"Viewer\";\r\n}","import React, {useMemo} from \"react\";\r\nimport {Box, MenuItem, Select, SelectChangeEvent} from \"@mui/material\";\r\nimport {IconStyleDto} from \"../../dtos\";\r\nimport {iconStyles} from \"../../globals/constans\";\r\nimport {getIconStyle} from \"../../globals/globFunctions\";\r\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\r\n\r\n\r\ninterface Props {\r\n iconStyle: IconStyleDto;\r\n setIconStyle: (iconStyle: IconStyleDto) => void;\r\n mainColor: string;\r\n}\r\n\r\nexport const IconsStylesDropdown: React.FC = (\r\n {\r\n iconStyle,\r\n setIconStyle,\r\n mainColor\r\n }\r\n) => {\r\n\r\n const handleOnChangeStyle = (event: SelectChangeEvent) => {\r\n const selectedStyle = getIconStyle(Number(event.target.value) || 1);\r\n setIconStyle(selectedStyle);\r\n }\r\n\r\n const iconsStyles = useMemo(() => {\r\n return iconStyles.map((iconStyle: IconStyleDto, index: number) => {\r\n const IconPromoComp = iconStyle.iconStyleData.promoCompIcon;\r\n const IconPageComp = iconStyle.iconStyleData.pageCompIcon;\r\n const IconLinkComp = iconStyle.iconStyleData.linkCompIcon;\r\n const IconVideoComp = iconStyle.iconStyleData.videoCompIcon;\r\n const IconImageComp = iconStyle.iconStyleData.imgCompIcon;\r\n const Icon360Comp = iconStyle.iconStyleData.img360CompIcon;\r\n return (\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n svg > rect\": {\r\n fill: (iconStyle.iconStyleType === 2 || iconStyle.iconStyleType === 3) ? mainColor : undefined\r\n }\r\n }}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }, [mainColor])\r\n return (\r\n .MuiSelect-select': {\r\n padding: `6px 8px`\r\n }\r\n }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: {\r\n border: \"1px solid #ced4da\",\r\n height: \"200px\",\r\n marginTop: \"8px\",\r\n \"& .MuiMenuItem-root.Mui-selected\": {\r\n backgroundColor: \"#4E7FA7!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root:hover\": {\r\n backgroundColor: \"#DEEBFF\",\r\n '& .MuiTypography-root': {\r\n // color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root.Mui-selected:hover\": {\r\n // backgroundColor: \"#014780!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n }\r\n }\r\n },\r\n MenuListProps: {\r\n sx: {\r\n padding: 0\r\n }\r\n },\r\n }}\r\n >\r\n {iconsStyles}\r\n \r\n )\r\n}","import React from 'react';\r\nimport {Box, MenuItem, Select, Typography} from \"@mui/material\";\r\nimport {FontSelectObjDto} from \"../../dtos\";\r\nimport {FONTS_ARRAY_FOR_SELECT} from \"../../globals\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\n\r\ninterface IFontSelector {\r\n onChange: (value: string) => void;\r\n fontName: FontSelectObjDto;\r\n}\r\n\r\nconst FontsSelect: React.FC = ({\r\n onChange,\r\n fontName,\r\n }) => {\r\n\r\n\r\n const onFontChange = (item: any) => {\r\n onChange(item.target.value);\r\n };\r\n\r\n const frameTypeSelectOptions = FONTS_ARRAY_FOR_SELECT.map((font, index) => {\r\n return (\r\n \r\n \r\n {font.label}\r\n \r\n \r\n\r\n )\r\n })\r\n\r\n return (\r\n .MuiSelect-select': {\r\n padding: `12px 8px`\r\n }\r\n }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: {\r\n \"& .MuiMenuItem-root.Mui-selected\": {\r\n backgroundColor: \"#C7C6C1!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root:hover\": {\r\n backgroundColor: \"#999DA0\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root.Mui-selected:hover\": {\r\n backgroundColor: \"#818380!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n }\r\n }\r\n },\r\n MenuListProps: {\r\n sx: {\r\n padding: \"4px 0\",\r\n maxHeight: \"264px\",\r\n }\r\n }\r\n }}\r\n >\r\n {frameTypeSelectOptions}\r\n \r\n )\r\n\r\n}\r\n\r\nexport default FontsSelect;","import React, {useRef} from 'react'\r\n\r\n\r\nimport ColorsSelector from '../../../../../../../../com/colorsSelector2/ColorsSelector'\r\nimport TextInput from '../../../../../../../../com/textInput/TextInput'\r\n\r\nimport LabelFileSelector from '../../../../../../../../com/labelFileSelector/LabelFileSelector';\r\n\r\nimport GuiThemesHeader, {IGuiThemesHeaderRef} from '../header/GuiThemesHeader'\r\n\r\nimport StatusPopup, {StatusPopupType} from '../../../../../../../../com/statusPopup/StatusPopup'\r\n\r\nimport DragManager from '../../../../../../../../com/dragManager/DragManager'\r\n\r\nimport {FileDto, GuiSettingsDto, IconStyleDto} from '../../../../../../../../dtos';\r\n\r\nimport './GuiThemeSettingsPopup.scss'\r\n\r\nimport {useEffect, useState} from 'react';\r\nimport {FONT_NAME_ROBOTO, FONTS_ARRAY_FOR_SELECT} from '../../../../../../../../globals';\r\n\r\nimport ImageLoader from '../../../../../../../../com/imageLoader/ImageLoader'\r\nimport {Box, Grid, Typography} from \"@mui/material\";\r\nimport {ReactComponent as UploadIcon} from \"../../../../../../../../assets/editors/upload_icon.svg\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {ReactComponent as ImageWithError} from \"../../../../../../../../assets/promos&items/image_error.svg\";\r\nimport {getIconStyle} from \"../../../../../../../../globals/globFunctions\";\r\nimport {IconsStylesDropdown} from \"../../../../../../../../com/iconsStyleSelector/iconsStylesDropdown\";\r\nimport FontsSelect from \"../../../../../../../../com/fontsSelect/fontsSelect\";\r\n\r\n// import {ReactComponent as ImageWithError} from \"../../../../../../../../assets/promos&items/image_error.svg\";\r\n\r\ninterface IGuiThemeSettingsPopup {\r\n show: boolean;\r\n onHide: () => void;\r\n dto: GuiSettingsDto;\r\n onSave: (dto: GuiSettingsDto, backgroundFile: FileDto | null, logoFile: FileDto | null) => void;\r\n}\r\n\r\n\r\nconst GuiThemeSettingsPopup: React.FC = (props) => {\r\n const [themeName, setThemeName] = useState('')\r\n const [color, setColor] = useState('#ffff00')\r\n const [backgroundColor, setBackgroundColor] = useState('#ffff00')\r\n\r\n const [logo, setLogo] = useState(null)\r\n const [backgroundImg, setBackgroundImg] = useState(null);\r\n const [logoUrl, setLogoUrl] = useState(null);\r\n const [backgroundUrl, setBackgroundUrl] = useState(null);\r\n\r\n const [isImageUrlSelected, setImageUrlMain] = useState(false);\r\n\r\n const [fontName, setFontName] = useState(FONT_NAME_ROBOTO)\r\n const [fontLabel, setFontLabel] = useState(FONT_NAME_ROBOTO)\r\n\r\n const [infoPopupSubTitle, setInfoPopupSubTitle] = useState('');\r\n const [showInfoPopup, setShowInfoPopup] = useState(false);\r\n const [iconStyle, setIconStyle] = useState(getIconStyle(props.dto.gusIconContrast || 1));\r\n\r\n const contentRef = useRef(null)\r\n const headerRef = useRef(null)\r\n\r\n let dragManager = useRef(null)\r\n if (dragManager.current === null) {\r\n dragManager.current = new DragManager();\r\n }\r\n\r\n const onColorSwatchChange = (hexColor: string) => {\r\n setColor(hexColor);\r\n }\r\n\r\n const onBackgroundSwatchChange = (hexColor: string) => {\r\n setBackgroundColor(hexColor);\r\n setImageUrlMain(false);\r\n }\r\n\r\n const onFontSelectorChange = (value: string) => {\r\n // setFontName(font.value);\r\n // setFontLabel(font.label);\r\n setFontName(value);\r\n const selectedFont = FONTS_ARRAY_FOR_SELECT.find((fontInArray) => {\r\n if(fontInArray.value === value){\r\n return fontInArray\r\n }\r\n });\r\n if(selectedFont){\r\n setFontLabel(selectedFont.label);\r\n }\r\n\r\n }\r\n\r\n const onUploadLogoFileChange = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n\r\n let imageLoader = new ImageLoader();\r\n let imageDimentions = await imageLoader.loadImageDimensions(file);\r\n if (imageDimentions.width > 300 || imageDimentions.height > 200) {\r\n setInfoPopupSubTitle('Logo must be smaller than 300x200px.')\r\n setShowInfoPopup(true)\r\n return;\r\n }\r\n\r\n const newLogo: FileDto = {\r\n label: file.name,\r\n file: file\r\n };\r\n\r\n setLogo(newLogo);\r\n setLogoUrl(URL.createObjectURL(file));\r\n\r\n\r\n //props.state.uploadLogo = newLogo;\r\n\r\n // props.stateChange();\r\n }\r\n\r\n const onUploadBackgroundImage = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n\r\n let imageLoader = new ImageLoader();\r\n let imageDimentions = await imageLoader.loadImageDimensions(file);\r\n // if (imageDimentions.width > 300 || imageDimentions.height > 200) {\r\n // setInfoPopupSubTitle('Logo must be smaller than 300x200px.')\r\n // setShowInfoPopup(true)\r\n // return;\r\n // }\r\n\r\n const newBackground: FileDto = {\r\n label: file.name,\r\n file: file\r\n };\r\n\r\n setBackgroundImg(newBackground);\r\n setBackgroundUrl(URL.createObjectURL(file));\r\n setImageUrlMain(true);\r\n\r\n\r\n //props.state.uploadLogo = newLogo;\r\n\r\n // props.stateChange();\r\n }\r\n\r\n const handleSave = () => {\r\n const data = {\r\n ...props.dto,\r\n gusCaption: themeName,\r\n gusPrimaryColorRgb: color,\r\n gusLogo: logo?.label!,\r\n gusLogoUrl: logoUrl ? logoUrl! : '',\r\n gusFont: fontName,\r\n gusBackgroundColorRgb: !isImageUrlSelected ? backgroundColor : ``,\r\n gusBackgroundImage: isImageUrlSelected ? backgroundImg?.label : ``,\r\n gusBackgroundImageUrl: isImageUrlSelected && backgroundUrl ? backgroundUrl : '',\r\n gusIconContrast: iconStyle.iconStyleType\r\n }\r\n // props.dto.gusCaption = themeName;\r\n // props.dto.gusPrimaryColorRgb = color;\r\n // props.dto.gusLogo = logo?.label!;\r\n // props.dto.gusLogoUrl = logoUrl ? logoUrl! : '';\r\n // props.dto.gusFont = fontName;\r\n // props.dto.gusBackgroundColorRgb = !isImageUrlSelected ? backgroundColor : ``;\r\n // props.dto.gusBackgroundImage = isImageUrlSelected ? backgroundImg?.label : ``;\r\n // props.dto.gusBackgroundImageUrl = isImageUrlSelected && backgroundUrl ? backgroundUrl : '';\r\n props.onSave(data, backgroundImg ? backgroundImg : null, logo ? logo! : null);\r\n }\r\n\r\n useEffect(() => {\r\n setThemeName(props.dto?.gusCaption ? props.dto.gusCaption! : '')\r\n setColor(props.dto?.gusPrimaryColorRgb ? props.dto.gusPrimaryColorRgb! : '#0000FF')\r\n setBackgroundColor(props.dto?.gusBackgroundColorRgb ? props.dto.gusBackgroundColorRgb! : '#ffffff')\r\n var fileDto: FileDto = {\r\n file: null,\r\n label: props.dto?.gusLogo ? props.dto.gusLogo! : null\r\n }\r\n setLogo(fileDto)\r\n\r\n const backgroundDto: FileDto = {\r\n file: null,\r\n label: props.dto.gusBackgroundImage ? props.dto.gusBackgroundImage : null\r\n }\r\n setBackgroundImg(backgroundDto);\r\n setIconStyle(getIconStyle(props.dto.gusIconContrast || 1));\r\n setLogoUrl(props.dto?.gusLogoUrl ? props.dto.gusLogoUrl! : '');\r\n setBackgroundUrl(props.dto.gusBackgroundImageUrl ? props.dto.gusBackgroundImageUrl : ``);\r\n setImageUrlMain(!Boolean(props.dto.gusBackgroundColorRgb) && Boolean(props.dto.gusBackgroundImageUrl));\r\n\r\n setFontName(props.dto?.gusFont ? props.dto?.gusFont : FONT_NAME_ROBOTO);\r\n if (props.dto?.gusFont === 'OpenSans') {\r\n setFontLabel('Open Sans')\r\n } else if (props.dto?.gusFont === 'AlmoniTzar') {\r\n setFontLabel('Almoni Tzar (Hebrew)')\r\n } else if (props.dto?.gusFont === 'OpenSansHeb') {\r\n setFontLabel('Open Sans (Hebrew)')\r\n } else {\r\n setFontLabel(props.dto?.gusFont ? props.dto?.gusFont : FONT_NAME_ROBOTO);\r\n }\r\n\r\n }, [props.dto])\r\n\r\n useEffect(() => {\r\n if (props.show && dragManager.current && contentRef.current && headerRef.current) {\r\n dragManager.current.init(contentRef.current!, headerRef.current!)\r\n }\r\n\r\n return () => {\r\n if (dragManager.current) {\r\n dragManager.current.dispose();\r\n }\r\n }\r\n\r\n }, [props.show, contentRef.current, headerRef.current])\r\n\r\n if (!props.show) {\r\n return null\r\n }\r\n\r\n const setting = {\r\n modalName: \"error\"\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n {\r\n var value = e.target.value;\r\n setThemeName(value)\r\n }}\r\n errorMessage={''}\r\n verticalMode={false}\r\n horizontalLabelCol=\"col-sm-3\"\r\n horizontalInputCol=\"col-sm-9\"\r\n maxLength={30}\r\n bordersColor={\"#d1d7db\"}\r\n withoutErrorMessage={true}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n !logo?.label &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n No Image\r\n \r\n \r\n \r\n }\r\n {\r\n logoUrl &&\r\n \r\n \r\n \"img\"\r\n \r\n\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {/*
*/}\r\n\r\n {/*
*/}\r\n {/*

{logo?.label ? logo?.label : '--'}

*/}\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n {/* {logoUrl && \"img\"/}*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* test*/}\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {/**/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n {backgroundImg?.label && isImageUrlSelected\r\n ? \r\n {backgroundImg.label}\r\n \r\n : No Image\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Save
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n setShowInfoPopup(false)}\r\n />\r\n\r\n \r\n\r\n )\r\n}\r\n\r\nexport default GuiThemeSettingsPopup","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEditNoFillIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5268 1.09151L14.5268 1.09152L18.9085 5.47324L18.9087 5.47342C19.0404 5.605 19.011 5.77131 18.9369 5.84546L6.20162 18.5806C6.16759 18.6146 6.1194 18.6386 6.06059 18.643L1.32269 18.9992L1.32251 18.9992C1.24673 19.0049 1.15933 18.9763 1.09152 18.9085L1.09147 18.9084C1.02357 18.8405 0.995019 18.7531 1.00072 18.6774L1.00074 18.6772L1.35689 13.9394L0.44936 13.8712L1.35689 13.9394C1.36131 13.8806 1.38527 13.8324 1.41932 13.7984L14.1546 1.06322L14.1549 1.06284C14.1928 1.02495 14.2496 0.998934 14.3189 1.00003C14.3897 1.00115 14.4663 1.03103 14.5268 1.09151Z\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.67899 5.67334L14.3264 10.3207\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEditNoFillIcon);\nexport default __webpack_public_path__ + \"static/media/edit_no_fill_icon.cfa29110.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.11108 4.7619H2.98243L3.9181 20H16.0087L17.0658 4.7619H18.8889V2.85714H14.1614L14.2105 0H5.78945V2.85714H1.11108V4.7619ZM12.3392 1.90476V2.85714H7.75669V1.90476H12.3392ZM14.2105 18.0952H5.69385L4.85377 4.7619L15.1606 4.73883L14.2105 18.0952Z\",\n fill: \"#828282\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIcon);\nexport default __webpack_public_path__ + \"static/media/delete_icon.fef8f96a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSettingIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2048 19H8.798L8.14101 17.0542L6.32638 16.3028L4.48758 17.2152L2.78506 15.5119L3.69688 13.6741L2.94577 11.8591L1 11.205V8.79503L2.94577 8.14086L3.69713 6.32646L2.7848 4.48763L4.48784 2.78457L6.32587 3.69691L8.1405 2.94554L8.798 1H11.2048L11.859 2.9458L13.6734 3.69717L15.5122 2.78483L17.2152 4.48789L16.3029 6.32594L17.0542 8.14034L19 8.79451V11.2045L17.0542 11.8586L16.3029 13.673L17.2149 15.5124L15.5119 17.2154L13.6739 16.3031L11.8595 17.0545L11.2048 19Z\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99933 13C9.40622 12.9999 8.82645 12.8239 8.33329 12.4944C7.83994 12.1648 7.45543 11.6962 7.22836 11.1481C7.0013 10.5999 6.94189 9.99667 7.05765 9.41473C7.1734 8.83279 7.45912 8.29824 7.87868 7.87868C8.29824 7.45912 8.83279 7.1734 9.41473 7.05765C9.99667 6.94189 10.5999 7.0013 11.1481 7.22836C11.6962 7.45543 12.1648 7.83994 12.4944 8.33329C12.8239 8.82645 12.9999 9.40622 13 9.99933C12.999 10.7948 12.6825 11.5575 12.12 12.12C11.5575 12.6825 10.7948 12.999 9.99933 13Z\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSettingIcon);\nexport default __webpack_public_path__ + \"static/media/setting_icon.65eeaaa7.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.6 8.3C15 5.3 12.3 3 9.1 3C5.8 3 3 5.5 2.7 8.7C1 9.4 0 10.9 0 12.7C0 15.1 2 17 4.3 17H6H14H15.6C18 17 19.9 15 19.9 12.7C20 10.4 18.2 8.3 15.6 8.3ZM15.7 15H14.1H6H4.3C3.1 15 2 14 2 12.7C2 11.8 2.6 10.9 3.4 10.5L4.5 10L4.6 8.9C4.9 6.7 6.8 5 9.1 5C11.3 5 13.2 6.6 13.6 8.7L13.9 10.4H15.6C17.2 10.4 18 11.6 18 12.7C18 14 16.9 15 15.7 15Z\",\n fill: \"#2A2A2A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 10.9394L8.93939 9L11 10.9394\",\n stroke: \"#2A2A2A\",\n strokeMiterlimit: 4.6248\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.93848 13.2424V9.12122\",\n stroke: \"#2A2A2A\",\n strokeMiterlimit: 4.6248\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadIcon);\nexport default __webpack_public_path__ + \"static/media/upload_icon.7be2eaca.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRestoreIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.1107 12.4427C1.80689 10.3589 2.24194 8.23109 3.34088 6.4259C4.43983 4.62072 6.13386 3.25119 8.13114 2.55325C10.1284 1.85532 12.3039 1.87268 14.2827 2.60235C16.2616 3.33202 17.9199 4.7283 18.9721 6.55066L20.0463 2.58611\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2,\n strokeLinejoin: \"bevel\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.8607 9.34771C20.1706 11.4328 19.7403 13.564 18.644 15.3733C17.5477 17.1826 15.8542 18.5566 13.8559 19.258C11.8575 19.9594 9.67965 19.9443 7.69824 19.2153C5.71683 18.4862 4.05619 17.089 3.00297 15.2648L1.79761 19.7133\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2,\n strokeLinejoin: \"bevel\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3918 5.61792V11.5003L12.7448 13.8532\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRestoreIcon);\nexport default __webpack_public_path__ + \"static/media/restore_icon.9d43eebb.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Delete\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Union\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-inside-1_1616_3934\",\n fill: \"white\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.68421 5H2L2.00004 3H6.00004V0L14 0.027298V3H18L18 5H16.3593L15.4078 20.0001H4.52632L3.68421 5Z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 4V5H13.4143L13.7071 4.70711L13 4ZM7.00003 4L6.29292 4.7071L6.58581 5H7.00003V4ZM13.2929 2.29289L12.2929 3.29289L13.7071 4.70711L14.7071 3.70711L13.2929 2.29289ZM13 3H7.00003V5H13V3ZM7.70714 3.2929L6.70715 2.2929L5.29293 3.7071L6.29292 4.7071L7.70714 3.2929ZM3.68421 5L5.68107 4.8879L5.57508 3H3.68421V5ZM2 5L0 4.99996L-3.69549e-05 7H2V5ZM4.52632 20.0001L2.52947 20.1122L2.63545 22.0001H4.52632V20.0001ZM15.4078 20.0001V22.0001H17.285L17.4038 20.1267L15.4078 20.0001ZM16.3593 5V3H14.4821L14.3633 4.8734L16.3593 5ZM18 5V7H20L20 5.00003L18 5ZM18 3L20 3.00003L20.0001 1H18V3ZM14 3H12V5H14V3ZM14 0.027298H16V-1.96589L14.0069 -1.97269L14 0.027298ZM6.00004 0L6.00686 -1.99999L4.00004 -2.00684V0H6.00004ZM6.00004 3V5H8.00004V3H6.00004ZM2.00004 3V1H7.39098e-05L3.69549e-05 2.99996L2.00004 3ZM3.68421 3H2V7H3.68421V3ZM6.52318 19.888L5.68107 4.8879L1.68735 5.1121L2.52947 20.1122L6.52318 19.888ZM15.4078 18.0001H4.52632V22.0001H15.4078V18.0001ZM14.3633 4.8734L13.4118 19.8735L17.4038 20.1267L18.3553 5.1266L14.3633 4.8734ZM18 3H16.3593V7H18V3ZM16 2.99997L16 4.99997L20 5.00003L20 3.00003L16 2.99997ZM14 5H18V1H14V5ZM12 0.027298V3H16V0.027298H12ZM5.99321 1.99999L13.9932 2.02729L14.0069 -1.97269L6.00686 -1.99999L5.99321 1.99999ZM8.00004 3V0H4.00004V3H8.00004ZM2.00004 5H6.00004V1H2.00004V5ZM4 5.00004L4.00004 3.00004L3.69549e-05 2.99996L0 4.99996L4 5.00004Z\",\n fill: \"#2A2A2A\",\n mask: \"url(#path-1-inside-1_1616_3934)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIcon);\nexport default __webpack_public_path__ + \"static/media/delete_icon.6647c6bb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDonwloadPdfIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 9V1H12.3336L17 6.09703V9\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5186 13.8613H2.87063V12.897H4.5186C4.77327 12.897 4.98057 12.8585 5.14048 12.7816C5.30039 12.7019 5.41736 12.592 5.49139 12.4519C5.56543 12.3118 5.60244 12.1538 5.60244 11.978C5.60244 11.7995 5.56543 11.6332 5.49139 11.4794C5.41736 11.3255 5.30039 11.2019 5.14048 11.1085C4.98057 11.0151 4.77327 10.9684 4.5186 10.9684H3.33259V16H2V10H4.5186C5.02499 10 5.45882 10.0852 5.8201 10.2555C6.18434 10.4231 6.46271 10.6552 6.65519 10.9519C6.84768 11.2486 6.94392 11.5879 6.94392 11.9698C6.94392 12.3571 6.84768 12.6923 6.65519 12.9753C6.46271 13.2582 6.18434 13.4766 5.8201 13.6305C5.45882 13.7843 5.02499 13.8613 4.5186 13.8613Z\",\n fill: \"#2A2A2A\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.84897 16H8.44087L8.44975 15.0357H9.84897C10.1984 15.0357 10.4931 14.9629 10.7329 14.8173C10.9728 14.669 11.1534 14.4533 11.2748 14.1703C11.3992 13.8874 11.4614 13.5453 11.4614 13.1442V12.8516C11.4614 12.544 11.4259 12.2734 11.3548 12.0398C11.2867 11.8063 11.1845 11.6099 11.0483 11.4505C10.9121 11.2912 10.7448 11.1717 10.5464 11.092C10.348 11.0096 10.1199 10.9684 9.8623 10.9684H8.41421V10H9.8623C10.2947 10 10.69 10.0687 11.0483 10.206C11.4096 10.3407 11.722 10.5343 11.9856 10.7871C12.2491 11.0398 12.452 11.342 12.5941 11.6937C12.7392 12.0426 12.8118 12.4313 12.8118 12.8599V13.1442C12.8118 13.5701 12.7392 13.9588 12.5941 14.3104C12.452 14.6621 12.2491 14.9643 11.9856 15.217C11.725 15.467 11.4125 15.6607 11.0483 15.7981C10.687 15.9327 10.2872 16 9.84897 16ZM9.196 10V16H7.86341V10H9.196Z\",\n fill: \"#2A2A2A\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.1127 10V16H13.7801V10H15.1127ZM17.6891 12.5632V13.5275H14.7485V12.5632H17.6891ZM18 10V10.9684H14.7485V10H18Z\",\n fill: \"#2A2A2A\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99991 3L9.99991 7.59996M9.99991 7.59996L7.59991 5.26133M9.99991 7.59996L12.3999 5.26133\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17L3 19H17V17\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDonwloadPdfIcon);\nexport default __webpack_public_path__ + \"static/media/donwload_pdf_icon.8c98d234.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInfo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.2 5.6H8.8V4H7.2V5.6ZM8 14.4C4.472 14.4 1.6 11.528 1.6 8C1.6 4.472 4.472 1.6 8 1.6C11.528 1.6 14.4 4.472 14.4 8C14.4 11.528 11.528 14.4 8 14.4ZM8 0C6.94943 0 5.90914 0.206926 4.93853 0.608964C3.96793 1.011 3.08601 1.60028 2.34315 2.34315C0.842855 3.84344 0 5.87827 0 8C0 10.1217 0.842855 12.1566 2.34315 13.6569C3.08601 14.3997 3.96793 14.989 4.93853 15.391C5.90914 15.7931 6.94943 16 8 16C10.1217 16 12.1566 15.1571 13.6569 13.6569C15.1571 12.1566 16 10.1217 16 8C16 6.94943 15.7931 5.90914 15.391 4.93853C14.989 3.96793 14.3997 3.08601 13.6569 2.34315C12.914 1.60028 12.0321 1.011 11.0615 0.608964C10.0909 0.206926 9.05058 0 8 0V0ZM7.2 12H8.8V7.2H7.2V12Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfo);\nexport default __webpack_public_path__ + \"static/media/info.e8fcfffd.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIconMain(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 25,\n viewBox: \"0 0 25 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.8027 10.207C14.5871 10.207 14.4124 10.3818 14.4124 10.5974V17.9745C14.4124 18.1899 14.5871 18.3648 14.8027 18.3648C15.0183 18.3648 15.193 18.1899 15.193 17.9745V10.5974C15.193 10.3818 15.0183 10.207 14.8027 10.207Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1966 10.207C9.981 10.207 9.80627 10.3818 9.80627 10.5974V17.9745C9.80627 18.1899 9.981 18.3648 10.1966 18.3648C10.4122 18.3648 10.5869 18.1899 10.5869 17.9745V10.5974C10.5869 10.3818 10.4122 10.207 10.1966 10.207Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.84038 9.12885V18.7456C6.84038 19.314 7.04881 19.8478 7.4129 20.2308C7.77532 20.6148 8.27968 20.8329 8.80753 20.8338H16.1925C16.7205 20.8329 17.2248 20.6148 17.5871 20.2308C17.9512 19.8478 18.1596 19.314 18.1596 18.7456V9.12885C18.8834 8.93674 19.3524 8.23752 19.2556 7.49484C19.1586 6.75231 18.526 6.19687 17.7771 6.19672H15.7787V5.70881C15.781 5.29852 15.6187 4.90454 15.3283 4.61469C15.0378 4.325 14.6433 4.16369 14.233 4.16704H10.7671C10.3568 4.16369 9.96217 4.325 9.67172 4.61469C9.38127 4.90454 9.21904 5.29852 9.22133 5.70881V6.19672H7.22292C6.474 6.19687 5.84141 6.75231 5.74444 7.49484C5.64762 8.23752 6.11661 8.93674 6.84038 9.12885ZM16.1925 20.0531H8.80753C8.14017 20.0531 7.62102 19.4798 7.62102 18.7456V9.16316H17.379V18.7456C17.379 19.4798 16.8598 20.0531 16.1925 20.0531ZM10.002 5.70881C9.99937 5.50557 10.0793 5.30995 10.2235 5.16648C10.3676 5.02301 10.5637 4.94418 10.7671 4.94769H14.233C14.4364 4.94418 14.6324 5.02301 14.7765 5.16648C14.9207 5.3098 15.0006 5.50557 14.998 5.70881V6.19672H10.002V5.70881ZM7.22292 6.97736H17.7771C18.1651 6.97736 18.4797 7.2919 18.4797 7.67994C18.4797 8.06797 18.1651 8.38252 17.7771 8.38252H7.22292C6.83489 8.38252 6.52035 8.06797 6.52035 7.67994C6.52035 7.2919 6.83489 6.97736 7.22292 6.97736Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.4996 10.207C12.284 10.207 12.1093 10.3818 12.1093 10.5974V17.9745C12.1093 18.1899 12.284 18.3648 12.4996 18.3648C12.7152 18.3648 12.8899 18.1899 12.8899 17.9745V10.5974C12.8899 10.3818 12.7152 10.207 12.4996 10.207Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIconMain);\nexport default __webpack_public_path__ + \"static/media/delete_icon_main.357959e8.svg\";\nexport { ForwardRef as ReactComponent };","import {Dispatch} from \"redux\";\r\nimport {Action} from \"../actions/toggleActionForEditorActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\n\r\nexport const toggleFlyerDetailsPopup = (isShow: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.EDITOR_TOGGLE_FLYER_DETAILS_POPUP,\r\n payload: isShow\r\n });\r\n }\r\n}\r\n\r\nexport const toggleFlyerRightPanel = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.EDITOR_TOGGLE_FLYER_RIGHT_PANEL,\r\n });\r\n }\r\n}\r\n\r\nexport const toggleFlyerZoomInModeForFramesPromosScreens = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.EDITOR_TOGGLE_ZOOM_IN_MODE_FOR_FRAMES_PROMOS_SCREENS,\r\n });\r\n }\r\n}\r\n\r\n","import React, {ReactElement, useEffect} from \"react\";\r\nimport Grow from '@material-ui/core/Grow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Popper from '@material-ui/core/Popper';\r\nimport MenuList from '@material-ui/core/MenuList';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport {makeStyles} from '@mui/styles';\r\nimport {DefaultSizesDto, ItemsListMenuDto, UserDto} from \"../../../../../../../dtos\";\r\nimport {MenuItem, SubMenu} from \"react-contextmenu\";\r\nimport styles from './menuForPromotions.module.scss';\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {Box, Button, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {ReactComponent as EditNoFillIcon} from \"../../../../../../../assets/edit_no_fill_icon.svg\";\r\nimport {ReactComponent as DeleteNoFillIcon} from \"./../../../../../../../assets/xCircularIcons/delete_icon.svg\";\r\nimport {ReactComponent as SettingIcon} from \"./../../../../../../../assets/xCircularIcons/setting_icon.svg\";\r\nimport {ReactComponent as UploadIcon} from \"./../../../../../../../assets/flyersScreen/upload_icon.svg\";\r\nimport {ReactComponent as ArchiveIcon} from \"./../../../../../../../assets/flyersScreen/archive_icon.svg\";\r\nimport {ReactComponent as RestoreIcon} from \"./../../../../../../../assets/flyersScreen/restore_icon.svg\";\r\nimport {ReactComponent as DeleteIcon} from \"./../../../../../../../assets/flyersScreen/delete_icon.svg\";\r\nimport {ReactComponent as DownloadIcon} from \"./../../../../../../../assets/flyersScreen/donwload_pdf_icon.svg\";\r\nimport {ReactComponent as InfoIcon} from \"./../../../../../../../assets/flyersScreen/info.svg\";\r\nimport LabelFileSelector from \"../../../../../../../com/labelFileSelector/LabelFileSelector\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {toggleFlyerRightPanel} from \"../../../../../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n popper: {\r\n zIndex: 1062,\r\n },\r\n paper: {\r\n borderRadius: '5px',\r\n margin: '0 5px',\r\n border: '1px solid #B3B3B3'\r\n\r\n },\r\n list: {\r\n padding: 0,\r\n // marginTop: '5px'\r\n },\r\n root: {\r\n // fontSize: '14px',\r\n // height: '40px',\r\n justifyContent: 'space-between',\r\n \"& > .MuiButton-root\": {\r\n padding: \"8px 12px!important\",\r\n justifyContent: \"flex-start\",\r\n borderRadius: \"0\"\r\n }\r\n }\r\n\r\n}));\r\n\r\ninterface Props {\r\n list: ItemsListMenuDto,\r\n makeUnlinkTargetPromo?: () => void;\r\n deleteUnlinkPromotionsFromFlyer?: (value: boolean) => void;\r\n linkUnlinkPromotionToFirstEmptyFrame?: () => void;\r\n isUnlinkPromo?: boolean;\r\n createNewPromotion?: VoidFunction;\r\n editFrame?: VoidFunction;\r\n isForFrame?: boolean;\r\n infoForMenu?: string;\r\n createNewItem?: (e: React.MouseEvent) => void;\r\n editPromotion?: (e: React.MouseEvent) => void;\r\n editTocCaption?: (e: React.MouseEvent | React.TouchEvent) => void;\r\n deleteTocCaption?: (e: React.MouseEvent | React.TouchEvent) => void;\r\n unlinkAllItemFromPromoSelectedPromo?: VoidFunction;\r\n isPromotionIncludeItems?: boolean;\r\n handleDeleteClick?: VoidFunction;\r\n archiveFlyer?: VoidFunction;\r\n isShowRightPanel?: boolean;\r\n isDisableEdit?: boolean;\r\n isDisableUpload?: boolean;\r\n onAddImageFilesToPages?: (event: React.ChangeEvent) => void;\r\n editFlyerFromMobile?: VoidFunction;\r\n isDisableDelete?: boolean;\r\n isDisabledContextMenuOption?: boolean;\r\n selectedPageRange?: number;\r\n totalPagesInFlyer?: number;\r\n pageNumber?: number;\r\n insertAfterPageCallback?: VoidFunction;\r\n insertBeforePageCallback?: VoidFunction;\r\n optionForSelectPages?: ReactElement[];\r\n isShowInfoForPage?: boolean;\r\n pageWxH?: DefaultSizesDto;\r\n deletePages?: VoidFunction;\r\n movePageCallback?: (e: React.ChangeEvent) => void;\r\n pageId?: number;\r\n onChangePageNUmber?: (e: React.ChangeEvent) => void;\r\n downloadFlyer?: VoidFunction;\r\n deleteGui?: VoidFunction;\r\n editGui?: VoidFunction;\r\n deleteStoreSetting?: VoidFunction;\r\n editStoreSetting?: VoidFunction;\r\n setDefaultStoreSetting?: VoidFunction;\r\n handleDeleteRestoreClick?: (isDelete: boolean) => void;\r\n handleHardDeleteFlyer?: VoidFunction;\r\n handleRestoreFlyer?: VoidFunction;\r\n\r\n deleteUserAndPermission?: VoidFunction;\r\n editUserAndPermission?: VoidFunction;\r\n onSendEmailToUser?: VoidFunction;\r\n}\r\n\r\n\r\nexport const MenuForPromotion = (props: Props) => {\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let {isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto.accountTier === 1;\r\n const isMd = useMediaQuery(`(max-width:1199px)`);\r\n const classes = useStyles();\r\n\r\n const handleClose = (event: any) => {\r\n if (props.list.anchorRef.current && props.list.anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n props.list.setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event: any) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n props.list.setOpen(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (props.list.prevOpen.current && !props.list.open) {\r\n props.list.anchorRef.current!.focus();\r\n }\r\n\r\n props.list.prevOpen.current = props.list.open;\r\n }, [props.list.open]);\r\n\r\n\r\n const unlinkPromo = (event: React.MouseEvent) => {\r\n handleClose(event);\r\n if (props?.makeUnlinkTargetPromo) {\r\n props?.makeUnlinkTargetPromo();\r\n }\r\n }\r\n\r\n const deletePromo = (event: React.MouseEvent) => {\r\n handleClose(event);\r\n if (props?.deleteUnlinkPromotionsFromFlyer) {\r\n props?.deleteUnlinkPromotionsFromFlyer(true);\r\n }\r\n }\r\n\r\n const linkUnlinkPromoToFirstEmptyFrame = (event: React.MouseEvent) => {\r\n handleClose(event);\r\n if (props?.linkUnlinkPromotionToFirstEmptyFrame) {\r\n props?.linkUnlinkPromotionToFirstEmptyFrame();\r\n }\r\n }\r\n\r\n const unlinkAllItemsFromPromotion = () => {\r\n if (props.unlinkAllItemFromPromoSelectedPromo) {\r\n props.unlinkAllItemFromPromoSelectedPromo()\r\n }\r\n }\r\n\r\n const editFlyer = (event: any) => {\r\n handleClose(event);\r\n if (!isMd) {\r\n dispatch(toggleFlyerRightPanel());\r\n } else {\r\n if (props.editFlyerFromMobile) {\r\n props.editFlyerFromMobile();\r\n }\r\n }\r\n }\r\n const onSoftDeleteArchivedFlyer = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!props?.handleDeleteRestoreClick) {\r\n return;\r\n }\r\n props?.handleDeleteRestoreClick(true);\r\n handleClose(event);\r\n }\r\n const onRestoreArchivedFlyer = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!props?.handleDeleteRestoreClick) {\r\n return;\r\n }\r\n props?.handleDeleteRestoreClick(false);\r\n handleClose(event);\r\n }\r\n\r\n const onHardDeleteDeletedFlyer = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!props?.handleHardDeleteFlyer) {\r\n return;\r\n }\r\n props?.handleHardDeleteFlyer();\r\n handleClose(event);\r\n }\r\n const onRestoreDeletedFlyer = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!props?.handleRestoreFlyer) {\r\n return;\r\n }\r\n props?.handleRestoreFlyer();\r\n handleClose(event);\r\n }\r\n\r\n const onArchiveDeletedFlyer = (event: any) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (!props?.archiveFlyer) {\r\n return;\r\n }\r\n props?.archiveFlyer();\r\n handleClose(event);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n {({TransitionProps, placement}) => (\r\n \r\n \r\n \r\n \r\n {\r\n props.infoForMenu === 'menuForFrameWithPromo' &&\r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForFlyerArchive' &&\r\n \r\n \r\n \r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Restore\r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForFlyerDelete' &&\r\n \r\n \r\n \r\n \r\n \r\n Archive\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete Permanently\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Restore\r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForPromo' &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForEmptyFrame' &&\r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForUnlinkedPromo' &&\r\n \r\n \r\n Add\r\n new\r\n Promotion...\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForPageToC' &&\r\n \r\n \r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n svg > path\": {\r\n fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n Delete\r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForFlyer' &&\r\n \r\n \r\n \r\n {isAccountTier1 && isMd ?\r\n : }\r\n \r\n {isAccountTier1 && isMd ? \"Edit\" : \"View Flyer Info\"}\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n props.downloadFlyer!();\r\n }}\r\n // disabled={props.isDisableDelete}\r\n >\r\n \r\n \r\n \r\n Download Flyer in PDF\r\n \r\n \r\n \r\n {\r\n if (props.onAddImageFilesToPages) {\r\n props.onAddImageFilesToPages(event);\r\n handleClose(event);\r\n }\r\n }}\r\n isDisabled={props.isDisableUpload || props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n fill: \"#000000\"\r\n }\r\n }}\r\n\r\n className={`${styles.option} menuOption`}\r\n >\r\n \r\n \r\n Upload Pages Images\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n props.archiveFlyer!();\r\n }}\r\n disabled={props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Archive\r\n \r\n \r\n \r\n\r\n ) => {\r\n handleClose(event);\r\n props.handleDeleteClick!();\r\n }}\r\n disabled={props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n // fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForPage' &&\r\n \r\n {\r\n props.isShowInfoForPage && props.pageWxH &&\r\n \r\n \r\n \r\n \r\n Page size: {props.pageWxH.width}x{props.pageWxH.height}px\r\n \r\n \r\n \r\n }\r\n ) => {\r\n handleClose(event);\r\n console.log(event);\r\n }}>\r\n \r\n \r\n \r\n \r\n Upload Page Image...\r\n \r\n \r\n \r\n \r\n ) => {\r\n if (props.insertBeforePageCallback) {\r\n props.insertBeforePageCallback()\r\n handleClose(event);\r\n }\r\n }}>\r\n \r\n \r\n Insert Page to the Left\r\n \r\n \r\n \r\n {\r\n if (props.insertAfterPageCallback) {\r\n props.insertAfterPageCallback();\r\n handleClose(event);\r\n }\r\n }}>\r\n \r\n \r\n Insert Page to the Right\r\n \r\n \r\n \r\n \r\n Move Page before...\r\n }>\r\n \r\n div\": {\r\n // marginLeft: '15px',\r\n // },\r\n\r\n '& > input': {\r\n height: '40px',\r\n width: '72px',\r\n border: '1px solid #D1D7DB',\r\n boxSizing: 'border-box',\r\n borderRadius: '5px',\r\n marginRight: '5px',\r\n },\r\n\r\n '& > select': {\r\n height: '40px',\r\n minWidth: '72px',\r\n border: '1px solid #D1D7DB',\r\n boxSizing: 'border-box',\r\n borderRadius: '5px',\r\n marginRight: '5px',\r\n padding: '0 12px',\r\n // textAlign: \"center\",\r\n // \"&::-webkit-scrollbar\": {\r\n // width: \"8px\",\r\n // },\r\n //\r\n // \"&::-webkit-scrollbar-thumb\": {\r\n // background: \"lightgray\",\r\n // borderRadius: \"6px\",\r\n // minHeight: \"40px\",\r\n // },\r\n //\r\n //\r\n // \"&::-ms-expand\": {\r\n // display: \"none\",\r\n // },\r\n\r\n '& > option:disabled': {\r\n backgroundColor: \"#9F9F9F\",\r\n padding: \"0\",\r\n // margin: \"2px 2px\",\r\n }\r\n },\r\n }}>\r\n \r\n Page Number:\r\n \r\n {\r\n if (props.movePageCallback) {\r\n props.movePageCallback(e);\r\n handleClose(e);\r\n }\r\n }}\r\n value={props.pageNumber}\r\n >\r\n {props.optionForSelectPages}\r\n \r\n \r\n \r\n \r\n {\r\n if (props.deletePages) {\r\n props.deletePages();\r\n handleClose(e);\r\n }\r\n }}>\r\n {\r\n props.selectedPageRange &&\r\n \r\n \r\n \r\n {props.selectedPageRange > 1 ? 'Delete Pages' : 'Delete Page'}\r\n \r\n \r\n }\r\n \r\n \r\n }\r\n\r\n {\r\n props.infoForMenu === 'menuForGui' &&\r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.editGui) {\r\n return;\r\n }\r\n props.editGui();\r\n }}\r\n >\r\n \r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.deleteGui) {\r\n return;\r\n }\r\n props.deleteGui();\r\n }}\r\n disabled={props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n // fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n \r\n }\r\n {\r\n props.infoForMenu === 'menuForStoreSetting' &&\r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.editStoreSetting) {\r\n return;\r\n }\r\n props.editStoreSetting();\r\n }}\r\n >\r\n \r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.deleteStoreSetting) {\r\n return;\r\n }\r\n props.deleteStoreSetting();\r\n }}\r\n disabled={props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n // fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.setDefaultStoreSetting) {\r\n return;\r\n }\r\n props.setDefaultStoreSetting();\r\n }}\r\n >\r\n svg > path\": {\r\n // fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Set as Default\r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.infoForMenu === \"menuForUserAndPermission\" &&\r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.editUserAndPermission) {\r\n return;\r\n }\r\n props.editUserAndPermission();\r\n }}\r\n >\r\n \r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n ) => {\r\n handleClose(event);\r\n if (!props.deleteUserAndPermission) {\r\n return;\r\n }\r\n props.deleteUserAndPermission();\r\n }}\r\n disabled={props.isDisableDelete}\r\n >\r\n svg > path\": {\r\n // fill: \"#000000\"\r\n }\r\n }}\r\n className={styles.option}\r\n // onTouchEnd={props.deleteTocCaption}\r\n >\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n {/*) => {*/}\r\n {/* handleClose(event);*/}\r\n {/* if (!props.onSendEmailToUser) {*/}\r\n {/* return;*/}\r\n {/* }*/}\r\n {/* props.onSendEmailToUser();*/}\r\n {/* }}*/}\r\n {/*>*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* Send Email*/}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n\r\n \r\n }\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}","import './GuiThemesTableItem.scss'\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {ReactComponent as CameraIcon} from \"../../../../../../../../assets/camera_icon.svg\";\r\n\r\n// import editIcon from '../../../../../../../../assets/edit_icon.png'\r\n// import xIcon from '../../../../../../../../assets/x_icon.png'\r\n\r\nimport {GuiSettingsDto, ItemsListMenuDto} from '../../../../../../../../dtos'\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../../com/imageWithLoader/imageWithLoader\";\r\n// import {ReactComponent as ImageWithError} from \"../../../../../../../../assets/promos&items/image_error.svg\";\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\nimport {getIconStyle} from \"../../../../../../../../globals/globFunctions\";\r\n\r\nconst useStyle = makeStyles(() => ({\r\n cellBox: {\r\n height: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`\r\n },\r\n iconWrapper: (props: any) => ({\r\n width: `32px`,\r\n height: `32px`,\r\n maxWidth: `32px`,\r\n maxHeight: `32px`,\r\n borderRadius: \"50%\",\r\n // backgroundColor: \"#ffffff\",\r\n // border: `1px solid #E2E2E2`,\r\n margin: `4px 0`,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n \"& > svg > rect\": {\r\n fill: ((props.iconStyleType === 2 || props.iconStyleType === 3) && props.mainColor) && props.mainColor\r\n }\r\n })\r\n}))\r\n\r\ninterface IGuiThemesTableItem {\r\n rowIndex: number;\r\n dto: GuiSettingsDto;\r\n onEdit: (rowIndex: number, dto: any) => void;\r\n onDelete: (rowIndex: number, dto: any) => void;\r\n isCloseMenu: boolean;\r\n setIsCloseMenu: (value: boolean) => void;\r\n}\r\n\r\nconst GuiThemesTableItem: React.FC = (props) => {\r\n const anchorRefForGUIMenu = useRef(null);\r\n const [isOpenedGUIMenu, setOpenGUIMenu] = useState(false);\r\n const [isHoverOnUnlinkPromoAndItem, changeStatusForUnlinkPromoAndItem] = useState(false);\r\n const prevOpenGUIMenu = useRef(isOpenedGUIMenu);\r\n const iconStyleData = getIconStyle(props.dto.gusIconContrast || 1);\r\n const IconComponent = iconStyleData.iconStyleData.promoCompIcon;\r\n const properties = {\r\n iconStyleType: iconStyleData.iconStyleType,\r\n mainColor: props.dto.gusPrimaryColorRgb\r\n }\r\n const classes = useStyle(properties);\r\n useEffect(() => {\r\n props.setIsCloseMenu(!isOpenedGUIMenu);\r\n }, [isOpenedGUIMenu]);\r\n\r\n\r\n useEffect(() => {\r\n if(props.isCloseMenu && isOpenedGUIMenu){\r\n setOpenGUIMenu(!isOpenedGUIMenu);\r\n }\r\n }, [props.isCloseMenu]);\r\n\r\n let logoIcon: string | null = null\r\n if (props && props.dto && props.dto.gusLogoUrl) {\r\n logoIcon = props.dto.gusLogoUrl;\r\n }\r\n\r\n const handleToggleForFlyer = () => {\r\n setOpenGUIMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenGUIMenu,\r\n prevOpen: prevOpenGUIMenu,\r\n open: isOpenedGUIMenu,\r\n anchorRef: anchorRefForGUIMenu,\r\n };\r\n\r\n const onDeleteGui = () => {\r\n if (props.dto.isDeleteable) {\r\n props.onDelete(props.rowIndex, props.dto);\r\n onMouseLeavePromo();\r\n }\r\n }\r\n const onEditGui = () => {\r\n props.onEdit(props.rowIndex, props.dto);\r\n onMouseLeavePromo()\r\n }\r\n\r\n const onMouseEnterPromo = () => {\r\n changeStatusForUnlinkPromoAndItem(true);\r\n }\r\n\r\n const onMouseLeavePromo = () => {\r\n changeStatusForUnlinkPromoAndItem(false);\r\n setOpenGUIMenu(false);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {props.dto.gusCaption}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n logoIcon &&\r\n )}\r\n />\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props.dto.gusFont === 'OpenSans' ?\r\n 'Open Sans' :\r\n (\r\n props.dto.gusFont === 'AlmoniTzar' ?\r\n 'Almoni Tzar (Hebrew)' :\r\n (\r\n props.dto.gusFont === 'OpenSansHeb' ?\r\n 'Open Sans (Hebrew)' :\r\n props.dto.gusFont\r\n )\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props.dto.gusBackgroundImageUrl && !Boolean(props.dto.gusBackgroundColorRgb)\r\n ? )}\r\n />\r\n :
\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isHoverOnUnlinkPromoAndItem &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default GuiThemesTableItem","\r\nimport GuiThemesTableItem from './GuiThemesTableItem'\r\n\r\nimport './GuiThemesTable.scss'\r\nimport { GuiSettingsDto } from '../../../../../../../../dtos';\r\nimport {useState} from \"react\";\r\n\r\ninterface IGuiThemesTable {\r\n items: GuiSettingsDto[];\r\n onEdit: (rowIndex: number, dto: GuiSettingsDto) => void\r\n onDelete: (rowIndex: number, dto: GuiSettingsDto) => void\r\n}\r\n\r\nconst GuiThemesTable: React.FC = (props) => {\r\n // const items = [];\r\n const [isCloseMenu, setIsCloseMenu] = useState(true);\r\n const items = props.items.map((item: GuiSettingsDto, index) => {\r\n return \r\n\r\n })\r\n\r\n const onScroll = () => {\r\n setIsCloseMenu(true);\r\n }\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { items }\r\n
BrandLogoColorFontBackgroundIcon
\r\n
\r\n )\r\n}\r\n\r\nexport default GuiThemesTable","\r\n\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { useTypedSelector } from '../../../../../../../hooks/useTypeSelector';\r\n\r\nimport {\r\n\r\n getGuiSettings,\r\n saveGuiSettings,\r\n deleteGuiSettings\r\n\r\n} from '../../../../../../../store';\r\n\r\nimport DragManager from '../../../../../../../com/dragManager/DragManager'\r\n\r\nimport GuiThemeSettingsPopup from './guiThemeSettings/GuiThemeSettingsPopup'\r\n\r\nimport GuiThemesTable from './table/GuiThemesTable'\r\n\r\nimport GuiThemesHeader, { IGuiThemesHeaderRef } from './header/GuiThemesHeader'\r\n\r\nimport './GuiThemesPopup.scss'\r\nimport { useEffect, useRef, useState } from 'react'\r\nimport {FileDto, GuiSettingsDto} from '../../../../../../../dtos';\r\n\r\ninterface IGuiThemesPopup {\r\n show: boolean;\r\n onHide: () => void;\r\n}\r\n\r\nconst GuiThemesPopup: React.FC = (props) => {\r\n\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let guiSettingsState = useTypedSelector((state) => state.guiSettings);\r\n\r\n const [showSettingsPopup, setShowSettingsPopup] = useState(false)\r\n\r\n const [currentGuiSettingDto, setCurrentGuiSettingDto] = useState(guiSettingsState.currentGuiSettingsDto)\r\n\r\n const contentRef = useRef(null)\r\n const headerRef = useRef(null)\r\n\r\n let dragManager = useRef(null)\r\n if(dragManager.current === null) {\r\n dragManager.current = new DragManager();\r\n }\r\n\r\n const handleEditRow = (rowIndex: number, dto: GuiSettingsDto) => {\r\n //dispatch(saveGuiSettings(dto));\r\n\r\n setCurrentGuiSettingDto(dto)\r\n setShowSettingsPopup(true);\r\n }\r\n\r\n const handleDeleteRow = (rowIndex: number, dto: GuiSettingsDto) => {\r\n setShowSettingsPopup(false)\r\n dispatch(deleteGuiSettings(dto));\r\n }\r\n\r\n const handleGuiSettingsSave = (dto: GuiSettingsDto, backgroundFile: FileDto | null, logoFile: FileDto | null) => {\r\n dispatch(saveGuiSettings(dto, flyerDetailsState, backgroundFile, logoFile));\r\n setShowSettingsPopup(false);\r\n }\r\n\r\n const handleHide = () => {\r\n setShowSettingsPopup(false);\r\n props.onHide()\r\n }\r\n\r\n const handleNewTheme = () => {\r\n /*if(guiSettingsState.guiSettings && \r\n guiSettingsState.guiSettings.length >= 20) {\r\n return;\r\n }*/\r\n setCurrentGuiSettingDto(new GuiSettingsDto())\r\n setShowSettingsPopup(true)\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(getGuiSettings());\r\n }, [])\r\n\r\n useEffect(() => {\r\n setCurrentGuiSettingDto(guiSettingsState.currentGuiSettingsDto)\r\n }, [guiSettingsState.currentGuiSettingsDto])\r\n\r\n useEffect(() => {\r\n if(props.show && dragManager.current && contentRef.current && headerRef.current){\r\n dragManager.current.init(contentRef.current!, headerRef.current!)\r\n }\r\n\r\n return () => {\r\n if(dragManager.current){\r\n dragManager.current.dispose();\r\n }\r\n }\r\n\r\n }, [props.show, contentRef.current, headerRef.current])\r\n\r\n if (!props.show) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n

+ New Brand

\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n setShowSettingsPopup(false)}\r\n dto={{ ...currentGuiSettingDto }}\r\n onSave={handleGuiSettingsSave}\r\n />\r\n\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default GuiThemesPopup\r\n\r\n\r\n\r\n","\r\nimport axios from 'axios';\r\n\r\nimport { ActionType } from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport { Action as FlippingFlyerActions} from '../actions/flippingFlyerActions';\r\nimport { Action as GuiSettingsActions} from '../actions/guiSettingsActions';\r\n\r\nimport { Dispatch } from 'redux';\r\nimport {UserDto, GuiSettingsDto, ErrorDtoFactory, FileDto} from '../../dtos';\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\n\r\nexport const getGuiSettings = () => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({ \r\n type: ActionType.GET_GUI_SETTINGS_START \r\n })\r\n\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let result = await axios.get(`${envManager.flyerEditorServerAddress}/api/guithemes/${userDto.userId}`, config);\r\n let data = result.data.data;\r\n\r\n let guiSettings: GuiSettingsDto[] = [ ...data ]\r\n\r\n dispatch({\r\n type: ActionType.GET_GUI_SETTINGS_SUCCESS,\r\n payload: guiSettings\r\n })\r\n\r\n dispatch({\r\n type: ActionType.GET_GUI_SETTINGS_COMPLETED\r\n })\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.GET_GUI_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const saveGuiSettings = (guiSettingDto: GuiSettingsDto, flyerDetailsState: FlyerDetailsState, backgroundFile: FileDto | null, logoFile: FileDto | null,) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n // prepare files data\r\n const formData = new FormData(); \r\n\r\n formData.append(\"guiSettingDto\", JSON.stringify(guiSettingDto));\r\n\r\n if(logoFile && logoFile?.file){\r\n formData.append(\"logoImage\", logoFile?.file!, logoFile!.label!);\r\n }\r\n if(backgroundFile && backgroundFile.file){\r\n formData.append(\"backgroundImage\", backgroundFile?.file!, backgroundFile!.label!);\r\n }\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({ \r\n type: ActionType.PUT_GUI_SETTINGS_START \r\n })\r\n\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/guithemes/${userDto.userId}`;\r\n let result = await axios.put(url, formData, config);\r\n let data = result.data.data;\r\n\r\n let guiSettingsDtos: GuiSettingsDto[] = [ ...data.guiSettingsDtos ]\r\n let currentGuiSettingsDto: GuiSettingsDto = { ...data.currentGuiSettingsDto }\r\n dispatch({\r\n type: ActionType.PUT_GUI_SETTINGS_SUCCESS,\r\n payload: {\r\n guiSettingsDtos,\r\n currentGuiSettingsDto\r\n }\r\n })\r\n\r\n dispatch({\r\n type: ActionType.PUT_GUI_SETTINGS_COMPLETED\r\n })\r\n\r\n // if the updated gui settings contain the one that is currently being viewed inside the\r\n // flyer editor, we must also update its values\r\n if(flyerDetailsState.flyGusRec) {\r\n \r\n let isNeedToUpdateFlyerState = false;\r\n\r\n for(let i = 0; i < guiSettingsDtos.length; i++)\r\n {\r\n let dto = guiSettingsDtos[i];\r\n if(dto.gusRecId === flyerDetailsState.flyGusRec.gusRecId) {\r\n flyerDetailsState.flyGusRec = dto;\r\n isNeedToUpdateFlyerState = true;\r\n break;\r\n }\r\n }\r\n \r\n if(isNeedToUpdateFlyerState)\r\n {\r\n var newFlyerState: FlyerDetailsState = {\r\n ...flyerDetailsState,\r\n }\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newFlyerState,\r\n });\r\n }\r\n }\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.PUT_GUI_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const deleteGuiSettings = (guiSettingDto: GuiSettingsDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({ \r\n type: ActionType.DELETE_GUI_SETTINGS_START \r\n })\r\n\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/guithemes/${guiSettingDto.gusRecId}`;\r\n let result = await axios.delete(url, config);\r\n let data = result.data.data;\r\n\r\n let guiSettings: GuiSettingsDto[] = [ ...data ]\r\n\r\n dispatch({\r\n type: ActionType.DELETE_GUI_SETTINGS_SUCCESS,\r\n payload: guiSettings\r\n })\r\n\r\n dispatch({\r\n type: ActionType.DELETE_GUI_SETTINGS_COMPLETED\r\n })\r\n } \r\n catch(err){\r\n dispatch({\r\n type: ActionType.DELETE_GUI_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}","import React from \"react\";\r\nimport {Box, Button, Grid, Modal, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ClosePopupBtn} from \"../closePopupBtn/closePopupBtn\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n confirmPopupHeader: {\r\n padding: `6px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n '& .MuiButton-root': {\r\n '& > svg': {\r\n '& > path': {\r\n fill: `#ffffff`\r\n }\r\n }\r\n }\r\n },\r\n mainBtn: {\r\n // width: `100%`,\r\n background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n '&.MuiButton-root': {\r\n padding: `10px 20px`,\r\n textTransform: `inherit`\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`,\r\n },\r\n '& > .MuiTypography-root': {\r\n lineHeight: `15px`\r\n }\r\n },\r\n secondaryBtn: {\r\n // width: `100%`,\r\n background: `#ffffff`,\r\n '&.MuiButton-root': {\r\n padding: `10px 20px`,\r\n border: `1px solid #DD5A01`,\r\n textTransform: `inherit`\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`,\r\n },\r\n '& > .MuiTypography-root': {\r\n lineHeight: `15px`,\r\n color: `#DD5A01`,\r\n fontWeight: `700`\r\n }\r\n },\r\n\r\n\r\n}))\r\n\r\ninterface Props {\r\n onClose: (value: boolean) => void;\r\n contentText: string;\r\n onConfirm: VoidFunction;\r\n buttonText: string[];\r\n onCloseWithoutSaving?: VoidFunction;\r\n isSaveDisabled?: boolean;\r\n}\r\n\r\nexport const SimpleConfirmPopup: React.FC = ({\r\n onClose,\r\n contentText,\r\n onConfirm,\r\n buttonText,\r\n onCloseWithoutSaving,\r\n isSaveDisabled = false\r\n }) => {\r\n const classes = useStyles()\r\n const onClosePopup = () => {\r\n onClose(false);\r\n }\r\n\r\n const buttons = buttonText.map((value: string, index: number) => {\r\n let isDisabled = false;\r\n if(value === \"Save\"){\r\n isDisabled = isSaveDisabled;\r\n }\r\n return \r\n\r\n })\r\n\r\n return (\r\n \r\n \r\n {/*header*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*text content*/}\r\n \r\n \r\n {contentText}\r\n \r\n \r\n {/*button wrapper*/}\r\n \r\n {buttons}\r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n\r\n \r\n \r\n )\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 25,\n viewBox: \"0 0 25 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.7917 13.5413H13.5417V19.7913H11.4584V13.5413H5.20837V11.458H11.4584V5.20801H13.5417V11.458H19.7917V13.5413Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlusIcon);\nexport default __webpack_public_path__ + \"static/media/plus_icon.ef193475.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIconLine(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8422 8.16504C11.6697 8.16504 11.5299 8.30482 11.5299 8.4773V14.379C11.5299 14.5513 11.6697 14.6912 11.8422 14.6912C12.0146 14.6912 12.1544 14.5513 12.1544 14.379V8.4773C12.1544 8.30482 12.0146 8.16504 11.8422 8.16504Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.15723 8.16504C7.98476 8.16504 7.84497 8.30482 7.84497 8.4773V14.379C7.84497 14.5513 7.98476 14.6912 8.15723 14.6912C8.3297 14.6912 8.46949 14.5513 8.46949 14.379V8.4773C8.46949 8.30482 8.3297 8.16504 8.15723 8.16504Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.47231 7.3025V14.9959C5.47231 15.4506 5.63905 15.8776 5.93033 16.184C6.22027 16.4913 6.62376 16.6657 7.04604 16.6664H12.954C13.3764 16.6657 13.7799 16.4913 14.0698 16.184C14.361 15.8776 14.5278 15.4506 14.5278 14.9959V7.3025C15.1068 7.14881 15.482 6.58943 15.4045 5.99529C15.327 5.40127 14.8209 4.95691 14.2217 4.95679H12.623V4.56647C12.6248 4.23823 12.4951 3.92304 12.2627 3.69117C12.0303 3.45942 11.7147 3.33037 11.3864 3.33305H8.61367C8.28543 3.33037 7.96976 3.45942 7.7374 3.69117C7.50503 3.92304 7.37525 4.23823 7.37708 4.56647V4.95679H5.77835C5.1792 4.95691 4.67313 5.40127 4.59555 5.99529C4.5181 6.58943 4.89329 7.14881 5.47231 7.3025ZM12.954 16.0419H7.04604C6.51215 16.0419 6.09683 15.5833 6.09683 14.9959V7.32994H13.9033V14.9959C13.9033 15.5833 13.4879 16.0419 12.954 16.0419ZM8.0016 4.56647C7.99952 4.40387 8.06344 4.24738 8.17883 4.1326C8.29409 4.01782 8.45095 3.95476 8.61367 3.95756H11.3864C11.5491 3.95476 11.706 4.01782 11.8213 4.1326C11.9366 4.24726 12.0006 4.40387 11.9985 4.56647V4.95679H8.0016V4.56647ZM5.77835 5.5813H14.2217C14.5322 5.5813 14.7838 5.83294 14.7838 6.14336C14.7838 6.45379 14.5322 6.70543 14.2217 6.70543H5.77835C5.46792 6.70543 5.21628 6.45379 5.21628 6.14336C5.21628 5.83294 5.46792 5.5813 5.77835 5.5813Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99964 8.16504C9.82716 8.16504 9.68738 8.30482 9.68738 8.4773V14.379C9.68738 14.5513 9.82716 14.6912 9.99964 14.6912C10.1721 14.6912 10.3119 14.5513 10.3119 14.379V8.4773C10.3119 8.30482 10.1721 8.16504 9.99964 8.16504Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIconLine);\nexport default __webpack_public_path__ + \"static/media/delete_icon_line.c09620f3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDropdown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 8,\n viewBox: \"0 0 14 8\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.24043 6.74726L7.24042 6.74727C6.97177 6.99318 6.54466 6.99317 6.27601 6.74729L6.27598 6.74726L0.956408 1.87709L0.956394 1.87708C0.675091 1.6195 0.675112 1.19205 0.956381 0.934466L0.956422 0.934428C1.22506 0.688523 1.65221 0.688523 1.92084 0.934428L1.92086 0.934441L6.75821 5.36312L11.5956 0.934441L11.5987 0.931535L11.5988 0.931563C11.8651 0.696014 12.2795 0.696029 12.5459 0.931547L7.24043 6.74726ZM7.24043 6.74726L12.56 1.87709L12.56 1.87712M7.24043 6.74726L12.56 1.87712M12.56 1.87712L12.5632 1.87413M12.56 1.87712L12.5632 1.87413M12.5632 1.87413C12.8404 1.61138 12.8313 1.18393 12.5459 0.931551L12.5632 1.87413Z\",\n fill: \"black\",\n stroke: \"black\",\n strokeWidth: 0.5\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDropdown);\nexport default __webpack_public_path__ + \"static/media/dropdown.6e1976c0.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Box, Button, Grid, Input, Typography} from \"@mui/material\"\r\nimport {OptionalVarsDto} from \"../../../../../../../dtos\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ReactComponent as AddRowIcon} from \"../../../../../../../assets/editors/plus_icon.svg\";\r\nimport {ReactComponent as DeleteRowIcon} from \"../../../../../../../assets/editors/delete_icon_line.svg\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n optionalVarBox: {\r\n paddingBottom: `10px`\r\n },\r\n conversionUrlSettingInput: {\r\n width: `100%`,\r\n lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: `1px solid #888888`,\r\n borderRadius: '5px',\r\n '&.MuiInputBase-multiline': {\r\n padding: `0`\r\n },\r\n '&.MuiInput-root': {\r\n fontSize: '14px',\r\n },\r\n '&.notValid': {\r\n borderColor: `red`,\r\n },\r\n '&.Mui-disabled': {\r\n backgroundColor: `#dbdbdb`\r\n }\r\n },\r\n\r\n variableRowButtonsWrap: {\r\n display: `flex`,\r\n justifyContent: `space-around`\r\n }\r\n\r\n}))\r\n\r\ninterface Props {\r\n variable: OptionalVarsDto;\r\n index: number;\r\n checkValidValue: (value: string) => boolean;\r\n handleChange: (event: React.ChangeEvent, index: number) => void;\r\n allVarsData: OptionalVarsDto[];\r\n addRemoveRowFromOptionalVars: (isAddRow: boolean, rowNumber: number) => void;\r\n}\r\n\r\n\r\nexport const OptionalVar: React.FC = ({\r\n variable,\r\n index,\r\n checkValidValue,\r\n handleChange,\r\n allVarsData,\r\n addRemoveRowFromOptionalVars\r\n }) => {\r\n const classes = useStyles();\r\n\r\n const onChangeInput = (event: React.ChangeEvent) => {\r\n handleChange(event, index);\r\n }\r\n\r\n const addVariableRow = () => {\r\n addRemoveRowFromOptionalVars(true, index);\r\n }\r\n const deleteVariableRow = () => {\r\n addRemoveRowFromOptionalVars(false, index);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Optional Variable Name{index}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Value{index}:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n index < 5 && allVarsData.length === index && \r\n\r\n }\r\n {\r\n index !== 1 && \r\n }\r\n\r\n \r\n \r\n \r\n \r\n )\r\n}","import React from \"react\";\r\nimport {Typography} from \"@mui/material\";\r\nimport {OptionalVarsDto} from \"../../../../../../../dtos\";\r\n\r\ninterface Props {\r\n variable: OptionalVarsDto;\r\n}\r\n\r\n\r\nexport const OptionalVarString: React.FC = ({\r\n variable\r\n }) => {\r\n return (\r\n <>\r\n {\r\n variable.name !== '' &&\r\n <>\r\n \r\n &\r\n \r\n \r\n {variable.name}\r\n \r\n \r\n }\r\n {\r\n variable.name !== '' &&\r\n variable.value !== '' &&\r\n <>\r\n \r\n =\r\n \r\n \r\n {variable.value}\r\n \r\n \r\n }\r\n\r\n \r\n )\r\n}","import './RadioButton.scss'\r\n\r\ninterface IRadioButton {\r\n label: string;\r\n checked?: boolean;\r\n name: string;\r\n value: string;\r\n onChange: (e: any) => void;\r\n disabled?: boolean;\r\n}\r\n\r\nconst RadioButton: React.FC = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default RadioButton;","import React, {useState} from \"react\";\r\nimport {Box, Grid, IconButton, Input, InputAdornment, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Visibility, VisibilityOff} from \"@mui/icons-material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n labelCaption: (props: any) => ({\r\n '&.MuiTypography-root': {\r\n fontSize: `14px`,\r\n fontWeight: props.isBold ? `bold` : `normal`,\r\n fontFamily: `revert`,\r\n marginRight: `12px`\r\n }\r\n }),\r\n inputStyles: (props: any) => ({\r\n width: `100%`,\r\n height: \"34px\",\r\n // backgroundColor: '#ffffff',\r\n border: props.readonly ? `none` : `1px solid #888888`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n '& > input': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: `5px`,\r\n // lineHeight: `1`,\r\n },\r\n '& > textarea': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: `5px`,\r\n // lineHeight: `1`,\r\n }\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid ${props.requiredFieldIdentificationColor}`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n }),\r\n}))\r\n\r\n\r\ninterface Props {\r\n labelGridSizeNumber?: number;\r\n inputGridSizeNumber?: number;\r\n valueForInput?: string;\r\n onChangeInput?: (e: React.ChangeEvent) => void;\r\n labelCaption?: string | null;\r\n labelAlign?: `start` | `end` | `center`;\r\n fontSize?: string;\r\n isBold?: boolean;\r\n fieldName?: string;\r\n maxLength?: number;\r\n readonly?: boolean;\r\n isRequired?: boolean;\r\n isNotValid?: boolean;\r\n isDisabled?: boolean;\r\n rows?: number;\r\n isNoWrap?: boolean;\r\n type?: string;\r\n requiredFieldIdentificationColor?: string;\r\n}\r\n\r\nexport const TextareaWithLabel: React.FC = ({\r\n labelGridSizeNumber,\r\n inputGridSizeNumber,\r\n valueForInput,\r\n onChangeInput,\r\n labelCaption = null,\r\n labelAlign,\r\n fontSize,\r\n isBold,\r\n fieldName,\r\n maxLength,\r\n readonly,\r\n isRequired,\r\n isNotValid,\r\n isDisabled,\r\n rows,\r\n isNoWrap = true,\r\n type = \"text\",\r\n requiredFieldIdentificationColor = \"#E5870E\"\r\n }) => {\r\n const properties = {\r\n fontSize: fontSize ? fontSize : `14`,\r\n isBold: isBold ? isBold : '400',\r\n readonly: readonly ? readonly : false,\r\n requiredFieldIdentificationColor: requiredFieldIdentificationColor\r\n }\r\n const classes = useStyles(properties);\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (onChangeInput) {\r\n onChangeInput(e);\r\n }\r\n }\r\n\r\n const handleMouseUpDownPassword = (\r\n event: React.MouseEvent\r\n ) => {\r\n setShowPassword((show) => !show);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n labelCaption &&\r\n \r\n \r\n {labelCaption}\r\n \r\n \r\n }\r\n \r\n \r\n {readonly ?\r\n \r\n {valueForInput}\r\n :\r\n\r\n \r\n {\r\n type === \"password\" &&\r\n \r\n {showPassword ? : }\r\n \r\n }\r\n \r\n }\r\n />\r\n }\r\n \r\n \r\n \r\n )\r\n}","import React, {useEffect, useState} from 'react';\r\nimport {Box, Grid, Link, Typography} from \"@mui/material\";\r\nimport styles from \"../../../../../flyerDetailsPopup/flyerDetailsPopup.module.scss\";\r\nimport RadioButton from \"../../../../../../../com/radioButton/RadioButton\";\r\nimport PhoneInput from 'react-phone-number-input'\r\nimport {TextareaWithLabel} from \"../../../../../../../com/textareaWithLabel/textareaWithLabel\";\r\nimport {\r\n CheckoutUrlSettingStateDto,\r\n ConversionDto,\r\n ExampleCodeAndQtyDto,\r\n} from \"../../../../../../../dtos\";\r\nimport _ from \"lodash\";\r\nimport {createExampleCheckoutUrl, createExampleCheckoutUrlApp} from \"../../../../../../../globals/globalFunctions\";\r\n\r\ninterface Props {\r\n conversionUrlSettingState: CheckoutUrlSettingStateDto;\r\n handleChange: (event: React.ChangeEvent | React.ChangeEvent) => void;\r\n checkValidValue: (inputName: string) => boolean;\r\n onChangePhoneNumber: (phoneNumber: string) => void;\r\n handleChangeRadioBtn: (value: string) => void;\r\n}\r\n\r\nconst AccountCheckoutSettingForPopup: React.FC = ({\r\n conversionUrlSettingState,\r\n handleChange,\r\n checkValidValue,\r\n onChangePhoneNumber,\r\n handleChangeRadioBtn\r\n }) => {\r\n const [checkoutUrl, setCheckoutUrl] = useState(\"\");\r\n const [checkoutUrlApp, setCheckoutUrlApp] = useState(\"\");\r\n\r\n useEffect(() => {\r\n let checkoutUrlLink: string = conversationUrlResult(conversionUrlSettingState);\r\n setCheckoutUrl(checkoutUrlLink);\r\n let checkoutUrlLinkApp: string = conversationUrlResultApp(conversionUrlSettingState);\r\n setCheckoutUrlApp(checkoutUrlLinkApp);\r\n\r\n return () => {\r\n setCheckoutUrl(\"\");\r\n setCheckoutUrlApp(\"\")\r\n };\r\n }, [conversionUrlSettingState]);\r\n\r\n const conversationUrlResult = (conversionUrlSettingState: CheckoutUrlSettingStateDto): string => {\r\n let checkoutUrlLink: string = ``;\r\n // if (state.isSelectAccountCheckoutUrl && conversionUrlSetting.data) {\r\n // checkoutUrlLink = createExampleCheckoutUrl(conversionUrlSetting.data, firstExample, secondExample);\r\n // } else {\r\n if (!_.isEmpty(conversionUrlSettingState)) {\r\n const firstExample: ExampleCodeAndQtyDto = {\r\n code: conversionUrlSettingState.exampleItemCode1 || \"\",\r\n qty: conversionUrlSettingState.exampleItemQTY1 || \"\"\r\n }\r\n const secondExample: ExampleCodeAndQtyDto = {\r\n code: conversionUrlSettingState.exampleItemCode2 || \"\",\r\n qty: conversionUrlSettingState.exampleItemQTY2 || \"\"\r\n }\r\n const conversionSetting: ConversionDto = {...conversionUrlSettingState};\r\n checkoutUrlLink = createExampleCheckoutUrl(conversionSetting, firstExample, secondExample);\r\n }\r\n // }\r\n return checkoutUrlLink;\r\n }\r\n\r\n const conversationUrlResultApp = (conversionUrlSettingState: CheckoutUrlSettingStateDto): string => {\r\n let checkoutUrlLinkApp: string = ``;\r\n // if (state.isSelectAccountCheckoutUrl && conversionUrlSetting.data?.conversionUrlBaseApp) {\r\n // checkoutUrlLinkApp = createExampleCheckoutUrlApp(conversionUrlSetting.data, firstExample, secondExample);\r\n // } else {\r\n if (!_.isEmpty(conversionUrlSettingState)) {\r\n const firstExample: ExampleCodeAndQtyDto = {\r\n code: conversionUrlSettingState.exampleItemCode1 || \"\",\r\n qty: conversionUrlSettingState.exampleItemQTY1 || \"\"\r\n }\r\n const secondExample: ExampleCodeAndQtyDto = {\r\n code: conversionUrlSettingState.exampleItemCode2 || \"\",\r\n qty: conversionUrlSettingState.exampleItemQTY2 || \"\"\r\n }\r\n const conversionSetting: ConversionDto = {...conversionUrlSettingState};\r\n checkoutUrlLinkApp = createExampleCheckoutUrlApp(conversionSetting, firstExample, secondExample);\r\n }\r\n // }\r\n return checkoutUrlLinkApp;\r\n }\r\n\r\n const onChangeCheckoutBtnText = () => {\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n My List Checkout*:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Target Web/PC:\r\n \r\n \r\n \r\n {\r\n checkoutUrl &&\r\n \r\n {checkoutUrl}\r\n \r\n }\r\n {\r\n !checkoutUrl &&\r\n \r\n Not selected\r\n \r\n }\r\n \r\n
\r\n \r\n \r\n \r\n Target App/Mobile:\r\n \r\n \r\n \r\n {checkoutUrlApp && conversionUrlSettingState.isShowAppSetting &&\r\n \r\n {checkoutUrlApp}\r\n \r\n }\r\n\r\n {\r\n (!checkoutUrlApp || !conversionUrlSettingState.isShowAppSetting) &&\r\n \r\n Not selected\r\n \r\n }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* /!*rows*!/*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n\r\n )\r\n}\r\n\r\nexport default AccountCheckoutSettingForPopup;","import React, {useEffect, useState} from \"react\";\r\nimport {\r\n Box,\r\n Button, Checkbox,\r\n FormControlLabel,\r\n Grid,\r\n Input,\r\n Modal,\r\n Radio,\r\n RadioGroup,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n getConversionUrlSettings,\r\n saveConversionUrlSettings,\r\n} from \"../../../../../../../store/actionCreators/flyerConversionUrlSettings\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport _ from \"lodash\";\r\nimport validator from \"validator\";\r\nimport {\r\n CheckoutUrlSettingStateDto,\r\n ConversionDto,\r\n ExampleCodeAndQtyDto,\r\n OptionalVarsDto,\r\n} from \"../../../../../../../dtos\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {ReactComponent as TrashIcon} from \"../../../../../../../assets/editors/delete_icon_main.svg\";\r\nimport {OptionalVar} from \"./optionalVar\";\r\nimport {OptionalVarString} from \"./optionalVarString\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport AccountCheckoutSettingForPopup from \"../accountCheckoutSettingsForPopup/accountCheckoutSettingForPopup\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n checkoutSettingPopup: {\r\n width: `770px`,\r\n backgroundColor: `#ffffff`,\r\n height: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n checkoutSettingPopupHeader: {\r\n padding: `6px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n \"& .MuiButton-root\": {\r\n \"& > svg\": {\r\n \"& > path\": {\r\n fill: `#ffffff`,\r\n },\r\n },\r\n },\r\n },\r\n conversionUrlSettingInput: {\r\n width: `100%`,\r\n lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: `1px solid #888888`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n fontSize: \"14px\",\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n },\r\n buttonConversionUrlSettings: {\r\n width: `100%`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n \"&.MuiButton-root\": {\r\n padding: `10px 0`,\r\n backgroundColor: `#014780`,\r\n \"&:hover\": {\r\n backgroundColor: `#01478080`,\r\n }\r\n },\r\n \"&.Mui-disabled\": {\r\n opacity: `0.5`,\r\n },\r\n \"& > .MuiTypography-root\": {\r\n lineHeight: `15px`,\r\n },\r\n },\r\n radioBtnGroup: {\r\n justifyContent: `space-between`,\r\n \"& > .MuiFormControlLabel-root\": {\r\n margin: `0`,\r\n \"& > .MuiRadio-root\": {\r\n padding: `3px`,\r\n },\r\n },\r\n },\r\n conversionUrlExampleWrapper: {\r\n cursor: \"pointer\",\r\n minHeight: \"72px\",\r\n \"& > .MuiTypography-root\": {\r\n wordBreak: `break-all`,\r\n // color: theme.palette.primary.light,\r\n textDecoration: `underline`,\r\n },\r\n },\r\n rowBox: {\r\n paddingBottom: `10px`,\r\n },\r\n trashButtonWrapper: {\r\n display: `flex`,\r\n justifyContent: `flex-end`,\r\n alignItems: `center`,\r\n \"& > .Mui-disabled\": {\r\n opacity: `0.5`,\r\n },\r\n },\r\n tabButton: {\r\n '&.MuiButton-root': {\r\n height: `38px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n textTransform: `capitalize`,\r\n width: `100%`,\r\n color: `black`,\r\n borderRadius: `0`,\r\n border: \"1px solid black\",\r\n '&:hover': {\r\n backgroundColor: `#e4e4e480`,\r\n },\r\n '&.activeTab': {\r\n borderLeft: \"none\",\r\n borderRight: \"none\",\r\n borderBottom: \"none\",\r\n backgroundColor: `#ffffff`,\r\n '&:hover': {\r\n backgroundColor: `#ffffff`\r\n },\r\n },\r\n },\r\n },\r\n resultBox: {\r\n border: \"5px solid #014780\",\r\n margin: \"0 5px\",\r\n padding: \"10px\"\r\n }\r\n}));\r\n\r\ninterface Props {\r\n isShow: boolean;\r\n closePopup: VoidFunction;\r\n settingForAccount: boolean;\r\n setCheckoutUrlSetting?: (settings: ConversionDto) => void;\r\n setFirstExample?: (firstExample: ExampleCodeAndQtyDto) => void;\r\n setSecondExample?: (secondExample: ExampleCodeAndQtyDto) => void;\r\n checkoutUrlDataForFlyer?: ConversionDto;\r\n accountCheckoutSettings?: ConversionDto;\r\n activeTabInUrlSetting?: \"appTab\" | \"pcTab\"\r\n}\r\n\r\nexport const CheckoutSettingPopup: React.FC = ({\r\n isShow,\r\n closePopup,\r\n settingForAccount,\r\n setCheckoutUrlSetting,\r\n setFirstExample,\r\n setSecondExample,\r\n checkoutUrlDataForFlyer,\r\n accountCheckoutSettings,\r\n activeTabInUrlSetting = \"checkoutTab\"\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {conversionUrlSetting} = useTypedSelector((state) => state);\r\n const conversionUrlSettingData = conversionUrlSetting.data;\r\n const {flyerDetails} = useTypedSelector((state) => state);\r\n const [isLoading, setLoadingStatus] = useState(false);\r\n const classes = useStyles();\r\n const [conversionUrlSettingState, setConversionUrlSettingState] =\r\n useState({});\r\n const [\r\n defaultConversionUrlSettingState,\r\n setDefaultConversionUrlSettingState,\r\n ] = useState({});\r\n const [isDomainChanged, changeDomain] = useState(false);\r\n const [isChangesNotSaved, changeStatusForNotSavedChanges] = useState(false);\r\n // const [hoverTabName, setHoverTabName] = useState(``);\r\n const [activeTabName, setActiveTab] = useState(activeTabInUrlSetting);\r\n\r\n useEffect(() => {\r\n return () => {\r\n setActiveTab(\"checkoutTab\");\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (isShow && settingForAccount) {\r\n dispatch(getConversionUrlSettings());\r\n } else if (isShow && !settingForAccount && checkoutUrlDataForFlyer) {\r\n const dataForState = setStatesForPopups(checkoutUrlDataForFlyer);\r\n setConversionUrlSettingState(dataForState);\r\n setDefaultConversionUrlSettingState(dataForState);\r\n }\r\n }, [isShow]);\r\n\r\n useEffect(() => {\r\n setActiveTab(activeTabInUrlSetting);\r\n }, [activeTabInUrlSetting]);\r\n\r\n\r\n useEffect(() => {\r\n setLoadingStatus(conversionUrlSetting.loading);\r\n if (\r\n ((conversionUrlSetting.type === \"GET_CONVERSION_URL_SUCCESS\" &&\r\n conversionUrlSettingData) ||\r\n (conversionUrlSetting.type === \"POST_CONVERSION_URL_SUCCESS\" &&\r\n conversionUrlSettingData)) &&\r\n isShow\r\n ) {\r\n if ((conversionUrlSetting.type === \"GET_CONVERSION_URL_SUCCESS\" &&\r\n conversionUrlSettingData)) {\r\n const dataForState = setStatesForPopups(conversionUrlSettingData);\r\n setConversionUrlSettingState(dataForState);\r\n setDefaultConversionUrlSettingState(dataForState);\r\n return;\r\n }\r\n\r\n if (conversionUrlSetting.type === \"POST_CONVERSION_URL_SUCCESS\") {\r\n closePopup();\r\n // if (flyerDetails.flyRecId && settingForAccount) {\r\n // dispatch(getFlippingFlyer(flyerDetails.flyRecId));\r\n // }\r\n return;\r\n }\r\n }\r\n }, [conversionUrlSetting]);\r\n\r\n const setStatesForPopups = (\r\n dataForState: ConversionDto\r\n ): CheckoutUrlSettingStateDto => {\r\n let data: CheckoutUrlSettingStateDto = {\r\n conversionEmail: dataForState?.conversionEmail || \"\",\r\n conversionType: dataForState?.conversionType || 0,\r\n conversionNotificationText: dataForState.conversionNotificationText || \"\",\r\n conversionPhoneNo: dataForState.conversionPhoneNo || \"\",\r\n conversionPhoneMessage: dataForState.conversionPhoneMessage || \"\",\r\n conversionUrlBase: dataForState?.conversionUrlBase || ``,\r\n conversionUrlBaseApp: dataForState?.conversionUrlBaseApp || ``,\r\n itemListVarName: dataForState?.itemListVarName || ``,\r\n itemListVarNameApp: dataForState?.itemListVarNameApp || ``,\r\n itemCodePrefix: dataForState?.itemCodePrefix || ``,\r\n itemCodePrefixApp: dataForState?.itemCodePrefixApp || ``,\r\n itemOptionalParamValue: dataForState?.itemOptionalParamValue || ``,\r\n itemOptionalParamValueApp: dataForState?.itemOptionalParamValueApp || ``,\r\n interItemSeparator: dataForState?.interItemSeparator || `,`,\r\n interItemSeparatorApp: dataForState?.interItemSeparatorApp || `,`,\r\n intraItemSeparator: dataForState?.intraItemSeparator || `,`,\r\n intraItemSeparatorApp: dataForState?.intraItemSeparatorApp || `,`,\r\n exampleItemCode1: `8690637919381`,\r\n exampleItemQTY1: `1`,\r\n exampleItemCode2: `7290112492500`,\r\n exampleItemQTY2: `1`,\r\n optionalVars: dataForState?.optionalVars?.length\r\n ? dataForState?.optionalVars\r\n : [],\r\n optionalVarsApp: dataForState?.optionalVarsApp?.length\r\n ? dataForState?.optionalVarsApp\r\n : [],\r\n isShowAppSetting: Boolean(dataForState?.conversionUrlBaseApp),\r\n // applyTo: localStorage.getItem('applyTo') && flyerDetails.flyRecId !== 0 ? localStorage.getItem('applyTo') : `toAccount`\r\n };\r\n let optionVarsStateWithEmptyRow: OptionalVarsDto[] = [];\r\n if (data.optionalVars && data.optionalVars.length) {\r\n optionVarsStateWithEmptyRow = [...data.optionalVars];\r\n }\r\n // added empty row for optionalVar\r\n if (optionVarsStateWithEmptyRow.length === 0) {\r\n optionVarsStateWithEmptyRow.push({\r\n name: \"\",\r\n value: \"\",\r\n });\r\n }\r\n data.optionalVars = optionVarsStateWithEmptyRow;\r\n\r\n let optionVarsStateWithEmptyRowApp: OptionalVarsDto[] = [];\r\n if (data.optionalVarsApp && data.optionalVarsApp.length) {\r\n optionVarsStateWithEmptyRowApp = [...data.optionalVarsApp];\r\n }\r\n // added empty row for optionalVar\r\n if (optionVarsStateWithEmptyRowApp.length === 0) {\r\n optionVarsStateWithEmptyRowApp.push({\r\n name: \"\",\r\n value: \"\",\r\n });\r\n }\r\n data.optionalVarsApp = optionVarsStateWithEmptyRowApp;\r\n return data;\r\n };\r\n\r\n const addRemoveRowFromOptionalVars = (\r\n isAddRow: boolean,\r\n rowNumber: number\r\n ) => {\r\n const settingObj = {...conversionUrlSettingState};\r\n if (isAddRow) {\r\n const currentOptionalVarRows = settingObj?.optionalVars?.map(\r\n (optionalVar) => optionalVar\r\n );\r\n currentOptionalVarRows?.push({\r\n name: \"\",\r\n value: \"\",\r\n });\r\n setConversionUrlSettingState({\r\n ...settingObj,\r\n optionalVars: [...currentOptionalVarRows!],\r\n });\r\n } else {\r\n const newStateForOptionalVarRows = settingObj.optionalVars?.filter(\r\n (optionalVar: OptionalVarsDto, index: number) => {\r\n if (index + 1 !== rowNumber) {\r\n return optionalVar;\r\n }\r\n }\r\n );\r\n setConversionUrlSettingState({\r\n ...settingObj,\r\n optionalVars: [...newStateForOptionalVarRows!],\r\n });\r\n }\r\n };\r\n const addRemoveRowFromOptionalVarsApp = (\r\n isAddRow: boolean,\r\n rowNumber: number\r\n ) => {\r\n const settingObj = {...conversionUrlSettingState};\r\n if (isAddRow) {\r\n const currentOptionalVarRows = settingObj?.optionalVarsApp?.map(\r\n (optionalVar) => optionalVar\r\n );\r\n currentOptionalVarRows?.push({\r\n name: \"\",\r\n value: \"\",\r\n });\r\n setConversionUrlSettingState({\r\n ...settingObj,\r\n optionalVarsApp: [...currentOptionalVarRows!],\r\n });\r\n } else {\r\n const newStateForOptionalVarRows = settingObj.optionalVarsApp?.filter(\r\n (optionalVar: OptionalVarsDto, index: number) => {\r\n if (index + 1 !== rowNumber) {\r\n return optionalVar;\r\n }\r\n }\r\n );\r\n setConversionUrlSettingState({\r\n ...settingObj,\r\n optionalVarsApp: [...newStateForOptionalVarRows!],\r\n });\r\n }\r\n };\r\n\r\n const handleChange = (\r\n event: React.ChangeEvent | React.ChangeEvent,\r\n indexKey?: number\r\n ) => {\r\n const value = event.target.value;\r\n if (activeTabName === \"appTab\") {\r\n if (\r\n (event.target.name === \"exampleItemQTY2\" ||\r\n event.target.name === \"exampleItemQTY1\") &&\r\n value !== \"\"\r\n ) {\r\n const isNumber = validator.isNumeric(value);\r\n if (isNumber && Number(value) <= 9999) {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: value.trim(),\r\n });\r\n } else {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: 9999,\r\n });\r\n }\r\n } else {\r\n if (event.target.name.indexOf(\"optionalVar\") !== -1 && indexKey) {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n optionalVarsApp: conversionUrlSettingState.optionalVarsApp?.map(\r\n (optionalVar: OptionalVarsDto, index: number) => {\r\n let nameVal = optionalVar.name;\r\n let valVal = optionalVar.value;\r\n if (index + 1 === indexKey) {\r\n if (event.target.name.indexOf(\"optionalVarName\") > -1) {\r\n nameVal = value.trim();\r\n } else {\r\n valVal = value.trim();\r\n }\r\n }\r\n return {\r\n name: nameVal,\r\n value: valVal,\r\n };\r\n }\r\n ),\r\n });\r\n } else {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: value.trim(),\r\n });\r\n }\r\n }\r\n } else if (activeTabName === \"checkoutTab\") {\r\n if (event.target.name === \"fulfilment_list_option\") {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n conversionType: Number(value),\r\n });\r\n } else {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: value,\r\n });\r\n }\r\n } else {\r\n if (\r\n (event.target.name === \"exampleItemQTY2\" ||\r\n event.target.name === \"exampleItemQTY1\") &&\r\n value !== \"\"\r\n ) {\r\n const isNumber = validator.isNumeric(value);\r\n if (isNumber && Number(value) <= 9999) {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: value.trim(),\r\n });\r\n } else {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: 9999,\r\n });\r\n }\r\n } else {\r\n if (event.target.name.indexOf(\"optionalVar\") !== -1 && indexKey) {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n optionalVars: conversionUrlSettingState.optionalVars?.map(\r\n (optionalVar: OptionalVarsDto, index: number) => {\r\n let nameVal = optionalVar.name;\r\n let valVal = optionalVar.value;\r\n if (index + 1 === indexKey) {\r\n if (event.target.name.indexOf(\"optionalVarName\") > -1) {\r\n nameVal = value.trim();\r\n } else {\r\n valVal = value.trim();\r\n }\r\n }\r\n return {\r\n name: nameVal,\r\n value: valVal,\r\n };\r\n }\r\n ),\r\n });\r\n } else {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n [event.target.name]: value.trim(),\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleChangeRadioBtn = (value: string) => {\r\n if (activeTabName === \"checkoutTab\") {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n conversionType: Number(value),\r\n });\r\n }\r\n }\r\n\r\n const checkValidValue = (inputName: string): boolean => {\r\n\r\n let isValid = false;\r\n if (!_.isEmpty(conversionUrlSettingState)) {\r\n switch (inputName) {\r\n case `conversionUrlBase`:\r\n isValid = conversionUrlSettingState![inputName]\r\n ? validator.isURL(conversionUrlSettingState![inputName]!) &&\r\n conversionUrlSettingState![inputName]!.toString().length <= 100\r\n : false;\r\n break;\r\n case `conversionEmail`:\r\n isValid = (!settingForAccount || conversionUrlSettingState.conversionType !== 0) ? true : conversionUrlSettingState![inputName]\r\n ? validator.isEmail(conversionUrlSettingState![inputName]!)\r\n : false;\r\n break;\r\n case `conversionPhoneNo`:\r\n isValid = (!settingForAccount || conversionUrlSettingState.conversionType !== 3) ? true : conversionUrlSettingState![inputName]\r\n ? validator.isMobilePhone(conversionUrlSettingState![inputName]!)\r\n : false;\r\n break;\r\n case `conversionPhoneMessage`:\r\n isValid = (!settingForAccount || conversionUrlSettingState.conversionType !== 3) ? true : conversionUrlSettingState![inputName]\r\n ? conversionUrlSettingState![inputName] !== \"\"\r\n : false;\r\n break;\r\n case `itemListVarName`:\r\n isValid = conversionUrlSettingState[inputName]\r\n ? conversionUrlSettingState[inputName]!.toString().length <= 40\r\n : false;\r\n break;\r\n case `conversionUrlBaseApp`:\r\n isValid = conversionUrlSettingState.isShowAppSetting\r\n ? conversionUrlSettingState![inputName]\r\n // ? validator.isURL(conversionUrlSettingState![inputName]!) &&\r\n ? conversionUrlSettingState![inputName]!.toString().length <= 100\r\n : false\r\n : true;\r\n break;\r\n case `itemListVarNameApp`:\r\n isValid = conversionUrlSettingState.isShowAppSetting\r\n ? conversionUrlSettingState[inputName]\r\n ? conversionUrlSettingState[inputName]!.toString().length <= 40\r\n : false\r\n : true;\r\n break;\r\n default:\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n return isValid;\r\n };\r\n\r\n const checkAllRequiredFields = (): boolean => {\r\n let isDisabled: boolean = false;\r\n if (\r\n JSON.stringify(defaultConversionUrlSettingState) ===\r\n JSON.stringify(conversionUrlSettingState)\r\n ) {\r\n isDisabled = true;\r\n } else {\r\n _.forOwn(conversionUrlSettingState, function (value, property) {\r\n const isValid = checkValidValue(property);\r\n if (!isValid) {\r\n isDisabled = true;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return isDisabled;\r\n };\r\n\r\n const openUrlInTab = (e: React.MouseEvent) => {\r\n const target = e.currentTarget as Element;\r\n const urlWrapperChildrenArray = Array.from(target.childNodes);\r\n let url: string = ``;\r\n urlWrapperChildrenArray.forEach((selector) => {\r\n url += selector.textContent;\r\n });\r\n const encodeUrl = encodeURI(url);\r\n const isUrl = validator.isURL(encodeUrl);\r\n if (isUrl) {\r\n window.open(encodeUrl, \"_blank\")!.focus();\r\n }\r\n };\r\n\r\n const checkerBeforeSaveSettingsCheckoutUrl = () => {\r\n if (\r\n conversionUrlSettingData &&\r\n conversionUrlSettingState.conversionUrlBase !==\r\n conversionUrlSettingData.conversionUrlBase\r\n ) {\r\n changeDomain(true);\r\n } else {\r\n saveSettingUrl();\r\n }\r\n };\r\n\r\n const onCloseWithoutSaving = () => {\r\n closePopup();\r\n };\r\n\r\n const saveSettingUrl = () => {\r\n const optionalVarOnlyWithValue =\r\n conversionUrlSettingState.optionalVars?.filter(\r\n (optionalVar: OptionalVarsDto) => {\r\n if (optionalVar.name !== \"\") {\r\n return optionalVar;\r\n }\r\n }\r\n );\r\n const optionalVarOnlyWithValueApp =\r\n conversionUrlSettingState.optionalVarsApp?.filter(\r\n (optionalVar: OptionalVarsDto) => {\r\n if (optionalVar.name !== \"\") {\r\n return optionalVar;\r\n }\r\n }\r\n );\r\n\r\n const jsonForRequest: ConversionDto = {\r\n conversionUrlBase: conversionUrlSettingState.conversionUrlBase,\r\n conversionUrlBaseApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.conversionUrlBaseApp : null,\r\n itemListVarName: conversionUrlSettingState.itemListVarName,\r\n itemListVarNameApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.itemListVarNameApp : null,\r\n itemCodePrefix: conversionUrlSettingState.itemCodePrefix,\r\n itemCodePrefixApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.itemCodePrefixApp : null,\r\n interItemSeparator: conversionUrlSettingState.interItemSeparator,\r\n interItemSeparatorApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.interItemSeparatorApp : null,\r\n itemOptionalParamValue: conversionUrlSettingState.itemOptionalParamValue,\r\n itemOptionalParamValueApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.itemOptionalParamValueApp : null,\r\n intraItemSeparator: conversionUrlSettingState.intraItemSeparator,\r\n intraItemSeparatorApp: conversionUrlSettingState.isShowAppSetting ? conversionUrlSettingState.intraItemSeparatorApp : null,\r\n optionalVars: optionalVarOnlyWithValue,\r\n optionalVarsApp: conversionUrlSettingState.isShowAppSetting ? optionalVarOnlyWithValueApp : null,\r\n conversionType: settingForAccount ? conversionUrlSettingState.conversionType : conversionUrlSettingData?.conversionType,\r\n conversionEmail: settingForAccount ? conversionUrlSettingState.conversionEmail : conversionUrlSettingData?.conversionEmail,\r\n conversionPhoneNo: settingForAccount ? conversionUrlSettingState.conversionPhoneNo : conversionUrlSettingData?.conversionPhoneNo,\r\n conversionPhoneMessage: settingForAccount ? conversionUrlSettingState.conversionPhoneMessage : conversionUrlSettingData?.conversionPhoneMessage,\r\n // optionalVarName: conversionUrlSettingState.optionalVarName,\r\n // optionalVarValue: conversionUrlSettingState.optionalVarValue\r\n };\r\n if (flyerDetails.flyRecId && !settingForAccount && setCheckoutUrlSetting) {\r\n setCheckoutUrlSetting({\r\n ...jsonForRequest,\r\n });\r\n if (setFirstExample) {\r\n setFirstExample({\r\n code: conversionUrlSettingState.exampleItemCode1\r\n ? conversionUrlSettingState.exampleItemCode1\r\n : ``,\r\n qty: conversionUrlSettingState.exampleItemQTY1\r\n ? conversionUrlSettingState.exampleItemQTY1\r\n : ``,\r\n });\r\n }\r\n if (setSecondExample) {\r\n setSecondExample({\r\n code: conversionUrlSettingState.exampleItemCode2\r\n ? conversionUrlSettingState.exampleItemCode2\r\n : ``,\r\n qty: conversionUrlSettingState.exampleItemQTY2\r\n ? conversionUrlSettingState.exampleItemQTY2\r\n : ``,\r\n });\r\n }\r\n closePopup();\r\n } else {\r\n dispatch(\r\n saveConversionUrlSettings(\r\n jsonForRequest,\r\n settingForAccount,\r\n flyerDetails.flyRecId\r\n )\r\n );\r\n }\r\n };\r\n\r\n const deleteCheckoutSetting = () => {\r\n let data: CheckoutUrlSettingStateDto;\r\n if (activeTabName === \"pcTab\") {\r\n data = {\r\n conversionUrlBase: ``,\r\n itemListVarName: ``,\r\n itemCodePrefix: ``,\r\n itemOptionalParamValue: ``,\r\n interItemSeparator: `,`,\r\n intraItemSeparator: `,`,\r\n exampleItemCode1: `8690637919381`,\r\n exampleItemQTY1: `1`,\r\n exampleItemCode2: `7290112492500`,\r\n exampleItemQTY2: `1`,\r\n optionalVars: [\r\n {\r\n name: \"\",\r\n value: \"\",\r\n },\r\n ],\r\n // applyTo: localStorage.getItem('applyTo') && flyerDetails.flyRecId !== 0 ? localStorage.getItem('applyTo') : `toAccount`\r\n };\r\n } else {\r\n data = {\r\n conversionUrlBaseApp: ``,\r\n itemListVarNameApp: ``,\r\n itemCodePrefixApp: ``,\r\n itemOptionalParamValueApp: ``,\r\n interItemSeparatorApp: `,`,\r\n intraItemSeparatorApp: `,`,\r\n exampleItemCode1: `8690637919381`,\r\n exampleItemQTY1: `1`,\r\n exampleItemCode2: `7290112492500`,\r\n exampleItemQTY2: `1`,\r\n optionalVarsApp: [\r\n {\r\n name: \"\",\r\n value: \"\",\r\n },\r\n ],\r\n // applyTo: localStorage.getItem('applyTo') && flyerDetails.flyRecId !== 0 ? localStorage.getItem('applyTo') : `toAccount`\r\n };\r\n }\r\n setConversionUrlSettingState({...conversionUrlSettingState, ...data});\r\n // const jsonForRequest: ConversionDto = {\r\n // conversionType: conversionUrlSettingData?.conversionType,\r\n // conversionEmail: conversionUrlSettingData?.conversionEmail\r\n // };\r\n // dispatch(saveConversionUrlSettings(jsonForRequest, settingForAccount, flyerDetails.flyRecId));\r\n };\r\n\r\n const replaceFlyerConversionUrl = () => {\r\n if (accountCheckoutSettings) {\r\n const dataForState = setStatesForPopups(accountCheckoutSettings);\r\n setConversionUrlSettingState(dataForState);\r\n }\r\n };\r\n\r\n const onClosePopup = () => {\r\n if (!checkAllRequiredFields()) {\r\n changeStatusForNotSavedChanges(true);\r\n } else {\r\n closePopup();\r\n }\r\n };\r\n\r\n const optionalVars = conversionUrlSettingState.optionalVars?.map(\r\n (variable: OptionalVarsDto, index: number) => {\r\n return (\r\n \r\n );\r\n }\r\n );\r\n const optionalVarsApp = conversionUrlSettingState.optionalVarsApp?.map(\r\n (variable: OptionalVarsDto, index: number) => {\r\n return (\r\n \r\n );\r\n }\r\n );\r\n\r\n const onClickOnTab = (event: React.MouseEvent) => {\r\n const target = event.currentTarget as HTMLButtonElement;\r\n const name = target.name;\r\n if (name !== activeTabName) {\r\n setActiveTab(name);\r\n }\r\n }\r\n\r\n const onChangeCheckbox = (event: React.ChangeEvent) => {\r\n const isChecked = event.target.checked;\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n isShowAppSetting: isChecked\r\n });\r\n }\r\n\r\n const optionalVarStrings = conversionUrlSettingState.optionalVars?.map(\r\n (variable: OptionalVarsDto, index) => {\r\n return ;\r\n }\r\n );\r\n const optionalVarStringsApp = conversionUrlSettingState.optionalVarsApp?.map(\r\n (variable: OptionalVarsDto, index) => {\r\n return ;\r\n }\r\n );\r\n const onChangePhoneNumber = (phoneNumber: string) => {\r\n setConversionUrlSettingState({\r\n ...conversionUrlSettingState,\r\n conversionPhoneNo: phoneNumber,\r\n });\r\n };\r\n\r\n\r\n return (\r\n <>\r\n \r\n {isLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {/*header*/}\r\n \r\n \r\n \r\n \r\n Checkout URL settings{\" \"}\r\n {settingForAccount ? `for Account` : `for Flyer`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*note*/}\r\n {\r\n activeTabName !== \"checkoutTab\" &&\r\n \r\n This setting is designed for Account’s administrator.\r\n
\r\n Enter the following parameters in order to create a working URL\r\n that sends My List items and quantities to your online store.\r\n
\r\n First see how the current color-coded default values form the\r\n RESULT URL in the bottom of this screen.\r\n
\r\n Then edit (or remove) the values as necessary in order to create\r\n the RESULT URL that works for you.\r\n
\r\n }\r\n {\r\n activeTabName === \"checkoutTab\" &&\r\n \r\n This setting is designed for Account’s administrator.\r\n
\r\n Enter the following parameters in order to create default values for checkout options\r\n via email and WhatsApp.\r\n
\r\n Then you can copy these values to a new flyer you create.\r\n
\r\n }\r\n {/*content*/}\r\n \r\n {\r\n settingForAccount &&\r\n \r\n \r\n \r\n Checkout\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n URL for PC (Default)\r\n \r\n \r\n \r\n \r\n \r\n \r\n URL for App\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Use App Url\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {\r\n (activeTabName === `appTab` || activeTabName === `pcTab`) &&\r\n <>\r\n \r\n \r\n {/*columns*/}\r\n \r\n \r\n \r\n \r\n Parameter\r\n \r\n \r\n \r\n \r\n Value\r\n \r\n \r\n {!settingForAccount && (\r\n \r\n {/**/}\r\n \r\n \r\n Get Account Checkout URL\r\n \r\n {/**/}\r\n \r\n {/**/}\r\n \r\n )}\r\n {/*{settingForAccount && (*/}\r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n {/*)}*/}\r\n \r\n \r\n {/*main fields*/}\r\n \r\n \r\n \r\n \r\n Web shop Domain URL Header\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Item List Variable\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*section*/}\r\n \r\n \r\n \r\n \r\n Repeat item data\r\n \r\n \r\n \r\n \r\n {/*additional fields*/}\r\n \r\n \r\n \r\n Item Code Prefix\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Intra-item separator\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n {\r\n handleChange(event);\r\n }}\r\n className={classes.radioBtnGroup}\r\n name={activeTabName === \"appTab\" ? \"intraItemSeparatorApp\" : `intraItemSeparator`}\r\n >\r\n }\r\n label=\",\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\".\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\":\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\";\"\r\n sx={{width: `25%`}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Item Optional Parameter\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Inter-item separator\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n {\r\n handleChange(event);\r\n }}\r\n className={classes.radioBtnGroup}\r\n name={activeTabName === \"appTab\" ? \"interItemSeparatorApp\" : `interItemSeparator`}\r\n >\r\n }\r\n label=\",\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\".\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\":\"\r\n sx={{width: `25%`}}\r\n />\r\n }\r\n label=\";\"\r\n sx={{width: `25%`}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {/*main fields*/}\r\n {activeTabName === \"pcTab\" ? optionalVars : optionalVarsApp}\r\n {/*section*/}\r\n \r\n \r\n \r\n \r\n Example items data for URL\r\n \r\n \r\n \r\n \r\n {/*additional fields*/}\r\n \r\n \r\n \r\n \r\n Example Item Code1\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n QTY1\r\n \r\n {/**/}\r\n {/* **/}\r\n {/**/}\r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Example Item Code2\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n QTY2:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*section*/}\r\n \r\n \r\n \r\n \r\n Result URL\r\n \r\n \r\n \r\n \r\n {/*result fields*/}\r\n \r\n \r\n \r\n \r\n \r\n Text updated from above\r\n \r\n \r\n \r\n \r\n Text added by the System\r\n \r\n \r\n \r\n \r\n {\r\n activeTabName === \"pcTab\" &&\r\n \r\n {conversionUrlSettingState.conversionUrlBase !== \"\" && (\r\n \r\n {conversionUrlSettingState.conversionUrlBase}\r\n \r\n )}\r\n {conversionUrlSettingState.conversionUrlBase !== \"\" &&\r\n conversionUrlSettingState.itemListVarName !== \"\" && (\r\n \r\n ?\r\n \r\n )}\r\n {conversionUrlSettingState.itemListVarName !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemListVarName}\r\n \r\n )}\r\n {(conversionUrlSettingState.exampleItemCode1 !== \"\" ||\r\n conversionUrlSettingState.exampleItemCode2 !== \"\") && (\r\n \r\n =\r\n \r\n )}\r\n {conversionUrlSettingState.itemCodePrefix !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemCodePrefix}\r\n \r\n )}\r\n {conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.exampleItemCode1}\r\n \r\n \r\n {conversionUrlSettingState.intraItemSeparator}\r\n \r\n \r\n {conversionUrlSettingState.exampleItemQTY1}\r\n \r\n \r\n )}\r\n {conversionUrlSettingState.itemOptionalParamValue !==\r\n \"\" &&\r\n conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.intraItemSeparator}\r\n \r\n \r\n {conversionUrlSettingState.itemOptionalParamValue}\r\n \r\n \r\n )}\r\n {((conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\") ||\r\n (conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" &&\r\n conversionUrlSettingState.optionalVarName !==\r\n \"\")) && (\r\n \r\n {conversionUrlSettingState.interItemSeparator}\r\n \r\n )}\r\n {conversionUrlSettingState.itemCodePrefix !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemCodePrefix}\r\n \r\n )}\r\n {conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.exampleItemCode2}\r\n \r\n \r\n {conversionUrlSettingState.intraItemSeparator}\r\n \r\n \r\n {conversionUrlSettingState.exampleItemQTY2}\r\n \r\n \r\n )}\r\n {conversionUrlSettingState.itemOptionalParamValue !==\r\n \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.intraItemSeparator}\r\n \r\n \r\n {conversionUrlSettingState.itemOptionalParamValue}\r\n \r\n \r\n )}\r\n {/*{*/}\r\n {/* conversionUrlSettingState.exampleItemCode2 !== '' &&*/}\r\n {/* conversionUrlSettingState.exampleItemQTY2 !== '' &&*/}\r\n {/* conversionUrlSettingState.optionalVarName !== '' &&*/}\r\n {/* */}\r\n {/* {conversionUrlSettingState.interItemSeparator}*/}\r\n {/* */}\r\n {/*}*/}\r\n\r\n {optionalVarStrings}\r\n \r\n }\r\n {\r\n activeTabName === \"appTab\" &&\r\n \r\n {conversionUrlSettingState.conversionUrlBaseApp !== \"\" && (\r\n \r\n {conversionUrlSettingState.conversionUrlBaseApp}\r\n \r\n )}\r\n {conversionUrlSettingState.conversionUrlBaseApp !== \"\" &&\r\n conversionUrlSettingState.itemListVarNameApp !== \"\" && (\r\n \r\n ?\r\n \r\n )}\r\n {conversionUrlSettingState.itemListVarNameApp !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemListVarNameApp}\r\n \r\n )}\r\n {(conversionUrlSettingState.exampleItemCode1 !== \"\" ||\r\n conversionUrlSettingState.exampleItemCode2 !== \"\") && (\r\n \r\n =\r\n \r\n )}\r\n {conversionUrlSettingState.itemCodePrefixApp !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemCodePrefixApp}\r\n \r\n )}\r\n {conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.exampleItemCode1}\r\n \r\n \r\n {conversionUrlSettingState.intraItemSeparatorApp}\r\n \r\n \r\n {conversionUrlSettingState.exampleItemQTY1}\r\n \r\n \r\n )}\r\n {conversionUrlSettingState.itemOptionalParamValueApp !==\r\n \"\" &&\r\n conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.intraItemSeparatorApp}\r\n \r\n \r\n {conversionUrlSettingState.itemOptionalParamValueApp}\r\n \r\n \r\n )}\r\n {((conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\") ||\r\n (conversionUrlSettingState.exampleItemCode1 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY1 !== \"\" &&\r\n conversionUrlSettingState.optionalVarName !==\r\n \"\")) && (\r\n \r\n {conversionUrlSettingState.interItemSeparatorApp}\r\n \r\n )}\r\n {conversionUrlSettingState.itemCodePrefixApp !== \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n \r\n {conversionUrlSettingState.itemCodePrefixApp}\r\n \r\n )}\r\n {conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.exampleItemCode2}\r\n \r\n \r\n {conversionUrlSettingState.intraItemSeparatorApp}\r\n \r\n \r\n {conversionUrlSettingState.exampleItemQTY2}\r\n \r\n \r\n )}\r\n {conversionUrlSettingState.itemOptionalParamValueApp !==\r\n \"\" &&\r\n conversionUrlSettingState.exampleItemCode2 !== \"\" &&\r\n conversionUrlSettingState.exampleItemQTY2 !== \"\" && (\r\n <>\r\n \r\n {conversionUrlSettingState.intraItemSeparatorApp}\r\n \r\n \r\n {conversionUrlSettingState.itemOptionalParamValueApp}\r\n \r\n \r\n )}\r\n {/*{*/}\r\n {/* conversionUrlSettingState.exampleItemCode2 !== '' &&*/}\r\n {/* conversionUrlSettingState.exampleItemQTY2 !== '' &&*/}\r\n {/* conversionUrlSettingState.optionalVarName !== '' &&*/}\r\n {/* */}\r\n {/* {conversionUrlSettingState.interItemSeparator}*/}\r\n {/* */}\r\n {/*}*/}\r\n\r\n {optionalVarStringsApp}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n activeTabName === \"checkoutTab\" && settingForAccount &&\r\n \r\n \r\n \r\n }\r\n \r\n {/*save btn*/}\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {isDomainChanged && (\r\n \r\n )}\r\n {isChangesNotSaved && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import {ErrorDtoFactory, ConversionDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as FlyerConversionSettingAction} from \"../actions/flyerConversionSettingsActions\";\r\n\r\nimport {ActionType} from \"../actionTypes\";\r\nimport axios from \"axios\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\n\r\nexport const getConversionUrlSettings = (flyerId?: number) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_CONVERSION_URL_START\r\n })\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n const url = flyerId ? `${envManager.flyerEditorServerAddress}/api/Flyers/GetFlyerConversionSettings/${userDto.userId}/${flyerId}` : `${envManager.flyerEditorServerAddress}/api/Account/GetConversionSettings/${userDto.userId}`;\r\n let result = await axios.get(url, config);\r\n let data = result.data.data;\r\n\r\n dispatch({\r\n type: ActionType.GET_CONVERSION_URL_SUCCESS,\r\n payload: data\r\n })\r\n\r\n dispatch({\r\n type: ActionType.GET_CONVERSION_URL_COMPLETED\r\n })\r\n }\r\n catch(err){\r\n dispatch({\r\n type: ActionType.GET_CONVERSION_URL_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const saveConversionUrlSettings = (dataForRequest: ConversionDto, settingForAccount: boolean, flyerId?: number) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.POST_CONVERSION_URL_START\r\n })\r\n try\r\n {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n const url = flyerId && !settingForAccount ? `${envManager.flyerEditorServerAddress}/api/Flyers/SetFlyerConversionSettings/${userDto.userId}/${flyerId}`: `${envManager.flyerEditorServerAddress}/api/Account/SetConversionSettings`\r\n let result = await axios.post(url, dataForRequest, config);\r\n dispatch({\r\n type: ActionType.POST_CONVERSION_URL_SUCCESS,\r\n payload: dataForRequest\r\n })\r\n\r\n dispatch({\r\n type: ActionType.POST_CONVERSION_URL_COMPLETED\r\n })\r\n }\r\n catch(err){\r\n dispatch({\r\n type: ActionType.POST_CONVERSION_URL_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n","import React, {useEffect, useState} from \"react\";\r\nimport styles from \"./saleTypesSettingsRow.module.scss\";\r\nimport {DefaultSaleTypeDto, SaleTypeDto} from \"../../../../../../../dtos\";\r\nimport {Box, Checkbox, Typography} from \"@mui/material\";\r\n\r\n\r\ninterface Props {\r\n saleType: SaleTypeDto;\r\n defaultSaleType?: DefaultSaleTypeDto;\r\n isSelected: boolean;\r\n onChangeSelectionForSaleType: (saleType: SaleTypeDto, isSelected: boolean) => void;\r\n}\r\n\r\n\r\nexport const SaleTypeSettingsRow: React.FC = ({\r\n saleType,\r\n defaultSaleType,\r\n isSelected,\r\n onChangeSelectionForSaleType\r\n }) => {\r\n const [requisiteValue, setRequisiteValue] = useState('');\r\n const [benefitValue, setBenefitValue] = useState('');\r\n\r\n const [isSelectedSaleType, setSelectedSaleType] = useState(false);\r\n\r\n useEffect(() => {\r\n setRequisiteValue(saleType.requisite ? saleType.requisite : defaultSaleType?.saleTypeData.defaultRequisite);\r\n setBenefitValue(saleType.benefit ? saleType.benefit : defaultSaleType?.saleTypeData.defaultBenefit);\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectedSaleType(isSelected);\r\n }, [isSelected])\r\n\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n onChangeSelectionForSaleType(saleType, e.target.checked);\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \"\"/\r\n
\r\n \r\n \r\n
\r\n {saleType.satCode}\r\n
\r\n \r\n \r\n
\r\n {saleType.satCaption}\r\n
\r\n \r\n \r\n {\r\n saleType.satCode !== 1 &&
\r\n
\r\n {defaultSaleType?.saleTypeData.nameRequisite}\r\n
\r\n \r\n \r\n {requisiteValue}\r\n \r\n \r\n
\r\n\r\n }\r\n \r\n \r\n {\r\n saleType.satCode !== 1 &&
\r\n
\r\n {defaultSaleType?.saleTypeData.nameBenefit}\r\n
\r\n \r\n \r\n {benefitValue}\r\n \r\n \r\n
\r\n\r\n }\r\n \r\n\r\n \r\n )\r\n\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Checkbox, Modal, Typography} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {SaleTypeDto, UpdateSaleTypesObjectDto} from \"../../../../../../../dtos\";\r\nimport styles from \"./saleTypesSettings.module.scss\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {saleTypesDropdownData} from \"../../../../../../../globals/Contants\";\r\nimport {SaleTypeSettingsRow} from \"./saleTypeSettingsRow\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {updateSaleTypeForAccount} from \"../../../../../../../store/actionCreators/flyersActionCreators\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n saleTypesPopupWrapper: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n maxWidth: `50vw`,\r\n width: `45vw`,\r\n backgroundColor: `#ffffff`,\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n maxHeight: `90vh`,\r\n paddingBottom: `20px`\r\n },\r\n saleTypesPopupHeaderWrapper: {\r\n background: `linear-gradient(90deg, #1D95DE 0%, #00467F 100%)`,\r\n },\r\n saleTypesPopupHeaderBox: {\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `space-between`,\r\n padding: `6px 20px`,\r\n '& > .MuiButton-root': {\r\n '& svg path': {\r\n fill: `#ffffff`\r\n }\r\n }\r\n },\r\n saleTypesPopupContentWrapper: {\r\n flex: `1 1 auto`,\r\n overflow: \"auto\"\r\n },\r\n saleTypesPopupBtnWrapper: {\r\n display: `flex`,\r\n justifyContent: `end`,\r\n padding: `20px 20px 0`\r\n },\r\n\r\n saleTypesPopupBtn: {\r\n width: `100%`,\r\n background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n '&.MuiButton-root': {\r\n padding: `10px 40px`,\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`,\r\n },\r\n '& > .MuiTypography-root': {\r\n lineHeight: `15px`\r\n }\r\n },\r\n\r\n}));\r\n\r\n\r\ninterface Props {\r\n isShow: boolean,\r\n onHide: VoidFunction;\r\n}\r\n\r\n\r\n\r\nexport const SaleTypesSettings: React.FC = ({\r\n isShow,\r\n onHide\r\n }) => {\r\n const dispatch = useDispatch();\r\n const saleTypes = useTypedSelector((state) => state.saleTypes.saleTypes);\r\n const classes = useStyles();\r\n const [saleTypesState, setSaleTypesState] = useState([]);\r\n const [isSelectAll, setSelectAllStatus] = useState(false);\r\n const [numberOfSelectedSaleType, setNumberOfSelectedSaleTypes] = useState(0)\r\n\r\n useEffect(() => {\r\n if(isShow){\r\n setSaleTypesState(saleTypes);\r\n }\r\n }, [isShow]);\r\n\r\n useEffect(() => {\r\n const isSelectedAllSaleTypes = saleTypesState.every((saleType: SaleTypeDto) => saleType.isAssignedToAccount);\r\n const selectedSaleTypes = saleTypesState.filter((saleType: SaleTypeDto) => {\r\n if(saleType.isAssignedToAccount){\r\n return saleType;\r\n }\r\n });\r\n setNumberOfSelectedSaleTypes(selectedSaleTypes.length);\r\n setSelectAllStatus(isSelectedAllSaleTypes);\r\n }, [saleTypesState])\r\n\r\n const onChangeSelectionForSaleType = (selectedSaleType: SaleTypeDto, isSelect: boolean) => {\r\n const newStateForSaleTypes = saleTypesState.map((saleType: SaleTypeDto) => {\r\n return {\r\n ...saleType,\r\n isAssignedToAccount: saleType.satRecID === selectedSaleType.satRecID ? isSelect : saleType.isAssignedToAccount\r\n };\r\n });\r\n setSaleTypesState(newStateForSaleTypes);\r\n }\r\n\r\n const onClose = () => {\r\n setSaleTypesState([]);\r\n onHide();\r\n\r\n }\r\n\r\n const selectAll = (e: React.ChangeEvent) => {\r\n const newStateForSaleTypes = saleTypesState.map((saleType: SaleTypeDto) => {\r\n return {\r\n ...saleType,\r\n isAssignedToAccount: e.target.checked\r\n };\r\n });\r\n setSaleTypesState(newStateForSaleTypes);\r\n }\r\n\r\n const updateSaleTypesForAccount = () => {\r\n const collectDataForRequest: UpdateSaleTypesObjectDto[] = [];\r\n saleTypesState.forEach((saleType: SaleTypeDto) => {\r\n collectDataForRequest.push({\r\n saleTypeId: saleType.satRecID,\r\n action: saleType.isAssignedToAccount ? 1 : 2\r\n })\r\n });\r\n dispatch(updateSaleTypeForAccount(saleTypesState, collectDataForRequest));\r\n onClose();\r\n }\r\n\r\n const saleTypeRows = saleTypesState.map((saleType: SaleTypeDto) => {\r\n const selectedPatternSaleType = saleTypesDropdownData.find((key) => key.saleTypeId === saleType.satCode);\r\n return \r\n })\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Promo Types Settings\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Select from the Promo Types below only the ones that your account uses.\r\n {/*Only these {numberOfSelectedSaleType} will show in PromoType selection in \"Edit Promotion\"*/}\r\n \r\n \r\n The selected Promo Types will show in Edit Promotion command.\r\n {/*Only these {numberOfSelectedSaleType} will show in PromoType selection in \"Edit Promotion\"*/}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n saleTypeRows\r\n }\r\n \r\n
\r\n \r\n \r\n \r\n ({numberOfSelectedSaleType})\r\n \r\n \r\n StickerPromo Type CodePromo Type LabelRequisiteBenefit
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSettingIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2048 19H8.798C8.73995 19 8.6836 18.9804 8.63812 18.9443C8.59265 18.9082 8.56073 18.8578 8.54755 18.8012L8.14101 17.0542C7.50492 16.887 6.89447 16.6342 6.32638 16.3028L4.80566 17.2514C4.75635 17.2822 4.69806 17.2954 4.64029 17.2888C4.58252 17.2823 4.52869 17.2563 4.48758 17.2152L2.78506 15.5119C2.74403 15.4708 2.71809 15.4171 2.71146 15.3594C2.70483 15.3018 2.7179 15.2436 2.74855 15.1943L3.69688 13.6741C3.36561 13.1058 3.11293 12.4953 2.94577 11.8591L1.19928 11.4554C1.14265 11.4423 1.09212 11.4105 1.05592 11.365C1.01973 11.3195 1.00002 11.2631 1 11.205V8.79503C1.00002 8.7369 1.01973 8.6805 1.05592 8.63501C1.09212 8.58953 1.14265 8.55765 1.19928 8.54457L2.94577 8.14086C3.11306 7.50487 3.36582 6.89451 3.69713 6.32646L2.74855 4.80571C2.71774 4.7564 2.70455 4.69811 2.71114 4.64034C2.71772 4.58257 2.74369 4.52874 2.7848 4.48763L4.48784 2.78457C4.52896 2.74356 4.58276 2.71768 4.64047 2.71114C4.69818 2.7046 4.7564 2.7178 4.80566 2.74857L6.32587 3.69691C6.89401 3.36561 7.50445 3.11285 8.1405 2.94554L8.54704 1.19851C8.56028 1.14194 8.5923 1.09151 8.63788 1.05546C8.68345 1.01941 8.7399 0.999865 8.798 1H11.2048C11.263 1.00002 11.3194 1.01973 11.3648 1.05593C11.4103 1.09212 11.4422 1.14265 11.4553 1.19929L11.859 2.9458C12.495 3.11309 13.1053 3.36585 13.6734 3.69717L15.1941 2.74857C15.2434 2.71776 15.3017 2.70458 15.3595 2.71116C15.4172 2.71775 15.4711 2.74371 15.5122 2.78483L17.2152 4.48789C17.2562 4.52901 17.2821 4.58281 17.2886 4.64052C17.2952 4.69823 17.282 4.75646 17.2512 4.80571L16.3029 6.32594C16.6342 6.894 16.8869 7.50436 17.0542 8.14034L18.8007 8.54406C18.8574 8.55713 18.9079 8.58902 18.9441 8.6345C18.9803 8.67998 19 8.73639 19 8.79451V11.2045C19 11.2626 18.9803 11.319 18.9441 11.3645C18.9079 11.41 18.8574 11.4418 18.8007 11.4549L17.0542 11.8586C16.8869 12.4946 16.6342 13.105 16.3029 13.673L17.2512 15.1943C17.282 15.2436 17.2952 15.3019 17.2886 15.3597C17.282 15.4174 17.2561 15.4713 17.2149 15.5124L15.5119 17.2154C15.4708 17.2564 15.417 17.2823 15.3593 17.2889C15.3016 17.2954 15.2433 17.2822 15.1941 17.2514L13.6739 16.3031C13.1058 16.6344 12.4955 16.8871 11.8595 17.0545L11.4558 18.801C11.4426 18.8576 11.4107 18.9082 11.3651 18.9443C11.3195 18.9805 11.263 19.0001 11.2048 19Z\",\n stroke: \"#FFFDF9\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99933 13C9.40622 12.9999 8.82645 12.8239 8.33329 12.4944C7.83994 12.1648 7.45543 11.6962 7.22836 11.1481C7.0013 10.5999 6.94189 9.99667 7.05765 9.41473C7.1734 8.83279 7.45912 8.29824 7.87868 7.87868C8.29824 7.45912 8.83279 7.1734 9.41473 7.05765C9.99667 6.94189 10.5999 7.0013 11.1481 7.22836C11.6962 7.45543 12.1648 7.83994 12.4944 8.33329C12.8239 8.82645 12.9999 9.40622 13 9.99933C12.999 10.7948 12.6825 11.5575 12.12 12.12C11.5575 12.6825 10.7948 12.999 9.99933 13Z\",\n stroke: \"#FFFDF9\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSettingIcon);\nexport default __webpack_public_path__ + \"static/media/setting_icon.e72d0b0c.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Grid, Typography} from \"@mui/material\";\r\nimport Select, {components} from \"react-select\";\r\nimport {ReactComponent as DropdownIcon} from \"../../assets/flyerDetailsPopupAssets/dropdown.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n labelCaption: (props: any) => ({\r\n '&.MuiTypography-root': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n fontWeight: props.isBold ? `bold` : `normal`,\r\n fontFamily: props.defaultFontForLabel ? `roboto` : `revert`,\r\n marginRight: `12px`\r\n }\r\n })\r\n}))\r\n\r\n\r\nconst DropdownIndicator = (props: any) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\ninterface Props {\r\n labelGridSizeNumber?: number;\r\n selectGridSizeNumber?: number;\r\n valueForSelect?: {\r\n value?: string | null;\r\n label?: string | null;\r\n id?: number | null;\r\n };\r\n onChangeSelect?: (item: any) => void;\r\n selectArray?: any[];\r\n labelCaption?: string | null;\r\n labelAlign?: `start` | `end` | `center`;\r\n fontSize?: string;\r\n isBold?: boolean;\r\n isRequired?: boolean;\r\n readonly?: boolean;\r\n defaultFontForLabel?: boolean;\r\n withDisabledSomeOptions?: boolean;\r\n disabledOptions?: string[];\r\n}\r\n\r\nexport const SelectWithLabel: React.FC = ({\r\n labelGridSizeNumber,\r\n selectGridSizeNumber,\r\n valueForSelect,\r\n onChangeSelect,\r\n selectArray,\r\n labelCaption,\r\n labelAlign,\r\n fontSize,\r\n isBold,\r\n isRequired,\r\n readonly,\r\n defaultFontForLabel,\r\n withDisabledSomeOptions = false,\r\n disabledOptions = []\r\n }) => {\r\n\r\n const customStylesForSelect = {\r\n control: (base: any) => ({\r\n ...base,\r\n boxShadow: \"none\",\r\n height: \"34px\",\r\n border: \"1px solid #888888\",\r\n borderLeft: isRequired ? `4px solid #E5870E` : `1px solid #888888`,\r\n borderRadius: isRequired ? `0 5px 5px 0` : `5px`,\r\n fontWeight: \"normal\",\r\n textAlign: \"start\",\r\n lineHeight: \"1\",\r\n minHeight: `auto`,\r\n cursor: \"pointer\",\r\n \":hover\": {\r\n border: \"1px solid #888888\",\r\n borderLeft: isRequired ? `4px solid #E5870E` : `1px solid #888888`,\r\n },\r\n }),\r\n\r\n singleValue: (base: any) => ({\r\n ...base,\r\n // fontSize: `16px`,\r\n lineHeight: `20px`\r\n // height: \"16px\",\r\n }),\r\n valueContainer: (base: any) => ({\r\n ...base,\r\n height: \"34px\",\r\n padding: \"0px 5px\",\r\n fontSize: \"14px\",\r\n }),\r\n input: (base: any) => ({\r\n ...base,\r\n height: \"34px\",\r\n }),\r\n menuList: (base: any) => ({\r\n ...base,\r\n fontWeight: \"normal\",\r\n padding: \"2px 0\"\r\n\r\n }),\r\n menu: (base: any) => ({\r\n ...base,\r\n zIndex: `2`,\r\n margin: \"4px 0\"\r\n })\r\n };\r\n\r\n const properties = {\r\n fontSize: fontSize ? fontSize : `14`,\r\n isBold: isBold,\r\n defaultFontForLabel: defaultFontForLabel\r\n }\r\n const classes = useStyles(properties);\r\n return (\r\n <>\r\n \r\n \r\n {labelCaption}\r\n \r\n \r\n \r\n {\r\n readonly ?\r\n \r\n {valueForSelect?.label}\r\n :\r\n {\r\n if (withDisabledSomeOptions) {\r\n return disabledOptions.some(disabledOption => disabledOption === option.value);\r\n }\r\n return false;\r\n }}\r\n onChange={onChangeSelect}\r\n getOptionValue={(option) => option.value!}\r\n getOptionLabel={(option) => option.label!}\r\n options={selectArray}\r\n isSearchable={false}\r\n components={{\r\n DropdownIndicator,\r\n }}\r\n />\r\n }\r\n \r\n \r\n )\r\n}","import React from \"react\";\r\nimport {Box, Button, Grid, Input, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport Switch from \"react-switch\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n labelCaption: (props: any) => ({\r\n '&.MuiTypography-root': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n fontWeight: props.isBold ? `bold` : `normal`,\r\n fontFamily: `revert`\r\n }\r\n }),\r\n radioBtnsGroupWithLabelWrapper: (props: any) => ({\r\n columnGap: \"12px\",\r\n '& > .MuiTypography-root': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n }\r\n }),\r\n radioBtn: (props: any) => ({\r\n margin: `0`,\r\n columnGap: \"4px\",\r\n '&.MuiFormControlLabel-root': {\r\n margin: `0`,\r\n },\r\n '& > .MuiTypography-root': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n }\r\n }),\r\n inputStyles: (props: any) => ({\r\n border: props.readonly ? \"none\" : \"1px solid #888888\",\r\n borderRadius: `5px`,\r\n width: `100%`,\r\n '&.MuiInput-root': {\r\n padding: `5px!important`,\r\n '& > input': {\r\n padding: 0,\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n direction: props.direction === `rtl` ? `rtl` : `ltr`,\r\n },\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n\r\n })\r\n}))\r\n\r\n\r\ninterface Props {\r\n labelGridSizeNumber?: number;\r\n textareaGridSizeNumber?: number;\r\n valueForTextarea?: string;\r\n onChangeTextarea?: (e: React.ChangeEvent) => void;\r\n onChange?: (checked: boolean, name: string) => void;\r\n labelCaption?: string | null;\r\n labelAlign?: `start` | `end` | `center`;\r\n fontSize?: string;\r\n isBold?: boolean;\r\n numberOfRows?: number;\r\n isChecked?: boolean;\r\n isShowFromAccountBtn?: boolean;\r\n fieldName?: string;\r\n checkboxName?: string;\r\n readonly?: boolean;\r\n direction?: string;\r\n onCopyFromAccount?: (e: React.MouseEvent) => void;\r\n maxLength?: number;\r\n hideTextArea?: boolean;\r\n isNotValid?: boolean;\r\n isRequired?: boolean;\r\n}\r\n\r\nexport const TextAreaWithSwitchControlAndLabel: React.FC = ({\r\n labelGridSizeNumber,\r\n textareaGridSizeNumber,\r\n valueForTextarea,\r\n onChangeTextarea,\r\n labelCaption,\r\n labelAlign,\r\n fontSize,\r\n isBold,\r\n numberOfRows,\r\n isChecked,\r\n isShowFromAccountBtn,\r\n onChange,\r\n fieldName,\r\n checkboxName,\r\n readonly,\r\n direction,\r\n onCopyFromAccount,\r\n maxLength,\r\n hideTextArea,\r\n isNotValid,\r\n isRequired\r\n }) => {\r\n const properties = {\r\n fontSize: fontSize ? fontSize : `14`,\r\n isBold: isBold ? isBold : '400',\r\n readonly: readonly,\r\n direction: direction,\r\n }\r\n const classes = useStyles(properties);\r\n\r\n const onChangeSwitch = (value: boolean) => {\r\n if(onChange){\r\n onChange(value, checkboxName ? checkboxName : '');\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n \r\n {labelCaption}\r\n \r\n \r\n \r\n \r\n {\r\n onChange &&\r\n /*\r\n \r\n\r\n }\r\n label={isChecked ? `Show` : `Don't Show`}\r\n />\r\n */\r\n \r\n \r\n {isChecked ? `Show` : `Don't Show`}\r\n \r\n\r\n\r\n // \r\n // }\r\n // label=\"Show\"\r\n // className={classes.radioBtn}\r\n // />\r\n // }\r\n // label=\"Don't Show\"\r\n // className={classes.radioBtn}\r\n // />\r\n // \r\n\r\n }\r\n {\r\n ((!isShowFromAccountBtn && isChecked && !readonly) || (!isShowFromAccountBtn && fieldName === 'homePageUrl' && !readonly)) &&\r\n \r\n \r\n Copy From Account\r\n \r\n \r\n }\r\n\r\n \r\n {\r\n !hideTextArea &&\r\n \r\n {\r\n Boolean(numberOfRows)\r\n ? \r\n : \r\n\r\n }\r\n \r\n }\r\n \r\n \r\n )\r\n}","import React from \"react\";\r\nimport {Box, Grid, Input, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n labelCaption: (props: any) => ({\r\n '&.MuiTypography-root': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n fontWeight: props.isBold ? `bold` : `normal`,\r\n fontFamily: `revert`\r\n }\r\n }),\r\n inputStyles: (props: any) => ({\r\n width: `100%`,\r\n // lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: props.readonly && !props.isMultiplyRows ? `none` : `1px solid #888888`,\r\n backgroundColor: `white`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n '& > input': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: props.withoutPadding && props.readonly ? `0` : `6px`,\r\n direction: props.direction,\r\n color: props.readonly ? `#A2A2A2` : `#000000`,\r\n // lineHeight: `1`,\r\n },\r\n '& > textarea': {\r\n fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: props.withoutPadding && props.readonly ? `0` : `5px`,\r\n direction: props.direction,\r\n color: props.readonly ? `#A2A2A2` : `#000000`,\r\n // lineHeight: `1`,\r\n }\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n }),\r\n}))\r\n\r\n\r\ninterface Props {\r\n labelGridSizeNumber?: number;\r\n inputGridSizeNumber?: number;\r\n valueForInput?: string;\r\n onChangeInput?: (e: React.ChangeEvent) => void;\r\n labelCaption?: string | null;\r\n labelAlign?: `start` | `end` | `center`;\r\n fontSize?: string;\r\n isBold?: boolean;\r\n fieldName?: string;\r\n maxLength?: number;\r\n readonly?: boolean;\r\n isRequired?: boolean;\r\n isNotValid?: boolean;\r\n isDisabled?: boolean;\r\n rows?: number;\r\n direction?: `rtl` | `ltr`;\r\n withoutPadding?: boolean;\r\n type?: string;\r\n}\r\n\r\nexport const TextInputWithLabel: React.FC = ({\r\n labelGridSizeNumber,\r\n inputGridSizeNumber,\r\n valueForInput,\r\n onChangeInput,\r\n labelCaption,\r\n labelAlign,\r\n fontSize,\r\n isBold,\r\n fieldName,\r\n maxLength,\r\n readonly,\r\n isRequired,\r\n isNotValid,\r\n isDisabled,\r\n rows,\r\n direction,\r\n withoutPadding,\r\n type = \"text\"\r\n }) => {\r\n const properties = {\r\n fontSize: fontSize ? fontSize : `14`,\r\n isBold: isBold ? isBold : '400',\r\n readonly: readonly ? readonly : false,\r\n direction: direction === `rtl` ? `rtl` : `ltr`,\r\n isMultiplyRows: !!rows,\r\n withoutPadding: withoutPadding ? withoutPadding : false\r\n }\r\n const classes = useStyles(properties);\r\n\r\n return (\r\n <>\r\n {\r\n labelCaption &&\r\n \r\n \r\n {labelCaption}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Grid, Typography} from \"@mui/material\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {AccountSettingWithLangRequestDto, FlyerLanguageDto} from \"../../../../../../../dtos\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {SelectWithLabel} from \"../../../../../../../com/selectWithLabel/selectWithLabel\";\r\nimport {\r\n TextAreaWithSwitchControlAndLabel\r\n} from \"../../../../../../../com/textAreaWithSwitchControlAndLabel/TextAreaWithSwitchControlAndLabel\";\r\nimport {TextInputWithLabel} from \"../../../../../../../com/textInputWithLabel/textInputWithLabel\";\r\nimport {PopupState} from \"../../../../../flyerDetailsPopup/flyerDetailsRightPanel\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {setAccountSettingAndLang} from \"../../../../../../../store/actionCreators/accountSettingAndLangActionCreators\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport validator from \"validator\";\r\nimport {isUnicode} from \"../../../../../../../globals/globFunctions\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n localAndTextSettingWrapper: {\r\n width: `646px`,\r\n backgroundColor: `#ffffff`,\r\n maxHeight: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n },\r\n localAndTextSettingHeader: {\r\n padding: `6px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n \"& .MuiButton-root\": {\r\n \"& > svg\": {\r\n \"& > path\": {\r\n fill: `#ffffff`,\r\n },\r\n },\r\n },\r\n },\r\n localAndTextSettingContent: (props: any) => ({\r\n padding: props.settingForAccount ? `10px 30px` : `0`\r\n }),\r\n localAndTextSettingBtnsWrapper: {\r\n padding: `10px 30px`,\r\n display: `flex`,\r\n justifyContent: `flex-end`,\r\n '& > .MuiButton-root': {\r\n padding: `10px 25px`,\r\n textTransform: `capitalize`,\r\n color: `#ffffff`,\r\n background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n \"&.Mui-disabled\": {\r\n opacity: `0.5`,\r\n color: `#ffffff`\r\n },\r\n \"& > .MuiTypography-root\": {\r\n lineHeight: `15px`,\r\n },\r\n }\r\n }\r\n\r\n}))\r\n\r\ninterface AccountLocalAndTextStateDto {\r\n jobCaption?: string;\r\n language?: {\r\n value?: string,\r\n label?: string,\r\n language?: FlyerLanguageDto\r\n };\r\n currency?: {\r\n value?: string,\r\n label?: string,\r\n };\r\n disclaimerTitle?: string;\r\n disclaimer?: string;\r\n showDisclaimer?: boolean;\r\n quickTips?: string;\r\n showQuickTips?: boolean;\r\n listDisclaimer?: string;\r\n showListDisclaimer?: boolean;\r\n checkoutBtn?: string;\r\n homePageUrl?: string;\r\n}\r\n\r\n\r\ninterface Props {\r\n closePopup?: VoidFunction;\r\n settingForAccount?: boolean;\r\n readonly?: boolean;\r\n data?: PopupState;\r\n changeData?: (popupState: PopupState) => void;\r\n isNew?: boolean;\r\n}\r\n\r\nexport const AccountLocalAndTextSetting: React.FC = ({\r\n closePopup,\r\n settingForAccount,\r\n readonly,\r\n data,\r\n changeData,\r\n isNew\r\n }) => {\r\n\r\n const properties = {\r\n settingForAccount: settingForAccount\r\n }\r\n const classes = useStyles(properties);\r\n const dispatch = useDispatch();\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const accountSettingWithLang = useTypedSelector((state) => state.accountSettingWithLang);\r\n const languages = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.code,\r\n label: lang.caption,\r\n language: {\r\n ...lang\r\n }\r\n }\r\n });\r\n const currencies = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.currencySymbol,\r\n label: lang.currencySymbol\r\n }\r\n });\r\n\r\n const [state, setState] = useState({\r\n jobCaption: ``,\r\n language: {\r\n value: \"en-US\",\r\n label: `English (US)`,\r\n },\r\n currency: {\r\n value: `$`,\r\n label: `$`\r\n },\r\n disclaimerTitle: '',\r\n disclaimer: ``,\r\n showDisclaimer: false,\r\n quickTips: ``,\r\n showQuickTips: false,\r\n listDisclaimer: ``,\r\n showListDisclaimer: false,\r\n checkoutBtn: ``,\r\n homePageUrl: ``\r\n });\r\n const [defaultState, setDefaultState] = useState({\r\n jobCaption: ``,\r\n language: {\r\n value: \"en-US\",\r\n label: `English (US)`,\r\n },\r\n currency: {\r\n value: `$`,\r\n label: `$`\r\n },\r\n disclaimerTitle: '',\r\n disclaimer: ``,\r\n showDisclaimer: false,\r\n quickTips: ``,\r\n showQuickTips: false,\r\n listDisclaimer: ``,\r\n showListDisclaimer: false,\r\n checkoutBtn: ``,\r\n homePageUrl: ``\r\n });\r\n\r\n const [isDefaultStateChanged, setStatusForDefaultStateChanged] = useState(false);\r\n const [disclaimerDirection, setDisclaimerDirection] = useState<`rtl` | `ltr`>('ltr');\r\n const [disclaimerTitleDirection, setDisclaimerTitleDirection] = useState<`rtl` | `ltr`>('ltr');\r\n const [quickTipsDirection, setQuickTipsDirection] = useState<`rtl` | `ltr`>('ltr');\r\n const [itemsDisclaimerDirection, setItemsDisclaimerDirection] = useState<`rtl` | `ltr`>('ltr');\r\n const [isLoading, setLoadingStatus] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n setLoadingStatus(Boolean(accountSettingWithLang.loading));\r\n if (accountSettingWithLang.type === \"SET_ACCOUNT_SETTING_SUCCESS\") {\r\n onClosePopup();\r\n }\r\n }, [accountSettingWithLang])\r\n\r\n useEffect(() => {\r\n let stateObjectUsingCurrentData: AccountLocalAndTextStateDto = {};\r\n const accountLanguage: FlyerLanguageDto | undefined = flyersState?.languageCultures?.find((lang: FlyerLanguageDto) => {\r\n if (lang.id === accountSettingWithLang.languageId) {\r\n return lang;\r\n }\r\n })\r\n if (settingForAccount || isNew && !data) {\r\n stateObjectUsingCurrentData = {\r\n jobCaption: ``,\r\n language: {\r\n value: accountLanguage ? accountLanguage.code : \"en-US\",\r\n label: accountLanguage ? accountLanguage.caption : `English (US)`,\r\n language: accountLanguage ? {...accountLanguage} : {\r\n caption: \"English (US)\",\r\n captionNative: \"English (US)\",\r\n code: \"en-US\",\r\n currencySymbol: \"$\",\r\n currencyAbbrv: \"USD\",\r\n dir: \"LTR\",\r\n id: 1\r\n }\r\n },\r\n currency: {\r\n value: accountLanguage ? accountLanguage.currencySymbol : \"$\",\r\n label: accountLanguage ? accountLanguage.currencySymbol : \"$\"\r\n },\r\n disclaimerTitle: accountSettingWithLang.accountSetting?.uiTexts?.flyerDisclaimerPopupTitle ? accountSettingWithLang.accountSetting?.uiTexts?.flyerDisclaimerPopupTitle : '',\r\n disclaimer: accountSettingWithLang.accountSetting?.disclaimers?.flyerDisclaimer ? accountSettingWithLang.accountSetting?.disclaimers?.flyerDisclaimer : ``,\r\n showDisclaimer: Boolean(accountSettingWithLang.accountSetting?.disclaimers?.isFlyerDisclaimer),\r\n quickTips: accountSettingWithLang.accountSetting?.uiTexts?.quickTips ? accountSettingWithLang.accountSetting?.uiTexts?.quickTips : ``,\r\n showQuickTips: Boolean(accountSettingWithLang.accountSetting?.uiTexts?.isQuickTips),\r\n listDisclaimer: accountSettingWithLang.accountSetting?.disclaimers?.listDisclaimer ? accountSettingWithLang.accountSetting?.disclaimers?.listDisclaimer : ``,\r\n showListDisclaimer: Boolean(accountSettingWithLang.accountSetting?.disclaimers?.isListDisclaimer),\r\n checkoutBtn: accountSettingWithLang.accountSetting?.uiTexts?.goToCheckout && accountSettingWithLang.accountSetting?.uiTexts?.goToCheckout !== '' ? accountSettingWithLang.accountSetting?.uiTexts?.goToCheckout : `Go to Checkout`,\r\n homePageUrl: accountSettingWithLang.accountSetting?.urls && accountSettingWithLang.accountSetting?.urls.accountHomePageUrl ? accountSettingWithLang.accountSetting?.urls.accountHomePageUrl : ``\r\n }\r\n } else {\r\n const selectedLangData = languages?.find((lang: any) => {\r\n if (lang.value === data?.language.value) {\r\n return lang;\r\n }\r\n });\r\n stateObjectUsingCurrentData = {\r\n jobCaption: data?.caption ? data?.caption : ``,\r\n language: {\r\n value: data?.language.value,\r\n label: data?.language.label,\r\n language: selectedLangData?.language\r\n },\r\n currency: {\r\n value: data?.currency.value,\r\n label: data?.currency.value\r\n },\r\n disclaimerTitle: data?.uiText?.flyerDisclaimerPopupTitle ? data?.uiText?.flyerDisclaimerPopupTitle : '',\r\n disclaimer: data?.disclaimers?.flyerDisclaimer ? data?.disclaimers?.flyerDisclaimer : ``,\r\n showDisclaimer: Boolean(data?.disclaimers?.isFlyerDisclaimer),\r\n quickTips: data?.uiText?.quickTips ? data?.uiText?.quickTips : ``,\r\n showQuickTips: Boolean(data?.uiText?.isQuickTips),\r\n listDisclaimer: data?.disclaimers?.listDisclaimer ? data?.disclaimers?.listDisclaimer : ``,\r\n showListDisclaimer: Boolean(data?.disclaimers?.isListDisclaimer),\r\n checkoutBtn: data?.uiText?.goToCheckout ? data?.uiText?.goToCheckout : ``,\r\n homePageUrl: data?.urls && data?.urls.accountHomePageUrl ? data?.urls.accountHomePageUrl : ``\r\n }\r\n }\r\n setState(stateObjectUsingCurrentData);\r\n setDefaultState(stateObjectUsingCurrentData);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setDisclaimerTitleDirection(isUnicode(state.disclaimerTitle ? state.disclaimerTitle : ``) ? `rtl` : `ltr`);\r\n setDisclaimerDirection(isUnicode(state.disclaimer ? state.disclaimer : ``) ? `rtl` : `ltr`);\r\n setQuickTipsDirection(isUnicode(state.quickTips ? state.quickTips : ``) ? `rtl` : `ltr`);\r\n setItemsDisclaimerDirection(isUnicode(state.listDisclaimer ? state.listDisclaimer : ``) ? `rtl` : `ltr`);\r\n const isStateWasChanged = checkIfSomethingChangeInDefaultState();\r\n if (!settingForAccount && data && changeData) {\r\n const newDataForFlyer: PopupState = {\r\n ...data,\r\n/*\r\n language: {\r\n value: state.language?.value ? state.language?.value : ``,\r\n label: state.language?.label ? state.language?.label : ``\r\n },\r\n languageData: {\r\n flyLacRec: {\r\n ...data.languageData.flyLacRec,\r\n lacRecId: state.language?.language?.id,\r\n lacCode: state.language?.language?.code,\r\n lacCaption: state.language?.language?.caption,\r\n lacDir: state.language?.language?.dir,\r\n lacCurrencySymbol: state.language?.language?.currencySymbol\r\n },\r\n flyLacRecId: state.language?.language?.id!,\r\n },\r\n currency: {\r\n value: state.currency?.value ? state.currency?.value : ``,\r\n label: state.currency?.value ? state.currency?.value : ``,\r\n },\r\n*/\r\n uiText: {\r\n ...data.uiText,\r\n flyerDisclaimerPopupTitle: state.disclaimerTitle,\r\n quickTips: state.quickTips,\r\n isQuickTips: state.showQuickTips,\r\n goToCheckout: state.checkoutBtn\r\n },\r\n disclaimers: {\r\n ...data.disclaimers,\r\n flyerDisclaimer: state.disclaimer,\r\n isFlyerDisclaimer: state.showDisclaimer,\r\n isListDisclaimer: state.showListDisclaimer,\r\n listDisclaimer: state.listDisclaimer\r\n },\r\n urls: {\r\n accountHomePageUrl: state.homePageUrl ? state.homePageUrl : ``\r\n }\r\n }\r\n changeData(newDataForFlyer);\r\n }\r\n setStatusForDefaultStateChanged(isStateWasChanged);\r\n\r\n }, [state])\r\n\r\n const changeCurrency = (item: any) => {\r\n setState({\r\n ...state,\r\n currency: {\r\n value: item.value,\r\n label: item.label\r\n },\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n\r\n const changeLang = (item: any) => {\r\n setState({\r\n ...state,\r\n language: {\r\n ...item,\r\n value: item.value,\r\n label: item.label\r\n },\r\n currency: {\r\n value: item.language.currencySymbol,\r\n label: item.language.currencySymbol,\r\n }\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n const onChangeText = (event: React.ChangeEvent | React.ChangeEvent) => {\r\n const targetName = event.target.name;\r\n const value = event.target.value;\r\n setState({\r\n ...state,\r\n [targetName]: value,\r\n });\r\n }\r\n\r\n const onChange = (checked: boolean, name: string) => {\r\n // const isChecked = event.target.checked;\r\n setState({\r\n ...state,\r\n [name]: checked,\r\n });\r\n\r\n }\r\n\r\n const onCopyFromAccount = (e: React.MouseEvent) => {\r\n const target = e.currentTarget as HTMLButtonElement;\r\n const targetName = target.name;\r\n let value: string = '';\r\n switch (targetName) {\r\n case `disclaimer`: {\r\n const title = accountSettingWithLang.accountSetting?.uiTexts?.flyerDisclaimerPopupTitle ? accountSettingWithLang.accountSetting?.uiTexts?.flyerDisclaimerPopupTitle : ``;\r\n const text = accountSettingWithLang.accountSetting?.disclaimers?.flyerDisclaimer ? accountSettingWithLang.accountSetting?.disclaimers?.flyerDisclaimer : ``;\r\n setState({\r\n ...state,\r\n disclaimerTitle: title,\r\n disclaimer: text\r\n })\r\n break;\r\n }\r\n case `quickTips`: {\r\n value = accountSettingWithLang.accountSetting?.uiTexts?.quickTips ? accountSettingWithLang.accountSetting?.uiTexts?.quickTips : ``;\r\n setState({\r\n ...state,\r\n [targetName]: value\r\n })\r\n break;\r\n }\r\n case `listDisclaimer`: {\r\n value = accountSettingWithLang.accountSetting?.disclaimers?.listDisclaimer ? accountSettingWithLang.accountSetting?.disclaimers?.listDisclaimer.slice(0, 110) : ``;\r\n setState({\r\n ...state,\r\n [targetName]: value\r\n })\r\n break;\r\n }\r\n case `homePageUrl`: {\r\n value = accountSettingWithLang.accountSetting?.urls && accountSettingWithLang.accountSetting?.urls.accountHomePageUrl ? accountSettingWithLang.accountSetting?.urls.accountHomePageUrl : ``;\r\n setState({\r\n ...state,\r\n [targetName]: value\r\n })\r\n }\r\n }\r\n }\r\n\r\n const onClosePopup = () => {\r\n if (settingForAccount && closePopup) {\r\n closePopup();\r\n }\r\n }\r\n\r\n const saveAccountLocalAndTextSettings = () => {\r\n console.log(state);\r\n const request: AccountSettingWithLangRequestDto = {\r\n languageId: state.language?.language?.id,\r\n disclaimers: {\r\n isListDisclaimer: state.showListDisclaimer,\r\n listDisclaimer: state.listDisclaimer,\r\n isFlyerDisclaimer: state.showDisclaimer,\r\n flyerDisclaimer: state.disclaimer,\r\n isEnableShowFlyerDisclaimerOnce: accountSettingWithLang.accountSetting?.disclaimers?.isEnableShowFlyerDisclaimerOnce\r\n },\r\n uiTexts: {\r\n goToCheckout: state.checkoutBtn,\r\n flyerDisclaimerPopupTitle: state.disclaimerTitle,\r\n isQuickTips: state.showQuickTips,\r\n quickTips: state.quickTips\r\n },\r\n urls: {\r\n accountHomePageUrl: state.homePageUrl\r\n }\r\n }\r\n dispatch(setAccountSettingAndLang(request));\r\n }\r\n\r\n const checkIfSomethingChangeInDefaultState = () => {\r\n const stringDefaultState = JSON.stringify(defaultState);\r\n const stringCurrentState = JSON.stringify(state);\r\n return stringDefaultState !== stringCurrentState;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n settingForAccount &&\r\n <>\r\n {\r\n isLoading ? \r\n \r\n :\r\n \r\n {/*header*/}\r\n {\r\n settingForAccount &&\r\n \r\n \r\n \r\n \r\n Account Startup Settings\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {/*content*/}\r\n \r\n {/*rows*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*buttons*/}\r\n \r\n \r\n \r\n {readonly ? `Edit` : `Save`}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n {\r\n !settingForAccount &&\r\n \r\n {/*rows*/}\r\n \r\n {\r\n }}\r\n labelCaption={`Job Caption (URL):`}\r\n isBold={true}\r\n fieldName={`checkoutBtn`}\r\n readonly={true}\r\n withoutPadding={true}\r\n />\r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n }\r\n \r\n )\r\n\r\n}","import {AccountSettingWithLangRequestDto, ErrorDtoFactory, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as AccountSettingsWithLangActions} from \"../actions/accountSettingsAndLangActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport axios from \"axios\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\n\r\nexport const setAccountSettingAndLang = (dataRequest: AccountSettingWithLangRequestDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let result = await axios.post(`${envManager.flyerEditorServerAddress}/api/Account/SetAccountSettings`, dataRequest, config);\r\n let data = result.data.data\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_SUCCESS,\r\n payload: {\r\n accountSetting: data,\r\n languageId: dataRequest.languageId\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_COMPLETE,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_SETTING_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {Modal} from \"@mui/material\";\r\nimport {AccountLocalAndTextSetting} from \"./accountLocalAndTextSetting\";\r\n\r\ninterface Props {\r\n isShow: boolean;\r\n closePopup: VoidFunction;\r\n settingForAccount: boolean;\r\n}\r\n\r\nexport const AccountLocalAndTextSettingModal: React.FC = ({\r\n isShow,\r\n closePopup,\r\n settingForAccount\r\n }) => {\r\n return (\r\n \r\n <>\r\n \r\n \r\n\r\n \r\n )\r\n}","var _rect, _rect2, _rect3, _rect4, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAnalyticsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 18,\n height: 18,\n stroke: \"white\",\n strokeWidth: 2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 9,\n y: 12,\n width: 2,\n height: 4,\n fill: \"white\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 13,\n y: 10,\n width: 2,\n height: 6,\n fill: \"white\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 5,\n y: 14,\n width: 2,\n height: 2,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 9L9.13043 5.96429L10.8696 7.75L15 4\",\n stroke: \"white\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAnalyticsIcon);\nexport default __webpack_public_path__ + \"static/media/analytics_icon.f596d0e6.svg\";\nexport { ForwardRef as ReactComponent };","var _mask, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgViewDashboardIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 17,\n viewBox: \"0 0 16 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _mask || (_mask = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-inside-1_9490_513\",\n fill: \"white\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.799805 0.706055H15.1998V6.52424V16.7061H6.54526H0.799805V11.1303V6.52424V0.706055Z\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.799805 12.1303H6.54526V10.1303H0.799805V12.1303ZM0.799805 7.52424H6.54526V5.52424H0.799805V7.52424ZM6.54526 7.52424H15.1998V5.52424H6.54526V7.52424ZM7.54526 11.1303V6.52424H5.54526V11.1303H7.54526ZM7.54526 16.7061V11.1303H5.54526V16.7061H7.54526ZM0.799805 0.706055V-1.29395H-1.2002V0.706055H0.799805ZM15.1998 0.706055H17.1998V-1.29395H15.1998V0.706055ZM15.1998 16.7061V18.7061H17.1998V16.7061H15.1998ZM0.799805 16.7061H-1.2002V18.7061H0.799805V16.7061ZM0.799805 2.70605H15.1998V-1.29395H0.799805V2.70605ZM2.7998 6.52424V0.706055H-1.2002V6.52424H2.7998ZM13.1998 0.706055V6.52424H17.1998V0.706055H13.1998ZM13.1998 6.52424V16.7061H17.1998V6.52424H13.1998ZM2.7998 16.7061V11.1303H-1.2002V16.7061H2.7998ZM2.7998 11.1303V6.52424H-1.2002V11.1303H2.7998ZM15.1998 14.7061H6.54526V18.7061H15.1998V14.7061ZM6.54526 14.7061H0.799805V18.7061H6.54526V14.7061Z\",\n fill: \"#014780\",\n mask: \"url(#path-1-inside-1_9490_513)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgViewDashboardIcon);\nexport default __webpack_public_path__ + \"static/media/view_dashboard_icon.4f311499.svg\";\nexport { ForwardRef as ReactComponent };","import {AsyncAnalyticsDataDto, ErrorDtoFactory, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport axios from \"axios\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport {Action as AnalyticsActions} from \"../actions/analyticsActions\";\r\n\r\nexport const getAnalyticsDataForSelectedFlyer = (flyerId: number) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_ANALYTICS_DATA_FOR_FLYER_START\r\n })\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let result = await axios.post(`${envManager.flyerShopperServerAddress}/api/FlyersAnalytics/GetImpressionsOrdersDailySummary?flyerId=${flyerId}`, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.GET_ANALYTICS_DATA_FOR_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.GET_ANALYTICS_DATA_FOR_FLYER_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_ANALYTICS_DATA_FOR_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const downloadExcelFileWithAnalyticsReportForSelectedFlyer = (flyerID: number, flyerCaption: string) => {\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_START,\r\n });\r\n\r\n try {\r\n let result: any = await downloadAnalyticsReportExcel(flyerID);\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${flyerCaption}-Analytics-Report.xlsx`); //this is the name with which the file will be downloaded\r\n link.click();\r\n dispatch({type: ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_SUCCESS});\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 0);\r\n dispatch({type: ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DOWNLOAD_ANALYTICS_DATA_FOR_FLYER_EXCEL_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst downloadAnalyticsReportExcel = (flyerId: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n let url = `${envManager.flyerShopperServerAddress}/api/FlyersAnalytics/GetFlyerAnalyticsByDayExcel?flyerId=${flyerId}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n // \"Content-Type\": \"multipart/form-data\",\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n });\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n\r\n }\r\n });\r\n};\r\n\r\n","var _mask, _path, _path2, _mask2, _path3, _path4, _mask3, _path5, _path6, _path7, _path8;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownloadEcxelIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 17,\n viewBox: \"0 0 16 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _mask || (_mask = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-outside-1_9490_7071\",\n maskUnits: \"userSpaceOnUse\",\n x: 2.2002,\n y: 7.70605,\n width: 4,\n height: 4,\n fill: \"black\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"white\",\n x: 2.2002,\n y: 7.70605,\n width: 4,\n height: 4\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.01309 11.1059L4.41278 10.2281L3.809 11.1059H3.2002L4.07124 9.87637L3.25438 8.70605H3.86319L4.41278 9.52637L4.95563 8.70605H5.57117L4.75431 9.87137L5.62536 11.1061L5.01309 11.1059Z\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.01309 11.1059L4.41278 10.2281L3.809 11.1059H3.2002L4.07124 9.87637L3.25438 8.70605H3.86319L4.41278 9.52637L4.95563 8.70605H5.57117L4.75431 9.87137L5.62536 11.1061L5.01309 11.1059Z\",\n fill: \"#014780\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.01309 11.1059L4.41278 10.2281L3.809 11.1059H3.2002L4.07124 9.87637L3.25438 8.70605H3.86319L4.41278 9.52637L4.95563 8.70605H5.57117L4.75431 9.87137L5.62536 11.1061L5.01309 11.1059Z\",\n stroke: \"#014780\",\n strokeWidth: 0.2,\n mask: \"url(#path-1-outside-1_9490_7071)\"\n })), _mask2 || (_mask2 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-2-outside-2_9490_7071\",\n maskUnits: \"userSpaceOnUse\",\n x: 5.50781,\n y: 7.70605,\n width: 3,\n height: 4,\n fill: \"black\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"white\",\n x: 5.50781,\n y: 7.70605,\n width: 3,\n height: 4\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.50781 11.1061V8.70605H7.2V10.6562H8.02999V11.1061H6.50781Z\"\n }))), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.50781 11.1061V8.70605H7.2V10.6562H8.02999V11.1061H6.50781Z\",\n fill: \"#014780\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.50781 11.1061V8.70605H7.2V10.6562H8.02999V11.1061H6.50781Z\",\n stroke: \"#014780\",\n strokeWidth: 0.2,\n mask: \"url(#path-2-outside-2_9490_7071)\"\n })), _mask3 || (_mask3 = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-3-outside-3_9490_7071\",\n maskUnits: \"userSpaceOnUse\",\n x: 7.7998,\n y: 7.70605,\n width: 4,\n height: 4,\n fill: \"black\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"white\",\n x: 7.7998,\n y: 7.70605,\n width: 4,\n height: 4\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.7998 10.7387L9.06847 10.3619C9.26141 10.5633 9.52853 10.6769 9.80749 10.6765C10.0795 10.6765 10.2121 10.5504 10.2121 10.4176C10.2121 10.0064 8.87343 10.2898 8.87343 9.41475C8.87343 9.02803 9.20112 8.70691 9.755 8.70691C10.088 8.6948 10.4129 8.81228 10.6612 9.03473L10.386 9.3968C10.2005 9.23114 9.95963 9.14066 9.71089 9.14275C9.49791 9.14275 9.38321 9.23616 9.38321 9.37536C9.38321 9.74565 10.7186 9.49827 10.7186 10.3584C10.7186 10.7844 10.4154 11.104 9.78789 11.104C9.42219 11.1236 9.06473 10.9915 8.7998 10.7387Z\"\n }))), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.7998 10.7387L9.06847 10.3619C9.26141 10.5633 9.52853 10.6769 9.80749 10.6765C10.0795 10.6765 10.2121 10.5504 10.2121 10.4176C10.2121 10.0064 8.87343 10.2898 8.87343 9.41475C8.87343 9.02803 9.20112 8.70691 9.755 8.70691C10.088 8.6948 10.4129 8.81228 10.6612 9.03473L10.386 9.3968C10.2005 9.23114 9.95963 9.14066 9.71089 9.14275C9.49791 9.14275 9.38321 9.23616 9.38321 9.37536C9.38321 9.74565 10.7186 9.49827 10.7186 10.3584C10.7186 10.7844 10.4154 11.104 9.78789 11.104C9.42219 11.1236 9.06473 10.9915 8.7998 10.7387Z\",\n fill: \"#014780\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.7998 10.7387L9.06847 10.3619C9.26141 10.5633 9.52853 10.6769 9.80749 10.6765C10.0795 10.6765 10.2121 10.5504 10.2121 10.4176C10.2121 10.0064 8.87343 10.2898 8.87343 9.41475C8.87343 9.02803 9.20112 8.70691 9.755 8.70691C10.088 8.6948 10.4129 8.81228 10.6612 9.03473L10.386 9.3968C10.2005 9.23114 9.95963 9.14066 9.71089 9.14275C9.49791 9.14275 9.38321 9.23616 9.38321 9.37536C9.38321 9.74565 10.7186 9.49827 10.7186 10.3584C10.7186 10.7844 10.4154 11.104 9.78789 11.104C9.42219 11.1236 9.06473 10.9915 8.7998 10.7387Z\",\n stroke: \"#014780\",\n strokeWidth: 0.2,\n mask: \"url(#path-3-outside-3_9490_7071)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.8278 16.7061L15.2002 14.0854L13.6278 14.0854L13.6304 10.8854L12.0304 10.8854L12.0304 14.0854L10.4278 14.0854L12.8278 16.7061Z\",\n fill: \"#014780\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.799805 0.706055V16.7703H10.3972V15.1061H2.47141L2.3998 2.30605L7.9998 2.30605V6.30605H11.9972V9.38019L13.5972 8.24312V4.30605L9.5998 0.706055H0.799805ZM9.3213 3.05343L10.748 4.8164H9.3213V3.05343Z\",\n fill: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadEcxelIcon);\nexport default __webpack_public_path__ + \"static/media/download_ecxel_icon.308aa6ec.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowUpIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.175 12.8417L10 9.02502L13.825 12.8417L15 11.6667L10 6.66669L5 11.6667L6.175 12.8417Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowUpIcon);\nexport default __webpack_public_path__ + \"static/media/arrow_up_icon.8eb41d51.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect} from \"react\";\r\nimport {Box, ClickAwayListener, Grid, Link, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {\r\n downloadExcelFileWithAnalyticsReportForSelectedFlyer,\r\n getAnalyticsDataForSelectedFlyer\r\n} from \"../../store/actionCreators/analyticsActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {PageSpinner} from \"../../components/com/pagesTab/pagesSpinner/spinner\";\r\nimport {FlyerDto} from \"../../dtos\";\r\nimport {ReactComponent as DashboardIcon} from \"../../assets/analitics_popup/view_dashboard_icon.svg\";\r\nimport {ReactComponent as DownloadExcelIcon} from \"../../assets/analitics_popup/download_ecxel_icon.svg\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n analyticsPopup: {\r\n // position: `absolute`,\r\n zIndex: 2,\r\n width: `200px`,\r\n height: \"320px\",\r\n // height: `250px`,\r\n // top: `calc(100% + 5px)`,\r\n // right: `0`,\r\n backgroundColor: `#FFFFFF`,\r\n border: `1px solid #D3D3D3`,\r\n borderRadius: `6px`,\r\n cursor: `default`,\r\n padding: `12px`\r\n },\r\n analyticsCell: {\r\n backgroundColor: `#B3B3B326`,\r\n borderRadius: `8px`,\r\n height: `64px`,\r\n padding: `12px`\r\n },\r\n cellCaption: {\r\n '&.MuiTypography-root': {\r\n fontWeight: `400`,\r\n fontSize: `12px`,\r\n lineHeight: `14px`,\r\n }\r\n },\r\n cellCount: {\r\n '&.MuiTypography-root': {\r\n fontWeight: `700`,\r\n fontSize: `16px`,\r\n lineHeight: `25px`,\r\n }\r\n }\r\n}))\r\n\r\ninterface Props {\r\n setShowAnalyticsPopup: (value: boolean) => void;\r\n closePopup: VoidFunction;\r\n flyerData?: FlyerDto | null;\r\n}\r\n\r\n\r\nexport const AnalyticsPopup: React.FC = ({\r\n setShowAnalyticsPopup,\r\n flyerData = null,\r\n closePopup\r\n }) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyersData = useTypedSelector((state) => state.flyers);\r\n const analyticsData = useTypedSelector((state) => state.analyticsData);\r\n\r\n useEffect(() => {\r\n dispatch(getAnalyticsDataForSelectedFlyer(flyerData ? flyerData.flyRecId! : flyerDetailsState.flyRecId));\r\n }, []);\r\n\r\n\r\n const downloadAnalyticsReport = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n closePopup();\r\n dispatch(downloadExcelFileWithAnalyticsReportForSelectedFlyer(flyerData ? flyerData.flyRecId! : flyerDetailsState.flyRecId, flyerData ? flyerData.flyDisplayCaption! : flyerDetailsState.flyDisplayCaption));\r\n }\r\n\r\n return (\r\n {\r\n closePopup();\r\n }}>\r\n \r\n {\r\n analyticsData.loading ?\r\n \r\n \r\n :\r\n \r\n \r\n \r\n Analytics\r\n \r\n \r\n \r\n \r\n \r\n \r\n Opens\r\n \r\n \r\n \r\n \r\n Lists\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Today\r\n \r\n \r\n {analyticsData.analyticsData?.todaysImpressions}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Today\r\n \r\n \r\n {analyticsData.analyticsData?.todaysConversions}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {analyticsData.analyticsData?.totalImpressions}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {analyticsData.analyticsData?.totalConversions}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) => {\r\n closePopup();\r\n }}\r\n href={flyersData?.analyticsDashboardUrl}\r\n fontSize={`14px`}\r\n lineHeight={`21px`}\r\n rel=\"noopener noreferrer\"\r\n target={\"_blank\"}\r\n sx={{\r\n columnGap: \"8px\",\r\n display: \"flex\",\r\n width: \"100%\",\r\n alignItems: \"center\",\r\n textDecoration: `none`,\r\n cursor: `pointer`,\r\n color: \"#014780\",\r\n padding: \"8px\",\r\n border: \"1px solid #014780\",\r\n borderRadius: \"6px\",\r\n \"&:hover\": {\r\n color: \"#014780\",\r\n textDecoration: `none`,\r\n }\r\n }}\r\n >\r\n \r\n View Dashboard\r\n \r\n \r\n \r\n \r\n \r\n Download Excel\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n )\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDownIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.175 7.15002L10 10.975L13.825 7.15002L15 8.33336L10 13.3334L5 8.33336L6.175 7.15002Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDownIcon);\nexport default __webpack_public_path__ + \"static/media/arrow_down_icon.c9d9a60a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUpDownIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 16,\n viewBox: \"0 0 11 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 6.75L5.5 2.25L10 6.75\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 9.25L5.5 13.75L1 9.25\",\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpDownIcon);\nexport default __webpack_public_path__ + \"static/media/up_down_icon.5b27017f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteNoFillIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 5H13.4143L13.7071 4.70711L14.4143 4H15.4207L15.3613 4.9367L14.4692 19.0001H5.47176L4.68264 4.94395L4.62964 4H5.58582L6.29292 4.7071L6.58581 5H7.00003H13ZM13 1.02389V2.58579L12.5858 3H7.41425L7.00004 2.58579V1.00342L13 1.02389Z\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteNoFillIcon);\nexport default __webpack_public_path__ + \"static/media/delete_no_fill_icon.b33a6c39.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Box, Button} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ConfigDto} from \"../../flippingFlyersCatalog/flippingFlyerTocTab\";\r\nimport {ReactComponent as ArrowUp} from \"../../../assets/editors/spots/arrow_up_icon.svg\";\r\nimport {ReactComponent as ArrowDown} from \"../../../assets/editors/spots/arrow_down_icon.svg\";\r\nimport {ReactComponent as ArrowUpDown} from \"../../../assets/up_down_icon.svg\";\r\n\r\nconst useStyle = makeStyles(() => ({\r\n sortButton: {\r\n \"&.MuiButton-root\": {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\"\r\n }\r\n },\r\n doubleArrowSortBox: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"20px\",\r\n height: \"20px\"\r\n },\r\n\r\n}))\r\n\r\n\r\ninterface Props {\r\n sortCaption: string;\r\n items: any[];\r\n setSortConfig: (data: ConfigDto) => void;\r\n sortConfig: ConfigDto | null\r\n}\r\n\r\nexport const SortBtn: React.FC = ({\r\n sortCaption,\r\n items,\r\n setSortConfig,\r\n sortConfig\r\n }) => {\r\n const classes = useStyle();\r\n\r\n const getClassNamesFor = (name: string) => {\r\n if (!sortConfig) {\r\n return;\r\n }\r\n return sortConfig.caption === name ? sortConfig.direction : undefined;\r\n };\r\n\r\n const requestSort = (caption: string) => {\r\n let direction = 'ascending';\r\n if (\r\n sortConfig &&\r\n sortConfig.caption === caption &&\r\n sortConfig.direction === 'ascending'\r\n ) {\r\n direction = 'descending';\r\n }\r\n setSortConfig({caption, direction});\r\n };\r\n\r\n\r\n return (\r\n {\r\n requestSort(sortCaption)\r\n }}\r\n >\r\n {\r\n !getClassNamesFor(sortCaption) &&\r\n \r\n \r\n \r\n }\r\n {\r\n getClassNamesFor(sortCaption) === \"descending\" &&\r\n \r\n }\r\n\r\n {\r\n getClassNamesFor(sortCaption) === \"ascending\" &&\r\n \r\n }\r\n \r\n )\r\n}","var _rect, _path, _defs;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIconPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 2,\n fill: \"url(#paint0_linear)\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.6708 12.7739L19.1466 12.7739C19.3043 12.7615 19.4516 12.689 19.5591 12.5709C19.6666 12.4528 19.7263 12.2978 19.7263 12.1368C19.7263 11.9759 19.6666 11.8209 19.5591 11.7028C19.4516 11.5847 19.3043 11.5122 19.1466 11.4998L12.6708 11.4998L12.6752 4.90811C12.663 4.74766 12.5918 4.59781 12.4757 4.4885C12.3596 4.37918 12.2072 4.31846 12.049 4.31846C11.8908 4.31846 11.7384 4.37918 11.6223 4.4885C11.5062 4.59781 11.4349 4.74766 11.4227 4.90811L11.4183 11.4998L4.93806 11.4953C4.85175 11.4885 4.76499 11.4999 4.68323 11.5289C4.60146 11.5578 4.52646 11.6036 4.46293 11.6634C4.3994 11.7232 4.34871 11.7958 4.31404 11.8765C4.27938 11.9572 4.26148 12.0443 4.26148 12.1323C4.26148 12.2204 4.27938 12.3075 4.31404 12.3882C4.34871 12.4689 4.3994 12.5414 4.46293 12.6012C4.52646 12.661 4.60146 12.7069 4.68323 12.7358C4.76499 12.7647 4.85175 12.7761 4.93806 12.7694L11.4183 12.7739L11.4183 19.3611C11.4305 19.5215 11.5018 19.6714 11.6179 19.7807C11.734 19.89 11.8863 19.9507 12.0445 19.9507C12.2027 19.9507 12.3551 19.89 12.4712 19.7807C12.5873 19.6714 12.6586 19.5215 12.6708 19.3611L12.6708 12.7739Z\",\n fill: \"white\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 2.03125,\n y1: 1.6875,\n x2: 23,\n y2: 23,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#DD5A01\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#F0CA21\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconPlus);\nexport default __webpack_public_path__ + \"static/media/icon_plus.87d38e2e.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState} from \"react\";\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ReactComponent as EditNoFillIcon} from \"../../../../../../../assets/edit_no_fill_icon.svg\";\r\nimport {ReactComponent as DeleteNoFillIcon} from \"../../../../../../../assets/delete_no_fill_icon.svg\";\r\nimport {FlyerClassDto} from \"../../../../../../../dtos\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {deleteFlyerClass} from \"../../../../../../../store/actionCreators/flyerClassesActionCreators\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n flyerClassWrap: {\r\n \"&:hover\": {\r\n backgroundColor: \"#dddddd\"\r\n }\r\n },\r\n flyerClassRow: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n borderBottom: \"1px solid #E4E4E4\",\r\n padding: \"12px\",\r\n }\r\n}))\r\n\r\ninterface Props {\r\n flyerClassData: FlyerClassDto;\r\n editNewFlyerClass: (flyerClass: FlyerClassDto) => void;\r\n}\r\n\r\nexport const FlyerClass: React.FC = ({\r\n flyerClassData,\r\n editNewFlyerClass\r\n }) => {\r\n const dispatch = useDispatch();\r\n const [showActions, setShowAction] = useState(false);\r\n const classes = useStyles();\r\n\r\n const onEdit = () => {\r\n editNewFlyerClass(flyerClassData);\r\n }\r\n const onDelete = () => {\r\n dispatch(deleteFlyerClass([Number(flyerClassData.id)]));\r\n }\r\n\r\n return (\r\n {\r\n setShowAction(true);\r\n }}\r\n onMouseLeave={() => {\r\n setShowAction(false);\r\n }}\r\n >\r\n \r\n \r\n {flyerClassData.caption}\r\n \r\n {showActions &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n )\r\n}","import axios from 'axios';\r\n\r\nimport {ActionType} from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport {Action as FlyerClassesActions} from \"../actions/flyerClassesActions\";\r\n\r\nimport {Dispatch} from 'redux';\r\nimport {\r\n ErrorDtoFactory, FlyerClassDto,\r\n UserDto\r\n} from '../../dtos';\r\n\r\nexport const getFlyerClasses = () => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_FLYER_CLASSES_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerClasses/GetFlyerClasses`;\r\n let result = await axios.get(url, config);\r\n const classNone = {\r\n accountId: -1,\r\n caption: \"Unclassified\",\r\n id: \"-1\"\r\n }\r\n let flyerClassesData = [...result.data.data].map((flyerClass) => {\r\n return {\r\n ...flyerClass,\r\n id: flyerClass.id.toString(),\r\n }\r\n });\r\n\r\n dispatch({\r\n type: ActionType.GET_FLYER_CLASSES_SUCCESS,\r\n payload: [classNone, ...flyerClassesData]\r\n })\r\n\r\n dispatch({\r\n type: ActionType.GET_FLYER_CLASSES_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_FLYER_CLASSES_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const deleteFlyerClass = (ids: number[]) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_FLYER_CLASS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerClasses/DeleteFlyerClasses`;\r\n let result = await axios.post(url, ids, config);\r\n let data = result.data;\r\n\r\n dispatch({\r\n type: ActionType.DELETE_FLYER_CLASS_SUCCESS,\r\n payload: ids\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_FLYER_CLASS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_FLYER_CLASS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const createFlyerClass = (classesCaption: string[]) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_CLASS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerClasses/CreateFlyerClasses`;\r\n let result = await axios.post(url, classesCaption, config);\r\n let newClasses = result.data.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_CLASS_SUCCESS,\r\n payload: newClasses\r\n })\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_CLASS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_CLASS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const updateFlyerClass = (updateClasses: FlyerClassDto[]) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_FLYER_CLASS_START,\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerClasses/UpdateFlyerClasses`;\r\n let result = await axios.post(url, updateClasses, config);\r\n\r\n\r\n dispatch({\r\n type: ActionType.UPDATE_FLYER_CLASS_SUCCESS,\r\n payload: updateClasses\r\n })\r\n dispatch({\r\n type: ActionType.UPDATE_FLYER_CLASS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPDATE_FLYER_CLASS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n","import React, {useState} from \"react\";\r\nimport {Box, Button, Input, Modal, Typography} from \"@mui/material\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {FlyerClassDto} from \"../../../../../../../dtos\";\r\nimport {createFlyerClass, updateFlyerClass} from \"../../../../../../../store/actionCreators/flyerClassesActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n createEditFlyerClassPopupWrap: {\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"20vw\",\r\n minWidth: \"322px\",\r\n backgroundColor: \"white\",\r\n display: \"flex\",\r\n flexFlow: \"column\"\r\n },\r\n createEditFlyerClassHeader: {\r\n position: \"relative\",\r\n padding: `12px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n \"& .MuiButton-root\": {\r\n \"& > svg\": {\r\n \"& > path\": {\r\n fill: `#ffffff`,\r\n },\r\n },\r\n },\r\n },\r\n\r\n actionBtn: {\r\n width: \"50%\",\r\n '&.MuiButton-root': {\r\n padding: `10px 20px`,\r\n textTransform: `inherit`,\r\n border: `1px solid #014780`,\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`,\r\n },\r\n '& > .MuiTypography-root': {\r\n lineHeight: `18px`,\r\n fontWeight: `700`\r\n }\r\n },\r\n mainBtn: {\r\n // width: `100%`,\r\n '&.MuiButton-root': {\r\n backgroundColor: `#014780`,\r\n \"&:hover\": {\r\n backgroundColor: `#01478080`,\r\n }\r\n },\r\n '& > .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n secondaryBtn: {\r\n // width: `100%`,\r\n background: `#ffffff`,\r\n '& > .MuiTypography-root': {\r\n color: `#014780`,\r\n }\r\n },\r\n}));\r\n\r\ninterface Props {\r\n show: boolean;\r\n isNew: boolean;\r\n flyerClassData: FlyerClassDto;\r\n hide: VoidFunction;\r\n}\r\n\r\nexport const CreateEditFlyerClassPopup: React.FC = ({\r\n show,\r\n isNew,\r\n flyerClassData,\r\n hide\r\n }) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [flyerClassState, setFlyerClassState] = useState(flyerClassData);\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n setFlyerClassState({\r\n ...flyerClassState,\r\n caption: value\r\n });\r\n }\r\n\r\n const compareDefaultPromoStateWithCurrentPromoState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(flyerClassData);\r\n const stringCurrentState = JSON.stringify(flyerClassState);\r\n return stringDefaultState !== stringCurrentState;\r\n }\r\n\r\n const onSave = () => {\r\n if(isNew){\r\n dispatch(createFlyerClass([flyerClassState.caption]));\r\n } else {\r\n dispatch(updateFlyerClass([flyerClassState]));\r\n }\r\n hide();\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {isNew ? \"Create Class\" : \"Edit Class\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Class:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Modal, Typography} from \"@mui/material\";\r\n\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport {SortBtn} from \"../../../../../../com/sortBtn/sortBtn\";\r\nimport {ConfigDto} from \"../../../../../../flippingFlyersCatalog/flippingFlyerTocTab\";\r\nimport {FlyerClassDto} from \"../../../../../../../dtos\";\r\nimport {FlyerClass} from \"./flyerClass\";\r\nimport {CreateEditFlyerClassPopup} from \"./createEditFlyerClassPopup\";\r\nimport {getFlyerClasses} from \"../../../../../../../store/actionCreators/flyerClassesActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n flyerClassesWrapper: {\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"20vw\",\r\n minWidth: \"322px\",\r\n backgroundColor: \"white\",\r\n height: \"70vh\",\r\n display: \"flex\",\r\n flexFlow: \"column\"\r\n\r\n },\r\n flyerClassesHeader: {\r\n position: \"relative\",\r\n padding: `12px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n \"& .MuiButton-root\": {\r\n \"& > svg\": {\r\n \"& > path\": {\r\n fill: `#ffffff`,\r\n },\r\n },\r\n },\r\n },\r\n newFlyerClassBtnWrap: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n padding: \"8px\"\r\n\r\n },\r\n flyerClassesContentHeader: {\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n justifyContent: \"space-between\",\r\n padding: \"8px 12px\",\r\n backgroundColor: \"#E9EEFF\"\r\n },\r\n}))\r\n\r\ninterface Props {\r\n show: boolean;\r\n onHide: VoidFunction;\r\n\r\n}\r\n\r\n\r\nexport const FlyerClassesPopup: React.FC = ({\r\n show,\r\n onHide\r\n }) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const flyerClasses = useTypedSelector((state) => state.flyerClasses);\r\n const [flyerClassesState, setFlyerClassesState] = useState([]);\r\n const [sortConfig, setSortConfig] = useState(null);\r\n const [isShowCreateEditPopup, setIsShowCreateEditPopup] = useState(false);\r\n const [flyerClassData, setFlyerClassData] = useState({\r\n caption: \"\",\r\n id: \"\",\r\n accountId: 0\r\n });\r\n const [isNewFlyerClass, setNewFlyerClass] = useState(false);\r\n\r\n useEffect(() => {\r\n dispatch(getFlyerClasses());\r\n }, []);\r\n\r\n useEffect(() => {\r\n setFlyerClassesState(flyerClasses.flyerClasses);\r\n }, [flyerClasses.flyerClasses])\r\n\r\n useEffect(() => {\r\n if (sortConfig) {\r\n let sortableItems = [...flyerClassesState];\r\n sortableItems.sort((a, b) => {\r\n if (a[sortConfig.caption as keyof FlyerClassDto].toString().toLowerCase() < b[sortConfig.caption as keyof FlyerClassDto].toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (a[sortConfig.caption as keyof FlyerClassDto].toString().toLowerCase() > b[sortConfig.caption as keyof FlyerClassDto].toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n setFlyerClassesState(sortableItems);\r\n }\r\n }, [sortConfig]);\r\n\r\n\r\n const createNewFlyerClass = () => {\r\n setFlyerClassData({\r\n caption: \"\",\r\n id: \"\",\r\n accountId: 0\r\n });\r\n setNewFlyerClass(true);\r\n setIsShowCreateEditPopup(true);\r\n }\r\n\r\n const editNewFlyerClass = (fyerClass: FlyerClassDto) => {\r\n setFlyerClassData(fyerClass);\r\n setNewFlyerClass(false);\r\n setIsShowCreateEditPopup(true);\r\n }\r\n\r\n const flyerClassesArray = flyerClassesState.map((data, index) => {\r\n return \r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Flyer Classes\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n + New Flyer Class\r\n \r\n \r\n \r\n \r\n \r\n Flyer classes\r\n \r\n \r\n \r\n \r\n {flyerClassesArray}\r\n \r\n \r\n \r\n {isShowCreateEditPopup &&\r\n {\r\n setIsShowCreateEditPopup(false);\r\n }}\r\n />\r\n }\r\n \r\n )\r\n}","import React from 'react';\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {ReactComponent as DeleteIcon} from \"../../../assets/flyersScreen/delete_icon.svg\";\r\n\r\ninterface Props {\r\n value: string;\r\n removeItem: (itemValue: string) => void;\r\n}\r\n\r\nexport const InputResult: React.FC = ({\r\n value,\r\n removeItem,\r\n }) => {\r\n\r\n const onDelete = () => {\r\n removeItem(value)\r\n }\r\n return (\r\n \r\n {value}\r\n svg path\": {\r\n fill: \"#ffffff\"\r\n },\r\n \"&:hover\": {\r\n backgroundColor: \"#FFFFFF80\",\r\n },\r\n }}\r\n >\r\n \r\n \r\n \r\n )\r\n}","import React, {FormEvent, useMemo} from 'react';\r\nimport {Box, Button, Grid, Typography} from \"@mui/material\";\r\nimport {TextareaWithLabel} from \"../../../com/textareaWithLabel/textareaWithLabel\";\r\nimport {InputResult} from \"./inputResult\";\r\n\r\ninterface Props {\r\n values: string[];\r\n addItem: (e: FormEvent) => void;\r\n removeItem: (itemValue: string) => void;\r\n inputValue: string;\r\n fieldName: string;\r\n labelGridSizeNumber: number;\r\n labelCaption: string;\r\n onChangeInput: (event: React.ChangeEvent | React.ChangeEvent) => void;\r\n isValid: boolean;\r\n labelAlign: `start` | `end` | `center`;\r\n isReadOnly?: boolean;\r\n\r\n}\r\n\r\nexport const InputWithShowingResults: React.FC = ({\r\n values,\r\n addItem,\r\n inputValue,\r\n fieldName,\r\n labelGridSizeNumber,\r\n labelCaption,\r\n onChangeInput,\r\n isValid,\r\n labelAlign,\r\n removeItem,\r\n isReadOnly = false\r\n }) => {\r\n\r\n const emailsComp = useMemo(() => {\r\n return values.map((value, index) => {\r\n return \r\n })\r\n }, [values, removeItem]);\r\n\r\n return (\r\n
\r\n \r\n \r\n {\r\n (!isReadOnly && values.length < 4) &&\r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n }\r\n \r\n {\r\n !isReadOnly &&\r\n \r\n \r\n \r\n \r\n {emailsComp}\r\n \r\n \r\n \r\n }\r\n
\r\n )\r\n}","import React, {FormEvent, useEffect, useState} from 'react';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n getEmailsSettingForAccount,\r\n setEmailsSettingForAccount\r\n} from \"../../../../../../../store/actionCreators/accountEmailsActionCreators\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {\r\n Box, Button, Grid,\r\n Modal, Typography,\r\n} from \"@mui/material\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport validator from \"validator\";\r\nimport {InputWithShowingResults} from \"../../../../../../com/inputWithShowingResults/inputWithShowingResults\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {convertEmailsObjectToArray} from \"../../../../../../../globals/globFunctions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n emailsSettingPopup: {\r\n width: `770px`,\r\n backgroundColor: `#ffffff`,\r\n height: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n emailsSettingPopupHeader: {\r\n padding: `6px 20px`,\r\n background: `linear-gradient(89.41deg, #0198D2 0%, #3540A8 100%)`,\r\n \"& .MuiButton-root\": {\r\n \"& > svg\": {\r\n \"& > path\": {\r\n fill: `#ffffff`,\r\n },\r\n },\r\n },\r\n },\r\n buttonSave: {\r\n width: `100%`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n \"&.MuiButton-root\": {\r\n padding: `10px 0`,\r\n backgroundColor: `#014780`,\r\n \"&:hover\": {\r\n backgroundColor: `#01478080`,\r\n }\r\n },\r\n \"&.Mui-disabled\": {\r\n opacity: `0.5`,\r\n },\r\n \"& > .MuiTypography-root\": {\r\n lineHeight: `15px`,\r\n },\r\n },\r\n}))\r\n\r\ninterface Props {\r\n show: boolean;\r\n onHide: () => void;\r\n}\r\n\r\nconst AccountEmailSettingPopup: React.FC = ({\r\n show,\r\n onHide\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {accountEmailsState} = useTypedSelector((state) => state);\r\n const [inputValue, setInputValue] = useState('');\r\n const [emails, setEmails] = useState([]);\r\n const [isChangesNotSaved, changeStatusForNotSavedChanges] = useState(false);\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n dispatch(getEmailsSettingForAccount());\r\n }, []);\r\n\r\n useEffect(() => {\r\n const emailsArray = convertEmailsObjectToArray(accountEmailsState?.emails || {});\r\n setEmails(emailsArray);\r\n setInputValue(\"\");\r\n changeStatusForNotSavedChanges(false);\r\n }, [accountEmailsState.emails]);\r\n\r\n const isEmailsStateWasChanged = (): boolean => {\r\n const emailsArrayDefault = convertEmailsObjectToArray(accountEmailsState?.emails || {});\r\n return JSON.stringify(emailsArrayDefault) !== JSON.stringify(emails);\r\n }\r\n const onChangeEmail = (event: React.ChangeEvent | React.ChangeEvent) => {\r\n const value = event.target.value;\r\n setInputValue(value);\r\n }\r\n\r\n const checkValidValue = (): boolean => {\r\n return validator.isEmail(inputValue) || inputValue === '';\r\n };\r\n\r\n const isAlreadyExist = (): boolean => {\r\n return emails.some(email => email === inputValue);\r\n };\r\n\r\n const addEmail = (e: FormEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (!checkValidValue() || emails.length >= 4 || isAlreadyExist() || !inputValue) {\r\n return;\r\n }\r\n setEmails([\r\n ...emails,\r\n inputValue\r\n ]);\r\n setInputValue(\"\");\r\n }\r\n\r\n const removeEmail = (email: string) => {\r\n const newEmails = emails.filter(emailFromState => emailFromState !== email);\r\n setEmails(newEmails);\r\n }\r\n const onClosePopup = () => {\r\n if (isEmailsStateWasChanged()) {\r\n changeStatusForNotSavedChanges(true);\r\n } else {\r\n onHide();\r\n }\r\n };\r\n\r\n const onSaveEmails = () => {\r\n dispatch(setEmailsSettingForAccount({\r\n emailAddress1: emails[0] || '',\r\n emailAddress2: emails[1] || '',\r\n emailAddress3: emails[2] || '',\r\n emailAddress4: emails[3] || '',\r\n }));\r\n onHide();\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n {accountEmailsState.loading ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n Email Settings\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n This setting is designed for Account’s administrator.\r\n
\r\n Enter the following parameters in order to create a working URL\r\n that sends My List items and quantities to your online store.\r\n
\r\n First see how the current color-coded default values form the\r\n RESULT URL in the bottom of this screen.\r\n
\r\n Then edit (or remove) the values as necessary in order to create\r\n the RESULT URL that works for you.\r\n
\r\n \r\n \r\n {/*main fields*/}\r\n \r\n \r\n \r\n \r\n {/*save btn*/}\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {isChangesNotSaved && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default AccountEmailSettingPopup;","import {EmailsObjectDto, ErrorDtoFactory, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as AccountEmailsSettingsActions} from \"../actions/accountEmailsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport axios from \"axios\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\n\r\nexport const getEmailsSettingForAccount = () => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_EMAILS_SETTING_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/Account/GetContactDetails/${userDto.userId}`;\r\n let result = await axios.get(url, config);\r\n let data = result.data.data\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_EMAILS_SETTING_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_EMAILS_SETTING_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_EMAILS_SETTING_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const setEmailsSettingForAccount = (emailsObj: EmailsObjectDto) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_EMAILS_SETTING_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/Account/SetContactDetails/${userDto.userId}`;\r\n let result = await axios.post(url, emailsObj, config);\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_EMAILS_SETTING_SUCCESS,\r\n payload: emailsObj\r\n })\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_EMAILS_SETTING_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SET_ACCOUNT_EMAILS_SETTING_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport {Box, Typography} from \"@mui/material\";\r\nimport {ClosePopupBtn} from \"../../../com/closePopupBtn/closePopupBtn\";\r\n\r\ninterface Props {\r\n onClose: VoidFunction;\r\n headerCaption: string;\r\n //header bg\r\n bg?: string;\r\n //justifyContent\r\n jc?: string;\r\n classForHeader?: string;\r\n}\r\n\r\nexport const PopupHeader: React.FC = ({\r\n onClose,\r\n headerCaption,\r\n bg = \"#014780\",\r\n jc = \"center\",\r\n classForHeader = \"\",\r\n }) => {\r\n return (\r\n \r\n \r\n \r\n {headerCaption}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n}","import React, {useEffect, useRef, useState} from 'react';\r\nimport {Box, Button, TableCell, TableRow, Typography} from \"@mui/material\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\nimport {\r\n AccountStoreSettingDto,\r\n ItemsListMenuDto,\r\n StoreShelfStylesDto\r\n} from \"../../../../../../../dtos\";\r\nimport {ReactComponent as CameraIcon} from \"../../../../../../../assets/camera_icon.svg\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n tableRow: {\r\n \"& > .MuiTableCell-root\": {\r\n textAlign: \"center\",\r\n borderTop: \"1px solid #dee2e6\",\r\n padding: 0,\r\n borderRight: \"2px solid #e2e2e2\",\r\n borderBottom: \"none\"\r\n },\r\n '&.onHoverEffect': {\r\n backgroundColor: \"#e4e4e480\",\r\n }\r\n },\r\n cellBox: {\r\n height: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n },\r\n storeMainColor: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n borderRadius: \"50%\"\r\n }\r\n}))\r\n\r\ninterface Props {\r\n storeSettingData: AccountStoreSettingDto;\r\n setIsCloseMenu: (value: boolean) => void;\r\n isCloseMenu: boolean;\r\n onEdit: (storeSettingData: AccountStoreSettingDto) => void;\r\n onDelete: (storeSettingData: AccountStoreSettingDto) => void;\r\n setDefaultSettingForStore: (storeSettingData: AccountStoreSettingDto) => void;\r\n}\r\n\r\nconst StoreSettingsRow: React.FC = ({\r\n storeSettingData,\r\n setIsCloseMenu,\r\n isCloseMenu,\r\n onEdit,\r\n onDelete,\r\n setDefaultSettingForStore\r\n }) => {\r\n const anchorRefForMenu = useRef(null);\r\n const storeShelfStyles: StoreShelfStylesDto = useTypedSelector((state) => state.storeShelfStyles);\r\n const shelfStyleData = storeShelfStyles.storeShelfStyles.find((shelfStyle) => {\r\n if(shelfStyle.id === storeSettingData.storeShelfStyleId){\r\n return shelfStyle;\r\n }\r\n })\r\n const [isHoverOnRow, changeStatusForHoverOnRow] = useState(false);\r\n const [isOpenedMenu, setOpenMenu] = useState(false);\r\n const prevOpenMenu = useRef(isOpenedMenu);\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n setIsCloseMenu(!isOpenedMenu);\r\n }, [isOpenedMenu]);\r\n\r\n useEffect(() => {\r\n if (isCloseMenu && isOpenedMenu) {\r\n setOpenMenu(!isOpenedMenu);\r\n }\r\n }, [isCloseMenu]);\r\n\r\n const onDeleteStoreSetting = () => {\r\n // if (props.dto.isDeleteable) {\r\n onDelete(storeSettingData);\r\n onMouseLeaveRow();\r\n // }\r\n }\r\n const onEditStoreSetting = () => {\r\n onEdit(storeSettingData);\r\n onMouseLeaveRow()\r\n }\r\n const setDefaultStoreSetting = () => {\r\n setDefaultSettingForStore(storeSettingData)\r\n onMouseLeaveRow()\r\n }\r\n const onMouseEnterRow = () => {\r\n changeStatusForHoverOnRow(true);\r\n }\r\n\r\n const onMouseLeaveRow = () => {\r\n changeStatusForHoverOnRow(false);\r\n setOpenMenu(false);\r\n }\r\n\r\n const handleToggleForFlyer = () => {\r\n setOpenMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenMenu,\r\n prevOpen: prevOpenMenu,\r\n open: isOpenedMenu,\r\n anchorRef: anchorRefForMenu,\r\n };\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {storeSettingData.caption}{storeSettingData.isDefaultAccountStoreSetting && \" (Default)\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n storeSettingData && storeSettingData.logoUrl &&\r\n )}\r\n />\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n storeSettingData.backgroundImageUrl && !Boolean(storeSettingData.backgroundColorRgb)\r\n ? )}\r\n />\r\n :
\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n shelfStyleData && shelfStyleData.textureImageUrl &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n shelfStyleData && !shelfStyleData.textureImageUrl &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n storeSettingData.font === 'OpenSans' ?\r\n 'Open Sans' :\r\n (\r\n storeSettingData.font === 'AlmoniTzar' ?\r\n 'Almoni Tzar (Hebrew)' :\r\n (\r\n storeSettingData.font === 'OpenSansHeb' ?\r\n 'Open Sans (Hebrew)' :\r\n storeSettingData.font\r\n )\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n {isHoverOnRow &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport default StoreSettingsRow;","import React, {useState} from 'react';\r\nimport {AccountStoreSettingDto} from \"../../../../../../../dtos\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport StoreSettingsRow from \"./storeSettingsRow\";\r\nimport {Table, TableCell, TableHead, TableRow} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n storeSettingsTableWrapper: {\r\n maxHeight: \"60vh\",\r\n overflow: \"auto\",\r\n border: \"2px solid #e2e2e2\",\r\n borderRight: \"none\",\r\n },\r\n storeSettingsTable: {\r\n borderCollapse: \"collapse\",\r\n margin: 0\r\n },\r\n storeSettingTableHeadRow: {\r\n \"& > .MuiTableCell-root\": {\r\n verticalAlign: \"bottom\",\r\n borderBottom: \"2px solid #dee2e6\",\r\n textAlign: \"center\",\r\n border: \"none\",\r\n zIndex: 1,\r\n minWidth: \"32px\",\r\n padding: \"8px\",\r\n backgroundColor: \"#d4dade\",\r\n fontWeight: \"700\",\r\n position: \"sticky\",\r\n top: 0,\r\n boxShadow: \"0 0 0 2px #e8e8e8\",\r\n borderTop: 0,\r\n borderRight: \"2px solid #e2e2e2\"\r\n }\r\n }\r\n}))\r\n\r\ninterface IGuiThemesTable {\r\n storeSettingArray: AccountStoreSettingDto[];\r\n onEdit: (storeSettingData: AccountStoreSettingDto) => void;\r\n onDelete: (storeSettingData: AccountStoreSettingDto) => void;\r\n setDefaultSettingForStore: (storeSettingData: AccountStoreSettingDto) => void;\r\n}\r\n\r\nconst StoreSettingsTable: React.FC = ({\r\n storeSettingArray,\r\n onEdit,\r\n onDelete,\r\n setDefaultSettingForStore\r\n }) => {\r\n const classes = useStyles();\r\n const [isCloseMenu, setIsCloseMenu] = useState(true);\r\n\r\n const onScroll = () => {\r\n setIsCloseMenu(true);\r\n }\r\n\r\n const items = storeSettingArray.map((storeSetting: AccountStoreSettingDto) => {\r\n return \r\n\r\n })\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Store Setting Name\r\n Store Logo\r\n Color\r\n Background\r\n Shelves\r\n Font\r\n \r\n \r\n \r\n\r\n {items}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default StoreSettingsTable","import React from 'react';\r\nimport {Box, MenuItem, Select} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {StoreShelfStyleDto, StoreShelfStylesDto} from \"../../dtos\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\n\r\ninterface Props {\r\n onChange: (value: number) => void;\r\n shelfStyleId: number;\r\n}\r\n\r\nconst StoreShelfStylesSelect: React.FC = ({\r\n onChange,\r\n shelfStyleId\r\n }) => {\r\n const storeShelfStyles: StoreShelfStylesDto = useTypedSelector((state) => state.storeShelfStyles)\r\n\r\n const onChangeShelfStyle = (item: any) => {\r\n if (onChange) {\r\n onChange!(Number(item.target.value));\r\n }\r\n };\r\n\r\n\r\n const frameTypeSelectOptions = storeShelfStyles.storeShelfStyles.map((shelfStyle: StoreShelfStyleDto) => {\r\n return (\r\n \r\n \r\n\r\n {\r\n shelfStyle.textureImageUrl &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n !shelfStyle.textureImageUrl &&\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n )\r\n })\r\n\r\n return (\r\n .MuiSelect-select': {\r\n padding: `12px 8px`\r\n }\r\n }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: {\r\n \"& .MuiMenuItem-root.Mui-selected\": {\r\n backgroundColor: \"#C7C6C1!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root:hover\": {\r\n backgroundColor: \"#999DA0\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root.Mui-selected:hover\": {\r\n backgroundColor: \"#818380!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n }\r\n }\r\n },\r\n MenuListProps: {\r\n sx: {\r\n padding: \"4px 0\",\r\n }\r\n }\r\n }}\r\n >\r\n {frameTypeSelectOptions}\r\n \r\n )\r\n}\r\n\r\nexport default StoreShelfStylesSelect;","import React, {useEffect, useState} from 'react';\r\nimport {\r\n AccountStoreSettingDto,\r\n FileDto,\r\n FlyerLanguageDto, StoreShelfStylesDto,\r\n} from \"../../../../../../../../dtos\";\r\nimport Draggable from \"react-draggable\";\r\nimport {Box, Button, Grid, Typography} from \"@mui/material\";\r\nimport {PopupHeader} from \"../../../../../../../com/popupHeader/popupHeader\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport TextInput from \"../../../../../../../../com/textInput/TextInput\";\r\nimport ColorsSelector from \"../../../../../../../../com/colorsSelector2/ColorsSelector\";\r\nimport LabelFileSelector from \"../../../../../../../../com/labelFileSelector/LabelFileSelector\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport './storeSettingCreateEditPopup.scss'\r\nimport {FONT_NAME_ROBOTO, FONTS_ARRAY_FOR_SELECT} from \"../../../../../../../../globals\";\r\nimport ImageLoader from \"../../../../../../../../com/imageLoader/ImageLoader\";\r\nimport {ReactComponent as CameraIcon} from \"../../../../../../../../assets/camera_icon.svg\";\r\nimport {ReactComponent as UploadIcon} from \"../../../../../../../../assets/editors/upload_icon.svg\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../../../com/statusPopup/StatusPopup\";\r\nimport {useTypedSelector} from \"../../../../../../../../hooks/useTypeSelector\";\r\nimport {PageSpinner} from \"../../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport StoreShelfStylesSelect from \"../../../../../../../../com/storeShelfStylesSelect/storeShelfStylesSelect\";\r\nimport FontsSelect from '../../../../../../../../com/fontsSelect/fontsSelect';\r\nimport Switch from \"react-switch\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n storeSettingCreateEditWrapperContainer: {\r\n position: \"absolute\",\r\n zIndex: 1061,\r\n top: 0,\r\n left: 0,\r\n height: \"100vh\",\r\n width: \"100vw\",\r\n backgroundColor: \"#00000080\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\"\r\n },\r\n storeSettingCreateEditPopup: {\r\n width: `564px`,\r\n backgroundColor: `#ffffff`,\r\n maxHeight: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n storeSettingCreateEditContentWrapper: {\r\n padding: \"20px\",\r\n },\r\n saveBtn: {\r\n \"&.MuiButton-root\": {\r\n fontStyle: \"normal\",\r\n fontWeight: \"500\",\r\n lineHeight: \"22px\",\r\n /* or 157% */\r\n\r\n textAlign: \"center\",\r\n\r\n color: \"#FFFFFF\",\r\n width: \"100%\",\r\n borderRadius: \"2px\",\r\n\r\n background: \"linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)\",\r\n\r\n paddingTop: \"8px\",\r\n paddingBottom: \"8px\",\r\n \"&.Mui-disabled\": {\r\n opacity: \"0.5\",\r\n color: \"#FFFFFF\",\r\n\r\n }\r\n },\r\n }\r\n}));\r\n\r\ninterface LanguageDto {\r\n value?: string,\r\n label?: string,\r\n language?: FlyerLanguageDto\r\n}\r\n\r\ninterface CurrencyDto {\r\n value?: string,\r\n label?: string,\r\n}\r\n\r\ninterface Props {\r\n show: boolean;\r\n onHide: VoidFunction;\r\n storeSetting: AccountStoreSettingDto;\r\n onSave: (storeSettingData: AccountStoreSettingDto, backgroundFile: FileDto | null, logoFile: FileDto | null) => void;\r\n}\r\n\r\nconst StoreSettingCreateEditPopup: React.FC = ({\r\n show,\r\n onHide,\r\n storeSetting,\r\n onSave\r\n }) => {\r\n const customStylesForSelect = {\r\n control: (base: any) => ({\r\n ...base,\r\n boxShadow: \"none\",\r\n height: \"48px\",\r\n border: \"1px solid #ced4da\",\r\n borderLeft: `1px solid #ced4da`,\r\n borderRadius: `5px`,\r\n fontWeight: \"normal\",\r\n textAlign: \"start\",\r\n lineHeight: \"1\",\r\n minHeight: `auto`,\r\n cursor: \"pointer\",\r\n \":hover\": {\r\n border: \"1px solid #ced4da\",\r\n borderLeft: `1px solid #ced4da`,\r\n },\r\n }),\r\n\r\n singleValue: (base: any) => ({\r\n ...base,\r\n // fontSize: `16px`,\r\n lineHeight: `24px`\r\n // height: \"16px\",\r\n }),\r\n valueContainer: (base: any) => ({\r\n ...base,\r\n height: \"48px\",\r\n padding: \"2px 8px\",\r\n fontSize: \"16px\",\r\n }),\r\n input: (base: any) => ({\r\n ...base,\r\n height: \"48px\",\r\n }),\r\n menuList: (base: any) => ({\r\n ...base,\r\n fontWeight: \"normal\",\r\n padding: \"2px 0\"\r\n\r\n }),\r\n menu: (base: any) => ({\r\n ...base,\r\n zIndex: `2`,\r\n margin: \"4px 0\"\r\n })\r\n };\r\n\r\n const classes = useStyles();\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const accountStoreSettings = useTypedSelector((state) => state.accountStoreSettings);\r\n const storeShelfStyles: StoreShelfStylesDto = useTypedSelector((state) => state.storeShelfStyles)\r\n\r\n const [themeName, setThemeName] = useState('');\r\n const [color, setColor] = useState('#ffff00');\r\n const [isDisplayPrices, setIsDisplayPrices] = useState(true);\r\n const [isDisplayPromos, setIsDisplayPromos] = useState(true);\r\n const [backgroundColor, setBackgroundColor] = useState('#ffff00')\r\n\r\n const [logo, setLogo] = useState(null)\r\n const [backgroundImg, setBackgroundImg] = useState(null);\r\n const [logoUrl, setLogoUrl] = useState(null);\r\n const [backgroundUrl, setBackgroundUrl] = useState(null);\r\n const [language, setLanguage] = useState();\r\n\r\n const [isImageUrlSelected, setImageUrlMain] = useState(false);\r\n\r\n const [fontValue, setFontValue] = useState(FONT_NAME_ROBOTO);\r\n const [fontLabel, setFontLabel] = useState(FONT_NAME_ROBOTO);\r\n\r\n const [shelfStyleId, setShelfStyleId] = useState(storeSetting.storeShelfStyleId ? storeSetting.storeShelfStyleId : storeShelfStyles.storeShelfStyles && storeShelfStyles.storeShelfStyles[0] ? storeShelfStyles.storeShelfStyles[0].id : 0);\r\n\r\n\r\n const [infoPopupSubTitle, setInfoPopupSubTitle] = useState('');\r\n const [showInfoPopup, setShowInfoPopup] = useState(false);\r\n const widthForLabels = \"col-sm-4\";\r\n const widthForInputs = \"col-sm-8\";\r\n\r\n const languages = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.code,\r\n label: lang.caption,\r\n language: {\r\n ...lang\r\n }\r\n }\r\n });\r\n\r\n\r\n useEffect(() => {\r\n const currentLang = getLanguage(storeSetting.languageCultureId ? storeSetting.languageCultureId : 0, languages ? languages : []);\r\n setLanguage(currentLang);\r\n setThemeName(storeSetting.caption ? storeSetting.caption : '')\r\n setColor(storeSetting.primaryColorRgb ? storeSetting.primaryColorRgb : '#0000FF')\r\n setBackgroundColor(storeSetting.backgroundColorRgb ? storeSetting.backgroundColorRgb : '#ffffff')\r\n setIsDisplayPrices(storeSetting.isDisplayPrices ? storeSetting.isDisplayPrices : false);\r\n setIsDisplayPromos(storeSetting.isDisplayPromos ? storeSetting.isDisplayPromos : false);\r\n let fileDto: FileDto = {\r\n file: null,\r\n label: storeSetting.logo ? storeSetting.logo : null\r\n }\r\n setLogo(fileDto)\r\n\r\n const backgroundDto: FileDto = {\r\n file: null,\r\n label: storeSetting.backgroundImage ? storeSetting.backgroundImage : null\r\n }\r\n setBackgroundImg(backgroundDto);\r\n setLogoUrl(storeSetting.logoUrl ? storeSetting.logoUrl : '');\r\n setBackgroundUrl(storeSetting.backgroundImageUrl ? storeSetting.backgroundImageUrl : ``);\r\n setImageUrlMain(!Boolean(storeSetting.backgroundColorRgb) && Boolean(storeSetting.backgroundImageUrl));\r\n\r\n setFontValue(storeSetting.font ? storeSetting.font : FONT_NAME_ROBOTO);\r\n if (storeSetting.font === 'OpenSans') {\r\n setFontLabel('Open Sans')\r\n } else if (storeSetting.font === 'AlmoniTzar') {\r\n setFontLabel('Almoni Tzar (Hebrew)')\r\n } else if (storeSetting.font === 'OpenSansHeb') {\r\n setFontLabel('Open Sans (Hebrew)')\r\n } else {\r\n setFontLabel(storeSetting.font ? storeSetting.font : FONT_NAME_ROBOTO);\r\n }\r\n\r\n }, [storeSetting]);\r\n\r\n\r\n useEffect(() => {\r\n if (accountStoreSettings.type === \"SAVE_ACCOUNT_STORE_SETTING_SUCCESS\") {\r\n onHide();\r\n }\r\n\r\n }, [accountStoreSettings.type])\r\n\r\n const onColorSwatchChange = (hexColor: string) => {\r\n setColor(hexColor);\r\n }\r\n\r\n const onBackgroundSwatchChange = (hexColor: string) => {\r\n setBackgroundColor(hexColor);\r\n setImageUrlMain(false);\r\n }\r\n\r\n const onFontSelectorChange = (value: string) => {\r\n setFontValue(value);\r\n const selectedFont = FONTS_ARRAY_FOR_SELECT.find((fontInArray) => {\r\n if(fontInArray.value === value){\r\n return fontInArray\r\n }\r\n });\r\n if(selectedFont){\r\n setFontLabel(selectedFont.label);\r\n }\r\n }\r\n\r\n const onChangeShelfStyle = (value: number) => {\r\n setShelfStyleId(value);\r\n }\r\n\r\n const toggleShowPrices = () => {\r\n setIsDisplayPrices(!isDisplayPrices);\r\n }\r\n\r\n const toggleShowPromos = () => {\r\n setIsDisplayPromos(!isDisplayPromos);\r\n }\r\n\r\n const onUploadLogoFileChange = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n\r\n let imageLoader = new ImageLoader();\r\n let imageDimentions = await imageLoader.loadImageDimensions(file);\r\n if (imageDimentions.width > 300 || imageDimentions.height > 200) {\r\n setInfoPopupSubTitle('Logo must be smaller than 300x200px.')\r\n setShowInfoPopup(true)\r\n return;\r\n }\r\n\r\n const newLogo: FileDto = {\r\n label: file.name,\r\n file: file\r\n };\r\n\r\n setLogo(newLogo);\r\n setLogoUrl(URL.createObjectURL(file));\r\n }\r\n\r\n const onUploadBackgroundImage = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n const newBackground: FileDto = {\r\n label: file.name,\r\n file: file\r\n };\r\n\r\n setBackgroundImg(newBackground);\r\n setBackgroundUrl(URL.createObjectURL(file));\r\n setImageUrlMain(true);\r\n }\r\n\r\n const handleSave = () => {\r\n const data: AccountStoreSettingDto = {\r\n ...storeSetting,\r\n languageCultureId: language?.language?.id ? language?.language?.id : 1,\r\n id: storeSetting.id ? storeSetting.id : 0,\r\n caption: themeName,\r\n primaryColorRgb: color,\r\n logo: logo?.label!,\r\n logoUrl: logoUrl ? logoUrl! : '',\r\n font: fontValue,\r\n backgroundColorRgb: !isImageUrlSelected ? backgroundColor : ``,\r\n backgroundImage: isImageUrlSelected ? backgroundImg?.label : ``,\r\n backgroundImageUrl: isImageUrlSelected && backgroundUrl ? backgroundUrl : '',\r\n storeShelfStyleId: shelfStyleId,\r\n isDisplayPrices,\r\n isDisplayPromos\r\n }\r\n onSave(data, backgroundImg ? backgroundImg : null, logo ? logo! : null);\r\n }\r\n\r\n const getLanguage = (\r\n langId: number,\r\n languages: LanguageDto[] | []\r\n ): LanguageDto => {\r\n const langFromLangArray = languages.find((lang: LanguageDto) => lang.language?.id === langId);\r\n\r\n if (langId !== 0 && langFromLangArray) {\r\n return {\r\n ...langFromLangArray\r\n }\r\n } else {\r\n return {\r\n value: \"en-US\",\r\n label: `English (US)`,\r\n language: {\r\n caption: \"English (US)\",\r\n captionNative: \"English (US)\",\r\n code: \"en-US\",\r\n currencyAbbrv: \"USD\",\r\n currencySymbol: \"$\",\r\n dir: \"LTR\",\r\n id: 1\r\n }\r\n }\r\n }\r\n };\r\n\r\n const changeLang = (item: any) => {\r\n setLanguage(item);\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n\r\n const setting = {\r\n modalName: \"error\"\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {accountStoreSettings.loading &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n\r\n
\r\n {\r\n let value = e.target.value;\r\n setThemeName(value)\r\n }}\r\n errorMessage={''}\r\n verticalMode={false}\r\n horizontalLabelCol={widthForLabels}\r\n horizontalInputCol={widthForInputs}\r\n maxLength={30}\r\n bordersColor={\"#d1d7db\"}\r\n withoutErrorMessage={true}\r\n />\r\n
\r\n\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* option.value!}*/}\r\n {/* getOptionLabel={(option) => option.label!}*/}\r\n {/* options={languages}*/}\r\n {/* isSearchable={false}*/}\r\n {/* />*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* {}}*/}\r\n {/* errorMessage={''}*/}\r\n {/* verticalMode={false}*/}\r\n {/* horizontalLabelCol={widthForLabels}*/}\r\n {/* horizontalInputCol={widthForInputs}*/}\r\n {/* maxLength={30}*/}\r\n {/* withoutErrorMessage={true}*/}\r\n {/* readOnly={true}*/}\r\n {/* bordersColor={\"transparent\"}*/}\r\n {/* />*/}\r\n {/*
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n !logo?.label &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n No Image\r\n \r\n \r\n \r\n }\r\n {\r\n logoUrl &&\r\n \r\n \r\n \"img\"\r\n \r\n\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n {backgroundImg?.label && isImageUrlSelected\r\n ? \r\n {backgroundImg.label}\r\n \r\n : No Image\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {/**/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/**/}\r\n \r\n \r\n setShowInfoPopup(false)}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default StoreSettingCreateEditPopup;","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {AccountStoreSettingDto, FileDto} from \"../../../../../../../dtos\";\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport Draggable from \"react-draggable\";\r\nimport {PopupHeader} from \"../../../../../../com/popupHeader/popupHeader\";\r\nimport {\r\n deleteStoreSettingForAccount,\r\n getStoreSettingForAccount, saveStoreSettingForAccount, setDefaultStoreSettingForAccount\r\n} from \"../../../../../../../store/actionCreators/accountStoreSettingsActionCreators\";\r\nimport StoreSettingsTable from \"./storeSettingsTable\";\r\nimport StoreSettingCreateEditPopup from \"./storeSettingCreateEditPopup/storeSettingCreateEditPopup\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n storeSettingsPopupWrapperContainer: {\r\n position: \"absolute\",\r\n zIndex: 1061,\r\n top: 0,\r\n left: 0,\r\n height: \"100vh\",\r\n width: \"100vw\",\r\n backgroundColor: \"#00000080\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\"\r\n },\r\n storeSettingsPopup: {\r\n width: `880px`,\r\n backgroundColor: `#ffffff`,\r\n maxHeight: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n storeSettingsPopupContentWrapper: {\r\n padding: \"20px\",\r\n },\r\n selectedStoreSettingCaption: {},\r\n controlsRowWrapper: {\r\n marginBottom: \"20px\",\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"80px\",\r\n '& > .MuiButton-root': {\r\n padding: \"8px\",\r\n background: \"linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)\",\r\n color: \"#FFFFFF\",\r\n borderRadius: \"2px\"\r\n }\r\n },\r\n selectedStoreSettingCaptionWrapper: {\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"8px\",\r\n alignItems: \"center\"\r\n },\r\n}))\r\n\r\n\r\ninterface Props {\r\n onHide: () => void;\r\n}\r\n\r\nconst StoreSettingsPopup: React.FC = ({\r\n onHide\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {accountStoreSettings} = useTypedSelector((state) => state);\r\n const classes = useStyles();\r\n const [storeSettings, setStoreSettings] = useState([]);\r\n const [showStoreSettingPopup, setShowStoreSettingPopup] = useState(false);\r\n const [currentStoreSettingData, setCurrentStoreSettingData] = useState({});\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getStoreSettingForAccount());\r\n return () => {\r\n\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n setStoreSettings(accountStoreSettings.storeSettings);\r\n }, [accountStoreSettings.type]);\r\n\r\n\r\n const handleEditRow = (storeSettingData: AccountStoreSettingDto) => {\r\n setCurrentStoreSettingData(storeSettingData)\r\n setShowStoreSettingPopup(true);\r\n }\r\n\r\n const handleDeleteRow = (storeSettingData: AccountStoreSettingDto) => {\r\n setShowStoreSettingPopup(false);\r\n dispatch(deleteStoreSettingForAccount(storeSettingData.id!, storeSettings));\r\n }\r\n\r\n const setDefaultSettingForStore = (storeSettingData: AccountStoreSettingDto) => {\r\n setShowStoreSettingPopup(false);\r\n dispatch(setDefaultStoreSettingForAccount(storeSettingData.id!, storeSettings));\r\n }\r\n\r\n const handleSaveForStoreSettingPopup = (storeSettingData: AccountStoreSettingDto, backgroundFile: FileDto | null, logoFile: FileDto | null) => {\r\n dispatch(saveStoreSettingForAccount(storeSettingData, storeSettings, backgroundFile, logoFile));\r\n // setShowStoreSettingPopup(false);\r\n }\r\n\r\n const createNewStoreSetting = () => {\r\n setCurrentStoreSettingData({});\r\n setShowStoreSettingPopup(true);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {accountStoreSettings.loading &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* Current store style:*/}\r\n {/* */}\r\n {/* */}\r\n {/* Some setting*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n {\r\n showStoreSettingPopup &&\r\n setShowStoreSettingPopup(false)}\r\n storeSetting={currentStoreSettingData}\r\n onSave={handleSaveForStoreSettingPopup}\r\n />\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default StoreSettingsPopup;","import {AccountStoreSettingDto, ErrorDtoFactory, FileDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as AccountStoreSettingsActions} from \"../actions/accountStoreSettingsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport axios from \"axios\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\n\r\nexport const getStoreSettingForAccount = () => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_STORE_SETTINGS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/StoreSettings/GetStoreSettings`;\r\n let result = await axios.get(url, config);\r\n let data = result.data.data\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_STORE_SETTINGS_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_STORE_SETTINGS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_ACCOUNT_STORE_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const deleteStoreSettingForAccount = (storeSettingId: number, storeSettings: AccountStoreSettingDto[]) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_ACCOUNT_STORE_SETTINGS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/StoreSettings/${storeSettingId}`;\r\n let result = await axios.delete(url, config);\r\n const storeSettingsAfterDelete = storeSettings.filter((storeSetting) => storeSetting.id !== storeSettingId);\r\n dispatch({\r\n type: ActionType.DELETE_ACCOUNT_STORE_SETTINGS_SUCCESS,\r\n payload: storeSettingsAfterDelete\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_ACCOUNT_STORE_SETTINGS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_ACCOUNT_STORE_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const setDefaultStoreSettingForAccount = (storeSettingId: number, storeSettings: AccountStoreSettingDto[]) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n const requestData = {\r\n defaultAccountStoreSettingId: storeSettingId\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/StoreSettings/SetAccountDefaultStoreSetting`;\r\n let result = await axios.put(url, requestData, config);\r\n const newStoreSettingsAfterDelete = storeSettings.map((storeSetting) => {\r\n return {\r\n ...storeSetting,\r\n isDefaultAccountStoreSetting: storeSetting.id === storeSettingId\r\n }\r\n });\r\n dispatch({\r\n type: ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_SUCCESS,\r\n payload: newStoreSettingsAfterDelete\r\n })\r\n dispatch({\r\n type: ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SET_DEFAULT_ACCOUNT_STORE_SETTINGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const saveStoreSettingForAccount = (storeSettingData: AccountStoreSettingDto, storeSettings: AccountStoreSettingDto[], backgroundFile: FileDto | null, logoFile: FileDto | null) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n\r\n // prepare files data\r\n const formData = new FormData();\r\n\r\n formData.append(\"Id\", (storeSettingData.id ? storeSettingData.id : 0).toString());\r\n formData.append(\"AccountId\", (storeSettingData.accountId ? storeSettingData.accountId : 0).toString());\r\n formData.append(\"LanguageCultureId\", (storeSettingData.languageCultureId ? storeSettingData.languageCultureId : \"3\").toString());\r\n formData.append(\"Caption\", (storeSettingData.caption ? storeSettingData.caption : 0).toString());\r\n formData.append(\"Logo\", (storeSettingData.logo ? storeSettingData.logo : \"\").toString());\r\n formData.append(\"LogoUrl\", (storeSettingData.logoUrl ? storeSettingData.logoUrl : \"\").toString());\r\n formData.append(\"PrimaryColorRgb\", (storeSettingData.primaryColorRgb ? storeSettingData.primaryColorRgb : \"\").toString());\r\n formData.append(\"SecondaryColorRgb\", (storeSettingData.secondaryColorRgb ? storeSettingData.secondaryColorRgb : \"\").toString());\r\n formData.append(\"Font\", (storeSettingData.font ? storeSettingData.font : \"\").toString());\r\n formData.append(\"FontSizePt\", (storeSettingData.fontSizePt ? storeSettingData.fontSizePt : \"\").toString());\r\n formData.append(\"IconContrast\", (storeSettingData.iconContrast ? storeSettingData.iconContrast : 1).toString());\r\n formData.append(\"BackgroundImage\", (storeSettingData.backgroundImage ? storeSettingData.backgroundImage : \"\").toString());\r\n formData.append(\"BackgroundImageUrl\", (storeSettingData.backgroundImageUrl ? storeSettingData.backgroundImageUrl : \"\").toString());\r\n formData.append(\"BackgroundColorRgb\", (storeSettingData.backgroundColorRgb ? storeSettingData.backgroundColorRgb : \"\").toString());\r\n formData.append(\"IsDefaultAccountStoreSetting\", (storeSettingData.isDefaultAccountStoreSetting || false).toString());\r\n formData.append(\"StoreShelfStyleId\", (storeSettingData.storeShelfStyleId ? storeSettingData.storeShelfStyleId : \"\").toString());\r\n\r\n formData.append(\"IsDisplayPrices\", (storeSettingData.isDisplayPrices || false).toString());\r\n formData.append(\"IsDisplayPromos\", (storeSettingData.isDisplayPromos || false).toString());\r\n\r\n if(logoFile && logoFile?.file){\r\n formData.append(\"logoImageFile\", logoFile?.file!, logoFile!.label!);\r\n }\r\n if(backgroundFile && backgroundFile.file){\r\n formData.append(\"backgroundImageFile\", backgroundFile?.file!, backgroundFile!.label!);\r\n }\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SAVE_ACCOUNT_STORE_SETTING_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/StoreSettings/CreateUpdateStoreSetting`;\r\n let result = await axios.put(url, formData, config);\r\n const storeSettingsAfterDelete = storeSettings.filter((storeSetting) => storeSetting.id !== storeSettingData.id);\r\n const storeSettingsArrayWithNewSetting = [result.data.data, ...storeSettingsAfterDelete];\r\n dispatch({\r\n type: ActionType.SAVE_ACCOUNT_STORE_SETTING_SUCCESS,\r\n payload: storeSettingsArrayWithNewSetting\r\n })\r\n dispatch({\r\n type: ActionType.SAVE_ACCOUNT_STORE_SETTING_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SAVE_ACCOUNT_STORE_SETTING_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {FlyerPageDto, ItemInMenuDto} from \"../../../../dtos\";\r\nimport styles from './itemInMenuContent.module.scss'\r\nimport {\r\n dispatchEventDataType, EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE,\r\n EVENT_DATA_TYPE_UPLOAD_FILE_TYPE\r\n} from \"../../../../globals/EventDispatcher\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {Box, Typography} from \"@mui/material\";\r\n\r\n// import {InfoItemMenuIcon} from \"./itemInfoIcon/itemInfoIcon\";\r\n\r\ninterface Props {\r\n item: ItemInMenuDto,\r\n setOpen: (e: boolean) => void,\r\n}\r\n\r\n\r\nexport const ItemInMenuContent = (props: Props) => {\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const storeState = useTypedSelector((state) => state.storeForAccount);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let {uploadImagesPopup} = useTypedSelector((state) => state);\r\n const [isDisabled, setDisabled] = useState(false)\r\n\r\n // const [withInfoIcon, setStatusInfoIcon] = useState(false);\r\n\r\n useEffect(() => {\r\n console.log(\"show '+' menu\");\r\n if(props.item.code === \"ArchiveItemsFromStoreFile\"){\r\n setDisabled(true);\r\n return;\r\n }\r\n if (props.item.code === \"UploadItemsImagesFiles\") {\r\n const isEmpty = promotionsItemsState.dataFromExcelFileForPromosItems.type === undefined;\r\n setDisabled(isEmpty);\r\n return;\r\n }\r\n if (flyerDetailsState.flyFstRec.fstCaption === \"Published\"\r\n && (props.item.code.indexOf('Upload') !== -1\r\n || props.item.code.indexOf('Delete') !== -1\r\n ) && props.item.code.indexOf('Store') === -1) {\r\n setDisabled(true);\r\n return;\r\n }\r\n if (props.item.code === \"UploadPromoImages\"\r\n || props.item.code === \"UploadItemImages\"\r\n ) {\r\n setDisabled(!uploadImagesPopup.processingFinished);\r\n return;\r\n }\r\n if (props.item.code === \"DeleteAllFlyerFrames\") {\r\n const deletedSpotsIds: number[] = [];\r\n flyerDetailsState.flyerPages.forEach((page: FlyerPageDto) => {\r\n page.flyerPageSpots?.forEach((spot) => {\r\n deletedSpotsIds.push(spot.fpsRecId!);\r\n })\r\n });\r\n setDisabled(!Boolean(deletedSpotsIds.length));\r\n return;\r\n }\r\n if (props.item.code === \"UploadItemImagesForStoreFile\") {\r\n const isEmpty = !storeState.file;\r\n setDisabled(isEmpty);\r\n return;\r\n }\r\n }, [promotionsItemsState.dataFromExcelFileForPromosItems, props.item, uploadImagesPopup.processingFinished])\r\n\r\n // const isDisabled = props.item.code === \"DownloadEmptyExcelFile\" || props.item.code === \"ExportPromosItemsToExcel\";\r\n\r\n // useEffect(() => {\r\n // setStatusInfoIcon(props.item.code === \"UploadPromosFile\" || props.item.code === \"UploadItemsFile\" || props.item.code === \"UploadPromosItemsFile\" || props.item.code === \"UploadPromosAndItemsFile\")\r\n // }, [props.item])\r\n\r\n const inputRef: React.LegacyRef = useRef(null);\r\n\r\n const onClick = () => {\r\n if (props.item.type === 'file') {\r\n inputRef.current?.click();\r\n } else if (props.item.type === 'button') {\r\n if (props.item.isDownload) {\r\n const data = {\r\n files: [{}],\r\n code: props.item.code\r\n }\r\n dispatchEventDataType(props.item.code.indexOf('Store') !== -1\r\n ? EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE\r\n : EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n data);\r\n props.setOpen(false);\r\n } else {\r\n const file = props.item.code.indexOf('Store') !== -1 ? storeState.file : promotionsItemsState.dataFromExcelFileForPromosItems;\r\n const data = {\r\n files: [file],\r\n code: props.item.code\r\n }\r\n dispatchEventDataType(props.item.code.indexOf('Store') !== -1\r\n ? EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE\r\n : EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n data);\r\n props.setOpen(false);\r\n }\r\n }\r\n }\r\n\r\n\r\n const onFileSelected = (event: React.ChangeEvent) => {\r\n const files = event.target.files!;\r\n const data = {\r\n files: files,\r\n code: props.item.code\r\n }\r\n dispatchEventDataType(props.item.code.indexOf('Store') !== -1\r\n ? EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE\r\n : EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n data\r\n );\r\n props.setOpen(false);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n props.item.icon &&\r\n \r\n {props.item.icon}\r\n \r\n }\r\n\r\n {props.item.name}\r\n\r\n \r\n {\r\n //--------------------------------------------------//\r\n // BUG FIX: to select the same file multiple times\r\n\r\n // bug fix: for chrome\r\n if (inputRef.current !== null) {\r\n inputRef.current!.value = '';\r\n }\r\n\r\n // bug fix: for firefox\r\n return false;\r\n //--------------------------------------------------//\r\n }}\r\n onChange={onFileSelected}\r\n />\r\n \r\n\r\n {/*{withInfoIcon && }*/}\r\n \r\n )\r\n}","import React from \"react\";\r\nimport {ItemInMenuDto} from \"../../../dtos\";\r\nimport {ItemInMenuContent} from \"./itemInMenuContent/itemInMenuContent\";\r\nimport {MenuItem} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\n\r\ninterface Props {\r\n item: ItemInMenuDto,\r\n onClick: (e: React.MouseEvent) => void,\r\n setOpen: (a: boolean) => {}\r\n}\r\n\r\n\r\nexport const ItemInMenu = (props: Props) => {\r\n let {uploadImagesPopup} = useTypedSelector((state) => state);\r\n return (\r\n \r\n \r\n \r\n )\r\n}","import React, {useEffect} from \"react\";\r\nimport {makeStyles} from '@mui/styles';\r\nimport {ItemInMenuDto, ItemsListMenuDto} from \"../../dtos\";\r\nimport {ItemInMenu} from \"./itemInMenu/itemInMenu\";\r\nimport {ClickAwayListener, Grow, MenuList, Paper, Popper} from \"@mui/material\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n popper: {\r\n zIndex: 3\r\n },\r\n paper: {\r\n borderRadius: '5px',\r\n },\r\n}));\r\n\r\ninterface Props {\r\n list: ItemsListMenuDto,\r\n}\r\n\r\n\r\nexport const ClickMenu = (props: Props) => {\r\n const classes = useStyles();\r\n\r\n const handleClose = (event: any) => {\r\n // @ts-ignore\r\n if (props.list.anchorRef.current && props.list.anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n props.list.setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event: any) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n props.list.setOpen(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (props.list.prevOpen.current && !props.list.open) {\r\n // @ts-ignore\r\n props.list.anchorRef.current!.focus();\r\n }\r\n\r\n props.list.prevOpen.current = props.list.open;\r\n }, [props.list.open]);\r\n\r\n\r\n const menuList = props.list.menuList?.map((key: ItemInMenuDto, index: number) =>\r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n {({TransitionProps, placement}) => (\r\n \r\n \r\n \r\n \r\n {menuList}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadPdfIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 18V2H24.6672L34 12.1941V18\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.0372 27.7225H5.74125V25.794H9.0372C9.54655 25.794 9.96113 25.717 10.281 25.5632C10.6008 25.4038 10.8347 25.1841 10.9828 24.9038C11.1309 24.6236 11.2049 24.3077 11.2049 23.956C11.2049 23.5989 11.1309 23.2665 10.9828 22.9588C10.8347 22.6511 10.6008 22.4038 10.281 22.217C9.96113 22.0302 9.54655 21.9368 9.0372 21.9368H6.66519V32H4V20H9.0372C10.05 20 10.9176 20.1703 11.6402 20.511C12.3687 20.8462 12.9254 21.3104 13.3104 21.9038C13.6954 22.4973 13.8878 23.1758 13.8878 23.9396C13.8878 24.7143 13.6954 25.3846 13.3104 25.9505C12.9254 26.5165 12.3687 26.9533 11.6402 27.261C10.9176 27.5687 10.05 27.7225 9.0372 27.7225Z\",\n fill: \"#2A2A2A\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.6979 32H16.8817L16.8995 30.0714H19.6979C20.3968 30.0714 20.9861 29.9258 21.4659 29.6346C21.9456 29.3379 22.3069 28.9066 22.5497 28.3407C22.7984 27.7747 22.9228 27.0907 22.9228 26.2885V25.7033C22.9228 25.0879 22.8517 24.5467 22.7096 24.0797C22.5734 23.6126 22.3691 23.2198 22.0966 22.9011C21.8242 22.5824 21.4895 22.3434 21.0927 22.1841C20.6959 22.0192 20.2399 21.9368 19.7246 21.9368H16.8284V20H19.7246C20.5893 20 21.38 20.1374 22.0966 20.4121C22.8192 20.6813 23.444 21.0687 23.9711 21.5742C24.4982 22.0797 24.9039 22.6841 25.1882 23.3874C25.4784 24.0852 25.6235 24.8626 25.6235 25.7198V26.2885C25.6235 27.1401 25.4784 27.9176 25.1882 28.6209C24.9039 29.3242 24.4982 29.9286 23.9711 30.4341C23.4499 30.9341 22.8251 31.3214 22.0966 31.5962C21.3741 31.8654 20.5745 32 19.6979 32ZM18.392 20V32H15.7268V20H18.392Z\",\n fill: \"#2A2A2A\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.2254 20V32H27.5602V20H30.2254ZM35.3781 25.1264V27.0549H29.4969V25.1264H35.3781ZM36 20V21.9368H29.4969V20H36Z\",\n fill: \"#2A2A2A\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9998 18L19.9998 9M19.9998 9L24.7998 13.6773M19.9998 9L15.1998 13.6773\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 34L6 38H34V34\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadPdfIcon);\nexport default __webpack_public_path__ + \"static/media/upload_pdf_icon.893b8a45.svg\";\nexport { ForwardRef as ReactComponent };","import {ErrorDtoFactory, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action} from \"../actions/storeForAccountActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\n\r\n\r\nexport const uploadItemsExcelFileForStore = (\r\n file: File,\r\n languageCultureCode: string = 'en-US',\r\n optionValue: string = \"1\",\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_START\r\n });\r\n\r\n try {\r\n let result: any = await uploadExcelFileRequest(\r\n file,\r\n languageCultureCode,\r\n \"UploadItemsExcel\",\r\n optionValue,\r\n );\r\n\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS,\r\n payload: {\r\n file: file,\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_COMPLETE,\r\n });\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n };\r\n};\r\n\r\n\r\n\r\nexport const uploadItemsExcelFileWithImagesForStore = (\r\n file: File,\r\n languageCultureCode: string = 'en-US',\r\n optionValue: string = \"1\",\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_START,\r\n });\r\n\r\n try {\r\n let result: any = await uploadExcelFileRequest(\r\n file,\r\n languageCultureCode,\r\n \"UploadItemImagesExcel\",\r\n optionValue,\r\n );\r\n\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_SUCCESS,\r\n payload: {\r\n file: null,\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n\r\n dispatch({type: ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPLOAD_STORE_ITEM_IMAGES_EXCEL_FILE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nexport const uploadDeletionItemsExcelFileForStore = (\r\n file: File,\r\n languageCultureCode: string = 'en-US',\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_START,\r\n });\r\n\r\n try {\r\n let result: any = await uploadExcelFileRequest(\r\n file,\r\n languageCultureCode,\r\n \"UploadItemDeletionExcel\"\r\n );\r\n\r\n dispatch({\r\n type: ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_SUCCESS,\r\n payload: {\r\n file: null,\r\n successInfo: {\r\n severityLevel: result.data.severityLevel,\r\n userFriendlyMessage: result.data.userFriendlyMessage\r\n }\r\n }\r\n });\r\n\r\n dispatch({type: ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_STORE_ITEMS_EXCEL_FILE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nexport const getEmptyFileForStore = (lang: string = 'en-US') => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.DOWNLOAD_STORE_EMPTY_EXCEL_FILE_START,\r\n });\r\n\r\n try {\r\n let result: any = await getStoreExcelTemplate(lang);\r\n dispatch({type: ActionType.DOWNLOAD_STORE_EMPTY_EXCEL_FILE_SUCCESS});\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `Template_Lang_${lang === 'he-IL' ? 'Hebrew' : 'English'}_Store_Data.xlsx`); //this is the name with which the file will be downloaded\r\n link.click();\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 0);\r\n\r\n dispatch({type: ActionType.DOWNLOAD_STORE_EMPTY_EXCEL_FILE_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DOWNLOAD_STORE_EMPTY_EXCEL_FILE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst getStoreExcelTemplate = (lang: string) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/GetItemsExcelEmpty?uiContentLanguageCultureCode=${lang}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n // \"Content-Type\": \"multipart/form-data\",\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n });\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n }\r\n });\r\n};\r\n\r\nconst uploadExcelFileRequest = (\r\n file: File,\r\n contentLanguageCulture: string,\r\n wmName: string,\r\n optionValue: string = \"\",\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`ContentLanguageCulture`, contentLanguageCulture);\r\n formData.append(`File`, file, file.name);\r\n if(optionValue !== \"\"){\r\n formData.append(`DuplicateItemAction`, optionValue);\r\n }\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/flyerUpload/${wmName}`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n","import React from \"react\";\r\nimport {StatusPopupType} from \"../../../com/statusPopup/StatusPopup\";\r\n\r\ninterface Settings {\r\n typeStatus?: number,\r\n title?: string,\r\n subTitle?: string,\r\n messages?: any;\r\n modalName?: string;\r\n confirmOnClick?: {\r\n onHardDeleteClick?: React.MouseEventHandler;\r\n onSoftDeleteClick?: React.MouseEventHandler;\r\n onUploadImage?: React.MouseEventHandler;\r\n deletePromosItemsFromFlyer?: (e: boolean) => void;\r\n deleteFramesFromFlyer?: (e: boolean) => void;\r\n uploadPdfFileToFlipbook?: React.MouseEventHandler;\r\n };\r\n}\r\n\r\n\r\nexport const getSettingsForPopup = (props: Settings) => {\r\n\r\n const settings: Settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: props.modalName,\r\n confirmOnClick: {}\r\n };\r\n switch (props.modalName) {\r\n case \"error\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'INFO';\r\n settings.subTitle = 'Oops';\r\n settings.messages = props.messages;\r\n break;\r\n case \"success\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'SUCCESS';\r\n settings.subTitle = '';\r\n settings.messages = props.messages;\r\n break;\r\n case \"successfullyUpload\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'SUCCESS';\r\n settings.subTitle = '';\r\n settings.messages = props.messages;\r\n break;\r\n case \"qualificationForFrameWithWarning\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'NOTE';\r\n settings.subTitle = '';\r\n settings.messages = props.messages;\r\n break;\r\n case \"successfullyUploadWithSomeErrors\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'WARNING';\r\n settings.subTitle = '';\r\n settings.messages = props.messages;\r\n break;\r\n case \"successfullyUploadWithSomePromosAndItemsErrors\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'UPLOAD INCOMPLETE';\r\n settings.subTitle = '';\r\n settings.messages = props.messages;\r\n break;\r\n case \"confirmHardDelete\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n onHardDeleteClick: props.confirmOnClick?.onHardDeleteClick\r\n }\r\n break;\r\n case \"confirmSoftOrHardDelete\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n onHardDeleteClick: props.confirmOnClick?.onHardDeleteClick,\r\n onSoftDeleteClick: props.confirmOnClick?.onSoftDeleteClick\r\n }\r\n break;\r\n case \"uploadImageToPage\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n onUploadImage: props.confirmOnClick?.onUploadImage,\r\n }\r\n break;\r\n case \"uploadImagesToPageNotEqualSelectedPages\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'INFO';\r\n settings.subTitle = '';\r\n settings.messages = ['The number of selected pages must be equal to the number of pages to upload.'];\r\n break;\r\n case \"moreThanAllowed\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'INFO';\r\n settings.subTitle = '';\r\n settings.messages = ['Pages in Flyer can only be between 1-1000.'];\r\n break;\r\n case \"checkoutAccountSettingNotExist\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'INFO';\r\n settings.subTitle = '';\r\n settings.messages = ['First set the Checkout URL Settings for the Account in Settings menu.'];\r\n break;\r\n case \"confirmHardDeleteFlyer\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n onHardDeleteClick: props.confirmOnClick?.onHardDeleteClick\r\n }\r\n break;\r\n case \"confirmHardDeleteFlipbook\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n onHardDeleteClick: props.confirmOnClick?.onHardDeleteClick\r\n }\r\n break;\r\n case \"deletePromosFromFlyer\":\r\n case \"deleteItemsFromFlyer\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n deletePromosItemsFromFlyer: props.confirmOnClick?.deletePromosItemsFromFlyer\r\n }\r\n break;\r\n case \"deleteFramesFromFlyer\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n deleteFramesFromFlyer: props.confirmOnClick?.deleteFramesFromFlyer\r\n }\r\n break;\r\n case \"saveBeforeCloseInfo\":\r\n settings.typeStatus = StatusPopupType.INFO;\r\n settings.title = 'NOTE';\r\n settings.subTitle = '';\r\n settings.messages = ['Save edits before exiting screen.'];\r\n break;\r\n case \"uploadPdfFileToFlipbook\":\r\n settings.typeStatus = StatusPopupType.CONFIRM;\r\n settings.title = 'Confirm';\r\n settings.subTitle = '';\r\n settings.messages = [];\r\n settings.confirmOnClick = {\r\n uploadPdfFileToFlipbook: props.confirmOnClick?.uploadPdfFileToFlipbook,\r\n }\r\n break;\r\n }\r\n\r\n return settings;\r\n}\r\n","import React, {useEffect, useRef, useState} from 'react';\r\nimport {Box, Button, TableCell, TableRow, Typography} from \"@mui/material\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\nimport {\r\n ItemsListMenuDto,\r\n UserAndPermissionDto, UserDto\r\n} from \"../../../../../../../dtos\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {findUserRole} from \"../../../../../../../globals/globFunctions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n tableRow: {\r\n \"& > .MuiTableCell-root\": {\r\n textAlign: \"center\",\r\n borderTop: \"1px solid #dee2e6\",\r\n padding: 0,\r\n borderRight: \"2px solid #e2e2e2\",\r\n borderBottom: \"none\"\r\n },\r\n '&.onHoverEffect': {\r\n backgroundColor: \"#e4e4e480\",\r\n }\r\n },\r\n cellBox: {\r\n height: `40px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n // justifyContent: `start`,\r\n padding: '8px'\r\n },\r\n storeMainColor: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n borderRadius: \"50%\"\r\n }\r\n}))\r\n\r\ninterface Props {\r\n userData: UserAndPermissionDto;\r\n setIsCloseMenu: (value: boolean) => void;\r\n isCloseMenu: boolean;\r\n onEdit: (userAndPermissionData: UserAndPermissionDto) => void;\r\n onDelete: (userAndPermissionData: UserAndPermissionDto) => void;\r\n}\r\n\r\nconst UserAndPermissionRow: React.FC = ({\r\n userData,\r\n setIsCloseMenu,\r\n isCloseMenu,\r\n onEdit,\r\n onDelete,\r\n }) => {\r\n const anchorRefForMenu = useRef(null);\r\n const [isHoverOnRow, changeStatusForHoverOnRow] = useState(false);\r\n const [isOpenedMenu, setOpenMenu] = useState(false);\r\n const prevOpenMenu = useRef(isOpenedMenu);\r\n const classes = useStyles();\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr || \"\");\r\n\r\n useEffect(() => {\r\n setIsCloseMenu(!isOpenedMenu);\r\n }, [isOpenedMenu]);\r\n\r\n useEffect(() => {\r\n if (isCloseMenu && isOpenedMenu) {\r\n setOpenMenu(!isOpenedMenu);\r\n }\r\n }, [isCloseMenu]);\r\n\r\n const onDeleteUserAndPermission = () => {\r\n // if (props.dto.isDeleteable) {\r\n onDelete(userData);\r\n onMouseLeaveRow();\r\n // }\r\n }\r\n const onEditUserAndPermission = () => {\r\n onEdit(userData);\r\n onMouseLeaveRow()\r\n }\r\n\r\n const onSendEmailToUser = () => {\r\n\r\n }\r\n\r\n const onMouseEnterRow = () => {\r\n changeStatusForHoverOnRow(true);\r\n }\r\n\r\n const onMouseLeaveRow = () => {\r\n changeStatusForHoverOnRow(false);\r\n setOpenMenu(false);\r\n }\r\n\r\n const handleToggleForFlyer = () => {\r\n setOpenMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenMenu,\r\n prevOpen: prevOpenMenu,\r\n open: isOpenedMenu,\r\n anchorRef: anchorRefForMenu,\r\n };\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {userData.acuFirstName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {userData.acuLastName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {findUserRole(userData.acuRole || 1)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {userData.acuEmailAddress}\r\n \r\n \r\n \r\n \r\n {isHoverOnRow &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport default UserAndPermissionRow;","import React, {useEffect, useState} from 'react';\r\nimport {UserAndPermissionDto} from \"../../../../../../../dtos\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Table, TableCell, TableHead, TableRow, Typography} from \"@mui/material\";\r\nimport UserAndPermissionRow from \"./userAndPermissionRow\";\r\nimport {SortBtn} from \"../../../../../../com/sortBtn/sortBtn\";\r\nimport {ConfigDto} from \"../../../../../../flippingFlyersCatalog/flippingFlyerTocTab\";\r\nimport {findUserRole} from \"../../../../../../../globals/globFunctions\";\r\nimport {updateUsersData} from \"../../../../../../../store/actionCreators/usersAndPermissionActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n userAndPermissionTableWrapper: {\r\n maxHeight: \"50vh\",\r\n overflow: \"auto\",\r\n border: \"2px solid #e2e2e2\",\r\n borderRight: \"none\",\r\n },\r\n userAndPermissionTable: {\r\n borderCollapse: \"collapse\",\r\n margin: 0\r\n },\r\n storeSettingTableHeadRow: {\r\n \"& > .MuiTableCell-root\": {\r\n verticalAlign: \"bottom\",\r\n borderBottom: \"2px solid #dee2e6\",\r\n textAlign: \"center\",\r\n border: \"none\",\r\n zIndex: 1,\r\n minWidth: \"32px\",\r\n padding: \"8px\",\r\n backgroundColor: \"#d4dade\",\r\n fontWeight: \"700\",\r\n position: \"sticky\",\r\n top: 0,\r\n boxShadow: \"0 0 0 2px #e8e8e8\",\r\n borderTop: 0,\r\n borderRight: \"2px solid #e2e2e2\"\r\n }\r\n },\r\n headerBoxWithControl: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\"\r\n }\r\n}))\r\n\r\ninterface IGuiThemesTable {\r\n onEdit: (userAndPermissionData: UserAndPermissionDto) => void;\r\n onDelete: (userAndPermissionData: UserAndPermissionDto) => void;\r\n // setDefaultSettingForStore: (storeSettingData: AccountStoreSettingDto) => void;\r\n}\r\n\r\n\r\nconst UsersAndPermissionTable: React.FC = ({\r\n onEdit,\r\n onDelete\r\n }) => {\r\n const classes = useStyles();\r\n const {usersAndPermissions} = useTypedSelector((state) => state);\r\n const [isCloseMenu, setIsCloseMenu] = useState(true);\r\n const [sortConfig, setSortConfig] = useState(null);\r\n const dispatch = useDispatch();\r\n\r\n\r\n useEffect(() => {\r\n if (sortConfig) {\r\n let sortableItems = [...usersAndPermissions.usersAndPermissions];\r\n if (sortableItems) {\r\n sortableItems.sort((a: UserAndPermissionDto, b: UserAndPermissionDto) => {\r\n if (sortConfig.caption === \"acuRole\") {\r\n const roleCaptionA = findUserRole(Number(a[sortConfig.caption as keyof UserAndPermissionDto] || 1));\r\n const roleCaptionB = findUserRole(Number(b[sortConfig.caption as keyof UserAndPermissionDto] || 1));\r\n if (roleCaptionA.toString().toLowerCase() < roleCaptionB.toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (roleCaptionA.toString().toLowerCase() > roleCaptionB.toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n return 0;\r\n } else {\r\n if (a[sortConfig.caption as keyof UserAndPermissionDto]!.toString().toLowerCase() < b[sortConfig.caption as keyof UserAndPermissionDto]!.toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (a[sortConfig.caption as keyof UserAndPermissionDto]!.toString().toLowerCase() > b[sortConfig.caption as keyof UserAndPermissionDto]!.toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n return 0;\r\n }\r\n });\r\n dispatch(updateUsersData(sortableItems));\r\n }\r\n }\r\n }, [sortConfig]);\r\n\r\n const onScroll = () => {\r\n setIsCloseMenu(true);\r\n }\r\n\r\n const items = usersAndPermissions.usersAndPermissions.map((userData: UserAndPermissionDto) => {\r\n return \r\n\r\n })\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n \r\n \r\n Role\r\n \r\n \r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {items}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default UsersAndPermissionTable","import {ErrorDtoFactory, UserAndPermissionDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as UsersAndPermissionActions} from \"../actions/usersAndPermissionsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\n\r\nexport const getUsersAndPermissions = () => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n // if no userData exist\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.GET_USERS_AND_PERMISSIONS_DATA_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/AccountUsers/GetAccountUsers`;\r\n let result = await axios.get(url, config);\r\n let data = result.data.data\r\n dispatch({\r\n type: ActionType.GET_USERS_AND_PERMISSIONS_DATA_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.GET_USERS_AND_PERMISSIONS_DATA_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.GET_USERS_AND_PERMISSIONS_DATA_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const deleteUserFromAccount = (ids: number[], users: UserAndPermissionDto[]) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_USER_AND_PERMISSIONS_DATA_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/AccountUsers/DeleteAccountUsers`;\r\n let result = await axios.post(url, ids, config);\r\n const usersDataAfterDelete = users.filter((user) => user.acuRecId !== ids[0]);\r\n dispatch({\r\n type: ActionType.DELETE_USER_AND_PERMISSIONS_DATA_SUCCESS,\r\n payload: usersDataAfterDelete\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_USER_AND_PERMISSIONS_DATA_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_USER_AND_PERMISSIONS_DATA_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const saveUserFromAccount = (userAndPermissionData: UserAndPermissionDto, users: UserAndPermissionDto[]) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SAVE_USER_AND_PERMISSIONS_DATA_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/AccountUsers/${userAndPermissionData.acuRecId ? \"UpdateAccountUsers\" : \"CreateAccountUsers\"}`;\r\n // const requestBody = {\r\n // ...userAndPermissionData,\r\n // acuPassword: userAndPermissionData.acuPassword || \"123456\"\r\n // }\r\n let result = await axios.post(url, [userAndPermissionData], config);\r\n const createdUsers = result.data.data;\r\n let usersAfterDelete: UserAndPermissionDto[] = [];\r\n let usersWithNewUsers: UserAndPermissionDto[] = [];\r\n if(!userAndPermissionData.acuRecId){\r\n usersWithNewUsers = [...createdUsers, ...users];\r\n } else {\r\n usersAfterDelete = users.filter((user: UserAndPermissionDto) => user.acuRecId !== userAndPermissionData.acuRecId);\r\n usersWithNewUsers = [userAndPermissionData, ...usersAfterDelete];\r\n }\r\n dispatch({\r\n type: ActionType.SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS,\r\n payload: usersWithNewUsers\r\n })\r\n dispatch({\r\n type: ActionType.SAVE_USER_AND_PERMISSIONS_DATA_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.SAVE_USER_AND_PERMISSIONS_DATA_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n\r\nexport const updateUsersData = (users: UserAndPermissionDto[]) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_USER_AND_PERMISSIONS_DATA,\r\n payload: users\r\n });\r\n }\r\n\r\n}\r\n\r\n","import React, {useEffect, useState} from 'react';\r\nimport {\r\n UserAndPermissionDto, UserDto, UserRoleDto,\r\n} from \"../../../../../../../../dtos\";\r\nimport Draggable from \"react-draggable\";\r\nimport {Box, Button, Grid} from \"@mui/material\";\r\nimport {PopupHeader} from \"../../../../../../../com/popupHeader/popupHeader\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../../../../hooks/useTypeSelector\";\r\nimport {PageSpinner} from \"../../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport validator from \"validator\";\r\nimport {TextareaWithLabel} from \"../../../../../../../../com/textareaWithLabel/textareaWithLabel\";\r\nimport {SelectWithLabel} from \"../../../../../../../../com/selectWithLabel/selectWithLabel\";\r\nimport {USER_ROLES} from \"../../../../../../../../globals/Contants\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n createEditWrapperContainer: {\r\n position: \"absolute\",\r\n zIndex: 1061,\r\n top: 0,\r\n left: 0,\r\n height: \"100vh\",\r\n width: \"100vw\",\r\n backgroundColor: \"#00000080\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\"\r\n },\r\n createEditPopup: {\r\n width: `564px`,\r\n backgroundColor: `#ffffff`,\r\n maxHeight: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n createEditContentWrapper: {\r\n padding: \"20px\",\r\n rowGap: \"20px\",\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n },\r\n createEditFieldsWrapper: {\r\n display: \"flex\",\r\n rowGap: \"16px\",\r\n flexFlow: \"column\",\r\n },\r\n saveBtn: {\r\n \"&.MuiButton-root\": {\r\n fontStyle: \"normal\",\r\n fontWeight: \"500\",\r\n lineHeight: \"22px\",\r\n /* or 157% */\r\n\r\n textAlign: \"center\",\r\n\r\n color: \"#FFFFFF\",\r\n width: \"100%\",\r\n borderRadius: \"2px\",\r\n\r\n background: \"linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)\",\r\n\r\n paddingTop: \"8px\",\r\n paddingBottom: \"8px\",\r\n \"&.Mui-disabled\": {\r\n opacity: \"0.5\",\r\n color: \"#FFFFFF\",\r\n\r\n }\r\n },\r\n }\r\n}));\r\n\r\ninterface Props {\r\n onHide: VoidFunction;\r\n userAndPermissionData: UserAndPermissionDto;\r\n onSave: (userAndPermissionData: UserAndPermissionDto) => void;\r\n}\r\n\r\nexport const UserAndPermissionSettingCreateEditPopup: React.FC = ({\r\n onHide,\r\n userAndPermissionData,\r\n onSave\r\n }) => {\r\n\r\n const classes = useStyles();\r\n const usersAndPermissionsState = useTypedSelector((state) => state.usersAndPermissions);\r\n const [state, setState] = useState(userAndPermissionData);\r\n const [defaultState, setDefaultState] = useState(userAndPermissionData);\r\n const [role, setRole] = useState({\r\n value: \"1\",\r\n label: \"Viewer\"\r\n });\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n const [isShowConfirmPopup, setIsShowConfirmPopup] = useState(false);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr || \"\");\r\n\r\n\r\n const mainLabelColumnNumber = 8;\r\n const secondaryLabelColumnNumber = 8;\r\n\r\n useEffect(() => {\r\n setState({\r\n ...userAndPermissionData,\r\n acuRole: userAndPermissionData.acuRole || 1,\r\n acuFirstName: userAndPermissionData.acuFirstName || \"\",\r\n acuLastName: userAndPermissionData.acuLastName || \"\",\r\n acuEmailAddress: userAndPermissionData.acuEmailAddress || \"\"\r\n });\r\n setDefaultState({\r\n ...userAndPermissionData,\r\n acuRole: userAndPermissionData.acuRole || 1,\r\n acuFirstName: userAndPermissionData.acuFirstName || \"\",\r\n acuLastName: userAndPermissionData.acuLastName || \"\",\r\n acuEmailAddress: userAndPermissionData.acuEmailAddress || \"\"\r\n })\r\n let role: UserRoleDto;\r\n switch (userAndPermissionData.acuRole || 1){\r\n case 3: {\r\n role = {\r\n value: \"3\",\r\n label: \"Admin\"\r\n }\r\n break;\r\n }\r\n case 2: {\r\n role = {\r\n value: \"2\",\r\n label: \"Editor\"\r\n };\r\n break;\r\n }\r\n default: {\r\n role = {\r\n value: \"1\",\r\n label: \"Viewer\"\r\n };\r\n break;\r\n }\r\n }\r\n setRole(role);\r\n\r\n }, [userAndPermissionData]);\r\n\r\n\r\n useEffect(() => {\r\n if (usersAndPermissionsState.type === \"SAVE_USER_AND_PERMISSIONS_DATA_SUCCESS\") {\r\n onHide();\r\n }\r\n\r\n }, [usersAndPermissionsState.type]);\r\n\r\n useEffect(() => {\r\n if(state){\r\n const isNoChanges = compareCurrentAndDefaultState(defaultState, state);\r\n if(isNoChanges){\r\n setIsDisabled(isNoChanges);\r\n } else {\r\n const isDisabled = !state.acuFirstName?.trim() || !state.acuLastName?.trim() || !validator.isEmail(state.acuEmailAddress ? state.acuEmailAddress.trim() : \"\")\r\n setIsDisabled(isDisabled);\r\n }\r\n }\r\n }, [state]);\r\n\r\n\r\n\r\n const onChangeInput = (e: React.ChangeEvent) => {\r\n const {value,name} = e.target;\r\n setState({\r\n ...state,\r\n [name]: value.trim()\r\n });\r\n }\r\n\r\n const onChangeRole = (item: any) => {\r\n setState({\r\n ...state,\r\n acuRole: Number(item.value)\r\n })\r\n setRole(item);\r\n };\r\n\r\n const onClosePopup = () => {\r\n const isNoChanges = compareCurrentAndDefaultState(defaultState, state);\r\n if(isNoChanges){\r\n onHide();\r\n } else {\r\n setIsShowConfirmPopup(true);\r\n }\r\n }\r\n\r\n const compareCurrentAndDefaultState = (defaultState: UserAndPermissionDto, currentState: UserAndPermissionDto): boolean => {\r\n return JSON.stringify(defaultState) === JSON.stringify(currentState);\r\n }\r\n\r\n const closeConfirmPopup = (): void => {\r\n setIsShowConfirmPopup(false);\r\n }\r\n\r\n const onCloseWithoutSaving = (): void => {\r\n setIsShowConfirmPopup(false);\r\n onHide();\r\n }\r\n\r\n\r\n const handleSave = () => {\r\n onSave(state);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {usersAndPermissionsState.loading &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n {isShowConfirmPopup && (\r\n \r\n )}\r\n\r\n \r\n )\r\n}","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {UserAndPermissionDto, UserDto} from \"../../../../../../../dtos\";\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport Draggable from \"react-draggable\";\r\nimport {PopupHeader} from \"../../../../../../com/popupHeader/popupHeader\";\r\nimport {\r\n deleteUserFromAccount,\r\n getUsersAndPermissions, saveUserFromAccount\r\n} from \"../../../../../../../store/actionCreators/usersAndPermissionActionCreators\";\r\nimport UsersAndPermissionTable from \"./usersAndPermissionTable\";\r\nimport {\r\n UserAndPermissionSettingCreateEditPopup\r\n} from \"./userAndPermissionSettingCreateEditPopup/userAndPermissionSettingCreateEditPopup\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n usersAndPermissionPopupWrapperContainer: {\r\n position: \"absolute\",\r\n zIndex: 1061,\r\n top: 0,\r\n left: 0,\r\n height: \"100vh\",\r\n width: \"100vw\",\r\n backgroundColor: \"#00000080\",\r\n display: \"flex\",\r\n alignItems: \"start\",\r\n justifyContent: \"center\"\r\n },\r\n usersAndPermissionPopup: {\r\n position: \"absolute\",\r\n top: \"20vh\",\r\n width: `880px`,\r\n backgroundColor: `#ffffff`,\r\n maxHeight: `98vh`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n },\r\n },\r\n usersAndPermissionPopupContentWrapper: {\r\n padding: \"12px 20px\",\r\n },\r\n accountRow: {\r\n display: \"flex\",\r\n columnGap: \"4px\"\r\n },\r\n selectedStoreSettingCaption: {},\r\n controlsRowWrapper: {\r\n marginBottom: \"20px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n flexFlow: \"row\",\r\n columnGap: \"28px\",\r\n '& > .MuiButton-root': {\r\n padding: \"8px 16px\",\r\n background: \"linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)\",\r\n color: \"#FFFFFF\",\r\n borderRadius: \"2px\"\r\n }\r\n },\r\n selectedStoreSettingCaptionWrapper: {\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"8px\",\r\n alignItems: \"center\"\r\n },\r\n}))\r\n\r\n\r\ninterface Props {\r\n onHide: () => void;\r\n}\r\n\r\nconst UsersAndPermissionPopup: React.FC = ({\r\n onHide\r\n }) => {\r\n const dispatch = useDispatch();\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const {usersAndPermissions} = useTypedSelector((state) => state);\r\n const classes = useStyles();\r\n const [showUserAndPermissionSettingPopup, setShowUserAndPermissionSettingPopup] = useState(false);\r\n const [isShowConfirmDeletePopup, setShowConfirmDeletePopup] = useState(false);\r\n const [currentUserAndPermissionData, setCurrentUserAndPermissionData] = useState({});\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getUsersAndPermissions());\r\n return () => {\r\n\r\n };\r\n }, []);\r\n\r\n\r\n\r\n const handleEditRow = (userAndPermissionData: UserAndPermissionDto) => {\r\n setCurrentUserAndPermissionData(userAndPermissionData)\r\n setShowUserAndPermissionSettingPopup(true);\r\n }\r\n\r\n const handleDeleteRow = (userAndPermissionData: UserAndPermissionDto) => {\r\n setShowUserAndPermissionSettingPopup(false);\r\n setCurrentUserAndPermissionData(userAndPermissionData)\r\n setShowConfirmDeletePopup(true);\r\n }\r\n\r\n const confirmDeleteUser = () => {\r\n if(currentUserAndPermissionData.acuRecId){\r\n dispatch(deleteUserFromAccount([currentUserAndPermissionData.acuRecId], usersAndPermissions.usersAndPermissions));\r\n setCurrentUserAndPermissionData({});\r\n }\r\n }\r\n\r\n const declineDelete = () => {\r\n setShowConfirmDeletePopup(false);\r\n };\r\n\r\n //\r\n // const setDefaultSettingForStore = (storeSettingData: AccountStoreSettingDto) => {\r\n // setShowStoreSettingPopup(false);\r\n // dispatch(setDefaultStoreSettingForAccount(storeSettingData.id!, usersAndPermission));\r\n // }\r\n //\r\n const handleSaveForUserAndPermissionPopup = (userAndPermissionData: UserAndPermissionDto) => {\r\n dispatch(saveUserFromAccount(userAndPermissionData, usersAndPermissions.usersAndPermissions));\r\n setShowUserAndPermissionSettingPopup(false);\r\n }\r\n\r\n const createNewUser = () => {\r\n setCurrentUserAndPermissionData({});\r\n setShowUserAndPermissionSettingPopup(true);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n {usersAndPermissions.loading &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n Account:\r\n {userDto.company}\r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* Current store style:*/}\r\n {/* */}\r\n {/* */}\r\n {/* Some setting*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n {\r\n showUserAndPermissionSettingPopup &&\r\n setShowUserAndPermissionSettingPopup(false)}\r\n userAndPermissionData={currentUserAndPermissionData}\r\n onSave={handleSaveForUserAndPermissionPopup}\r\n />\r\n }\r\n {\r\n isShowConfirmDeletePopup && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default UsersAndPermissionPopup;","import React, {useEffect, useRef, useState} from 'react';\r\n\r\n\r\nimport './SettingsControls.scss'\r\n\r\nimport SettingsControlsMenu from './menu/SettingsControlsMenu'\r\n\r\nimport GuiThemesPopup from './guiThemes/GuiThemesPopup'\r\n\r\n\r\nimport {CheckoutSettingPopup} from \"./checkoutSettingsPopup/checkoutSettingPopup\";\r\nimport {SaleTypesSettings} from \"./saleTypesSettings/saleTypesSettings\";\r\nimport {AccountLocalAndTextSettingModal} from \"./accountLocalAndTextSettings/accountLocalAndTextSettingModal\";\r\nimport {Box, Button, Popover, Typography} from \"@mui/material\";\r\nimport {ReactComponent as SettingIcon} from \"./../../../../../../assets/setting_icon.svg\";\r\nimport {ReactComponent as AnalyticsIcon} from \"./../../../../../../assets/analytics_icon.svg\";\r\nimport {AnalyticsPopup} from \"../../../../../../com/analyticsPopup/analyticsPopup\";\r\nimport {useTypedSelector} from \"../../../../../../hooks/useTypeSelector\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport styles from \"../../../../promos/FlyerPromosEditor.module.scss\";\r\nimport {PageSpinner} from \"../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {FlyerClassesPopup} from \"./flyerClassesPopup/flyerClassesPopup\";\r\nimport AccountEmailSettingPopup from \"./emailsSettingsPopup/accountEmailSettingPopup\";\r\nimport StoreSettingsPopup from \"./storeSettingsPopup/storeSettingsPopup\";\r\nimport envManager from \"../../../../../../com/envManager/EnvManager\";\r\nimport {FlyerLanguageDto, ItemsListMenuDto, PopupSettings, UserDto} from \"../../../../../../dtos\";\r\nimport {ClickMenu} from \"../../../../../../com/clickMenu/clickMenu\";\r\nimport {ReactComponent as PlusIcon} from \"../../../../../../assets/promos&items/icon_plus.svg\";\r\nimport {MENU_LIST_STORE_ITEMS} from \"../../../../../../globals/Contants\";\r\nimport {\r\n addEventDataTypeListener,\r\n EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE,\r\n} from \"../../../../../../globals/EventDispatcher\";\r\nimport {CustomDataEvent} from \"../../../../../../globals/CustomDataEvent\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n getEmptyFileForStore,\r\n uploadDeletionItemsExcelFileForStore,\r\n uploadItemsExcelFileForStore,\r\n uploadItemsExcelFileWithImagesForStore\r\n} from \"../../../../../../store/actionCreators/storeForAccountActionCreators\";\r\nimport {ActionType} from \"../../../../../../store/actionTypes\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../../../pages/getSetttingsForPopup\";\r\nimport UsersAndPermissionPopup from \"./usersAndPermissionPopup/usersAndPermissionPopup\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n analyticsButton: {\r\n '&:disabled': {\r\n opacity: `0.5`\r\n }\r\n },\r\n openStoreBtn: {\r\n \"&.MuiButton-root\": {\r\n padding: `4px 16px`,\r\n border: `1px solid #FFFFFF`,\r\n textTransform: `capitalize`,\r\n background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n \"&:hover\": {\r\n opacity: \"0.9\"\r\n },\r\n \"&:disabled\": {\r\n opacity: \"0.5\"\r\n }\r\n }\r\n }\r\n}))\r\n\r\nconst SettingsControls: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const [showStoreSettingsMenu, setShowStoreSettingsMenu] = useState(false);\r\n const [showSettingsMenu, setShowSettingsMenu] = useState(false);\r\n const [showAnalyticsPopup, setShowAnalyticsPopup] = useState(false);\r\n\r\n const [showAccountLocalSettingPopup, setShowAccountLocalSettingPopup] = useState(false)\r\n\r\n const [showGuiThemesPopup, setShowGuiThemesPopup] = useState(false)\r\n\r\n const [showFlyerClassesPopup, setShowFlyerClassesPopup] = useState(false)\r\n\r\n const [showCheckoutSettingsPopup, toggleCheckoutSettingsPopup] = useState(false)\r\n const [showEmailsSettingsPopup, toggleEmailsSettingsPopup] = useState(false)\r\n const [showUsersAndPermissionsPopup, toggleUsersAndPermissionsPopup] = useState(false)\r\n\r\n const [showSaleTypesPopup, toggleSaleTypesPopup] = useState(false);\r\n const [isLoading, setLoading] = useState(false);\r\n const [openMenuForStore, setOpenMenuForStore] = useState(false);\r\n const [selectedItemInMenuForStore, setSelectedItemInMenuForStore] = useState<{ file?: any, code?: string }>({});\r\n const [popupSettings, setPopupSettings] = useState({})\r\n const [isModalPopup, setModalPopup] = useState(false);\r\n\r\n const analyticsData = useTypedSelector((state) => state.analyticsData);\r\n const flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const storeState = useTypedSelector((state) => state.storeForAccount);\r\n const accountSettingLang = useTypedSelector((state) => state.accountSettingWithLang);\r\n const accountSetting = accountSettingLang.accountSetting;\r\n const classes = useStyles();\r\n const ref = useRef(null);\r\n const menuRef = useRef(null);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n\r\n useEffect(() => {\r\n addEventDataTypeListener(EVENT_DATA_TYPE_UPLOAD_FILE_FOR_STORE_TYPE, (data: CustomDataEvent) => {\r\n setSelectedItemInMenuForStore({\r\n file: data.data.files[0],\r\n code: data.data.code\r\n });\r\n })\r\n }, []);\r\n\r\n useEffect(() => {\r\n const accountLanguage: FlyerLanguageDto | undefined = flyersState?.languageCultures?.find((lang: FlyerLanguageDto) => {\r\n if (lang.id === accountSettingLang.languageId) {\r\n return lang;\r\n }\r\n })\r\n switch (selectedItemInMenuForStore.code) {\r\n case 'UploadItemsForStoreFile':\r\n dispatch(uploadItemsExcelFileForStore(selectedItemInMenuForStore.file ? selectedItemInMenuForStore.file : {}, accountLanguage?.code));\r\n break;\r\n case 'UploadItemImagesForStoreFile':\r\n dispatch(uploadItemsExcelFileWithImagesForStore(selectedItemInMenuForStore.file ? selectedItemInMenuForStore.file : {}, accountLanguage?.code));\r\n break;\r\n case 'ArchiveItemsFromStoreFile':\r\n dispatch(uploadDeletionItemsExcelFileForStore(selectedItemInMenuForStore.file ? selectedItemInMenuForStore.file : {}, accountLanguage?.code));\r\n break;\r\n case 'DownloadEmptyExcelForStoreFile':\r\n dispatch(getEmptyFileForStore(accountLanguage?.code));\r\n break;\r\n // case 'ExportPromosItemsToExcel':\r\n // dispatch(getExcelFileWithCurrentDataForPromosAndItemsData(flyerDto.flyRecId!, flyerDto.flyCaption!));\r\n // break;\r\n }\r\n }, [selectedItemInMenuForStore]);\r\n\r\n useEffect(() => {\r\n if(storeState.type === ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS){\r\n let message: string[] = [];\r\n let modalName: string = 'successfullyUpload'\r\n if (storeState.type === ActionType.UPLOAD_STORE_ITEMS_EXCEL_FILE_SUCCESS) {\r\n if (storeState.successInfo && storeState.successInfo.severityLevel === 'Info') {\r\n message = storeState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n .filter(key => key !== '');\r\n modalName = `successfullyUploadWithSomePromosAndItemsErrors`;\r\n // message.push(`${flippingFlyerState.successInfo.userFriendlyMessage}`);\r\n } else if(storeState.successInfo && storeState.successInfo.severityLevel === 'OK') {\r\n message = storeState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n .filter(key => key !== '');\r\n } else {\r\n message.push(`Items have been successfully uploaded`);\r\n }\r\n } else {\r\n message.push(`Item images upload has started, give it a few minutes to complete.`);\r\n }\r\n setPopupSettings({\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: message,\r\n modalName: modalName,\r\n }\r\n )\r\n setModalPopup(true);\r\n }\r\n\r\n }, [storeState.type])\r\n\r\n useEffect(() => {\r\n setLoading(analyticsData.loadingExcel ? analyticsData.loadingExcel : false);\r\n }, [analyticsData.loadingExcel]);\r\n\r\n const handleToggleStoreMenu = () => {\r\n setOpenMenuForStore((prevOpen) => !prevOpen);\r\n };\r\n\r\n const prevOpen = useRef(openMenuForStore);\r\n\r\n const handleClick = (event: React.MouseEvent) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? 'simple-popover' : undefined;\r\n\r\n const openStore = () => {\r\n let url ;\r\n const env = envManager.flyerEditorServerAddress;\r\n if (env?.includes('dev')) {\r\n url = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (env?.includes('qa')) {\r\n url = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else {\r\n url = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n if (url.length !== 0 && userDto.company) {\r\n let accountName = userDto.company;\r\n url += `store/${accountName}`;\r\n window.open(url, 'urlFromMainScreenForStore');\r\n }\r\n }\r\n\r\n const clickMenuDataForStore: ItemsListMenuDto = {\r\n setOpen: setOpenMenuForStore,\r\n prevOpen: prevOpen,\r\n open: openMenuForStore,\r\n anchorRef: menuRef,\r\n menuList: MENU_LIST_STORE_ITEMS\r\n }\r\n\r\n let settingsForPopup = getSettingsForPopup(popupSettings);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n svg': {\r\n opacity: isUserViewer ? \"0.3\" : \"1\"\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\"Store >\"}\r\n \r\n \r\n \r\n ) => {\r\n setShowAnalyticsPopup(!showAnalyticsPopup);\r\n handleClick(event);\r\n }}\r\n title={`Analytics`}\r\n disabled={flippingFlyerState.loading}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/*{*/}\r\n {/* showAnalyticsPopup &&*/}\r\n {/* */}\r\n {/*}*/}\r\n \r\n {\r\n if(!isUserViewer && !isUserEditor){\r\n setShowSettingsMenu(true)\r\n }\r\n }} title={`Settings`}>\r\n \r\n {\r\n setShowSettingsMenu(false)\r\n }}\r\n showAccountLocalSettings={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n setShowAnalyticsPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleSaleTypesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n setShowGuiThemesPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n setShowAccountLocalSettingPopup(true);\r\n\r\n }}\r\n showGuiThemeSettings={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleSaleTypesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n setShowGuiThemesPopup(true);\r\n }}\r\n showCheckoutSettings={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleSaleTypesPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n toggleCheckoutSettingsPopup(true)\r\n\r\n }}\r\n showSaleTypesSettings={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n toggleSaleTypesPopup(true);\r\n }}\r\n showFlyerClassesPopup={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n toggleSaleTypesPopup(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n setShowFlyerClassesPopup(true);\r\n }}\r\n showEmailSettingsPopup={() => {\r\n setShowStoreSettingsMenu(false);\r\n setShowSettingsMenu(false);\r\n toggleSaleTypesPopup(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n toggleEmailsSettingsPopup(true);\r\n }}\r\n showStoreSettingsPopup={() => {\r\n setShowSettingsMenu(false);\r\n toggleSaleTypesPopup(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n toggleUsersAndPermissionsPopup(false);\r\n setShowStoreSettingsMenu(true);\r\n }}\r\n showUsersAndPermissionsPopup={() => {\r\n setShowSettingsMenu(false);\r\n toggleSaleTypesPopup(false);\r\n setShowAnalyticsPopup(false);\r\n setShowAccountLocalSettingPopup(false);\r\n setShowGuiThemesPopup(false);\r\n toggleCheckoutSettingsPopup(false);\r\n setShowFlyerClassesPopup(false);\r\n toggleEmailsSettingsPopup(false);\r\n setShowStoreSettingsMenu(false);\r\n toggleUsersAndPermissionsPopup(true);\r\n }}\r\n />\r\n \r\n \r\n\r\n
\r\n setShowAccountLocalSettingPopup(false)}\r\n settingForAccount={true}\r\n />\r\n toggleCheckoutSettingsPopup(false)}\r\n settingForAccount={true}\r\n />\r\n toggleSaleTypesPopup(false)}\r\n />\r\n setShowGuiThemesPopup(false)}\r\n />\r\n setShowFlyerClassesPopup(false)}\r\n />\r\n\r\n toggleEmailsSettingsPopup(false)}\r\n />\r\n {\r\n showStoreSettingsMenu &&\r\n setShowStoreSettingsMenu(false)}\r\n />\r\n }\r\n {\r\n showUsersAndPermissionsPopup &&\r\n toggleUsersAndPermissionsPopup(false)}\r\n />\r\n }\r\n\r\n {\r\n isLoading &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {isModalPopup && setModalPopup(false)}\r\n />\r\n }\r\n\r\n \r\n )\r\n}\r\n\r\nexport default SettingsControls;","import RolloverMenu from '../../../../../../../com/rolloverMenu/RolloverMenu'\r\n\r\nimport {history} from '../../../../../../../helpers/history';\r\n\r\nimport {useDispatch} from 'react-redux';\r\nimport {actionCreators} from '../../../../../../../store';\r\n\r\nimport {UserDto} from \"../../../../../../../dtos\";\r\nimport {useEffect, useState} from \"react\";\r\nimport {Box} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {OrangeButton} from \"../../../../../../com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {resetFlyerState} from \"../../../../../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {clearFlyersData} from \"../../../../../../../store/actionCreators/flyersActionCreators\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n muiBox: {\r\n // lineHeight: '24px',\r\n // minWidth: '160px',\r\n // width:'fit-content',\r\n whiteSpace: 'nowrap',\r\n '&.buttonWrapper': {\r\n justifyContent: 'end',\r\n display: 'flex',\r\n width: '100%'\r\n }\r\n },\r\n}));\r\n\r\ninterface IUserControlsMenu {\r\n target: any;\r\n onHide: () => void;\r\n openChangePasswordPopup: VoidFunction;\r\n}\r\n\r\nconst UserControlsMenu: React.FC = (props) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [userFullName, setUserName] = useState('')\r\n const [userCompany, setUserCompany] = useState('');\r\n const [userEmail, setUserEmail] = useState('')\r\n const handleSignout = () => {\r\n dispatch(actionCreators.logout());\r\n dispatch(resetFlyerState());\r\n dispatch(clearFlyersData());\r\n history.push('/auth/flyersCatalog/signInForm')\r\n /*\r\n if (history.location.pathname.indexOf('/flipbookEditor') > -1) {\r\n history.push('/auth/flipbookEditor/signInForm')\r\n } else {\r\n history.push('/auth/flyersCatalog/signInForm')\r\n }\r\n */\r\n }\r\n\r\n useEffect(() => {\r\n let userDtoStr = localStorage.getItem('userDto')\r\n if (userDtoStr) {\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n setUserName(`${userDto.firstName} ${userDto.lastName}`);\r\n setUserCompany(`${userDto.company}`);\r\n setUserEmail(`${userDto.emailAddress}`)\r\n }\r\n\r\n }, [])\r\n\r\n return (\r\n <>\r\n props.onHide()}\r\n placement=\"bottom\"\r\n >\r\n \r\n {`${userCompany} - ${userFullName}`}\r\n {`${userEmail}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default UserControlsMenu;","import React, {useEffect, useState} from 'react';\r\nimport {Box, Button, Grid, Modal} from \"@mui/material\";\r\nimport {PopupHeader} from \"../../../../../../com/popupHeader/popupHeader\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {TextareaWithLabel} from \"../../../../../../../com/textareaWithLabel/textareaWithLabel\";\r\nimport {UpdatePasswordDto} from \"../../../../../../../dtos\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {updateUserPassword} from \"../../../../../../../store/actionCreators/updatePasswordActionCreators\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {ActionType} from \"../../../../../../../store/actionTypes\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {resetFlyerState} from \"../../../../../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {clearFlyersData} from \"../../../../../../../store/actionCreators/flyersActionCreators\";\r\nimport {history} from \"../../../../../../../helpers/history\";\r\nimport { logout } from '../../../../../../../store/actionCreators';\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../../../../pages/getSetttingsForPopup\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n changePasswordPopupWrapper: {\r\n width: `30vw`,\r\n backgroundColor: `#ffffff`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n \"& .MuiInputBase-input\": {\r\n padding: `5px`,\r\n height: `20px`,\r\n }\r\n },\r\n changePasswordPopupContent: {\r\n padding: \"20px\",\r\n rowGap: \"20px\",\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n },\r\n changePasswordFieldsWrapper: {\r\n display: \"flex\",\r\n rowGap: \"16px\",\r\n flexFlow: \"column\",\r\n },\r\n saveBtn: {\r\n \"&.MuiButton-root\": {\r\n fontStyle: \"normal\",\r\n fontWeight: \"500\",\r\n lineHeight: \"22px\",\r\n /* or 157% */\r\n\r\n textAlign: \"center\",\r\n\r\n color: \"#FFFFFF\",\r\n width: \"100%\",\r\n borderRadius: \"2px\",\r\n\r\n background: \"linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)\",\r\n\r\n paddingTop: \"8px\",\r\n paddingBottom: \"8px\",\r\n \"&.Mui-disabled\": {\r\n opacity: \"0.5\",\r\n color: \"#FFFFFF\",\r\n\r\n }\r\n },\r\n }\r\n\r\n}))\r\n\r\ninterface ChangePasswordDto {\r\n currentPassword: string,\r\n newPassword: string,\r\n confirmPassword: string,\r\n}\r\n\r\ninterface Props {\r\n setIsOpenChangePasswordPopup: (value: boolean) => void;\r\n}\r\n\r\nexport const ChangePasswordPopup: React.FC = ({\r\n setIsOpenChangePasswordPopup\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {updatePassword} = useTypedSelector((state) => state);\r\n const [state, setState] = useState({\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmPassword: \"\",\r\n });\r\n const defaultState: ChangePasswordDto = {\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmPassword: \"\",\r\n };\r\n\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n const [isShowSuccessPopup, setIsShowSuccessPopup] = useState(false);\r\n\r\n const classes = useStyles();\r\n const mainLabelColumnNumber = 12;\r\n const secondaryLabelColumnNumber = 8;\r\n\r\n\r\n useEffect((): void => {\r\n if (state) {\r\n const isNoChanges = compareCurrentAndDefaultState(defaultState, state);\r\n if (isNoChanges) {\r\n setIsDisabled(isNoChanges);\r\n } else {\r\n const isDisabled = state.currentPassword.length < 6\r\n || state.confirmPassword !== state.newPassword\r\n || !state.newPassword\r\n || state.newPassword.length < 6\r\n || !state.confirmPassword\r\n || state.confirmPassword.length < 6;\r\n setIsDisabled(isDisabled);\r\n }\r\n }\r\n }, [state]);\r\n\r\n useEffect(() => {\r\n if(updatePassword.type === ActionType.UPDATE_USER_PASSWORD_SUCCESS){\r\n setIsShowSuccessPopup(true);\r\n }\r\n }, [updatePassword.type])\r\n\r\n const handleClose = (): void => {\r\n setIsOpenChangePasswordPopup(false);\r\n }\r\n\r\n const compareCurrentAndDefaultState = (defaultState: ChangePasswordDto, currentState: ChangePasswordDto): boolean => {\r\n return JSON.stringify(defaultState) === JSON.stringify(currentState);\r\n }\r\n\r\n const onChangeInput = (e: React.ChangeEvent): void => {\r\n const {value, name} = e.target;\r\n setState({\r\n ...state,\r\n [name]: value.trim()\r\n });\r\n }\r\n\r\n const handleSave = (): void => {\r\n const requestBody: UpdatePasswordDto = {\r\n currentPassword: state.currentPassword,\r\n newPassword: state.newPassword\r\n }\r\n\r\n dispatch(updateUserPassword(requestBody));\r\n }\r\n\r\n const signout = () => {\r\n setIsOpenChangePasswordPopup(false);\r\n setIsShowSuccessPopup(false);\r\n dispatch(logout());\r\n dispatch(resetFlyerState());\r\n dispatch(clearFlyersData());\r\n history.push('/auth/flyersCatalog/signInForm')\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: ['Your password was updated.', 'Please re-enter to the system using new password.'],\r\n modalName: 'success',\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n updatePassword.loading &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n signout()}\r\n />\r\n \r\n )\r\n}","import {ErrorDtoFactory, UpdatePasswordDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as ChangePasswordActions} from \"../actions/updatePasswordActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\n\r\nexport const updateUserPassword = (requestObj: UpdatePasswordDto) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n if(!userDtoStr){\r\n return async () => {}\r\n }\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_USER_PASSWORD_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n let url = `${envManager.flyerEditorServerAddress}/api/AccountUsers/ResetAccountUserPassword`;\r\n let result = await axios.post(url, requestObj, config);\r\n dispatch({\r\n type: ActionType.UPDATE_USER_PASSWORD_SUCCESS\r\n })\r\n dispatch({\r\n type: ActionType.UPDATE_USER_PASSWORD_COMPLETE\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPDATE_USER_PASSWORD_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n\r\n}\r\n","\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { UserDto } from '../../../../../../dtos';\r\n\r\nimport { useTypedSelector } from '../../../../../../hooks/useTypeSelector';\r\n\r\nimport UserControlsMenu from './menu/UserControlsMenu'\r\n\r\nimport './UserControls.scss'\r\nimport {ChangePasswordPopup} from \"./menu/ChangePasswordPopup\";\r\n\r\nconst UserControls: React.FC = () =>{\r\n\r\n const { data } = useTypedSelector((state) => state.auth);\r\n\r\n const [showMenu, setShowMenu] = useState(false);\r\n const [userName, setUserName] = useState('');\r\n const [isOpenChangePasswordPopup, setIsOpenChangePasswordPopup] = useState(false)\r\n\r\n const ref = useRef(null);\r\n\r\n useEffect(() => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto')\r\n\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n\r\n if(userDto.firstName && userDto.lastName) {\r\n let twoCharsName = userDto.firstName!.charAt(0) + userDto.lastName!.charAt(0);\r\n setUserName(twoCharsName);\r\n }\r\n else {\r\n setUserName('U');\r\n }\r\n }\r\n\r\n }, [data]);\r\n\r\n const openChangePasswordPopup = () => {\r\n setShowMenu(false);\r\n setIsOpenChangePasswordPopup(true);\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n
setShowMenu(true)}>\r\n\r\n

{ userName }

\r\n {\r\n showMenu &&\r\n setShowMenu(false)}\r\n openChangePasswordPopup={openChangePasswordPopup}\r\n />\r\n }\r\n
\r\n {\r\n isOpenChangePasswordPopup &&\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default UserControls;","\r\nimport SettingsControls from './settings/SettingsControls';\r\nimport UserControls from './user/UserControls';\r\n\r\nimport './HeaderRightControls.scss'\r\nimport React from \"react\";\r\nimport {Box, useMediaQuery} from \"@mui/material\";\r\nimport {UserDto} from \"../../../../../dtos\";\r\n\r\nconst HeaderRightControls: React.FC = () => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto?.accountTier === 1;\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n\r\n return (\r\n \r\n {\r\n !isAccountTier1 && !isXs &&\r\n \r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default HeaderRightControls;","import envManager from './EnvManager';\r\n\r\nimport './EnvMode.scss';\r\n\r\nconst EnvMode: React.FC = () => {\r\n return (\r\n
\r\n {envManager.developmentMode !== \"Prod\" &&
{envManager.developmentMode}
}\r\n
\r\n )\r\n}\r\n\r\nexport default EnvMode;","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadJpegsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 18V2H24.6672L34 12.1941V18\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9998 18L19.9998 9M19.9998 9L24.7998 13.6773M19.9998 9L15.1998 13.6773\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 34L6 38H34V34\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.84566 28.2565V20.1683H12.4274V28.2565C12.4274 29.0367 12.2432 29.7074 11.8748 30.2685C11.5064 30.8243 11.0027 31.2518 10.3637 31.5511C9.73053 31.8504 9.01673 32 8.22234 32C7.39917 32 6.67098 31.8717 6.03778 31.6152C5.40457 31.3587 4.90664 30.9659 4.54398 30.4369C4.18133 29.9025 4 29.2265 4 28.4088H6.59903C6.59903 28.8363 6.66235 29.1757 6.78899 29.4269C6.92139 29.678 7.10847 29.857 7.35024 29.9639C7.59201 30.0708 7.88271 30.1242 8.22234 30.1242C8.55046 30.1242 8.8354 30.0521 9.07717 29.9078C9.31894 29.7635 9.50603 29.5524 9.63842 29.2745C9.77658 28.9967 9.84566 28.6573 9.84566 28.2565Z\",\n fill: \"#2A2A2A\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.5337 27.6794H16.3303V25.8036H19.5337C20.0288 25.8036 20.4317 25.7288 20.7426 25.5792C21.0534 25.4242 21.2808 25.2104 21.4247 24.9379C21.5686 24.6653 21.6406 24.358 21.6406 24.016C21.6406 23.6687 21.5686 23.3454 21.4247 23.0461C21.2808 22.7468 21.0534 22.5063 20.7426 22.3246C20.4317 22.143 20.0288 22.0521 19.5337 22.0521H17.2283V31.8397H14.6379V20.1683H19.5337C20.5181 20.1683 21.3614 20.334 22.0637 20.6653C22.7717 20.9913 23.3128 21.4429 23.687 22.02C24.0612 22.5972 24.2482 23.2572 24.2482 24C24.2482 24.7535 24.0612 25.4055 23.687 25.9559C23.3128 26.5063 22.7717 26.9312 22.0637 27.2305C21.3614 27.5297 20.5181 27.6794 19.5337 27.6794Z\",\n fill: \"#2A2A2A\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36 25.7395V30.3647C35.8043 30.5838 35.5021 30.8216 35.0934 31.0782C34.6847 31.3293 34.1579 31.5458 33.5132 31.7275C32.8685 31.9092 32.0885 32 31.1732 32C30.3616 32 29.6219 31.8771 28.9541 31.6313C28.2864 31.3801 27.7107 31.014 27.2272 30.5331C26.7494 30.0521 26.381 29.4643 26.122 28.7695C25.8629 28.0695 25.7334 27.2705 25.7334 26.3727V25.6433C25.7334 24.7455 25.8572 23.9466 26.1047 23.2465C26.358 22.5464 26.7178 21.9559 27.184 21.4749C27.6503 20.994 28.2058 20.6279 28.8505 20.3768C29.4952 20.1256 30.2119 20 31.0005 20C32.0943 20 32.9923 20.1657 33.6945 20.497C34.3968 20.823 34.9322 21.2772 35.3006 21.8597C35.6748 22.4369 35.905 23.0995 35.9914 23.8477H33.4787C33.4154 23.4522 33.2945 23.1075 33.116 22.8136C32.9376 22.5197 32.6814 22.2899 32.3475 22.1242C32.0194 21.9586 31.5935 21.8758 31.0696 21.8758C30.6379 21.8758 30.2522 21.9586 29.9126 22.1242C29.5787 22.2846 29.2966 22.5224 29.0664 22.8377C28.8361 23.153 28.6606 23.5431 28.5397 24.008C28.4188 24.4729 28.3583 25.0127 28.3583 25.6273V26.3727C28.3583 26.982 28.4217 27.5217 28.5483 27.992C28.6749 28.4569 28.862 28.8497 29.1096 29.1703C29.3628 29.4856 29.6737 29.7234 30.0421 29.8838C30.4105 30.0441 30.8394 30.1242 31.3287 30.1242C31.7374 30.1242 32.077 30.0922 32.3475 30.0281C32.6239 29.9639 32.8455 29.8864 33.0124 29.7956C33.1851 29.6994 33.3175 29.6086 33.4096 29.523V27.4549H31.0437V25.7395H36Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadJpegsIcon);\nexport default __webpack_public_path__ + \"static/media/upload_jpegs_icon.cdf5c94e.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEmptyPagesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 34V2H24.6672L34 12.1941V34\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 34L6 38H34V34\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3333 16H20L17.3333 29.3333H14.6667L17.3333 16Z\",\n fill: \"#2A2A2A\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.6667 16H25.3333L22.6667 29.3333H20L22.6667 16Z\",\n fill: \"#2A2A2A\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.3333 21.3333L13.3333 18.6667L28 18.6667V21.3333H13.3333Z\",\n fill: \"#2A2A2A\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 26.6667L12 24L26.6667 24V26.6667L12 26.6667Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyPagesIcon);\nexport default __webpack_public_path__ + \"static/media/empty_pages_icon.4d688ada.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFlyersIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.6464 10.0007C10.527 10.0007 8.80273 11.725 8.80273 13.8444C8.80273 15.9638 10.527 17.6881 12.6464 17.6881C14.7658 17.6881 16.49 15.9638 16.49 13.8444C16.49 11.725 14.7658 10.0007 12.6464 10.0007ZM12.6464 16.7506C11.0439 16.7506 9.74023 15.4469 9.74023 13.8444C9.74023 12.2419 11.0439 10.9382 12.6464 10.9382C14.2489 10.9382 15.5525 12.2419 15.5525 13.8444C15.5525 15.4469 14.2489 16.7506 12.6464 16.7506Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8919 19.6311H9.35426C9.02382 19.6311 8.75586 19.841 8.75586 20.0999C8.75586 20.3587 9.02382 20.5686 9.35426 20.5686H15.8919C16.2224 20.5686 16.4903 20.3587 16.4903 20.0999C16.4903 19.841 16.2224 19.6311 15.8919 19.6311Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.0682 21.7698H9.22461C8.96577 21.7698 8.75586 21.9796 8.75586 22.2385C8.75586 22.4974 8.96577 22.7073 9.22461 22.7073H16.0682C16.327 22.7073 16.5369 22.4974 16.5369 22.2385C16.5369 21.9796 16.3271 21.7698 16.0682 21.7698Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9217 23.9082H9.371C9.03132 23.9082 8.75586 24.1181 8.75586 24.377C8.75586 24.6358 9.03132 24.8457 9.371 24.8457H15.9217C16.2614 24.8457 16.5368 24.6358 16.5368 24.377C16.5368 24.1181 16.2614 23.9082 15.9217 23.9082Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.334 4H12.6469C12.388 4 12.1781 4.20986 12.1781 4.46875V6.53183H5.80273C5.54389 6.53183 5.33398 6.74169 5.33398 7.00058V27.5314C5.33398 27.7903 5.54389 28.0002 5.80273 28.0002H19.4899C19.7488 28.0002 19.9587 27.7903 19.9587 27.5314V25.4683H26.334C26.5928 25.4683 26.8027 25.2585 26.8027 24.9996V4.46875C26.8027 4.20986 26.5929 4 26.334 4ZM19.0211 27.0627H6.27144V7.46929H19.0211V27.0627ZM25.8653 24.5309H19.9586V7.00054C19.9586 6.74164 19.7487 6.53178 19.4899 6.53178H13.1156V4.93751H25.8653V24.5309Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlyersIcon);\nexport default __webpack_public_path__ + \"static/media/flyers_icon.68487685.svg\";\nexport { ForwardRef as ReactComponent };","import {ErrorDtoFactory, FlyerWithoutPageImagesDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as FlyerWithoutPageImagesActions} from \"../actions/flyerWithoutPageImagesActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\nimport {FlyersState} from \"../reducers/flyersReducer\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {Action as FlyersActions} from \"../actions/flyersActions\";\r\nimport {Action as ToggleActionForEditorActions} from \"../actions/toggleActionForEditorActions\";\r\nimport {dispatchEventDataType, EVENT_DATA_TYPE_OPEN_PAGES_FLYER} from \"../../globals/EventDispatcher\";\r\n\r\nexport const createFlyerWithoutPageImages = (\r\n data: FlyerWithoutPageImagesDto,\r\n flyersState?: FlyersState\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_START,\r\n });\r\n\r\n try {\r\n let result: any = await createFlyerWithoutPageImagesRequest(\r\n data,\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data.flyer;\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS,\r\n payload: flyer.flyRecId,\r\n });\r\n // dispatch({\r\n // type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n // payload: flyer,\r\n // });\r\n if (flyersState) {\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [flyer, ...flyersState.flyers],\r\n };\r\n // dispatch({\r\n // type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n // payload: flyer,\r\n // });\r\n dispatchEventDataType(\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER,\r\n {\r\n isOpen: true,\r\n flyerCaption: flyer.flyCaption\r\n }\r\n );\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n }\r\n localStorage.removeItem(`userEnterForFirstTime${userDto.userId}`);\r\n dispatch({\r\n type: ActionType.EDITOR_TOGGLE_FLYER_DETAILS_POPUP,\r\n payload: false\r\n })\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_COMPLETED\r\n });\r\n\r\n // dispatch({\r\n // type: ActionType.EDITOR_TOGGLE_FLYER_DETAILS_POPUP,\r\n // payload: false,\r\n // })\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst createFlyerWithoutPageImagesRequest = (\r\n data: FlyerWithoutPageImagesDto,\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(`NoPages`, data.numberOfPages);\r\n formData.append(`WidthPx`, data.pageWidth);\r\n formData.append(`HeightPx`, data.pageHeight);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n\r\n };\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/CreateFlyerWithoutPageImages`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\n\r\n\r\n\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Grid, Modal, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {PopupHeader} from \"../../com/popupHeader/popupHeader\";\r\nimport {TextInputWithLabel} from \"../../../com/textInputWithLabel/textInputWithLabel\";\r\nimport {\r\n createFlyerWithoutPageImages\r\n} from \"../../../store/actionCreators/flyerWithoutPageImagesActionCreator\";\r\nimport {FlyerWithoutPageImagesDto} from \"../../../dtos\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {getFlippingFlyer} from \"../../../store\";\r\n\r\n\r\nconst initialState = {\r\n numberOfPages: \"2\",\r\n pageWidth: \"1000\",\r\n pageHeight: \"1500\"\r\n}\r\n\r\ninterface Props {\r\n isOpen: boolean;\r\n setIsOpen: (value: boolean) => void;\r\n}\r\n\r\nexport const CreateFlyerWithEmptyPages: React.FC = ({\r\n isOpen,\r\n setIsOpen,\r\n }) => {\r\n const dispatch = useDispatch();\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const flyerDataWithoutImages = useTypedSelector((state) => state.flyerDataWithoutImages);\r\n const [state, setState] = useState(initialState);\r\n\r\n\r\n useEffect(() => {\r\n if(flyerDataWithoutImages.type === ActionType.CREATE_FLYER_WITHOUT_PAGE_IMAGES_SUCCESS){\r\n dispatch(getFlippingFlyer(flyerDataWithoutImages.flyerId || -1));\r\n onClose();\r\n }\r\n }, [flyerDataWithoutImages.type])\r\n const onClose = () => {\r\n setIsOpen(false);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n const targetName = e.target.name;\r\n let value = e.target.value;\r\n const re = /^[0-9]+$/;\r\n if ((re.test(value) || value === \"\") && value !== \"0\") {\r\n if (targetName === \"numberOfPages\" && Number(value) > 1000) {\r\n value = \"1000\"\r\n }\r\n setState({\r\n ...state,\r\n [targetName]: value,\r\n });\r\n }\r\n }\r\n\r\n const compareDefaultStateAndCurrentState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(state);\r\n const stringCurrentState = JSON.stringify(initialState);\r\n return stringDefaultState === stringCurrentState;\r\n }\r\n\r\n const createFlyer = () => {\r\n dispatch(createFlyerWithoutPageImages(state, flyersState))\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Number of Pages:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Page Width (px):\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Page Height (px):\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n}","import {ErrorDtoFactory, UploadProgressingImagesDto, UserDto} from \"../../dtos\";\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as FlyerFromJpegsActions} from \"../actions/flyerFromJpegsActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\nimport {Action as ProgressPopupActions} from \"../actions/uploadingImagesProgressActions\";\r\nimport {FlyersState} from \"../reducers/flyersReducer\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {Action as FlyersActions} from \"../actions/flyersActions\";\r\n\r\nexport const createFlyerFromJpegFiles = (\r\n files: File[],\r\n uniformPageImageDimension: number = 0,\r\n flyersState?: FlyersState,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_JPEGS_START,\r\n });\r\n\r\n try {\r\n let result: any = await createFlyerFromJpegFilesRequest(\r\n files,\r\n uniformPageImageDimension,\r\n dispatch\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data.flyer;\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_JPEGS_SUCCESS,\r\n payload: flyer.flyRecId,\r\n });\r\n // dispatch({\r\n // type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n // payload: flyer,\r\n // });\r\n if (flyersState) {\r\n const flyersStatePayload: FlyersState = {\r\n ...flyersState,\r\n flyers: [flyer, ...flyersState.flyers],\r\n };\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: flyer,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_STATE,\r\n payload: flyersStatePayload,\r\n });\r\n }\r\n localStorage.removeItem(`userEnterForFirstTime${userDto.userId}`);\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_JPEGS_COMPLETED\r\n });\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR\r\n })\r\n dispatch({\r\n type: ActionType.CREATE_FLYER_FROM_JPEGS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst createFlyerFromJpegFilesRequest = (\r\n files: File[],\r\n uniformPageImageDimension: number,\r\n dispatch: Dispatch\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n files.forEach((file: File) => {\r\n formData.append(`Jpegs`, file, file.name);\r\n });\r\n formData.append(\"UniformPageImageDimension\", uniformPageImageDimension.toString());\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n onUploadProgress: (progressEvent: any) => {\r\n const percentCompleted = Math.round(\r\n (progressEvent.loaded * 100) / progressEvent.total\r\n );\r\n // console.log(percentCompleted);\r\n const data: UploadProgressingImagesDto = {\r\n isUploadingFilesToSystem: progressEvent.loaded !== progressEvent.total,\r\n isUploadingFilesToSystemFinished: progressEvent.loaded === progressEvent.total,\r\n current: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.loaded,\r\n failCount: 0,\r\n processingFinished: false,\r\n successCount: 0,\r\n severityLevel: '',\r\n total: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.total,\r\n titlePopup: `Uploading file...`,\r\n notUploadedImages: null,\r\n }\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: data\r\n });\r\n },\r\n\r\n };\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/CreateFlyerFromJpegs`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\n","import React, {useState} from 'react';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n Box,\r\n Button,\r\n FormControlLabel,\r\n Modal,\r\n Radio,\r\n RadioGroup,\r\n Typography,\r\n useMediaQuery\r\n} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {startUploadingImagesProgressPopup} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {createFlyerFromJpegFiles} from \"../../../store/actionCreators/flyerFromJpegsActionCreator\";\r\nimport {PopupHeader} from \"../../com/popupHeader/popupHeader\";\r\n\r\ninterface Props {\r\n isOpen: boolean;\r\n setIsOpen: (value: boolean) => void;\r\n}\r\n\r\nexport const CreateFlyerWithJpegsPages: React.FC = ({\r\n isOpen,\r\n setIsOpen\r\n }) => {\r\n const dispatch = useDispatch();\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const [value, setValue] = useState(\"0\");\r\n\r\n const onJpegsSelected = (event: React.ChangeEvent) => {\r\n if(event.target.files){\r\n const files = Array.from(event.target.files);\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(createFlyerFromJpegFiles(files, Number(value), flyersState));\r\n onClose();\r\n }\r\n }\r\n const onClose = () => {\r\n setIsOpen(false);\r\n }\r\n\r\n const handleChange = (event: React.ChangeEvent) => {\r\n const value = event.target.value;\r\n setValue(value);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n All Pages in this flyer should be:\r\n \r\n \r\n } label=\"No Restriction\" />\r\n } label=\"Equal Width (different height)\" />\r\n } label=\"Equal Height (different width)\" />\r\n \r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n \r\n \r\n\r\n {/**/}\r\n {/* */}\r\n {/* Save*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n\r\n \r\n )\r\n}","import React, {useState} from \"react\";\r\nimport {Box, Button, Modal, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {toggleFlyerDetailsPopup} from \"../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {startUploadingImagesProgressPopup} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {createFlyerFromPdfFile} from \"../../../store/actionCreators/flyerFromPdfActionCreator\";\r\nimport {ReactComponent as UploadPDFIcon} from \"../../../assets/createNewFlyerModal/upload_pdf_icon.svg\";\r\nimport {ReactComponent as UploadJPEGsIcon} from \"../../../assets/createNewFlyerModal/upload_jpegs_icon.svg\";\r\nimport {ReactComponent as EmptyPagesIcon} from \"../../../assets/createNewFlyerModal/empty_pages_icon.svg\";\r\nimport {CreateFlyerWithEmptyPages} from \"./createFlyerWithEmptyPages\";\r\nimport {PopupHeader} from \"../../com/popupHeader/popupHeader\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {UserDto} from \"../../../dtos\";\r\nimport {CreateFlyerWithJpegsPages} from \"./createFlyerWithJpegsPages\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n createNewFlyerBtnWrapper: {\r\n display: `flex`,\r\n flexFlow: `row`,\r\n alignItems: `center`,\r\n columnGap: `2%`\r\n },\r\n uploadButton: {\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n rowGap: \"32px\",\r\n '&.MuiButtonBase-root': {\r\n padding: `32px 0`,\r\n height: `100%`,\r\n flex: `1 1 auto`,\r\n // width: `100%`,\r\n // height: `64px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n border: `2px dashed #888888`,\r\n borderRadius: `0`,\r\n boxShadow: `none`,\r\n backgroundColor: `#ffffff`,\r\n '&:hover': {\r\n backgroundColor: `#ffffff`,\r\n boxShadow: `none`\r\n }\r\n }\r\n },\r\n\r\n}))\r\n\r\n\r\nexport const CreateFlyerModal = () => {\r\n const dispatch = useDispatch();\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n\r\n let {isShowCreateNewFlyerPopup} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n let flyerDataWithoutImages = useTypedSelector((state) => state.flyerDataWithoutImages);\r\n\r\n const [isOpenCreateEmptyFlyer, setOpenCreateEmptyFlyer] = useState(false);\r\n const [isOpenCreateNewJpegFlyer, setOpenCreateNewJpegFlyer] = useState(false);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto?.accountTier === 1;\r\n\r\n\r\n const classes = useStyles();\r\n\r\n const onClosePopup = () => {\r\n dispatch(toggleFlyerDetailsPopup(false));\r\n }\r\n\r\n const onPDFSelected = (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(createFlyerFromPdfFile(file, false, flyersState));\r\n }\r\n\r\n const createEmptyPagesForFlyer = () => {\r\n setOpenCreateEmptyFlyer(true);\r\n }\r\n\r\n const onClickJpegFlyerBtn = () => {\r\n setOpenCreateNewJpegFlyer(true);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n flyerDataWithoutImages.loading &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Upload one PDF file for flyer\r\n \r\n \r\n \r\n \r\n {\r\n !isAccountTier1 &&\r\n <>\r\n \r\n or\r\n \r\n \r\n \r\n \r\n \r\n Upload JPG files, one per page\r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* Upload JPG files, one per page*/}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n or\r\n \r\n \r\n \r\n \r\n \r\n Create a blank flyer\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {\r\n isOpenCreateEmptyFlyer &&\r\n \r\n }\r\n {\r\n isOpenCreateNewJpegFlyer &&\r\n \r\n }\r\n \r\n )\r\n}","import HeaderRightControls from './controls/right/HeaderRightControls';\r\nimport styles from './editorHeader.module.scss'\r\n\r\n// import logo from '../../../assets/editor_logo.svg';\r\nimport React, {useEffect, useState} from \"react\";\r\nimport EnvMode from \"../../../com/envManager/EnvMode\";\r\nimport {\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE,\r\n addEventDataTypeListener,\r\n removeEventTypeListener,\r\n EVENT_DATA_TYPE_CREAT_NEW_FLYER,\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP\r\n} from '../../../globals/EventDispatcher'\r\nimport {CustomDataEvent} from \"../../../globals/CustomDataEvent\";\r\n// import {ReactComponent as InfoIcon} from \"../../../assets/editors/info_icon.svg\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {getSettingsForPopup} from \"../pages/getSetttingsForPopup\";\r\nimport StatusPopup from \"../../../com/statusPopup/StatusPopup\";\r\nimport {Box, Button, Grid, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport envManager from \"../../../com/envManager/EnvManager\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {getFlippingFlyer, updateFlyersState} from \"../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {SelectPageForTabsDto, UploadProgressingImagesDto, UserDto} from \"../../../dtos\";\r\nimport {HttpTransportType, HubConnectionBuilder, IHttpConnectionOptions, LogLevel} from \"@microsoft/signalr\";\r\nimport {changeUploadingImagesProgressPopup} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {updateFlyerDetailsPageImageState} from \"../../../store/actionCreators/flyerDetailsActionCreators\";\r\nimport {CreateFlyerModal} from \"../createFlyerModal/createFlyerModal\";\r\nimport {getFlyers} from \"../../../store\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n editorHeader: {\r\n height: `50px`,\r\n background: `linear-gradient(90deg, #0099D2 0%, #353FA8 100%)`,\r\n },\r\n headerBox: {\r\n height: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n '&.editorLogo': {\r\n // height: `29px`,\r\n alignItems: `flex-start`,\r\n padding: `0 20px`\r\n }\r\n },\r\n openFlyerBtn: {\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n },\r\n openFlyerDetailsPopup: {\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n }\r\n}))\r\n\r\nexport const EditorHeader: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const [title, setTitle] = useState('');\r\n const [isShow, show] = useState(false);\r\n const [isNew, createNew] = useState(false);\r\n const [isInfoPopupOpen, setInfoPopupStatus] = useState(false);\r\n const [url, setUrl] = useState(\"--\");\r\n const [isDisabledOpen, setDisabledOpen] = useState(false);\r\n const [isDisabledFlyerDetailPopup, setDisabledFlyerDetailPopup] = useState(false);\r\n const classes = useStyles();\r\n // let changedStateForFlyer = useTypedSelector((state) => state.changedStateForFlyer);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n //signalR start\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n\r\n const [connection, setConnection] = useState(null);\r\n\r\n const optionsSignal: IHttpConnectionOptions = {\r\n accessTokenFactory: () => {\r\n return userDto.token;\r\n },\r\n skipNegotiation: true,\r\n transport: HttpTransportType.WebSockets\r\n };\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.keepAliveIntervalInMilliseconds = 1000 * 60 * 3;\r\n connection.serverTimeoutInMilliseconds = 1000 * 60 * 6;\r\n connection.start().catch((e: any) => {\r\n console.log('Connection failed: ', e)\r\n });\r\n connection.on('ReceiveResponse', (message: any) => {\r\n const data: UploadProgressingImagesDto = {\r\n isOpen: true,\r\n isUploadingFilesToSystem: false,\r\n isUploadingFilesToSystemFinished: true,\r\n current: message.current,\r\n failCount: message.failCount,\r\n processingFinished: message.processingFinished,\r\n successCount: message.successCount,\r\n total: message.total,\r\n severityLevel: message.response.severityLevel,\r\n titlePopup: message.response.title === \"Image Upload Started\" ? message.response.title : message.response.userFriendlyMessage,\r\n notUploadedImages: message.response.severityLevel.toString().toLowerCase() === 'error' ? [{\r\n imageFileName: message.response.data[0].value,\r\n message: message.response.userFriendlyMessage\r\n }] : null,\r\n }\r\n dispatch(changeUploadingImagesProgressPopup(data))\r\n console.log(`signalR response \"ReceiveResponse event\":`);\r\n console.log(message);\r\n });\r\n connection.on('UploadPageImagesResponse', (message: any) => {\r\n const data: UploadProgressingImagesDto = {\r\n isOpen: true,\r\n isUploadingFilesToSystem: false,\r\n isUploadingFilesToSystemFinished: true,\r\n current: message.current,\r\n failCount: message.failCount,\r\n processingFinished: message.processingFinished,\r\n successCount: message.successCount,\r\n total: message.total,\r\n severityLevel: message.response.severityLevel,\r\n titlePopup: message.response.title === \"Image Upload Started\" ? message.response.title : message.response.userFriendlyMessage,\r\n notUploadedImages: message.response.severityLevel.toString().toLowerCase() === 'error' ? [{\r\n imageFileName: message.response.data[0].value,\r\n message: message.response.userFriendlyMessage\r\n }] : null,\r\n }\r\n dispatch(changeUploadingImagesProgressPopup(data))\r\n dispatch(updateFlyerDetailsPageImageState({\r\n pageId: message.data?.pageId,\r\n imageUrl: message.data?.imageUrl,\r\n imageThumbnailUrl: message.data?.thumbnailUrl\r\n }))\r\n console.log(`signalR response \"UploadPageImagesResponse event\":`);\r\n console.log(message);\r\n const tabIndex = getActiveTabIndex();\r\n if (tabIndex === 0 && message.processingFinished && message.total !== 0) {\r\n dispatch(getFlyers(false, false));\r\n }\r\n });\r\n }\r\n }, [connection]);\r\n\r\n //signalR end\r\n\r\n\r\n useEffect(() => {\r\n if (flippingFlyerState.type !== 'GET_FLIPPING_FLYER_ERROR') {\r\n setDisabledOpen(flippingFlyerState.loading);\r\n setDisabledFlyerDetailPopup(flippingFlyerState.loading);\r\n }\r\n }, [flippingFlyerState.type])\r\n\r\n useEffect(() => {\r\n if (title !== '') {\r\n try {\r\n let currentFlyerStatus = flyerDetailsState.flyFstRec;\r\n let statusCaption = currentFlyerStatus.fstCaption?.toLowerCase()\r\n\r\n let appUrl = '';\r\n\r\n if (statusCaption?.includes('edit')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (statusCaption?.includes('qa')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else if (statusCaption?.includes('published')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && flyerDetailsState.flyRecId) {\r\n let accountName = flyerDetailsState.flyAccRec?.accCaption;\r\n let flyerName = flyerDetailsState.flyCaption;\r\n appUrl += `${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${accountName}/${flyerName}`\r\n }\r\n\r\n if (statusCaption?.includes('inactive')) {\r\n appUrl = '--'\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!flyerDetailsState.flyRecId) {\r\n appUrl = '--'\r\n }\r\n setUrl(appUrl);\r\n // if (flyerDetailsState.flyFstRec.fstCaption === \"Published\" && flyerDetailsState.qualificationLevel === 0) {\r\n // setDisabledOpen(true);\r\n // }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n } else {\r\n setUrl(\"--\")\r\n }\r\n\r\n }, [flyerDetailsState.flyFstRec, flyerDetailsState.flyRecId])\r\n\r\n useEffect(() => {\r\n //signalR start\r\n if (connection === null) {\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl(`${envManager.flyerEditorServerAddress}/xceditor-hub`, optionsSignal)\r\n .configureLogging(LogLevel.Information)\r\n .withAutomaticReconnect()\r\n .build();\r\n setConnection(newConnection);\r\n }\r\n //signalR end\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, (data: CustomDataEvent) => {\r\n setTitle(data.data);\r\n })\r\n addEventDataTypeListener(EVENT_DATA_TYPE_CREAT_NEW_FLYER, (data: CustomDataEvent) => {\r\n createNew(data.data);\r\n if (data.data) {\r\n show(true);\r\n }\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP, (data: CustomDataEvent) => {\r\n if (!data.data.isOpen && data.data.isChangedData) {\r\n console.log(\"change status for right panel\");\r\n setInfoPopupStatus(true);\r\n return;\r\n } else {\r\n show(data.data.isOpen);\r\n }\r\n // dispatch(toggleFlyerDetailsPopup(data.data.isOpen));\r\n\r\n\r\n })\r\n\r\n\r\n return () => {\r\n removeEventTypeListener(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE);\r\n removeEventTypeListener(EVENT_DATA_TYPE_CREAT_NEW_FLYER);\r\n removeEventTypeListener(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP);\r\n }\r\n }, [])\r\n\r\n\r\n const onShowPopup = (isShow: boolean) => {\r\n dispatchEventDataType(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP, {\r\n isOpen: isShow,\r\n isChangedData: false\r\n });\r\n // dispatch(toggleFlyerDetailsPopup(false));\r\n if (isNew && !isShow) {\r\n dispatch(updateFlyersState(flyersState));\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n }\r\n if (!isNew && flyerDetailsState.flyRecId !== 0 && !isShow) {\r\n dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n }\r\n }\r\n\r\n const getActiveTabIndex = (): number => {\r\n if (selectedPageState.selectedTabNum) {\r\n return selectedPageState.selectedTabNum;\r\n } else {\r\n return 0\r\n }\r\n }\r\n\r\n const openFlyer = () => {\r\n window.open(url, 'urlFromMainScreen');\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: 'saveBeforeCloseInfo',\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isXs ? \"XC\" : \"xCircular\"}\r\n \r\n {\r\n !isXs && title !== '' &&\r\n <>\r\n \r\n {title !== '' ? `Flyer - ${title}` : ''}\r\n \r\n \r\n \r\n \r\n Open\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n\r\n {/*\r\n \r\n \r\n \r\n Flyer Editor{title !== '' ? ` - ${title}` : ''}\r\n \r\n \r\n \r\n*/}\r\n\r\n\r\n {/*\r\n {\r\n title !== '' &&\r\n <>\r\n \r\n \r\n {\r\n dispatchEventDataType(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP, {\r\n isOpen: true,\r\n isChangedData: changedStateForFlyer.isChangedFlyerData\r\n });\r\n }}\r\n className={`${isShow ? styles.is_active : ''} ${classes.openFlyerDetailsPopup}`}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Open\r\n \r\n \r\n \r\n \r\n \r\n }\r\n*/}\r\n\r\n \r\n \r\n {\r\n !isXs &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n isXs &&\r\n \r\n \r\n \r\n Flyers Editor\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {/*{*/}\r\n {/* isShow && */}\r\n {/*}*/}\r\n\r\n {\r\n isInfoPopupOpen && setInfoPopupStatus(false)}\r\n />\r\n }\r\n\r\n \r\n )\r\n}\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPagesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.2812 4H10.7898C10.0256 4 9.40382 4.58209 9.40382 5.29764V5.90377H8.75489C7.99061 5.90377 7.36888 6.48587 7.36888 7.20141V7.8075H6.72035C5.95587 7.8075 5.33398 8.3895 5.33398 9.10486V26.7026C5.33398 27.418 5.95587 28 6.72035 28H21.2111C21.9755 28 22.5974 27.418 22.5974 26.7026V26.0962H23.2464C24.0106 26.0962 24.6324 25.5141 24.6324 24.7986V24.1925H25.2813C26.0456 24.1925 26.6673 23.6104 26.6673 22.8948V5.29764C26.6672 4.58209 26.0455 4 25.2812 4V4ZM21.2111 27.0624H6.72035C6.50807 27.0624 6.33533 26.901 6.33533 26.7026V9.10476C6.33533 8.90634 6.50807 8.7449 6.72035 8.7449H17.9213V11.714C17.9213 11.9728 18.1455 12.1827 18.422 12.1827H21.5961V26.7026C21.596 26.901 21.4234 27.0624 21.2111 27.0624ZM20.8873 11.2453H18.9226V9.4072L20.8873 11.2453ZM23.631 24.7985C23.631 24.9974 23.4587 25.1587 23.2463 25.1587H22.5974V11.7163C22.5974 11.7162 22.5972 11.7076 22.597 11.694C22.5948 11.5798 22.5447 11.4709 22.4585 11.39C22.4584 11.3899 22.4584 11.3899 22.4584 11.3899C22.4558 11.3874 18.7758 7.94456 18.7758 7.94456C18.7753 7.94409 18.7698 7.93927 18.7612 7.93163C18.6693 7.85119 18.5478 7.80661 18.4221 7.80741H18.422H8.37022V7.20132C8.37022 7.00243 8.54246 6.84118 8.75489 6.84118H23.2463C23.4587 6.84118 23.631 7.00243 23.631 7.20132V24.7985ZM25.6659 22.8948C25.6659 23.0934 25.4933 23.255 25.2812 23.255H24.6323V7.20136C24.6323 6.48582 24.0105 5.90373 23.2463 5.90373H10.4052V5.29764C10.4052 5.09907 10.5777 4.9375 10.7898 4.9375H25.2812C25.4933 4.9375 25.6659 5.09903 25.6659 5.29764V22.8948Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPagesIcon);\nexport default __webpack_public_path__ + \"static/media/pages_icon.583d6140.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSpotsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.4 28.0002H27.6C27.8212 28.0002 28 27.821 28 27.6002V4.4C28 4.1792 27.8212 4 27.6 4H4.4C4.1788 4 4 4.1792 4 4.4V27.6002C4 27.821 4.1788 28.0002 4.4 28.0002ZM4.8 4.80001H27.2V27.2002H4.8V4.80001Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.4 19.486H12.8C13.0212 19.486 13.2 19.3068 13.2 19.086V13.4859C13.2 13.2651 13.0212 13.0859 12.8 13.0859H6.4C6.1788 13.0859 6 13.2651 6 13.4859V19.086C6 19.3068 6.1788 19.486 6.4 19.486ZM6.8 13.8859H12.4V18.686H6.8V13.8859Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9703 12.1144H25.3703C25.5915 12.1144 25.7703 11.9352 25.7703 11.7144V6.11436C25.7703 5.89356 25.5915 5.71436 25.3703 5.71436H18.9703C18.7491 5.71436 18.5703 5.89356 18.5703 6.11436V11.7144C18.5703 11.9352 18.7491 12.1144 18.9703 12.1144ZM19.3703 6.51436H24.9703V11.3144H19.3703V6.51436Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9703 26.6862H25.3703C25.5915 26.6862 25.7703 26.507 25.7703 26.2862V20.6861C25.7703 20.4653 25.5915 20.2861 25.3703 20.2861H18.9703C18.7491 20.2861 18.5703 20.4653 18.5703 20.6861V26.2862C18.5703 26.507 18.7491 26.6862 18.9703 26.6862ZM19.3703 21.0861H24.9703V25.8862H19.3703V21.0861Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.6 13.0859H14.4C14.1788 13.0859 14 13.2651 14 13.4859V19.086C14 19.3068 14.1788 19.486 14.4 19.486H25.6C25.8212 19.486 26 19.3068 26 19.086V13.4859C26 13.2651 25.8212 13.0859 25.6 13.0859ZM25.2 18.686H14.8V13.8859H25.2V18.686Z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3148 5.71436H6.11484C5.89364 5.71436 5.71484 5.89356 5.71484 6.11436V11.7144C5.71484 11.9352 5.89364 12.1144 6.11484 12.1144H17.3148C17.536 12.1144 17.7148 11.9352 17.7148 11.7144V6.11436C17.7148 5.89356 17.536 5.71436 17.3148 5.71436ZM16.9148 11.3144H6.51484V6.51436H16.9148V11.3144Z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3148 20.2861H6.11484C5.89364 20.2861 5.71484 20.4653 5.71484 20.6861V26.2862C5.71484 26.507 5.89364 26.6862 6.11484 26.6862H17.3148C17.536 26.6862 17.7148 26.507 17.7148 26.2862V20.6861C17.7148 20.4653 17.536 20.2861 17.3148 20.2861ZM16.9148 25.8862H6.51484V21.0861H16.9148V25.8862Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSpotsIcon);\nexport default __webpack_public_path__ + \"static/media/spots_icon.74092b0b.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPromotionsItemsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.30174 2.9844C9.05628 2.99021 8.8901 2.66935 8.8901 2.66935L2.79899 9.69302C2.75747 9.74067 2.72452 9.79728 2.70204 9.85966C2.67955 9.92205 2.66797 9.98897 2.66797 10.0565L2.66797 27.4891C2.66845 27.6251 2.71572 27.7553 2.79939 27.8511C2.88307 27.9469 2.99629 28.0004 3.11415 27.9998L15.5577 27.9998C15.6751 27.9996 15.7877 27.9457 15.8708 27.85C15.9539 27.7544 16.0008 27.6246 16.0013 27.4891L16.0013 10.0565C16.0016 9.98917 15.9904 9.92239 15.9684 9.86002C15.9463 9.79765 15.9139 9.74091 15.8728 9.69302L9.77905 2.6665C9.77905 2.6665 9.55363 2.97895 9.30174 2.9844ZM8.89014 4.11544L8.89014 7.42293C8.12765 7.65364 7.55681 8.45126 7.55681 9.39965C7.55681 10.5259 8.35824 11.4504 9.33458 11.4504C10.3109 11.4504 11.1124 10.5259 11.1124 9.39965C11.1124 8.45136 10.5414 7.65372 9.77904 7.42293L9.77904 4.11544L15.1124 10.2678L15.1124 26.9784L3.55681 26.9784L3.55681 10.2718L8.89014 4.11544ZM9.33458 8.37424C9.83064 8.37424 10.2235 8.82744 10.2235 9.39965C10.2235 9.97191 9.83064 10.425 9.33458 10.425C8.83852 10.425 8.4457 9.97191 8.4457 9.39965C8.4457 8.82744 8.83852 8.37424 9.33458 8.37424Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.66926 16C5.93701 16 5.33592 16.6016 5.33594 17.3346C5.33592 18.0675 5.93701 18.6667 6.66926 18.6667C7.40152 18.6667 8.0026 18.0675 8.0026 17.3346C8.0026 16.6016 7.40152 16 6.66926 16ZM6.66926 16.6673C7.04131 16.6673 7.33593 16.9622 7.33593 17.3346C7.33593 17.707 7.04131 18.0019 6.66926 18.0019C6.29721 18.0019 6.00259 17.707 6.00259 17.3346C6.00259 16.9622 6.29721 16.6673 6.66926 16.6673Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0025 21.333C11.2696 21.333 10.668 21.9341 10.668 22.6663C10.668 23.3986 11.2696 23.9997 12.0025 23.9997C12.7355 23.9997 13.3346 23.3986 13.3346 22.6663C13.3346 21.9341 12.7355 21.333 12.0025 21.333ZM12.0025 21.9997C12.3749 21.9997 12.6698 22.2943 12.6698 22.6663C12.6698 23.0384 12.3749 23.333 12.0025 23.333C11.6301 23.333 11.3352 23.0384 11.3352 22.6663C11.3352 22.2943 11.6301 21.9997 12.0025 21.9997Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0515 15.5488C11.9482 15.532 11.8444 15.5418 11.7529 15.577C11.6615 15.6123 11.5864 15.6714 11.5372 15.747L5.99184 24.0269C5.95285 24.0768 5.92678 24.1343 5.91523 24.1956C5.90368 24.2569 5.9069 24.3208 5.92469 24.3834C5.94248 24.446 5.97446 24.506 6.01866 24.5595C6.06286 24.613 6.11833 24.659 6.18165 24.6946C6.24496 24.7302 6.31476 24.7548 6.38675 24.7666C6.45873 24.7785 6.53136 24.7774 6.60014 24.7636C6.66892 24.7497 6.73239 24.7233 6.78662 24.686C6.84085 24.6487 6.88469 24.6013 6.91542 24.5467L12.4603 16.2701C12.5042 16.2068 12.5282 16.1333 12.53 16.0564C12.5318 15.9795 12.5115 15.9016 12.4708 15.8298C12.4301 15.758 12.3704 15.6947 12.2972 15.6456C12.2239 15.5965 12.1394 15.5633 12.0515 15.5488Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.4959 10.548C25.6303 9.77391 25.1787 8.78873 25.1787 7.76836V4.91836C25.4045 4.8128 25.5927 4.5665 25.5927 4.32021V3.33502C25.5927 2.98317 25.2916 2.6665 24.8776 2.6665H21.8293C21.4529 2.6665 21.1142 2.94799 21.1142 3.33502V4.32021C21.1142 4.60169 21.34 4.88317 21.6035 4.95354V7.6628C21.6035 8.75354 21.1142 9.77391 20.2486 10.4776C19.2701 11.2869 18.668 12.4832 18.668 13.7498V26.9091C18.668 27.5072 19.1949 27.9998 19.8346 27.9998H26.8346C27.4744 27.9998 28.0013 27.5072 28.0013 26.9091V13.7498C28.0013 12.5535 27.4744 11.3924 26.4959 10.548ZM24.84 3.37021V4.24984H24.8024H22.0174H21.9045V3.37021H24.84ZM27.2486 26.8739C27.2486 27.085 27.0604 27.2609 26.8346 27.2609H19.8723C19.6465 27.2609 19.4583 27.085 19.4583 26.8739V13.7498C19.4583 12.6943 19.9475 11.7091 20.7755 11.0054C21.7916 10.1609 22.3938 8.92947 22.3938 7.6628V4.98873H24.426V7.80354C24.426 9.03502 24.9905 10.1961 26.0067 11.0758C26.797 11.7795 27.2486 12.7295 27.2486 13.7498V26.8739Z\",\n fill: \"white\",\n stroke: \"white\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPromotionsItemsIcon);\nexport default __webpack_public_path__ + \"static/media/promotions_items_icon.d470d009.svg\";\nexport { ForwardRef as ReactComponent };","\r\nimport './ToolsBarItem.scss'\r\n\r\nimport { ReactComponent as FlyersIcon } from '../../../../assets/toolsBar/flyers_icon.svg'\r\nimport { ReactComponent as PagesIcon } from '../../../../assets/toolsBar/pages_icon.svg'\r\nimport { ReactComponent as SpotsIcon } from '../../../../assets/toolsBar/spots_icon.svg'\r\nimport { ReactComponent as PromotionsItemsIcon } from '../../../../assets/toolsBar/promotions_items_icon.svg'\r\n// import { ReactComponent as ItemsIcon } from '../../../../assets/toolsBar/items_icon.svg'\r\nimport React from \"react\";\r\n// import {\r\n// dispatchEventDataType,\r\n// EVENT_DATA_TYPE_DISABLE_TABS\r\n// } from \"../../../../globals/EventDispatcher\";\r\n\r\n\r\ninterface IToolsBarItem {\r\n index: number;\r\n title: string;\r\n onClick: (index: number) => void;\r\n selected: boolean;\r\n isAboveTheSelected: boolean;\r\n isBelowTheSelected: boolean;\r\n isDisabledTab?: boolean;\r\n titleForBtn?: string\r\n}\r\n\r\nexport const ToolsBarItem: React.FC = (props) => {\r\n\r\n let containerClass = ''\r\n let imgClass = '';\r\n\r\n if(props.selected){\r\n containerClass = 'item_selected'\r\n imgClass = 'svg_icon_selected'\r\n }\r\n else {\r\n containerClass = 'item_unselected'\r\n imgClass = 'svg_icon_unselected'\r\n }\r\n\r\n let backClass = ''\r\n let frontClass = ''\r\n\r\n if(props.isAboveTheSelected){\r\n backClass = 'above_selected_back_layer'\r\n frontClass = 'above_selected_front_layer'\r\n }\r\n\r\n if(props.isBelowTheSelected){\r\n backClass = 'below_selected_back_layer'\r\n frontClass = 'below_selected_front_layer'\r\n }\r\n\r\n let disabledStyle = '';\r\n if(props.isDisabledTab && !props.selected){\r\n disabledStyle = `disabled_tab`;\r\n }\r\n\r\n return (\r\n {\r\n // if(props.title === \"Flyers\"){\r\n // dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true)\r\n // }\r\n if(disabledStyle === \"\"){\r\n props.onClick(props.index)\r\n }\r\n }}\r\n >\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {props.index === 0 && }\r\n {props.index === 1 && }\r\n {props.index === 2 && }\r\n {props.index === 3 && }\r\n {/*{props.index === 4 && }*/}\r\n

{props.title}

\r\n
\r\n
\r\n )\r\n}","import {ActionType} from '../actionTypes';\r\nimport {Action as PromotionsItemsActions, Action} from '../actions/promotionsItemsActions';\r\n\r\nimport {Dispatch} from 'redux';\r\n\r\nimport {SearchTermForUnlinkedPromotionsItems} from \"../reducers/promotionsAndItemsReducer\";\r\nimport {ErrorDtoFactory, FlyerPageDto, FlyerPageSpotDto, PromoDto, PromoItemsDto, UserDto} from \"../../dtos\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\nimport {Action as FlippingFlyerActions} from \"../actions/flippingFlyerActions\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\n\r\n\r\nexport const changeActiveUnlinkTab = (tabName: string) => {\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_ACTIVE_TAB_NAME,\r\n payload: tabName\r\n });\r\n }\r\n}\r\n\r\nexport const changeSearchTermForUnlinkedPromotionsItems = (newState: SearchTermForUnlinkedPromotionsItems) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_SEARCH_TERM,\r\n payload: newState\r\n });\r\n }\r\n}\r\n\r\nexport const savePromosItemsExcelFileInDBForLoadItemsImages = (file: any) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SAVE_PROMO_ITEMS_FILE_IN_STATE,\r\n payload: file\r\n });\r\n }\r\n}\r\n\r\nexport const addPromosForUnlinkedPromotionsMenu = (newState: PromoDto[], isReplace?: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ADD_PROMOS_TO_UNLINK_PROMOS,\r\n payload: {\r\n newState: newState,\r\n isReplace: isReplace\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const addItemsForUnlinkedPromotionsItemsMenu = (newState: PromoItemsDto[], isReplace?: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ADD_ITEMS_TO_UNLINK_ITEMS,\r\n payload: {\r\n newState: newState,\r\n isReplace: isReplace\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const deletePromosFromUnlinkedPromotionsMenu = (newState: PromoDto[]) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_PROMOS_FROM_UNLINK_PROMOS,\r\n payload: newState\r\n });\r\n }\r\n}\r\n\r\nexport const deleteItemsFromUnlinkedPromotionsItemsMenu = (newState: PromoItemsDto[]) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_ITEMS_FROM_UNLINK_ITEMS,\r\n payload: newState\r\n });\r\n }\r\n}\r\n\r\nexport const clearDataForUnlinkedPromotionsItemsMenu = () => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU\r\n });\r\n }\r\n}\r\n\r\nexport const toggleUnlinkPromotionsItemsPanel = (isOpen: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.TOGGLE_UNLINK_PANEL,\r\n payload: isOpen\r\n });\r\n }\r\n}\r\n\r\nexport const changeQualifiedStatusForPromotionsAndItems = (isQualified: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFIED_STATUS_FOR_PROMOTIONS_AND_ITEMS,\r\n payload: isQualified\r\n });\r\n }\r\n}\r\n\r\nexport const changeSelectAllStatusForPromotionsAndItems = (isSelectAll: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_SELECT_ALL_STATUS_FOR_PROMOTIONS_AND_ITEMS,\r\n payload: isSelectAll\r\n });\r\n }\r\n}\r\n//unlink promo from frame and attach to flyer\r\nexport const attachPromoToFlyer = (flyerId: number, promos: number[], isDndEvent: boolean, lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerId': flyerId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promos': promos\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/AttachPromosToFlyer`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n if (isDndEvent) {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_DND_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_DND_COMPLETE,\r\n payload: data\r\n })\r\n\r\n } else {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_COMPLETE,\r\n payload: data\r\n })\r\n\r\n }\r\n\r\n\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n//unlink items from promo and attach to flyer\r\nexport const attachItemsToFlyer = (\r\n flyerId: number,\r\n promoItems: number[],\r\n isDndEvent: boolean,\r\n promo: PromoDto,\r\n targetFrameId?: number,\r\n lang: string = \"en-US\"\r\n) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ATTACH_ITEMS_TO_FLYER_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerId': flyerId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promoItems': promoItems\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/AttachPromoItemsToFlyer`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n // if (isDndEvent) {\r\n // dispatch({\r\n // type: ActionType.ATTACH_ITEMS_TO_FLYER_DND_SUCCESS,\r\n // payload: {\r\n // targetPromo: promo,\r\n // itemsIds: promoItems,\r\n // targetFrameId: targetFrameId,\r\n // }\r\n // })\r\n // dispatch({\r\n // type: ActionType.ATTACH_ITEMS_TO_FLYER_DND_COMPLETE,\r\n // payload: data\r\n // })\r\n //\r\n // } else {\r\n dispatch({\r\n type: ActionType.ATTACH_ITEMS_TO_FLYER_SUCCESS,\r\n payload: {\r\n targetPromo: promo,\r\n itemsIds: promoItems,\r\n targetFrameId: targetFrameId,\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_ITEMS_TO_FLYER_COMPLETE,\r\n payload: data\r\n })\r\n\r\n // }\r\n\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.ATTACH_ITEMS_TO_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\n//attach to frame unlinked promo\r\nexport const attachPromoToFrame = (promoId: number, frameId: number, isDnD: boolean, lang: string = \"en-US\", fromUnlinkMenu?: boolean) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'spotId': frameId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promoId': promoId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/AttachPromoToSpot`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n if (isDnD) {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_DND_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_DND_COMPLETE,\r\n payload: data\r\n })\r\n\r\n } else {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_SUCCESS,\r\n payload: {\r\n data: data,\r\n fromUnlinkMenu: fromUnlinkMenu\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_COMPLETE,\r\n payload: data\r\n })\r\n }\r\n\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.ATTACH_PROMO_TO_FRAME_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const attachItemsToPromo = (promoId: number, itemsId: number[], lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ATTACH_ITEM_TO_PROMO_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'promoItems': itemsId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promoId': promoId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/AttachPromoItemsToPromo`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.ATTACH_ITEM_TO_PROMO_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.ATTACH_ITEM_TO_PROMO_COMPLETE,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.ATTACH_ITEM_TO_PROMO_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const updateItem = (dataItem: any, lang: string) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_ITEM_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'promoItems': [dataItem],\r\n 'uiLanguageCultureCode': lang,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/UpdatePromoItems`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.UPDATE_ITEM_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.UPDATE_ITEM_COMPLETE,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPDATE_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const editPromotionItem = (\r\n itemData: any,\r\n languageCultureCode: string,\r\n imageSrcState: string,\r\n withPegPrice: boolean,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.EDIT_PROMOTION_ITEM_START,\r\n });\r\n\r\n try {\r\n let result: any = await editPromotionItemRequest(\r\n itemData,\r\n languageCultureCode,\r\n imageSrcState,\r\n withPegPrice\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data;\r\n dispatch({\r\n type: ActionType.EDIT_PROMOTION_ITEM_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.EDIT_PROMOTION_ITEM_COMPLETE});\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.EDIT_PROMOTION_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst editPromotionItemRequest = (\r\n itemData: any,\r\n contentLanguageCulture: string,\r\n imageSrcState: string,\r\n withPegPrice: boolean\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n // formData.append(`FlyerId`, itemData.flyerId);\r\n formData.append(`PromoItemId`, itemData.id);\r\n formData.append(`UiLanguageCultureCode`, contentLanguageCulture);\r\n // formData.append(`PromoId`, itemData.promoId);\r\n formData.append(`Code`, itemData.code.trim());\r\n formData.append(`Caption`, itemData.caption);\r\n formData.append(`DisplayCaption1`, itemData.displayCaption1);\r\n formData.append(`DisplayCaption2`, itemData.displayCaption2);\r\n if (withPegPrice) {\r\n formData.append(`RegularPrice`, itemData.regularPrice);\r\n }\r\n formData.append(`Keywords`, itemData.keywords);\r\n\r\n if (itemData.flyerId) {\r\n formData.append(`FlyerId`, itemData.flyerId);\r\n }\r\n if (itemData.promoId) {\r\n formData.append(`PromoId`, itemData.promoId);\r\n }\r\n\r\n if (imageSrcState === '') {\r\n formData.append(`Image`, 'null');\r\n } else if (itemData.file) {\r\n formData.append(`Image`, itemData.file, itemData.file.name);\r\n }\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/UpdatePromoItem`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\nexport const createPromotionItem = (\r\n itemData: any,\r\n languageCultureCode: string,\r\n imageSrcState: string,\r\n withItemPrice: boolean,\r\n) => {\r\n\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_ITEM_START,\r\n });\r\n\r\n try {\r\n let result: any = await createPromotionItemRequest(\r\n itemData,\r\n languageCultureCode,\r\n imageSrcState,\r\n withItemPrice,\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data;\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_ITEM_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.CREATE_PROMOTION_ITEM_COMPLETE});\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n\r\n });\r\n }\r\n };\r\n};\r\n\r\n\r\nconst createPromotionItemRequest = (\r\n itemData: any,\r\n contentLanguageCulture: string,\r\n imageSrcState: string,\r\n withItemPrice: boolean,\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n // formData.append(`FlyerId`, itemData.flyerId);\r\n formData.append(`PromoItemId`, itemData.id);\r\n formData.append(`UiLanguageCultureCode`, contentLanguageCulture);\r\n formData.append(`Code`, itemData.code.trim());\r\n formData.append(`Caption`, itemData.caption);\r\n formData.append(`DisplayCaption1`, itemData.displayCaption1);\r\n formData.append(`DisplayCaption2`, itemData.displayCaption2);\r\n if (withItemPrice) {\r\n formData.append(`RegularPrice`, itemData.regularPrice);\r\n }\r\n formData.append(`Keywords`, itemData.keywords);\r\n if (itemData.flyerId) {\r\n formData.append(`FlyerId`, itemData.flyerId);\r\n }\r\n if (itemData.promoId) {\r\n formData.append(`PromoId`, itemData.promoId);\r\n }\r\n if (imageSrcState === '') {\r\n formData.append(`Image`, 'null');\r\n } else if (itemData.file) {\r\n formData.append(`Image`, itemData.file, itemData.file.name);\r\n }\r\n\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/CreatePromoItem`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\nexport const createItem = (dataItem: any, lang: string) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CREATE_ITEM_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'promoItems': [dataItem],\r\n 'uiLanguageCultureCode': lang,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/CreatePromoItems`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.CREATE_ITEM_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.CREATE_ITEM_COMPLETE,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CREATE_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const updatePromotion = (\r\n promoData: any,\r\n languageCultureCode: string,\r\n imageSrcState: string,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.UPDATE_PROMOTION_START,\r\n });\r\n\r\n try {\r\n let result: any = await updatePromotionRequest(\r\n promoData,\r\n languageCultureCode,\r\n imageSrcState\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data;\r\n dispatch({\r\n type: ActionType.UPDATE_PROMOTION_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.UPDATE_PROMOTION_COMPLETE});\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.UPDATE_PROMOTION_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst updatePromotionRequest = (\r\n promoData: any,\r\n contentLanguageCulture: string,\r\n imageSrcState: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n // formData.append(`FlyerId`, itemData.flyerId);\r\n formData.append(`UiLanguageCultureCode`, contentLanguageCulture);\r\n formData.append(`PromoId`, promoData.promoId ? promoData.promoId : '');\r\n formData.append(`FlyerId`, promoData.flyerId ? promoData.flyerId : '');\r\n formData.append(`PageId`, promoData.pageId ? promoData.pageId : '');\r\n formData.append(`SpotId`, promoData.spotId ? promoData.spotId : '');\r\n formData.append(`ImageSelection`, promoData.imageSelection ? promoData.imageSelection : '');\r\n // formData.append(`PromoId`, itemData.promoId);\r\n formData.append(`Code`, promoData.code.trim());\r\n formData.append(`Caption`, promoData.caption);\r\n formData.append(`DisplayCaption1`, promoData.displayCaption1);\r\n formData.append(`SaleTypeCode`, promoData.saleTypeCode);\r\n formData.append(`Requisite`, promoData.requisite ? promoData.requisite : '');\r\n formData.append(`Benefit`, promoData.benefit ? promoData.benefit : '');\r\n formData.append(`Keywords`, promoData.keywords);\r\n formData.append(`ValidFromUtc`, promoData.validFromUtc);\r\n formData.append(`ValidToUtc`, promoData.validToUtc);\r\n formData.append(`SellingUnitId`, promoData.sellingUnitId);\r\n if (promoData.file) {\r\n formData.append(`Image`, promoData.file, promoData.file.name);\r\n } else {\r\n formData.append(`Image`, '');\r\n }\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/UpdatePromo`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\nexport const createPromotion = (\r\n promoData: any,\r\n languageCultureCode: string,\r\n imageSrcState: string,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_START,\r\n });\r\n\r\n try {\r\n let result: any = await createPromotionRequest(\r\n promoData,\r\n languageCultureCode,\r\n imageSrcState\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data;\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.CREATE_PROMOTION_COMPLETE});\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.CREATE_PROMOTION_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst createPromotionRequest = (\r\n promoData: any,\r\n contentLanguageCulture: string,\r\n imageSrcState: string\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n // formData.append(`FlyerId`, itemData.flyerId);\r\n formData.append(`UiLanguageCultureCode`, contentLanguageCulture);\r\n formData.append(`PromoId`, promoData.promoId ? promoData.promoId : '');\r\n formData.append(`FlyerId`, promoData.flyerId ? promoData.flyerId : '');\r\n formData.append(`PageId`, promoData.pageId ? promoData.pageId : '');\r\n formData.append(`SpotId`, promoData.spotId ? promoData.spotId : '');\r\n formData.append(`ImageSelection`, promoData.imageSelection ? promoData.imageSelection : '');\r\n // formData.append(`PromoId`, itemData.promoId);\r\n formData.append(`Code`, promoData.code.trim());\r\n formData.append(`Caption`, promoData.caption);\r\n formData.append(`DisplayCaption1`, promoData.displayCaption1);\r\n formData.append(`SaleTypeCode`, promoData.saleTypeCode);\r\n formData.append(`Requisite`, promoData.requisite ? promoData.requisite : '');\r\n formData.append(`Benefit`, promoData.benefit ? promoData.benefit : '');\r\n formData.append(`Keywords`, promoData.keywords);\r\n formData.append(`ValidFromUtc`, promoData.validFromUtc);\r\n formData.append(`ValidToUtc`, promoData.validToUtc);\r\n formData.append(`SellingUnitId`, promoData.sellingUnitId);\r\n if (promoData.file) {\r\n formData.append(`Image`, promoData.file, promoData.file.name);\r\n } else {\r\n formData.append(`Image`, '');\r\n }\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/CreatePromo`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\n// export const updatePromotion = (promo: any, lang: string) => {\r\n// let userDtoStr = localStorage.getItem('userDto');\r\n// let userDto: UserDto = JSON.parse(userDtoStr!);\r\n//\r\n// return async (dispatch: Dispatch) => {\r\n// dispatch({\r\n// type: ActionType.UPDATE_PROMOTION_START\r\n// })\r\n//\r\n// try {\r\n// const config = {\r\n// headers: {\r\n// 'Content-Type': 'application/json',\r\n// 'Authorization': 'Bearer ' + userDto.token\r\n// }\r\n// }\r\n//\r\n// const request = {\r\n// 'userId': userDto.userId,\r\n// 'promos': [promo],\r\n// 'uiLanguageCultureCode': lang,\r\n// };\r\n// let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/UpdatePromos`;\r\n// let result = await axios.post(url, request, config);\r\n// let data = result.data;\r\n// dispatch({\r\n// type: ActionType.UPDATE_PROMOTION_SUCCESS,\r\n// payload: data\r\n// })\r\n// dispatch({\r\n// type: ActionType.UPDATE_PROMOTION_COMPLETE,\r\n// payload: data\r\n// })\r\n// } catch (err) {\r\n// dispatch({\r\n// type: ActionType.UPDATE_PROMOTION_ERROR,\r\n// payload: ErrorDtoFactory.createErrorDto(err)\r\n// })\r\n// }\r\n// }\r\n// }\r\n\r\n// export const createPromotion = (promo: any, lang: string) => {\r\n// let userDtoStr = localStorage.getItem('userDto');\r\n// let userDto: UserDto = JSON.parse(userDtoStr!);\r\n//\r\n// return async (dispatch: Dispatch) => {\r\n// dispatch({\r\n// type: ActionType.CREATE_PROMOTION_START\r\n// })\r\n//\r\n// try {\r\n// const config = {\r\n// headers: {\r\n// 'Content-Type': 'application/json',\r\n// 'Authorization': 'Bearer ' + userDto.token\r\n// }\r\n// }\r\n//\r\n// const request = {\r\n// 'userId': userDto.userId,\r\n// 'promos': [promo],\r\n// 'uiLanguageCultureCode': lang,\r\n// };\r\n// let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/CreatePromos`;\r\n// let result = await axios.post(url, request, config);\r\n// let data = result.data;\r\n// dispatch({\r\n// type: ActionType.CREATE_PROMOTION_SUCCESS,\r\n// payload: data\r\n// })\r\n// dispatch({\r\n// type: ActionType.CREATE_PROMOTION_COMPLETE,\r\n// payload: data\r\n// })\r\n// } catch (err) {\r\n// dispatch({\r\n// type: ActionType.CREATE_PROMOTION_ERROR,\r\n// payload: ErrorDtoFactory.createErrorDto(err)\r\n// })\r\n// }\r\n// }\r\n// }\r\n\r\n\r\nexport const deletePromosFromFlyer = (promosIds: number[], isDeletePromoWithItems: boolean, flyerId: number, lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_FROM_FLYER_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerId': flyerId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promos': promosIds,\r\n 'isDeletePromoItems': isDeletePromoWithItems\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/DeletePromos`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n if (isDeletePromoWithItems) {\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_WITH_ITEMS_FROM_FLYER_COMPLETE,\r\n payload: data\r\n })\r\n } else {\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_FROM_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_FROM_FLYER_COMPLETE,\r\n payload: data\r\n })\r\n }\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_PROMO_FROM_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const deleteItemsFromFlyer = (promoItemsIds: number[], flyerId: number, lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_ITEMS_FROM_FLYER_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerId': flyerId,\r\n 'uiLanguageCultureCode': lang,\r\n 'promoItems': promoItemsIds,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/DeletePromoItems`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.DELETE_ITEMS_FROM_FLYER_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_ITEMS_FROM_FLYER_COMPLETE,\r\n payload: data\r\n })\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_ITEMS_FROM_FLYER_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const changeDraggingItemRecId = (recId: number | null) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_DRAGGING_ITEM_RECID,\r\n payload: recId\r\n });\r\n }\r\n}\r\n\r\n// export const changeStatusForShowOrHideAllItemsInAllPromotions = (isShow: boolean) => {\r\n// return async (dispatch: Dispatch) => {\r\n// dispatch({\r\n// type: ActionType.SHOW_HIDE_ALL_ITEMS_IN_ALL_PROMOTIONS,\r\n// payload: isShow\r\n// });\r\n// }\r\n// }\r\n\r\nexport const setPagesForPromosAndItemsState = (pages: FlyerPageDto[]) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_PAGES_FOR_PROMOS_AND_ITEMS_STATE,\r\n payload: pages\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const setItemsToPromosItemsState = (items: PromoItemsDto[], pageNumber: number) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_ITEMS_TO_PROMO_ITEMS_STATE,\r\n payload: {\r\n pageIndex: pageNumber === 0 ? 1 : pageNumber,\r\n items: items\r\n }\r\n });\r\n }\r\n}\r\nexport const addItemsToPromosItemsState = (items: PromoItemsDto[], pageNumber: number) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.ADD_ITEMS_TO_PROMO_ITEMS_STATE,\r\n payload: {\r\n pageIndex: pageNumber === 0 ? 1 : pageNumber,\r\n items: items\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const removeItemsFromPromosAndAddToFlyerState = (items: PromoItemsDto[], pageNumber: number) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.REMOVE_ITEMS_TO_PROMO_ITEMS_STATE,\r\n payload: {\r\n pageIndex: pageNumber === 0 ? 1 : pageNumber,\r\n items: items\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport const setPromosToPromosItemsState = (promos: PromoDto[], pageNumber: number) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_PROMOS_TO_PROMO_ITEMS_STATE,\r\n payload: {\r\n pageIndex: pageNumber === 0 ? 1 : pageNumber,\r\n promos: promos\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const uploadImageToItem = (\r\n flyRecId: number,\r\n image: File,\r\n languageCultureCode: string,\r\n itemId: number | null\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.POST_IMAGE_TO_ITEM_START,\r\n });\r\n\r\n try {\r\n let result: any = await postItemImage(\r\n flyRecId,\r\n image,\r\n itemId,\r\n );\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n let flyer = result.data.data;\r\n dispatch({\r\n type: ActionType.POST_IMAGE_TO_ITEM_SUCCESS,\r\n payload: flyer,\r\n });\r\n dispatch({type: ActionType.POST_IMAGE_TO_ITEM_COMPLETED});\r\n } catch (err) {\r\n // dispatch({type: ActionType.CLEAR_UNLINK_PROMOS_ITEMS_FROM_MENU});\r\n dispatch({\r\n type: ActionType.POST_IMAGE_TO_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n }\r\n };\r\n};\r\nexport const changeQualificationStatusForItems = (\r\n flyerPromoItemIds: number[],\r\n languageCultureCode: string,\r\n qualificationLevel: number,\r\n flyerState: FlyerDetailsState,\r\n onlyOne?: boolean,\r\n pageNumber?: number,\r\n isUnlinkedPromo?: boolean\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_START,\r\n });\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerPromoItemIds': flyerPromoItemIds,\r\n 'uiLanguageCultureCode': languageCultureCode,\r\n 'qualificationLevel': qualificationLevel,\r\n 'flyerId': flyerState.flyRecId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/SetFlyerPromoItemsQualification`;\r\n let result = await axios.post(url, request, config);\r\n if (!onlyOne) {\r\n if (!isUnlinkedPromo) {\r\n if (typeof pageNumber !== 'undefined') {\r\n const newState = {...flyerState};\r\n const totalApprovedPromos: PromoDto[] = [];\r\n newState.flyerPages[pageNumber].flyerPageSpots?.forEach((frame: FlyerPageSpotDto, index) => {\r\n const totalItemsApproved: PromoItemsDto[] = [];\r\n const totalNotApproved: PromoItemsDto[] = [];\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n const currentItemExistInChangedQualificationItem = flyerPromoItemIds.some((changedItemId: number) => changedItemId === item.fpiRecId);\r\n if (currentItemExistInChangedQualificationItem) {\r\n item.qualificationLevel = qualificationLevel;\r\n }\r\n if (item.qualificationLevel === 2) {\r\n totalItemsApproved.push(item)\r\n }\r\n if (item.qualificationLevel === 0) {\r\n totalNotApproved.push(item)\r\n }\r\n });\r\n if (totalNotApproved.length > 0) {\r\n promo.qualificationLevel = 0;\r\n } else if (promo.flyerPromoItems?.length !== totalItemsApproved.length) {\r\n promo.qualificationLevel = 1;\r\n }\r\n\r\n if (promo.qualificationLevel === 2) {\r\n totalApprovedPromos.push(promo);\r\n }\r\n });\r\n frame.qualificationLevel = frame.fpsFrameType === 1 && frame.flyerPromos?.length ? frame.flyerPromos[0].qualificationLevel : frame.qualificationLevel;\r\n })\r\n if (totalApprovedPromos.length !== newState.flyerPages[pageNumber].flyerPageSpots?.length) {\r\n newState.flyerPages[pageNumber].qualificationLevel = 1;\r\n }\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n }\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS,\r\n payload: flyerPromoItemIds\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED,\r\n })\r\n\r\n } else {\r\n const newState = {...flyerState};\r\n newState.flyerPromos?.forEach((promo: PromoDto) => {\r\n const totalItemsApproved: PromoItemsDto[] = [];\r\n const totalNotApproved: PromoItemsDto[] = [];\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n const currentItemExistInChangedQualificationItem = flyerPromoItemIds.some((changedItemId: number) => changedItemId === item.fpiRecId);\r\n if (currentItemExistInChangedQualificationItem) {\r\n item.qualificationLevel = qualificationLevel;\r\n }\r\n if (item.qualificationLevel === 2) {\r\n totalItemsApproved.push(item)\r\n }\r\n if (item.qualificationLevel === 0) {\r\n totalNotApproved.push(item)\r\n }\r\n });\r\n if (totalNotApproved.length > 0) {\r\n promo.qualificationLevel = 0;\r\n\r\n } else if (promo.flyerPromoItems?.length !== totalItemsApproved.length) {\r\n promo.qualificationLevel = 1;\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS,\r\n payload: flyerPromoItemIds\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_COMPLETED,\r\n })\r\n\r\n }\r\n }\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_ITEMS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n };\r\n};\r\n\r\nexport const changeQualificationStatusForPromos = (\r\n flyerPromoIds: number[],\r\n languageCultureCode: string,\r\n qualificationLevel: number,\r\n flyerState: FlyerDetailsState,\r\n onlyOne?: boolean,\r\n pageNumber?: number\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_START,\r\n });\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerPromoIds': flyerPromoIds,\r\n 'uiLanguageCultureCode': languageCultureCode,\r\n 'qualificationLevel': qualificationLevel,\r\n 'flyerId': flyerState.flyRecId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/SetFlyerPromosQualification`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n if (!onlyOne) {\r\n if (typeof pageNumber !== 'undefined') {\r\n const newState = {...flyerState}\r\n let totalApprovedPromos: PromoDto[] = [];\r\n newState.flyerPages[pageNumber].flyerPageSpots?.forEach((frame: FlyerPageSpotDto) => {\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n const currentItemExistInChangedQualificationItem = flyerPromoIds.some((changedItemId: number) => changedItemId === promo.flrRecId);\r\n if (currentItemExistInChangedQualificationItem) {\r\n promo.qualificationLevel = qualificationLevel;\r\n if (qualificationLevel === 2) {\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n item.qualificationLevel = qualificationLevel;\r\n })\r\n }\r\n }\r\n if (promo.qualificationLevel === 2) {\r\n totalApprovedPromos.push(promo);\r\n }\r\n });\r\n // frame.qualificationLevel = frame.fpsFrameType === 1 && frame.flyerPromos?.length ? frame.flyerPromos[0].qualificationLevel : frame.qualificationLevel;\r\n frame.qualificationLevel = frame.fpsFrameType === 1 && frame.flyerPromos?.length && frame.flyerPromos[0].qualificationLevel === 1 ? frame.flyerPromos[0].qualificationLevel : frame.qualificationLevel;\r\n })\r\n if (totalApprovedPromos.length !== newState.flyerPages[pageNumber].flyerPageSpots?.length) {\r\n newState.flyerPages[pageNumber].qualificationLevel = 1;\r\n }\r\n\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n }\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS,\r\n payload: data\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED,\r\n payload: data\r\n })\r\n } else {\r\n const newState = {...flyerState}\r\n newState.flyerPromos?.forEach((promo: PromoDto) => {\r\n const currentItemExistInChangedQualificationItem = flyerPromoIds.some((changedItemId: number) => changedItemId === promo.flrRecId);\r\n if (currentItemExistInChangedQualificationItem) {\r\n promo.qualificationLevel = qualificationLevel;\r\n if (qualificationLevel === 2) {\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n item.qualificationLevel = qualificationLevel;\r\n })\r\n }\r\n }\r\n });\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS,\r\n payload: data\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_COMPLETED,\r\n payload: data\r\n })\r\n\r\n }\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_LVL_FOR_PROMOS_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n };\r\n};\r\n\r\nconst postItemImage = (\r\n flyerId: number,\r\n file: File,\r\n itemId: number | null,\r\n // contentLanguageCulture: string,\r\n) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const formData = new FormData();\r\n formData.append(`UserId`, userDto.userId.toString());\r\n formData.append(`FlyerId`, flyerId.toString());\r\n formData.append(`PromoItemId`, itemId ? itemId.toString() : '');\r\n formData.append(`Image`, file, file.name);\r\n\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n };\r\n\r\n // data will contain fresh FlyerDto data\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/UpdatePromoItemImage`;\r\n let result: any = await axios.post(url, formData, config);\r\n\r\n resolve(result);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n};\r\n\r\n\r\nexport const deleteImageFromItems = (items: number[], lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_ITEM_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'items': items,\r\n 'uiLanguageCultureCode': lang,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromoItems/DeletePromoItemsImage`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_ITEM_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_ITEM_COMPLETE,\r\n payload: data\r\n })\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_ITEM_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const deleteImageFromPromotion = (promo: number, lang: string = \"en-US\") => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_PROMOTION_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'promoId': promo,\r\n 'uiLanguageCultureCode': lang,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPromos/DeletePromoImage`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_PROMOTION_SUCCESS,\r\n payload: data\r\n })\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_PROMOTION_COMPLETE,\r\n })\r\n // const flyersStatePayload: FlyersState = { ...flyersState, flyers:[...newFlayerState] }\r\n // dispatch({ type: ActionType.CHANGE_FLYERS_STATE, payload: flyersStatePayload})\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_IMAGE_FROM_PROMOTION_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n","import {history} from '../../../helpers/history';\r\n\r\nimport {ToolsBarItem} from './item/ToolsBarItem'\r\n\r\nimport './ToolsBar.scss'\r\nimport React, {useState} from 'react'\r\nimport {useEffect} from 'react';\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {SelectPageForTabsDto, UserDto} from \"../../../dtos\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {savePromosItemsExcelFileInDBForLoadItemsImages} from \"../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {dispatchEventDataType, EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP} from \"../../../globals/EventDispatcher\";\r\n\r\ntype Props = {\r\n isDisabledTabs: boolean\r\n}\r\n\r\nexport const ToolsBar: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto?.accountTier === 1;\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n let changedStateForFlyer = useTypedSelector((state) => state.changedStateForFlyer);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const [isDisabledRightTabBtn, setDisabledRightTabBtn] = useState(false);\r\n\r\n const [selectedIndex, setSelectedIndex] = useState(0)\r\n\r\n const onItemClick = (index: number) => {\r\n dispatchEventDataType(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP, {\r\n isOpen: false,\r\n isChangedData: changedStateForFlyer.isChangedFlyerData\r\n });\r\n if (!changedStateForFlyer.isChangedFlyerData) {\r\n if (index === 0) {\r\n if (userDtoStr !== null) {\r\n history.push(`/flyersCatalog`);\r\n setSelectedIndex(index);\r\n //reset promotion and items screen excel file\r\n dispatch(savePromosItemsExcelFileInDBForLoadItemsImages({}));\r\n }\r\n } else if (index === 1 && !props.isDisabledTabs) {\r\n // dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n history.push(`/flyersCatalog/${flyerDetailsState.flyRecId}/pages`);\r\n setSelectedIndex(index);\r\n } else if (index === 2 && !props.isDisabledTabs) {\r\n history.push(`/flyersCatalog/${flyerDetailsState.flyRecId}/frames`);\r\n // history.push(`/flyersCatalog/flyerId/1/spots`);\r\n setSelectedIndex(index);\r\n } else if (index === 3 && !props.isDisabledTabs) {\r\n history.push(`/flyersCatalog/${flyerDetailsState.flyRecId}/promos`);\r\n // history.push(`/flyersCatalog/flyerId/1/promos`);\r\n setSelectedIndex(index);\r\n }\r\n }\r\n // else if(index === 4 && !props.isDisabledTabs){\r\n // history.push(`/flyersCatalog/flyerId/${flyerDetailsState.flyRecId}/promoitems`);\r\n // // history.push(`/flyersCatalog/flyerId/1/promoitems`);\r\n // setSelectedIndex(index);\r\n // }\r\n }\r\n\r\n useEffect(() => {\r\n onItemClick(selectedPageState.selectedTabNum!);\r\n }, [selectedPageState])\r\n\r\n useEffect(() => {\r\n // if (location.pathname.indexOf('/flyersCatalog') === -1) {\r\n // onItemClick(0);\r\n // }\r\n //onItemClick(2)\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n if (flippingFlyerState.type !== 'GET_FLIPPING_FLYER_ERROR') {\r\n setDisabledRightTabBtn(flippingFlyerState.loading);\r\n }\r\n }, [flippingFlyerState.type]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {/**/}\r\n
\r\n )\r\n}","import React from 'react';\r\nimport {Route, Redirect} from 'react-router-dom';\r\n\r\nfunction PrivateRoute({component: Component, ...rest}) {\r\n let isLoggedIn = localStorage.getItem('userDto') !== null;\r\n\r\n return (\r\n {\r\n if (!isLoggedIn) {\r\n // not logged in so redirect to login page with the return url\r\n return \r\n /*\r\n if (document.location.pathname.indexOf('flipbookEditor') > -1) {\r\n return \r\n } else {\r\n return \r\n }\r\n */\r\n }\r\n\r\n // logged in so return component\r\n return \r\n }}/>\r\n );\r\n}\r\n\r\nexport {PrivateRoute};","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 26,\n viewBox: \"0 0 22 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.4995 9.69727C14.1718 9.69727 13.9062 9.94888 13.9062 10.2593V20.8824C13.9062 21.1926 14.1718 21.4444 14.4995 21.4444C14.8272 21.4444 15.0928 21.1926 15.0928 20.8824V10.2593C15.0928 9.94888 14.8272 9.69727 14.4995 9.69727Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.49563 9.69727C7.16793 9.69727 6.90234 9.94888 6.90234 10.2593V20.8824C6.90234 21.1926 7.16793 21.4444 7.49563 21.4444C7.82333 21.4444 8.08892 21.1926 8.08892 20.8824V10.2593C8.08892 9.94888 7.82333 9.69727 7.49563 9.69727Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.39596 8.14508V21.9931C2.39596 22.8116 2.71277 23.5803 3.26619 24.1318C3.81707 24.6849 4.5837 24.9989 5.38603 25.0002H16.6112C17.4137 24.9989 18.1804 24.6849 18.731 24.1318C19.2844 23.5803 19.6012 22.8116 19.6012 21.9931V8.14508C20.7013 7.86844 21.4142 6.86156 21.2671 5.7921C21.1197 4.72286 20.1581 3.92302 19.0198 3.9228H15.9822V3.22022C15.9857 2.6294 15.7391 2.06207 15.2976 1.64469C14.8561 1.22753 14.2563 0.995244 13.6327 1.00007H8.3645C7.74086 0.995244 7.14108 1.22753 6.69959 1.64469C6.25811 2.06207 6.01152 2.6294 6.015 3.22022V3.9228H2.97743C1.83906 3.92302 0.877525 4.72286 0.730131 5.7921C0.582968 6.86156 1.29584 7.86844 2.39596 8.14508ZM16.6112 23.876H5.38603C4.37165 23.876 3.58253 23.0505 3.58253 21.9931V8.19448H18.4147V21.9931C18.4147 23.0505 17.6255 23.876 16.6112 23.876ZM7.20157 3.22022C7.19763 2.92756 7.31907 2.64587 7.5383 2.43926C7.75731 2.23266 8.05534 2.11915 8.3645 2.1242H13.6327C13.9418 2.11915 14.2399 2.23266 14.4589 2.43926C14.6781 2.64565 14.7996 2.92756 14.7956 3.22022V3.9228H7.20157V3.22022ZM2.97743 5.04693H19.0198C19.6096 5.04693 20.0877 5.49987 20.0877 6.05864C20.0877 6.61741 19.6096 7.07036 19.0198 7.07036H2.97743C2.38762 7.07036 1.90952 6.61741 1.90952 6.05864C1.90952 5.49987 2.38762 5.04693 2.97743 5.04693Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9995 9.69727C10.6718 9.69727 10.4062 9.94888 10.4062 10.2593V20.8824C10.4062 21.1926 10.6718 21.4444 10.9995 21.4444C11.3272 21.4444 11.5928 21.1926 11.5928 20.8824V10.2593C11.5928 9.94888 11.3272 9.69727 10.9995 9.69727Z\",\n fill: \"#616161\",\n stroke: \"#616161\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIcon);\nexport default __webpack_public_path__ + \"static/media/delete_icon.8531926b.svg\";\nexport { ForwardRef as ReactComponent };","var _ellipse, _ellipse2, _ellipse3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMenuOnHover(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 4,\n height: 12,\n viewBox: \"0 0 4 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n rx: 1.4625,\n ry: 1.29808,\n transform: \"matrix(-1 0 0 1 1.61135 1.54808)\",\n fill: \"black\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n rx: 1.4625,\n ry: 1.29807,\n transform: \"matrix(-1 0 0 1 1.61135 5.87473)\",\n fill: \"black\"\n })), _ellipse3 || (_ellipse3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n rx: 1.4625,\n ry: 1.29807,\n transform: \"matrix(-1 0 0 1 1.61135 10.2019)\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenuOnHover);\nexport default __webpack_public_path__ + \"static/media/menu_on_hover.3bc1e8fb.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUnlinkedPage(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 22,\n height: 22,\n rx: 2,\n fill: \"#FFDB3D\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3195 4.68046C15.9673 3.32825 13.7669 3.32879 12.4144 4.68046L9.96188 7.13301C9.7535 7.34139 9.7535 7.67917 9.96188 7.88756C10.1703 8.09594 10.508 8.09594 10.7164 7.88756L13.1689 5.43501C13.6201 4.98409 14.2231 4.73542 14.8667 4.73542C15.5105 4.73542 16.1135 4.98409 16.5647 5.43528C17.0158 5.88646 17.2645 6.48945 17.2645 7.13327C17.2645 7.77683 17.0158 8.37983 16.5647 8.83101L13.3578 12.0386C12.4213 12.9746 10.8981 12.9746 9.96161 12.0386C9.75323 11.8303 9.41545 11.8303 9.20707 12.0386C8.99869 12.247 8.99869 12.5851 9.20707 12.7932C9.88317 13.4693 10.7714 13.8073 11.6596 13.8073C12.5478 13.8073 13.436 13.4693 14.1121 12.7932L17.3195 9.58582C17.9724 8.9332 18.332 8.06205 18.332 7.13327C18.332 6.20423 17.9724 5.33335 17.3195 4.68046Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9063 14.4909L8.83103 16.5661C8.37986 17.0173 7.77686 17.266 7.13305 17.266C6.4895 17.266 5.88624 17.0173 5.43506 16.5661C4.49882 15.6299 4.49882 14.1064 5.43506 13.1701L8.45376 10.1514C8.90494 9.7005 9.50793 9.45183 10.1517 9.45183C10.7953 9.45183 11.3983 9.7005 11.8495 10.1514C12.0578 10.3598 12.3956 10.3598 12.604 10.1514C12.8124 9.94304 12.8124 9.60525 12.604 9.39687C11.2521 8.04493 9.05169 8.04466 7.69895 9.39687L4.68025 12.4159C4.02763 13.0685 3.66797 13.9396 3.66797 14.8684C3.66797 15.7969 4.02763 16.6681 4.68052 17.3207C5.33314 17.9736 6.20428 18.3332 7.13278 18.3332C8.06155 18.3332 8.93269 17.9736 9.58531 17.3207L11.6606 15.2454C11.8689 15.037 11.8689 14.6992 11.6606 14.4909C11.4522 14.2825 11.1147 14.2825 10.9063 14.4909Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnlinkedPage);\nexport default __webpack_public_path__ + \"static/media/unlinked_page.e562497b.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedPage(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.833374,\n y: 0.833496,\n width: 18.3333,\n height: 18.3335,\n rx: 2,\n fill: \"#38B524\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0505 5L8.21711 11.2056L5.94956 8.7936L4.16663 10.6907L8.21715 15.0001L15.8333 6.89714L14.0505 5Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedPage);\nexport default __webpack_public_path__ + \"static/media/approved_page.bb8cf9aa.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotApprovedPage(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n rx: 5,\n fill: \"#E22929\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 6.00714L13.9929 5L10 8.99286L6.00714 5L5 6.00714L8.99286 10L5 13.9929L6.00714 15L10 11.0071L13.9929 15L15 13.9929L11.0071 10L15 6.00714Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotApprovedPage);\nexport default __webpack_public_path__ + \"static/media/not_approved_page.0cbb7f0e.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedPageSystem(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 2,\n fill: \"#FFDB3D\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8606 6L9.86058 13.4467L7.13952 10.5523L5 12.8288L9.86062 18L19 8.27656L16.8606 6Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedPageSystem);\nexport default __webpack_public_path__ + \"static/media/approved_page_system.5d8352b6.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPagesIconLarge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.3043 2.5H6.53142C6.06873 2.5 5.69234 2.86381 5.69234 3.31102V3.68986H5.29949C4.8368 3.68986 4.46041 4.05367 4.46041 4.50088V4.87969H4.0678C3.605 4.87969 3.22852 5.24344 3.22852 5.69053V16.6892C3.22852 17.1363 3.605 17.5 4.0678 17.5H12.8403C13.3031 17.5 13.6796 17.1363 13.6796 16.6892V16.3101H14.0724C14.5351 16.3101 14.9115 15.9463 14.9115 15.4991V15.1203H15.3044C15.767 15.1203 16.1434 14.7565 16.1434 14.3093V3.31102C16.1434 2.86381 15.767 2.5 15.3043 2.5V2.5ZM12.8403 16.914H4.0678C3.93929 16.914 3.83472 16.8131 3.83472 16.6891V5.69048C3.83472 5.56646 3.93929 5.46556 4.0678 5.46556H10.8487V7.32125C10.8487 7.48303 10.9844 7.61422 11.1518 7.61422H13.0734V16.6891C13.0734 16.8131 12.9688 16.914 12.8403 16.914ZM12.6443 7.02828H11.4549V5.8795L12.6443 7.02828ZM14.3053 15.4991C14.3053 15.6234 14.201 15.7242 14.0724 15.7242H13.6796V7.32272C13.6796 7.32263 13.6795 7.31724 13.6793 7.30877C13.678 7.2374 13.6476 7.16929 13.5955 7.11872C13.5954 7.11869 13.5954 7.11869 13.5954 7.11869C13.5939 7.11711 11.366 4.96535 11.366 4.96535C11.3657 4.96506 11.3624 4.96204 11.3572 4.95727C11.3016 4.90699 11.228 4.87913 11.1519 4.87963H11.1518H5.06662V4.50082C5.06662 4.37652 5.17088 4.27574 5.29949 4.27574H14.0724C14.201 4.27574 14.3053 4.37652 14.3053 4.50082V15.4991ZM15.5372 14.3093C15.5372 14.4334 15.4327 14.5344 15.3043 14.5344H14.9115V4.50085C14.9115 4.05364 14.5351 3.68983 14.0724 3.68983H6.29854V3.31102C6.29854 3.18692 6.40302 3.08594 6.53142 3.08594H15.3043C15.4327 3.08594 15.5372 3.18689 15.5372 3.31102V14.3093Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPagesIconLarge);\nexport default __webpack_public_path__ + \"static/media/pages_icon_large.68de1249.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {FlyerPageDto} from \"../../../../../dtos\";\r\n\r\ntype Props = {\r\n value: number;\r\n currentPage: FlyerPageDto;\r\n}\r\n\r\nexport const OptionsForSelectPages = (props: Props) => {\r\n const {value, currentPage} = props;\r\n const numberOfPage = currentPage.flpPageNo || -1;\r\n if(numberOfPage === -1 || value === -1){\r\n return (\r\n <>\r\n )\r\n }\r\n // const selectedPageNo = selectedPages?.map((key => key?.flpPageNo));\r\n const isDisabled = numberOfPage === value || numberOfPage + 1 === value;\r\n return (\r\n \r\n )\r\n}","import axios from 'axios';\r\n\r\nimport {ActionType} from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport {Action as PagesActions} from \"../actions/pagesActions\";\r\nimport {Action as ProgressPopupActions} from \"../actions/uploadingImagesProgressActions\";\r\nimport {Action as FlyersActions} from \"../actions/flyersActions\";\r\n\r\n\r\nimport {Dispatch} from 'redux';\r\nimport {\r\n ErrorDtoFactory,\r\n FlyerPageDto, FlyerPagesAfterWMDto,\r\n FlyerPageSpotDto,\r\n InsertPageDto,\r\n MovePagesDto,\r\n PagesDto,\r\n PromoDto,\r\n PromoItemsDto,\r\n SelectPageForTabsDto,\r\n UploadImagesToPagesDto, UploadProgressingImagesDto,\r\n UserDto\r\n} from '../../dtos';\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\n\r\nexport const deletePageFromPages = (pageData: PagesDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_PAGE\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'pages': pageData.pages,\r\n 'uiLanguageCultureCode': pageData.uiLanguageCultureCode\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/DeletePages`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.DELETE_PAGE_SUCCESS,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_PAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const deleteImagesFromPages = (pageData: PagesDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_PAGE_IMAGE\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'pages': pageData.pages,\r\n 'uiLanguageCultureCode': pageData.uiLanguageCultureCode\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/DeletePageImages`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.DELETE_PAGE_IMAGE_SUCCESS,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_PAGE_IMAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const insertPageToFlyer = (pageData?: InsertPageDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.INSERT_PAGE\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'pageNo': pageData?.pageNo,\r\n 'uiLanguageCultureCode': pageData?.uiLanguageCultureCode,\r\n 'flyerId': pageData?.flyerRecID\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/InsertNewFlyerPage`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.INSERT_PAGE_SUCCESS,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.INSERT_PAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const movePageBeforeInFlyer = (pageData?: MovePagesDto) => {\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.MOVE_PAGES_BEFORE\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'pageNo': pageData?.pageNo,\r\n 'uiLanguageCultureCode': pageData?.uiLanguageCultureCode,\r\n 'flyerPages': pageData?.flyerPages\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/MoveAndRepaginatePages`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.MOVE_PAGES_BEFORE_SUCCESS,\r\n payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.MOVE_PAGES_BEFORE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const uploadImagesToPages = (uploadData: UploadImagesToPagesDto) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n const formData = new FormData();\r\n formData.append(\"UserId\", JSON.stringify(userDto.userId));\r\n // formData.append(\"FirstPageId\", JSON.stringify(uploadData.FirstPageId));\r\n // formData.append(\"Pages\", JSON.stringify(uploadData.Pages));\r\n formData.append(\"UiLanguageCultureCode\", JSON.stringify(uploadData.UiLanguageCultureCode));\r\n for (let i = 0; i < uploadData.Images.length; i++) {\r\n const img: any = uploadData.Images[i];\r\n //\r\n if (img.file !== null && img.file !== undefined) {\r\n formData.append(`Images`, img.file!, img.file!.name);\r\n } else {\r\n formData.append(`Images`, new Blob(), '');\r\n }\r\n }\r\n for (let i = 0; i < uploadData.Pages.length; i++) {\r\n const page: any = uploadData.Pages[i];\r\n formData.append(`Pages`, page.flpRecId);\r\n }\r\n\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_TO_PAGES\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n },\r\n onUploadProgress: (progressEvent : any) => {\r\n const data: UploadProgressingImagesDto = {\r\n isUploadingFilesToSystem: progressEvent.loaded !== progressEvent.total,\r\n isUploadingFilesToSystemFinished: progressEvent.loaded === progressEvent.total,\r\n current: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.loaded,\r\n failCount: 0,\r\n processingFinished: false,\r\n successCount: 0,\r\n severityLevel: '',\r\n total: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.total,\r\n titlePopup: `Uploading file...`,\r\n notUploadedImages: null,\r\n }\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: data\r\n });\r\n },\r\n }\r\n\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/UploadPageImagesToPages`;\r\n let result = await axios.post(url, formData, config);\r\n let updatedPages = result.data.data;\r\n\r\n\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_TO_PAGES_SUCCESS,\r\n // payload: data\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_ERROR\r\n })\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_TO_PAGES_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\n\r\nexport const setSelectedPageForTabs = (data: SelectPageForTabsDto) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.SET_SELECTED_PAGE_FOR_TABS,\r\n payload: data\r\n })\r\n }\r\n}\r\n\r\nexport const changeQualificationStatusForPage = (\r\n flyerPagesIds: number[],\r\n languageCultureCode: string,\r\n qualificationLevel: number,\r\n flyerState: FlyerDetailsState,\r\n) => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_START,\r\n });\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n 'userId': userDto.userId,\r\n 'flyerPageIds': flyerPagesIds,\r\n 'uiLanguageCultureCode': languageCultureCode,\r\n 'qualificationLevel': qualificationLevel,\r\n 'flyerId': flyerState.flyRecId\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/FlyerPages/SetFlyerPagesQualification`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n const updatedPages: FlyerPagesAfterWMDto[] = data.data;\r\n const newState = {...flyerState}\r\n newState.flyerPages.forEach((page: FlyerPageDto) => {\r\n const updatedPageInCurrentFlyer = updatedPages.find((updatedPage: FlyerPagesAfterWMDto) => updatedPage.pageId === page.flpRecId);\r\n if (updatedPageInCurrentFlyer) {\r\n page.qualificationLevel = updatedPageInCurrentFlyer.qualification;\r\n if (updatedPageInCurrentFlyer.qualification === 2) {\r\n page.flyerPageSpots?.forEach((frame: FlyerPageSpotDto) => {\r\n frame.qualificationLevel = updatedPageInCurrentFlyer.qualification;\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n promo.qualificationLevel = updatedPageInCurrentFlyer.qualification;\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n item.qualificationLevel = updatedPageInCurrentFlyer.qualification;\r\n })\r\n })\r\n })\r\n }\r\n }\r\n })\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: newState,\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS,\r\n payload: data\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n };\r\n};\r\n\r\n","import React, {useState} from 'react';\r\nimport styles from \"./image.module.scss\";\r\nimport {PageSpinner} from \"../../../../com/pagesTab/pagesSpinner/spinner\";\r\n// import {ReactComponent as ImageWithError} from \"../../../../../assets/editors/image_with_error.svg\";\r\nimport {PagesDataStateDto} from \"../../pages\";\r\nimport {FlyerPageDto} from \"../../../../../dtos\";\r\n\r\ninterface Props {\r\n src: string,\r\n pagesDataState: PagesDataStateDto\r\n setPagesDataState: (e: any) => void,\r\n dataKey: FlyerPageDto | any\r\n}\r\n\r\nexport const AsyncPageImage = (props: Props) => {\r\n const [didLoad, onLoad] = useState(false);\r\n const [notLoad, onNotLoad] = useState(false);\r\n\r\n React.useEffect(() => {\r\n onLoad(false);\r\n if (props.src) {\r\n const handleLoad = () => {\r\n onLoad(true);\r\n // const newArr = props.pagesDataState.notLoaderPagesImagesCodes.filter((key:any) => {\r\n // if (props.dataKey.flpRecId !== key) {\r\n // return key;\r\n // }\r\n // })\r\n // props.setPagesDataState({\r\n // ...props.pagesDataState,\r\n // notLoaderPagesImagesCodes: newArr\r\n // });\r\n\r\n onNotLoad(false);\r\n };\r\n const handleError = () => {\r\n // if (!props.pagesDataState.notLoaderPagesImagesCodes.includes(props.dataKey!.flpRecId!)) {\r\n // props.setPagesDataState({\r\n // ...props.pagesDataState,\r\n // notLoaderPagesImagesCodes: [...props.pagesDataState.notLoaderPagesImagesCodes, props.dataKey.flpRecId]\r\n // }\r\n // )\r\n // }\r\n\r\n onNotLoad(true);\r\n };\r\n const image = new Image();\r\n image.addEventListener('load', handleLoad);\r\n image.addEventListener('error', handleError);\r\n image.src = props.src;\r\n return () => {\r\n image.removeEventListener('load', handleLoad);\r\n image.removeEventListener('error', handleError);\r\n };\r\n }\r\n }, [props.src]);\r\n return (<>\r\n {`don't\r\n {\r\n !didLoad && !notLoad && \r\n }\r\n {notLoad && <>}\r\n )\r\n\r\n};\r\n","import React, {useRef, useState} from \"react\";\r\nimport styles from \"./page.module.scss\";\r\nimport {ReactComponent as UploadIcon} from \"../../../../assets/flyersScreen/upload_icon.svg\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../assets/promos&items/menu_on_hover.svg\";\r\n\r\nimport {ReactComponent as UnlinkedIcon} from \"../../../../assets/editors/unlinked_page.svg\";\r\nimport {ReactComponent as ApprovePage} from \"../../../../assets/pages/approved_page.svg\";\r\nimport {ReactComponent as NotApprovePage} from \"../../../../assets/pages/not_approved_page.svg\";\r\nimport {ReactComponent as ApprovePageForSystem} from \"../../../../assets/pages/approved_page_system.svg\";\r\nimport {DefaultSizesDto, FlyerPageDto, ItemsListMenuDto, UserDto} from \"../../../../dtos\";\r\nimport {OptionsForSelectPages} from \"./optionsSelectForMove/optionsSelectForMove\";\r\nimport LabelFileSelector from \"../../../../com/labelFileSelector/LabelFileSelector\";\r\nimport {PagesDataStateDto} from \"../pages\";\r\nimport {\r\n changeQualificationStatusForPage,\r\n} from \"../../../../store/actionCreators/pagesActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {AsyncPageImage} from \"./image/image\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {Box, Button, Grid} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n qualificationIconWrapper: (props: any) => ({\r\n display: `flex`,\r\n width: `22px`,\r\n height: `22px!important`,\r\n position: `absolute`,\r\n right: `3px`,\r\n top: `3px`,\r\n cursor: props.isNotQualified ? `default!important` : `cursor`,\r\n zIndex: 1\r\n }),\r\n flyerBoxWrapper: {\r\n height: \"264px\",\r\n cursor: \"pointer\",\r\n },\r\n}))\r\n\r\ninterface InsertData {\r\n flyerRecID: number;\r\n pageNo: number;\r\n uiLanguageCultureCode: string;\r\n}\r\n\r\ntype DataForRow = {\r\n dataKey: FlyerPageDto;\r\n deleteImagesFromPages?: any;\r\n deletePages?: any;\r\n insertPageCallback: (data: InsertData) => void;\r\n movePageCallback: (e: React.ChangeEvent) => void;\r\n isActivePage?: boolean;\r\n isLastActivePage: boolean;\r\n onAddImageToPageFile?: (e: React.ChangeEvent) => void;\r\n pagesDataState: PagesDataStateDto\r\n setPagesDataState: (e: PagesDataStateDto) => void;\r\n columnNumbersWidth: number;\r\n setActivePages: (pages: FlyerPageDto[], page: FlyerPageDto | null, isSelectAll: boolean, pageNumberForTab: number | null) => void;\r\n}\r\n\r\nexport const Page = (props: DataForRow) => {\r\n const dispatch = useDispatch();\r\n\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const [isOpenedPageMenu, setOpenPageMenu] = useState(false);\r\n const anchorRefForPageMenu = useRef(null);\r\n const prevOpenPageMenu = useRef(isOpenedPageMenu);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n const properties = {\r\n isNotQualified: props.dataKey.qualificationLevel === 0,\r\n }\r\n const classes = useStyles(properties);\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n props.onAddImageToPageFile!(e);\r\n }\r\n\r\n const onChangeOnlyOne = (e: React.ChangeEvent) => {\r\n props.onAddImageToPageFile!(e);\r\n }\r\n\r\n const onClick = () => {\r\n props.setPagesDataState({\r\n ...props.pagesDataState,\r\n selectedPages: [props.dataKey].sort(compare)\r\n });\r\n }\r\n\r\n const compare = (a: any, b: any) => {\r\n if (a.flpPageNo < b.flpPageNo) {\r\n return -1;\r\n }\r\n if (a.flpPageNo > b.flpPageNo) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n const setAlwaysActivePage = (isDoubleClick: boolean) => {\r\n const isExist = props.pagesDataState.selectedPages.some((page: any) => props.dataKey.flpPageNo === page.flpPageNo)\r\n\r\n props.setPagesDataState({\r\n ...props.pagesDataState,\r\n selectedPages: isExist ? [...props.pagesDataState.selectedPages].sort(compare) : [props.dataKey],\r\n lastSelectedPage: [props.dataKey],\r\n isDoubleClick: isDoubleClick\r\n })\r\n };\r\n\r\n const setActivePageStatus = (e: React.MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const tagName = target.tagName;\r\n const isCtrlKey = e.ctrlKey || e.metaKey;\r\n const isShiftKey = e.shiftKey;\r\n const lastSelectedPageLength = props.pagesDataState.lastSelectedPage.length;\r\n e.stopPropagation();\r\n if (tagName !== \"BUTTON\" && tagName !== \"LABEL\" && tagName !== \"SELECT\" && tagName !== \"INPUT\" && tagName) {\r\n if (isCtrlKey || isShiftKey && lastSelectedPageLength) {\r\n if (isCtrlKey) {\r\n if (!props.isActivePage) {\r\n const newArr = [...props.pagesDataState.selectedPages, props.dataKey].sort(compare);\r\n props.setActivePages(\r\n newArr,\r\n props.dataKey,\r\n newArr.length === props.pagesDataState.pagesFlyer.length,\r\n props.dataKey.flpPageNo || 0\r\n );\r\n } else {\r\n const newArr = props.pagesDataState.selectedPages.filter((page: any) => page.flpGuid !== props.dataKey.flpGuid).sort(compare);\r\n let selectedPagesAfterDeselected = [...newArr];\r\n props.setActivePages(\r\n newArr.length ? newArr : [],\r\n props.dataKey,\r\n newArr.length === props.pagesDataState.pagesFlyer.length,\r\n selectedPagesAfterDeselected.length ? selectedPagesAfterDeselected[0].flpPageNo || 0 : 0\r\n );\r\n }\r\n } else {\r\n const pagesData = props.pagesDataState.pagesFlyer;\r\n const lowerFlpPageNo = Math.min(props.dataKey.flpPageNo!, props.pagesDataState.lastSelectedPage[0].flpPageNo!);\r\n const upperFlpPageNo = Math.max(props.dataKey.flpPageNo!, props.pagesDataState.lastSelectedPage[0].flpPageNo!);\r\n const newArr = pagesData.filter((page: any) => page.flpPageNo >= lowerFlpPageNo && page.flpPageNo <= upperFlpPageNo).sort(compare);\r\n props.setActivePages(\r\n newArr.length ? newArr : [],\r\n null,\r\n newArr.length === pagesData.length,\r\n null\r\n );\r\n }\r\n } else {\r\n const {setActivePages, dataKey} = props;\r\n setActivePages([dataKey], dataKey, false, dataKey.flpPageNo || 0);\r\n }\r\n }\r\n }\r\n\r\n const insertBeforePageCallback = () => {\r\n const minPage = Math.min(...props.pagesDataState.selectedPages.map((item: any) => item.flpPageNo));\r\n props.insertPageCallback({\r\n flyerRecID: props.dataKey.flpFlyRecId!,\r\n pageNo: minPage === 1 ? 1 : minPage,\r\n uiLanguageCultureCode: 'en-US'\r\n })\r\n }\r\n\r\n const insertAfterPageCallback = () => {\r\n const maxPage = Math.max(...props.pagesDataState.selectedPages.map((item: any) => item.flpPageNo));\r\n props.insertPageCallback({\r\n flyerRecID: props.dataKey.flpFlyRecId!,\r\n pageNo: maxPage + 1,\r\n uiLanguageCultureCode: 'en-US'\r\n })\r\n }\r\n\r\n const optionForSelectPages = props.pagesDataState.pagesFlyer.map((key: FlyerPageDto) => {\r\n return \r\n });\r\n\r\n const isPageHasContent = props.dataKey.flyerPageSpots!.length > 0;\r\n\r\n const isDisabledContextMenuOption = props.pagesDataState.selectedPages.length > 1 && true || flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n const isShowInfoForPage = props.pagesDataState.selectedPages.length === 1;\r\n const pageWxH: DefaultSizesDto = {\r\n width: props.dataKey.flpWidthPx || 0,\r\n height: props.dataKey.flpHeightPx || 0,\r\n }\r\n let timer: any = 0;\r\n const delay = 100;\r\n let prevent = false;\r\n\r\n const doClickAction = (e: React.MouseEvent) => {\r\n setActivePageStatus(e);\r\n }\r\n\r\n const doDoubleClickAction = () => {\r\n setAlwaysActivePage(true);\r\n }\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n setOpenPageMenu(false);\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n if (!prevent) {\r\n doClickAction(e);\r\n }\r\n prevent = false;\r\n }, delay);\r\n }\r\n\r\n const handleDoubleClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n clearTimeout(timer);\r\n prevent = true;\r\n doDoubleClickAction();\r\n }\r\n\r\n const onChangeQualificationLVL = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n const {dataKey} = props;\r\n\r\n if (dataKey.qualificationLevel === 0) {\r\n return;\r\n }\r\n\r\n const pagesIds: number[] = [dataKey.flpRecId!]\r\n // const pagesIds: number[] = isActivePage\r\n // ? pagesDataState.selectedPages\r\n // .filter((page: FlyerPageDto) => page.qualificationLevel !== 0)\r\n // .map((page: FlyerPageDto) => page.flpRecId!)\r\n // : [dataKey.flpRecId!];\r\n\r\n dispatch(changeQualificationStatusForPage(\r\n pagesIds,\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n dataKey.qualificationLevel === 1 ? 2 : 1,\r\n flyerDetailsState,\r\n ));\r\n };\r\n const handleToggleForPage = () => {\r\n setOpenPageMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenPageMenu,\r\n prevOpen: prevOpenPageMenu,\r\n open: isOpenedPageMenu,\r\n anchorRef: anchorRefForPageMenu,\r\n };\r\n\r\n return (\r\n \r\n \r\n {isPageHasContent && \r\n \r\n
}\r\n {promotionsItemsState.isQualified && (\r\n \r\n )}\r\n \r\n {(props.dataKey.flyImageThumbnailUrl && props.dataKey.flyImageThumbnailUrl!.indexOf('jpg') > 0) ||\r\n (props.dataKey.flyImageThumbnailUrl && props.dataKey.flyImageThumbnailUrl!.indexOf('jpeg') > 0) ||\r\n (props.dataKey.flyImageThumbnailUrl && props.dataKey.flyImageThumbnailUrl!.indexOf('webp') > 0)\r\n ?\r\n // {\"\"}/\r\n \r\n :\r\n (isPageHasContent ? <> : '')\r\n }\r\n
\r\n \r\n {(props.isActivePage) &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n Page {props.dataKey.flpPageNo}\r\n
\r\n\r\n\r\n {props.isActivePage &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n
\r\n )\r\n}\r\n","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPromotionsIconLarge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.711 1.86837C9.53704 1.87206 9.41927 1.66856 9.41927 1.66856L5.10262 6.12327C5.0732 6.15349 5.04984 6.1894 5.03391 6.22896C5.01797 6.26853 5.00977 6.31097 5.00977 6.35382L5.00977 17.4103C5.0101 17.4966 5.04361 17.5792 5.1029 17.6399C5.1622 17.7007 5.24244 17.7346 5.32597 17.7343L14.1445 17.7343C14.2277 17.7341 14.3075 17.6999 14.3664 17.6392C14.4253 17.5786 14.4585 17.4963 14.4588 17.4103L14.4588 6.35382C14.4591 6.3111 14.4512 6.26875 14.4355 6.22919C14.4199 6.18963 14.3969 6.15364 14.3678 6.12327L10.0493 1.66675C10.0493 1.66675 9.88951 1.86492 9.711 1.86837ZM9.41931 2.58573L9.41931 4.68348C8.87894 4.82981 8.4744 5.33569 8.4744 5.9372C8.4744 6.65154 9.04235 7.23788 9.73427 7.23788C10.4262 7.23788 10.9942 6.65154 10.9942 5.9372C10.9942 5.33575 10.5895 4.82986 10.0492 4.68348L10.0492 2.58573L13.8289 6.48783L13.8289 17.0864L5.63967 17.0864L5.63967 6.49035L9.41931 2.58573ZM9.73427 5.28685C10.0858 5.28685 10.3642 5.57428 10.3642 5.9372C10.3642 6.30015 10.0858 6.58752 9.73427 6.58752C9.38272 6.58752 9.10434 6.30015 9.10434 5.9372C9.10434 5.57428 9.38272 5.28685 9.73427 5.28685Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.18615 10C7.68007 10 7.26464 10.4293 7.26465 10.9522C7.26464 11.4752 7.68006 11.9027 8.18615 11.9027C8.69223 11.9027 9.10766 11.4752 9.10766 10.9522C9.10766 10.4293 8.69223 10 8.18615 10ZM8.18615 10.4761C8.44328 10.4761 8.6469 10.6865 8.6469 10.9522C8.6469 11.218 8.44328 11.4284 8.18615 11.4284C7.92901 11.4284 7.72539 11.218 7.72539 10.9522C7.72539 10.6865 7.92901 10.4761 8.18615 10.4761Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4165 13.3335C10.9099 13.3335 10.4941 13.7624 10.4941 14.2848C10.4941 14.8073 10.9099 15.2362 11.4165 15.2362C11.923 15.2362 12.3371 14.8073 12.3371 14.2848C12.3371 13.7624 11.923 13.3335 11.4165 13.3335ZM11.4165 13.8092C11.6739 13.8092 11.8777 14.0194 11.8777 14.2848C11.8777 14.5503 11.6739 14.7605 11.4165 14.7605C11.1591 14.7605 10.9553 14.5503 10.9553 14.2848C10.9553 14.0194 11.1591 13.8092 11.4165 13.8092Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.6583 9.7182C11.5851 9.70768 11.5115 9.7138 11.4467 9.73582C11.3819 9.75784 11.3287 9.79479 11.2938 9.84204L7.36393 15.017C7.3363 15.0482 7.31782 15.0841 7.30963 15.1224C7.30145 15.1608 7.30373 15.2007 7.31634 15.2398C7.32895 15.2789 7.35161 15.3164 7.38293 15.3499C7.41426 15.3833 7.45357 15.412 7.49844 15.4343C7.54331 15.4566 7.59278 15.4719 7.64379 15.4793C7.6948 15.4867 7.74627 15.4861 7.79502 15.4774C7.84376 15.4687 7.88874 15.4522 7.92717 15.4289C7.9656 15.4056 7.99667 15.376 8.01845 15.3419L11.948 10.169C11.9791 10.1294 11.9961 10.0835 11.9974 10.0354C11.9987 9.98734 11.9843 9.93865 11.9554 9.89381C11.9266 9.84896 11.8843 9.80936 11.8324 9.77868C11.7805 9.74801 11.7206 9.72723 11.6583 9.7182Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPromotionsIconLarge);\nexport default __webpack_public_path__ + \"static/media/promotions_icon_large.d9ccb9c3.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgItemsIconLarge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 40,\n height: 40,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.00497 7.16667C4.54084 6.70833 4.29868 6.125 4.29868 5.52083V3.83333C4.41976 3.77083 4.52066 3.625 4.52066 3.47917V2.89583C4.52066 2.6875 4.35922 2.5 4.13725 2.5H2.5027C2.3009 2.5 2.11929 2.66667 2.11929 2.89583V3.47917C2.11929 3.64583 2.24037 3.8125 2.38162 3.85417V5.45833C2.38162 6.10417 2.11929 6.70833 1.65516 7.125C1.13049 7.60417 0.807617 8.3125 0.807617 9.0625V16.8542C0.807617 17.2083 1.09013 17.5 1.43318 17.5H5.18658C5.52963 17.5 5.81215 17.2083 5.81215 16.8542V9.0625C5.81215 8.35417 5.52963 7.66667 5.00497 7.16667ZM4.11707 2.91667V3.4375H4.09689H2.6036H2.54306V2.91667H4.11707ZM5.40856 16.8333C5.40856 16.9583 5.30766 17.0625 5.18658 17.0625H1.45336C1.33229 17.0625 1.23139 16.9583 1.23139 16.8333V9.0625C1.23139 8.4375 1.49372 7.85417 1.93767 7.4375C2.48252 6.9375 2.80539 6.20833 2.80539 5.45833V3.875H3.89509V5.54167C3.89509 6.27083 4.19778 6.95833 4.74263 7.47917C5.1664 7.89583 5.40856 8.45833 5.40856 9.0625V16.8333Z\",\n fill: \"black\",\n stroke: \"black\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.9698 5.40196C16.5057 4.94363 16.2635 4.36029 16.2635 3.75613V3.83333C16.3846 3.77083 16.4855 3.625 16.4855 3.47917V2.89583C16.4855 2.6875 16.3241 2.5 16.1021 2.5H14.4675C14.2657 2.5 14.0841 2.66667 14.0841 2.89583V3.47917C14.0841 3.64583 14.2052 3.8125 14.3465 3.85417V3.69363C14.3465 4.33946 14.0841 4.94363 13.62 5.36029C13.0953 5.83946 12.7725 6.54779 12.7725 7.29779V16.8542C12.7725 17.2083 13.055 17.5 13.398 17.5H17.1514C17.4945 17.5 17.777 17.2083 17.777 16.8542V7.29779C17.777 6.58946 17.4945 5.90196 16.9698 5.40196ZM16.0819 2.91667V3.4375H16.0617H14.5684H14.5079V2.91667H16.0819ZM17.3734 16.8333C17.3734 16.9583 17.2725 17.0625 17.1514 17.0625H13.4182C13.2971 17.0625 13.1962 16.9583 13.1962 16.8333V7.29779C13.1962 6.67279 13.4586 6.08946 13.9025 5.67279C14.4474 5.17279 14.7702 4.44363 14.7702 3.69363V3.875H15.8599V3.77696C15.8599 4.50613 16.1626 5.19363 16.7075 5.71446C17.1312 6.13113 17.3734 6.69363 17.3734 7.29779V16.8333Z\",\n fill: \"black\",\n stroke: \"black\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9874 8.93137C10.5233 8.47304 10.2811 7.88971 10.2811 7.28554V3.83333C10.4022 3.77083 10.5031 3.625 10.5031 3.47917V2.89583C10.5031 2.6875 10.3416 2.5 10.1197 2.5H8.48512C8.28333 2.5 8.10171 2.66667 8.10171 2.89583V3.47917C8.10171 3.64583 8.22279 3.8125 8.36405 3.85417V7.22304C8.36405 7.86887 8.10171 8.47304 7.63758 8.88971C7.11291 9.36887 6.79004 10.0772 6.79004 10.8272V16.8542C6.79004 17.2083 7.07255 17.5 7.41561 17.5H11.169C11.5121 17.5 11.7946 17.2083 11.7946 16.8542V10.8272C11.7946 10.1189 11.5121 9.43137 10.9874 8.93137ZM10.0995 2.91667V3.4375H10.0793H8.58602H8.52548V2.91667H10.0995ZM11.391 16.8333C11.391 16.9583 11.2901 17.0625 11.169 17.0625H7.43579C7.31471 17.0625 7.21381 16.9583 7.21381 16.8333V10.8272C7.21381 10.2022 7.47614 9.61887 7.9201 9.20221C8.46494 8.70221 8.78782 7.97304 8.78782 7.22304V3.875H9.87751V7.30637C9.87751 8.03554 10.1802 8.72304 10.7251 9.24387C11.1488 9.66054 11.391 10.223 11.391 10.8272V16.8333Z\",\n fill: \"black\",\n stroke: \"black\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgItemsIconLarge);\nexport default __webpack_public_path__ + \"static/media/items_icon_large.7e19f431.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInfoIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.2 5.6H8.8V4H7.2V5.6ZM8 14.4C4.472 14.4 1.6 11.528 1.6 8C1.6 4.472 4.472 1.6 8 1.6C11.528 1.6 14.4 4.472 14.4 8C14.4 11.528 11.528 14.4 8 14.4ZM8 0C6.94943 0 5.90914 0.206926 4.93853 0.608964C3.96793 1.011 3.08601 1.60028 2.34315 2.34315C0.842855 3.84344 0 5.87827 0 8C0 10.1217 0.842855 12.1566 2.34315 13.6569C3.08601 14.3997 3.96793 14.989 4.93853 15.391C5.90914 15.7931 6.94943 16 8 16C10.1217 16 12.1566 15.1571 13.6569 13.6569C15.1571 12.1566 16 10.1217 16 8C16 6.94943 15.7931 5.90914 15.391 4.93853C14.989 3.96793 14.3997 3.08601 13.6569 2.34315C12.914 1.60028 12.0321 1.011 11.0615 0.608964C10.0909 0.206926 9.05058 0 8 0V0ZM7.2 12H8.8V7.2H7.2V12Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfoIcon);\nexport default __webpack_public_path__ + \"static/media/info_icon.e8fcfffd.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Box, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ReactComponent as PagesIcon} from \"../../assets/promos&items/pages_icon_large.svg\";\r\nimport {ReactComponent as PromotionsIcon} from \"../../assets/promos&items/promotions_icon_large.svg\";\r\nimport {ReactComponent as ItemsIcon} from \"../../assets/promos&items/items_icon_large.svg\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {FlyerPageDto, FlyerPageSpotDto, PromoDto, PromoItemsDto} from \"../../dtos\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n reportColumn: {\r\n display: `flex`,\r\n flexDirection: `column`,\r\n alignItems: `center`,\r\n padding: `0 10px`,\r\n '& > MuiTypography-root': {\r\n fontSize: `12px`\r\n }\r\n }\r\n}))\r\n\r\n\r\nexport const QualityCheckStatistic = () => {\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const classes = useStyles();\r\n let totalPages = [], acceptedPages = [], totalFrames = [], acceptedFrames = [], totalPromotions = [],\r\n acceptedPromotions = [], totalItems = [], acceptedItems = [];\r\n flyerDetailsState.flyerPages.forEach((page: FlyerPageDto) => {\r\n totalPages.push(page);\r\n if (page.qualificationLevel === 2) {\r\n acceptedPages.push(page);\r\n }\r\n page.flyerPageSpots?.forEach((frame: FlyerPageSpotDto) => {\r\n totalFrames.push(frame);\r\n if (frame.qualificationLevel === 2) {\r\n acceptedFrames.push(frame)\r\n }\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n totalPromotions.push(promo);\r\n if (promo.qualificationLevel === 2) {\r\n acceptedPromotions.push(promo)\r\n }\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n totalItems.push(item);\r\n if (item.qualificationLevel === 2) {\r\n acceptedItems.push(item);\r\n }\r\n })\r\n })\r\n })\r\n });\r\n return (\r\n \r\n \r\n \r\n Total Approved (Green):\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Pages\r\n \r\n \r\n \r\n \r\n {Math.round(acceptedPages.length / totalPages.length * 100)}%\r\n \r\n \r\n \r\n \r\n {acceptedPages.length} / {totalPages.length}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Frames\r\n \r\n \r\n \r\n \r\n {\r\n totalFrames.length\r\n ? `${Math.round(acceptedFrames.length / totalFrames.length * 100)}%`\r\n : `N/A`\r\n }\r\n\r\n \r\n \r\n \r\n \r\n {\r\n totalFrames.length\r\n ? `${acceptedFrames.length} / ${totalFrames.length}`\r\n : `N/A`\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Items\r\n \r\n \r\n \r\n \r\n {\r\n totalItems.length\r\n ? `${Math.round(acceptedItems.length / totalItems.length * 100)}%`\r\n : `N/A`\r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n {\r\n totalItems.length\r\n ? `${acceptedItems.length} / ${totalItems.length}`\r\n : `N/A`\r\n }\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 14,\n viewBox: \"0 0 13 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4766 1.09375H10.8672V0H9.85156V1.09375H3.14844V0H2.13281V1.09375H1.52344C0.683414 1.09375 0 1.82973 0 2.73438V12.3594C0 13.264 0.683414 14 1.52344 14H11.4766C12.3166 14 13 13.264 13 12.3594V2.73438C13 1.82973 12.3166 1.09375 11.4766 1.09375ZM11.9844 12.3594C11.9844 12.6609 11.7566 12.9062 11.4766 12.9062H1.52344C1.24343 12.9062 1.01562 12.6609 1.01562 12.3594V5.14062H11.9844V12.3594ZM11.9844 4.04688H1.01562V2.73438C1.01562 2.43283 1.24343 2.1875 1.52344 2.1875H2.13281V3.28125H3.14844V2.1875H9.85156V3.28125H10.8672V2.1875H11.4766C11.7566 2.1875 11.9844 2.43283 11.9844 2.73438V4.04688Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.94531 6.28906H1.92969V7.38281H2.94531V6.28906Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.97656 6.28906H3.96094V7.38281H4.97656V6.28906Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.00781 6.28906H5.99219V7.38281H7.00781V6.28906Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.03906 6.28906H8.02344V7.38281H9.03906V6.28906Z\",\n fill: \"black\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.0703 6.28906H10.0547V7.38281H11.0703V6.28906Z\",\n fill: \"black\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.94531 8.47656H1.92969V9.57031H2.94531V8.47656Z\",\n fill: \"black\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.97656 8.47656H3.96094V9.57031H4.97656V8.47656Z\",\n fill: \"black\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.00781 8.47656H5.99219V9.57031H7.00781V8.47656Z\",\n fill: \"black\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.03906 8.47656H8.02344V9.57031H9.03906V8.47656Z\",\n fill: \"black\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.94531 10.6641H1.92969V11.7578H2.94531V10.6641Z\",\n fill: \"black\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.97656 10.6641H3.96094V11.7578H4.97656V10.6641Z\",\n fill: \"black\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.00781 10.6641H5.99219V11.7578H7.00781V10.6641Z\",\n fill: \"black\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.03906 10.6641H8.02344V11.7578H9.03906V10.6641Z\",\n fill: \"black\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.0703 8.47656H10.0547V9.57031H11.0703V8.47656Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarIcon);\nexport default __webpack_public_path__ + \"static/media/calendar_icon.13919120.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport styles from './qualityCheck.module.scss'\r\nimport {useDispatch} from \"react-redux\";\r\nimport {changeQualifiedStatusForPromotionsAndItems} from \"../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {Box, createTheme, Typography, ThemeProvider} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\n\r\nimport {QualityCheckStatistic} from \"../qualityCheckStatistic/qualityCheckStatistic\";\r\nimport {ReactComponent as InfoIcon} from \"../../assets/info_icon.svg\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n qualificationMiniPopup: {\r\n cursor: \"pointer\",\r\n // margin: 0\r\n },\r\n}));\r\n\r\nconst theme = createTheme({\r\n components: {\r\n // Name of the component\r\n MuiTooltip: {\r\n styleOverrides: {\r\n // Name of the slot\r\n popper: {\r\n margin: 0,\r\n },\r\n tooltip: {\r\n // Some CSS\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n // border: '1px solid #4D4D4D',\r\n // maxWidth: `100%`,\r\n borderRadius: '5px',\r\n // width: `180px`,\r\n padding: `10px`,\r\n boxShadow: `rgba(0, 0, 0, 0.35) 0px 5px 15px`,\r\n '&.MuiTooltip-tooltipPlacementBottom': {\r\n margin: `0!important`\r\n }\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\ninterface Props {\r\n withCheckbox?: boolean\r\n}\r\n\r\nexport const QualityCheck: React.FC = ({\r\n withCheckbox = true\r\n }) => {\r\n const dispatch = useDispatch();\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const classes = useStyles();\r\n\r\n\r\n const onChange = ((e: React.ChangeEvent) => {\r\n const targetStatus = e.target.checked;\r\n dispatch(changeQualifiedStatusForPromotionsAndItems(targetStatus))\r\n })\r\n return (\r\n
\r\n {\r\n withCheckbox && <>\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Quality Check\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n placement={\"bottom-start\"}\r\n className={classes.qualificationMiniPopup}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}","import {GuiSettingsDto} from \"../../dtos\";\r\n\r\n\r\nimport './GuiSelectorItem.scss'\r\nimport {Box, Typography} from \"@mui/material\";\r\nimport {AsyncImageWithLoader} from \"../imageWithLoader/imageWithLoader\";\r\nimport React from \"react\";\r\nimport {getIconStyle} from \"../../globals/globFunctions\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n iconWrapper: (props: any) => ({\r\n width: `32px`,\r\n height: `32px`,\r\n maxWidth: `32px`,\r\n maxHeight: `32px`,\r\n borderRadius: \"50%\",\r\n // backgroundColor: \"#ffffff\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n \"& > svg > rect\": {\r\n fill: ((props.styleType === 2 || props.styleType === 3) && props.mainColor) && props.mainColor\r\n }\r\n })\r\n}))\r\n\r\ninterface IGuiSelectorItem {\r\n guiSettings: GuiSettingsDto\r\n}\r\n\r\nconst GuiSelectorItem: React.FC = (props) => {\r\n const iconStyleData = getIconStyle(props.guiSettings?.gusIconContrast || 1);\r\n const properties = {\r\n mainColor: props.guiSettings?.gusPrimaryColorRgb,\r\n styleType: iconStyleData.iconStyleType\r\n }\r\n const classes = useStyles(properties);\r\n const CurrentIconComp = iconStyleData.iconStyleData.promoCompIcon;\r\n if (props.guiSettings) {\r\n return (\r\n \r\n \r\n \r\n {props.guiSettings ? props.guiSettings.gusCaption : ''}\r\n \r\n \r\n \r\n {props.guiSettings.gusLogoUrl &&\r\n // \r\n // \"\"\r\n // \r\n No Image)}\r\n />\r\n }\r\n {!props.guiSettings.gusLogoUrl && ''}\r\n \r\n {/* {props.guiSettings ? props.guiSettings.gusFontSizePt : ''}px */}\r\n {/**/}\r\n \r\n \r\n {\r\n props.guiSettings ?\r\n (\r\n props.guiSettings.gusFont === 'OpenSans' ?\r\n 'Open Sans' :\r\n (\r\n props.guiSettings.gusFont === 'AlmoniTzar' ?\r\n 'Almoni Tzar (Hebrew)' :\r\n (\r\n props.guiSettings.gusFont === 'OpenSansHeb' ?\r\n 'Open Sans (Hebrew)' :\r\n props.guiSettings.gusFont\r\n )\r\n )\r\n ) :\r\n ''\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n props.guiSettings.gusBackgroundImageUrl && !Boolean(props.guiSettings.gusBackgroundColorRgb)\r\n ?\r\n \r\n No Image)}\r\n />\r\n \r\n :
\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n } else {\r\n return (\r\n <>\r\n )\r\n }\r\n}\r\n\r\nexport default GuiSelectorItem;","import React, {useState, useEffect} from 'react';\r\n\r\nimport Select, {components} from 'react-select';\r\n\r\nimport GuiSelectorItem from './GuiSelectorItem';\r\n\r\nimport {ReactComponent as DropdownIcon} from \"../../assets/flyerDetailsPopupAssets/dropdown.svg\";\r\n\r\nimport './GuiSelector.scss';\r\nimport {GuiSettingsDto} from '../../dtos';\r\n\r\ninterface IGuiSelector {\r\n onChange?: (guiSetting: GuiSettingsDto) => void;\r\n selectedItem: GuiSettingsDto;\r\n items: GuiSettingsDto[];\r\n isNew?: boolean\r\n}\r\n\r\nconst GuiSelector: React.FC = (props) => {\r\n\r\n /*\r\n const fonts = [\r\n { value: Globals.FONT_NAME_ARIAL },\r\n { value: Globals.FONT_NAME_ROBOTO }\r\n ];\r\n\r\n const fontSizes = [\r\n { value: Globals.FONT_SIZE_1 },\r\n { value: Globals.FONT_SIZE_2 },\r\n { value: Globals.FONT_SIZE_3 }\r\n ];*/\r\n const customStyles = {\r\n control: (base: any) => ({\r\n ...base,\r\n boxShadow: \"none\",\r\n height: '58px',\r\n minHeight: 'auto',\r\n border: '1px solid #888888',\r\n fontWeight: 'normal',\r\n textAlign: 'start',\r\n cursor: 'pointer',\r\n padding: '0',\r\n ':hover': {\r\n borderColor: \"#888888\"\r\n }\r\n\r\n // You can also use state.isFocused to conditionally style based on the focus state\r\n }),\r\n valueContainer: (base: any) => ({\r\n ...base,\r\n padding: '0px'\r\n }),\r\n\r\n menuList: (base: any) => ({\r\n ...base,\r\n height: \"264px\",\r\n fontWeight: 'normal'\r\n }),\r\n menu: (base: any) => ({\r\n ...base,\r\n zIndex: `2`,\r\n })\r\n\r\n };\r\n\r\n\r\n // const theme = (theme: any) => ({\r\n // ...theme,\r\n // colors: {\r\n // ...theme.colors,\r\n // // primary25: \"#D1D7DB\",\r\n // primary: \"#D1D7DB\",\r\n //\r\n // // All possible overrides\r\n // // primary: '#2684FF',\r\n // // primary75: '#4C9AFF',\r\n // // primary50: '#B2D4FF',\r\n // // primary25: '#DEEBFF',\r\n //\r\n // // danger: '#DE350B',\r\n // // dangerLight: '#FFBDAD',\r\n //\r\n // // neutral0: 'hsl(0, 0%, 100%)',\r\n // // neutral5: 'hsl(0, 0%, 95%)',\r\n // // neutral10: 'hsl(0, 0%, 90%)',\r\n // // neutral20: 'hsl(0, 0%, 80%)',\r\n // // neutral30: 'hsl(0, 0%, 70%)',\r\n // // neutral40: 'hsl(0, 0%, 60%)',\r\n // // neutral50: 'hsl(0, 0%, 50%)',\r\n // // neutral60: 'hsl(0, 0%, 40%)',\r\n // // neutral70: 'hsl(0, 0%, 30%)',\r\n // // neutral80: 'hsl(0, 0%, 20%)',\r\n // // neutral90: 'hsl(0, 0%, 10%)',\r\n // }\r\n // // Other options you can use\r\n // // borderRadius: 4\r\n // // baseUnit: 4,\r\n // // controlHeight: 38\r\n // // menuGutter: baseUnit * 2\r\n // });\r\n\r\n\r\n //const [font, setFont] = useState(props.fontName ? props.fontName : fonts[0]);\r\n //const [fontSize, setFontSize] = useState(props.fontSize ? props.fontSize : fontSizes[0]);\r\n\r\n const [item, setItem] = useState(props.selectedItem);\r\n\r\n const onFontChange = (item: any) => {\r\n setItem(item);\r\n\r\n\r\n if (props.onChange) {\r\n props.onChange!(item);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setItem(props.selectedItem);\r\n\r\n }, [props.selectedItem])\r\n\r\n\r\n const CustomOption = (props: any) => {\r\n const {data, innerRef, innerProps} = props;\r\n return (\r\n \r\n \r\n \r\n )\r\n };\r\n const DropdownIndicator = (props: any) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n option.gusCaption!}\r\n getOptionLabel={(option) => option.gusCaption!}\r\n options={props.items}\r\n // theme={theme}\r\n components={{\r\n Option: CustomOption,\r\n DropdownIndicator\r\n }}\r\n />\r\n\r\n\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default GuiSelector;","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEditIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.34467 12.8889L1.28911 17.4444C1.2527 17.6109 1.25395 17.7835 1.29276 17.9495C1.33158 18.1155 1.40699 18.2707 1.51348 18.4038C1.61997 18.5369 1.75485 18.6446 1.90826 18.7189C2.06168 18.7932 2.22976 18.8323 2.40022 18.8333C2.47965 18.8413 2.55968 18.8413 2.63911 18.8333L7.22244 17.7778L16.0224 9.01108L11.1113 4.11108L2.34467 12.8889Z\",\n fill: \"#4D4D4D\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.7886 4.62231L15.5109 1.34454C15.2954 1.13013 15.0037 1.00977 14.6997 1.00977C14.3957 1.00977 14.1041 1.13013 13.8886 1.34454L12.0664 3.16676L16.972 8.07231L18.7942 6.25009C18.9008 6.14291 18.9853 6.01576 19.0427 5.87591C19.1002 5.73605 19.1295 5.58624 19.129 5.43505C19.1284 5.28386 19.0981 5.13425 19.0397 4.9948C18.9813 4.85534 18.896 4.72876 18.7886 4.62231Z\",\n fill: \"#4D4D4D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEditIcon);\nexport default __webpack_public_path__ + \"static/media/edit_icon.3a0b0a1b.svg\";\nexport { ForwardRef as ReactComponent };","import { ActionType } from '../actionTypes';\r\nimport { Action } from '../actions/changeFlyerDetailsActions';\r\nimport { Dispatch } from 'redux';\r\n\r\nexport const someFlyerDetailsDataWasChangedInFlyerDetailsPopup = (isChanged: boolean) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_ANY_DATA_WAS_CHANGED,\r\n payload: isChanged\r\n });\r\n }\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgExpandRightPanelIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 2L6 9.5L14 17\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n strokeLinecap: \"square\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExpandRightPanelIcon);\nexport default __webpack_public_path__ + \"static/media/expand_right_panel_icon.0c6a7790.svg\";\nexport { ForwardRef as ReactComponent };","import React, {ChangeEvent} from \"react\";\r\nimport {Errors, PopupState} from \"../../../../../flyerDetailsPopup/flyerDetailsRightPanel\";\r\nimport {Box, Button, Grid, Link, Typography} from \"@mui/material\";\r\nimport {TextInputWithLabel} from \"../../../../../../../com/textInputWithLabel/textInputWithLabel\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport RadioButton from \"../../../../../../../com/radioButton/RadioButton\";\r\nimport {ReactComponent as EditIcon} from \"../../../../../../../assets/promo_sale_types_icons/edit_icon.svg\";\r\n// import {ReactComponent as TrashIcon} from \"../../../../../../../assets/editors/delete_icon.svg\";\r\nimport styles from \"../../../../../flyerDetailsPopup/flyerDetailsPopup.module.scss\";\r\nimport PhoneInput from 'react-phone-number-input'\r\nimport {isUnicode} from \"../../../../../../../globals/globFunctions\";\r\nimport {TextareaWithLabel} from \"../../../../../../../com/textareaWithLabel/textareaWithLabel\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n localAndTextSettingContent: (props: any) => ({\r\n padding: props.settingForAccount ? `10px 30px` : `0`,\r\n }),\r\n}))\r\n\r\n\r\n/*\r\ninterface CheckoutTabStateDto {\r\n checkoutBtn?: string;\r\n whatsAppMessage?: string;\r\n}\r\n*/\r\n\r\n\r\ninterface Props {\r\n settingForAccount?: boolean;\r\n readonly?: boolean;\r\n data: PopupState;\r\n changeData?: (popupState: PopupState) => void;\r\n isNew?: boolean;\r\n onFulfilmentListChanges: (type: string) => void;\r\n isFlyerPublished: boolean;\r\n onChangeCheckoutForCheckoutUrlForAccount?: (e: ChangeEvent) => void;\r\n checkoutUrl: string;\r\n checkoutUrlApp: string;\r\n editCheckoutUrl: (value: \"pcTab\" | \"appTab\") => void;\r\n deleteCheckoutUrl: VoidFunction;\r\n deleteCheckoutUrlApp: VoidFunction;\r\n onFulfilmentTypeChanged: (type: string) => void;\r\n onChangeEmail: (e: ChangeEvent) => void;\r\n onChangePhoneMessage: (e: ChangeEvent) => void;\r\n onChangeCheckoutBtnText: (e: ChangeEvent) => void;\r\n onChangePhoneNumber: (phoneNumber: string) => void;\r\n // onChangePhoneNumber: (e: ChangeEvent) => void;\r\n stateError: Errors;\r\n copyDataFromAccountUsingPropertyName: (value: string) => void;\r\n}\r\n\r\nexport const FlyerCheckoutSettingsForPopup: React.FC = ({\r\n settingForAccount,\r\n readonly,\r\n data,\r\n changeData,\r\n isNew,\r\n onFulfilmentListChanges,\r\n isFlyerPublished,\r\n onChangeCheckoutForCheckoutUrlForAccount,\r\n checkoutUrl,\r\n checkoutUrlApp,\r\n editCheckoutUrl,\r\n deleteCheckoutUrl,\r\n deleteCheckoutUrlApp,\r\n onFulfilmentTypeChanged,\r\n onChangeEmail,\r\n onChangePhoneNumber,\r\n stateError,\r\n onChangePhoneMessage,\r\n onChangeCheckoutBtnText,\r\n copyDataFromAccountUsingPropertyName,\r\n }) => {\r\n\r\n const properties = {\r\n settingForAccount: settingForAccount\r\n }\r\n const classes = useStyles(properties);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n\r\n const changePhoneNumber = (phoneNumber: string) => {\r\n onChangePhoneNumber(phoneNumber ? phoneNumber : ``);\r\n }\r\n\r\n const copyDataFromAccount = (e: React.MouseEvent) => {\r\n const btnName = e.currentTarget as HTMLButtonElement;\r\n copyDataFromAccountUsingPropertyName(btnName.name);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n {\r\n }}\r\n labelCaption={`Job Caption (URL):`}\r\n isBold={true}\r\n fieldName={`checkoutBtn`}\r\n readonly={true}\r\n withoutPadding={true}\r\n />\r\n \r\n \r\n {\r\n !readonly && !isFlyerPublished && data.radioType.isEmail &&\r\n \r\n \r\n Copy From Account\r\n \r\n \r\n }\r\n \r\n \r\n \r\n My List Checkout*:\r\n
\r\n {readonly || isFlyerPublished ? (\r\n \r\n \r\n \r\n \r\n \r\n {data?.email}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n{/*\r\n {\r\n data?.radioType.isUrl && !readonly && !isFlyerPublished &&\r\n \r\n \r\n }\r\n inputProps={{'aria-label': 'controlled'}}\r\n sx={{\r\n padding: `0`,\r\n marginRight: `5px`\r\n }}\r\n disabled={\r\n readonly ||\r\n isFlyerPublished }\r\n />\r\n \r\n Account checkout URL\r\n \r\n \r\n \r\n\r\n }\r\n*/}\r\n \r\n \r\n \r\n \r\n \r\n Target Web/PC:\r\n \r\n \r\n {\r\n !isFlyerPublished &&\r\n !readonly &&\r\n !(flyerDetailsState.flyRecId === 0) &&\r\n data?.radioType.isUrl &&\r\n <>\r\n \r\n {\r\n editCheckoutUrl(\"pcTab\");\r\n }}>\r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n Copy From Account\r\n \r\n \r\n \r\n\r\n \r\n }\r\n
\r\n \r\n \r\n {\r\n checkoutUrl &&\r\n \r\n {checkoutUrl}\r\n \r\n }\r\n {\r\n !checkoutUrl &&\r\n \r\n Not selected\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Target App/Mobile:\r\n \r\n \r\n {\r\n !isFlyerPublished &&\r\n !readonly &&\r\n data?.radioType.isUrl &&\r\n !(flyerDetailsState.flyRecId === 0) &&\r\n <>\r\n \r\n {\r\n editCheckoutUrl(\"appTab\");\r\n }}>\r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n Copy From Account\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n {checkoutUrlApp &&\r\n \r\n {checkoutUrlApp}\r\n \r\n }\r\n\r\n {\r\n !checkoutUrlApp &&\r\n \r\n Not selected\r\n \r\n }\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n {\r\n !readonly && !isFlyerPublished && data.radioType.isPhoneNumber &&\r\n \r\n \r\n Copy From Account\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Message:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*rows*/}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React from 'react';\r\nimport {Box, Button} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\n\r\nimport {\r\n ReactComponent as ExpandRightPanelIcon\r\n} from \"../../assets/flyerDetailsPopupAssets/expand_right_panel_icon.svg\";\r\nimport {toggleFlyerRightPanel} from \"../../store/actionCreators/toggleActionForEditorActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\n\r\n\r\ninterface Props {\r\n animationTime: number;\r\n setLoading: (value: boolean) => void;\r\n}\r\n\r\nconst ExpandCollapseBtn: React.FC = ({\r\n animationTime,\r\n setLoading\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n\r\n\r\n const expandCollapseRightPanel = () => {\r\n dispatch(toggleFlyerRightPanel());\r\n setLoading(true);\r\n setTimeout(() => {\r\n setLoading(false)\r\n }, animationTime)\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n )\r\n}\r\n\r\nexport default ExpandCollapseBtn;","import React, {FormEvent} from 'react';\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {InputWithShowingResults} from \"../../../../../../com/inputWithShowingResults/inputWithShowingResults\";\r\n\r\ninterface Props {\r\n isFlyerPublished: boolean;\r\n readonly?: boolean;\r\n isValidEmailFromInputContactUsEmails: boolean;\r\n inputValueForContactUsEmails: string;\r\n contactUsEmails: string[];\r\n addItemToContactUsEmails: (e: FormEvent) => void;\r\n removeEmailFromContactUsEmails: (itemValue: string) => void;\r\n onChangeInputEmailForContactUsEmails: (event: React.ChangeEvent | React.ChangeEvent) => void;\r\n copyDataFromAccountUsingPropertyName: (value: string) => void;\r\n\r\n}\r\nexport const FlyerEmailSettings: React.FC = ({\r\n isFlyerPublished,\r\n readonly,\r\n isValidEmailFromInputContactUsEmails,\r\n inputValueForContactUsEmails,\r\n contactUsEmails,\r\n addItemToContactUsEmails,\r\n removeEmailFromContactUsEmails,\r\n onChangeInputEmailForContactUsEmails,\r\n copyDataFromAccountUsingPropertyName\r\n }) => {\r\n const copyDataFromAccount = (e: React.MouseEvent) => {\r\n const btnName = e.currentTarget as HTMLButtonElement;\r\n copyDataFromAccountUsingPropertyName(btnName.name);\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n !readonly && !isFlyerPublished &&\r\n \r\n \r\n Copy From Account\r\n \r\n \r\n }\r\n \r\n \r\n {/*rows*/}\r\n \r\n \r\n \r\n\r\n )\r\n}","import React, {ChangeEvent, useEffect, useState, FocusEvent, FormEvent} from \"react\";\r\nimport styles from \"./flyerDetailsRightPanel.module.scss\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport validator from \"validator\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport GuiSelector from \"../../../com/guiSelector/GuiSelector\";\r\nimport moment from \"moment\";\r\nimport {\r\n ConversionDto, DisclaimerDto, EmailsObjectDto,\r\n ExampleCodeAndQtyDto, FlyerClassDto, FlyerDto, FlyerLanguageDto, FlyerPagination,\r\n FlyerStatus, FlyerStatusForSelect,\r\n FlyerTypeDto,\r\n GuiSettingsDto,\r\n LanguageCulture, UITextDto, URLSDto, UserDto\r\n} from \"../../../dtos\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport Moment from \"react-moment\";\r\nimport envManager from \"../../../com/envManager/EnvManager\";\r\nimport {OrangeButton} from \"../../com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {\r\n getFlippingFlyer,\r\n saveFlyer,\r\n} from \"../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport GuiSelectorItem from \"../../../com/guiSelector/GuiSelectorItem\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {ReactComponent as CalendarIcon} from \"../../../assets/flyerDetailsPopupAssets/calendar_icon.svg\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {\r\n someFlyerDetailsDataWasChangedInFlyerDetailsPopup\r\n} from \"../../../store/actionCreators/changeFlyerDetailsActionCreators\";\r\nimport {\r\n Box,\r\n Button,\r\n Divider,\r\n Grid, Link,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport {createExampleCheckoutUrl, createExampleCheckoutUrlApp} from \"../../../globals/globalFunctions\";\r\nimport {CheckoutSettingPopup} from \"../header/controls/right/settings/checkoutSettingsPopup/checkoutSettingPopup\";\r\nimport _ from 'lodash';\r\nimport StatusPopup, {StatusPopupType} from \"../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../pages/getSetttingsForPopup\";\r\nimport {\r\n AccountLocalAndTextSetting\r\n} from \"../header/controls/right/settings/accountLocalAndTextSettings/accountLocalAndTextSetting\";\r\nimport {SimpleConfirmPopup} from \"../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {SelectWithLabel} from \"../../../com/selectWithLabel/selectWithLabel\";\r\nimport {\r\n FlyerCheckoutSettingsForPopup\r\n} from \"../header/controls/right/settings/flyerCheckoutSettingForPopup/flyerCheckoutSettingsForPopup\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {FlyersStateDto} from \"../flyersCatalog/mainFlyersCatalog/flyersCatalog\";\r\nimport ExpandCollapseBtn from \"../../../com/expandCollapseBtn/expandCollapseBtn\";\r\nimport {TextareaWithLabel} from \"../../../com/textareaWithLabel/textareaWithLabel\";\r\nimport {FLYER_PAGINATION_VARIANTS, FLYER_STATUSES, LANGUAGE_ENGLISH} from \"../../../globals\";\r\nimport {convertEmailsObjectToArray, getDate} from \"../../../globals/globFunctions\";\r\nimport {FlyerEmailSettings} from \"../header/controls/right/settings/emailsSettingsPopup/flyerEmailSettings\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n tabButton: {\r\n '&.MuiButton-root': {\r\n height: `38px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n textTransform: `capitalize`,\r\n width: `100%`,\r\n color: `black`,\r\n borderRadius: `0`,\r\n '&:hover': {\r\n backgroundColor: `#e4e4e480`,\r\n },\r\n '&.activeTab': {\r\n '&.MuiButton-root': {\r\n width: `100%`,\r\n borderRadius: `0`,\r\n backgroundColor: `#ffffff`,\r\n color: `initial`,\r\n // borderTop: `2px solid #2A38BB`,\r\n '& > .MuiTypography-root': {\r\n color: `#2A38BB`,\r\n fontWeight: `700`\r\n },\r\n '&:hover': {\r\n backgroundColor: `#ffffff`,\r\n }\r\n }\r\n },\r\n },\r\n },\r\n tabContentWrapper: {\r\n display: \"flex\",\r\n height: \"100%\"\r\n },\r\n tabs: {\r\n display: \"flex\",\r\n width: `100%`,\r\n minHeight: `36px`,\r\n // flexShrink: `0`,\r\n '& > .MuiButton-root': {\r\n width: `100%`,\r\n borderRadius: `0`,\r\n backgroundColor: `#D0E0F0`,\r\n color: `initial`,\r\n '&:hover': {\r\n backgroundColor: `#D0E0F0`,\r\n }\r\n }\r\n },\r\n illegalFlyersCountWrapper: {\r\n height: \"100%\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n backgroundColor: \"#ffffff\",\r\n // borderLeft: \"1px solid #888888\",\r\n }\r\n}))\r\n\r\n\r\nexport interface PopupEditData {\r\n isReadOnly: boolean;\r\n isNoEdit: boolean;\r\n}\r\n\r\nexport interface Errors {\r\n captionErr: boolean;\r\n displayCationErr: boolean;\r\n noPagesErr: boolean;\r\n startDateErr: boolean;\r\n endDateErr: boolean;\r\n emailErr: boolean;\r\n phoneNumberErr: boolean;\r\n checkoutUrlSettingErr: boolean;\r\n checkoutBtnCaptionErr: boolean;\r\n phoneMessageErr: boolean;\r\n noCodeErr: boolean;\r\n // conversationUrlErr: boolean;\r\n}\r\n\r\nexport interface PopupState {\r\n code: string;\r\n noPages: string;\r\n caption: string;\r\n description: string;\r\n // disclaimer: string;\r\n displayCaption: string;\r\n flyerClass: { value: string | undefined, label: string };\r\n startDate: any;\r\n endDate: any;\r\n createDate: any;\r\n modifiedDate: any;\r\n languageData: { flyLacRec: LanguageCulture; flyLacRecId: number };\r\n language: { value: string | undefined, label: string };\r\n gui: { flyGusRec: GuiSettingsDto; flygusRecId: number };\r\n currency: { value: string | undefined, label: string };\r\n email: string;\r\n phoneNumber: string;\r\n phoneMessage: string;\r\n conversationUrl: string;\r\n conversationUrlApp: string;\r\n radioType: {\r\n excel: boolean;\r\n text: boolean;\r\n isEmail: boolean;\r\n isUrl: boolean;\r\n isPhoneNumber: boolean;\r\n };\r\n\r\n // flyerStatus: { status: FlyerStatus; statusId: number };\r\n flyerStatus: FlyerStatusForSelect;\r\n flyerType: { value: string | undefined, label: string | undefined, id: number | undefined },\r\n // isSelectAccountCheckoutUrl: boolean;\r\n disclaimers?: null | DisclaimerDto,\r\n uiText?: null | UITextDto,\r\n urls?: null | URLSDto;\r\n flyPageLayoutPc: { value: string | undefined, label: string }\r\n contactDetails?: EmailsObjectDto\r\n}\r\n\r\nconst initialFlyerState = {\r\n code: \"\",\r\n noPages: \"\",\r\n caption: \"\",\r\n description: \"\",\r\n // disclaimer: \"\",\r\n displayCaption: \"\",\r\n flyerClass: {\r\n value: \"\",\r\n label: \"\",\r\n },\r\n startDate: null,\r\n endDate: null,\r\n createDate: null,\r\n modifiedDate: null,\r\n languageData: {\r\n flyLacRec: LANGUAGE_ENGLISH,\r\n flyLacRecId: 0,\r\n },\r\n language: {\r\n value: \"\",\r\n label: \"\"\r\n },\r\n gui: {\r\n flygusRecId: -1,\r\n flyGusRec: {},\r\n },\r\n currency: {\r\n value: \"\",\r\n label: \"\",\r\n },\r\n email: \"\",\r\n phoneNumber: \"\",\r\n phoneMessage: \"\",\r\n conversationUrl: \"\",\r\n conversationUrlApp: \"\",\r\n radioType: {\r\n excel: true,\r\n text: false,\r\n isEmail: true,\r\n isUrl: false,\r\n isPhoneNumber: false,\r\n },\r\n // flyerStatus: {\r\n // status: flyerDetailsState.flyFstRec,\r\n // statusId: flyerDetailsState.flyFstRecId,\r\n // },\r\n flyerStatus: {\r\n value: '',\r\n label: '',\r\n status: {},\r\n },\r\n flyerType: {\r\n value: `2`,\r\n label: `XC Shopping Flyer`,\r\n id: 5,\r\n },\r\n // isSelectAccountCheckoutUrl: false,\r\n disclaimers: {},\r\n uiText: {},\r\n urls: {},\r\n flyPageLayoutPc: {value: \"1\", label: \"Double Page, Horizontal Pagination\"}\r\n}\r\n\r\nexport interface GuiDto {\r\n gui: { flyGusRec: GuiSettingsDto; flygusRecId: number };\r\n}\r\n\r\nconst guiInitialState = {\r\n gui: {\r\n flygusRecId: -1,\r\n flyGusRec: {},\r\n },\r\n}\r\n\r\n/*\r\ninterface Props {\r\n show: (a: boolean) => void;\r\n createNew: (a: boolean) => void;\r\n isNew: boolean;\r\n // isReadOny: boolean;\r\n isShow: boolean;\r\n}\r\n*/\r\n\r\ninterface Props {\r\n activeFlyers: FlyerDto[];\r\n isShouldCheckCurrentFlyerStateBeforeLeave?: boolean;\r\n setIsShouldCheckCurrentFlyerStateBeforeLeave?: (value: boolean) => void;\r\n flyersForHold: FlyerDto[];\r\n setCurrentState?: (state: FlyersStateDto) => void;\r\n currentState?: FlyersStateDto;\r\n rightPanelAnimationTimeInMs?: number;\r\n isPagesTab?: boolean;\r\n}\r\n\r\nexport const FlyerDetailsRightPanel: React.FC = ({\r\n activeFlyers,\r\n isShouldCheckCurrentFlyerStateBeforeLeave = false,\r\n setIsShouldCheckCurrentFlyerStateBeforeLeave,\r\n flyersForHold,\r\n setCurrentState,\r\n currentState,\r\n rightPanelAnimationTimeInMs,\r\n isPagesTab = false\r\n }) => {\r\n const dispatch = useDispatch();\r\n\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const guiSettingsState = useTypedSelector((state) => state.guiSettings);\r\n const changedStateForFlyer = useTypedSelector((state) => state.changedStateForFlyer);\r\n const conversionUrlSetting = useTypedSelector(state => state.conversionUrlSetting);\r\n const flyerClasses = useTypedSelector(state => state.flyerClasses);\r\n const {isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n const {accountEmailsState} = useTypedSelector((state) => state);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n const languages = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.code,\r\n label: lang.caption,\r\n language: {\r\n ...lang\r\n }\r\n }\r\n });\r\n\r\n const currencies = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.currencySymbol,\r\n label: `${lang.currencySymbol.trim()} ${lang.currencyAbbrv}`\r\n }\r\n });\r\n\r\n const getLanguage = (\r\n lang: LanguageCulture | undefined\r\n ): { value: string | undefined; label: string } => {\r\n return lang !== null ?\r\n {\r\n value: lang!.lacCode!,\r\n label: lang!.lacCaption!\r\n } : {\r\n value: \"he-IL\",\r\n label: `Hebrew`\r\n };\r\n };\r\n\r\n const getCurrency = (\r\n lang: LanguageCulture | undefined\r\n ): { value: string | undefined; label: string } => {\r\n return lang !== null ?\r\n {\r\n value: lang!.lacCurrencySymbol!,\r\n label: `${lang!.lacCurrencySymbol!.trim()} ${lang?.lacCurrencyAbbrv}`\r\n } : {\r\n value: \"$\",\r\n label: \"$ USD\"\r\n };\r\n };\r\n\r\n const getFlyerClass = (\r\n id: number | null\r\n ): { value: string | undefined; label: string } => {\r\n if (id !== null) {\r\n const currentFlyerClass = flyerClasses.flyerClasses.filter((flyerClass) => {\r\n if (flyerClass.id === id.toString()) {\r\n return flyerClass;\r\n }\r\n })\r\n return currentFlyerClass.length ?\r\n {\r\n value: currentFlyerClass[0].id.toString(),\r\n label: currentFlyerClass[0].caption\r\n } : {\r\n value: \"-1\",\r\n label: \"Unclassified\"\r\n };\r\n } else {\r\n return {\r\n value: \"-1\",\r\n label: \"Unclassified\"\r\n }\r\n }\r\n };\r\n\r\n const getFlyerPagination = (\r\n id: number | null\r\n ): { value: string | undefined; label: string } => {\r\n if (id !== null) {\r\n const currentFlyerPaginationVariant = [...FLYER_PAGINATION_VARIANTS].filter((paginationVariant) => {\r\n if (Number(paginationVariant.value) === id) {\r\n return paginationVariant;\r\n }\r\n })\r\n return {\r\n value: currentFlyerPaginationVariant[0].value?.toString() || \"1\",\r\n label: currentFlyerPaginationVariant[0].label || \"Double Page, Horizontal Pagination\"\r\n }\r\n } else {\r\n return {\r\n value: \"\",\r\n label: ``\r\n }\r\n }\r\n };\r\n\r\n const [isOpenPageScreen, changeOpenPageScreenStatus] = useState(false);\r\n\r\n const [state, setState] = useState(initialFlyerState);\r\n const [gui, setGui] = useState(guiInitialState);\r\n\r\n const [defaultState, setDefaultState] = useState(initialFlyerState);\r\n\r\n const [stateError, setErrorState] = useState({\r\n captionErr: false,\r\n displayCationErr: false,\r\n noPagesErr: false,\r\n startDateErr: false,\r\n endDateErr: false,\r\n emailErr: false,\r\n phoneNumberErr: false,\r\n checkoutUrlSettingErr: false,\r\n checkoutBtnCaptionErr: false,\r\n phoneMessageErr: false,\r\n noCodeErr: false\r\n // conversationUrlErr: false,\r\n });\r\n const [isNoEdit, setNoEdit] = useState(false);\r\n const [isReadOnly, setReadOnly] = useState(false);\r\n // const [isFlyerPublished, setFlyerPublishedStatus] = useState(false);\r\n const isFlyerPublished = flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n const [isChangedDataForCurrentFlyer, changeDataForCurrentFlyer] = useState(changedStateForFlyer.isChangedFlyerData);\r\n // const [isSelectAccountCheckoutUrl, changeAccountUrlStatus] = useState(false);\r\n const [checkoutUrlSetting, setCheckoutUrlSetting] = useState({});\r\n const [firstExample, setFirstExample] = useState({\r\n code: `8690637919381`,\r\n qty: `1`\r\n })\r\n const [secondExample, setSecondExample] = useState({\r\n code: `7290112492500`,\r\n qty: `1`\r\n })\r\n const [checkoutUrl, setCheckoutUrl] = useState(``);\r\n const [checkoutUrlApp, setCheckoutUrlApp] = useState(``);\r\n const [activeTabInUrlSetting, setActiveTabInUrlSetting] = useState<\"pcTab\" | \"appTab\">(\"pcTab\");\r\n const [showCheckoutSettingsPopup, toggleCheckoutSettingsPopup] = useState(false);\r\n const [isMessagePopupShow, showMessagePopup] = useState(false);\r\n const [isLoading, setLoading] = useState(false);\r\n const [flyerClassesState, setFlyerClassesState] = useState([]);\r\n const [activeTabName, setActiveTab] = useState(`details`);\r\n const [hoverTabName, setHoverTabName] = useState(``);\r\n const [isShowConfirmExitPopup, setShowConfirmExitPopup] = useState(false);\r\n const [isRequiredFieldsNotFilled, setIsRequiredFieldsNotFilled] = useState(false);\r\n const [isCopied, setCopiedStatus] = useState(false)\r\n const [isUrlCaptionUpdateByUser, setIsUrlCaptionUpdateByUser] = useState(false)\r\n const [isExpired, setIsExpired] = useState(false);\r\n const [inputValueForContactUsEmails, setInputValueForContactUsEmails] = useState('');\r\n const [contactUsEmails, setContactUsEmails] = useState([]);\r\n\r\n const mainLabelColumnNumber = 8;\r\n const inputColumnsNumber = 10;\r\n const secondaryLabelColumnNumber = 8;\r\n\r\n const stylesProperties = {\r\n activeTabName: activeTabName\r\n }\r\n\r\n const classes = useStyles(stylesProperties);\r\n\r\n\r\n // const [disclaimerDirection, setDisclaimerDirection] = useState('ltr');\r\n const accountCheckoutSettings = {\r\n conversionUrlBase: conversionUrlSetting.data?.conversionUrlBase,\r\n conversionUrlBaseApp: conversionUrlSetting.data?.conversionUrlBaseApp,\r\n conversionEmail: conversionUrlSetting.data?.conversionEmail,\r\n interItemSeparator: conversionUrlSetting.data?.interItemSeparator,\r\n interItemSeparatorApp: conversionUrlSetting.data?.interItemSeparatorApp,\r\n intraItemSeparator: conversionUrlSetting.data?.intraItemSeparator,\r\n intraItemSeparatorApp: conversionUrlSetting.data?.intraItemSeparatorApp,\r\n itemCodePrefix: conversionUrlSetting.data?.itemCodePrefix,\r\n itemCodePrefixApp: conversionUrlSetting.data?.itemCodePrefixApp,\r\n itemListVarName: conversionUrlSetting.data?.itemListVarName,\r\n itemListVarNameApp: conversionUrlSetting.data?.itemListVarNameApp,\r\n itemOptionalParamValue: conversionUrlSetting.data?.itemOptionalParamValue,\r\n itemOptionalParamValueApp: conversionUrlSetting.data?.itemOptionalParamValueApp,\r\n optionalVars: conversionUrlSetting.data?.optionalVars,\r\n optionalVarsApp: conversionUrlSetting.data?.optionalVarsApp\r\n }\r\n // const [checkoutBtnDirection, setCheckoutBtnDirection] = useState('ltr');\r\n\r\n useEffect(() => {\r\n\r\n const flyerClassesData = flyerClasses?.flyerClasses?.map((flyerClass: FlyerClassDto) => {\r\n return {\r\n value: flyerClass.id,\r\n label: flyerClass.caption\r\n }\r\n });\r\n setFlyerClassesState(flyerClassesData);\r\n\r\n }, [flyerClasses])\r\n\r\n useEffect(() => {\r\n if (isShouldCheckCurrentFlyerStateBeforeLeave) {\r\n onClosePromoDetailsPopup();\r\n }\r\n }, [isShouldCheckCurrentFlyerStateBeforeLeave, flyersForHold])\r\n\r\n useEffect(() => {\r\n setState({\r\n ...state,\r\n conversationUrl: checkoutUrl,\r\n })\r\n setErrorState({\r\n ...stateError,\r\n checkoutUrlSettingErr: !Boolean(checkoutUrl),\r\n })\r\n\r\n }, [checkoutUrl]);\r\n\r\n useEffect(() => {\r\n setState({\r\n ...state,\r\n conversationUrlApp: checkoutUrlApp,\r\n })\r\n }, [checkoutUrlApp]);\r\n\r\n useEffect(() => {\r\n changeDataForCurrentFlyer(changedStateForFlyer.isChangedFlyerData);\r\n }, [changedStateForFlyer.isChangedFlyerData])\r\n\r\n // useEffect(() => {\r\n // let checkoutUrlLink: string = conversationUrlResult();\r\n // let checkoutUrlLinkApp: string = conversationUrlResultApp();\r\n // setCheckoutUrl(checkoutUrlLink);\r\n // setCheckoutUrlApp(checkoutUrlLinkApp);\r\n // }, [state.isSelectAccountCheckoutUrl])\r\n\r\n useEffect(() => {\r\n if (flyerDetailsState.flyRecId === flippingFlyerState.flyerDto?.flyRecId) {\r\n const urlSettings = {\r\n conversionUrlBase: flyerDetailsState?.conversion?.conversionUrlBase,\r\n conversionUrlBaseApp: flyerDetailsState?.conversion?.conversionUrlBaseApp,\r\n interItemSeparator: flyerDetailsState?.conversion?.interItemSeparator,\r\n interItemSeparatorApp: flyerDetailsState?.conversion?.interItemSeparatorApp,\r\n intraItemSeparator: flyerDetailsState?.conversion?.intraItemSeparator,\r\n intraItemSeparatorApp: flyerDetailsState?.conversion?.intraItemSeparatorApp,\r\n itemCodePrefix: flyerDetailsState?.conversion?.itemCodePrefix,\r\n itemCodePrefixApp: flyerDetailsState?.conversion?.itemCodePrefixApp,\r\n itemListVarName: flyerDetailsState?.conversion?.itemListVarName,\r\n itemListVarNameApp: flyerDetailsState?.conversion?.itemListVarNameApp,\r\n itemOptionalParamValue: flyerDetailsState?.conversion?.itemOptionalParamValue,\r\n itemOptionalParamValueApp: flyerDetailsState?.conversion?.itemOptionalParamValueApp,\r\n optionalVars: flyerDetailsState?.conversion?.optionalVars,\r\n optionalVarsApp: flyerDetailsState?.conversion?.optionalVarsApp,\r\n conversionType: flyerDetailsState?.conversion?.conversionType,\r\n }\r\n setCheckoutUrlSetting(urlSettings);\r\n\r\n let dataForFlyer = {\r\n code: flyerDetailsState.flyCode || \"\",\r\n noPages: flyerDetailsState.flyerPages.length.toString(),\r\n caption: flyerDetailsState.flyCaption,\r\n description: flyerDetailsState.flyDesc,\r\n displayCaption: flyerDetailsState.flyDisplayCaption,\r\n flyerClass: getFlyerClass(flyerDetailsState.flyFlyerClassId || null),\r\n startDate: getDate(flyerDetailsState.flyValidFromUtc),\r\n endDate: getDate(flyerDetailsState.flyValidToUtc),\r\n createDate: getDate(flyerDetailsState.flyCreatedUtc),\r\n modifiedDate: getDate(flyerDetailsState.flyModifiedUtc),\r\n languageData: {\r\n flyLacRec: flyerDetailsState.flyLacRec,\r\n flyLacRecId: flyerDetailsState.flyLacRecId,\r\n },\r\n language: getLanguage(flyerDetailsState.flyLacRec),\r\n currency: getCurrency(flyerDetailsState.flyLacRec),\r\n gui: {\r\n flygusRecId: flyerDetailsState!.flygusRecId!,\r\n flyGusRec: flyerDetailsState.flyGusRec!,\r\n },\r\n email: flyerDetailsState?.conversion?.conversionEmail ? flyerDetailsState?.conversion?.conversionEmail : '',\r\n phoneNumber: flyerDetailsState?.conversion?.conversionPhoneNo ? flyerDetailsState?.conversion?.conversionPhoneNo : '',\r\n phoneMessage: flyerDetailsState?.conversion?.conversionPhoneMessage ? flyerDetailsState?.conversion?.conversionPhoneMessage : '',\r\n conversationUrl: conversationUrlResult(flyerDetailsState?.conversion && flyerDetailsState?.conversion.conversionUrlBase ? flyerDetailsState?.conversion : {}),\r\n conversationUrlApp: conversationUrlResultApp(flyerDetailsState?.conversion && flyerDetailsState?.conversion.conversionUrlBaseApp ? flyerDetailsState?.conversion : {}),\r\n radioType: {\r\n excel: true,\r\n text: false,\r\n isEmail: flyerDetailsState?.conversion?.conversionType === 0 || !flyerDetailsState?.conversion?.conversionType,\r\n isUrl: flyerDetailsState?.conversion?.conversionType === 1,\r\n isPhoneNumber: flyerDetailsState?.conversion?.conversionType === 3\r\n },\r\n flyerStatus: {\r\n value: flyerDetailsState.flyFstRecId ? flyerDetailsState.flyFstRecId.toString() : '',\r\n label: flyerDetailsState.flyFstRec.fstCaption,\r\n status: flyerDetailsState.flyFstRec,\r\n },\r\n flyerType: {\r\n value: flyerDetailsState.flyRecId !== 0 && flyerDetailsState.flyFltRec.fltCode ? flyerDetailsState.flyFltRec.fltCode.toString() : `2`,\r\n label: flyerDetailsState.flyRecId !== 0 && flyerDetailsState.flyFltRec.fltCaption ? flyerDetailsState.flyFltRec.fltCaption.toString() : `XC Shopping Flyer`,\r\n id: flyerDetailsState.flyRecId !== 0 && flyerDetailsState.flyFltRec.fltRecId ? flyerDetailsState.flyFltRec.fltRecId : 5,\r\n },\r\n // isSelectAccountCheckoutUrl: false,\r\n // isSelectAccountCheckoutUrl: !!(conversionUrlSetting?.data?.conversionUrlBase),\r\n disclaimers: {\r\n flyerDisclaimer: flyerDetailsState?.disclaimers?.flyerDisclaimer ? flyerDetailsState?.disclaimers?.flyerDisclaimer : '',\r\n listDisclaimer: flyerDetailsState?.disclaimers?.listDisclaimer ? flyerDetailsState?.disclaimers?.listDisclaimer : '',\r\n isFlyerDisclaimer: Boolean(flyerDetailsState.disclaimers?.isFlyerDisclaimer),\r\n isListDisclaimer: Boolean(flyerDetailsState.disclaimers?.isListDisclaimer)\r\n },\r\n uiText: {\r\n goToCheckout: flyerDetailsState?.uiTexts?.goToCheckout ? flyerDetailsState?.uiTexts?.goToCheckout : '',\r\n flyerDisclaimerPopupTitle: flyerDetailsState.uiTexts?.flyerDisclaimerPopupTitle ? flyerDetailsState.uiTexts?.flyerDisclaimerPopupTitle : ``,\r\n quickTips: flyerDetailsState.uiTexts?.quickTips ? flyerDetailsState.uiTexts?.quickTips : ``,\r\n isQuickTips: Boolean(flyerDetailsState.uiTexts?.isQuickTips)\r\n },\r\n urls: {\r\n accountHomePageUrl: flyerDetailsState?.urls && flyerDetailsState?.urls.accountHomePageUrl\r\n ? flyerDetailsState?.urls.accountHomePageUrl\r\n : flyerDetailsState.flyAccRec?.accountSetting?.urls && flyerDetailsState.flyAccRec?.accountSetting?.urls.accountHomePageUrl\r\n ? flyerDetailsState.flyAccRec?.accountSetting?.urls.accountHomePageUrl\r\n : ``\r\n },\r\n flyPageLayoutPc: getFlyerPagination(flyerDetailsState.flyPageLayoutPc ? flyerDetailsState.flyPageLayoutPc : 1),\r\n contactDetails: flyerDetailsState.contactDetails\r\n }\r\n const emailsArray = convertEmailsObjectToArray(flyerDetailsState.contactDetails || {});\r\n setContactUsEmails(emailsArray);\r\n setIsUrlCaptionUpdateByUser(false);\r\n setDefaultState(dataForFlyer);\r\n setState(dataForFlyer);\r\n setActiveTab(`details`);\r\n const validUntil = getDate(flyerDetailsState.flyValidToUtc);\r\n if (validUntil) {\r\n setIsExpired(new Date() > validUntil);\r\n }\r\n const onlyHebrewPattern = new RegExp(/^[a-zA-Z0-9\\u0590-\\u05fe-_]+$/i);\r\n const onlyLetterAndNumbers = new RegExp(/^[a-zA-Z0-9_.-]*$/i);\r\n const onlyNumbers = new RegExp(/^[0-9]+$/i);\r\n const isValidCaption = onlyHebrewPattern.test(flyerDetailsState.flyCaption);\r\n const isValidCode = onlyNumbers.test(flyerDetailsState.flyCode);\r\n const captionErr = flyerDetailsState.flyCaption === \"\" ? true : !isValidCaption;\r\n const codeErr = flyerDetailsState.flyCode === \"\"\r\n ? true\r\n : !isValidCode;\r\n const displayCationErr =\r\n flyerDetailsState.flyDisplayCaption === \"\"\r\n ? true\r\n : flyerDetailsState.flyDisplayCaption === \"\";\r\n const noPagesErr = flyerDetailsState.flyerPages.length.toString() === \"\"\r\n ? true\r\n : !validator.isNumeric(flyerDetailsState.flyerPages.length.toString());\r\n const startDateErr = flyerDetailsState.flyValidFromUtc\r\n ? getDate(flyerDetailsState.flyValidFromUtc) === null\r\n : getDate(moment(new Date()).toDate()) === null;\r\n const endDateErr = flyerDetailsState.flyValidToUtc\r\n ? getDate(flyerDetailsState.flyValidToUtc) === null\r\n : getDate(moment(new Date()).endOf('year').toDate()) === null;\r\n const emailErr =\r\n !Boolean(dataForFlyer.email)\r\n ? true\r\n : !validator.isEmail(dataForFlyer.email);\r\n const phoneNumberErr =\r\n !Boolean(flyerDetailsState?.conversion?.conversionPhoneNo)\r\n ? true\r\n : !validator.isMobilePhone(flyerDetailsState?.conversion?.conversionPhoneNo ? flyerDetailsState?.conversion?.conversionPhoneNo : '');\r\n const phoneMessageErr =\r\n !Boolean(dataForFlyer.phoneMessage)\r\n ? true\r\n : dataForFlyer.phoneMessage === \"\";\r\n const checkoutUrlSettingErr = !Boolean(flyerDetailsState?.conversion?.conversionUrlBase) && flyerDetailsState?.conversion?.conversionType !== 0;\r\n // const conversationErr = !validator.isURL(\r\n // flyerDetailsState.flyConversionEmail\r\n // );\r\n let checkoutBtnCaptionErr = flyerDetailsState.uiTexts?.goToCheckout === \"\"\r\n ? true\r\n : flyerDetailsState.uiTexts?.goToCheckout === \"\";\r\n\r\n setErrorState({\r\n captionErr: captionErr,\r\n displayCationErr: displayCationErr,\r\n noPagesErr: noPagesErr,\r\n startDateErr: startDateErr,\r\n endDateErr: endDateErr,\r\n emailErr: emailErr,\r\n phoneNumberErr: phoneNumberErr,\r\n phoneMessageErr: phoneMessageErr,\r\n checkoutUrlSettingErr: checkoutUrlSettingErr,\r\n checkoutBtnCaptionErr: checkoutBtnCaptionErr,\r\n noCodeErr: codeErr\r\n // conversationUrlErr: conversationErr,\r\n });\r\n setNoEdit(\r\n window.location.pathname.indexOf(\"archive\") > -1 ||\r\n window.location.pathname.indexOf(\"trash\") > -1\r\n );\r\n setReadOnly(true);\r\n }\r\n }, [flyerDetailsState.flyRecId, flippingFlyerState.flyerDto]);\r\n\r\n useEffect(() => {\r\n setGui({\r\n gui: {\r\n flygusRecId: flyerDetailsState!.flygusRecId!,\r\n flyGusRec: flyerDetailsState.flyGusRec!,\r\n },\r\n })\r\n }, [flyerDetailsState.flyGusRec])\r\n\r\n useEffect(() => {\r\n let checkoutUrlLink: string = conversationUrlResult();\r\n setCheckoutUrl(checkoutUrlLink);\r\n let checkoutUrlLinkApp: string = conversationUrlResultApp();\r\n setCheckoutUrlApp(checkoutUrlLinkApp);\r\n }, [checkoutUrlSetting]);\r\n\r\n useEffect(() => {\r\n const defaultStateString = JSON.stringify(defaultState);\r\n const changedState = JSON.stringify(state);\r\n let isStateWasChanged = defaultStateString !== changedState;\r\n dispatch(someFlyerDetailsDataWasChangedInFlyerDetailsPopup(isStateWasChanged));\r\n }, [state, defaultState]);\r\n\r\n useEffect(() => {\r\n if (\r\n flippingFlyerState.type === ActionType.GET_FLIPPING_FLYER_START ||\r\n flippingFlyerState.type === ActionType.POST_FLIPPING_FLYER_START\r\n ) {\r\n setState(initialFlyerState);\r\n setDefaultState(initialFlyerState);\r\n setCheckoutUrlSetting({});\r\n setCheckoutUrl(\"\");\r\n setCheckoutUrlApp(\"\");\r\n setLoading(flippingFlyerState.loading);\r\n } else if (\r\n flippingFlyerState.type === ActionType.GET_FLIPPING_FLYER_SUCCESS\r\n ) {\r\n setLoading(flippingFlyerState.loading);\r\n } else if (\r\n flippingFlyerState.type === ActionType.POST_FLIPPING_FLYER_SUCCESS\r\n ) {\r\n setLoading(flippingFlyerState.loading);\r\n // dispatchEventDataType(EVENT_DATA_TYPE_OPEN_FLYER_INFO_POPUP, {\r\n // isOpen: true,\r\n // isChangedData: false\r\n // });\r\n // dispatch(toggleFlyerDetailsPopup(false));\r\n // if (isNew && !isShow) {\r\n // dispatch(updateFlyersState(flyersState));\r\n // dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n // }\r\n if (flyerDetailsState.flyRecId !== 0) {\r\n dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n }\r\n\r\n }\r\n }, [flippingFlyerState.type]);\r\n\r\n\r\n useEffect(() => {\r\n if (isOpenPageScreen) {\r\n dispatchEventDataType(\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER,\r\n {\r\n isOpen: true,\r\n flyerCaption: state.caption\r\n }\r\n );\r\n }\r\n }, [state.caption, isOpenPageScreen]);\r\n\r\n const addEmailToContactUsEmails = (e: FormEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (!checkValidValueForEmailsInput() || contactUsEmails.length >= 4 || isAlreadyExist() || !inputValueForContactUsEmails) {\r\n return;\r\n }\r\n const newEmailArray = [\r\n ...contactUsEmails,\r\n inputValueForContactUsEmails\r\n ];\r\n setContactUsEmails(newEmailArray);\r\n setInputValueForContactUsEmails(\"\");\r\n setState({\r\n ...state,\r\n contactDetails: {\r\n emailAddress1: newEmailArray[0] || \"\",\r\n emailAddress2: newEmailArray[1] || \"\",\r\n emailAddress3: newEmailArray[2] || \"\",\r\n emailAddress4: newEmailArray[3] || \"\",\r\n }\r\n })\r\n }\r\n\r\n const removeEmailFromContactUsEmails = (email: string) => {\r\n const newEmails = contactUsEmails.filter(emailFromState => emailFromState !== email);\r\n setContactUsEmails(newEmails);\r\n setState({\r\n ...state,\r\n contactDetails: {\r\n emailAddress1: newEmails[0] || \"\",\r\n emailAddress2: newEmails[1] || \"\",\r\n emailAddress3: newEmails[2] || \"\",\r\n emailAddress4: newEmails[3] || \"\",\r\n }\r\n })\r\n }\r\n\r\n const isAlreadyExist = (): boolean => {\r\n return contactUsEmails.some(email => email === inputValueForContactUsEmails);\r\n };\r\n\r\n\r\n const checkValidValueForEmailsInput = (): boolean => {\r\n return validator.isEmail(inputValueForContactUsEmails) || inputValueForContactUsEmails === '';\r\n };\r\n\r\n const onChangeInputEmailForContactUsEmails = (event: React.ChangeEvent | React.ChangeEvent) => {\r\n const value = event.target.value;\r\n setInputValueForContactUsEmails(value);\r\n }\r\n\r\n const filteredFlyerTypes = flyersState?.flyerTypes?.filter((flyerType: FlyerTypeDto) => {\r\n if (flyerType.code === 2 || flyerType.code === 3 || flyerType.code === 1) {\r\n return flyerType;\r\n }\r\n });\r\n const flyerTypes = filteredFlyerTypes?.map((flyerType: FlyerTypeDto) => {\r\n return {\r\n value: flyerType.code.toString(),\r\n label: flyerType.caption.toString(),\r\n id: flyerType.id,\r\n };\r\n });\r\n const flyerStatuses = [...FLYER_STATUSES]?.map((flyerStatus: FlyerStatus) => {\r\n return {\r\n value: flyerStatus.fstRecId?.toString(),\r\n label: flyerStatus.fstCaption?.toString(),\r\n status: flyerStatus,\r\n };\r\n });\r\n\r\n const flyerPaginationOptions = [...FLYER_PAGINATION_VARIANTS]?.map((flyerStatus: FlyerPagination) => {\r\n return {\r\n value: flyerStatus.value?.toString(),\r\n label: flyerStatus.label?.toString(),\r\n };\r\n });\r\n\r\n const conversationUrlResult = (flyerCheckoutSettings?: ConversionDto): string => {\r\n let checkoutUrlLink: string = ``;\r\n // if (state.isSelectAccountCheckoutUrl && conversionUrlSetting.data) {\r\n // checkoutUrlLink = createExampleCheckoutUrl(conversionUrlSetting.data, firstExample, secondExample);\r\n // } else {\r\n if (!_.isEmpty(checkoutUrlSetting) && _.isEmpty(flyerCheckoutSettings)) {\r\n if (checkoutUrlSetting.conversionUrlBase) {\r\n checkoutUrlLink = createExampleCheckoutUrl(checkoutUrlSetting, firstExample, secondExample);\r\n }\r\n } else if (!_.isEmpty(flyerCheckoutSettings)) {\r\n checkoutUrlLink = createExampleCheckoutUrl(flyerCheckoutSettings, firstExample, secondExample);\r\n }\r\n // }\r\n return checkoutUrlLink;\r\n }\r\n\r\n const conversationUrlResultApp = (flyerCheckoutSettings?: ConversionDto): string => {\r\n let checkoutUrlLinkApp: string = ``;\r\n // if (state.isSelectAccountCheckoutUrl && conversionUrlSetting.data?.conversionUrlBaseApp) {\r\n // checkoutUrlLinkApp = createExampleCheckoutUrlApp(conversionUrlSetting.data, firstExample, secondExample);\r\n // } else {\r\n if (!_.isEmpty(checkoutUrlSetting) && _.isEmpty(flyerCheckoutSettings)) {\r\n if (checkoutUrlSetting.conversionUrlBaseApp) {\r\n checkoutUrlLinkApp = createExampleCheckoutUrlApp(checkoutUrlSetting, firstExample, secondExample);\r\n }\r\n } else if (!_.isEmpty(flyerCheckoutSettings)) {\r\n checkoutUrlLinkApp = createExampleCheckoutUrlApp(flyerCheckoutSettings, firstExample, secondExample);\r\n }\r\n // }\r\n return checkoutUrlLinkApp;\r\n }\r\n\r\n const changeLang = (item: any) => {\r\n setState({\r\n ...state,\r\n language: {\r\n value: item.value,\r\n label: item.label\r\n },\r\n languageData: {\r\n flyLacRec: {\r\n ...item.language,\r\n lacRecId: item.language.id,\r\n lacCode: item.language.code,\r\n lacCaption: item.language.caption,\r\n lacDir: item.language.dir,\r\n lacCurrencySymbol: item.language.currencySymbol\r\n },\r\n flyLacRecId: item.language.id!,\r\n },\r\n currency: {\r\n value: item.language.currencySymbol,\r\n label: `${item.language.currencySymbol.trim()} ${item.language.currencyAbbrv}`\r\n },\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n const changeFlyerType = (item: any) => {\r\n setState({\r\n ...state,\r\n flyerType: item,\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n const changeCurrency = (item: any) => {\r\n setState({\r\n ...state,\r\n currency: item.value,\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n const changeFlyerClass = (item: any) => {\r\n setState({\r\n ...state,\r\n flyerClass: item,\r\n });\r\n console.log(`Option selected:`, item);\r\n };\r\n\r\n const onFulfilmentTypeChanged = (type: string) => {\r\n let newState = {\r\n excel: type === \"Excel\",\r\n text: type === \"Text\",\r\n };\r\n setState({\r\n ...state,\r\n radioType: {\r\n ...state.radioType,\r\n ...newState,\r\n },\r\n });\r\n };\r\n\r\n const onFulfilmentListChanges = (type: string) => {\r\n let newState = {\r\n isEmail: type === \"Email\",\r\n isUrl: type === \"URL\",\r\n isPhoneNumber: type === \"PhoneNumber\"\r\n };\r\n setState({\r\n ...state,\r\n radioType: {\r\n ...state.radioType,\r\n ...newState,\r\n },\r\n });\r\n };\r\n\r\n const onPCFlyerPagesOrientationChange = (paginationOption: FlyerPagination) => {\r\n setState({\r\n ...state,\r\n flyPageLayoutPc: paginationOption,\r\n });\r\n\r\n };\r\n\r\n const onFlyerStatusChanged = (status: FlyerStatusForSelect) => {\r\n setState({\r\n ...state,\r\n flyerStatus: {\r\n status: status.status,\r\n value: status.value,\r\n label: status.label\r\n },\r\n });\r\n };\r\n\r\n const getFlyerAppUrlElement = () => {\r\n try {\r\n let flyerAppAddress = envManager.flyerAppAddress;\r\n\r\n let currentFlyerStatus = flyerDetailsState.flyFstRec;\r\n let statusCaption = currentFlyerStatus!.fstCaption?.toLowerCase();\r\n\r\n let appUrl = \"\";\r\n\r\n if (statusCaption?.includes(\"edit\")) {\r\n appUrl = flyerAppAddress =\r\n envManager.getFlyerAppAddressWithEnvPrefix(\"dev\");\r\n } else if (statusCaption?.includes(\"qa\")) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix(\"qa\");\r\n } else if (statusCaption?.includes(\"published\")) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix(\"\");\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && flyerDetailsState.flyRecId) {\r\n let accountName = flyerDetailsState.flyAccRec?.accCaption;\r\n let flyerName = flyerDetailsState.flyCaption;\r\n appUrl += `${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${accountName}/${flyerName}`;\r\n }\r\n\r\n if (statusCaption?.includes(\"inactive\")) {\r\n appUrl = \"--\";\r\n return appUrl;\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!flyerDetailsState.flyRecId) {\r\n appUrl = \"--\";\r\n\r\n return appUrl;\r\n } else {\r\n appUrl = `${appUrl}`;\r\n\r\n return (\r\n
\r\n {isNoEdit && flyerDetailsState.flyFstRec.fstCaption !== \"Published\" ? \r\n Inactive Flyer\r\n : \r\n {appUrl}\r\n \r\n }\r\n
\r\n );\r\n }\r\n } catch (e) {\r\n return \"--\";\r\n }\r\n };\r\n\r\n const onChangeCaption = (e: ChangeEvent) => {\r\n const value = e.target.value.trimStart().replace(/\\s\\s+/g, ' ');\r\n if (value === \"\") {\r\n setErrorState({\r\n ...stateError,\r\n captionErr: true,\r\n });\r\n } else {\r\n const onlyHebrewPattern = new RegExp(/^[a-zA-Z0-9\\u0590-\\u05fe-_]+$/i);\r\n const isValid = onlyHebrewPattern.test(value);\r\n setErrorState({\r\n ...stateError,\r\n captionErr: !isValid,\r\n });\r\n }\r\n setIsUrlCaptionUpdateByUser(true);\r\n setState({\r\n ...state,\r\n caption: value,\r\n });\r\n };\r\n\r\n const onChangeCode = (e: ChangeEvent) => {\r\n if (e.target.value === \"\") {\r\n setErrorState({\r\n ...stateError,\r\n noCodeErr: true,\r\n });\r\n } else {\r\n const onlyLetterAndNumbers = new RegExp(/^[a-zA-Z0-9_.-]*$/i);\r\n const onlyNumbers = new RegExp(/^[0-9]+$/i);\r\n const isValid = onlyNumbers.test(e.target.value);\r\n setErrorState({\r\n ...stateError,\r\n noCodeErr: !isValid,\r\n });\r\n }\r\n setState({\r\n ...state,\r\n code: e.target.value,\r\n });\r\n };\r\n\r\n const onChangePagesNo = (e: ChangeEvent) => {\r\n const isNumber = validator.isNumeric(e.target.value, {no_symbols: true});\r\n if (isNumber) {\r\n let amount = Number(e.target.value);\r\n\r\n if (isNaN(amount) || amount < 0 || e.target.value[0] === \"0\") {\r\n } else {\r\n amount > 100\r\n ? setState({...state, noPages: \"100\"})\r\n : setState({...state, noPages: e.target.value});\r\n setErrorState({\r\n ...stateError,\r\n noPagesErr: false,\r\n });\r\n }\r\n } else if (!isNumber && e.target.value === \"\") {\r\n setState({...state, noPages: e.target.value});\r\n setErrorState({\r\n ...stateError,\r\n noPagesErr: true,\r\n });\r\n }\r\n };\r\n\r\n const onChangeDisplayCaption = (e: ChangeEvent) => {\r\n const value = e.target.value;\r\n value.trimStart().replace(/\\s\\s+/g, ' ');\r\n setState({\r\n ...state,\r\n displayCaption: value.trimStart().replace(/\\s\\s+/g, ' '),\r\n caption: isUrlCaptionUpdateByUser ? state.caption : value.trim().replace(/\\s\\s+/g, ' ').replace(/ /g, '-')\r\n });\r\n\r\n const onlyHebrewPattern = new RegExp(/^[a-zA-Z0-9\\u0590-\\u05fe-_]+$/i);\r\n const isValid = onlyHebrewPattern.test(value.trim().replace(/\\s\\s+/g, ' ').replace(/ /g, '-'));\r\n\r\n setErrorState({\r\n ...stateError,\r\n captionErr: isUrlCaptionUpdateByUser ? stateError.captionErr : e.target.value === \"\" || !isValid,\r\n displayCationErr: e.target.value === \"\",\r\n });\r\n };\r\n\r\n\r\n const onChangeEmail = (e: ChangeEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const isEmail = validator.isEmail(e.target.value);\r\n setErrorState({\r\n ...stateError,\r\n emailErr: !isEmail,\r\n });\r\n setState({\r\n ...state,\r\n email: e.target.value,\r\n });\r\n };\r\n\r\n const onChangePhoneMessage = (e: ChangeEvent) => {\r\n setErrorState({\r\n ...stateError,\r\n phoneMessageErr: e.target.value === \"\",\r\n });\r\n setState({\r\n ...state,\r\n phoneMessage: e.target.value,\r\n });\r\n };\r\n\r\n const copyDataFromAccountUsingPropertyName = (propertyName: string) => {\r\n if (conversionUrlSetting.data) {\r\n switch (propertyName) {\r\n case \"valuesForWhatsApp\": {\r\n const {conversionPhoneNo, conversionPhoneMessage} = conversionUrlSetting.data;\r\n if (!conversionPhoneNo && !conversionPhoneMessage) {\r\n showMessagePopup(true);\r\n break;\r\n }\r\n const isMobilePhone = validator.isMobilePhone(conversionPhoneNo || \"\");\r\n setErrorState({\r\n ...stateError,\r\n phoneMessageErr: !conversionPhoneMessage,\r\n phoneNumberErr: !isMobilePhone\r\n });\r\n setState({\r\n ...state,\r\n phoneMessage: conversionPhoneMessage || '',\r\n phoneNumber: conversionPhoneNo || ''\r\n });\r\n break;\r\n }\r\n case \"valuesForEmail\": {\r\n const {conversionEmail} = conversionUrlSetting.data;\r\n if (!conversionEmail) {\r\n showMessagePopup(true);\r\n break;\r\n }\r\n const isEmail = validator.isEmail(conversionEmail || \"\");\r\n setErrorState({\r\n ...stateError,\r\n emailErr: !isEmail,\r\n });\r\n setState({\r\n ...state,\r\n email: conversionEmail || \"\",\r\n });\r\n break;\r\n }\r\n case \"urlLinkForPc\":\r\n case \"urlLinkForApp\": {\r\n changeCheckoutForCheckoutUrlForAccount(propertyName);\r\n break;\r\n }\r\n case \"valuesForContactUsEmails\": {\r\n const emailsArray = convertEmailsObjectToArray(accountEmailsState.emails || {});\r\n setContactUsEmails(emailsArray);\r\n setState({\r\n ...state,\r\n contactDetails: {\r\n emailAddress1: emailsArray[0] || \"\",\r\n emailAddress2: emailsArray[1] || \"\",\r\n emailAddress3: emailsArray[2] || \"\",\r\n emailAddress4: emailsArray[3] || \"\",\r\n }\r\n })\r\n break;\r\n }\r\n default: {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onChangeCheckoutBtnText = (e: ChangeEvent) => {\r\n\r\n setErrorState({\r\n ...stateError,\r\n checkoutBtnCaptionErr: e.target.value === \"\",\r\n });\r\n setState({\r\n ...state,\r\n uiText: {\r\n goToCheckout: e.target.value\r\n },\r\n });\r\n };\r\n\r\n const onChangePhoneNumber = (phoneNumber: string) => {\r\n const isMobilePhoneEmail = validator.isMobilePhone(phoneNumber);\r\n setErrorState({\r\n ...stateError,\r\n phoneNumberErr: !isMobilePhoneEmail,\r\n });\r\n setState({\r\n ...state,\r\n phoneNumber: phoneNumber,\r\n });\r\n };\r\n\r\n /*\r\n const onChangeCheckoutForCheckoutUrlForAccount = (e: ChangeEvent) => {\r\n if (!Boolean(conversionUrlSetting.data?.conversionUrlBase)) {\r\n showMessagePopup(true);\r\n return;\r\n }\r\n const isChecked = e.target.checked;\r\n setState({\r\n ...state,\r\n isSelectAccountCheckoutUrl: isChecked\r\n });\r\n if (isChecked && conversionUrlSetting.data) {\r\n const accountCheckoutUrl = createExampleCheckoutUrl(conversionUrlSetting.data, firstExample, secondExample);\r\n const accountCheckoutUrlApp = Boolean(conversionUrlSetting.data.conversionUrlBaseApp && conversionUrlSetting.data.itemListVarNameApp) ? createExampleCheckoutUrlApp(conversionUrlSetting.data, firstExample, secondExample) : '';\r\n if (checkoutUrl !== accountCheckoutUrl && flyerDetailsState.flyRecId) {\r\n setCheckoutUrl(accountCheckoutUrl);\r\n // dispatch(saveConversionUrlSettings({\r\n // ...accountCheckoutSettings,\r\n // conversionType: flyerDetailsState?.conversion?.conversionType\r\n // }, false, flyerDetailsState.flyRecId));\r\n }\r\n if (checkoutUrlApp !== accountCheckoutUrlApp && flyerDetailsState.flyRecId) {\r\n setCheckoutUrlApp(accountCheckoutUrlApp);\r\n // dispatch(saveConversionUrlSettings({\r\n // ...accountCheckoutSettings,\r\n // conversionType: flyerDetailsState?.conversion?.conversionType\r\n // }, false, flyerDetailsState.flyRecId));\r\n }\r\n } else if (!isChecked && !_.isEmpty(checkoutUrlSetting)) {\r\n const flyerCheckoutUrl = createExampleCheckoutUrl(checkoutUrlSetting, firstExample, secondExample);\r\n const flyerCheckoutUrlApp = createExampleCheckoutUrlApp(checkoutUrlSetting, firstExample, secondExample);\r\n if (checkoutUrl !== flyerCheckoutUrl && flyerDetailsState.flyRecId) {\r\n setCheckoutUrl(flyerCheckoutUrl);\r\n // dispatch(saveConversionUrlSettings(checkoutUrlSetting, false, flyerDetailsState.flyRecId));\r\n }\r\n if (checkoutUrlApp !== flyerCheckoutUrlApp && flyerDetailsState.flyRecId) {\r\n setCheckoutUrlApp(flyerCheckoutUrl);\r\n // dispatch(saveConversionUrlSettings(checkoutUrlSetting, false, flyerDetailsState.flyRecId));\r\n }\r\n }\r\n };\r\n */\r\n\r\n const changeCheckoutForCheckoutUrlForAccount = (targetCheckoutSettingFromAccountName: string) => {\r\n if (targetCheckoutSettingFromAccountName === 'urlLinkForPc' && conversionUrlSetting.data) {\r\n if (!Boolean(conversionUrlSetting.data?.conversionUrlBase)) {\r\n showMessagePopup(true);\r\n return;\r\n }\r\n const accountCheckoutUrl = createExampleCheckoutUrl(conversionUrlSetting.data, firstExample, secondExample);\r\n if (checkoutUrl !== accountCheckoutUrl && flyerDetailsState.flyRecId) {\r\n setCheckoutUrl(accountCheckoutUrl);\r\n const {\r\n conversionUrlBase,\r\n interItemSeparator,\r\n intraItemSeparator,\r\n itemCodePrefix,\r\n itemListVarName,\r\n itemOptionalParamValue,\r\n optionalVars\r\n } = conversionUrlSetting.data;\r\n setCheckoutUrlSetting(\r\n {\r\n ...checkoutUrlSetting,\r\n conversionUrlBase,\r\n interItemSeparator,\r\n intraItemSeparator,\r\n itemCodePrefix,\r\n itemListVarName,\r\n itemOptionalParamValue,\r\n optionalVars\r\n }\r\n )\r\n }\r\n return;\r\n }\r\n if (targetCheckoutSettingFromAccountName === 'urlLinkForApp' && conversionUrlSetting.data) {\r\n if (!Boolean(conversionUrlSetting.data?.conversionUrlBaseApp)) {\r\n showMessagePopup(true);\r\n return;\r\n }\r\n const accountCheckoutUrlApp = Boolean(conversionUrlSetting.data.conversionUrlBaseApp && conversionUrlSetting.data.itemListVarNameApp) ? createExampleCheckoutUrlApp(conversionUrlSetting.data, firstExample, secondExample) : '';\r\n if (checkoutUrlApp !== accountCheckoutUrlApp && flyerDetailsState.flyRecId) {\r\n setCheckoutUrlApp(accountCheckoutUrlApp);\r\n const {\r\n conversionUrlBaseApp,\r\n interItemSeparatorApp,\r\n intraItemSeparatorApp,\r\n itemCodePrefixApp,\r\n itemListVarNameApp,\r\n itemOptionalParamValueApp,\r\n optionalVarsApp\r\n } = conversionUrlSetting.data;\r\n setCheckoutUrlSetting(\r\n {\r\n ...checkoutUrlSetting,\r\n conversionUrlBaseApp,\r\n interItemSeparatorApp,\r\n intraItemSeparatorApp,\r\n itemCodePrefixApp,\r\n itemListVarNameApp,\r\n itemOptionalParamValueApp,\r\n optionalVarsApp\r\n }\r\n )\r\n }\r\n return;\r\n }\r\n };\r\n\r\n const onCheckInput = (e: FocusEvent) => {\r\n if (e.target.value === \"\") {\r\n setState({...state, noPages: \"1\"});\r\n setErrorState({\r\n ...stateError,\r\n noPagesErr: false,\r\n });\r\n }\r\n };\r\n\r\n const onChangeGui = (guiSetting: GuiSettingsDto) => {\r\n setState({\r\n ...state,\r\n gui: {\r\n flygusRecId: guiSetting.gusRecId!,\r\n flyGusRec: guiSetting,\r\n },\r\n });\r\n setGui({\r\n gui: {\r\n flygusRecId: guiSetting.gusRecId!,\r\n flyGusRec: guiSetting,\r\n },\r\n });\r\n };\r\n\r\n const editCheckoutUrl = (value: \"pcTab\" | \"appTab\") => {\r\n setActiveTabInUrlSetting(value);\r\n toggleCheckoutSettingsPopup(true);\r\n }\r\n\r\n const onHidePopup = () => {\r\n toggleCheckoutSettingsPopup(false);\r\n }\r\n\r\n const deleteCheckoutUrl = () => {\r\n setCheckoutUrlSetting({\r\n ...checkoutUrlSetting,\r\n conversionUrlBase: null,\r\n itemListVarName: null,\r\n itemCodePrefix: null,\r\n interItemSeparator: null,\r\n itemOptionalParamValue: null,\r\n intraItemSeparator: null,\r\n optionalVars: []\r\n });\r\n }\r\n const deleteCheckoutUrlApp = () => {\r\n setCheckoutUrlSetting({\r\n ...checkoutUrlSetting,\r\n conversionUrlBaseApp: null,\r\n itemListVarNameApp: null,\r\n itemCodePrefixApp: null,\r\n interItemSeparatorApp: null,\r\n itemOptionalParamValueApp: null,\r\n intraItemSeparatorApp: null,\r\n optionalVarsApp: []\r\n });\r\n }\r\n\r\n const onSaveFlyer = (toPages: boolean) => {\r\n // const currentFlyerCheckoutSettings = state.isSelectAccountCheckoutUrl ? accountCheckoutSettings : checkoutUrlSetting;\r\n const newState = {\r\n ...flyerDetailsState,\r\n flyCode: state.code,\r\n flyCaption: state.caption,\r\n flyDisplayCaption: state.displayCaption,\r\n flyDesc: state.description,\r\n flyFstRec: state.flyerStatus.status!,\r\n flyFstRecId: Number(state.flyerStatus.value),\r\n flyGusRec: gui.gui.flyGusRec,\r\n flyFlyerClassId: Number(state.flyerClass.value) !== -1 ? Number(state.flyerClass.value) : null,\r\n flygusRecId: gui.gui.flygusRecId,\r\n flyLacRec: {\r\n ...state.languageData.flyLacRec,\r\n lacCurrencySymbol: state.currency.value,\r\n },\r\n flyFltRec: {\r\n ...flyerDetailsState.flyFltRec,\r\n fltRecId: state.flyerType.id\r\n },\r\n conversion: {\r\n ...checkoutUrlSetting,\r\n conversionEmail: state.email,\r\n conversionPhoneNo: state.phoneNumber,\r\n conversionPhoneMessage: state.phoneMessage,\r\n conversionType: state.radioType.isUrl ? 1 : state.radioType.isPhoneNumber ? 3 : 0,\r\n },\r\n disclaimers: {\r\n ...flyerDetailsState.disclaimers,\r\n listDisclaimer: state.disclaimers?.listDisclaimer,\r\n flyerDisclaimer: state.disclaimers?.flyerDisclaimer,\r\n isFlyerDisclaimer: state.disclaimers?.isFlyerDisclaimer,\r\n isListDisclaimer: state.disclaimers?.isListDisclaimer\r\n },\r\n uiTexts: {\r\n ...flyerDetailsState.uiTexts,\r\n goToCheckout: state.uiText?.goToCheckout,\r\n flyerDisclaimerPopupTitle: state.uiText?.flyerDisclaimerPopupTitle,\r\n quickTips: state.uiText?.quickTips,\r\n isQuickTips: state.uiText?.isQuickTips\r\n },\r\n urls: {\r\n accountHomePageUrl: state.urls?.accountHomePageUrl\r\n },\r\n flyPageLayoutPc: Number(state.flyPageLayoutPc.value) || 1,\r\n contactDetails: state.contactDetails\r\n };\r\n if (state.startDate) {\r\n newState.flyValidFromUtc = new Date(\r\n state.startDate?.getTime() -\r\n state.startDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n if (state.endDate) {\r\n newState.flyValidToUtc = new Date(\r\n state.endDate?.getTime() - state.endDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n if (state.createDate) {\r\n newState.flyCreatedUtc = new Date(\r\n state.createDate?.getTime() -\r\n state.createDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n if (state.modifiedDate) {\r\n newState.flyModifiedUtc = new Date(\r\n state.modifiedDate?.getTime() -\r\n state.modifiedDate?.getTimezoneOffset() * 60000\r\n ).toJSON();\r\n }\r\n\r\n delete newState.noPages;\r\n dispatch(saveFlyer(newState, flippingFlyerState, flyersState, false));\r\n dispatch(someFlyerDetailsDataWasChangedInFlyerDetailsPopup(false));\r\n if (toPages) {\r\n changeOpenPageScreenStatus(toPages);\r\n }\r\n if (setIsShouldCheckCurrentFlyerStateBeforeLeave) {\r\n setIsShouldCheckCurrentFlyerStateBeforeLeave(false);\r\n }\r\n };\r\n\r\n const onClickOnTab = (event: React.MouseEvent) => {\r\n const target = event.currentTarget as HTMLButtonElement;\r\n const name = target.name;\r\n if (name !== activeTabName) {\r\n setActiveTab(name);\r\n }\r\n }\r\n\r\n const onClosePromoDetailsPopup = () => {\r\n if (isChangedDataForCurrentFlyer && !isReadOnly) {\r\n setShowConfirmExitPopup(true);\r\n } else {\r\n dispatch(someFlyerDetailsDataWasChangedInFlyerDetailsPopup(false));\r\n }\r\n }\r\n\r\n const checkerBeforeSavePromoDetails = () => {\r\n if (\r\n stateError.endDateErr ||\r\n stateError.noCodeErr ||\r\n (stateError.emailErr && state.radioType.isEmail) ||\r\n (stateError.phoneNumberErr && state.radioType.isPhoneNumber) ||\r\n // (state.radioType.isUrl &&\r\n // stateError.conversationUrlErr) ||\r\n stateError.startDateErr ||\r\n !validator.isURL(state.urls?.accountHomePageUrl ? state.urls?.accountHomePageUrl : ``) ||\r\n stateError.checkoutBtnCaptionErr ||\r\n stateError.phoneMessageErr ||\r\n stateError.captionErr ||\r\n (stateError.checkoutUrlSettingErr && state.radioType.isUrl) ||\r\n stateError.displayCationErr ||\r\n stateError.noPagesErr ||\r\n isReadOnly ||\r\n !isChangedDataForCurrentFlyer\r\n\r\n ) {\r\n setIsRequiredFieldsNotFilled(true);\r\n } else {\r\n onSaveFlyer(false);\r\n }\r\n };\r\n\r\n\r\n const onSaveBtnClick = (goToPages: boolean) => {\r\n if (\r\n stateError.endDateErr ||\r\n stateError.noCodeErr ||\r\n (stateError.emailErr && state.radioType.isEmail) ||\r\n (stateError.phoneNumberErr && state.radioType.isPhoneNumber) ||\r\n (stateError.phoneMessageErr && state.radioType.isPhoneNumber) ||\r\n // (state.radioType.isUrl &&\r\n // stateError.conversationUrlErr) ||\r\n stateError.startDateErr ||\r\n stateError.checkoutBtnCaptionErr ||\r\n stateError.captionErr ||\r\n stateError.displayCationErr ||\r\n !validator.isURL(state.urls?.accountHomePageUrl ? state.urls?.accountHomePageUrl : ``) ||\r\n (stateError.checkoutUrlSettingErr && state.radioType.isUrl) ||\r\n stateError.noPagesErr ||\r\n isReadOnly ||\r\n !isChangedDataForCurrentFlyer\r\n ) {\r\n } else {\r\n onSaveFlyer(goToPages);\r\n }\r\n }\r\n\r\n\r\n const onCloseWithoutSaving = () => {\r\n dispatch(someFlyerDetailsDataWasChangedInFlyerDetailsPopup(false));\r\n if (setIsShouldCheckCurrentFlyerStateBeforeLeave) {\r\n setIsShouldCheckCurrentFlyerStateBeforeLeave(false);\r\n }\r\n if (setCurrentState && currentState) {\r\n setCurrentState({\r\n ...currentState,\r\n activeFlyers: [...flyersForHold],\r\n lastActivatedFlyer: flyersForHold.length ? flyersForHold[0] : {}\r\n })\r\n }\r\n };\r\n\r\n const confirmErrorPopup = () => {\r\n setIsRequiredFieldsNotFilled(false);\r\n }\r\n\r\n const onCopyUrl = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n navigator.clipboard.writeText(`${envManager.flyerAppAddress}/${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${userDto.company}/${state.caption?.trim()}`)\r\n .then(() => {\r\n setCopiedStatus(true)\r\n setTimeout(() => {\r\n setCopiedStatus(false)\r\n }, 2500)\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n })\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: `checkoutAccountSettingNotExist`,\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n const isDisabledOption = isReadOnly || isFlyerPublished;\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n !isShowRightPanel ?\r\n <> :\r\n isShowRightPanel && (activeFlyers.length === 0 || activeFlyers.length > 1) ?\r\n \r\n \r\n {activeFlyers.length === 0 ? \"No flyer selected\" : \"Please select only one Flyer\"}\r\n \r\n \r\n :\r\n <>\r\n {isLoading\r\n ?\r\n
\r\n \r\n
\r\n :\r\n <>\r\n {\r\n activeFlyers.length === 1 &&\r\n <>\r\n {/*
*/}\r\n {/* */}\r\n {/* Flyer Details {flyerDetailsState.flyCaption}*/}\r\n {/* */}\r\n {/*
*/}\r\n\r\n \r\n {\r\n setHoverTabName(event.currentTarget.name)\r\n }}\r\n onMouseLeave={() => {\r\n setHoverTabName(``)\r\n }}\r\n disableTouchRipple\r\n disableRipple\r\n name={`details`}\r\n onClick={onClickOnTab}\r\n className={`${classes.tabButton} ${activeTabName === `details` ? `activeTab` : ``}`}\r\n >\r\n \r\n Details\r\n \r\n \r\n \r\n {\r\n setHoverTabName(event.currentTarget.name)\r\n }}\r\n onMouseLeave={() => {\r\n setHoverTabName(``)\r\n }}\r\n disableTouchRipple\r\n disableRipple\r\n name={`startup`}\r\n onClick={onClickOnTab}\r\n className={`${classes.tabButton} ${activeTabName === `startup` ? `activeTab` : ``}`}\r\n >\r\n \r\n Startup\r\n \r\n \r\n \r\n {\r\n setHoverTabName(event.currentTarget.name)\r\n }}\r\n onMouseLeave={() => {\r\n setHoverTabName(``)\r\n }}\r\n disableTouchRipple\r\n disableRipple\r\n name={`checkout`}\r\n onClick={onClickOnTab}\r\n className={`${classes.tabButton} ${activeTabName === `checkout` ? `activeTab` : ``}`}\r\n >\r\n \r\n Checkout\r\n \r\n \r\n \r\n {\r\n setHoverTabName(event.currentTarget.name)\r\n }}\r\n onMouseLeave={() => {\r\n setHoverTabName(``)\r\n }}\r\n disableTouchRipple\r\n disableRipple\r\n name={`emails`}\r\n onClick={onClickOnTab}\r\n className={`${classes.tabButton} ${activeTabName === `emails` ? `activeTab` : ``}`}\r\n >\r\n \r\n Email Settings\r\n \r\n \r\n \r\n\r\n \r\n {\r\n activeTabName === `details` &&\r\n \r\n \r\n\r\n {(isNoEdit && !isFlyerPublished) && (\r\n \r\n To edit Job Details, first \"Restore\" this Flyer\r\n from\r\n the\r\n previous screen\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Full URL caption:\r\n \r\n \r\n \r\n \r\n \r\n {`${envManager.flyerAppAddress}/${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${userDto.company}/${state.caption?.trim()}`}\r\n \r\n \r\n \r\n \r\n {isCopied ? \"Copied\" : \"Copy\"}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Brand:\r\n \r\n \r\n \r\n {(isReadOnly || isFlyerPublished) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Start Date:\r\n \r\n \r\n \r\n {(isDisabledOption) ? (\r\n <>\r\n {state.startDate ? (\r\n \r\n ) : (\r\n \"--\"\r\n )}\r\n \r\n ) : (\r\n \r\n {\r\n setState({\r\n ...state,\r\n startDate: date,\r\n });\r\n setErrorState({\r\n ...stateError,\r\n startDateErr: !date,\r\n });\r\n }}\r\n maxDate={moment(state.endDate).subtract(1, \"d\").toDate()}\r\n popperPlacement=\"bottom\"\r\n />\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n End Date:\r\n \r\n \r\n \r\n {(isDisabledOption) ? (\r\n <>\r\n {state.endDate ? (\r\n \r\n ) : (\r\n \"--\"\r\n )}\r\n \r\n ) : (\r\n \r\n {\r\n setState({\r\n ...state,\r\n endDate: date,\r\n });\r\n setIsExpired(new Date() > date);\r\n setErrorState({\r\n ...stateError,\r\n endDateErr: !date,\r\n });\r\n }}\r\n minDate={moment(state.startDate).add(1, \"d\").toDate()}\r\n popperPlacement=\"bottom\"\r\n />\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Created Date:\r\n \r\n \r\n \r\n {state.createDate ? (\r\n \r\n ) : (\r\n \"--\"\r\n )}\r\n \r\n \r\n \r\n Modified Date:\r\n \r\n \r\n \r\n {state.modifiedDate ? (\r\n \r\n ) : (\r\n \"--\"\r\n )}\r\n \r\n \r\n\r\n \r\n \r\n\r\n }\r\n\r\n {\r\n activeTabName === `startup` &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n activeTabName === `checkout` &&\r\n \r\n \r\n \r\n }\r\n {\r\n activeTabName === `emails` &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n {!isReadOnly ? (\r\n
\r\n {\r\n onSaveBtnClick(false)\r\n }}\r\n >\r\n \r\n
\r\n {\r\n !isPagesTab &&\r\n {\r\n onSaveBtnClick(true)\r\n }}\r\n >\r\n \r\n \r\n }\r\n \r\n ) : (\r\n
\r\n {\r\n if (!isNoEdit && !isUserViewer) {\r\n setReadOnly(false);\r\n }\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n showMessagePopup(false)}\r\n />\r\n\r\n {isShowConfirmExitPopup && (\r\n \r\n )}\r\n\r\n {isRequiredFieldsNotFilled && (\r\n \r\n )}\r\n\r\n\r\n \r\n );\r\n};\r\n","import React, {useCallback, useEffect, useMemo, useState} from \"react\";\r\nimport styles from \"./pages.module.scss\"\r\nimport {ReactComponent as DeleteIcon} from \"../../../assets/editors/delete_icon.svg\"\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {Page} from \"./page/page\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n changeQualificationStatusForPage,\r\n deleteImagesFromPages,\r\n deletePageFromPages,\r\n insertPageToFlyer, movePageBeforeInFlyer, setSelectedPageForTabs, uploadImagesToPages\r\n} from \"../../../store/actionCreators/pagesActionCreators\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {ActionType} from '../../../store/actionTypes';\r\nimport StatusPopup, {StatusPopupType} from \"../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"./getSetttingsForPopup\";\r\nimport LabelFileSelector from \"../../../com/labelFileSelector/LabelFileSelector\";\r\nimport {FlyerPageDto, SelectPageForTabsDto, UserDto} from \"../../../dtos\";\r\nimport {updateFlyerDetailsState} from \"../../../store\";\r\nimport {Box, Button, Grid, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {QualityCheck} from \"../../../com/qualityCheck/qualityCheck\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {startUploadingImagesProgressPopup} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {FlyerDetailsRightPanel} from \"../flyerDetailsPopup/flyerDetailsRightPanel\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport {toggleFlyerRightPanel} from \"../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n contentPagesWrapper: {\r\n height: \"auto\",\r\n maxHeight: \"100%\",\r\n // flex: \"1 1 auto\",\r\n overflow: \"auto\",\r\n // display: \"flex\",\r\n // flexFlow: \"row\",\r\n // flexWrap: \"wrap\",\r\n // columnGap: \"2%\",\r\n // rowGap: \"2%\",\r\n // margin: \"5px 10px 0\",\r\n padding: \"12px\",\r\n marginTop: \"0!important\",\r\n // \"&::-webkit-scrollbar\": {\r\n // width: \"12px\",\r\n // },\r\n //\r\n // \"&::-webkit-scrollbar-track\": {\r\n // WebkitBoxShadow: \"inset 0 0 6px rgba(0, 0, 0, 0.3)\",\r\n // borderRadius: \"10px\",\r\n // },\r\n //\r\n // \"&::-webkit-scrollbar-thumb\": {\r\n // borderRadius: \"10px\",\r\n // WebkitBoxShadow: \"inset 0 0 6px rgba(0, 0, 0, 0.5)\",\r\n // }\r\n }\r\n}))\r\n\r\n\r\nexport interface PagesDataStateDto {\r\n selectedPages: FlyerPageDto[];\r\n lastSelectedPage: FlyerPageDto[];\r\n pagesFlyer: FlyerPageDto[];\r\n pageNoForMoveBefore: number;\r\n dataForUploadImageToPage: DataForUpload;\r\n notLoaderPagesImagesCodes: NotLoaderArray[];\r\n isRemoveAllPagesFromFlyer: boolean;\r\n isSelectedAll: boolean;\r\n isDoubleClick?: boolean;\r\n}\r\n\r\nexport interface NotLoaderArray {\r\n index: number;\r\n}\r\n\r\nexport interface DataForUpload {\r\n Images: any,\r\n Pages: any,\r\n UiLanguageCultureCode: string\r\n\r\n}\r\n\r\nexport const Pages = () => {\r\n const dispatch = useDispatch();\r\n const isMd = useMediaQuery(`(max-width:1199px)`);\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const isMdForContent = useMediaQuery(`(max-width:1299px)`);\r\n const isLg = useMediaQuery(`(max-width:1635px)`);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let pagesState = useTypedSelector((state) => state.pages);\r\n let {uploadImagesPopup} = useTypedSelector((state) => state);\r\n let selectedPagesForTabState = useTypedSelector((state) => state.selectPageForTabs);\r\n let {isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n const [pagesDataState, setPagesDataState] = useState({\r\n selectedPages: [],\r\n lastSelectedPage: [],\r\n pagesFlyer: [],\r\n pageNoForMoveBefore: 1,\r\n dataForUploadImageToPage: {\r\n Images: [{}],\r\n Pages: [],\r\n UiLanguageCultureCode: 'en-US'\r\n },\r\n notLoaderPagesImagesCodes: [],\r\n isRemoveAllPagesFromFlyer: false,\r\n isSelectedAll: false,\r\n isDoubleClick: false\r\n });\r\n //states for popups\r\n const [modalSetup, setModalSetup] = useState<{\r\n isOpen: boolean,\r\n modalName: string,\r\n messages: string[],\r\n }>({\r\n isOpen: false,\r\n modalName: \"\",\r\n messages: []\r\n });\r\n const itemsPerPage = 250;\r\n const [hasMore, setHasMore] = useState(true);\r\n const [records, setRecords] = useState(itemsPerPage);\r\n // const [pages, setPages] = useState([]);\r\n\r\n const classes = useStyles();\r\n const rightPanelAnimationTimeInMs = 500;\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n setPagesDataState({\r\n selectedPages: [],\r\n lastSelectedPage: [],\r\n pagesFlyer: [],\r\n pageNoForMoveBefore: 1,\r\n dataForUploadImageToPage: {\r\n Images: [{}],\r\n Pages: [],\r\n UiLanguageCultureCode: 'en-US'\r\n },\r\n notLoaderPagesImagesCodes: [],\r\n isRemoveAllPagesFromFlyer: false,\r\n isSelectedAll: false,\r\n isDoubleClick: false\r\n })\r\n }\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n if (isMd && isShowRightPanel) {\r\n dispatch(toggleFlyerRightPanel())\r\n }\r\n }, [isMd])\r\n\r\n\r\n useEffect(() => {\r\n if (flippingFlyerState.type === ActionType.GET_FLIPPING_FLYER_COMPLETED || flippingFlyerState.type === ActionType.POST_FLIPPING_FLYER_SUCCESS) {\r\n if (!pagesDataState.selectedPages.length && !pagesDataState.lastSelectedPage.length) {\r\n console.log(flyerDetailsState);\r\n setPagesDataState({\r\n ...pagesDataState,\r\n pagesFlyer: flyerDetailsState.flyerPages!.sort(compare),\r\n selectedPages: flyerDetailsState.flyerPages.length\r\n ? [flyerDetailsState.flyerPages[selectedPagesForTabState.pageNo === 0 ? 0\r\n : selectedPagesForTabState.pageNo - 1]] : [],\r\n lastSelectedPage: flyerDetailsState.flyerPages.length\r\n ? [flyerDetailsState.flyerPages[selectedPagesForTabState.pageNo === 0 ? 0 : selectedPagesForTabState.pageNo - 1]]\r\n : [],\r\n });\r\n } else {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n pagesFlyer: flyerDetailsState.flyerPages!,\r\n });\r\n }\r\n }\r\n }, [flyerDetailsState]);\r\n\r\n useEffect(() => {\r\n if (isXs) {\r\n const data = {\r\n pageNo: 0,\r\n selectedTabNum: 0\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n // history.push(`/flyersCatalog`);\r\n }\r\n }, [isXs]);\r\n\r\n\r\n useEffect(() => {\r\n // hideMenu();\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n if (pagesDataState.selectedPages.length) {\r\n if (pagesState.type === ActionType.DELETE_PAGE_SUCCESS) {\r\n const allDeletedPagesNo: any = [];\r\n const newPages = pagesDataState.pagesFlyer?.filter(page => {\r\n const isIncludeInSelectedPages = pagesDataState.selectedPages.some((key: any) => key.flpRecId === page.flpRecId);\r\n if (!isIncludeInSelectedPages) {\r\n return page;\r\n } else {\r\n allDeletedPagesNo.push(page.flpPageNo);\r\n }\r\n }).map((page, index) => {\r\n page.flpPageNo = index + 1;\r\n return page;\r\n });\r\n if (pagesDataState.isRemoveAllPagesFromFlyer) {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: [pagesDataState.selectedPages[0]],\r\n isRemoveAllPagesFromFlyer: false,\r\n pagesFlyer: [pagesDataState.selectedPages[0]]\r\n })\r\n const data = {\r\n pageNo: 0\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n\r\n dispatch(updateFlyerDetailsState({\r\n ...flyerDetailsState,\r\n flyerPages: [pagesDataState.selectedPages[0]]\r\n }));\r\n deleteImagesFromPagesRequest();\r\n } else {\r\n if (allDeletedPagesNo[0] > newPages!.length) {\r\n console.log([newPages![newPages!.length - 1]]);\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: [newPages![newPages!.length - 1]],\r\n pagesFlyer: newPages!\r\n });\r\n const data = {\r\n pageNo: newPages!.length\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } else {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: [newPages![allDeletedPagesNo[0] - 1]],\r\n pagesFlyer: newPages!\r\n });\r\n const data = {\r\n pageNo: allDeletedPagesNo[0]\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n\r\n }\r\n dispatch(updateFlyerDetailsState({\r\n ...flyerDetailsState,\r\n flyerPages: newPages!\r\n }))\r\n\r\n }\r\n } else if (pagesState.type === ActionType.DELETE_PAGE_IMAGE_SUCCESS) {\r\n const newPagesArr = pagesState.data.data;\r\n const newPages = pagesDataState.pagesFlyer?.map(page => {\r\n newPagesArr.forEach((value: any) => {\r\n if (value.flpRecId === page.flpRecId) {\r\n page = value;\r\n return false;\r\n }\r\n })\r\n return page;\r\n });\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: newPagesArr,\r\n pagesFlyer: newPages!\r\n })\r\n dispatch(updateFlyerDetailsState({\r\n ...flyerDetailsState,\r\n flyerPages: newPages!\r\n }))\r\n } else if (pagesState.type === ActionType.MOVE_PAGES_BEFORE_SUCCESS) {\r\n //replace pages which should move\r\n const arrOfPagesAfterDelete = pagesDataState.pagesFlyer?.filter(page => {\r\n const isIncludeInSelectedPages = pagesDataState.selectedPages.some((key: any) => key.flpRecId === page.flpRecId);\r\n return !isIncludeInSelectedPages && page;\r\n })\r\n let targetIndex: number = 0;\r\n arrOfPagesAfterDelete?.forEach((page, index) => {\r\n if (page.flpPageNo === pagesDataState.pageNoForMoveBefore) {\r\n targetIndex = index;\r\n return false;\r\n }\r\n })\r\n //paste paged which should move to new array\r\n arrOfPagesAfterDelete?.splice(targetIndex, 0, ...pagesDataState.selectedPages)\r\n const newPages = arrOfPagesAfterDelete?.map((key, index) => {\r\n key.flpPageNo = index + 1;\r\n return key;\r\n });\r\n setPagesDataState({\r\n ...pagesDataState,\r\n pagesFlyer: newPages!\r\n })\r\n dispatch(updateFlyerDetailsState({\r\n ...flyerDetailsState,\r\n flyerPages: newPages!\r\n }))\r\n } else if (pagesState.type === ActionType.INSERT_PAGE_SUCCESS) {\r\n const newPageObject = pagesState.data.data;\r\n pagesDataState.pagesFlyer?.splice(newPageObject.flpPageNo - 1, 0, newPageObject)\r\n const newPages = pagesDataState.pagesFlyer?.map((key, index) => {\r\n key.flpPageNo = index + 1;\r\n return key;\r\n });\r\n const data = {\r\n pageNo: newPageObject.flpPageNo\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: [newPageObject],\r\n pagesFlyer: newPages!\r\n })\r\n dispatch(updateFlyerDetailsState({\r\n ...flyerDetailsState,\r\n flyerPages: newPages!\r\n }))\r\n } else if (pagesState.type === ActionType.UPLOAD_IMAGES_TO_PAGES_SUCCESS) {\r\n // const newPagesArr = pagesState.data.data;\r\n // const newPages = pagesDataState.pagesFlyer?.map(page => {\r\n // newPagesArr.forEach((value: any) => {\r\n // if (value.flpRecId === page.flpRecId) {\r\n // page = value;\r\n // return false;\r\n // }\r\n // })\r\n // return page;\r\n // });\r\n // console.log(newPages);\r\n // setPagesDataState({\r\n // ...pagesDataState,\r\n // selectedPages: newPagesArr,\r\n // pagesFlyer: newPages!\r\n // })\r\n // dispatch(updateFlyerDetailsState({\r\n // ...flyerDetailsState,\r\n // flyerPages: newPages!\r\n // }))\r\n } else if (pagesState.type === ActionType.CHANGE_QUALIFICATION_STATUS_FOR_PAGES_SUCCESS) {\r\n if (pagesState.data.severityLevel.toLowerCase() === \"info\") {\r\n let messages: string[] = pagesState.data.userFriendlyMessage.split(`\\r\\n`)\r\n .filter((key: any) => key !== '');\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"successfullyUploadWithSomeErrors\",\r\n messages: messages\r\n })\r\n }\r\n\r\n }\r\n }\r\n\r\n }, [pagesState.type]);\r\n\r\n\r\n const compare = (a: any, b: any) => {\r\n if (Number(a.flpPageNo) < Number(b.flpPageNo)) {\r\n return -1;\r\n }\r\n if (Number(a.flpPageNo) > Number(b.flpPageNo)) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (pagesDataState.selectedPages.length === 1 && pagesDataState.isDoubleClick) {\r\n doubleClickOnPage();\r\n }\r\n window.addEventListener('keydown', keydownHandler);\r\n return () => {\r\n window.removeEventListener('keydown', keydownHandler);\r\n }\r\n }, [pagesDataState.selectedPages]);\r\n\r\n const onAddImageToPageFile = (event: React.ChangeEvent) => {\r\n const files = event.target.files!;\r\n const imagesArray = [];\r\n let isOnlyImages = true;\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n imagesArray?.push({\r\n flpCaption: \"\",\r\n flpDisplayCaption: \"\",\r\n flpImage: file.name,\r\n file: file\r\n });\r\n if (file.type === 'application/pdf') {\r\n isOnlyImages = false;\r\n }\r\n }\r\n const data = {\r\n Images: imagesArray,\r\n UiLanguageCultureCode: 'en-US',\r\n Pages: pagesDataState.selectedPages\r\n }\r\n\r\n const itPagesHasThumbnails = pagesDataState.selectedPages?.some((key: any) => key.flyImageThumbnailUrl && key.flyImageThumbnailUrl.indexOf('jpg') > -1);\r\n const isAllSelectedPagesHasNotLoadedImages = pagesDataState.selectedPages?.every((key: any) => pagesDataState.notLoaderPagesImagesCodes.includes(key.flpRecId));\r\n if (imagesArray.length > pagesDataState.selectedPages?.length || imagesArray.length !== pagesDataState.selectedPages?.length && isOnlyImages) {\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"uploadImagesToPageNotEqualSelectedPages\",\r\n messages: []\r\n })\r\n } else {\r\n if (itPagesHasThumbnails && !isAllSelectedPagesHasNotLoadedImages) {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n dataForUploadImageToPage: data\r\n })\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"uploadImageToPage\",\r\n messages: []\r\n })\r\n } else {\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(uploadImagesToPages(data));\r\n }\r\n }\r\n }\r\n\r\n const confirmUploadImageToPage = () => {\r\n dispatch(uploadImagesToPages(pagesDataState.dataForUploadImageToPage));\r\n dispatch(startUploadingImagesProgressPopup());\r\n setModalSetup({\r\n isOpen: false,\r\n modalName: \"\",\r\n messages: []\r\n })\r\n }\r\n\r\n const keydownHandler = (e: any) => {\r\n if (e.code === 'KeyA' && e.ctrlKey) {\r\n e.preventDefault();\r\n if (pagesDataState.selectedPages.length === pagesDataState.pagesFlyer?.length) {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: [],\r\n isSelectedAll: false\r\n })\r\n } else {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: pagesDataState.pagesFlyer,\r\n isSelectedAll: true\r\n })\r\n }\r\n }\r\n }\r\n\r\n const deletePagesPopupConfirm = () => {\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"confirmHardDelete\",\r\n messages: []\r\n })\r\n }\r\n\r\n const deleteImageOrPageConfirm = (): void => {\r\n const hasContent: boolean = pagesDataState.selectedPages.some((page: FlyerPageDto) => page.flyerPageSpots!.length > 0);\r\n const hasImage: boolean = pagesDataState.selectedPages.some((page: FlyerPageDto) => page.flyImageThumbnailUrl! && page.flyImageThumbnailUrl!.indexOf('jpg') > 0);\r\n\r\n if (hasContent) {\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"confirmSoftOrHardDelete\",\r\n messages: []\r\n })\r\n } else if (!hasContent && !hasImage) {\r\n deletePagesPopupConfirm();\r\n } else {\r\n deleteImagesFromPagesRequest();\r\n }\r\n }\r\n const deletePagesRequest = () => {\r\n setModalSetup({\r\n isOpen: false,\r\n modalName: \"\",\r\n messages: []\r\n })\r\n let onlyIds: string[] = [];\r\n pagesDataState.selectedPages.forEach((value: any) => {\r\n onlyIds.push(value.flpRecId)\r\n })\r\n if (pagesDataState.selectedPages.length === pagesDataState.pagesFlyer.length) {\r\n const arrayForDelete = onlyIds.slice(1);\r\n setPagesDataState({\r\n ...pagesDataState,\r\n isRemoveAllPagesFromFlyer: true\r\n })\r\n dispatch(deletePageFromPages({pages: arrayForDelete, uiLanguageCultureCode: \"en-US\"}));\r\n } else {\r\n dispatch(deletePageFromPages({pages: onlyIds, uiLanguageCultureCode: \"en-US\"}));\r\n }\r\n }\r\n\r\n const deleteImagesFromPagesRequest = () => {\r\n let onlyIds: string[] = [];\r\n pagesDataState.selectedPages.forEach((page: any) => {\r\n onlyIds.push(page.flpRecId);\r\n });\r\n setModalSetup({\r\n isOpen: false,\r\n modalName: \"\",\r\n messages: []\r\n })\r\n dispatch(deleteImagesFromPages({pages: onlyIds, uiLanguageCultureCode: \"en-US\"}));\r\n }\r\n\r\n const insertPageRequest = (data: any) => {\r\n const {flyerPages} = flyerDetailsState;\r\n if (flyerPages.length + 1 > 1000) {\r\n setModalSetup({\r\n isOpen: true,\r\n modalName: \"moreThanAllowed\",\r\n messages: []\r\n })\r\n } else {\r\n dispatch(insertPageToFlyer(data));\r\n }\r\n }\r\n const movePageRequest = (event: React.ChangeEvent) => {\r\n event.preventDefault();\r\n const numPageForMove = Number(event.target.value);\r\n setPagesDataState({...pagesDataState, pageNoForMoveBefore: numPageForMove});\r\n let onlyIds: string[] = pagesDataState.selectedPages.map((page: any) => page.flpRecId);\r\n const data = {\r\n pageNo: numPageForMove,\r\n uiLanguageCultureCode: 'en-US',\r\n flyerPages: onlyIds\r\n };\r\n dispatch(movePageBeforeInFlyer(data));\r\n };\r\n\r\n const selectAllHandler = () => {\r\n setPagesDataState({\r\n ...pagesDataState,\r\n selectedPages: pagesDataState.isSelectedAll ? [] : pagesDataState.pagesFlyer,\r\n isSelectedAll: !pagesDataState.isSelectedAll\r\n });\r\n }\r\n const doubleClickOnPage = () => {\r\n try {\r\n const pageNo = pagesDataState.selectedPages[0].flpPageNo!;\r\n const selectedTabNum = 2;\r\n dispatch(setSelectedPageForTabs({pageNo, selectedTabNum}));\r\n } catch (e) {\r\n }\r\n }\r\n const loadMore = () => {\r\n if (records === pagesDataState.pagesFlyer.length) {\r\n setHasMore(false);\r\n } else {\r\n setTimeout(() => {\r\n setRecords(records + itemsPerPage);\r\n }, 200);\r\n }\r\n };\r\n const setDefaultPageNumberForTabs = (pageNumber: number) => {\r\n const data = {\r\n pageNo: pageNumber\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n\r\n }\r\n\r\n\r\n const setActivePages = useCallback((newActivePagesArray: FlyerPageDto[], page: FlyerPageDto | null, isSelectAll: boolean, pageNumberForTab: number | null) => {\r\n setPagesDataState(prevState => {\r\n const {lastSelectedPage} = prevState;\r\n return {\r\n ...prevState,\r\n selectedPages: newActivePagesArray,\r\n lastSelectedPage: page?.flpRecId ? [page] : lastSelectedPage,\r\n isSelectedAll: isSelectAll\r\n };\r\n });\r\n if (pageNumberForTab !== null) {\r\n setDefaultPageNumberForTabs(pageNumberForTab);\r\n }\r\n }, [setPagesDataState, setDefaultPageNumberForTabs]);\r\n\r\n\r\n const showItems = (data: FlyerPageDto[]) => {\r\n let items = [];\r\n if (data.length !== 0) {\r\n for (let i = 0; i < records; i++) {\r\n if (data[i]?.flpRecId) {\r\n // console.log(1);\r\n const columnNumbersWidth = setColumnNumbersWidth(isMd, isLg, isMdForContent, isXs, isSm, isShowRightPanel);\r\n const isActive = isActivePage(pagesDataState, data[i]);\r\n items.push(\r\n \r\n );\r\n }\r\n }\r\n }\r\n return items;\r\n };\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: modalSetup.messages,\r\n modalName: modalSetup.modalName,\r\n confirmOnClick: {\r\n onHardDeleteClick: deletePagesRequest,\r\n onSoftDeleteClick: deleteImagesFromPagesRequest,\r\n onUploadImage: confirmUploadImageToPage\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n const setColumnNumbersWidth = (isMd: boolean, isLg: boolean, isMdForContent: boolean, isXs: boolean, isSm: boolean, isShowRightPanel: boolean): number => {\r\n if (!isShowRightPanel) {\r\n if (isXs) {\r\n return 12;\r\n } else if (isSm) {\r\n return 6;\r\n } else if (isMd) {\r\n return 4;\r\n } else if (isLg) {\r\n return 3;\r\n } else {\r\n return 2.4;\r\n }\r\n } else {\r\n if (!isMd) {\r\n if (isLg && !isMdForContent) {\r\n return 8;\r\n } else if (isMdForContent) {\r\n return 8;\r\n } else {\r\n return 4;\r\n }\r\n } else {\r\n if (isXs) {\r\n return 12;\r\n } else if (isSm) {\r\n return 6;\r\n } else if (isLg || isMdForContent) {\r\n return 4;\r\n } else {\r\n return 4;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const isActivePage = (pagesDataState: PagesDataStateDto, page: FlyerPageDto) => {\r\n return pagesDataState.selectedPages.some(val => val.flpRecId === page.flpRecId);\r\n }\r\n\r\n const isLastSelectedPage = (pagesDataState: PagesDataStateDto, page: FlyerPageDto) => {\r\n return pagesDataState.lastSelectedPage.some(val => val.flpRecId === page.flpRecId);\r\n }\r\n\r\n const approveSelectedPages = () => {\r\n const pagesIdsWhichCanBeChangeQualification: number[] = pagesDataState.selectedPages\r\n .map((page: FlyerPageDto) => page.flpRecId!);\r\n\r\n dispatch(changeQualificationStatusForPage(\r\n pagesIdsWhichCanBeChangeQualification,\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n 2,\r\n // isApproveAll ? 2 : 1,\r\n flyerDetailsState,\r\n ));\r\n }\r\n\r\n const pages = useMemo(() => {\r\n if (pagesDataState.pagesFlyer) {\r\n const columnNumbersWidth = setColumnNumbersWidth(isMd, isLg, isMdForContent, isXs, isSm, isShowRightPanel);\r\n return pagesDataState.pagesFlyer.map((page) => {\r\n const isActive = isActivePage(pagesDataState, page);\r\n return (\r\n \r\n );\r\n });\r\n }\r\n return [];\r\n }, [pagesDataState, isMd, isLg, isMdForContent, isXs, isSm, isShowRightPanel]);\r\n\r\n return (\r\n
\r\n
\r\n {(pagesState.loading || flippingFlyerState.loading) && }\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Upload Page Images\r\n \r\n \r\n
\r\n \r\n \r\n {pagesDataState.pagesFlyer?.length} pages\r\n \r\n \r\n \r\n \r\n \r\n \r\n Approve\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n pagesDataState.pagesFlyer.length > itemsPerPage &&\r\n Loading...}\r\n useWindow={false}\r\n >\r\n \r\n {showItems(pagesDataState.pagesFlyer)}\r\n \r\n \r\n }\r\n {\r\n pagesDataState.pagesFlyer.length <= itemsPerPage &&\r\n \r\n {pages}\r\n \r\n }\r\n\r\n\r\n \r\n \r\n {\r\n !isMd &&\r\n \r\n \r\n \r\n }\r\n \r\n\r\n {modalSetup.isOpen && setModalSetup({\r\n isOpen: false,\r\n modalName: \"\",\r\n messages: []\r\n })\r\n }\r\n />\r\n }\r\n \r\n )\r\n}","\r\nimport './FlyerEditorLeftMenu.scss'\r\nimport {ReactComponent as PlusIcon} from \"../../../../assets/promos&items/icon_plus.svg\";\r\nimport {ClickMenu} from \"../../../../com/clickMenu/clickMenu\";\r\nimport React, {useRef, useState} from \"react\";\r\nimport {ItemsListMenuDto, UserDto} from \"../../../../dtos\";\r\nimport {MENU_LIST_FRAME_ITEMS} from \"../../../../globals/Contants\";\r\nimport styles from './FrameLeftMenu.module.scss'\r\nimport {Button} from \"@mui/material\";\r\n\r\n\r\ninterface IFlyerEditorLeftMenu {\r\n onSpotsFileSelected: (file: File) => void,\r\n}\r\n\r\nexport const FlyerEditorLeftMenu: React.FC = (props) => {\r\n const anchorRef = useRef(null);\r\n const [open, setOpen] = useState(false);\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n\r\n const prevOpen = useRef(open);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n }\r\n\r\n\r\n const clickMenuData: ItemsListMenuDto = {\r\n setOpen: setOpen,\r\n prevOpen: prevOpen,\r\n open: open,\r\n anchorRef: anchorRef,\r\n menuList: MENU_LIST_FRAME_ITEMS\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n FRAMES\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import React, {forwardRef, useEffect, useRef, Ref, useImperativeHandle} from 'react';\r\n\r\nimport createjs from 'createjs-module'\r\nimport {useState} from 'react';\r\n\r\nexport interface ICanvasRef {\r\n addChild: (container: createjs.Container) => void,\r\n reInitCanvas: () => void\r\n}\r\n\r\nexport interface ICanvasProps {\r\n id: string;\r\n width: number;\r\n height: number;\r\n}\r\n\r\nconst Canvas = forwardRef(({id, width, height}: ICanvasProps, ref: Ref) => {\r\n\r\n useImperativeHandle(ref, () => ({addChild, reInitCanvas}));\r\n\r\n const canvasRef = useRef(null)\r\n\r\n const [children, setChildren] = useState([])\r\n\r\n const reInitCanvas = () => {\r\n setChildren([])\r\n }\r\n\r\n const addChild = (container: createjs.Container) => {\r\n\r\n if (canvasRef.current == null) {\r\n return;\r\n }\r\n\r\n setChildren((value: createjs.Container[]) => {\r\n return [...value, container]\r\n });\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (canvasRef.current == null) {\r\n return;\r\n }\r\n\r\n var stage = new createjs.Stage(id);\r\n stage.removeAllEventListeners();\r\n stage.removeAllChildren();\r\n\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n stage.addChild(child);\r\n }\r\n stage.update();\r\n\r\n }, [children])\r\n\r\n\r\n /*\r\n const onCanvasClick = (e: MouseEvent) => {\r\n addRect({\r\n x: Math.random() * width,\r\n y: Math.random() * height,\r\n width: 50,\r\n height: 50\r\n })\r\n }\r\n \r\n\r\n const initCanvas = () => {\r\n if(canvasRef.current == null){\r\n return;\r\n }\r\n //canvasRef.current.style.backgroundColor = \"#ff000099\";\r\n }\r\n\r\n useEffect(() => {\r\n if (!canvasRef.current) {\r\n return;\r\n }\r\n\r\n initCanvas()\r\n\r\n const canvas: HTMLCanvasElement = canvasRef.current;\r\n canvas.addEventListener('click', onCanvasClick);\r\n return () => {\r\n canvas.removeEventListener('click', onCanvasClick);\r\n };\r\n }, [])*/\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n});\r\n\r\nCanvas.defaultProps = {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n};\r\n\r\nexport default Canvas;","import {EventDispatcher} from 'EventDispatcher';\r\nimport {Dictionary} from '../../globals';\r\n\r\n\r\nenum KeyboardManagerEvents {\r\n\r\n}\r\n\r\n// https://www.npmjs.com/package/EventDispatcher\r\n\r\nexport class KeyboardManager {\r\n\r\n public static CTRL_A: string = 'control_a';\r\n public static DELETE: string = 'delete';\r\n public static DELETE2: string = 'backspace';\r\n\r\n public static CTRL_LEFT_MOUSE_CLICK: string = 'control_left_mouse_button';\r\n public static LEFT_ARROW_KEYBOARD_CLICK: string = 'arrowleft';\r\n public static RIGHT_ARROW_KEYBOARD_CLICK: string = 'arrowright';\r\n public static TOP_ARROW_KEYBOARD_CLICK: string = 'arrowup';\r\n public static BOTTOM_ARROW_KEYBOARD_CLICK: string = 'arrowdown';\r\n public static PRESS_UP_ARROWS: string = 'press_up_arrows'\r\n\r\n private _keyStack: Array = [];\r\n private _keysTable: Dictionary = {}\r\n\r\n private _eventTypes: Array = [];\r\n\r\n private _eventDispatcher: EventDispatcher | null;\r\n\r\n private static _instance: KeyboardManager;\r\n\r\n public static getInstance(): KeyboardManager {\r\n if (!this._instance) {\r\n this._instance = new KeyboardManager();\r\n }\r\n\r\n return this._instance;\r\n }\r\n\r\n private constructor() {\r\n\r\n this._eventTypes = [\r\n KeyboardManager.CTRL_A,\r\n KeyboardManager.DELETE,\r\n KeyboardManager.DELETE2,\r\n KeyboardManager.CTRL_LEFT_MOUSE_CLICK,\r\n KeyboardManager.LEFT_ARROW_KEYBOARD_CLICK,\r\n KeyboardManager.RIGHT_ARROW_KEYBOARD_CLICK,\r\n KeyboardManager.TOP_ARROW_KEYBOARD_CLICK,\r\n KeyboardManager.BOTTOM_ARROW_KEYBOARD_CLICK,\r\n KeyboardManager.PRESS_UP_ARROWS\r\n ]\r\n this._eventDispatcher = new EventDispatcher({validEventTypes: this._eventTypes});\r\n\r\n // window.onkeydown = this.onKeyDown.bind(this);\r\n // window.onkeyup = this.onKeyUp.bind(this);\r\n\r\n window.addEventListener(\"keydown\", this.onKeyDown.bind(this))\r\n window.addEventListener(\"keyup\", this.onKeyUp.bind(this))\r\n\r\n window.addEventListener(\"mousedown\", this.onMouseDown.bind(this))\r\n window.addEventListener(\"mouseup\", this.onMouseUp.bind(this))\r\n }\r\n\r\n private onMouseDown(event: MouseEvent) {\r\n\r\n switch (event.which) {\r\n case 1:\r\n // Left Mouse button\r\n this.addCharToKeyStack('left_mouse_button')\r\n break;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private onMouseUp(event: MouseEvent) {\r\n\r\n switch (event.which) {\r\n case 1:\r\n // Left Mouse button\r\n this.removeCharFromKeyStack('left_mouse_button')\r\n break;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public addEventListener(onEventType: string, callback: (event: any) => void) {\r\n this._eventDispatcher!.on(onEventType, callback);\r\n }\r\n\r\n\r\n private dispatchEvent(eventType: string) {\r\n this._eventDispatcher!.trigger(eventType)\r\n }\r\n\r\n onKeyDown = (event: KeyboardEvent) => {\r\n const target = event.target as HTMLInputElement\r\n if (target.nodeName.toLowerCase() !== \"input\" || (target.type !== 'text' && target.type !== 'number')) {\r\n if (event.key === 'a' && event.ctrlKey) {\r\n event.preventDefault();\r\n }\r\n if (event.key) {\r\n let key = event.key.toLowerCase();\r\n\r\n this.addCharToKeyStack(key)\r\n }\r\n }\r\n }\r\n\r\n private addCharToKeyStack(key: string) {\r\n // to avoid push key down for long time\r\n // let lastChar = this._keyStack![this._keyStack!.length - 1]\r\n // if(key !== lastChar){\r\n // this._keyStack!.push(key);\r\n // }\r\n\r\n if (!this._keysTable[key]) {\r\n this._keyStack!.push(key);\r\n this._keysTable[key] = true;\r\n }\r\n\r\n\r\n let eventToDispatch = this.getPossibleEVent();\r\n if (eventToDispatch !== null) {\r\n\r\n this._keysTable = {}\r\n this._keyStack = [];\r\n\r\n //\r\n if (eventToDispatch === KeyboardManager.CTRL_LEFT_MOUSE_CLICK) {\r\n if (key === 'left_mouse_button') {\r\n this._keyStack!.push('control');\r\n this._keysTable[key] = true;\r\n }\r\n }\r\n if (eventToDispatch === KeyboardManager.DELETE) {\r\n // if(eventToDispatch === KeyboardManager.DELETE || eventToDispatch === KeyboardManager.DELETE2) {\r\n this.dispatchEvent(KeyboardManager.DELETE);\r\n } else {\r\n this.dispatchEvent(eventToDispatch);\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n onKeyUp = (event: KeyboardEvent) => {\r\n if (event.key && (event.target as HTMLInputElement).nodeName.toLowerCase() !== 'input') {\r\n let key = event.key.toLowerCase();\r\n\r\n if (\r\n key === 'arrowleft'\r\n || key === 'arrowright'\r\n || key === 'arrowup'\r\n || key === 'arrowdown'\r\n ) {\r\n this.dispatchEvent('press_up_arrows');\r\n } else {\r\n this.removeCharFromKeyStack(key)\r\n }\r\n }\r\n }\r\n\r\n removeCharFromKeyStack(key: string) {\r\n let indexToDelete = this._keyStack!.indexOf(key);\r\n this._keyStack!.splice(indexToDelete, 1);\r\n\r\n delete this._keysTable[key]\r\n\r\n }\r\n\r\n getPossibleEVent() {\r\n let keyStack = this._keyStack;\r\n let eventTypes = this._eventTypes\r\n\r\n let currentStack = this.getCurrentCharsStack();\r\n\r\n let eventToReturn = null;\r\n for (let i = 0; i < eventTypes.length; i++) {\r\n const event = eventTypes[i];\r\n if (event === currentStack) {\r\n eventToReturn = event;\r\n break;\r\n }\r\n }\r\n return eventToReturn;\r\n }\r\n\r\n getCurrentCharsStack() {\r\n\r\n let keyStack = this._keyStack;\r\n\r\n let resultingString = '';\r\n\r\n for (let i = 0; i < keyStack.length; i++) {\r\n const item = keyStack[i];\r\n resultingString += item;\r\n\r\n if (i !== keyStack.length - 1) {\r\n resultingString += '_';\r\n }\r\n }\r\n\r\n return resultingString\r\n }\r\n\r\n dispose() {\r\n // for (let i = 0; i < this._eventTypes.length; i++) {\r\n // const eventType = this._eventTypes[i];\r\n // this._eventDispatcher!.off(eventType)\r\n // }\r\n this._eventDispatcher!.clear();\r\n }\r\n}","\r\nimport { Spot } from '../spot/Spot'\r\n\r\nimport {\r\n createSpots,\r\n updateSpots,\r\n deleteSpots\r\n} from '../../../../../store';\r\nimport {\r\n CreateSpotsRequestDto,\r\n DeleteSpotsRequestDto,\r\n FlyerPageDto,\r\n FlyerPageSpotDto,\r\n UpdateSpotsRequestDto\r\n} from '../../../../../dtos';\r\n\r\nimport {\r\n EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE,\r\n\r\n dispatchEventType,\r\n dispatchEventDataType,\r\n addEventTypeListener,\r\n removeEventTypeListener\r\n} from '../../../../../globals/EventDispatcher'\r\n\r\n\r\nexport class SpotsPersistenceManager {\r\n\r\n private _createdSpots?: Array\r\n private _updatedSpots?: Array\r\n private _deletedSpots?: Array\r\n\r\n constructor() {\r\n\r\n this.reInit();\r\n }\r\n\r\n private reInit() {\r\n this._createdSpots = [];\r\n this._updatedSpots = [];\r\n this._deletedSpots = [];\r\n }\r\n\r\n public prepareSpotsForSaving(dtos: FlyerPageSpotDto[]) {\r\n\r\n this.reInit();\r\n\r\n for (let i = 0; i < dtos.length; i++) {\r\n let dto = dtos[i]\r\n\r\n if (!dto.hasNumber) {\r\n // if spot has no number generated from the renumber/renumber from process \r\n // => don't use it for create/update/delete methods\r\n continue\r\n }\r\n\r\n if (!dto.fpsRecId) {\r\n this._createdSpots?.push(dto)\r\n }\r\n else {\r\n if (dto.isForDeletion) {\r\n this._deletedSpots?.push(dto)\r\n }\r\n else {\r\n this._updatedSpots?.push(dto)\r\n }\r\n }\r\n }\r\n\r\n let hasNewItems = this._createdSpots!.length > 0 || this._updatedSpots!.length > 0 || this._deletedSpots!.length > 0\r\n\r\n if (hasNewItems) {\r\n dispatchEventType(EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE)\r\n }\r\n }\r\n\r\n private async deleteSpotsAsync(dispatch: any) {\r\n return new Promise((resolve, reject) => {\r\n let parsedForDb = DeleteSpotsRequestDto.parseForDB(this._deletedSpots!)\r\n dispatch(deleteSpots(parsedForDb, (successfull: boolean) => {\r\n successfull ? resolve(true) : reject(false)\r\n }));\r\n })\r\n }\r\n\r\n private async updateSpotsAsync(dispatch: any, flyerPageDto: FlyerPageDto) {\r\n return new Promise((resolve, reject) => {\r\n let parsedForDb = UpdateSpotsRequestDto.parseForDB(this._updatedSpots!, flyerPageDto)\r\n dispatch(updateSpots(parsedForDb, (successfull: boolean) => {\r\n successfull ? resolve(true) : reject(false)\r\n }));\r\n })\r\n }\r\n\r\n private async createSpotsAsync(flyerPageId: number, dispatch: any, flyerPage: FlyerPageDto) {\r\n return new Promise((resolve, reject) => {\r\n let parsedForDb = CreateSpotsRequestDto.parseForDB(this._createdSpots!, flyerPageId, flyerPage)\r\n dispatch(createSpots(parsedForDb, (successfull: boolean) => {\r\n successfull ? resolve(true) : reject(false)\r\n }));\r\n })\r\n }\r\n\r\n public async save(flyerPageId: number, dispatch: any, flyerPageDto: FlyerPageDto) {\r\n // 1.\r\n if (this._deletedSpots!.length !== 0) {\r\n await this.deleteSpotsAsync(dispatch)\r\n }\r\n\r\n // 2.\r\n if (this._updatedSpots!.length !== 0) {\r\n await this.updateSpotsAsync(dispatch, flyerPageDto)\r\n }\r\n\r\n // 3.\r\n // createSpots must be called at the end otherwise if we create new spots with existing\r\n // spot number this will produce errors\r\n if (this._createdSpots!.length !== 0) {\r\n await this.createSpotsAsync(flyerPageId, dispatch, flyerPageDto)\r\n }\r\n\r\n this.reInit();\r\n }\r\n\r\n}","\r\nimport createjs, { Point, Shape } from 'createjs-module'\r\n\r\nimport {Dictionary} from '../../../globals'\r\n\r\n\r\n\r\n\r\nexport class CanvasMouseTracker {\r\n\r\n private _stage: createjs.Stage | null = null;\r\n private _imagesDtos: Dictionary | null = null;\r\n\r\n constructor(stage: createjs.Stage) {\r\n this._stage = stage;\r\n\r\n this._imagesDtos = {};\r\n\r\n this._stage.addEventListener(\"stagemousemove\", (event: any) => \r\n {\r\n let keys = Object.keys(this._imagesDtos!);\r\n for (let i = 0; i < keys.length; i++) \r\n {\r\n const key = keys[i];\r\n let dto = this._imagesDtos![key]\r\n\r\n if(!dto) {\r\n continue;\r\n }\r\n\r\n if(this._currentForcedMouseIcon && this._currentForcedMouseIcon.id !== dto.id) \r\n {\r\n if(dto.bitmap!.parent) {\r\n dto.bitmap!.parent.removeChild(dto.bitmap!)\r\n }\r\n continue;\r\n }\r\n\r\n if(!dto.show) {\r\n if(dto.bitmap!.parent) {\r\n dto.bitmap!.parent.removeChild(dto.bitmap!)\r\n }\r\n continue;\r\n }\r\n\r\n let mouseX = event.stageX\r\n let mouseY = event.stageY\r\n\r\n if(!dto.trackedObject) {\r\n\r\n if(!dto.bitmap!.parent) {\r\n this._stage!.addChild(dto.bitmap!)\r\n }\r\n \r\n dto.bitmap!.x = mouseX;\r\n dto.bitmap!.y = mouseY;\r\n }\r\n else { \r\n\r\n if(!this.isAttachedToStageTree(dto.trackedObject)){\r\n // if trackedObject is not part of the stage tree => dont show the cursor\r\n continue;\r\n }\r\n\r\n let coordinates = this.getPositionRelativeToStage(dto.trackedObject);\r\n\r\n if(this.isInsideTrackedObject(dto.trackedObject, mouseX, mouseY)) {\r\n if(!dto.bitmap!.parent) {\r\n if(dto.trackedObject.visible) {\r\n this._stage!.addChild(dto.bitmap!)\r\n }\r\n }\r\n dto.bitmap!.x = coordinates.x + (dto.trackedObject.getBounds().width - dto.bitmap!.getBounds().width) * 0.5;\r\n dto.bitmap!.y = coordinates.y + (dto.trackedObject.getBounds().height - dto.bitmap!.getBounds().height) * 0.5;\r\n }\r\n else {\r\n if(dto.bitmap!.parent) {\r\n this._stage!.removeChild(dto.bitmap!)\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n stage.update();\r\n })\r\n\r\n //\r\n setInterval(() => \r\n {\r\n let keys = Object.keys(this._imagesDtos!);\r\n for (let i = 0; i < keys.length; i++) \r\n {\r\n const key = keys[i];\r\n let dto = this._imagesDtos![key]\r\n\r\n if(!dto) {\r\n continue;\r\n }\r\n\r\n if(dto.trackedObject) \r\n {\r\n if(!dto.trackedObject.visible) \r\n {\r\n if(dto.bitmap!.parent) \r\n {\r\n dto.bitmap!.parent.removeChild(dto.bitmap!)\r\n\r\n // re-render the stage only if something have changed\r\n stage.update();\r\n }\r\n }\r\n }\r\n }\r\n\r\n }, 300);\r\n }\r\n\r\n \r\n isAttachedToStageTree(trackedObject: createjs.DisplayObject) {\r\n\r\n // if we belong to the stage tree => most top parent is the stage\r\n\r\n let currentParent = trackedObject.parent\r\n\r\n while(currentParent) {\r\n currentParent = currentParent.parent;\r\n\r\n if(currentParent === this._stage) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getPositionRelativeToStage(trackedObject: createjs.DisplayObject){\r\n let x0 = trackedObject.x;\r\n let y0 = trackedObject.y;\r\n\r\n let currentParent = trackedObject.parent\r\n\r\n while(currentParent !== trackedObject.stage) {\r\n x0 += currentParent.x;\r\n y0 += currentParent.y;\r\n currentParent = currentParent.parent;\r\n }\r\n return new Point(x0, y0)\r\n }\r\n\r\n isInsideTrackedObject(trackedObject: createjs.DisplayObject, mouseX: number, mouseY: number): boolean {\r\n \r\n let dimensions = trackedObject.getBounds();\r\n let coordinates = this.getPositionRelativeToStage(trackedObject);\r\n\r\n if(mouseX >= coordinates.x && mouseX <= coordinates.x + dimensions.width &&\r\n mouseY >= coordinates.y && mouseY <= coordinates.y + dimensions.height )\r\n { \r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public addMouseIcon(id: string, url: string, trackedObject: createjs.DisplayObject | null= null, onIconReadyCallback?: Function){\r\n \r\n if(this._imagesDtos![id]) {\r\n console.warn(`CanvasMouseTracker:: addMouseIcon(): icon id:${id} already exist`)\r\n return;\r\n }\r\n \r\n let image = new Image();\r\n image.src = url\r\n image.onload = () => {\r\n\r\n let dto = new MouseDto();\r\n dto.id = id;\r\n dto.imageUrl = url;\r\n dto.image = image;\r\n dto.bitmap = new createjs.Bitmap(image);\r\n dto.trackedObject = trackedObject;\r\n\r\n this._imagesDtos![id] = dto\r\n\r\n if(onIconReadyCallback) {\r\n onIconReadyCallback();\r\n }\r\n };\r\n }\r\n\r\n private _currentForcedMouseIcon: MouseDto | null = null;\r\n\r\n public showMouseIcon(id: string, force: boolean = false){\r\n\r\n let nextIcon = this._imagesDtos![id]\r\n\r\n if(nextIcon) {\r\n nextIcon.show = true;\r\n nextIcon.force = force;\r\n if(force){\r\n this._currentForcedMouseIcon = nextIcon;\r\n }\r\n else {\r\n this._currentForcedMouseIcon = null;\r\n }\r\n\r\n if(!nextIcon.trackedObject) {\r\n // if no tracked object => we want to show the mouse icon immediately\r\n this.setCursor('none');\r\n }\r\n }\r\n }\r\n\r\n public setIconForce(id: string, force: boolean){\r\n if(this._imagesDtos![id]){\r\n this._imagesDtos![id].force = force;\r\n }\r\n }\r\n\r\n public hideIcon(id: string){\r\n \r\n const dto = this._imagesDtos![id];\r\n if(dto) {\r\n if(dto.bitmap!.parent) {\r\n dto.bitmap!.parent.removeChild(dto.bitmap!)\r\n }\r\n dto.show = false;\r\n dto.force = false;\r\n\r\n if(this._currentForcedMouseIcon && this._currentForcedMouseIcon.id === dto.id) {\r\n this._currentForcedMouseIcon = null;\r\n }\r\n\r\n this._stage?.update();\r\n\r\n this.setCursor('');\r\n }\r\n }\r\n\r\n public deleteIcon(id: string){\r\n\r\n }\r\n\r\n public hideAllIcon(){\r\n \r\n let keys = Object.keys(this._imagesDtos!);\r\n for (let i = 0; i < keys.length; i++) {\r\n const key = keys[i];\r\n const dto = this._imagesDtos![key];\r\n if(dto.bitmap!.parent) {\r\n dto.bitmap!.parent.removeChild(dto.bitmap!)\r\n }\r\n dto.show = false;\r\n }\r\n\r\n this._stage?.update();\r\n\r\n this.setCursor('');\r\n }\r\n\r\n // possible options\r\n // https://stackoverflow.com/questions/3087975/how-to-change-the-cursor-into-a-hand-when-a-user-hovers-over-a-list-item\r\n public showMouseCursor(cursor: string){\r\n this.hideIcon(cursor);\r\n this.setCursor(cursor);\r\n }\r\n\r\n public hideMouseCursor(){\r\n this.setCursor('');\r\n }\r\n\r\n private setCursor(value: string){\r\n let stageAny: any = this._stage!;\r\n stageAny.canvas.style.cursor = value\r\n }\r\n\r\n public dispose() {\r\n \r\n }\r\n}\r\n\r\nexport class MouseDto {\r\n id?: string;\r\n imageUrl?: string;\r\n image?: HTMLImageElement;\r\n bitmap?: createjs.Bitmap;\r\n trackedObject?: createjs.DisplayObject | null;\r\n show: boolean = false;\r\n force: boolean = false;\r\n}\r\n\r\n","\r\n\r\nimport createjs, { Shape } from 'createjs-module'\r\nimport {CanvasMouseTracker} from '../../../../../com/canvas/mouseTracker/CanvasMouseTracker'\r\nimport { Dimensions } from '../../../../../globals/Dimensions';\r\n\r\n\r\n\r\nexport class SpotSelectedLayer extends createjs.Container {\r\n \r\n private _topLeftRect: createjs.Shape;\r\n private _topRightRect: createjs.Shape;\r\n private _bottomLeftRect: createjs.Shape;\r\n private _bottomRightRect: createjs.Shape;\r\n\r\n private _canvasMouseTracker: CanvasMouseTracker | null = null;\r\n \r\n constructor() {\r\n super()\r\n\r\n this.addEventListener('added', this.onAddedToStage.bind(this));\r\n this.addEventListener('removed', this.onRemovedFromStage.bind(this));\r\n \r\n let width = 11;\r\n let height = 11;\r\n\r\n //\r\n this._topLeftRect = this.createShape(width, height)\r\n this._topRightRect = this.createShape(width, height)\r\n this._bottomLeftRect = this.createShape(width, height)\r\n this._bottomRightRect = this.createShape(width, height)\r\n\r\n //\r\n this.addChild(this._topLeftRect)\r\n this.addChild(this._topRightRect)\r\n this.addChild(this._bottomLeftRect)\r\n this.addChild(this._bottomRightRect)\r\n\r\n // this._mouseIconManager.trackIcon(\"\", \"\", this._topLeftRect);\r\n // this._mouseIconManager.trackIcon(\"\", \"\", this._topRightRect);\r\n // this._mouseIconManager.trackIcon(\"\", \"\", this._bottomLeftRect);\r\n // this._mouseIconManager.trackIcon(\"\", \"\", this._bottomRightRect);\r\n\r\n }\r\n\r\n private onAddedToStage(event: any){\r\n if (event.target.stage != null) {\r\n this._canvasMouseTracker = new CanvasMouseTracker(this.stage);\r\n // this._canvasMouseTracker.addIcon('framesGridCreationIcon', framesGridCreationIcon)\r\n }\r\n }\r\n\r\n private onRemovedFromStage(){\r\n \r\n }\r\n\r\n private createShape(width: number, height: number){\r\n let shape = new createjs.Shape();\r\n\r\n shape\r\n .graphics\r\n .setStrokeStyle(1) \r\n .beginStroke(\"#18A0FB\")\r\n .beginFill(\"#FFFFFF\")\r\n .drawRect(0, 0, width, height)\r\n .endFill();\r\n\r\n shape.setBounds(0, 0, width, height)\r\n\r\n return shape;\r\n }\r\n\r\n public updatePosition(parentWidth: number, parentHeight: number) {\r\n this._topLeftRect.x = -this._topLeftRect.getBounds().width * 0.5\r\n this._topLeftRect.y = -this._topLeftRect.getBounds().height * 0.5\r\n\r\n this._topRightRect.x = parentWidth - this._topRightRect.getBounds().width * 0.5\r\n this._topRightRect.y = - this._topRightRect.getBounds().height * 0.5\r\n\r\n this._bottomLeftRect.x = - this._bottomLeftRect.getBounds().width * 0.5\r\n this._bottomLeftRect.y = parentHeight - this._bottomLeftRect.getBounds().height * 0.5\r\n\r\n this._bottomRightRect.x = parentWidth - this._bottomRightRect.getBounds().width * 0.5\r\n this._bottomRightRect.y = parentHeight - this._bottomRightRect.getBounds().height * 0.5\r\n }\r\n\r\n setVisible(value: boolean) {\r\n this.visible = value;\r\n this.topLeftRect.visible = value;\r\n this.topRightRect.visible = value;\r\n this.bottomLeftRect.visible = value;\r\n this.bottomRightRect.visible = value;\r\n }\r\n\r\n public get topLeftRect(): createjs.Shape {\r\n return this._topLeftRect;\r\n }\r\n\r\n public get topRightRect(): createjs.Shape {\r\n return this._topRightRect;\r\n }\r\n\r\n public get bottomLeftRect(): createjs.Shape {\r\n return this._bottomLeftRect;\r\n }\r\n\r\n public get bottomRightRect(): createjs.Shape {\r\n return this._bottomRightRect;\r\n }\r\n}","\r\nimport createjs from 'createjs-module'\r\n\r\nexport class StrokedText extends createjs.Container{\r\n\r\n private _background: createjs.Shape | null = null;\r\n\r\n private _text1: createjs.Text;\r\n private _text2: createjs.Text;\r\n\r\n constructor(text: string, font: string, backgroundColor: string, frontColor: string){\r\n super()\r\n\r\n this._text1 = new createjs.Text(text, font, backgroundColor);\r\n this._text1.outline = 2;\r\n\r\n this._text2 = new createjs.Text(text, font, frontColor);\r\n\r\n let bgWidth = this._text1.getBounds().width * 1.8\r\n let bgHeight = this._text1.getBounds().height * 1.2\r\n this.initBackground('#ffffffff', bgWidth, bgHeight);\r\n\r\n this.addChild(this._text1)\r\n this.addChild(this._text2)\r\n\r\n // this.mouseEnabled = false;\r\n this.mouseChildren = false;\r\n\r\n this.setBounds(0, 0, bgWidth, bgHeight)\r\n\r\n this.updateLayout();\r\n }\r\n\r\n private initBackground(fillColor: string, width: number, height: number){\r\n this._background = new createjs.Shape();\r\n this._background!.graphics\r\n .beginFill(fillColor)\r\n .drawRect(0, 0, width, height)\r\n .endFill();\r\n\r\n // to have mouse interactivity the minimum alpha is 0.01\r\n this._background.alpha = 0.01\r\n\r\n // need to set setBounds otherwise getBounds will return null\r\n this._background!.setBounds(0, 0, width, height);\r\n\r\n this.addChild(this._background!)\r\n }\r\n\r\n private updateLayout(){\r\n \r\n let dimensions = this.getBounds();\r\n \r\n let bounds1 = this._text1.getBounds();\r\n let bounds2 = this._text2.getBounds();\r\n\r\n let yOffset = 3;\r\n this._text1.x = (dimensions.width - bounds2.width) * 0.5\r\n this._text1.y = (dimensions.height - bounds2.height) * 0.5 + yOffset\r\n\r\n this._text2.x = this._text1.x + (bounds1.width - bounds2.width) * 0.5\r\n this._text2.y = this._text1.y + (bounds1.height - bounds2.height) * 0.5\r\n }\r\n\r\n public set text(value: string){\r\n this._text1.text = value;\r\n this._text2.text = value;\r\n\r\n this.updateLayout();\r\n }\r\n\r\n public get text(){\r\n return this._text1.text;\r\n }\r\n\r\n}","\r\n\r\nexport class Boundries {\r\n \r\n left?: number;\r\n right?: number;\r\n top?: number;\r\n bottom?: number;\r\n\r\n constructor(){\r\n this.left = 0\r\n this.right = 0\r\n this.top = 0\r\n this.bottom = 0\r\n }\r\n\r\n init(left: number, right: number, top: number, bottom: number) {\r\n this.left = left;\r\n this.right = right;\r\n this.top = top;\r\n this.bottom = bottom;\r\n }\r\n\r\n public retrieve(deltaX: number, deltaY: number): void {\r\n\r\n if(this.left! !== 0) {\r\n this.left! -= deltaX\r\n\r\n if(this.left! < 0) {\r\n this.left! = 0\r\n }\r\n }\r\n\r\n if(this.right! !== 0) {\r\n this.right! -= deltaX\r\n\r\n if(this.right! < 0) {\r\n this.right! = 0\r\n }\r\n }\r\n\r\n if(this.top! !== 0) {\r\n this.top! -= deltaY\r\n\r\n if(this.top! < 0) {\r\n this.top! = 0\r\n }\r\n }\r\n\r\n if(this.bottom! !== 0) {\r\n this.bottom! -= deltaY\r\n\r\n if(this.bottom! < 0) {\r\n this.bottom! = 0\r\n }\r\n }\r\n }\r\n}","export default __webpack_public_path__ + \"static/media/bottom_left_to_top_right_scaller.0e2c27db.svg\";","export default __webpack_public_path__ + \"static/media/top_left_to_bottom_right_scaller.d8da95db.svg\";","\r\n\r\n\r\nexport class GlobalIdGenerator {\r\n\r\n private static _instance: GlobalIdGenerator | null = null;\r\n\r\n private _globalId: number = 0;\r\n\r\n public static getInstance(){\r\n if(this._instance === null){\r\n this._instance = new GlobalIdGenerator()\r\n }\r\n return this._instance;\r\n }\r\n\r\n public generateId(): string {\r\n this._globalId++;\r\n return this._globalId.toString();\r\n }\r\n}","\r\nimport createjs from 'createjs-module'\r\n\r\nimport { Dimensions } from '../../../../../globals/Dimensions';\r\nimport { SpotSelectedLayer } from './SpotSelectedLayer';\r\n\r\nimport { StrokedText } from '../../../../../com/canvas/strotedText/StrokedText'\r\nimport { Spots } from '../Spots';\r\nimport {FlyerPageSpotDto, FrameIconDataDto} from '../../../../../dtos';\r\n\r\nimport { Boundries } from '../../../../../globals/Boundries'\r\n\r\nimport bottom_left_to_top_right_scaller from '../../../../../assets/editors/spots/bottom_left_to_top_right_scaller.svg'\r\nimport top_left_to_bottom_right_scaller from '../../../../../assets/editors/spots/top_left_to_bottom_right_scaller.svg'\r\nimport promoIcon from '../../../../../assets/iconStyles/set_1/set_1_Promo.svg'\r\nimport promoJumpToPageIcon from '../../../../../assets/iconStyles/set_1/set_1_Page.svg'\r\nimport promoJumpToUrlIcon from '../../../../../assets/iconStyles/set_1/set_1_Link.svg'\r\nimport promoPlayVideoIcon from '../../../../../assets/iconStyles/set_1/set_1_Video.svg'\r\nimport promoImageIcon from '../../../../../assets/iconStyles/set_1/set_1_Image.svg'\r\nimport promoImage360Icon from '../../../../../assets/iconStyles/set_1/set_1_360.svg'\r\n\r\nimport {\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_PRESS_MOVE,\r\n\r\n dispatchEventDataType,\r\n} from '../../../../../globals/EventDispatcher'\r\n\r\nimport { GlobalIdGenerator } from '../../../../../globals/GlobalIdGenerator'\r\n\r\nexport class Spot extends createjs.Container {\r\n\r\n private _originalX:number = 0;\r\n private _originalY:number = 0;\r\n public _originalWidth: number = 0;\r\n public _originalHeight: number = 0;\r\n private _background: createjs.Shape | null = null;\r\n private _frameIcon: createjs.Bitmap | null = null;\r\n public _frameIconData: FrameIconDataDto | null = null;\r\n public _label: StrokedText | null = null;\r\n private _isSelected: boolean = false;\r\n private _selectedLayer: SpotSelectedLayer | null = null;\r\n public _input: HTMLInputElement | null = null;\r\n private _canvasInput: createjs.DOMElement | null = null;\r\n private _globalId: string | null = null;\r\n private _hasNumber: boolean = false;\r\n private _mainContainer: Spots | null = null;\r\n public _data: FlyerPageSpotDto | null = null;\r\n\r\n constructor(mainContainer: Spots) {\r\n super()\r\n\r\n let golbalId = this._globalId = GlobalIdGenerator.getInstance().generateId();\r\n\r\n this.addEventListener('added', this.onAddedToStage.bind(this));\r\n this.addEventListener('removed', this.onRemovedFromStage.bind(this));\r\n\r\n this._mainContainer = mainContainer;\r\n }\r\n\r\n public get updatedData(): FlyerPageSpotDto{\r\n console.log(`create update spot rectangle`);\r\n let bounds = this.getBounds();\r\n\r\n let data = this._data!;\r\n\r\n data.fpsPositionNo = Number.parseInt(this._label!.text);\r\n data.fpsX0px = this.x;\r\n data.fpsY0px = this.y;\r\n data.fpsWidthPx = bounds.width;\r\n data.fpsHeightPx = bounds.height;\r\n data.fpsIconXPct = this._frameIconData?.iconXPercentageNumber;\r\n data.fpsIconYPct = this._frameIconData?.iconYPercentageNumber;\r\n\r\n //\r\n data.hasNumber = this._hasNumber;\r\n\r\n return data;\r\n }\r\n\r\n public set initialData(value: FlyerPageSpotDto | null){\r\n console.log(`init spot rectangle`);\r\n this._data = value;\r\n\r\n if(this._data?.hasNumber) {\r\n this._hasNumber = true;\r\n this._label!.text = this._data.fpsPositionNo!.toString();\r\n }\r\n }\r\n\r\n public get initialData(){\r\n return this._data;\r\n }\r\n\r\n private onAddedToStage(event: any)\r\n {\r\n if (event.target.stage != null)\r\n {\r\n this.initIconsManagement()\r\n\r\n document.getElementsByClassName('canvas_container')[0].appendChild(this._input!);\r\n }\r\n }\r\n\r\n private initIconsManagement(){\r\n\r\n let golbalId = this._globalId\r\n\r\n let mouseTracker = this._mainContainer!.canvasMouseTracker!;\r\n\r\n // topLeftRectScaller\r\n mouseTracker.addMouseIcon(\r\n 'topLeftRectScaller' + golbalId,\r\n top_left_to_bottom_right_scaller,\r\n this._selectedLayer!.topLeftRect,\r\n () => {\r\n mouseTracker.showMouseIcon('topLeftRectScaller' + golbalId);\r\n }\r\n )\r\n\r\n // bottomRightRectScaller\r\n mouseTracker.addMouseIcon(\r\n 'bottomRightRectScaller' + golbalId,\r\n top_left_to_bottom_right_scaller,\r\n this._selectedLayer!.bottomRightRect,\r\n () => {\r\n mouseTracker.showMouseIcon('bottomRightRectScaller' + golbalId);\r\n }\r\n )\r\n\r\n // botomLeftRectScaller\r\n mouseTracker.addMouseIcon(\r\n 'botomLeftRectScaller' + golbalId,\r\n bottom_left_to_top_right_scaller,\r\n this._selectedLayer!.bottomLeftRect,\r\n () => {\r\n mouseTracker.showMouseIcon('botomLeftRectScaller' + golbalId);\r\n }\r\n )\r\n\r\n // topRightRectScaller\r\n mouseTracker.addMouseIcon(\r\n 'topRightRectScaller' + golbalId,\r\n bottom_left_to_top_right_scaller,\r\n this._selectedLayer!.topRightRect,\r\n () => {\r\n mouseTracker.showMouseIcon('topRightRectScaller' + golbalId);\r\n }\r\n )\r\n }\r\n\r\n private onRemovedFromStage(){\r\n try {\r\n document.getElementsByClassName('canvas_container')[0].removeChild(this._input!);\r\n }\r\n catch(e){\r\n\r\n }\r\n }\r\n\r\n public updateOriginalDImensions() {\r\n this._originalWidth = this._background!.getBounds().width;\r\n this._originalHeight = this._background!.getBounds().height;\r\n\r\n\r\n this.setBounds(0, 0, this._originalWidth, this._originalHeight);\r\n }\r\n\r\n init(spotIndex: number, dimensions: Dimensions, frameIconData?: FrameIconDataDto, isSelectedSpot?: boolean) {\r\n if(this._background) {\r\n return;\r\n }\r\n\r\n this._originalWidth = dimensions.width!;\r\n this._originalHeight = dimensions.height!;\r\n this._isSelected = isSelectedSpot ? isSelectedSpot : false\r\n this._background = new createjs.Shape();\r\n this.initBackground(\r\n \"#18A0FB\",\r\n \"#FFFFFF44\",\r\n this._originalWidth,\r\n this._originalHeight\r\n )\r\n this.addChild(this._background);\r\n if(frameIconData){\r\n this._frameIconData = frameIconData;\r\n const icon: string = this.getIconSrcUsingFrameType(frameIconData.type);\r\n this._frameIcon = new createjs.Bitmap(icon);\r\n let frameIcon = this._frameIcon;\r\n this._frameIcon.image.onload = function() {\r\n if(frameIcon.stage){\r\n const frameSizesWxH = 32;\r\n // frameIcon.scaleX = frameSizesWxH/frameIcon.image.width;\r\n // frameIcon.scaleY = frameSizesWxH/frameIcon.image.height;\r\n frameIcon.x = dimensions.width && frameIconData.iconXPercentageNumber && Number(frameIconData.iconXPercentageNumber) ? (dimensions.width / 100 * frameIconData.iconXPercentageNumber) - (frameSizesWxH/2) : (dimensions.width! / 100 * 50) - (frameSizesWxH/2);\r\n frameIcon.y = dimensions.height && frameIconData.iconYPercentageNumber && Number(frameIconData.iconYPercentageNumber) ? (dimensions.height / 100 * frameIconData.iconYPercentageNumber) - (frameSizesWxH/2) : (dimensions.height! / 100 * 50) - (frameSizesWxH/2);\r\n frameIcon.visible = true;\r\n frameIcon.stage.update();\r\n }\r\n }\r\n // const frameSizesWxH = 32;\r\n // this._frameIcon.x = dimensions.width && frameIconData.iconXPercentageNumber && Number(frameIconData.iconXPercentageNumber) ? (dimensions.width / 100 * frameIconData.iconXPercentageNumber) - (frameSizesWxH / 2) : (dimensions.width! / 100 * 50) - (frameSizesWxH / 2);\r\n // this._frameIcon.y = dimensions.height && frameIconData.iconYPercentageNumber && Number(frameIconData.iconYPercentageNumber) ? (dimensions.height / 100 * frameIconData.iconYPercentageNumber) - (frameSizesWxH / 2) : (dimensions.height! / 100 * 50) - (frameSizesWxH / 2);\r\n this._frameIcon.visible = true;\r\n this.addChild(this._frameIcon);\r\n console.log(this._frameIcon.x);\r\n }\r\n\r\n this._label = new StrokedText(\r\n `${spotIndex}`,\r\n \"bold 26px 'Roboto'\",\r\n \"#FFFFFF\",\r\n \"#262626\"\r\n );\r\n\r\n this._label.mouseChildren = false;\r\n this._label.mouseEnabled = false;\r\n this.addChild(this._label);\r\n\r\n this.createHtmlInput(dimensions);\r\n\r\n this._selectedLayer = new SpotSelectedLayer();\r\n this.addChild(this._selectedLayer);\r\n this._selectedLayer.setVisible(false);\r\n\r\n //\r\n this._selectedLayer.topLeftRect.addEventListener('pressmove', (e: any) => {\r\n let mouseEvent = e as MouseEvent\r\n dispatchEventDataType(EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT, {\r\n spot: this,\r\n mouseEvent: mouseEvent\r\n })\r\n })\r\n\r\n this._selectedLayer.topRightRect.addEventListener('pressmove', (e: any) => {\r\n let mouseEvent = e as MouseEvent\r\n dispatchEventDataType(EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT, {\r\n spot: this,\r\n mouseEvent: mouseEvent\r\n })\r\n })\r\n\r\n this._selectedLayer.bottomLeftRect.addEventListener('pressmove', (e: any) => {\r\n let mouseEvent = e as MouseEvent\r\n dispatchEventDataType(EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT, {\r\n spot: this,\r\n mouseEvent: mouseEvent\r\n })\r\n })\r\n\r\n this._selectedLayer.bottomRightRect.addEventListener('pressmove', (e: any) => {\r\n let mouseEvent = e as MouseEvent\r\n dispatchEventDataType(EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT, {\r\n spot: this,\r\n mouseEvent: mouseEvent\r\n })\r\n })\r\n\r\n //\r\n this.addEventListener('pressmove', (e: any) => {\r\n\r\n if(!this.isSelected) {\r\n return;\r\n }\r\n\r\n let mouseEvent = e as MouseEvent\r\n dispatchEventDataType(EVENT_DATA_TYPE_SPOT_PRESS_MOVE, {\r\n spot: this,\r\n mouseEvent: mouseEvent\r\n })\r\n })\r\n\r\n //\r\n this.updateScale(1, 1);\r\n this.updateLabelPosition();\r\n }\r\n\r\n private createHtmlInput(dimensions: Dimensions){\r\n\r\n this._originalWidth = dimensions.width!;\r\n this._originalHeight = dimensions.height!;\r\n\r\n let inputWidth = this._originalWidth * 0.1;\r\n let inputHeight = this._originalHeight * 0.1;\r\n\r\n this._input = document.createElement('input')\r\n this._input.setAttribute('type', 'text');\r\n this._input.className = `canvas_spot_item_text_input`\r\n this._input.style.height = `${inputHeight}px`;\r\n this._input.style.width = `${inputWidth}px`;\r\n this._input.style.backgroundColor = '#00000000';\r\n this._input.style.color = \"#262626\";\r\n this._input.style.border = '1px solid white';\r\n this._input.style.fontFamily = 'Roboto'\r\n this._input.style.fontSize = '26px'\r\n this._input.style.fontWeight = 'bold'\r\n this._input.style.position = \"absolute\";\r\n this._input.style.textAlign = \"center\";\r\n this._input.style.top = '2px';\r\n this._input.style.left = '2px';\r\n this._input.oninput = this.handleOnInput.bind(this);\r\n document.getElementsByClassName('canvas_container')[0].appendChild(this._input);\r\n\r\n\r\n this._canvasInput = new createjs.DOMElement(this._input);\r\n // canvasInput.x = 20;\r\n // canvasInput.y = 20;\r\n this.addChild(this._canvasInput);\r\n this._canvasInput.visible = false;\r\n\r\n //\r\n //this._label?.addEventListener('click', this.onLabelClick.bind(this))\r\n this._input.addEventListener(\"keyup\", this.onKeyUp.bind(this));\r\n }\r\n\r\n private handleOnInput(){\r\n let nextValue = this._input!.value.replace(/[^0-9]/g, '');\r\n if(nextValue === '0'){\r\n nextValue = '1'\r\n }\r\n else if(nextValue.length > 2){\r\n nextValue = this._input!.value.slice(0, 2);\r\n }\r\n this._input!.value = nextValue;\r\n }\r\n\r\n public showEditMode(value: boolean){\r\n if(value){\r\n this._label!.visible = false;\r\n this._canvasInput!.visible = true;\r\n this._input!.value = this._label!.text;\r\n setTimeout(() => {\r\n this._input!.focus();\r\n }, 0);\r\n }\r\n else {\r\n this._label!.visible = true;\r\n this._canvasInput!.visible = false;\r\n }\r\n\r\n this.stage.update();\r\n }\r\n\r\n private onKeyUp (event: KeyboardEvent) {\r\n // Number 13 is the \"Enter\" key on the keyboard\r\n if (event.keyCode === 13)\r\n {\r\n event.preventDefault();\r\n\r\n let newPositionNumber = this._input!.value;\r\n let alreadyExist = this._mainContainer!.spotsFunctions!.hasPositionNumberAlreadyExist(this, Number.parseInt(newPositionNumber))\r\n if(alreadyExist) {\r\n this._input!.value = '' //this._data!.fpsPositionNo!.toString();\r\n this.stage.update();\r\n alert(`number of ${newPositionNumber} already exist, please enter different number`)\r\n return;\r\n }\r\n\r\n this.showEditMode(false);\r\n\r\n\r\n if(newPositionNumber === '') {\r\n // set old value\r\n newPositionNumber = this._data!.fpsPositionNo!.toString();\r\n // no need to save anything\r\n return;\r\n }\r\n\r\n //\r\n this._label!.text = newPositionNumber;\r\n\r\n //\r\n this._data!.fpsPositionNo = Number.parseInt(newPositionNumber);\r\n let updatedData = this.updatedData\r\n this._mainContainer?.persistenceManager?.prepareSpotsForSaving([updatedData])\r\n\r\n // \r\n this.setSelected(true)\r\n\r\n this.stage.update();\r\n }\r\n }\r\n\r\n public set text(value: string){\r\n this._label!.text = value;\r\n\r\n this.updateLabelPosition();\r\n }\r\n\r\n public get text(){\r\n return this._label!.text;\r\n }\r\n\r\n public get isSelected(){\r\n return this._isSelected;\r\n }\r\n\r\n private initBackground(strokeColor: string, fillColor: string, width: number, height: number){\r\n this._background!.graphics\r\n .setStrokeStyle(3)\r\n .beginStroke(strokeColor)\r\n .beginFill(fillColor)\r\n .drawRect(0, 0, width, height)\r\n .endFill();\r\n\r\n // need to set setBounds otherwise getBounds will return null\r\n this._background!.setBounds(0, 0, width, height);\r\n }\r\n\r\n public showLabel(value: boolean){\r\n this._label!.visible = value;\r\n\r\n if(value){\r\n this._hasNumber = true;\r\n }\r\n }\r\n public showIcon(value: boolean){\r\n this._frameIcon!.visible = value;\r\n }\r\n\r\n public getIconSrcUsingFrameType(frameType: number | null){\r\n const frameIcons = this._mainContainer?._framesIcons || null;\r\n let icon: string;\r\n switch (frameType) {\r\n case 2:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.pageCompSrc : promoJumpToPageIcon;\r\n break;\r\n case 3:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.linkCompSrc : promoJumpToUrlIcon;\r\n break;\r\n case 4:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.videoCompSrc : promoPlayVideoIcon;\r\n break;\r\n case 5:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.imgCompSrc : promoImageIcon;\r\n break;\r\n case 6:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.img360CompSrc : promoImage360Icon;\r\n break;\r\n default:\r\n icon = frameIcons && frameIcons.iconStyleType !== 2 && frameIcons.iconStyleType !== 3 ? frameIcons.iconStyleData.promoCompSrc : promoIcon;\r\n break\r\n }\r\n return icon;\r\n }\r\n\r\n public updateFrameIconImage(frameType: number) {\r\n const frameIconSrc = this.getIconSrcUsingFrameType(frameType);\r\n const image = new Image();\r\n image.src = frameIconSrc;\r\n const frameIcon = this._frameIcon!;\r\n frameIcon.image = image;\r\n frameIcon.image.onload = function() {\r\n if(frameIcon.stage){\r\n frameIcon.stage.update();\r\n }\r\n }\r\n }\r\n\r\n setPosition(x: number, y: number) {\r\n this._originalX = x;\r\n this._originalY = y;\r\n }\r\n\r\n public updateScale(scaleX: number, scaleY: number) {\r\n // look this\r\n this._background!.graphics.clear()\r\n\r\n if(this._isSelected) {\r\n this.initBackground(\r\n \"#18A0FB\",\r\n \"rgba(240, 202, 33, 0.4)\",\r\n this._originalWidth * scaleX,\r\n this._originalHeight * scaleY\r\n )\r\n }\r\n else {\r\n this.initBackground(\r\n \"#18A0FB\",\r\n \"#FFFFFF44\",\r\n this._originalWidth * scaleX,\r\n this._originalHeight * scaleY\r\n )\r\n }\r\n // need to set setBounds otherwise getBounds will return null\r\n this._background!.setBounds(0, 0, this._originalWidth * scaleX, this._originalHeight * scaleY)\r\n //\r\n this.updateLabelPosition();\r\n this.updateIconPosition();\r\n let minimalSpotDimensions = this._mainContainer!.spotsFunctions!.getMinimalSpotDimensions()\r\n let inputWidth = Math.floor(this._label!.getBounds().width);\r\n let inputHeight = Math.floor(this._label!.getBounds().height);\r\n // let inputWidth = minimalSpotDimensions.width!\r\n // let inputHeight = minimalSpotDimensions.height!\r\n this._input!.style.height = `${inputHeight}px`;\r\n this._input!.style.width = `${inputWidth}px`;\r\n this._input!.style.left = this._label?.x! + 'px';\r\n this._input!.style.top = this._label?.y! + 'px';\r\n // this._input!.style.left = (this._originalWidth * scaleX - inputWidth) * 0.5 + 'px';\r\n // this._input!.style.top = (this._originalHeight * scaleY - inputHeight) * 0.5 + 'px';\r\n const {iconYPercentageNumber, iconXPercentageNumber} = this._frameIconData!;\r\n const iconWidth = 32;\r\n if(iconYPercentageNumber && iconXPercentageNumber){\r\n if((iconYPercentageNumber >= 40 && iconYPercentageNumber <= 60 && iconXPercentageNumber >= 40 && iconXPercentageNumber <= 60)){\r\n if(this._originalWidth * scaleX >= 90 && this._originalHeight * scaleY <= 90){\r\n if(iconXPercentageNumber <= 50){\r\n this._input!.style.left = this._label?.x! + iconWidth + 'px';\r\n } else {\r\n this._input!.style.left = this._label?.x! - iconWidth + 'px';\r\n }\r\n\r\n // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 + 35 + 'px';\r\n }\r\n else if(this._originalWidth * scaleX <= 90 && this._originalHeight * scaleY >= 90){\r\n if(iconYPercentageNumber <= 50){\r\n this._input!.style.top = this._label?.y! + iconWidth + 'px';\r\n } else {\r\n this._input!.style.top = this._label?.y! - iconWidth + 'px';\r\n }\r\n\r\n // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 - 35 + 'px';\r\n }\r\n else if(this._originalWidth * scaleX > 90 && this._originalHeight * scaleY > 90){\r\n if(iconYPercentageNumber >= 50){\r\n this._input!.style.top = this._label?.y! - iconWidth + 'px';\r\n } else {\r\n this._input!.style.top = this._label?.y! + iconWidth + 'px';\r\n }\r\n\r\n // if(iconXPercentageNumber > 50){\r\n // this._input!.style.left = this._label?.x! - 35 + 'px';\r\n // } else {\r\n // this._input!.style.left = this._label?.x! + 35 + 'px';\r\n // }\r\n\r\n // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 - 35 + 'px';\r\n }\r\n // else {\r\n // this._input!.style.top = this._label?.y! + 35 + 'px';\r\n // // this._input!.style.top = (this._originalHeight * scaleY - inputHeight) * 0.5 + 35 + 'px';\r\n // }\r\n }\r\n }\r\n\r\n //\r\n this._selectedLayer!.updatePosition(this._background!.getBounds().width, this._background!.getBounds().height)\r\n\r\n // important to update Bounds otherwise the getBounds() will return wrong values\r\n this.setBounds(0, 0, this._originalWidth * scaleX, this._originalHeight * scaleY);\r\n //look this\r\n }\r\n\r\n public updateLabelPosition(data?: FrameIconDataDto){\r\n let backgroundBounds = this._background!.getBounds();\r\n let labelBounds = this._label!.getBounds();\r\n this._label!.x = backgroundBounds.width * 0.5 - labelBounds.width * 0.5;\r\n this._label!.y = backgroundBounds.height * 0.5 - labelBounds.height * 0.5;\r\n this._frameIcon!.alpha = 1;\r\n const iconSize = 32 + 4;\r\n const {iconYPercentageNumber, iconXPercentageNumber} = data ? data : this._frameIconData!;\r\n if(iconYPercentageNumber && iconXPercentageNumber){\r\n if((iconYPercentageNumber >= 40 && iconYPercentageNumber <= 60 && iconXPercentageNumber >= 40 && iconXPercentageNumber <= 60)){\r\n if(backgroundBounds.width >= 90 && backgroundBounds.height <= 90){\r\n if(iconXPercentageNumber <= 50){\r\n this._label!.x = this._label!.x + iconSize;\r\n } else {\r\n this._label!.x = this._label!.x - iconSize;\r\n }\r\n // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 + 35 + 'px';\r\n }\r\n else if(backgroundBounds.width <= 90 && backgroundBounds.height >= 90){\r\n if(iconYPercentageNumber <= 50){\r\n this._label!.y = this._label?.y! + iconSize;\r\n } else {\r\n this._label!.y = this._label?.y! - iconSize;\r\n }\r\n\r\n // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 - 35 + 'px';\r\n }\r\n else if(backgroundBounds.width > 90 && backgroundBounds.height > 90){\r\n if(iconYPercentageNumber > 50){\r\n this._label!.y = this._label!.y - iconSize;\r\n } else {\r\n this._label!.y = this._label!.y + iconSize;\r\n }\r\n // if(iconXPercentageNumber >= 50){\r\n // this._label!.x = this._label!.x - 36;\r\n // } else {\r\n // this._label!.x = this._label!.x + 36;\r\n // }\r\n }\r\n\r\n // else if(backgroundBounds.width > 60 && backgroundBounds.height > 50 ){\r\n // this._label!.x = this._label!.x + 36;\r\n // // this._input!.style.left = (this._originalHeight * scaleY - inputHeight) * 0.5 - 35 + 'px';\r\n // }\r\n // else {\r\n // this._label!.y = this._label!.y + 36;\r\n // }\r\n\r\n }\r\n }\r\n\r\n if(backgroundBounds.width <= 90 && backgroundBounds.height <= 90){\r\n this._frameIcon!.alpha = 0.5;\r\n }\r\n }\r\n\r\n public updateIconPosition(data?: FrameIconDataDto){\r\n if(this._frameIcon && this._frameIcon!.getBounds()){\r\n let backgroundBounds = this._background!.getBounds();\r\n const iconSize = 32;\r\n const {iconYPercentageNumber, iconXPercentageNumber} = data ? data : this._frameIconData!;\r\n if(iconYPercentageNumber && iconXPercentageNumber){\r\n this._frameIcon.x = backgroundBounds.width && iconXPercentageNumber && Number(iconXPercentageNumber) ? (backgroundBounds.width / 100 * iconXPercentageNumber) - (iconSize / 2) : (backgroundBounds.width! / 100 * 50) - (iconSize / 2);\r\n this._frameIcon.y = backgroundBounds.height && iconYPercentageNumber && Number(iconYPercentageNumber) ? (backgroundBounds.height / 100 * iconYPercentageNumber) - (iconSize / 2) : (backgroundBounds.height! / 100 * 50) - (iconSize / 2);\r\n }\r\n\r\n }\r\n }\r\n\r\n public updatePositionByScale(scaleX: number, scaleY: number) {\r\n this.x = this._originalX * scaleX\r\n this.y = this._originalY * scaleY\r\n }\r\n\r\n public setSelected(value: boolean, isDisabledZoom: boolean = true){\r\n this._isSelected = value;\r\n let bgBounds = this._background!.getBounds();\r\n if(isDisabledZoom){\r\n this._selectedLayer!.setVisible(value);\r\n }\r\n\r\n if(this._isSelected) {\r\n\r\n this._background!.graphics.clear();\r\n\r\n this.initBackground(\r\n \"#18A0FB\",\r\n \"rgba(240, 202, 33, 0.4)\",\r\n bgBounds.width,\r\n bgBounds.height\r\n )\r\n\r\n this._selectedLayer!.updatePosition(bgBounds.width, bgBounds.height);\r\n\r\n }\r\n else {\r\n this._background!.graphics.clear();\r\n\r\n this.initBackground(\r\n \"#18A0FB\",\r\n \"#FFFFFF44\",\r\n bgBounds.width,\r\n bgBounds.height\r\n )\r\n\r\n this._background!.setBounds(0, 0, bgBounds.width, bgBounds.height);\r\n }\r\n\r\n }\r\n\r\n public getBoundaries(): Boundries {\r\n let dto: Boundries = new Boundries()\r\n dto.init(\r\n this.x,\r\n this.x + this.getBounds().width,\r\n this.y,\r\n this.y + this.getBounds().height\r\n )\r\n return dto;\r\n }\r\n\r\n public dispose(){\r\n\r\n try {\r\n document.getElementsByClassName('canvas_container')[0].removeChild(this._input!)\r\n }\r\n catch(e){\r\n\r\n }\r\n\r\n this.removeEventListener('added', this.onAddedToStage.bind(this));\r\n this.removeEventListener('removed', this.onRemovedFromStage.bind(this));\r\n\r\n this._input!.removeEventListener(\"keyup\", this.onKeyUp.bind(this));\r\n\r\n this.removeAllEventListeners();\r\n\r\n this._mainContainer = null;\r\n }\r\n\r\n\r\n public get originalHeight(): number {\r\n return this._originalHeight;\r\n }\r\n public get originalWidth(): number {\r\n return this._originalWidth;\r\n }\r\n\r\n public get hasNumber(): boolean {\r\n return this._hasNumber;\r\n }\r\n}\r\n\r\nexport class SpotModelViewDto {\r\n dto?: FlyerPageSpotDto;\r\n spot?: Spot;\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowLeftSlim(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 52,\n viewBox: \"0 0 22 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9978 50L2.90625 26L19.9978 2\",\n stroke: \"#FFFDF9\",\n strokeWidth: 4\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeftSlim);\nexport default __webpack_public_path__ + \"static/media/arrow_left_slim.b509c228.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/frames_grid_creation_icon.afbae438.svg\";","export default __webpack_public_path__ + \"static/media/no_access.185df7c1.svg\";","export default __webpack_public_path__ + \"static/media/moveFrameIcon.c170d480.svg\";","import createjs from 'createjs-module'\r\n\r\nimport { Spots } from './../spots/Spots'\r\nimport {Spot, SpotModelViewDto} from './spot/Spot'\r\n\r\nimport {\r\n EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED,\r\n EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED,\r\n\r\n dispatchEventType, dispatchEventDataType,\r\n} from '../../../../globals/EventDispatcher'\r\nimport { Dimensions } from '../../../../globals/Dimensions';\r\nimport {FlyerFrameSettingDto, FlyerPageDto, FlyerPageSpotDto, FrameIconDataDto} from '../../../../dtos';\r\n\r\nimport {\r\n FLYER_SPOTS_MIN_HEIGHT_PX,\r\n FLYER_SPOTS_MIN_WIDTH_PX,\r\n getCanvasElementsScales,\r\n} from '../../../../globals'\r\n\r\n\r\nexport class SpotsFunctions{\r\n\r\n private _mainSpotsContainer: Spots | null = null;\r\n\r\n constructor(spotsContainer: Spots) {\r\n this._mainSpotsContainer = spotsContainer;\r\n }\r\n\r\n public deleteSelectedSpots() {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n let innerSpots = mainContainer.innerSpots\r\n\r\n let deletedSpotsDtos: FlyerPageSpotDto[] = []\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n\r\n if(spot.isSelected) \r\n {\r\n spot.parent.removeChild(spot)\r\n let currentDeletedSpots = innerSpots.splice(i, 1);\r\n \r\n let currentDeletedSpotsDtos = currentDeletedSpots.map((spot) => {\r\n let updatedData = spot.updatedData!\r\n updatedData.isForDeletion = true;\r\n return updatedData\r\n })\r\n\r\n deletedSpotsDtos = [\r\n ...deletedSpotsDtos,\r\n ...currentDeletedSpotsDtos\r\n ]\r\n\r\n --i;\r\n }\r\n }\r\n\r\n // if no frames selected\r\n if(!this.hasSelectedSpots()) {\r\n dispatchEventType(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED)\r\n }\r\n\r\n if(innerSpots.length === 0){\r\n let t = \"\";\r\n }\r\n\r\n mainContainer.updateStage();\r\n\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(deletedSpotsDtos);\r\n }\r\n\r\n public selectAllPageSpots(value: boolean, isIgnoreUnselectAll?: boolean) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n let innerSpots = mainContainer.innerSpots\r\n\r\n let totalSelected = 0;\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n\r\n spot.setSelected(value);\r\n spot.updateLabelPosition();\r\n spot.updateIconPosition();\r\n spot.updateFrameIconImage(spot._frameIconData && spot._frameIconData.type ? spot._frameIconData.type : 1)\r\n\r\n if(value) {\r\n totalSelected++;\r\n }\r\n }\r\n\r\n // if no frames selected\r\n if(!value && !isIgnoreUnselectAll) {\r\n dispatchEventType(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED)\r\n }\r\n else {\r\n if(totalSelected > 0){\r\n dispatchEventDataType(EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS, totalSelected === innerSpots.length)\r\n }\r\n }\r\n \r\n mainContainer.updateStage();\r\n }\r\n\r\n public selectFrameUsingFrameDataFromRightPanel(selectedFrame: FlyerPageSpotDto) {\r\n let mainContainer = this._mainSpotsContainer!;\r\n let innerSpots = mainContainer.innerSpots;\r\n let isSelected = false;\r\n let totalSelected = 0;\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n isSelected = spot._data?.fpsRecId === selectedFrame.fpsRecId;\r\n if(isSelected){\r\n spot.setSelected(isSelected, mainContainer._isDisabledZoom);\r\n mainContainer.addChild(spot);\r\n }\r\n\r\n if(isSelected) {\r\n totalSelected++;\r\n }\r\n }\r\n\r\n // if no frames selected\r\n if(!totalSelected) {\r\n dispatchEventType(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED)\r\n }\r\n else {\r\n if(totalSelected > 0){\r\n dispatchEventDataType(EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS, totalSelected === innerSpots.length)\r\n }\r\n }\r\n\r\n mainContainer.updateStage();\r\n }\r\n\r\n public hasSelectedSpots(){\r\n\r\n let mainContainer = this._mainSpotsContainer\r\n let innerSpots = mainContainer!.innerSpots\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n\r\n if(spot.isSelected){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public selectedSpots(){\r\n let selectedSpotsArray = [];\r\n let mainContainer = this._mainSpotsContainer\r\n let innerSpots = mainContainer!.innerSpots\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n if(spot.isSelected){\r\n selectedSpotsArray.push(spot._data);\r\n }\r\n }\r\n\r\n return selectedSpotsArray;\r\n }\r\n\r\n public selectedSpotsDataFromCanvas(){\r\n let selectedSpotsArray = [];\r\n let mainContainer = this._mainSpotsContainer\r\n let innerSpots = mainContainer!.innerSpots\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const spot = innerSpots[i];\r\n if(spot.isSelected){\r\n selectedSpotsArray.push(spot);\r\n }\r\n }\r\n\r\n return selectedSpotsArray;\r\n }\r\n\r\n public putSelectedSpotsChildrenOnTop() {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const spot = mainContainer.innerSpots[i];\r\n\r\n if (spot.isSelected) {\r\n mainContainer.addChild(spot)\r\n }\r\n }\r\n }\r\n\r\n public extractSpotsFromTheirContainer(currentSpotsContainer: Spots) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(!currentSpotsContainer) {\r\n return;\r\n }\r\n\r\n let createdSpotsDtos: FlyerPageSpotDto[] = []\r\n\r\n const x0 = currentSpotsContainer.x;\r\n const y0 = currentSpotsContainer.y;\r\n\r\n let totalSpots = 0;\r\n for (let i = 0; i < currentSpotsContainer.children.length; i++) {\r\n const child = currentSpotsContainer.children[i];\r\n \r\n if (child instanceof Spot) {\r\n const childDimensions = child.getBounds();\r\n child.x = x0 + child.x;\r\n child.y = y0 + child.y;\r\n mainContainer.addChild(child)\r\n totalSpots++;\r\n --i;\r\n\r\n mainContainer.innerSpots.push(child);\r\n\r\n createdSpotsDtos.push(child.updatedData)\r\n }\r\n } \r\n\r\n //\r\n mainContainer.currentSpotsContainer!.innerSpots = [];\r\n mainContainer.currentSpotsContainer = null;\r\n\r\n //\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(createdSpotsDtos);\r\n }\r\n\r\n public createSpot = (spotIndex: number, dimensions: Dimensions, frameIconData?: FrameIconDataDto, isSelectedSpot?: boolean): Spot => {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n var spot = new Spot(mainContainer)\r\n spot.init(spotIndex, dimensions, frameIconData, isSelectedSpot)\r\n spot.setPosition(dimensions.x!, dimensions.y!)\r\n spot.x = dimensions.x!;\r\n spot.y = dimensions.y!;\r\n\r\n return spot;\r\n }\r\n\r\n public hasAllSpotsSelected(){\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(!mainContainer.isPageContainer) {\r\n return this.hasSpotsContainerSelected(mainContainer);\r\n }\r\n\r\n //\r\n if(mainContainer.innerSpots.length === 0){\r\n return false;\r\n }\r\n\r\n let isAllSelected: boolean = true;\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const spot = mainContainer.innerSpots[i];\r\n\r\n if(!spot.isSelected){\r\n isAllSelected = false;\r\n }\r\n }\r\n\r\n return isAllSelected;\r\n }\r\n\r\n public hasSpotsContainerSelected(container: Spots) {\r\n\r\n let totalSelected = 0;\r\n\r\n for (let i = 0; i < container.children.length; i++) {\r\n const child = container.children[i]\r\n\r\n if(child instanceof Spot) {\r\n if(child.isSelected) {\r\n totalSelected++;\r\n }\r\n }\r\n }\r\n\r\n // Shape + Spot\r\n if(container.children.length === 2) {\r\n if(totalSelected === 1) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public createRedStroke(x: number, y: number, width: number, height: number): createjs.Shape {\r\n let shape = new createjs.Shape();\r\n\r\n shape.graphics\r\n .setStrokeStyle(2)\r\n .setStrokeDash([10, 10])\r\n .beginStroke('red')\r\n .drawRect(0, 0, width, height)\r\n .endFill();\r\n\r\n shape.x = x;\r\n shape.y = y;\r\n\r\n return shape\r\n }\r\n\r\n public initSpotsDtos(flyerPageDto: FlyerPageDto, originalPageWidth: number, originalPageHeight: number, isHorizontalOrientationForFrames: boolean, isSelectedAllFramesModeOn: boolean, selectedFrames?: FlyerPageSpotDto[]) {\r\n let spotsDtos: FlyerPageSpotDto[] = flyerPageDto.flyerPageSpots!\r\n let modelViewDtos: SpotModelViewDto[] = []\r\n for (let i = 0; i < spotsDtos.length; i++) {\r\n const dto = spotsDtos[i];\r\n dto.hasNumber = true;\r\n modelViewDtos.push({\r\n dto: dto,\r\n spot: undefined\r\n })\r\n }\r\n\r\n let reOrderedDtos = this.getReorderedSpotsDtos(modelViewDtos, isHorizontalOrientationForFrames);\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n mainContainer.innerSpots = []\r\n\r\n // TODO: we need to keep it globaly and not calculate it each time\r\n let scaleX = mainContainer.pageWidth / flyerPageDto.flpWidthPx!\r\n let scaleY = mainContainer.pageHeigth / flyerPageDto.flpHeightPx!\r\n\r\n\r\n for (let i = 0; i < reOrderedDtos.length!; i++) {\r\n const mvDto: SpotModelViewDto = reOrderedDtos[i];\r\n const spotDto = mvDto.dto!\r\n \r\n // when we test for collision we use also equality\r\n // so to avoid collision between spots we need to add initial\r\n // smal gap/offset\r\n let offset = 0.001\r\n\r\n let dimensions: Dimensions = {\r\n x: (spotDto.fpsX0px! + offset) * scaleX,\r\n y: (spotDto.fpsY0px! + offset) * scaleY,\r\n width: (spotDto.fpsWidthPx! - 2.0 * offset) * scaleX,\r\n height: (spotDto.fpsHeightPx! - 2.0 * offset) * scaleY\r\n }\r\n\r\n let frameIconData: FrameIconDataDto = {\r\n iconXPercentageNumber: spotDto.fpsIconXPct ? spotDto.fpsIconXPct : 50,\r\n iconYPercentageNumber: spotDto.fpsIconYPct ? spotDto.fpsIconYPct : 50,\r\n type: spotDto.fpsFrameType ? spotDto.fpsFrameType : 1\r\n }\r\n let isSelectedSpot = false;\r\n if(selectedFrames && selectedFrames.length > 0){\r\n const findSelectedSpot = selectedFrames.find((frame: FlyerPageSpotDto) => frame.fpsRecId === spotDto.fpsRecId);\r\n if(findSelectedSpot){\r\n isSelectedSpot = true;\r\n }\r\n }\r\n let spot = this.createSpot(i + 1, dimensions, frameIconData, isSelectedSpot);\r\n spot.x = dimensions.x!;\r\n spot.y = dimensions.y!;\r\n\r\n //\r\n let dto: FlyerPageSpotDto = {\r\n ...spotDto,\r\n fpsX0px: dimensions.x,\r\n fpsY0px: dimensions.y,\r\n fpsWidthPx: dimensions.width,\r\n fpsHeightPx: dimensions.height\r\n }\r\n spot.initialData = dto;\r\n if(i === 0 && (selectedFrames && selectedFrames.length === 0)){\r\n spot.setSelected(true, mainContainer._isDisabledZoom);\r\n }\r\n\r\n\r\n if(isSelectedAllFramesModeOn){\r\n spot.setSelected(true, mainContainer._isDisabledZoom);\r\n }\r\n\r\n //\r\n mainContainer.addChild(spot)\r\n mainContainer.innerSpots.push(spot)\r\n }\r\n }\r\n\r\n public getMinimalSpotDimensions(): Dimensions {\r\n let realFlyerWidth = this._mainSpotsContainer!._flyerPageDto?.flpWidthPx!\r\n let realFlyerHeight = this._mainSpotsContainer!._flyerPageDto?.flpHeightPx!\r\n\r\n let scale = getCanvasElementsScales(realFlyerWidth, realFlyerHeight);\r\n\r\n let minWidth = FLYER_SPOTS_MIN_WIDTH_PX * scale.scaleX;\r\n let minHeight = FLYER_SPOTS_MIN_HEIGHT_PX * scale.scaleY;\r\n\r\n let dimensions: Dimensions = { width: minWidth, height: minHeight }\r\n\r\n return dimensions;\r\n }\r\n\r\n public getNextGridMinimalDimensions(nextGgridSize: Dimensions): Dimensions {\r\n var rows = nextGgridSize.y!;\r\n var columns = nextGgridSize.x!;\r\n\r\n let realFlyerWidth = this._mainSpotsContainer!._flyerPageDto?.flpWidthPx!\r\n let realFlyerHeight = this._mainSpotsContainer!._flyerPageDto?.flpHeightPx!\r\n\r\n let scale = getCanvasElementsScales(realFlyerWidth, realFlyerHeight);\r\n\r\n let minWidth = FLYER_SPOTS_MIN_WIDTH_PX * scale.scaleX;\r\n let minHeight = FLYER_SPOTS_MIN_HEIGHT_PX * scale.scaleY;\r\n\r\n let gridWidth = columns * minWidth;\r\n let gridHeight = rows * minHeight;\r\n\r\n let dimensions: Dimensions = { width: gridWidth, height: gridHeight }\r\n\r\n return dimensions;\r\n }\r\n\r\n public addInitialGrid(mouseX: number, mouseY: number): Spots {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n var rows = mainContainer.nextGgridSize!.y!;\r\n var columns = mainContainer.nextGgridSize!.x!;\r\n\r\n let realFlyerWidth = this._mainSpotsContainer!._flyerPageDto?.flpWidthPx!;\r\n let realFlyerHeight = this._mainSpotsContainer!._flyerPageDto?.flpHeightPx!;\r\n\r\n let scale = getCanvasElementsScales(realFlyerWidth, realFlyerHeight);\r\n\r\n let minWidth = FLYER_SPOTS_MIN_WIDTH_PX * scale.scaleX;\r\n let minHeight = FLYER_SPOTS_MIN_HEIGHT_PX * scale.scaleY;\r\n\r\n //\r\n let innerSpotsContainer = new Spots(false, columns * minWidth, rows * minHeight)\r\n innerSpotsContainer.innerSpots = []\r\n\r\n // when we test for collision we use also equality\r\n // so to avoid collision between spots we need to add initial\r\n // smal gap/offset\r\n let offset = 0.001\r\n\r\n for (let y = 0; y < rows; y++) {\r\n\r\n for (let x = 0; x < columns; x++) {\r\n\r\n // none zero based\r\n var index = (y * columns + x) + 1\r\n \r\n let dimensions = {\r\n x: x * (minWidth + offset),\r\n y: y * (minHeight + offset),\r\n width: minWidth - 2.0 * offset,\r\n height: minHeight - 2.0 * offset,\r\n }\r\n\r\n let frameIconData: FrameIconDataDto = {\r\n iconXPercentageNumber: 50,\r\n iconYPercentageNumber: 50,\r\n type: 1\r\n }\r\n\r\n let spot = this.createSpot(index, dimensions, frameIconData)\r\n spot.showLabel(false);\r\n spot.showIcon(false);\r\n\r\n //\r\n let dto: FlyerPageSpotDto = {\r\n fpsX0px: dimensions.x,\r\n fpsY0px: dimensions.y,\r\n fpsWidthPx: dimensions.width,\r\n fpsHeightPx: dimensions.height\r\n }\r\n spot.initialData = dto;\r\n\r\n innerSpotsContainer.addChild(spot)\r\n innerSpotsContainer.innerSpots.push(spot)\r\n }\r\n }\r\n\r\n innerSpotsContainer.x = mouseX;\r\n innerSpotsContainer.y = mouseY;\r\n\r\n // to avoid gliches before starting dragging\r\n // in the dragging function we set visible to true\r\n // for the case where it is visible false\r\n innerSpotsContainer.visible = false;\r\n\r\n mainContainer.addChild(innerSpotsContainer);\r\n mainContainer.updateStage()\r\n\r\n mainContainer.currentSpotsContainer = innerSpotsContainer;\r\n\r\n //\r\n dispatchEventType(EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED)\r\n\r\n return innerSpotsContainer;\r\n }\r\n\r\n public getReorderedSpotsDtos(spotsDto: SpotModelViewDto[], isHorizontal?: boolean) {\r\n if (spotsDto.length === 0) {\r\n return spotsDto;\r\n }\r\n let ordered: SpotModelViewDto[] = [];\r\n \r\n spotsDto.sort((mvA: SpotModelViewDto, mvB: SpotModelViewDto) => {\r\n\r\n let a = mvA.dto!\r\n let b = mvB.dto!\r\n if(isHorizontal){\r\n if (a.fpsY0px! < b.fpsY0px!) {\r\n return -1\r\n }\r\n else if (a.fpsY0px! > b.fpsY0px!) {\r\n return 1\r\n }\r\n else {\r\n return 0\r\n }\r\n\r\n } else {\r\n if (a.fpsX0px! < b.fpsX0px!) {\r\n return -1\r\n }\r\n else if (a.fpsX0px! > b.fpsX0px!) {\r\n return 1\r\n }\r\n else {\r\n return 0\r\n }\r\n }\r\n })\r\n \r\n let itemsGroupedByY = new Array>();\r\n if (!itemsGroupedByY[0]) {\r\n itemsGroupedByY[0] = new Array();\r\n }\r\n itemsGroupedByY[0].push(spotsDto[0])\r\n \r\n var index = 0;\r\n for (let i = 0; i < spotsDto.length - 1; i++) {\r\n const currentSpot = spotsDto[i];\r\n const nextSpot = spotsDto[i + 1];\r\n \r\n if (!itemsGroupedByY[index]) {\r\n itemsGroupedByY[index] = new Array();\r\n }\r\n \r\n if (currentSpot.dto!.fpsY0px! === nextSpot.dto!.fpsY0px!) {\r\n itemsGroupedByY[index].push(nextSpot)\r\n }\r\n else {\r\n index++;\r\n if (!itemsGroupedByY[index]) {\r\n itemsGroupedByY[index] = new Array();\r\n }\r\n itemsGroupedByY[index].push(nextSpot)\r\n }\r\n }\r\n \r\n for (let j = 0; j < itemsGroupedByY.length; j++) {\r\n const goupe = itemsGroupedByY[j];\r\n goupe.sort((mvA: SpotModelViewDto, mvB: SpotModelViewDto) => {\r\n let a = mvA.dto!\r\n let b = mvB.dto!\r\n if(isHorizontal){\r\n if (a.fpsX0px! < b.fpsX0px!) {\r\n return -1\r\n }\r\n else if (a.fpsX0px! > b.fpsX0px!) {\r\n return 1\r\n }\r\n else {\r\n return 0\r\n }\r\n } else {\r\n if (a.fpsY0px! < b.fpsY0px!) {\r\n return -1\r\n }\r\n else if (a.fpsY0px! > b.fpsY0px!) {\r\n return 1\r\n }\r\n else {\r\n return 0\r\n }\r\n }\r\n })\r\n }\r\n \r\n for (let i = 0; i < itemsGroupedByY.length; i++) {\r\n const group = itemsGroupedByY[i];\r\n \r\n for (let j = 0; j < group.length; j++) {\r\n const spot = group[j];\r\n ordered.push(spot)\r\n }\r\n \r\n }\r\n \r\n return ordered;\r\n }\r\n\r\n public getModelViewDtos(): SpotModelViewDto[] \r\n {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let spotsDtos: SpotModelViewDto[] = []\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const spot = mainContainer.innerSpots[i];\r\n const spotBounds = spot.getBounds();\r\n\r\n let spotDto: FlyerPageSpotDto | null;\r\n\r\n if(spot.initialData) {\r\n spotDto = spot.initialData\r\n }\r\n else {\r\n spotDto = {\r\n fpsX0px: spot.x,\r\n fpsY0px: spot.y,\r\n fpsWidthPx: spotBounds.width,\r\n fpsHeightPx: spotBounds.height\r\n }\r\n }\r\n\r\n spot.initialData = spotDto\r\n\r\n spotsDtos.push({\r\n dto: spotDto,\r\n spot: spot\r\n })\r\n }\r\n\r\n return spotsDtos;\r\n }\r\n\r\n public getSelectedSpots(selected: boolean): Spot[] {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots: Spot[] = []\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const spot = mainContainer.innerSpots[i];\r\n\r\n if(selected){\r\n if(spot.isSelected){\r\n selectedSpots.push(spot)\r\n }\r\n }\r\n else {\r\n if(!spot.isSelected){\r\n selectedSpots.push(spot)\r\n }\r\n }\r\n }\r\n\r\n return selectedSpots;\r\n }\r\n\r\n public showSpotsLabel(value: boolean){\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const innerSpotsContainer = mainContainer.innerSpots[i];\r\n\r\n for (let j = 0; j < innerSpotsContainer.children.length; j++) {\r\n const child = innerSpotsContainer.children[j];\r\n if (child instanceof Spot) {\r\n child.showLabel(value);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public reNumberAllSpots(isHorizontal: boolean){\r\n let mainContainer = this._mainSpotsContainer!\r\n let spotsDtos: SpotModelViewDto[] = this.getModelViewDtos();\r\n let reOrderedDtos = this.getReorderedSpotsDtos(spotsDtos, isHorizontal);\r\n\r\n for (let i = 0; i < reOrderedDtos.length; i++) {\r\n const mvDto: SpotModelViewDto = reOrderedDtos[i];\r\n mvDto.spot!.text = `${i + 1}`;\r\n mvDto.spot!.showLabel(true);\r\n mvDto.spot!._frameIconData = {\r\n iconXPercentageNumber: Number(mvDto.dto?.fpsIconXPct),\r\n iconYPercentageNumber: Number(mvDto.dto?.fpsIconYPct),\r\n type: Number(mvDto.dto?.fpsFrameType)\r\n }\r\n mvDto.spot!.updateFrameIconImage(mvDto.dto && mvDto.dto.fpsFrameType ? mvDto.dto.fpsFrameType : 1);\r\n mvDto.spot!.showIcon(true);\r\n }\r\n\r\n mainContainer.updateStage();\r\n\r\n //\r\n let itemsToSave: FlyerPageSpotDto[] = reOrderedDtos.map(mvDto => {\r\n let dto = mvDto.spot!.updatedData\r\n return dto\r\n })\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(itemsToSave)\r\n }\r\n\r\n public reNumberAllSpotsWithDataForSelectedFrames(selectedFrames: FlyerPageSpotDto[], newState: FlyerFrameSettingDto, isHorizontalOrientationForFrames: boolean){\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let spotsDtos: SpotModelViewDto[] = this.getModelViewDtos();\r\n let reOrderedDtos = this.getReorderedSpotsDtos(spotsDtos, isHorizontalOrientationForFrames);\r\n\r\n for (let i = 0; i < reOrderedDtos.length; i++) {\r\n const mvDto: SpotModelViewDto = reOrderedDtos[i];\r\n\r\n mvDto.spot!.text = `${i + 1}`;\r\n mvDto.spot!.showLabel(true);\r\n mvDto.spot!.showIcon(true);\r\n const selectedFrameDto = selectedFrames.find((frame) => frame.fpsY0px === mvDto.spot!._data!.fpsY0px && frame.fpsX0px === mvDto.spot?._data?.fpsX0px);\r\n if(selectedFrameDto){\r\n mvDto.spot!._data = {\r\n ...mvDto.spot!._data,\r\n ...newState\r\n }\r\n if(newState.fpsFrameType){\r\n mvDto.spot!.updateFrameIconImage(newState.fpsFrameType);\r\n }\r\n mvDto.spot!._frameIconData = {\r\n iconXPercentageNumber: Number(newState.fpsIconXPct),\r\n iconYPercentageNumber: Number(newState.fpsIconYPct),\r\n type: Number(newState.fpsFrameType)\r\n }\r\n }\r\n\r\n }\r\n mainContainer.updateStage();\r\n\r\n //\r\n let itemsToSave: FlyerPageSpotDto[] = reOrderedDtos.map(mvDto => {\r\n let dto = mvDto.spot!.updatedData\r\n return dto\r\n })\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(itemsToSave)\r\n }\r\n\r\n public changeIconDataForSelectedFrames(data: FrameIconDataDto){\r\n let mainContainer = this._mainSpotsContainer!\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n for (let i = 0; i < selectedSpots.length; i++) {\r\n const selectedSpot = selectedSpots[i];\r\n selectedSpot.updateLabelPosition(data);\r\n selectedSpot.updateIconPosition(data);\r\n selectedSpot.updateFrameIconImage(data.type!);\r\n let minimalSpotDimensions = mainContainer!.spotsFunctions!.getMinimalSpotDimensions()\r\n let inputWidth = selectedSpot._label?.getBounds().width;\r\n let inputHeight = selectedSpot._label?.getBounds().height;\r\n // let inputWidth = minimalSpotDimensions.width!\r\n // let inputHeight = minimalSpotDimensions.height!\r\n selectedSpot._input!.style.height = `${inputHeight}px`;\r\n selectedSpot._input!.style.width = `${inputWidth}px`;\r\n selectedSpot._input!.style.left = selectedSpot._label?.x! + 'px';\r\n selectedSpot._input!.style.top = selectedSpot._label?.y! + 'px';\r\n // const {iconYPercentageNumber, iconXPercentageNumber} = selectedSpot._frameIconData!;\r\n // if(iconYPercentageNumber && iconXPercentageNumber){\r\n // if(iconYPercentageNumber >= 40 && iconYPercentageNumber <= 60 && iconXPercentageNumber >= 40 && iconXPercentageNumber <= 60){\r\n // selectedSpot._input!.style.top = (selectedSpot._originalHeight * scaleY - inputHeight) * 0.5 + 35 + 'px';\r\n //\r\n // }\r\n // }\r\n\r\n // const mvDto: SpotModelViewDto = selectedSpots[i];\r\n //\r\n // mvDto.spot!.text = `${i + 1}`;\r\n // mvDto.spot!.showLabel(true);\r\n // mvDto.spot!.showIcon(true);\r\n // const selectedFrameDto = selectedFrames.find((frame) => frame.fpsY0px === mvDto.spot!._data!.fpsY0px && frame.fpsX0px === mvDto.spot?._data?.fpsX0px);\r\n // if(selectedFrameDto){\r\n // mvDto.spot!._data = {\r\n // ...mvDto.spot!._data,\r\n // ...newState\r\n // }\r\n // if(newState.fpsFrameType){\r\n // mvDto.spot!.updateFrameIconImage(newState.fpsFrameType);\r\n // }\r\n // }\r\n\r\n }\r\n // mainContainer.updateStage();\r\n\r\n }\r\n\r\n public reNumberFrom(isHorizontal: boolean){\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = this.getSelectedSpots(true);\r\n if(selectedSpots.length === 0){\r\n alert('no spot selected, please select one.')\r\n return;\r\n }\r\n else if(selectedSpots.length > 1) {\r\n alert('to renumber from, please select only one spot.')\r\n return;\r\n }\r\n\r\n let fromSelectedSpot = selectedSpots[0];\r\n let minimumIndex: number = Number.parseInt(fromSelectedSpot.text);\r\n\r\n let spotsDtos: SpotModelViewDto[] = this.getModelViewDtos();\r\n let reOrderedDtos = this.getReorderedSpotsDtos(spotsDtos, isHorizontal);\r\n\r\n let hasFoundSelectedSpot = false;\r\n let index = 0;\r\n let notReorderingSpots = [];\r\n for (let i = 0; i < reOrderedDtos.length; i++) {\r\n const mvDto: SpotModelViewDto = reOrderedDtos[i];\r\n\r\n if(mvDto.spot === fromSelectedSpot) {\r\n hasFoundSelectedSpot = true;\r\n }\r\n\r\n if(hasFoundSelectedSpot) {\r\n const someOfNumberFrameAlreadyExistAndCantBeChange = notReorderingSpots.some((noChangeMvDto) => {\r\n return noChangeMvDto.spot!.text === (index + minimumIndex).toString();\r\n })\r\n if(!someOfNumberFrameAlreadyExistAndCantBeChange){\r\n mvDto.spot!.text = `${index + minimumIndex}`;\r\n mvDto.spot!.showLabel(true);\r\n mvDto.spot!._frameIconData = {\r\n iconXPercentageNumber: Number(mvDto.dto?.fpsIconXPct),\r\n iconYPercentageNumber: Number(mvDto.dto?.fpsIconYPct),\r\n type: Number(mvDto.dto?.fpsFrameType)\r\n }\r\n index++;\r\n } else {\r\n while(true){\r\n const someOfNumberFrameAlreadyExistAndCantBeChange = notReorderingSpots.some((noChangeMvDto) => {\r\n return noChangeMvDto.spot!.text === (index + minimumIndex).toString();\r\n })\r\n if(someOfNumberFrameAlreadyExistAndCantBeChange){\r\n index = index + 1\r\n } else {\r\n break;\r\n }\r\n }\r\n mvDto.spot!.text = `${index + minimumIndex}`;\r\n mvDto.spot!.showLabel(true);\r\n mvDto.spot!._frameIconData = {\r\n iconXPercentageNumber: Number(mvDto.dto?.fpsIconXPct),\r\n iconYPercentageNumber: Number(mvDto.dto?.fpsIconYPct),\r\n type: Number(mvDto.dto?.fpsFrameType)\r\n }\r\n index++;\r\n }\r\n } else {\r\n notReorderingSpots.push(mvDto);\r\n }\r\n }\r\n\r\n mainContainer.updateStage();\r\n\r\n //\r\n let itemsToSave: FlyerPageSpotDto[] = reOrderedDtos.map(mvDto => {\r\n let dto = mvDto.spot!.updatedData\r\n return dto\r\n })\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(itemsToSave)\r\n }\r\n\r\n public hasPositionNumberAlreadyExist(spot: Spot, newPositionNumber: number){\r\n let mainContainer = this._mainSpotsContainer!\r\n let innerSpots = mainContainer.innerSpots\r\n\r\n for (let i = 0; i < innerSpots.length; i++) {\r\n const currentSpot = innerSpots[i];\r\n const currentPositionNumber = currentSpot.initialData?.fpsPositionNo;\r\n\r\n if(currentSpot === spot) {\r\n continue;\r\n }\r\n\r\n if(currentPositionNumber && currentPositionNumber === newPositionNumber) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n}","\r\nimport createjs, { Point } from 'createjs-module'\r\n\r\nimport { Spots } from '../Spots'\r\nimport { Spot, SpotModelViewDto } from '../spot/Spot'\r\n\r\nimport * as Globals from '../../../../../globals'\r\n\r\nimport {\r\n FLYER_CANVAS_WIDTH,\r\n FLYER_CANVAS_HEIGHT,\r\n} from '../../../../../globals'\r\nimport { Boundries } from '../../../../../globals/Boundries'\r\n\r\nexport class SpotsCollisionManager {\r\n \r\n constructor() {\r\n \r\n }\r\n\r\n isMinimalGridHasCollisions(mainContainer: Spots, mouseX: any, mouseY: any) {\r\n\r\n let minimalDimensions = mainContainer.spotsFunctions!.getNextGridMinimalDimensions(mainContainer.nextGgridSize!);\r\n\r\n // related to the current grid we are trying to add\r\n let left = mouseX;\r\n let right = mouseX + minimalDimensions.width\r\n let top = mouseY\r\n let bottom = mouseY + minimalDimensions.height\r\n\r\n let boundries1: Boundries = new Boundries();\r\n boundries1.init(left, right, top, bottom);\r\n\r\n let hasIntersections = false;\r\n\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const item = mainContainer.innerSpots[i];\r\n\r\n if (this.isInRangeHorizontally(boundries1, item.getBoundaries())) {\r\n if (this.isInRangeVertically(boundries1, item.getBoundaries())) {\r\n hasIntersections = true;\r\n break; \r\n }\r\n }\r\n }\r\n\r\n if (!hasIntersections) {\r\n // test borders\r\n if (right > FLYER_CANVAS_WIDTH) {\r\n hasIntersections = true;\r\n }\r\n else if (bottom > FLYER_CANVAS_HEIGHT) {\r\n hasIntersections = true;\r\n }\r\n }\r\n\r\n return hasIntersections;\r\n }\r\n\r\n hasCollisionsBetweenSpots(selectedSpots: Spot[], otherSpots: Spot[]): boolean {\r\n\r\n let hasCollisions = false;\r\n\r\n for (let i = 0; i < selectedSpots.length; i++) {\r\n const selectedSpot = selectedSpots[i];\r\n \r\n for (let j = 0; j < otherSpots.length; j++) {\r\n const spot_j = otherSpots[j];\r\n\r\n if(spot_j !== selectedSpot) {\r\n\r\n if (this.isInRangeHorizontally(selectedSpot.getBoundaries(), spot_j.getBoundaries())) {\r\n if (this.isInRangeVertically(selectedSpot.getBoundaries(), spot_j.getBoundaries())) {\r\n hasCollisions = true;\r\n\r\n // for testing only\r\n // this.isInRangeHorizontally(selectedSpot, spot_j)\r\n // this.isInRangeVertically(selectedSpot, spot_j)\r\n\r\n break; \r\n }\r\n }\r\n\r\n if(this.hasPassedAnyBorder(selectedSpot)){\r\n hasCollisions = true;\r\n break; \r\n }\r\n\r\n }\r\n }\r\n }\r\n \r\n\r\n return hasCollisions;\r\n }\r\n\r\n public hasPassedAnyBorder(spot: Spot) {\r\n \r\n let hasCollision = false;\r\n\r\n let left = spot.x\r\n let top = spot.y\r\n\r\n let right = spot.x + spot.getBounds().width\r\n let bottom = spot.y + spot.getBounds().height\r\n\r\n if(left < 0 || top < 0 || right > Globals.FLYER_CANVAS_WIDTH || bottom > Globals.FLYER_CANVAS_HEIGHT) {\r\n hasCollision = true;\r\n }\r\n\r\n return hasCollision\r\n }\r\n\r\n getBoundariesToRetriveToAvoidCanvasBorders(spot: Spot): Boundries {\r\n \r\n let left = spot.x\r\n let top = spot.y\r\n let right = spot.x + spot.getBounds().width\r\n let bottom = spot.y + spot.getBounds().height\r\n\r\n let correctionBoundries: Boundries = new Boundries()\r\n\r\n if(left < 0) {\r\n correctionBoundries.left = Math.abs(left)\r\n }\r\n\r\n if(top < 0) {\r\n correctionBoundries.top = Math.abs(top)\r\n }\r\n\r\n if(right > Globals.FLYER_CANVAS_WIDTH) {\r\n correctionBoundries.right = Math.abs(right - Globals.FLYER_CANVAS_WIDTH)\r\n }\r\n\r\n if(bottom > Globals.FLYER_CANVAS_HEIGHT) {\r\n correctionBoundries.bottom = Math.abs(bottom - Globals.FLYER_CANVAS_HEIGHT)\r\n }\r\n\r\n return correctionBoundries;\r\n }\r\n\r\n private isInRangeHorizontally(boundries1: Boundries, boundries2: Boundries){\r\n\r\n let left = boundries1.left!\r\n let right = boundries1.right!\r\n\r\n let left_i = boundries2.left!\r\n let right_i = boundries2.right!\r\n\r\n let success = false;\r\n\r\n if(left <= left_i && right >= right_i) {\r\n success = true;\r\n }\r\n else if(left <= left_i && right >= left_i && right <= right_i){\r\n success = true;\r\n }\r\n else if(left >= left_i && right <= right_i) {\r\n success = true;\r\n }\r\n else if(left >= left_i && left <= right_i && right >= right_i){\r\n success = true;\r\n }\r\n\r\n return success\r\n }\r\n\r\n private isInRangeVertically(boundries1: Boundries, boundries2: Boundries){\r\n\r\n let top = boundries1.top!\r\n let bottom = boundries1.bottom!\r\n\r\n let top_i = boundries2.top!\r\n let bottom_i = boundries2.bottom!\r\n\r\n let success = false;\r\n\r\n if(top <= top_i && bottom >= bottom_i) {\r\n success = true;\r\n }\r\n else if(top <= top_i && bottom >= top_i && bottom <= bottom_i){\r\n success = true;\r\n }\r\n else if(top >= top_i && bottom <= bottom_i) {\r\n success = true;\r\n }\r\n else if(top >= top_i && top <= bottom_i && bottom >= bottom_i){\r\n success = true;\r\n }\r\n\r\n return success\r\n }\r\n \r\n // private getInternalCollidedObjects(mainContainer: Spots, generatedWidth: number, generatedHeight: number) {\r\n\r\n // let mouseX: number = mainContainer.mouseX0;\r\n // let mouseY: number = mainContainer.mouseY0;\r\n\r\n // // related to the current grid we are trying to add\r\n // let left = mouseX;\r\n // let right = mouseX + generatedWidth\r\n // let top = mouseY\r\n // let bottom = mouseY + generatedHeight\r\n\r\n // let hasIntersections = false;\r\n // let collidedObjects = [];\r\n\r\n // console.log(`---------------------------------------------------`)\r\n // console.log(`${left},${right},${top},${bottom}`)\r\n\r\n // for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n // const item = mainContainer.innerSpots[i];\r\n\r\n // if(item === mainContainer.currentSpotsContainer) {\r\n // continue;\r\n // }\r\n\r\n // // current grid item that is already on screen\r\n // let left_i = item.x;\r\n // let right_i = item.x + item.getBounds().width\r\n // let top_i = item.y\r\n // let bottom_i = item.y + item.getBounds().height\r\n\r\n // console.log(`${left_i},${right_i},${top_i},${bottom_i}`)\r\n\r\n // //\r\n // if (this.isInRangeHorizontally(mouseX, mouseY, generatedWidth, generatedHeight, item)) {\r\n // if (this.isInRangeVertically(mouseX, mouseY, generatedWidth, generatedHeight, item)) {\r\n // hasIntersections = true; \r\n // }\r\n // }\r\n\r\n // if(hasIntersections) {\r\n // hasIntersections = false;\r\n // collidedObjects.push(item)\r\n // }\r\n // }\r\n\r\n // /*\r\n // if (!hasIntersections) {\r\n // // test borders\r\n // if (right2 > FLYER_CANVAS_WIDTH) {\r\n // hasIntersections = true;\r\n // }\r\n // else if (bottom2 > FLYER_CANVAS_HEIGHT) {\r\n // hasIntersections = true;\r\n // }\r\n // }\r\n // */\r\n\r\n // return collidedObjects;\r\n // }\r\n\r\n // private isInRangeHorizontally(x: number, y: number, width: number, height: number, item: createjs.Container){\r\n\r\n // let left = x;\r\n // let right = x + width\r\n // let top = y\r\n // let bottom = y + height\r\n\r\n // let left_i = item.x;\r\n // let right_i = item.x + item.getBounds().width\r\n // let top_i = item.y\r\n // let bottom_i = item.y + item.getBounds().height\r\n\r\n // let success = false;\r\n\r\n // if(left <= left_i && right >= right_i) {\r\n // success = true;\r\n // }\r\n // else if(left <= left_i && right >= left_i && right <= right_i){\r\n // success = true;\r\n // }\r\n // else if(left >= left_i && right <= right_i) {\r\n // success = true;\r\n // }\r\n // else if(left >= left_i && left <= right_i && right >= right_i){\r\n // success = true;\r\n // }\r\n\r\n // return success\r\n // }\r\n\r\n // private isInRangeVertically(x: number, y: number, width: number, height: number, item: createjs.Container){\r\n\r\n // let left = x;\r\n // let right = x + width\r\n // let top = y\r\n // let bottom = y + height\r\n\r\n // let left_i = item.x;\r\n // let right_i = item.x + item.getBounds().width\r\n // let top_i = item.y\r\n // let bottom_i = item.y + item.getBounds().height\r\n\r\n // let success = false;\r\n\r\n // if(top <= top_i && bottom >= bottom_i) {\r\n // success = true;\r\n // }\r\n // else if(top <= top_i && bottom >= top_i && bottom <= bottom_i){\r\n // success = true;\r\n // }\r\n // else if(top >= top_i && bottom <= bottom_i) {\r\n // success = true;\r\n // }\r\n // else if(top >= top_i && top <= bottom_i && bottom >= bottom_i){\r\n // success = true;\r\n // }\r\n\r\n // return success\r\n // }\r\n\r\n\r\n // private handleLiveScallingCollisions(mainContainer: Spots, mouseX: number, mouseY:number, collidedObjects: Spots[]) {\r\n\r\n // let rightCollider = this.getNearestRightColliderObject(mainContainer, collidedObjects)\r\n // let bottomCollider = this.getNearestBottomColliderObject(mainContainer, collidedObjects) \r\n\r\n // if(rightCollider) {\r\n // mouseX = rightCollider.x;\r\n // }\r\n // else {\r\n // this.reInitiRightCollidersState(mainContainer);\r\n // }\r\n\r\n // if(bottomCollider) {\r\n // mouseY = bottomCollider.y;\r\n // }\r\n // else {\r\n // this.reInitiLeftCollidersState(mainContainer);\r\n // }\r\n\r\n\r\n // return new Point(mouseX, mouseY)\r\n\r\n // }\r\n\r\n // getNearestRightColliderObject(mainContainer: Spots, collidedObjects: Spots[]){\r\n\r\n // let smallestX = Number.MAX_VALUE\r\n\r\n // let colliderToReturn: Spots | null = null;\r\n\r\n // for (let i = 0; i < collidedObjects.length; i++) {\r\n // const collider = collidedObjects[i];\r\n\r\n // let lastChange = mainContainer.lastMouseX - collider.x\r\n // let currentChange = mainContainer.currentMouseX - collider.x\r\n\r\n // if(lastChange < 0 && currentChange >= 0) {\r\n // // means that the right side has passed over the left side \r\n // collider.isRightCollider = true;\r\n // }\r\n\r\n // /*if(collider.isRightCollider) {\r\n // if(lastChange >= 0 && currentChange < 0) {\r\n // // means that the right side has passed back before the left side \r\n // collider.isRightCollider = false;\r\n // }\r\n // }*/\r\n\r\n // console.log('------------------------------')\r\n // console.log(mainContainer.lastMouseX, collider.x)\r\n // console.log(mainContainer.currentMouseX, collider.x)\r\n // console.log(lastChange)\r\n // console.log(currentChange)\r\n\r\n // if(collider.isRightCollider) {\r\n // if(collider.x <= smallestX){\r\n // smallestX = collider.x;\r\n\r\n // if(colliderToReturn) {\r\n // colliderToReturn.isRightCollider = false;\r\n // }\r\n\r\n // colliderToReturn = collider;\r\n // }\r\n // }\r\n // }\r\n\r\n // return colliderToReturn;\r\n // }\r\n\r\n // getNearestBottomColliderObject(mainContainer: Spots, collidedObjects: Spots[]){\r\n\r\n // let smallestY = Number.MAX_VALUE\r\n\r\n // let colliderToReturn: Spots | null = null;\r\n\r\n // for (let i = 0; i < collidedObjects.length; i++) {\r\n // const collider = collidedObjects[i];\r\n\r\n // let lastChange = mainContainer.lastMouseY - collider.y\r\n // let currentChange = mainContainer.currentMouseY - collider.y\r\n\r\n // if(lastChange < 0 && currentChange >= 0) {\r\n // // means that the right side has passed over the left side \r\n // collider.isBottomCollider = true;\r\n // }\r\n\r\n // // if(collider.isBottomCollider) {\r\n // // if(lastChange >= 0 && currentChange < 0) {\r\n // // // means that the right side has passed back before the left side \r\n // // collider.isBottomCollider = false;\r\n // // }\r\n // // }\r\n\r\n // if(collider.isBottomCollider) {\r\n // if(collider.y <= smallestY){\r\n // smallestY = collider.y;\r\n\r\n // if(colliderToReturn) {\r\n // colliderToReturn.isBottomCollider = false;\r\n // }\r\n\r\n // colliderToReturn = collider;\r\n // }\r\n // } \r\n // }\r\n\r\n // return colliderToReturn;\r\n // }\r\n\r\n public reInitiRightCollidersState(mainContainer: Spots){\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const element = mainContainer.innerSpots[i];\r\n // element.isRightCollider = false;\r\n }\r\n }\r\n\r\n public reInitiLeftCollidersState(mainContainer: Spots){\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const element = mainContainer.innerSpots[i];\r\n // element.isBottomCollider = false;\r\n }\r\n }\r\n\r\n public normalizeScallings(\r\n mainContainer: Spots, \r\n spotModelViewDto: SpotModelViewDto, \r\n nextScaleX: number, \r\n nextScaleY: number): createjs.Point\r\n {\r\n\r\n const spot = spotModelViewDto.spot!\r\n const spotDto = spotModelViewDto.dto!;\r\n\r\n let miniamlDimensions = mainContainer.spotsFunctions!.getNextGridMinimalDimensions(new Point(1, 1))\r\n\r\n let nextWidth = spot.originalWidth * nextScaleX;\r\n let nextHeight = spot.originalHeight * nextScaleY;\r\n \r\n if (nextWidth <= miniamlDimensions.width!) {\r\n nextScaleX = miniamlDimensions.width! / spotDto.fpsWidthPx!\r\n }\r\n if (nextHeight <= miniamlDimensions.height!) {\r\n nextScaleY = miniamlDimensions.height! / spotDto.fpsHeightPx!\r\n }\r\n\r\n return new Point(nextScaleX, nextScaleY)\r\n }\r\n}","\r\nimport createjs, { Point, Shape } from 'createjs-module'\r\n\r\nimport { Spots } from './../Spots'\r\nimport { Spot, SpotModelViewDto } from './../spot/Spot'\r\n\r\nimport {\r\n EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED,\r\n\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS,\r\n\r\n EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A,\r\n EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED,\r\n\r\n dispatchEventType,\r\n addEventTypeListener,\r\n removeEventTypeListener\r\n} from '../../../../../globals/EventDispatcher'\r\nimport { Dimensions } from '../../../../../globals/Dimensions';\r\nimport { FlyerPageSpotDto } from '../../../../../dtos';\r\n\r\nimport {\r\n FLYER_SPOTS_MIN_HEIGHT_PX, FLYER_SPOTS_MIN_WIDTH_PX,\r\n getCanvasElementsScales,\r\n} from '../../../../../globals'\r\nimport { SpotsCollisionManager } from './../collisionManagers/SpotsCollisionManager';\r\nimport { CustomDataEvent } from '../../../../../globals/CustomDataEvent';\r\n\r\n\r\nexport class SpotsScallingManager {\r\n\r\n private _mainSpotsContainer: Spots | null = null;\r\n\r\n private _collisionManager: SpotsCollisionManager | null = null;\r\n\r\n constructor(spotsContainer: Spots) {\r\n this._mainSpotsContainer = spotsContainer;\r\n this._collisionManager = new SpotsCollisionManager();\r\n }\r\n\r\n public onMainSpotsContainerPressMove = (mouseEvent: any) => {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.isInScallingIndividualSpotsMode){\r\n return;\r\n }\r\n\r\n let innerSpots = mainContainer.innerSpots\r\n\r\n if (!mainContainer.isPageContainer) {\r\n return;\r\n }\r\n\r\n if (!mainContainer.nextGgridSize) {\r\n return;\r\n }\r\n\r\n if (!mainContainer.isMouseDown) {\r\n mainContainer.isMouseDown = true;\r\n\r\n var mouseX = mouseEvent.stageX;\r\n var mouseY = mouseEvent.stageY;\r\n\r\n //\r\n if (this._collisionManager!.isMinimalGridHasCollisions(mainContainer, mouseX, mouseY)) \r\n {\r\n let miniamlDimensions = mainContainer.spotsFunctions!.getNextGridMinimalDimensions(mainContainer.nextGgridSize!);\r\n\r\n mainContainer.redStokedShape = mainContainer.spotsFunctions!.createRedStroke(\r\n mouseX,\r\n mouseY,\r\n miniamlDimensions.width!,\r\n miniamlDimensions.height!\r\n );\r\n\r\n mainContainer.addChild(mainContainer.redStokedShape);\r\n mainContainer.updateStage()\r\n\r\n return;\r\n }\r\n\r\n this.reInitiAllCollidersState();\r\n\r\n\r\n //\r\n var mouseX = mouseEvent.stageX;\r\n var mouseY = mouseEvent.stageY;\r\n mainContainer.mouseX0 = mouseX\r\n mainContainer.mouseY0 = mouseY\r\n mainContainer.lastMouseX = mouseX;\r\n mainContainer.lastMouseY = mouseY;\r\n mainContainer.currentSpotsContainer = mainContainer.spotsFunctions!.addInitialGrid(mouseX, mouseY)\r\n\r\n }\r\n else {\r\n if (mainContainer.currentSpotsContainer) {\r\n if(!mainContainer.isInCollisionState) {\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.showMouseIcon('framesGridCreationIcon');\r\n }\r\n this.handleNewGridLiveScale(mouseEvent);\r\n }\r\n }\r\n }\r\n\r\n public onMainSpotsContainerPressUp = (mouseEvent: any) => {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.isInScallingIndividualSpotsMode){\r\n mainContainer.isInScallingIndividualSpotsMode = false;\r\n this.handleScallingMouseUpForSelectedSpots();\r\n return;\r\n }\r\n\r\n if(mainContainer.isInMoveSpotsMode){\r\n mainContainer.isInMoveSpotsMode = false;\r\n mainContainer.spotsTranslationManager!.handleScallingMouseUpForMovedSpots();\r\n return;\r\n }\r\n\r\n if (!mainContainer.isPageContainer) {\r\n return;\r\n }\r\n\r\n let isRedStrokeVisible = mainContainer.redStokedShape && mainContainer.redStokedShape.visible ? true : false;\r\n\r\n if (mainContainer.redStokedShape) {\r\n if (isRedStrokeVisible) {\r\n\r\n // if visible => _currentSpotsContainer size is less than the minimal dimentions\r\n if (mainContainer.currentSpotsContainer!) {\r\n mainContainer.innerSpots.pop();\r\n mainContainer.removeChild(mainContainer.currentSpotsContainer!)\r\n }\r\n }\r\n else {\r\n // if _redStokedShape is not visible => grid dimensions >= minimal size\r\n // in that case we can consider the current grid creation as done\r\n mainContainer.nextGgridSize = null;\r\n }\r\n\r\n mainContainer.redStokedShape.parent.removeChild(mainContainer.redStokedShape)\r\n mainContainer.redStokedShape = null;\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n if (!isRedStrokeVisible && !mainContainer.isInCollisionState) {\r\n mainContainer.spotsFunctions!.extractSpotsFromTheirContainer(mainContainer.currentSpotsContainer!);\r\n }\r\n\r\n if(mainContainer.isInCollisionState) \r\n {\r\n if(mainContainer.currentSpotsContainer) \r\n {\r\n if(mainContainer.currentSpotsContainer!.parent){\r\n mainContainer.currentSpotsContainer!.parent.removeChild(mainContainer.currentSpotsContainer!);\r\n }\r\n mainContainer.currentSpotsContainer!.removeAllChildren();\r\n mainContainer.currentSpotsContainer = null;\r\n }\r\n }\r\n\r\n mainContainer.isMouseDown = false;\r\n mainContainer.isInCollisionState = false;\r\n\r\n mainContainer.canvasMouseTracker!.hideIcon('framesGridCreationIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n }\r\n\r\n private preStartDraggingFromCorner(event: CustomDataEvent){\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if(selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n mouseEvent.stopPropagation();\r\n\r\n if(!mainContainer.isInScallingIndividualSpotsMode) \r\n {\r\n mainContainer.isInScallingIndividualSpotsMode = true;\r\n\r\n var mouseX = mouseEvent.stageX;\r\n var mouseY = mouseEvent.stageY;\r\n mainContainer.mouseX0 = spot.x\r\n mainContainer.mouseY0 = spot.y\r\n mainContainer.lastMouseX = mouseX;\r\n mainContainer.lastMouseY = mouseY;\r\n\r\n let spotsDtos: SpotModelViewDto[] = []\r\n mainContainer.currentSelectedSpotsDtos = spotsDtos;\r\n \r\n \r\n for (let i = 0; i < selectedSpots.length; i++) \r\n {\r\n const currentSpot = selectedSpots[i];\r\n\r\n // VERY IMPORTANT\r\n currentSpot.updateOriginalDImensions(); \r\n\r\n const currentSpotBounds = currentSpot.getBounds();\r\n\r\n let x0 = currentSpot.x;\r\n let y0 = currentSpot.y;\r\n\r\n let spotDto: FlyerPageSpotDto | null;\r\n\r\n if(currentSpot.initialData) {\r\n spotDto = currentSpot.initialData\r\n }\r\n else {\r\n spotDto = {\r\n fpsX0px: x0,\r\n fpsY0px: y0,\r\n fpsWidthPx: currentSpotBounds.width,\r\n fpsHeightPx: currentSpotBounds.height\r\n }\r\n }\r\n\r\n currentSpot.initialData = spotDto\r\n\r\n let mvDto = { dto: spotDto, spot: currentSpot }\r\n\r\n if(spot === currentSpot) {\r\n mainContainer.currentSelectedSpotScallerDto = mvDto\r\n }\r\n\r\n spotsDtos.push(mvDto)\r\n }\r\n }\r\n }\r\n\r\n public liveDragFromBottomRight(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.innerSpots.length === 0){\r\n return;\r\n }\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if(selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n //\r\n this.preStartDraggingFromCorner(event)\r\n\r\n //\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.mouseX0 + generatedWidth\r\n mainContainer.lastMouseY = mainContainer.mouseY0 + generatedHeight\r\n\r\n let currentSelectedSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n let currentSelectedSpotScallerSpotDto = currentSelectedSpotScallerDto!.dto!;\r\n\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n // const container = spot.parent as Spots;\r\n \r\n let scaleX = generatedWidth / currentSelectedSpotScallerSpotDto.fpsWidthPx!\r\n let scaleY = generatedHeight / currentSelectedSpotScallerSpotDto.fpsHeightPx!\r\n\r\n //\r\n let normalizedScale = this._collisionManager?.normalizeScallings(mainContainer, item, scaleX, scaleY);\r\n scaleX = normalizedScale!.x;\r\n scaleY = normalizedScale!.y;\r\n \r\n // individual spots\r\n spot.updateScale(scaleX, scaleY) \r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unSelectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForDraggingSelectedSpots(currentSpots, unSelectedSpots);\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n public liveDragFromBottomLeft(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.innerSpots.length === 0){\r\n return;\r\n }\r\n \r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if(selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n //\r\n this.preStartDraggingFromCorner(event) \r\n\r\n //\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n //\r\n let currentSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n let currentSpotScallerSpotDto = currentSpotScallerDto!.dto!;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.currentMouseX\r\n mainContainer.lastMouseY = mainContainer.mouseY0 + generatedHeight\r\n \r\n //\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n let scaleX = (currentSpotScallerSpotDto.fpsWidthPx! - generatedWidth) / currentSpotScallerSpotDto.fpsWidthPx!\r\n let scaleY = generatedHeight / currentSpotScallerSpotDto.fpsHeightPx!\r\n\r\n //\r\n let normalizedScale = this._collisionManager?.normalizeScallings(mainContainer, item, scaleX, scaleY);\r\n scaleX = normalizedScale!.x;\r\n scaleY = normalizedScale!.y;\r\n\r\n // individual spots\r\n spot.updateScale(scaleX, scaleY) \r\n spot.x = spotDto.fpsX0px! + spotDto.fpsWidthPx! * (1 - scaleX)\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unSelectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForDraggingSelectedSpots(currentSpots, unSelectedSpots);\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n public liveDragFromTopLeft(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.innerSpots.length === 0){\r\n return;\r\n }\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if(selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n //\r\n this.preStartDraggingFromCorner(event)\r\n\r\n //\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n //\r\n let currentSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n let currentSpotScallerSpotDto = currentSpotScallerDto!.dto!;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.currentMouseX\r\n mainContainer.lastMouseY = mainContainer.currentMouseY\r\n \r\n //\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n let scaleX = (currentSpotScallerSpotDto.fpsWidthPx! - generatedWidth) / currentSpotScallerSpotDto.fpsWidthPx!\r\n let scaleY = (currentSpotScallerSpotDto.fpsHeightPx! - generatedHeight) / currentSpotScallerSpotDto.fpsHeightPx!\r\n \r\n //\r\n let normalizedScale = this._collisionManager?.normalizeScallings(mainContainer, item, scaleX, scaleY);\r\n scaleX = normalizedScale!.x;\r\n scaleY = normalizedScale!.y;\r\n\r\n // individual spots\r\n spot.updateScale(scaleX, scaleY) \r\n spot.x = spotDto.fpsX0px! + spotDto.fpsWidthPx! * (1 - scaleX)\r\n spot.y = spotDto.fpsY0px! + spotDto.fpsHeightPx! * (1 - scaleY)\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unSelectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForDraggingSelectedSpots(currentSpots, unSelectedSpots);\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n public liveDragFromTopRight(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if(mainContainer.innerSpots.length === 0){\r\n return;\r\n }\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if(selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n //\r\n this.preStartDraggingFromCorner(event)\r\n\r\n //\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n //\r\n let currentSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n let currentSpotScallerSpotDto = currentSpotScallerDto!.dto!;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.mouseX0 + generatedWidth\r\n mainContainer.lastMouseY = mainContainer.currentMouseY\r\n\r\n let miniamlDimensions = mainContainer.spotsFunctions!.getNextGridMinimalDimensions(new Point(1, 1))\r\n \r\n //\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n let scaleX = generatedWidth / currentSpotScallerSpotDto.fpsWidthPx!\r\n let scaleY = (currentSpotScallerSpotDto.fpsHeightPx! - generatedHeight) / currentSpotScallerSpotDto.fpsHeightPx!\r\n\r\n //\r\n let nextWidth = spot.originalWidth * scaleX;\r\n let nextHeight = spot.originalHeight * scaleY;\r\n \r\n if (nextWidth <= miniamlDimensions.width!) {\r\n scaleX = miniamlDimensions.width! / spotDto.fpsWidthPx!\r\n }\r\n if (nextHeight <= miniamlDimensions.height!) {\r\n scaleY = miniamlDimensions.height! / spotDto.fpsHeightPx!\r\n } \r\n\r\n let normalizedScale = this._collisionManager?.normalizeScallings(mainContainer, item, scaleX, scaleY);\r\n scaleX = normalizedScale!.x;\r\n scaleY = normalizedScale!.y;\r\n\r\n // individual spots\r\n spot.updateScale(scaleX, scaleY) \r\n // spot.x = spotDto.fpsX0px! + spotDto.fpsWidthPx! * (1 - scaleX)\r\n spot.y = spotDto.fpsY0px! + spotDto.fpsHeightPx! * (1 - scaleY)\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unSelectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForDraggingSelectedSpots(currentSpots, unSelectedSpots);\r\n\r\n mainContainer.updateStage()\r\n } \r\n\r\n public handleNewGridLiveScale(mouseEvent: any) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n // let collidedObjects = this._collisionManager!.getInternalCollidedObjects(mainContainer, generatedWidth, generatedHeight);\r\n // console.log(collidedObjects.length)\r\n // console.log(collidedObjects)\r\n // let updateMousePoisition = this._collisionManager!.handleLiveScallingCollisions(mainContainer, mainContainer.currentMouseX, mainContainer.currentMouseY, collidedObjects);\r\n // mainContainer.currentMouseX = updateMousePoisition.x\r\n // mainContainer.currentMouseY = updateMousePoisition.y\r\n\r\n // update generated width and height\r\n generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.mouseX0 + generatedWidth\r\n mainContainer.lastMouseY = mainContainer.mouseY0 + generatedHeight\r\n\r\n if (generatedWidth <= 0) {\r\n generatedWidth = 0;\r\n }\r\n if (generatedHeight <= 0) {\r\n generatedHeight = 0\r\n }\r\n\r\n var columns = mainContainer.nextGgridSize?.x!;\r\n var rows = mainContainer.nextGgridSize?.y!;\r\n\r\n // console.log(generatedWidth, generatedHeight)\r\n\r\n let innerSpotsContainer = mainContainer.currentSpotsContainer!\r\n\r\n let realFlyerWidth = this._mainSpotsContainer!._flyerPageDto?.flpWidthPx!\r\n let realFlyerHeight = this._mainSpotsContainer!._flyerPageDto?.flpHeightPx!\r\n\r\n let scale = getCanvasElementsScales(realFlyerWidth, realFlyerHeight);\r\n\r\n let minWidth = FLYER_SPOTS_MIN_WIDTH_PX * scale.scaleX;\r\n let minHeight = FLYER_SPOTS_MIN_HEIGHT_PX * scale.scaleY;\r\n\r\n // spots container\r\n let nextBackgroundScaleX = generatedWidth / (columns * minWidth)\r\n let nextBackgroundScaleY = generatedHeight / (rows * minHeight)\r\n innerSpotsContainer.backgroundScale(nextBackgroundScaleX, nextBackgroundScaleY)\r\n\r\n // individual spots\r\n let nextSpotWidth = generatedWidth / columns\r\n let nextSpotHeight = generatedHeight / rows\r\n let nextScaleX = nextSpotWidth / minWidth\r\n let nextScaleY = nextSpotHeight / minHeight\r\n this.updateSpotsBackgroundPosition(nextScaleX, nextScaleY)\r\n\r\n if (!mainContainer.currentSpotsContainer!.visible) {\r\n mainContainer.currentSpotsContainer!.visible = true;\r\n }\r\n\r\n let miniamlDimensions = mainContainer.spotsFunctions!.getNextGridMinimalDimensions(mainContainer.nextGgridSize!);\r\n if (generatedWidth < miniamlDimensions.width! || generatedHeight < miniamlDimensions.height!) {\r\n // show red zone\r\n if (mainContainer.redStokedShape === null) {\r\n mainContainer.redStokedShape = mainContainer.spotsFunctions!.createRedStroke(mainContainer.mouseX0, mainContainer.mouseY0, miniamlDimensions.width!, miniamlDimensions.height!);\r\n mainContainer.addChild(innerSpotsContainer)\r\n mainContainer.addChild(mainContainer.redStokedShape)\r\n }\r\n\r\n mainContainer.redStokedShape.visible = true;\r\n }\r\n else {\r\n if (mainContainer.redStokedShape) {\r\n mainContainer.redStokedShape.visible = false;\r\n }\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.currentSpotsContainer!.innerSpots.map(spot => {\r\n let newSpot = new Spot(mainContainer)\r\n newSpot.setBounds(0, 0, spot.getBounds().width, spot.getBounds().height);\r\n newSpot.x = mainContainer.currentSpotsContainer!.x + spot.x;\r\n newSpot.y = mainContainer.currentSpotsContainer!.y + spot.y;\r\n return newSpot;\r\n })\r\n let otherSpots = mainContainer.innerSpots\r\n this.handleCollisionsStateForFirstGridCreation(currentSpots, otherSpots);\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n private handleCollisionsStateForFirstGridCreation(currentSpots: Spot[], otherSpots: Spot[]){\r\n let mainContainer = this._mainSpotsContainer!;\r\n\r\n let hasCollisions = this._collisionManager?.hasCollisionsBetweenSpots(currentSpots, otherSpots)\r\n if(hasCollisions) {\r\n console.log(`hasCollisions: ${hasCollisions}`)\r\n mainContainer.isInCollisionState = true;\r\n mainContainer.canvasMouseTracker!.hideIcon('framesGridCreationIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.showMouseIcon('noAccessIcon');\r\n }\r\n else {\r\n mainContainer.isInCollisionState = false;\r\n }\r\n }\r\n\r\n private handleCollisionsStateForDraggingSelectedSpots(currentSpots: Spot[], otherSpots: Spot[]){\r\n let mainContainer = this._mainSpotsContainer!;\r\n\r\n let hasCollisions = this._collisionManager?.hasCollisionsBetweenSpots(currentSpots, otherSpots)\r\n if(hasCollisions) {\r\n console.log(`hasCollisions: ${hasCollisions}`)\r\n mainContainer.isInCollisionState = true;\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.showMouseIcon('noAccessIcon', true);\r\n }\r\n else {\r\n mainContainer.isInCollisionState = false;\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n // mainContainer.canvasMouseTracker!.showMouseIcon('moveFramesIcon', true);\r\n }\r\n }\r\n\r\n private handleScallingMouseUpForSelectedSpots(){\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = mainContainer.currentSelectedSpotsDtos!.map(mvDto => mvDto.spot! )\r\n let innerSpots = mainContainer.innerSpots;\r\n let hasCollisions = this._collisionManager!.hasCollisionsBetweenSpots(selectedSpots, innerSpots)\r\n\r\n if(hasCollisions) {\r\n let currentSelectedSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n let currentSelectedSpotScallerSpotDto = currentSelectedSpotScallerDto!.dto!;\r\n\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n \r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n let scaleX = 1\r\n let scaleY = 1\r\n\r\n console.log(scaleX, scaleY);\r\n\r\n // individual spots\r\n spot.updateScale(scaleX, scaleY) \r\n spot.x = spotDto.fpsX0px!;\r\n spot.y = spotDto.fpsY0px!;\r\n }\r\n\r\n mainContainer.updateStage();\r\n }\r\n else {\r\n //\r\n let selectedSpots = mainContainer.spotsFunctions?.getSelectedSpots(true);\r\n let updatedSpotsDtos: FlyerPageSpotDto[] = selectedSpots!.map(spot => {\r\n return spot.updatedData;\r\n })\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(updatedSpotsDtos);\r\n }\r\n\r\n //\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n }\r\n\r\n \r\n\r\n public updateSpotsBackgroundPosition(scaleX: number, scaleY: number, updatePosition: boolean = true) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n let innerSpotsContainer = mainContainer.currentSpotsContainer!\r\n\r\n for (let i = 0; i < innerSpotsContainer.children.length; i++) {\r\n const child = innerSpotsContainer.children[i];\r\n if (child instanceof Spot) {\r\n child.updateScale(scaleX, scaleY)\r\n\r\n if(updatePosition) {\r\n child.updatePositionByScale(scaleX, scaleY)\r\n }\r\n }\r\n }\r\n }\r\n\r\n public reInitiAllCollidersState() {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n for (let i = 0; i < mainContainer.innerSpots.length; i++) {\r\n const element = mainContainer.innerSpots[i];\r\n //element.isBottomCollider = false;\r\n // element.isRightCollider = false;\r\n }\r\n }\r\n\r\n}","\r\n\r\nimport { Spots } from '../Spots'\r\nimport { Spot, SpotModelViewDto } from '../spot/Spot'\r\n\r\nimport { FlyerPageSpotDto } from '../../../../../dtos';\r\n\r\nimport { SpotsCollisionManager } from '../collisionManagers/SpotsCollisionManager';\r\nimport { CustomDataEvent } from '../../../../../globals/CustomDataEvent';\r\nimport { Boundries } from '../../../../../globals/Boundries';\r\n\r\n\r\nexport class SpotsTranslationManager {\r\n\r\n private _mainSpotsContainer: Spots | null = null;\r\n\r\n private _collisionManager: SpotsCollisionManager | null = null;\r\n\r\n constructor(spotsContainer: Spots) {\r\n this._mainSpotsContainer = spotsContainer;\r\n this._collisionManager = new SpotsCollisionManager();\r\n }\r\n\r\n private preMove(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if (selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n mouseEvent.stopPropagation();\r\n\r\n if (!mainContainer.isInMoveSpotsMode) {\r\n mainContainer.isInMoveSpotsMode = true;\r\n\r\n var mouseX = mouseEvent.stageX;\r\n var mouseY = mouseEvent.stageY;\r\n mainContainer.mouseX0 = spot.x\r\n mainContainer.mouseY0 = spot.y\r\n mainContainer.lastMouseX = mouseX;\r\n mainContainer.lastMouseY = mouseY;\r\n mainContainer.translationOffsetX = mouseX - spot.x;\r\n mainContainer.translationOffsetY = mouseY - spot.y;\r\n\r\n let spotsDtos: SpotModelViewDto[] = []\r\n mainContainer.currentSelectedSpotsDtos = spotsDtos;\r\n\r\n for (let i = 0; i < selectedSpots.length; i++) {\r\n const currentSpot = selectedSpots[i];\r\n\r\n // VERY IMPORTANT\r\n currentSpot.updateOriginalDImensions();\r\n\r\n const currentSpotBounds = currentSpot.getBounds();\r\n\r\n let x0 = currentSpot.x;\r\n let y0 = currentSpot.y;\r\n\r\n let spotDto: FlyerPageSpotDto | null;\r\n\r\n if (currentSpot.initialData) {\r\n spotDto = currentSpot.initialData\r\n }\r\n else {\r\n spotDto = {\r\n fpsX0px: x0,\r\n fpsY0px: y0,\r\n fpsWidthPx: currentSpotBounds.width,\r\n fpsHeightPx: currentSpotBounds.height\r\n }\r\n }\r\n\r\n currentSpot.initialData = spotDto\r\n\r\n let mvDto = { dto: spotDto, spot: currentSpot }\r\n\r\n if (spot === currentSpot) {\r\n mainContainer.currentSelectedSpotScallerDto = mvDto\r\n }\r\n\r\n spotsDtos.push(mvDto)\r\n\r\n }\r\n }\r\n }\r\n\r\n public moveSelectedSpots (event: CustomDataEvent) {\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if (mainContainer.innerSpots.length === 0) {\r\n return;\r\n }\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if (selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n this.preMoveFromKeyboard(event);\r\n\r\n //\r\n\r\n //\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n let boundriesCorrectors: Boundries[] = []\r\n\r\n let hasBordersCollisions = false;\r\n //\r\n //\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n\r\n switch (event.type) {\r\n case \"arrowleft\": {\r\n spot!.x = spot!.x - 1;\r\n break;\r\n }\r\n case \"arrowright\": {\r\n spot!.x = spot!.x + 1;\r\n break;\r\n }\r\n case \"arrowup\": {\r\n spot!.y = spot!.y - 1;\r\n break;\r\n }\r\n case \"arrowdown\": {\r\n spot!.y = spot!.y + 1;\r\n break;\r\n }\r\n }\r\n if(this._collisionManager!.hasPassedAnyBorder(spot)){\r\n hasBordersCollisions = true;\r\n let boundriesCorrectorItem = this._collisionManager!.getBoundariesToRetriveToAvoidCanvasBorders(spot)\r\n boundriesCorrectors.push(boundriesCorrectorItem);\r\n }\r\n }\r\n if(boundriesCorrectors) {\r\n this.updateSpotsWithBoundriesCorrector(seleectedSpotsDto, boundriesCorrectors)\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unselectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForMovingSelectedSpots(currentSpots, unselectedSpots);\r\n\r\n mainContainer.updateStage()\r\n\r\n // if no frames selected\r\n }\r\n\r\n\r\n private preMoveFromKeyboard(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if (selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n\r\n if (!mainContainer.isInMoveSpotsMode) {\r\n mainContainer.isInMoveSpotsMode = true;\r\n\r\n\r\n let spotsDtos: SpotModelViewDto[] = []\r\n mainContainer.currentSelectedSpotsDtos = spotsDtos;\r\n\r\n for (let i = 0; i < selectedSpots.length; i++) {\r\n const currentSpot = selectedSpots[i];\r\n\r\n // VERY IMPORTANT\r\n currentSpot.updateOriginalDImensions();\r\n\r\n const currentSpotBounds = currentSpot.getBounds();\r\n\r\n let x0 = currentSpot.x;\r\n let y0 = currentSpot.y;\r\n\r\n let spotDto: FlyerPageSpotDto | null;\r\n\r\n if (currentSpot.initialData) {\r\n spotDto = currentSpot.initialData\r\n }\r\n else {\r\n spotDto = {\r\n fpsX0px: x0,\r\n fpsY0px: y0,\r\n fpsWidthPx: currentSpotBounds.width,\r\n fpsHeightPx: currentSpotBounds.height\r\n }\r\n }\r\n\r\n currentSpot.initialData = spotDto\r\n\r\n let mvDto = { dto: spotDto, spot: currentSpot }\r\n spotsDtos.push(mvDto)\r\n\r\n }\r\n }\r\n }\r\n\r\n public liveMove(event: CustomDataEvent) {\r\n\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n if (mainContainer.innerSpots.length === 0) {\r\n return;\r\n }\r\n\r\n let selectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n if (selectedSpots.length === 0) {\r\n return;\r\n }\r\n\r\n this.preMove(event);\r\n\r\n //\r\n let data = event.data;\r\n let spot = data.spot;\r\n let mouseEvent = data.mouseEvent;\r\n\r\n mainContainer.currentMouseX = mouseEvent.stageX;\r\n mainContainer.currentMouseY = mouseEvent.stageY;\r\n\r\n let generatedWidth = mainContainer.currentMouseX - mainContainer.mouseX0\r\n let generatedHeight = mainContainer.currentMouseY - mainContainer.mouseY0\r\n\r\n mainContainer.lastMouseX = mainContainer.currentMouseX\r\n mainContainer.lastMouseY = mainContainer.currentMouseY\r\n\r\n //\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n let boundriesCorrectors: Boundries[] = []\r\n\r\n let hasBordersCollisions = false;\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n let nextX = spotDto.fpsX0px! + generatedWidth - mainContainer.translationOffsetX \r\n let nextY = spotDto.fpsY0px! + generatedHeight - mainContainer.translationOffsetY\r\n\r\n // console.log(generatedWidth, generatedHeight, nextX, nextY)\r\n\r\n // individual spots\r\n spot.x = nextX\r\n spot.y = nextY\r\n\r\n if(this._collisionManager!.hasPassedAnyBorder(spot)){\r\n hasBordersCollisions = true;\r\n let boundriesCorrectorItem = this._collisionManager!.getBoundariesToRetriveToAvoidCanvasBorders(spot)\r\n boundriesCorrectors.push(boundriesCorrectorItem);\r\n }\r\n }\r\n\r\n //\r\n if(boundriesCorrectors) {\r\n this.updateSpotsWithBoundriesCorrector(seleectedSpotsDto, boundriesCorrectors)\r\n }\r\n\r\n //\r\n let currentSpots = mainContainer.spotsFunctions!.getSelectedSpots(true);\r\n let unselectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n this.handleCollisionsStateForMovingSelectedSpots(currentSpots, unselectedSpots);\r\n\r\n mainContainer.updateStage()\r\n }\r\n\r\n private updateSpotsWithBoundriesCorrector(seleectedSpotsDto: SpotModelViewDto[], boundriesCorrectors: Boundries[]){\r\n\r\n let deltaX: number = 0;\r\n let deltaY: number = 0;\r\n\r\n for (let i = 0; i < boundriesCorrectors.length; i++) \r\n {\r\n const boundriesItem: Boundries = boundriesCorrectors[i];\r\n boundriesItem.retrieve(deltaX, deltaY);\r\n\r\n deltaX += boundriesItem.left! + boundriesItem.right!\r\n deltaY += boundriesItem.top! + boundriesItem.bottom!\r\n\r\n for (let j = 0; j < seleectedSpotsDto.length; j++) {\r\n let item = seleectedSpotsDto[j];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n \r\n spot.x += boundriesItem!.left!;\r\n spot.x -= boundriesItem!.right!;\r\n\r\n spot.y += boundriesItem!.top!;\r\n spot.y -= boundriesItem!.bottom!;\r\n }\r\n }\r\n }\r\n\r\n private handleCollisionsStateForMovingSelectedSpots(currentSpots: Spot[], otherSpots: Spot[]){\r\n let mainContainer = this._mainSpotsContainer!;\r\n\r\n let hasCollisions = this._collisionManager?.hasCollisionsBetweenSpots(currentSpots, otherSpots)\r\n if(hasCollisions) {\r\n console.log(`hasCollisions: ${hasCollisions}`)\r\n mainContainer.isInCollisionState = true;\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.showMouseIcon('noAccessIcon', true);\r\n }\r\n else {\r\n mainContainer.isInCollisionState = false;\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n mainContainer.canvasMouseTracker!.showMouseIcon('moveFramesIcon', true);\r\n }\r\n }\r\n\r\n public handleScallingMouseUpForMovedSpots(){\r\n let mainContainer = this._mainSpotsContainer!\r\n\r\n let selectedSpots = mainContainer.currentSelectedSpotsDtos!.map(mvDto => mvDto.spot! )\r\n let unSelectedSpots = mainContainer.spotsFunctions!.getSelectedSpots(false);\r\n let hasCollisions = this._collisionManager!.hasCollisionsBetweenSpots(selectedSpots, unSelectedSpots)\r\n\r\n if(hasCollisions) {\r\n // let currentSelectedSpotScallerDto = mainContainer.currentSelectedSpotScallerDto;\r\n // let currentSelectedSpotScallerSpotDto = currentSelectedSpotScallerDto!.dto!;\r\n\r\n let seleectedSpotsDto = mainContainer.currentSelectedSpotsDtos!\r\n\r\n for (let i = 0; i < seleectedSpotsDto.length; i++) {\r\n let item = seleectedSpotsDto[i];\r\n const spot = item.spot!\r\n const spotDto = item.dto!;\r\n\r\n // individual spots\r\n spot.x = spotDto.fpsX0px!;\r\n spot.y = spotDto.fpsY0px!;\r\n }\r\n\r\n mainContainer.updateStage();\r\n }\r\n else {\r\n //\r\n let selectedSpots = mainContainer.spotsFunctions?.getSelectedSpots(true);\r\n let updatedSpotsDtos: FlyerPageSpotDto[] = selectedSpots!.map(spot => {\r\n return spot.updatedData;\r\n })\r\n mainContainer.persistenceManager?.prepareSpotsForSaving(updatedSpotsDtos);\r\n }\r\n mainContainer.canvasMouseTracker!.hideIcon('moveFramesIcon');\r\n mainContainer.canvasMouseTracker!.hideIcon('noAccessIcon');\r\n }\r\n\r\n}","\r\nimport createjs, { Point } from 'createjs-module'\r\n\r\nimport {FlyerPageDto, FlyerPageSpotDto, FrameIconDataDto, IconStyleDto} from '../../../../dtos'\r\n\r\nimport { SpotsPersistenceManager } from './persistence/SpotsPersistenceManager'\r\n\r\nimport { KeyboardManager } from '../../../../com/keyboardManager/KeyboardManager'\r\n\r\nimport {\r\n\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM,\r\n\r\n EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A,\r\n EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED,\r\n\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT,\r\n EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT,\r\n EVENT_DATA_TYPE_SPOT_PRESS_MOVE,\r\n EVENT_TYPE_CHANGE_ICON_POSITION,\r\n\r\n dispatchEventType,\r\n addEventTypeListener,\r\n addEventDataTypeListener,\r\n removeEventTypeListener,\r\n EVENT_TYPE_GET_ALL_SELECTED_SPOTS,\r\n dispatchEventDataType,\r\n EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME, EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER\r\n} from '../../../../globals/EventDispatcher'\r\n\r\nimport {Spot, SpotModelViewDto} from './spot/Spot'\r\n\r\nimport { CanvasMouseTracker } from '../../../../com/canvas/mouseTracker/CanvasMouseTracker'\r\n\r\nimport framesGridCreationIcon from '../../../../assets/editors/spots/frames_grid_creation_icon.svg'\r\nimport noAccessIcon from '../../../../assets/editors/spots/no_access.svg'\r\nimport moveFramesIcon from '../../../../assets/editors/spots/moveFrameIcon.svg'\r\n\r\nimport { SpotsFunctions } from './SpotsFunctions';\r\nimport { SpotsScallingManager } from './scallingManager/SpotsScallingManager'\r\nimport { SpotsTranslationManager } from './translationManager/SpotsTranslationManager'\r\nimport { StrokedText } from '../../../../com/canvas/strotedText/StrokedText'\r\nimport { CustomDataEvent } from '../../../../globals/CustomDataEvent'\r\n\r\nexport class Spots extends createjs.Container {\r\n\r\n private _isPageContainer: boolean = true;\r\n private _hitLayer: createjs.Shape | null = null;\r\n private _pageWidth: number = 0;\r\n private _pageHeigth: number = 0;\r\n private _isMouseDown: boolean = false\r\n private _mouseX0: number = 0\r\n private _mouseY0: number = 0\r\n private _currentMouseX: number = 0\r\n private _currentMouseY: number = 0\r\n private _lastMouseX: number = 0\r\n private _lastMouseY: number = 0\r\n private _isRightCollider: boolean = false;\r\n private _isBottomCollider: boolean = false;\r\n private _nextGgridSize: Point | null = null//new Point(3, 3)\r\n private _innerSpots: Array = [];\r\n private _keyboardManager: KeyboardManager | null = null;\r\n private _currentSpotsContainer: Spots | null = null\r\n private _redStokedShape: createjs.Shape | null = null\r\n private _canvasMouseTracker: CanvasMouseTracker | null = null\r\n private _isInCtrlClickMode: boolean = false\r\n private _hitAreaName: string = 'hitAreaContainer'\r\n public _spotsFunctions: SpotsFunctions | null = null\r\n private _spotsScallingManager: SpotsScallingManager | null = null;\r\n private _spotsTranslationManager: SpotsTranslationManager | null = null\r\n private _isInScallingIndividualSpotsMode: boolean = false\r\n private _currentEditedSpot: Spot | null = null;\r\n private _currentSelectedSpotScallerDto: SpotModelViewDto | null = null\r\n private _currentSelectedSpotsDtos: SpotModelViewDto[] | null = null\r\n private _hitLayerParent: createjs.Shape | null = null;\r\n private _originalWidth: number = 0;\r\n private _originalHeight: number = 0;\r\n private _isInMoveSpotsMode: boolean = false\r\n private _translationOffsetX: number = 0\r\n private _translationOffsetY: number = 0\r\n public _flyerPageDto: FlyerPageDto | null = null\r\n private _persistenceManager: SpotsPersistenceManager | null = null\r\n public _isDisabledZoom: boolean\r\n public _framesIcons: IconStyleDto | null = null\r\n private _isInCollisionState: boolean = false\r\n\r\n public setDimensions(camvasWidth: number, camvasHeight: number){\r\n this._pageWidth = camvasWidth;\r\n this._pageHeigth = camvasHeight;\r\n this.enableContainerHitArea(camvasWidth, camvasHeight)\r\n }\r\n\r\n constructor(isPageContainer: boolean, camvasWidth: number, camvasHeight: number, enableInteractivity: boolean = false, isDisabledZoom: boolean = true, framesIconsData: IconStyleDto | null = null) {\r\n\r\n super()\r\n this._isDisabledZoom = isDisabledZoom;\r\n this._isPageContainer = isPageContainer;\r\n this._framesIcons = framesIconsData;\r\n\r\n this.setDimensions(camvasWidth, camvasHeight)\r\n\r\n this._spotsFunctions = new SpotsFunctions(this);\r\n\r\n //\r\n if (this._isPageContainer && enableInteractivity) {\r\n\r\n this._persistenceManager = new SpotsPersistenceManager();\r\n\r\n this._spotsScallingManager = new SpotsScallingManager(this);\r\n this._spotsTranslationManager = new SpotsTranslationManager(this);\r\n\r\n this.addEventListener('added', this.onAddedToStage.bind(this));\r\n this.addEventListener('removed', this.onRemovedFromStage.bind(this));\r\n this.addEventListener('pressup', this._spotsScallingManager!.onMainSpotsContainerPressUp.bind(this));\r\n\r\n this.addEventListener('click', this.onMainSpotsContainerClick.bind(this));\r\n\r\n // Keyboard events\r\n this._keyboardManager = KeyboardManager.getInstance();\r\n\r\n this._keyboardManager.addEventListener(KeyboardManager.CTRL_A, () => {\r\n this._spotsFunctions!.selectAllPageSpots(true)\r\n dispatchEventType(EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A);\r\n })\r\n\r\n this._keyboardManager.addEventListener(KeyboardManager.CTRL_LEFT_MOUSE_CLICK, (event: any) => {\r\n this._isInCtrlClickMode = true;\r\n })\r\n\r\n this._keyboardManager.addEventListener(KeyboardManager.DELETE, (event: any) => {\r\n this._spotsFunctions!.deleteSelectedSpots();\r\n })\r\n this._keyboardManager.addEventListener(KeyboardManager.LEFT_ARROW_KEYBOARD_CLICK, (event: any) => {\r\n this._spotsTranslationManager!.moveSelectedSpots(event);\r\n })\r\n this._keyboardManager.addEventListener(KeyboardManager.RIGHT_ARROW_KEYBOARD_CLICK, (event: any) => {\r\n this._spotsTranslationManager!.moveSelectedSpots(event);\r\n })\r\n this._keyboardManager.addEventListener(KeyboardManager.TOP_ARROW_KEYBOARD_CLICK, (event: any) => {\r\n this._spotsTranslationManager!.moveSelectedSpots(event);\r\n })\r\n this._keyboardManager.addEventListener(KeyboardManager.BOTTOM_ARROW_KEYBOARD_CLICK, (event: any) => {\r\n this._spotsTranslationManager!.moveSelectedSpots(event);\r\n })\r\n\r\n this._keyboardManager.addEventListener(KeyboardManager.PRESS_UP_ARROWS, (event: any) => {\r\n this._spotsScallingManager!.onMainSpotsContainerPressUp('');\r\n })\r\n\r\n\r\n // Events\r\n addEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS, () => {\r\n this._spotsFunctions!.selectAllPageSpots(true)\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME, (data: any) => {\r\n const selectedFrameData = data.data;\r\n const functions = this._spotsFunctions!;\r\n functions.selectAllPageSpots(false, true);\r\n functions.selectFrameUsingFrameDataFromRightPanel(selectedFrameData);\r\n })\r\n\r\n addEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS, () => {\r\n this._spotsFunctions!.selectAllPageSpots(false)\r\n })\r\n\r\n addEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS, () => {\r\n this._spotsFunctions!.deleteSelectedSpots();\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER, (data) => {\r\n this._spotsFunctions!.reNumberAllSpots(data.data);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER, (data) => {\r\n const {selectedFrames, newData, isHorizontalOrientationForFrames} = data.data;\r\n this._spotsFunctions!.reNumberAllSpotsWithDataForSelectedFrames(selectedFrames, newData, isHorizontalOrientationForFrames);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_CHANGE_ICON_POSITION, (data) => {\r\n const iconDataForUpdate: FrameIconDataDto = {\r\n ...data.data\r\n }\r\n this._spotsFunctions?.changeIconDataForSelectedFrames(iconDataForUpdate);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM, (data) => {\r\n this._spotsFunctions!.reNumberFrom(data.data);\r\n })\r\n\r\n // Spot Events\r\n addEventDataTypeListener(EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT, (event: CustomDataEvent) => {\r\n this._spotsScallingManager!.liveDragFromBottomRight(event);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_LEFT, (event: CustomDataEvent) => {\r\n this._spotsScallingManager!.liveDragFromBottomLeft(event);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_SPOT_DRAG_TOP_LEFT, (event: CustomDataEvent) => {\r\n this._spotsScallingManager!.liveDragFromTopLeft(event);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_SPOT_DRAG_TOP_RIGHT, (event: CustomDataEvent) => {\r\n this._spotsScallingManager!.liveDragFromTopRight(event);\r\n })\r\n if(isDisabledZoom){\r\n this.addEventListener('pressmove', this._spotsScallingManager!.onMainSpotsContainerPressMove.bind(this))\r\n addEventDataTypeListener(EVENT_DATA_TYPE_SPOT_PRESS_MOVE, (event: CustomDataEvent) => {\r\n this._spotsTranslationManager!.liveMove(event);\r\n })\r\n }\r\n }\r\n }\r\n\r\n updateSpotsDtos(spotsDtos: FlyerPageSpotDto[]) {\r\n this.flyerPageDto!.flyerPageSpots = spotsDtos;\r\n\r\n for (let i = 0; i < this._innerSpots.length; i++) {\r\n const spot = this._innerSpots[i];\r\n let updatedData = spot.updatedData;\r\n let positionNo = updatedData.fpsPositionNo\r\n\r\n for (let j = 0; j < spotsDtos.length; j++) {\r\n const dto = spotsDtos[j];\r\n if(dto.fpsPositionNo === positionNo){\r\n //update spot data\r\n spot._data = {\r\n ...dto,\r\n ...updatedData,\r\n }\r\n spot.initialData!.fpsRecId = dto.fpsRecId;\r\n spot.initialData!.qualificationLevel = dto.qualificationLevel;\r\n spot.text = `${dto.fpsPositionNo}`;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n enableContainerHitArea(width: number, height: number) {\r\n this._hitLayerParent = new createjs.Shape(); // Shape is empty\r\n this._hitLayerParent.name = this._hitAreaName;\r\n\r\n this._hitLayer = new createjs.Shape(new createjs.Graphics().f('red').dr(0, 0, width, height));\r\n\r\n // to have precisse collision detection the minimum alpha is 0.01\r\n this._hitLayer.alpha = 0.2//0.01;\r\n\r\n // Empty shape has a hitArea, so it is invisible.\r\n this._hitLayerParent.hitArea = this._hitLayer\r\n this.addChild(this._hitLayerParent);\r\n\r\n if(!this._isPageContainer) {\r\n this.addChild(this._hitLayer);\r\n }\r\n\r\n }\r\n\r\n public updateHitAreaDimensions(width: number, height: number){\r\n\r\n this._originalWidth = width;\r\n this._originalHeight = height;\r\n\r\n this._hitLayer?.graphics.clear();\r\n this._hitLayer?.graphics\r\n .beginFill('red')\r\n .drawRect(0, 0, width, height)\r\n .endFill()\r\n\r\n this._hitLayer!.setBounds(0, 0, width, height);\r\n this._hitLayerParent!.setBounds(0, 0, width, height);\r\n\r\n this.updateStage();\r\n }\r\n\r\n public backgroundScale(scaleX: number, scaleY: number) {\r\n\r\n this._hitLayer?.graphics.clear();\r\n this._hitLayer?.graphics\r\n .beginFill('red')\r\n .drawRect(0, 0, this._originalWidth * scaleX, this._originalHeight * scaleY)\r\n .endFill()\r\n\r\n this._hitLayer?.setBounds(0, 0, this._originalWidth * scaleX, this._originalHeight * scaleY)\r\n\r\n this.updateStage();\r\n }\r\n\r\n public get hitAreaName() {\r\n return this._hitAreaName\r\n }\r\n\r\n public dispose() {\r\n for (let i = 0; i < this.innerSpots.length; i++) {\r\n const spot = this.innerSpots[i];\r\n if(spot.parent) {\r\n spot.parent.removeChild(spot)\r\n }\r\n spot.dispose();\r\n }\r\n this.innerSpots = [];\r\n\r\n this.removeEventListener('added', this.onAddedToStage);\r\n this.removeEventListener('removed', this.onRemovedFromStage);\r\n\r\n if(this._spotsScallingManager) {\r\n this.removeEventListener('pressmove', this._spotsScallingManager!.onMainSpotsContainerPressMove)\r\n }\r\n\r\n if(this._spotsScallingManager) {\r\n this.removeEventListener('pressup', this._spotsScallingManager!.onMainSpotsContainerPressUp);\r\n }\r\n\r\n if(this.onMainSpotsContainerClick) {\r\n this.removeEventListener('click', this.onMainSpotsContainerClick);\r\n }\r\n\r\n removeEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER)\r\n removeEventTypeListener(EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM)\r\n\r\n // removeEventTypeListener(EVENT_DATA_TYPE_SPOT_DRAG_BOTTOM_RIGHT)\r\n\r\n this._keyboardManager?.dispose();\r\n\r\n //\r\n this.removeAllEventListeners();\r\n }\r\n\r\n public onMainSpotsContainerClick = (event: any) => {\r\n console.log(`click on frame`);\r\n if(event.nativeEvent.button !== 0){\r\n return;\r\n }\r\n if(this.isInScallingIndividualSpotsMode){\r\n return;\r\n }\r\n\r\n let functions = this._spotsFunctions!;\r\n\r\n let currentTarget = event.currentTarget;\r\n let target = event.target;\r\n\r\n let innerSpots = this.innerSpots\r\n\r\n if (currentTarget instanceof Spots) {\r\n let spots: Spots = currentTarget as Spots\r\n\r\n if (!spots.isPageContainer) {\r\n return;\r\n }\r\n\r\n if (target.parent instanceof Spot) {\r\n\r\n if(this._currentEditedSpot) {\r\n this._currentEditedSpot.showEditMode(false);\r\n this._currentEditedSpot = null;\r\n }\r\n\r\n if(this.isInMoveSpotsMode) {\r\n return;\r\n }\r\n\r\n if (target instanceof StrokedText) {\r\n // functions.selectAllPageSpots(false);\r\n // let spot: Spot = target.parent as Spot\r\n // spot.showEditMode(true);\r\n // this._currentEditedSpot = spot;\r\n }\r\n else {\r\n // click on Spot\r\n console.log('Spot Click')\r\n\r\n if (this.isInCtrlClickMode) {\r\n this.isInCtrlClickMode = false;\r\n\r\n let spot: Spot = target.parent as Spot\r\n let lastSelected = spot.isSelected\r\n let nextSelected = !lastSelected\r\n spot.setSelected(nextSelected);\r\n\r\n // for the case where we have other spot selected\r\n functions.putSelectedSpotsChildrenOnTop();\r\n\r\n if (nextSelected) {\r\n this.addChild(spot)\r\n }\r\n else {\r\n // will stay beloy all spots\r\n }\r\n\r\n }\r\n else {\r\n\r\n let spot: Spot = target.parent as Spot\r\n const selectedSpots = functions.getSelectedSpots(true);\r\n if(!spot.isSelected || selectedSpots.length > 1) {\r\n functions.selectAllPageSpots(false);\r\n spot.setSelected(true, this._isDisabledZoom);\r\n this.addChild(spot);\r\n }\r\n else {\r\n let spot: Spot = target.parent as Spot\r\n if(spot.hasNumber) {\r\n // functions.selectAllPageSpots(false);\r\n this._spotsFunctions?.changeIconDataForSelectedFrames(spot._frameIconData!)\r\n spot.showEditMode(true);\r\n this._currentEditedSpot = spot;\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n else if(target.parent instanceof Spots){\r\n\r\n // => click on stage\r\n\r\n functions.selectAllPageSpots(false);\r\n\r\n if(this._currentEditedSpot) {\r\n this._currentEditedSpot.showEditMode(false);\r\n this._currentEditedSpot = null;\r\n }\r\n }\r\n\r\n if (!functions.hasSelectedSpots()) {\r\n // if no frames selected\r\n dispatchEventType(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED)\r\n }\r\n else if (functions.hasAllSpotsSelected()) {\r\n // if all spots selected\r\n dispatchEventType(EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A)\r\n }\r\n else {\r\n // if only few selected\r\n dispatchEventType(EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS)\r\n }\r\n\r\n //\r\n this.updateStage()\r\n }\r\n }\r\n\r\n public get innerSpots() {\r\n return this._innerSpots;\r\n }\r\n\r\n public set innerSpots(value: Array) {\r\n this._innerSpots = value;\r\n }\r\n\r\n private onAddedToStage(event: any) {\r\n if (event.target.stage != null) {\r\n this._canvasMouseTracker = new CanvasMouseTracker(this.stage);\r\n this._canvasMouseTracker.addMouseIcon('framesGridCreationIcon', framesGridCreationIcon)\r\n this._canvasMouseTracker.addMouseIcon('noAccessIcon', noAccessIcon)\r\n this._canvasMouseTracker.addMouseIcon('moveFramesIcon', moveFramesIcon)\r\n }\r\n }\r\n\r\n private onRemovedFromStage() {\r\n\r\n }\r\n\r\n public get isPageContainer() {\r\n return this._isPageContainer;\r\n }\r\n\r\n\r\n\r\n\r\n public get backgroundScaleX() {\r\n return this._hitLayer!.scaleX;\r\n }\r\n\r\n public get backgroundScaleY() {\r\n return this._hitLayer!.scaleY;\r\n }\r\n\r\n public initSpotsDtos(flyerPageDto: FlyerPageDto, originalPageWidth: number, originalPageHeight: number, isHorizontalOrientationForFrames: boolean, isSelectedAllFramesModeOn: boolean, selectedFrames?: FlyerPageSpotDto[]) {\r\n this._flyerPageDto = flyerPageDto;\r\n this._spotsFunctions?.initSpotsDtos(flyerPageDto, originalPageWidth, originalPageHeight, isHorizontalOrientationForFrames, isSelectedAllFramesModeOn, selectedFrames);\r\n this.updateStage();\r\n }\r\n\r\n public updateStage() {\r\n if (this.stage) {\r\n this.stage.update();\r\n }\r\n let functions = this._spotsFunctions!;\r\n const selectedSpotsArray = functions.selectedSpots();\r\n const selectedSpotsDataArray = functions.selectedSpotsDataFromCanvas();\r\n dispatchEventDataType(EVENT_TYPE_GET_ALL_SELECTED_SPOTS, {\r\n selectedFrames: selectedSpotsArray,\r\n selectedFramesData: selectedSpotsDataArray\r\n });\r\n }\r\n\r\n public setNextGgridSize(rows: number, columns: number) {\r\n this._nextGgridSize = new Point()\r\n this._nextGgridSize.y = rows;\r\n this._nextGgridSize.x = columns;\r\n\r\n this._canvasMouseTracker!.showMouseIcon('framesGridCreationIcon');\r\n }\r\n\r\n public get nextGgridSize() {\r\n return this._nextGgridSize;\r\n }\r\n\r\n public get isRightCollider() {\r\n return this._isRightCollider;\r\n }\r\n public set isRightCollider(value: boolean) {\r\n this._isRightCollider = value;\r\n }\r\n public get isBottomCollider() {\r\n return this._isBottomCollider;\r\n }\r\n public set isBottomCollider(value: boolean) {\r\n this._isBottomCollider = value;\r\n }\r\n\r\n public get pageWidth(): number {\r\n return this._pageWidth\r\n }\r\n public get pageHeigth(): number {\r\n return this._pageHeigth\r\n }\r\n\r\n public get isInCtrlClickMode(): boolean {\r\n return this._isInCtrlClickMode\r\n }\r\n public set isInCtrlClickMode(value: boolean) {\r\n this._isInCtrlClickMode = value\r\n }\r\n\r\n public get spotsFunctions(): SpotsFunctions | null {\r\n return this._spotsFunctions\r\n }\r\n\r\n public get redStokedShape(): createjs.Shape | null {\r\n return this._redStokedShape\r\n }\r\n\r\n public set redStokedShape(value: createjs.Shape | null) {\r\n this._redStokedShape = value;\r\n }\r\n\r\n public get isMouseDown(): boolean {\r\n return this._isMouseDown\r\n }\r\n public set isMouseDown(value: boolean) {\r\n this._isMouseDown = value\r\n }\r\n\r\n public get mouseX0(): number {\r\n return this._mouseX0\r\n }\r\n public set mouseX0(value: number) {\r\n this._mouseX0 = value\r\n }\r\n public get mouseY0(): number {\r\n return this._mouseY0\r\n }\r\n public set mouseY0(value: number) {\r\n this._mouseY0 = value\r\n }\r\n public get currentMouseX(): number {\r\n return this._currentMouseX\r\n }\r\n public set currentMouseX(value: number) {\r\n this._currentMouseX = value\r\n }\r\n\r\n public get currentMouseY(): number {\r\n return this._currentMouseY\r\n }\r\n public set currentMouseY(value: number) {\r\n this._currentMouseY = value\r\n }\r\n public get lastMouseX(): number {\r\n return this._lastMouseX\r\n }\r\n public set lastMouseX(value: number) {\r\n this._lastMouseX = value\r\n }\r\n\r\n public get lastMouseY(): number {\r\n return this._lastMouseY\r\n }\r\n public set lastMouseY(value: number) {\r\n this._lastMouseY = value\r\n }\r\n public get currentSpotsContainer(): Spots | null {\r\n return this._currentSpotsContainer\r\n }\r\n public set currentSpotsContainer(value: Spots | null) {\r\n this._currentSpotsContainer = value\r\n }\r\n public get canvasMouseTracker(): CanvasMouseTracker | null {\r\n return this._canvasMouseTracker\r\n }\r\n\r\n public get isInScallingIndividualSpotsMode(): boolean {\r\n return this._isInScallingIndividualSpotsMode\r\n }\r\n public set isInScallingIndividualSpotsMode(value: boolean) {\r\n this._isInScallingIndividualSpotsMode = value\r\n }\r\n\r\n public get currentSelectedSpotsDtos(): SpotModelViewDto[] | null {\r\n return this._currentSelectedSpotsDtos\r\n }\r\n public set currentSelectedSpotsDtos(value: SpotModelViewDto[] | null) {\r\n this._currentSelectedSpotsDtos = value\r\n }\r\n public get currentSelectedSpotScallerDto(): SpotModelViewDto | null {\r\n return this._currentSelectedSpotScallerDto\r\n }\r\n public set currentSelectedSpotScallerDto(value: SpotModelViewDto | null) {\r\n this._currentSelectedSpotScallerDto = value\r\n }\r\n public get isInMoveSpotsMode(): boolean {\r\n return this._isInMoveSpotsMode\r\n }\r\n public set isInMoveSpotsMode(value: boolean) {\r\n this._isInMoveSpotsMode = value\r\n }\r\n public get spotsTranslationManager(): SpotsTranslationManager | null {\r\n return this._spotsTranslationManager\r\n }\r\n public get translationOffsetX(): number {\r\n return this._translationOffsetX\r\n }\r\n public set translationOffsetX(value: number) {\r\n this._translationOffsetX = value\r\n }\r\n public get translationOffsetY(): number {\r\n return this._translationOffsetY\r\n }\r\n public set translationOffsetY(value: number) {\r\n this._translationOffsetY = value\r\n }\r\n public set nextGgridSize(value: Point | null) {\r\n this._nextGgridSize = value\r\n }\r\n public get persistenceManager(): SpotsPersistenceManager | null {\r\n return this._persistenceManager\r\n }\r\n public get flyerPageDto(): FlyerPageDto | null {\r\n return this._flyerPageDto\r\n }\r\n public get isInCollisionState(): boolean {\r\n return this._isInCollisionState\r\n }\r\n public set isInCollisionState(value: boolean) {\r\n this._isInCollisionState = value\r\n }\r\n}","import {useDispatch} from 'react-redux';\r\n\r\nimport React, {useRef, forwardRef, Ref, useImperativeHandle, useEffect} from 'react'\r\n\r\nimport {useTypedSelector} from '../../../../../../hooks/useTypeSelector';\r\n\r\nimport {FlyerPageDto, FlyerPageSpotDto, PopupSettings} from '../../../../../../dtos'\r\nimport Canvas, {ICanvasRef} from '../../../../../../com/canvas/Canvas'\r\n\r\nimport Loader from '../../../../../../com/loader/Loader'\r\n\r\nimport {Spots} from '../../../../../com/canvas/spots/Spots'\r\n\r\nimport './FlyerPage.scss'\r\nimport {useState} from 'react'\r\n// import {ReactComponent as ImageWithError} from \"../../../../../../assets/editors/image_with_error.svg\";\r\n\r\n\r\nimport {\r\n EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE,\r\n\r\n addEventTypeListener,\r\n removeEventTypeListener\r\n} from '../../../../../../globals/EventDispatcher'\r\nimport {\r\n FLYER_CANVAS_HEIGHT,\r\n FLYER_CANVAS_WIDTH,\r\n getCanvasSize, getCanvasWrapperSize,\r\n updateCanvasSize\r\n} from '../../../../../../globals';\r\nimport {getFlippingFlyer} from \"../../../../../../store\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport StatusPopup from \"../../../../../../com/statusPopup/StatusPopup\";\r\nimport {ActionType} from \"../../../../../../store/actionTypes\";\r\nimport {getSettingsForPopup} from \"../../../../pages/getSetttingsForPopup\";\r\nimport {getIconStyle} from \"../../../../../../globals/globFunctions\";\r\n\r\nexport interface IFlyerPageRef {\r\n setNextGridSize: (rows: number, columns: number) => void;\r\n reInit: () => void;\r\n showLoader: (value: boolean) => void;\r\n}\r\n\r\nexport interface IFlyerPage {\r\n data?: FlyerPageDto,\r\n isDisabledZoom: boolean;\r\n selectedFrames: FlyerPageSpotDto[];\r\n setSelectedFrames: (frames: FlyerPageSpotDto[]) => void;\r\n}\r\n\r\n\r\nexport const FlyerPage = forwardRef((props: IFlyerPage, ref: Ref) => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyerIconStyleType = flyerDetailsState.flyGusRec?.gusIconContrast || 1;\r\n const iconStyleData = getIconStyle(flyerIconStyleType);\r\n const {toggleActionsForFlyers} = useTypedSelector((state) => state);\r\n\r\n let spotsState = useTypedSelector((state) => state.spots);\r\n\r\n useImperativeHandle(ref, () => ({\r\n reInit,\r\n showLoader,\r\n setNextGridSize,\r\n }));\r\n\r\n const timer = useRef();\r\n const canvasRef = useRef(null);\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isModalPopup, setModalPopup] = useState(false);\r\n const [popupSettings, setPopupSettings] = useState({})\r\n\r\n let canvasWidth = FLYER_CANVAS_WIDTH;\r\n let canvasHeigth = FLYER_CANVAS_HEIGHT;\r\n\r\n const spots = useRef(null)\r\n if (spots.current === null) {\r\n spots.current = new Spots(true, canvasWidth, canvasHeigth, flyerDetailsState.flyFstRec.fstCaption !== \"Published\", props.isDisabledZoom, iconStyleData)\r\n }\r\n\r\n const reInit = () => {\r\n dispose();\r\n // init\r\n spots.current = new Spots(true, canvasWidth, canvasHeigth, flyerDetailsState.flyFstRec.fstCaption !== \"Published\", props.isDisabledZoom, iconStyleData);\r\n }\r\n\r\n const dispose = () => {\r\n\r\n if (spots.current) {\r\n spots.current!.dispose();\r\n if (spots.current!.parent) {\r\n spots.current!.parent.removeChild(spots.current!)\r\n }\r\n spots.current = null;\r\n }\r\n\r\n if (canvasRef.current) {\r\n canvasRef.current.reInitCanvas();\r\n }\r\n }\r\n\r\n const showLoader = (value: boolean) => {\r\n setIsLoading(value)\r\n }\r\n\r\n const setNextGridSize = (rows: number, columns: number) => {\r\n spots.current!.setNextGgridSize(rows, columns)\r\n }\r\n\r\n const handlePresistency = () => {\r\n if (spots.current) {\r\n let flyerPageDto = spots.current.flyerPageDto!;\r\n spots.current.persistenceManager?.save(flyerPageDto.flpRecId!, dispatch, flyerPageDto);\r\n }\r\n }\r\n\r\n const reInitCanvas = () => {\r\n if (props.data !== null && canvasRef.current && props.data?.flyerPageSpots) {\r\n\r\n reInit();\r\n const {containerWidth, containerHeight} = getCanvasWrapperSize();\r\n let canvasDimensions = getCanvasSize(props.data!.flpWidthPx!, props.data!.flpHeightPx!, toggleActionsForFlyers.isZoomIn, containerWidth, containerHeight)\r\n\r\n updateCanvasSize(\r\n spots.current!,\r\n props.data!.flpWidthPx!,\r\n props.data!.flpHeightPx!,\r\n toggleActionsForFlyers.isZoomIn\r\n )\r\n\r\n // IMPORTANT:\r\n // ----------\r\n // this props.data is a FlyerPageDto dto and is comming from the flyer reducer so\r\n // since we handle its internal content inside spots its values will persist from\r\n // page to page.\r\n spots.current!.initSpotsDtos(props.data!, canvasDimensions.width, canvasDimensions.height, spotsState.isHorizontalOrientationForFrames, spotsState.isSelectAll, props.selectedFrames)\r\n // spots.current!.initSpotsDtos(props.data!, originalDimensions.originalWidth, originalDimensions.originalHeight)\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (props.data !== null && canvasRef.current && props.data?.flyerPageSpots) {\r\n\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n\r\n timer.current = setTimeout(() => {\r\n setIsLoading(false);\r\n }, 2000);\r\n reInitCanvas();\r\n } else {\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n\r\n return () => {\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n };\r\n\r\n }, [props.data, props.isDisabledZoom, toggleActionsForFlyers.isZoomIn]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', reInitCanvas);\r\n return() => {\r\n window.removeEventListener('resize', reInitCanvas);\r\n }\r\n }, [props.data]);\r\n\r\n useEffect(() => {\r\n if (flippingFlyerState.type === ActionType.POST_FLYER_SPOTS_SUCCESS\r\n ) {\r\n if (flippingFlyerState.type === ActionType.POST_FLYER_SPOTS_SUCCESS) {\r\n let message = [];\r\n let modalName = `successfullyUpload`;\r\n if (flippingFlyerState.successInfo && flippingFlyerState.successInfo.severityLevel === 'Info') {\r\n message = flippingFlyerState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n .filter(key => key !== '');\r\n modalName = `successfullyUploadWithSomeErrors`;\r\n } else {\r\n message.push(`Frames uploaded successfully`);\r\n }\r\n setPopupSettings({\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: message,\r\n modalName: modalName,\r\n }\r\n )\r\n }\r\n setModalPopup(true);\r\n }\r\n\r\n setIsLoading(flippingFlyerState.loading)\r\n }, [flippingFlyerState.loading])\r\n\r\n useEffect(() => {\r\n\r\n if (spotsState.type === \"POST_FLYER_SPOTS_DELETE_SUCCESS\") {\r\n // if(spotsState.type === \"POST_FLYER_SPOTS_DELETE_SUCCESS\" || spotsState.type === \"POST_FLYER_SPOTS_CREATE_SUCCESS\"){\r\n dispatch(getFlippingFlyer(props.data!.flpFlyRecId!))\r\n } else if (spotsState.loading === true) {\r\n showLoader(true)\r\n } else {\r\n if (spotsState.type?.includes('SUCCESS')) {\r\n if (spots.current && spots.current.flyerPageDto) {\r\n const newSelectedFramesState: FlyerPageSpotDto[] = [];\r\n spotsState.spots?.forEach((frame: FlyerPageSpotDto) => {\r\n const findUpdateFrameInSelectedFrames = props.selectedFrames.find((selectedFrame: FlyerPageSpotDto) => frame.fpsPositionNo === selectedFrame.fpsPositionNo);\r\n if (findUpdateFrameInSelectedFrames) {\r\n newSelectedFramesState.push({\r\n ...frame,\r\n fpsX0px: findUpdateFrameInSelectedFrames.fpsX0px,\r\n fpsY0px: findUpdateFrameInSelectedFrames.fpsY0px\r\n })\r\n }\r\n });\r\n if (newSelectedFramesState.length) {\r\n props.setSelectedFrames(newSelectedFramesState)\r\n }\r\n spots.current!.updateSpotsDtos(spotsState.spots!);\r\n }\r\n\r\n setTimeout(() => {\r\n showLoader(false)\r\n }, 100);\r\n } else if (spotsState.type?.includes('ERROR')) {\r\n showLoader(false)\r\n }\r\n\r\n }\r\n }, [spotsState])\r\n\r\n useEffect(() => {\r\n addEventTypeListener(EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE, handlePresistency)\r\n\r\n return () => {\r\n // on unmount\r\n\r\n removeEventTypeListener(EVENT_TYPE_READY_FOR_SPOTS_PERSISTENCY_SAVE);\r\n\r\n dispose();\r\n }\r\n }, []);\r\n\r\n let settingsForPopup = getSettingsForPopup(popupSettings);\r\n return (\r\n
\r\n \r\n \r\n\r\n {isLoading &&\r\n
\r\n \r\n
\r\n }\r\n {isModalPopup && setModalPopup(false)}\r\n />\r\n }\r\n
\r\n )\r\n})\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowRightSlim(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 52,\n viewBox: \"0 0 22 52\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.00225 2L19.0938 26L2.00225 50\",\n stroke: \"#FFFDF9\",\n strokeWidth: 4\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRightSlim);\nexport default __webpack_public_path__ + \"static/media/arrow_right_slim.2f602b86.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaxRightPaginationArrowIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 17,\n viewBox: \"0 0 18 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 2.38L6.62 8.5L0.5 14.62L2.38 16.5L10.38 8.5L2.38 0.5L0.5 2.38ZM14.38 0.5H17.0467V16.5H14.38V0.5Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaxRightPaginationArrowIcon);\nexport default __webpack_public_path__ + \"static/media/max_right_pagination_arrow_icon.4c1451f2.svg\";\nexport { ForwardRef as ReactComponent };","\r\nimport { ReactComponent as ChevronLeft } from '../../../../../assets/frames_screen/arrow_left_slim.svg';\r\nimport { ReactComponent as ChevronRight } from '../../../../../assets/frames_screen/arrow_right_slim.svg';\r\n\r\nimport './FlyerArrow.scss'\r\nimport React from \"react\";\r\nimport {Box} from \"@mui/material\";\r\n\r\ninterface IFlyersArrow {\r\n disabled: boolean,\r\n onClick: (type: string) => void,\r\n arrowType: string\r\n}\r\n\r\nexport const FlyerArrow: React.FC = (props) => {\r\n\r\n \r\n const classNames = () => {\r\n let classes = 'flyers_arrow_button';\r\n\r\n if (props.arrowType === 'left') {\r\n classes += ' arrowLeft';\r\n }\r\n if (props.arrowType === 'right') {\r\n classes += ' arrowRight';\r\n }\r\n\r\n if (props.disabled) {\r\n classes += ' disabledArrows';\r\n }\r\n\r\n return classes;\r\n }\r\n\r\n return (\r\n \r\n props.onClick(props.arrowType)}\r\n className={classNames()}>\r\n\r\n { props.arrowType === 'left' ? : }\r\n\r\n \r\n\r\n \r\n )\r\n}\r\n\r\n","\r\nimport { FlyerArrow } from './arrow/FlyerArrow'\r\n\r\nimport './FlyerPagesArrows.scss'\r\n\r\ninterface IFlyerArrows {\r\n onLeftArrowClick: () => void;\r\n onNextArrowClick: () => void;\r\n pageIndex: number;\r\n totalPages: number;\r\n}\r\n\r\nexport const FlyerPagesArrows: React.FC = (props) => {\r\n\r\n const isDisabled = (arrowType: string) => {\r\n if(arrowType === 'left'){\r\n let disabled = false;\r\n\r\n if(props.pageIndex === 0){\r\n disabled = true;\r\n }\r\n return disabled;\r\n } else {\r\n let disabled = false;\r\n\r\n if(props.pageIndex === props.totalPages - 1){\r\n disabled = true;\r\n }\r\n return disabled;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n )\r\n}","import createjs from 'createjs-module';\r\nimport { Dimensions } from '../../../../../../../globals/Dimensions';\r\n\r\nexport class GridItem extends createjs.Container {\r\n\r\n private isSelected?: boolean;\r\n private rectOff?: createjs.Shape;\r\n private rectOn?: createjs.Shape;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n init() {\r\n var rectOff = new createjs.Shape();\r\n rectOff.graphics\r\n .setStrokeStyle(1)\r\n .beginStroke('#D3D3D3')\r\n .beginFill('#FFFFFF')\r\n .drawRect(0, 0, 24, 24)\r\n .endFill();\r\n this.addChild(rectOff);\r\n\r\n var rectOn = new createjs.Shape();\r\n rectOn.graphics\r\n .setStrokeStyle(2)\r\n .beginStroke('#18A0FB')\r\n .beginFill('#FFFFFF')\r\n .drawRect(0, 0, 24, 24)\r\n .endFill();\r\n this.addChild(rectOn);\r\n\r\n this.rectOff = rectOff;\r\n this.rectOn = rectOn;\r\n\r\n this.showSelected(false);\r\n\r\n this.setBounds(0,0,24,24);\r\n\r\n this.mouseChildren = false;\r\n this.mouseEnabled = false;\r\n }\r\n\r\n public showSelected(value: boolean): void {\r\n this.isSelected = value;\r\n\r\n if (this.isSelected) {\r\n this.rectOn!.visible = true;\r\n } else {\r\n this.rectOn!.visible = false;\r\n }\r\n }\r\n}\r\n","import createjs, { Point } from 'createjs-module';\r\nimport { Dimensions } from '../../../../../../../globals/Dimensions';\r\nimport { GridItem } from './GridItem';\r\n\r\nexport class Grid extends createjs.Container {\r\n \r\n _mousePoisition?: Point;\r\n _isInDragMode: boolean = false;\r\n _gridItems?: Array;\r\n\r\n _onGridSizeSelected: Function | null = null;\r\n\r\n _totalSelectedRows: number = 3;\r\n _totalSelectedColumns: number = 3;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n createBackground(){\r\n var rectOff = new createjs.Shape();\r\n rectOff.graphics\r\n .setStrokeStyle(1)\r\n .beginStroke('#D3D3D3')\r\n .beginFill('#FFFFFF')\r\n .drawRoundRect(0, 0, 218, 218, 5);\r\n this.addChild(rectOff);\r\n }\r\n\r\n public set onGridSizeSelected(value: Function){\r\n this._onGridSizeSelected = value;\r\n }\r\n\r\n init() {\r\n\r\n this.setBounds(0,0,218,218);\r\n this.createBackground();\r\n\r\n let totalColumns = 7;\r\n let totalRows = 7;\r\n\r\n let offsetX = 10;\r\n let offsetY = 10;\r\n \r\n this._gridItems = new Array();\r\n \r\n for (let i = 0; i < totalRows; i++) {\r\n \r\n for (let j = 0; j < totalColumns; j++) {\r\n \r\n var gridItem = new GridItem()\r\n gridItem.init()\r\n\r\n this.addChild(gridItem)\r\n\r\n gridItem.y = offsetY + (gridItem.getBounds().height + 5) * i\r\n gridItem.x = offsetX + (gridItem.getBounds().width + 5) * j\r\n\r\n this._gridItems.push(gridItem);\r\n }\r\n }\r\n\r\n this.addEventListener('click', (e: any) => {\r\n this._mousePoisition = new Point(e.stageX, e.stageY)\r\n\r\n console.log(\"-----------------\")\r\n console.log(this._mousePoisition?.x, this._mousePoisition?.y)\r\n\r\n this.showSelectedInnerGrid()\r\n })\r\n\r\n this.addEventListener('mousedown', (e: any) => {\r\n this._isInDragMode = true\r\n })\r\n\r\n this.addEventListener('pressup', (e: any) => {\r\n this._isInDragMode = false\r\n\r\n if(this._onGridSizeSelected){\r\n this._onGridSizeSelected(this._totalSelectedRows, this._totalSelectedColumns);\r\n }\r\n })\r\n\r\n this.addEventListener('pressmove', (e: any) => {\r\n if(!this._isInDragMode){\r\n return;\r\n }\r\n\r\n this._mousePoisition = new Point(e.stageX, e.stageY)\r\n\r\n // console.log(\"-----------------\")\r\n // console.log(this._mousePoisition?.x, this._mousePoisition?.y)\r\n\r\n this.showSelectedInnerGrid()\r\n })\r\n }\r\n\r\n showSelectedInnerGrid() {\r\n\r\n let totalColumns = 7;\r\n let totalRows = 7;\r\n\r\n let mousePoisition = this._mousePoisition;\r\n let mouseX = mousePoisition!.x - 10\r\n let mouseY = mousePoisition!.y - 10\r\n\r\n let relatedRow = Math.floor(mouseY / 24.0)\r\n let relatedColumn = Math.floor(mouseX / 24.0)\r\n\r\n if(relatedRow >= 1) {\r\n mouseY -= (relatedRow - 1) * 5\r\n }\r\n\r\n if(relatedColumn >= 1) {\r\n mouseX -= (relatedColumn - 1) * 5\r\n }\r\n\r\n relatedRow = Math.floor(mouseY / 24.0)\r\n relatedColumn = Math.floor(mouseX / 24.0)\r\n\r\n let gridItems = this._gridItems!;\r\n\r\n \r\n for (let i = 0; i < totalRows; i++) {\r\n \r\n for (let j = 0; j < totalColumns; j++) {\r\n\r\n let index = i * totalColumns + j\r\n const gridItem = gridItems[index];\r\n\r\n if(i <= relatedRow && j <= relatedColumn){ \r\n gridItem.showSelected(true)\r\n //console.log(`show grid item (${i},${j})`)\r\n }\r\n else {\r\n gridItem.showSelected(false)\r\n }\r\n }\r\n }\r\n\r\n // none zero\r\n this._totalSelectedRows = relatedRow + 1;\r\n this._totalSelectedColumns = relatedColumn + 1;\r\n\r\n this.stage.update();\r\n }\r\n}\r\n","import { useEffect, useRef } from 'react';\r\n\r\nimport Canvas, { ICanvasRef } from '../../../../../../com/canvas/Canvas';\r\nimport { Grid } from './grid/Grid';\r\n\r\nimport './SpotsSizeSelector.scss';\r\n\r\ninterface ISpotsSizeSelector {\r\n onGridSizeSelected: (rows: number, columns: number) => void\r\n}\r\n\r\nexport const SpotsSizeSelector: React.FC = (props) => {\r\n\r\n const canvasRef = useRef(null);\r\n\r\n const canvasWidth = 218;\r\n const canvasHeigth = 218;\r\n\r\n const createGrid = () => {\r\n var grid = new Grid();\r\n grid.onGridSizeSelected = props.onGridSizeSelected;\r\n grid.init();\r\n\r\n canvasRef.current!.addChild(grid);\r\n }\r\n\r\n useEffect(() => {\r\n createGrid();\r\n }, [])\r\n\r\n return (\r\n \r\n );\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaxLeftPaginationArrowIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 17,\n viewBox: \"0 0 18 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5 14.62L11.2123 8.5L17.5 2.38L15.5685 0.5L7.34932 8.5L15.5685 16.5L17.5 14.62ZM0.5 0.5H3.23973V16.5H0.5V0.5Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaxLeftPaginationArrowIcon);\nexport default __webpack_public_path__ + \"static/media/max_left_pagination_arrow_icon.ac8000cd.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRightPaginationArrowIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 17,\n viewBox: \"0 0 11 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.447876 14.8567L6.55454 8.75L0.447876 2.63L2.32788 0.75L10.3279 8.75L2.32788 16.75L0.447876 14.8567Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRightPaginationArrowIcon);\nexport default __webpack_public_path__ + \"static/media/right_pagination_arrow_icon.3e8a6f69.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLeftPaginationArrowIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 17,\n viewBox: \"0 0 11 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.38 14.6067L4.27333 8.5L10.38 2.38L8.5 0.5L0.5 8.5L8.5 16.5L10.38 14.6067Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLeftPaginationArrowIcon);\nexport default __webpack_public_path__ + \"static/media/left_pagination_arrow_icon.6d154823.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _rect2, _rect3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNewFramesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 0V4M4 8V4M4 4H0H8\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2,\n strokeLinejoin: \"bevel\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 12,\n y: 1,\n width: 7,\n height: 7,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 12,\n width: 7,\n height: 7,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 12,\n y: 12,\n width: 7,\n height: 7,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNewFramesIcon);\nexport default __webpack_public_path__ + \"static/media/new_frames_icon.ff932806.svg\";\nexport { ForwardRef as ReactComponent };","// import nextIcon from '../../../../assets/editors/navigation_bar_next.svg'\r\n// import superNextIcon from '../../../../assets/editors/navigation_bar_supernext.svg'\r\n// import backIcon from '../../../../assets/editors/navigation_bar_back.svg'\r\n// import superBackIcon from '../../../../assets/editors/navigation_bar_superback.svg'\r\n\r\nimport {ReactComponent as DoublechevronRight} from '../../../../assets/pagination/max_right_pagination_arrow_icon.svg';\r\nimport {ReactComponent as DoublechevronLeft} from '../../../../assets/pagination/max_left_pagination_arrow_icon.svg';\r\nimport {ReactComponent as ChevronRight} from '../../../../assets/pagination/right_pagination_arrow_icon.svg';\r\nimport {ReactComponent as ChevronLeft} from '../../../../assets/pagination/left_pagination_arrow_icon.svg';\r\n\r\n\r\nimport './TopBar.scss'\r\nimport React, {ChangeEvent, forwardRef, ReactElement, Ref, useEffect, useImperativeHandle, useState} from 'react'\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {FlyerFrameSettingDto, FlyerPageSpotDto, SelectPageForTabsDto} from \"../../../../dtos\";\r\nimport {setSelectedPageForTabs} from \"../../../../store/actionCreators/pagesActionCreators\";\r\nimport styles from './TopBar.module.scss';\r\nimport {SimpleConfirmPopup} from \"../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER\r\n} from \"../../../../globals/EventDispatcher\";\r\nimport validator from \"validator\";\r\nimport {getFlippingFlyer} from \"../../../../store\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Button, Input, Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n topBar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n flexFlow: \"row\",\r\n width: \"100%\",\r\n backgroundColor: \"white\",\r\n height: \"40px\",\r\n minHeight: \"40px\",\r\n maxHeight: \"40px\",\r\n },\r\n leftPart: {\r\n height: \"100%\",\r\n display: \"flex\"\r\n // width: \"33%\"\r\n },\r\n middlePart: (props: any) => ({\r\n height: \"100%\",\r\n flex: \"1 1 auto\",\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"4px\",\r\n alignItems: \"center\",\r\n justifyContent: props.screen === \"promos\" ? \"center\" : \"flex-start\"\r\n }),\r\n rightPart: {\r\n // width: \"33%\"\r\n height: \"100%\",\r\n display: \"flex\"\r\n },\r\n navigationBtn: {\r\n width: `32px`,\r\n height: `32px`,\r\n \"&.MuiButton-root\": {\r\n '&:hover': {\r\n backgroundColor: '#107EC61A',\r\n },\r\n \"&:disabled\": {\r\n opacity: \"0.4\"\r\n }\r\n }\r\n },\r\n counterBox: {\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"4px\",\r\n alignItems: \"center\",\r\n \"& > .MuiTypography-root\": {\r\n fontWeight: \"bold\",\r\n fontSize: \"14px\",\r\n // lineHeight: \"16px\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n color: \"#0b1423\",\r\n }\r\n },\r\n inputWrapper: {\r\n width: `64px`,\r\n height: \"26px\",\r\n border: \"1px solid #000000\",\r\n borderRadius: \"5px\",\r\n \"& > .MuiInput-input\": {\r\n fontWeight: \"bold\",\r\n fontSize: \"14px\",\r\n lineHeight: \"16px\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n color: \"#0b1423\",\r\n padding: \"4px\",\r\n }\r\n }\r\n}))\r\n\r\nexport interface ITopBarRef {\r\n showBack: () => void;\r\n showNext: () => void;\r\n}\r\n\r\ninterface ITopBar {\r\n total: number;\r\n // index zero based\r\n onPageIndexChanges: (index: number) => void;\r\n pageIndex: number;\r\n\r\n leftChildren?: ReactElement\r\n rightChildren?: ReactElement\r\n isDragStart?: boolean;\r\n selectedFramesData?: FlyerPageSpotDto[];\r\n currentFramesState?: FlyerFrameSettingDto;\r\n defaultFramesState?: FlyerFrameSettingDto;\r\n screen?: string\r\n}\r\n\r\nexport const TopBar = forwardRef((props: ITopBar, ref: Ref) => {\r\n const dispatch = useDispatch();\r\n const properties = {\r\n screen: props.screen || \"promos\"\r\n }\r\n const classes = useStyles(properties);\r\n useImperativeHandle(ref, () => ({showBack, showNext}));\r\n const [isShowConfirmExitPopup, setShowConfirmExitPopup] = useState(false);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let {spots} = useTypedSelector((state) => state);\r\n\r\n\r\n const [pageIndex, setPageIndex] = useState(props.pageIndex)\r\n const [tempPageIndex, setTempPageIndex] = useState(props.pageIndex)\r\n\r\n const onInputPageIndexChange = (e: ChangeEvent) => {\r\n const value = Number(e.target.value);\r\n if (value !== 0 && value <= props.total) {\r\n var currentValue = parseInt(e.target.value);\r\n checkerFrameStateBeforeChangeThePage(currentValue);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setPageIndex(selectedPageState.pageNo === 0 ? 1 : selectedPageState.pageNo);\r\n }, [selectedPageState])\r\n\r\n const showBack = () => {\r\n if (pageIndex > 1) {\r\n // dispatch(setSelectedPageForTabs({\r\n // pageNo: pageIndex - 1\r\n // }));\r\n checkerFrameStateBeforeChangeThePage(pageIndex - 1);\r\n }\r\n }\r\n\r\n const showNext = () => {\r\n if (pageIndex < props.total) {\r\n // dispatch(setSelectedPageForTabs({\r\n // pageNo: pageIndex + 1\r\n // }));\r\n checkerFrameStateBeforeChangeThePage(pageIndex + 1);\r\n }\r\n }\r\n\r\n const changePageIndex = (index: number) => {\r\n if (index < 1) {\r\n index = 1\r\n } else if (index > props.total) {\r\n index = props.total\r\n }\r\n\r\n dispatch(setSelectedPageForTabs({\r\n pageNo: index\r\n }));\r\n\r\n // pass zero based index\r\n props.onPageIndexChanges(index - 1)\r\n }\r\n\r\n const checkerFrameStateBeforeChangeThePage = (index: number) => {\r\n const isCurrentFramesStateSettingHasChanges = compareDefaultAndCurrentState();\r\n if (isCurrentFramesStateSettingHasChanges) {\r\n setTempPageIndex(index)\r\n setShowConfirmExitPopup(true)\r\n } else {\r\n changePageIndex(index);\r\n }\r\n }\r\n\r\n const onSaveFramesSetting = () => {\r\n if (props?.selectedFramesData?.length) {\r\n dispatchEventDataType(EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER, {\r\n selectedFrames: props.selectedFramesData,\r\n newData: props.currentFramesState,\r\n isHorizontalOrientationForFrames: spots.isHorizontalOrientationForFrames\r\n });\r\n }\r\n }\r\n\r\n const compareDefaultAndCurrentState = (): boolean => {\r\n return JSON.stringify(props.defaultFramesState) !== JSON.stringify(props.currentFramesState);\r\n }\r\n\r\n const checkerBeforeSavePromoDetails = () => {\r\n let isValid: boolean;\r\n switch (props?.currentFramesState?.fpsFrameType) {\r\n case 2:\r\n const isLegalNumber = Number(props.currentFramesState.fpsFrameLink) >= 1 && Number(props.currentFramesState.fpsFrameLink) <= flyerDetailsState?.flyerPages?.length;\r\n isValid = validator.isNumeric(props.currentFramesState.fpsFrameLink ? props.currentFramesState.fpsFrameLink : ``) && isLegalNumber;\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n case 6:\r\n isValid = validator.isURL(props.currentFramesState.fpsFrameLink ? props.currentFramesState.fpsFrameLink : ``);\r\n break;\r\n default:\r\n isValid = true;\r\n break;\r\n }\r\n if (!isValid) {\r\n\r\n } else {\r\n onSaveFramesSetting();\r\n changePageIndex(tempPageIndex);\r\n setTimeout(() => {\r\n dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n }, 500)\r\n }\r\n }\r\n\r\n const onCloseWithoutSaving = () => {\r\n setShowConfirmExitPopup(false);\r\n changePageIndex(tempPageIndex);\r\n };\r\n\r\n\r\n return (\r\n
\r\n {/*
*/}\r\n\r\n
\r\n {props.leftChildren}\r\n
\r\n\r\n
\r\n {\r\n props.total > 1 &&\r\n <>\r\n checkerFrameStateBeforeChangeThePage(1)}>\r\n \r\n \r\n showBack()}>\r\n \r\n \r\n \r\n }\r\n\r\n
\r\n {props.total === 1 ?\r\n \r\n {selectedPageState.pageNo === 0 ? 1 : selectedPageState.pageNo}\r\n :\r\n \r\n\r\n }\r\n {`/ ${props.total}`}\r\n
\r\n {\r\n props.total > 1 && <>\r\n showNext()}>\r\n \r\n \r\n checkerFrameStateBeforeChangeThePage(props.total)}>\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n
\r\n {props.rightChildren}\r\n
\r\n {props?.isDragStart &&
\r\n\r\n
}\r\n\r\n {isShowConfirmExitPopup && (\r\n \r\n )}\r\n\r\n\r\n
\r\n )\r\n})","import {forwardRef, Ref, useImperativeHandle, useState} from 'react';\r\n\r\nimport './Button.scss';\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {UserDto} from \"../../dtos\";\r\n\r\nexport interface IButtonRef {\r\n showOn: (value: boolean) => void\r\n}\r\n\r\ninterface IButton {\r\n svg?: React.FunctionComponent & { title?: string }>;\r\n colorOn: string;\r\n colorOff: string;\r\n text: string;\r\n onClick: (isOn: boolean) => void;\r\n isToggle?: boolean;\r\n}\r\n\r\nexport const ButtonForFramesTopBar = forwardRef((props: IButton, ref: Ref) => {\r\n\r\n useImperativeHandle(ref, () => ({showOn}));\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n }\r\n\r\n\r\n\r\n const [isOn, setIsOn] = useState(false);\r\n\r\n let imageClass = '';\r\n let imageFill = ''\r\n\r\n let textClass = '';\r\n let textColor = ''\r\n\r\n if (isOn) {\r\n imageClass = 'imageSelected';\r\n textClass = 'textSelected';\r\n\r\n imageFill = `${props.colorOn}`\r\n textColor = `${props.colorOn}`\r\n\r\n } else {\r\n imageClass = 'imageUnSelected';\r\n textClass = 'textUnSelected';\r\n\r\n imageFill = `${props.colorOff}`\r\n textColor = `${props.colorOff}`\r\n }\r\n\r\n let SVGICon = props.svg ? props.svg! : null\r\n\r\n const handleOnClick = () => {\r\n\r\n if (props.isToggle) {\r\n setIsOn((currentState: boolean) => {\r\n\r\n let nextState = !currentState\r\n props.onClick(nextState);\r\n\r\n return nextState\r\n });\r\n }\r\n }\r\n\r\n const handleMouseDown = () => {\r\n if (!props.isToggle) {\r\n setIsOn(true);\r\n }\r\n }\r\n\r\n const handleMouseUp = () => {\r\n if (!props.isToggle) {\r\n setIsOn(false);\r\n props.onClick(true);\r\n }\r\n }\r\n\r\n const showOn = (value: boolean) => {\r\n setIsOn(value)\r\n props.onClick(value);\r\n }\r\n\r\n return (\r\n \r\n {SVGICon &&\r\n \r\n }\r\n\r\n \r\n {props.text}\r\n \r\n
\r\n );\r\n});\r\n","var _rect, _rect2, _rect3, _rect4, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAutoNumberingHorizontalFramesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n y: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 11,\n y: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.283 2C15.6981 2 16.0569 2.0619 16.3592 2.18571C16.6667 2.30476 16.9024 2.47619 17.0664 2.7C17.2355 2.92381 17.3201 3.18333 17.3201 3.47857C17.3201 3.75476 17.2458 4.00476 17.0972 4.22857C16.9486 4.45238 16.7615 4.65 16.536 4.82143C16.3105 4.99286 16.0005 5.20238 15.6059 5.45C15.3855 5.58333 15.2062 5.69762 15.0678 5.79286H17.3816V7H13V6.65714C13 6.40476 13.0615 6.18095 13.1845 5.98571C13.3126 5.78571 13.4971 5.58571 13.738 5.38571C13.9839 5.18571 14.3375 4.91429 14.7988 4.57143C15.1677 4.3 15.4265 4.09286 15.5751 3.95C15.7238 3.80714 15.7981 3.66667 15.7981 3.52857C15.7981 3.38095 15.7417 3.25714 15.629 3.15714C15.5213 3.05714 15.3573 3.00714 15.137 3.00714C14.9064 3.00714 14.7245 3.06905 14.5912 3.19286C14.458 3.31667 14.3913 3.47857 14.3913 3.67857V3.82143H13.0231C13.0179 3.78333 13.0154 3.73095 13.0154 3.66429C13.0154 3.15 13.2075 2.74524 13.5919 2.45C13.9814 2.15 14.5451 2 15.283 2Z\",\n fill: \"#E5E5E5\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.05325 5.88244V7H3V5.88244H4.27298V3.62554H3V2.78374C3.34883 2.76439 3.73932 2.67973 4.17146 2.52975C4.6036 2.37494 4.98107 2.19836 5.30387 2H5.82712V5.88244H7.05325Z\",\n fill: \"#E5E5E5\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.24456 13C4.6577 13 5.01542 13.0585 5.31772 13.1756C5.62505 13.2926 5.85682 13.4518 6.013 13.6531C6.17423 13.8497 6.25484 14.0698 6.25484 14.3132C6.25484 14.5566 6.1843 14.7767 6.04323 14.9733C5.90216 15.1653 5.72078 15.301 5.4991 15.3806V15.4087C5.78628 15.493 6.00796 15.6404 6.16415 15.8511C6.32538 16.0571 6.40599 16.3076 6.40599 16.6025C6.38584 17.0145 6.19186 17.3516 5.82407 17.6138C5.46131 17.8713 4.92473 18 4.21433 18C3.72562 18 3.31499 17.9391 2.98247 17.8174C2.64994 17.6957 2.40306 17.5295 2.24184 17.3188C2.08061 17.1081 2 16.8717 2 16.6096V16.4621H3.33011C3.33011 16.846 3.5921 17.0379 4.11608 17.0379C4.64007 17.0379 4.90206 16.8226 4.90206 16.3919C4.90206 16.228 4.85168 16.1039 4.75091 16.0197C4.65518 15.9307 4.52922 15.8862 4.37304 15.8862H3.82134V15.0225H4.25212C4.40831 15.0225 4.53426 14.9803 4.62999 14.8961C4.73076 14.8071 4.78114 14.6807 4.78114 14.5169C4.78114 14.3624 4.72068 14.2313 4.59976 14.1236C4.48388 14.0159 4.32265 13.9621 4.11608 13.9621C3.89944 13.9621 3.73065 14.0136 3.60974 14.1166C3.48882 14.2196 3.42836 14.346 3.42836 14.4958H2.16626V14.3202C2.16626 14.0768 2.24688 13.8544 2.4081 13.6531C2.57437 13.4518 2.81368 13.2926 3.12606 13.1756C3.44347 13.0585 3.81631 13 4.24456 13Z\",\n fill: \"#E5E5E5\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9826 13C15.9467 13.2476 15.8237 13.5571 15.6136 13.9286C15.4035 14.2952 15.1524 14.6643 14.8603 15.0357C14.5733 15.4024 14.3042 15.7048 14.0531 15.9429H15.5751V14.9214C15.734 14.7119 15.8954 14.4643 16.0594 14.1786C16.2234 13.8929 16.331 13.6571 16.3823 13.4714H17.0357V15.9429H17.7736V16.9929H17.0357V18H15.5751V16.9929H13V15.9286C13.2767 15.5571 13.5509 15.1071 13.8225 14.5786C14.0941 14.05 14.3119 13.5238 14.4759 13H15.9826Z\",\n fill: \"#E5E5E5\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAutoNumberingHorizontalFramesIcon);\nexport default __webpack_public_path__ + \"static/media/auto_numbering_horizontal_frames_icon.6914f398.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _rect2, _rect3, _rect4, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAutoNumberingVerticalFramesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n y: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 11,\n y: 11,\n width: 9,\n height: 9,\n fill: \"#2A2A2A\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.28304 13C4.69814 13 5.05686 13.0619 5.35922 13.1857C5.6667 13.3048 5.90243 13.4762 6.06642 13.7C6.23554 13.9238 6.32009 14.1833 6.32009 14.4786C6.32009 14.7548 6.24579 15.0048 6.09717 15.2286C5.94856 15.4524 5.7615 15.65 5.53602 15.8214C5.31053 15.9929 5.00049 16.2024 4.60589 16.45C4.38553 16.5833 4.20617 16.6976 4.0678 16.7929H6.38159V18H2V17.6571C2 17.4048 2.0615 17.181 2.18449 16.9857C2.31261 16.7857 2.49709 16.5857 2.73795 16.3857C2.98394 16.1857 3.33754 15.9143 3.79876 15.5714C4.16773 15.3 4.42653 15.0929 4.57514 14.95C4.72376 14.8071 4.79807 14.6667 4.79807 14.5286C4.79807 14.381 4.7417 14.2571 4.62895 14.1571C4.52134 14.0571 4.35735 14.0071 4.13699 14.0071C3.90638 14.0071 3.72445 14.069 3.59121 14.1929C3.45797 14.3167 3.39135 14.4786 3.39135 14.6786V14.8214H2.02306C2.01794 14.7833 2.01537 14.731 2.01537 14.6643C2.01537 14.15 2.20755 13.7452 2.5919 13.45C2.98137 13.15 3.54509 13 4.28304 13Z\",\n fill: \"#E5E5E5\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.05325 5.88244V7H3V5.88244H4.27298V3.62554H3V2.78374C3.34883 2.76439 3.73932 2.67973 4.17146 2.52975C4.6036 2.37494 4.98107 2.19836 5.30387 2H5.82712V5.88244H7.05325Z\",\n fill: \"#E5E5E5\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.6254 2C16.0386 2 16.3963 2.05852 16.6986 2.17556C17.0059 2.2926 17.2377 2.45178 17.3939 2.65309C17.5551 2.84972 17.6357 3.06976 17.6357 3.3132C17.6357 3.55665 17.5652 3.77669 17.4241 3.97331C17.283 4.16526 17.1016 4.30103 16.88 4.38062V4.40871C17.1671 4.49298 17.3888 4.64045 17.545 4.85112C17.7062 5.05712 17.7868 5.30758 17.7868 5.60253C17.7667 6.01451 17.5727 6.35159 17.2049 6.61376C16.8422 6.87126 16.3056 7 15.5952 7C15.1065 7 14.6959 6.93914 14.3633 6.81742C14.0308 6.69569 13.7839 6.52949 13.6227 6.31882C13.4615 6.10815 13.3809 5.87172 13.3809 5.60955V5.46208H14.711C14.711 5.84597 14.973 6.03792 15.4969 6.03792C16.0209 6.03792 16.2829 5.82257 16.2829 5.39185C16.2829 5.228 16.2325 5.10393 16.1318 5.01966C16.036 4.93071 15.9101 4.88624 15.7539 4.88624H15.2022V4.02247H15.633C15.7892 4.02247 15.9151 3.98034 16.0108 3.89607C16.1116 3.80712 16.162 3.68071 16.162 3.51685C16.162 3.36236 16.1015 3.23127 15.9806 3.1236C15.8647 3.01592 15.7035 2.96208 15.4969 2.96208C15.2803 2.96208 15.1115 3.01358 14.9906 3.11657C14.8697 3.21957 14.8092 3.34597 14.8092 3.49579H13.5471V3.32022C13.5471 3.07678 13.6277 2.8544 13.789 2.65309C13.9552 2.45178 14.1945 2.2926 14.5069 2.17556C14.8243 2.05852 15.1972 2 15.6254 2Z\",\n fill: \"#E5E5E5\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.9826 13C15.9467 13.2476 15.8237 13.5571 15.6136 13.9286C15.4035 14.2952 15.1524 14.6643 14.8603 15.0357C14.5733 15.4024 14.3042 15.7048 14.0531 15.9429H15.5751V14.9214C15.734 14.7119 15.8954 14.4643 16.0594 14.1786C16.2234 13.8929 16.331 13.6571 16.3823 13.4714H17.0357V15.9429H17.7736V16.9929H17.0357V18H15.5751V16.9929H13V15.9286C13.2767 15.5571 13.5509 15.1071 13.8225 14.5786C14.0941 14.05 14.3119 13.5238 14.4759 13H15.9826Z\",\n fill: \"#E5E5E5\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAutoNumberingVerticalFramesIcon);\nexport default __webpack_public_path__ + \"static/media/auto_numbering_vertical_frames_icon.d1a8a7f1.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRenumberFramesIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 18,\n height: 18,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.21053 5L7.10526 15M13.1579 5L11.0526 15M15 8H5M15 12H5\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRenumberFramesIcon);\nexport default __webpack_public_path__ + \"static/media/renumber_frames_icon.b3695fe9.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgZoomInIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9,\n cy: 9,\n r: 8,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.2158 14.5156L18.9998 19.2996\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 8H13V10H5V8Z\",\n fill: \"#2A2A2A\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 5L10 13L8 13L8 5L10 5Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZoomInIcon);\nexport default __webpack_public_path__ + \"static/media/zoom_in_icon.7958d4f4.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {IButtonRef, ButtonForFramesTopBar} from \"../../../../../com/button/Button\";\r\n\r\nimport {ReactComponent as NewSpotsIcon} from \"../../../../../assets/editors/spots/new_frames_icon.svg\";\r\nimport {\r\n ReactComponent as AutoNumberingHorizontalIcon\r\n} from \"../../../../../assets/editors/spots/auto_numbering_horizontal_frames_icon.svg\";\r\nimport {\r\n ReactComponent as AutoNumberingVerticalIcon\r\n} from \"../../../../../assets/editors/spots/auto_numbering_vertical_frames_icon.svg\";\r\nimport {ReactComponent as RenumberFromIcon} from \"../../../../../assets/editors/spots/renumber_frames_icon.svg\";\r\nimport {ReactComponent as ChevronUpIcon} from \"../../../../../assets/editors/spots/arrow_up_icon.svg\";\r\nimport {ReactComponent as ChevronDownIcon} from \"../../../../../assets/editors/spots/arrow_down_icon.svg\";\r\nimport \"./SpotsTopBarControls.scss\";\r\nimport {\r\n EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM,\r\n addEventTypeListener,\r\n removeEventTypeListener, dispatchEventDataType,\r\n} from \"../../../../../globals/EventDispatcher\";\r\nimport {Box, Button, ClickAwayListener, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {changeOrientationNumberingForFrames} from \"../../../../../store/actionCreators/spotsActionCreators\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n orientationForFramesMenu: {\r\n position: `absolute`,\r\n // width: `200px`,\r\n top: `32px`,\r\n right: `0`,\r\n backgroundColor: `white`,\r\n zIndex: 1,\r\n border: `1px solid black`,\r\n display: `flex`,\r\n flexDirection: `column`,\r\n width: `192px`,\r\n '& .MuiTypography-root': {\r\n fontSize: `12px`,\r\n color: `#4D4D4D`,\r\n textAlign: `start`\r\n }\r\n },\r\n orientationForFrameOptionWrapper: {\r\n '&.MuiButton-root': {\r\n display: `flex`,\r\n alignItems: `center`,\r\n flexFlow: `row`,\r\n padding: `8px`,\r\n width: `100%`,\r\n columnGap: `8px`,\r\n cursor: `pointer`,\r\n borderRadius: `0`,\r\n '&:hover': {\r\n backgroundColor: `#e4e4e4`,\r\n },\r\n '&.activeOption': {\r\n backgroundColor: `#88888880`,\r\n }\r\n }\r\n }\r\n}))\r\n\r\ninterface ISpotsTopBarControls {\r\n showNewSpotControls: (value: boolean) => void;\r\n}\r\n\r\nexport const SpotsTopBarControls: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n const newSpotsButtonRef = useRef(null);\r\n const [isOpen, setOpen] = useState(false);\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n const {spots} = useTypedSelector((state) => state);\r\n const classes = useStyles();\r\n useEffect(() => {\r\n // executed once\r\n addEventTypeListener(EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED, () => {\r\n newSpotsButtonRef.current?.showOn(false);\r\n });\r\n\r\n return () => {\r\n removeEventTypeListener(EVENT_TYPE_ADD_SPOTS_GRID_COMPLETED);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n {\r\n spots.isHorizontalOrientationForFrames\r\n ?\r\n {\r\n dispatchEventDataType(EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER, spots.isHorizontalOrientationForFrames);\r\n }}\r\n />\r\n :\r\n {\r\n dispatchEventDataType(EVENT_TYPE_FLYER_PAGE_CONTROLS_AUTO_NUMBER, spots.isHorizontalOrientationForFrames);\r\n }}\r\n />\r\n }\r\n \r\n \r\n {isOpen ? : }\r\n \r\n {\r\n isOpen &&\r\n \r\n \r\n {\r\n dispatch(changeOrientationNumberingForFrames(true));\r\n // setHorizontalOrientationForAutoNumbering(true);\r\n handleToggle();\r\n }}\r\n >\r\n \r\n \r\n \r\n Horizontal numbering\r\n \r\n \r\n \r\n {\r\n dispatch(changeOrientationNumberingForFrames(false));\r\n handleToggle();\r\n }}\r\n >\r\n \r\n \r\n \r\n Vertical numbering\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n {\r\n dispatchEventDataType(EVENT_TYPE_FLYER_PAGE_CONTROLS_RENUMBER_FROM, spots.isHorizontalOrientationForFrames);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/garbage_icon.176291c0.svg\";","var _circle, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgZoomOutIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9,\n cy: 9,\n r: 8,\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.2158 14.5156L18.9998 19.2996\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 8H13V10H5V8Z\",\n fill: \"#2A2A2A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZoomOutIcon);\nexport default __webpack_public_path__ + \"static/media/zoom_out_icon.98d05a04.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFlyersLeftArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 48,\n viewBox: \"0 0 26 48\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.543798 25.317L22.8302 47.4815C23.568 48.1902 24.7436 48.1698 25.4562 47.4361C26.1513 46.7203 26.1513 45.5855 25.4562 44.8698L4.48287 24.0112L25.4562 3.15252C26.1813 2.43131 26.1813 1.26204 25.4562 0.540829C24.7309 -0.180275 23.5553 -0.180275 22.8301 0.540829L0.543798 22.7053C-0.181269 23.4267 -0.181269 24.5958 0.543798 25.317Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlyersLeftArrow);\nexport default __webpack_public_path__ + \"static/media/flyers_left_arrow.0a3074ff.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useState} from 'react';\r\nimport {Button} from \"@mui/material\";\r\nimport {ReactComponent as ZoomInIcon} from \"../../../../../../assets/promos&items/zoom_in_icon.svg\";\r\nimport {ReactComponent as ZoomOutIcon} from \"../../../../../../assets/promos&items/zoom_out_icon.svg\";\r\nimport {useTypedSelector} from \"../../../../../../hooks/useTypeSelector\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n toggleFlyerZoomInModeForFramesPromosScreens\r\n} from \"../../../../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\n\r\nconst ZoomInOut = () => {\r\n const dispatch = useDispatch();\r\n const {toggleActionsForFlyers} = useTypedSelector((state) => state);\r\n const [isZoomIn, setIsZoomIn] = useState(toggleActionsForFlyers.isZoomIn);\r\n\r\n useEffect(() => {\r\n setIsZoomIn(toggleActionsForFlyers.isZoomIn)\r\n }, [toggleActionsForFlyers.isZoomIn])\r\n const onZoom = () => {\r\n dispatch(toggleFlyerZoomInModeForFramesPromosScreens());\r\n }\r\n\r\n return (\r\n \r\n {isZoomIn ? : }\r\n \r\n );\r\n}\r\n\r\nexport default ZoomInOut;","import React, {useEffect, useState} from 'react'\r\nimport garbageIcon from '../../../../../../assets/editors/garbage_icon.svg';\r\nimport {\r\n\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS,\r\n EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS,\r\n\r\n EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS,\r\n EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A,\r\n EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED,\r\n\r\n // EVENT_TYPE_PAGE_INDEX_CHANGED,\r\n\r\n dispatchEventType,\r\n removeEventTypeListener,\r\n addEventTypeListener, addEventDataTypeListener,\r\n} from '../../../../../../globals/EventDispatcher'\r\n\r\nimport './FlyerPageControls.scss'\r\nimport {useTypedSelector} from \"../../../../../../hooks/useTypeSelector\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {toggleSelectAllMode} from \"../../../../../../store/actionCreators/spotsActionCreators\";\r\nimport {FlyerPageSpotDto, UserDto} from \"../../../../../../dtos\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Button, Checkbox, FormControlLabel} from \"@mui/material\";\r\nimport ZoomInOut from \"./zoomInOut\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n pagesControls: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n flexFlow: \"row\",\r\n columnGap: \"4px\",\r\n padding: \"0 12px 0 0\",\r\n },\r\n checkboxWithLabelWrapper: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n flexFlow: \"row\",\r\n \"& > .MuiTypography-root\": {\r\n width: \"80px\",\r\n lineHeight: 1,\r\n fontSize: \"14px\",\r\n fontWeight: \"700\",\r\n paddingTop: \"2px\"\r\n }\r\n },\r\n trashIcon: {\r\n \"&.MuiButton-root\": {\r\n width: \"20px\",\r\n height: \"20px\",\r\n \"&:disabled\": {\r\n opacity: \"0.4\"\r\n }\r\n }\r\n }\r\n}))\r\n\r\ninterface IFlyerPageControls {\r\n // selectAllPageSpots: (value: boolean) => void\r\n // deleteAllPageSpots: () => void\r\n setZoomStatus: any;\r\n pageIndex: number;\r\n selectedFrames?: FlyerPageSpotDto[];\r\n framesOnPage: FlyerPageSpotDto[];\r\n}\r\n\r\n// class properties methods\r\nexport const FlyerPageControls: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let {spots} = useTypedSelector((state) => state);\r\n const classes = useStyles();\r\n // const [isAllChecked, setIsAllChecked] = useState(false)\r\n //\r\n // const getNAme = () => {\r\n // return \"name\"\r\n // }\r\n\r\n // const keyboardManager = useRef(null);\r\n // if(keyboardManager.current === null){\r\n // keyboardManager.current = KeyboardManager.getInstance();\r\n // keyboardManager.current.addEventListener(KeyboardManager.CTRL_A, () => {\r\n\r\n // if(isAllChecked){\r\n // props.selectAllPageSpots(isAllChecked)\r\n // }\r\n // setIsAllChecked(true)\r\n // })\r\n // }\r\n\r\n // useEffect(() => {\r\n // // props.selectAllPageSpots(isAllChecked)\r\n // }, [isAllChecked])\r\n\r\n const [garbageIconClass, setGarbageIconClass] = useState('garbadge_icon_disable');\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n }\r\n\r\n useEffect(() => {\r\n if (spots.isSelectAll) {\r\n dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS);\r\n } else {\r\n dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS);\r\n }\r\n\r\n }, [spots.isSelectAll]);\r\n\r\n useEffect(() => {\r\n if (props.selectedFrames?.length) {\r\n setGarbadgeIconEnabled(true);\r\n } else {\r\n setGarbadgeIconEnabled(false);\r\n }\r\n }, [props.selectedFrames]);\r\n\r\n useEffect(() => {\r\n if (props.framesOnPage.length === 0) {\r\n dispatch(toggleSelectAllMode(false));\r\n }\r\n }, [props.framesOnPage]);\r\n\r\n useEffect(() => {\r\n\r\n addEventTypeListener(EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A, () => {\r\n // props.selectAllPageSpots(true)\r\n // setIsAllChecked(true)\r\n dispatch(toggleSelectAllMode(true));\r\n setGarbadgeIconEnabled(true);\r\n })\r\n\r\n addEventTypeListener(EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS, () => {\r\n // props.selectAllPageSpots(true)\r\n dispatch(toggleSelectAllMode(false));\r\n // setIsAllChecked(false)\r\n setGarbadgeIconEnabled(true);\r\n })\r\n\r\n addEventTypeListener(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED, () => {\r\n // setIsAllChecked(false);\r\n dispatch(toggleSelectAllMode(false));\r\n setGarbadgeIconEnabled(false);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS, (data) => {\r\n dispatch(toggleSelectAllMode(data.data));\r\n setGarbadgeIconEnabled(true);\r\n })\r\n\r\n // addEventTypeListener(EVENT_TYPE_PAGE_INDEX_CHANGED, () => {\r\n // // since we are changing page => we need to disable the checkbox etc.\r\n // spots.isSelectAll ?\r\n // dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS) :\r\n // dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS);\r\n // });\r\n\r\n\r\n return () => {\r\n removeEventTypeListener(EVENT_TYPE_SPOTS_ALL_SPOTS_SELECTED_WITH_CTRL_A)\r\n removeEventTypeListener(EVENT_TYPE_SPOTS_UNSELECT_ONE_OR_MORE_SPOTS)\r\n removeEventTypeListener(EVENT_TYPE_SPOTS_NO_SPOTS_SELECTED)\r\n removeEventTypeListener(EVENT_TYPE_SPOTS_SELECT_ONE_OR_MORE_SPOTS)\r\n // removeEventTypeListener(EVENT_TYPE_PAGE_INDEX_CHANGED)\r\n // component will unmount\r\n // if(keyboardManager.current) {\r\n // keyboardManager.current.dispose();\r\n // }\r\n\r\n }\r\n }, [])\r\n\r\n const setGarbadgeIconEnabled = (value: boolean) => {\r\n if (value) {\r\n setGarbageIconClass('')\r\n } else {\r\n setGarbageIconClass('garbadge_icon_disable')\r\n }\r\n }\r\n\r\n return (\r\n
\r\n\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n\r\n {/*
*/}\r\n {\r\n let newState = !spots.isSelectAll;\r\n // console.log(props.pageIndex);\r\n dispatch(toggleSelectAllMode(newState));\r\n newState ?\r\n dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_SELECT_ALL_SPOTS) :\r\n dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_UNSELECT_ALL_SPOTS)\r\n }}\r\n />\r\n\r\n }\r\n label={spots.isSelectAll ? `Deselect All` : `Select All`}\r\n />\r\n {\r\n // if(!isAllChecked) {\r\n // return;\r\n // }\r\n dispatchEventType(EVENT_TYPE_FLYER_PAGE_CONTROLS_DELETE_SPOTS)\r\n // setIsAllChecked(false)\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFlyersRightArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 48,\n viewBox: \"0 0 26 48\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4562 22.683L3.16985 0.518463C2.43205 -0.190195 1.25635 -0.169849 0.543801 0.563918C-0.151342 1.27972 -0.151342 2.41446 0.543801 3.13015L21.5171 23.9888L0.543801 44.8475C-0.181267 45.5687 -0.181267 46.738 0.543801 47.4592C1.26909 48.1803 2.44467 48.1803 3.16985 47.4592L25.4562 25.2947C26.1813 24.5733 26.1813 23.4042 25.4562 22.683Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFlyersRightArrow);\nexport default __webpack_public_path__ + \"static/media/flyers_right_arrow.debe5dae.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAddToMyListIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38 41.5C38 42.8807 36.8807 44 35.5 44C34.1193 44 33 42.8807 33 41.5C33 40.1193 34.1193 39 35.5 39C36.8807 39 38 40.1193 38 41.5Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 41.5C28 42.8807 26.8807 44 25.5 44C24.1193 44 23 42.8807 23 41.5C23 40.1193 24.1193 39 25.5 39C26.8807 39 28 40.1193 28 41.5Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 14H18.4L24.0332 37H37.324L39.062 30.6M20.8 24.0004H32.8\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44 24H36\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40 28L40 20\",\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAddToMyListIcon);\nexport default __webpack_public_path__ + \"static/media/add_to_my_list_icon.af7b23fe.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path, _path2, _path3;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgJumpToPageFlyerIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 43V13H34.2212L40.0002 19.2777L40 43H18Z\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34 13V20H40.6\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.6148 32.9988H32.5271M32.5271 32.9988L28.6327 29.0996M32.5271 32.9988L28.6327 36.8979\",\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgJumpToPageFlyerIcon);\nexport default __webpack_public_path__ + \"static/media/jump_to_page_flyer_icon.1438cee5.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path, _path2, _path3, _path4, _path5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgJumpToUrlIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.8596 20C39.0931 15.2175 33.9223 12 28 12C22.0777 12 16.9069 15.2175 14.1404 20H16.5093C18.2079 17.5645 20.6611 15.6944 23.5299 14.7285C22.5235 16.0871 21.6801 17.8915 21.0702 20H23.1607C23.444 19.1142 23.7709 18.3032 24.132 17.5811C25.4734 14.8975 26.9566 14 28 14C29.0435 14 30.5266 14.8975 31.868 17.5811C32.2292 18.3032 32.5561 19.1142 32.8394 20H34.9298C34.32 17.8915 33.4765 16.0871 32.4702 14.7285C35.339 15.6944 37.7921 17.5645 39.4908 20H41.8596Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.8596 36H39.4908C37.7921 38.4355 35.339 40.3056 32.4702 41.2715C33.4765 39.9129 34.32 38.1085 34.9298 36H32.8394C32.5561 36.8858 32.2292 37.6968 31.868 38.4189C30.5266 41.1025 29.0435 42 28 42C26.9566 42 25.4734 41.1025 24.132 38.4189C23.7709 37.6968 23.444 36.8858 23.1607 36H21.0702C21.6801 38.1085 22.5235 39.9129 23.5299 41.2715C20.6611 40.3056 18.2079 38.4355 16.5093 36H14.1404C16.9069 40.7825 22.0777 44 28 44C33.9223 44 39.0931 40.7825 41.8596 36Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 24L12.2827 25.134L13.9018 32H15.3858L16.404 25.9607H16.4806L17.515 32H18.9909L20.61 25.134L20.8494 24H19.4107L19.2415 24.8009L18.3539 28.5649L17.6568 24.4943H15.2246L14.5385 28.5638L13.647 24.7836L13.4517 24H12Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5753 24L23.858 25.134L25.4771 32H26.961L27.9793 25.9607H28.0559L29.0902 32H30.5662L32.1852 25.134L32.4247 24H30.9859L30.8168 24.8009L29.9292 28.5649L29.2321 24.4943H26.7999L26.1137 28.5638L25.2223 24.7836L25.027 24H23.5753Z\",\n fill: \"black\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.1506 24L35.4333 25.134L37.0523 32H38.5363L39.5545 25.9607H39.6312L40.6655 32H42.1414L43.7605 25.134L44 24H42.5612L42.3921 24.8009L41.5045 28.5649L40.8073 24.4943H38.3751L37.689 28.5638L36.7976 24.7836L36.6023 24H35.1506Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgJumpToUrlIcon);\nexport default __webpack_public_path__ + \"static/media/jump_to_URL_icon.bfc780c6.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlayVideoIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41 28L19 15V41L41 28Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlayVideoIcon);\nexport default __webpack_public_path__ + \"static/media/play_video_icon.b936b594.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlay360VideoIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9146 21.1491H20.9485C21.2133 21.1491 21.4298 21.0967 21.5979 20.9918C21.7702 20.8821 21.8984 20.7295 21.9825 20.5339C22.0666 20.3336 22.1086 20.0976 22.1086 19.8257C22.1086 19.6159 22.0687 19.4228 21.9888 19.2463C21.9131 19.0699 21.7955 18.9292 21.6357 18.8242C21.476 18.7146 21.2722 18.6597 21.0242 18.6597C20.8561 18.6597 20.6922 18.7003 20.5324 18.7813C20.3727 18.8576 20.2403 18.9673 20.1353 19.1104C20.0344 19.2535 19.9839 19.4275 19.9839 19.6326H17.853C17.853 19.0412 17.9959 18.5357 18.2817 18.1161C18.5717 17.6916 18.9521 17.3673 19.4228 17.1432C19.8978 16.9143 20.4085 16.7998 20.9548 16.7998C21.6063 16.7998 22.1779 16.9143 22.6697 17.1432C23.1615 17.3673 23.5439 17.7011 23.8171 18.1447C24.0945 18.5834 24.2332 19.1271 24.2332 19.7757C24.2332 20.1333 24.1597 20.4696 24.0126 20.7843C23.8655 21.0991 23.6595 21.3757 23.3947 21.6141C23.1299 21.8526 22.8189 22.0409 22.4616 22.1792C22.1086 22.3128 21.7219 22.3795 21.3016 22.3795H19.9146V21.1491ZM19.9146 22.9447V21.7429H21.3016C21.7597 21.7429 22.1779 21.8025 22.5562 21.9217C22.9345 22.0362 23.2602 22.2079 23.5334 22.4368C23.8066 22.6657 24.0168 22.9494 24.1639 23.288C24.311 23.6219 24.3845 24.0058 24.3845 24.4398C24.3845 24.9262 24.2984 25.3602 24.1261 25.7417C23.9537 26.1232 23.7121 26.4451 23.401 26.7074C23.09 26.9697 22.7264 27.17 22.3103 27.3083C21.8942 27.4418 21.4424 27.5086 20.9548 27.5086C20.5724 27.5086 20.1899 27.4514 19.8074 27.3369C19.4249 27.2177 19.0761 27.0365 18.7609 26.7933C18.4456 26.5453 18.1913 26.2305 17.998 25.849C17.8089 25.4627 17.7143 25.0025 17.7143 24.4684H19.8452C19.8452 24.6877 19.8978 24.888 20.0029 25.0693C20.1121 25.2457 20.2571 25.3864 20.4379 25.4913C20.6186 25.5962 20.814 25.6487 21.0242 25.6487C21.2848 25.6487 21.5054 25.5939 21.6862 25.4842C21.8711 25.3697 22.0119 25.2171 22.1086 25.0263C22.2053 24.8356 22.2536 24.6234 22.2536 24.3897C22.2536 24.0368 22.2011 23.7554 22.096 23.5456C21.9951 23.3357 21.8459 23.1831 21.6484 23.0877C21.455 22.9924 21.2217 22.9447 20.9485 22.9447H19.9146Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.2541 16.7998H30.5946V18.6955H30.4811C30.0734 18.6955 29.6909 18.7599 29.3336 18.8886C28.9806 19.0174 28.6696 19.2129 28.4006 19.4752C28.1358 19.7327 27.9277 20.0594 27.7764 20.4553C27.6293 20.8511 27.5557 21.3161 27.5557 21.8502V23.6743C27.5557 24.0082 27.581 24.2991 27.6314 24.5471C27.6818 24.795 27.7575 25.0001 27.8584 25.1623C27.9592 25.3244 28.0832 25.446 28.2303 25.5271C28.3816 25.6082 28.5561 25.6487 28.7536 25.6487C28.9175 25.6487 29.0688 25.6058 29.2075 25.5199C29.3462 25.4341 29.466 25.3125 29.5669 25.1551C29.672 24.9977 29.7518 24.8141 29.8065 24.6043C29.8611 24.3945 29.8884 24.1655 29.8884 23.9176C29.8884 23.6505 29.859 23.4097 29.8002 23.195C29.7413 22.9804 29.6573 22.7992 29.548 22.6514C29.4429 22.4988 29.3147 22.3843 29.1634 22.308C29.0163 22.2269 28.8545 22.1864 28.678 22.1864C28.409 22.1864 28.1799 22.2556 27.9908 22.3939C27.8058 22.5274 27.665 22.6991 27.5684 22.9089C27.4759 23.1187 27.4297 23.331 27.4297 23.5456L26.919 22.959C26.9106 22.6728 26.9589 22.3772 27.064 22.0719C27.1691 21.7667 27.3267 21.483 27.5368 21.2207C27.747 20.9584 28.0097 20.7462 28.3249 20.584C28.6401 20.4219 29.0058 20.3408 29.4219 20.3408C29.8422 20.3408 30.2121 20.4314 30.5315 20.6126C30.8551 20.7939 31.1262 21.0466 31.3448 21.3709C31.5676 21.6952 31.7357 22.0743 31.8492 22.5083C31.9626 22.9423 32.0194 23.412 32.0194 23.9176C32.0194 24.4278 31.9395 24.9024 31.7798 25.3411C31.6243 25.7751 31.4036 26.1542 31.1178 26.4785C30.832 26.8028 30.4937 27.0556 30.1028 27.2368C29.7119 27.418 29.2811 27.5086 28.8104 27.5086C28.327 27.5086 27.8794 27.4156 27.4675 27.2296C27.0598 27.0389 26.7025 26.7647 26.3957 26.407C26.0931 26.0445 25.8556 25.6034 25.6833 25.0836C25.5152 24.5638 25.4311 23.9748 25.4311 23.3167V22.4368C25.4311 21.545 25.5593 20.7509 25.8157 20.0547C26.0763 19.3584 26.4293 18.7694 26.8749 18.2877C27.3246 17.8013 27.8395 17.4317 28.4195 17.1789C28.9995 16.9262 29.611 16.7998 30.2541 16.7998Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.3327 21.2064V23.1092C39.3327 23.8579 39.2549 24.5089 39.0994 25.0621C38.9481 25.6153 38.7296 26.0731 38.4438 26.4356C38.1622 26.798 37.8259 27.0675 37.435 27.2439C37.0441 27.4204 36.6133 27.5086 36.1426 27.5086C35.7643 27.5086 35.4113 27.4538 35.0834 27.3441C34.7556 27.2296 34.4593 27.0579 34.1945 26.829C33.9339 26.5954 33.709 26.3044 33.5199 25.9563C33.3307 25.6082 33.1857 25.198 33.0849 24.7259C32.984 24.249 32.9336 23.7101 32.9336 23.1092V21.2064C32.9336 20.4529 33.0092 19.8019 33.1605 19.2535C33.316 18.7003 33.5367 18.2424 33.8225 17.88C34.1083 17.5175 34.4467 17.2481 34.8375 17.0716C35.2284 16.8952 35.6592 16.807 36.13 16.807C36.5082 16.807 36.8592 16.8642 37.1828 16.9786C37.5107 17.0883 37.807 17.26 38.0718 17.4937C38.3366 17.7226 38.5614 18.0111 38.7464 18.3593C38.9355 18.7074 39.0805 19.1199 39.1814 19.5968C39.2823 20.069 39.3327 20.6055 39.3327 21.2064ZM37.2081 23.4025V20.8988C37.2081 20.5649 37.1912 20.274 37.1576 20.026C37.1282 19.7781 37.082 19.5682 37.0189 19.3965C36.9601 19.2248 36.8865 19.0865 36.7983 18.9816C36.71 18.8719 36.6091 18.7933 36.4956 18.7456C36.3864 18.6931 36.2645 18.6669 36.13 18.6669C35.9619 18.6669 35.8105 18.7074 35.676 18.7885C35.5457 18.8648 35.4344 18.9888 35.3419 19.1605C35.2494 19.3321 35.178 19.5611 35.1275 19.8472C35.0813 20.1333 35.0582 20.4839 35.0582 20.8988V23.4025C35.0582 23.7411 35.0729 24.0368 35.1023 24.2895C35.136 24.5375 35.1822 24.7497 35.241 24.9262C35.3041 25.0979 35.3797 25.2386 35.468 25.3483C35.5563 25.4532 35.6571 25.5295 35.7706 25.5772C35.8841 25.6249 36.0081 25.6487 36.1426 25.6487C36.3065 25.6487 36.4536 25.6105 36.5839 25.5342C36.7142 25.4579 36.8256 25.3339 36.918 25.1623C37.0147 24.9858 37.0862 24.7545 37.1324 24.4684C37.1828 24.1775 37.2081 23.8222 37.2081 23.4025Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5141 31.4334L26.6284 35.7643L22.5141 40.0951M16.6857 27.626C15.1693 28.4264 13.6 29.836 13.6 30.8693C13.6 33.0698 17.6071 34.9418 23.2 35.6356L25.7263 35.8545M31.6 35.7639C37.8108 35.2029 42.2335 33.1485 42.4 30.8693C42.5 29.5 42 28.5 40.3428 27.626\",\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlay360VideoIcon);\nexport default __webpack_public_path__ + \"static/media/play_360_video_icon.0802416c.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _rect, _path, _circle2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOpenImageUrlIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 56,\n viewBox: \"0 0 56 56\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 28,\n cy: 28,\n r: 28,\n fill: \"white\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 13,\n y: 16,\n width: 30,\n height: 24,\n stroke: \"black\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 38L20.5 28.9412L28 34.7059L35.5 24L43 32.6959\",\n stroke: \"black\",\n strokeWidth: 2\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.5,\n cy: 22.5,\n r: 2.5,\n stroke: \"black\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenImageUrlIcon);\nexport default __webpack_public_path__ + \"static/media/open_image_url_icon.d8c5b096.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEyeOpenIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.4931 9.24042C12.4931 10.6779 11.3278 11.8431 9.89039 11.8431C8.45294 11.8431 7.28766 10.6779 7.28766 9.24042C7.28766 7.80298 8.45294 6.6377 9.89039 6.6377C11.3278 6.6377 12.4931 7.80298 12.4931 9.24042ZM10.4109 9.24042C10.4109 9.52791 10.1779 9.76097 9.89039 9.76097C9.6029 9.76097 9.36984 9.52791 9.36984 9.24042C9.36984 8.95293 9.6029 8.71988 9.89039 8.71988C10.1779 8.71988 10.4109 8.95293 10.4109 9.24042Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.89036 16.0078C3.12327 16.0078 0 9.12434 0 9.12434C0 9.12434 2.96711 2.47363 9.89036 2.47363C16.8136 2.47363 19.7807 9.12434 19.7807 9.12434C19.7807 9.12434 16.6575 16.0078 9.89036 16.0078ZM3.84606 7.24611C3.19282 7.92191 2.70524 8.60265 2.37721 9.12501C2.72094 9.6793 3.23532 10.4107 3.92066 11.1357C5.31505 12.6108 7.27773 13.9256 9.89036 13.9256C12.503 13.9256 14.4657 12.6108 15.8601 11.1357C16.5454 10.4107 17.0598 9.6793 17.4035 9.12501C17.0755 8.60265 16.5879 7.92191 15.9347 7.24611C14.583 5.84774 12.617 4.55581 9.89036 4.55581C7.1637 4.55581 5.19776 5.84774 3.84606 7.24611Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEyeOpenIcon);\nexport default __webpack_public_path__ + \"static/media/eye_open_icon.b18975e0.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {Box, Skeleton, Typography} from \"@mui/material\";\r\nimport {DataForPreviewDto} from \"../../../editor/spots/rightContent/flyerPages/FramesScreenRightPanel\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n previewContentWrapper: {\r\n display: `flex`,\r\n flex: `1 1 auto`,\r\n flexFlow: `column`,\r\n justifyContent: `space-between`,\r\n padding: `10px 15px`,\r\n \"& > .MuiTypography-root\": {\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: `inherit`,\r\n },\r\n }\r\n}))\r\ninterface Props {\r\n previewUrlData: DataForPreviewDto\r\n}\r\nexport const LinkPreviewPopup: React.FC = ({\r\n previewUrlData\r\n }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {\r\n previewUrlData?.image\r\n ?\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n {\r\n previewUrlData?.image\r\n ?\r\n <>\r\n \r\n {previewUrlData?.title}\r\n \r\n \r\n {previewUrlData?.description}\r\n \r\n \r\n {previewUrlData?.domain}\r\n \r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n )\r\n}","import React from 'react';\r\nimport {DataForPreviewDto} from \"../../../editor/spots/rightContent/flyerPages/FramesScreenRightPanel\";\r\nimport {Box, Skeleton, Typography} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {AsyncImageWithLoader} from \"../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {ReactComponent as CameraIcon} from \"../../../../assets/camera_icon.svg\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n previewContentWrapper: {\r\n display: `flex`,\r\n flex: `1 1 auto`,\r\n flexFlow: `column`,\r\n justifyContent: `space-between`,\r\n padding: `10px 15px`,\r\n \"& > .MuiTypography-root\": {\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: `inherit`,\r\n },\r\n }\r\n}))\r\n\r\ninterface Props {\r\n previewUrlData: DataForPreviewDto;\r\n is360iframe?: boolean;\r\n}\r\n\r\nexport const ImagePreviewPopup: React.FC = ({\r\n previewUrlData,\r\n is360iframe= false\r\n }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n {\r\n !is360iframe &&\r\n <>\r\n {\r\n previewUrlData?.url !== \"\" &&\r\n )}/>\r\n }\r\n {\r\n previewUrlData?.url === \"\" &&\r\n \r\n }\r\n \r\n }\r\n {\r\n is360iframe &&\r\n \r\n\r\n }\r\n \r\n \r\n {\r\n previewUrlData?.title &&\r\n \r\n \r\n {previewUrlData?.title}\r\n \r\n \r\n }\r\n \r\n )\r\n}","import React from \"react\";\r\nimport {DataForPreviewDto} from \"../../editor/spots/rightContent/flyerPages/FramesScreenRightPanel\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {LinkPreviewPopup} from \"./typesOfPopups/linkPreviewPopup\";\r\nimport {Box} from \"@mui/material\";\r\nimport {ImagePreviewPopup} from \"./typesOfPopups/imagePreviewPopup\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n popup: {\r\n display: `flex`,\r\n maxWidth: `300px`,\r\n minWidth: `300px`,\r\n height: \"300px\",\r\n flexFlow: `row`,\r\n }\r\n}))\r\n\r\ninterface Props {\r\n previewUrlData?: DataForPreviewDto;\r\n}\r\n\r\nexport const PreviewUrlPopup: React.FC = ({\r\n previewUrlData\r\n }) => {\r\n const classes = useStyles();\r\n let popupContent: React.ReactElement;\r\n switch (previewUrlData?.frameType) {\r\n case \"2\":\r\n case \"5\":{\r\n popupContent = ;\r\n break;\r\n }\r\n case \"3\":\r\n case \"4\":{\r\n popupContent = ;\r\n break;\r\n }\r\n case \"6\": {\r\n popupContent = ;\r\n break\r\n }\r\n default : {\r\n popupContent = <>;\r\n break;\r\n }\r\n }\r\n return (\r\n \r\n {popupContent}\r\n \r\n )\r\n\r\n}","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPromotionIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 25,\n viewBox: \"0 0 15 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.463 0.31371C7.18685 0.319446 6.99989 0.00281327 6.99989 0.00281327L0.147402 6.93406C0.100692 6.98108 0.0636233 7.03695 0.0383272 7.09851C0.0130312 7.16008 6.04906e-06 7.22611 3.57283e-07 7.29279L1.20009e-06 24.496C0.000537826 24.6302 0.0537202 24.7587 0.147853 24.8532C0.241985 24.9477 0.369358 25.0005 0.50196 25L14.501 25C14.6331 24.9997 14.7597 24.9466 14.8532 24.8522C14.9467 24.7578 14.9995 24.6297 15 24.496L15 7.29279C15.0004 7.22631 14.9878 7.16041 14.963 7.09886C14.9382 7.03731 14.9016 6.98132 14.8554 6.93406L7.99997 9.48331e-08C7.99997 9.48331e-08 7.74637 0.308336 7.463 0.31371ZM6.99995 1.42987L6.99995 4.69385C6.14215 4.92152 5.49995 5.70864 5.49995 6.64455C5.49995 7.75601 6.40155 8.66832 7.49994 8.66832C8.59831 8.66832 9.49995 7.75601 9.49995 6.64455C9.49995 5.70874 8.85762 4.92159 7.99995 4.69385L7.99995 1.42987L14 7.5013L14 23.992L0.99995 23.992L0.99995 7.50521L6.99995 1.42987ZM7.49994 5.63264C8.05801 5.63264 8.49995 6.07987 8.49995 6.64455C8.49995 7.20928 8.05801 7.65641 7.49994 7.65641C6.94187 7.65641 6.49995 7.20928 6.49995 6.64455C6.49995 6.07987 6.94187 5.63264 7.49994 5.63264Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.49975 13.1577C3.67596 13.1577 2.99974 13.7514 2.99976 14.4747C2.99974 15.198 3.67596 15.7893 4.49975 15.7893C5.32354 15.7893 5.99976 15.198 5.99976 14.4747C5.99976 13.7514 5.32354 13.1577 4.49975 13.1577ZM4.49975 13.8162C4.9183 13.8162 5.24975 14.1073 5.24975 14.4747C5.24975 14.8422 4.9183 15.1332 4.49975 15.1332C4.08119 15.1332 3.74975 14.8422 3.74975 14.4747C3.74975 14.1073 4.08119 13.8162 4.49975 13.8162Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5009 18.4209C9.67636 18.4209 8.99951 19.0141 8.99951 19.7367C8.99951 20.4593 9.67636 21.0525 10.5009 21.0525C11.3254 21.0525 11.9995 20.4593 11.9995 19.7367C11.9995 19.0141 11.3254 18.4209 10.5009 18.4209ZM10.5009 19.0788C10.9198 19.0788 11.2516 19.3695 11.2516 19.7367C11.2516 20.1038 10.9198 20.3946 10.5009 20.3946C10.082 20.3946 9.7502 20.1038 9.7502 19.7367C9.7502 19.3695 10.082 19.0788 10.5009 19.0788Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5537 12.713C10.4376 12.6964 10.3208 12.706 10.2179 12.7408C10.115 12.7756 10.0306 12.8339 9.97517 12.9085L3.73667 21.0795C3.69281 21.1288 3.66347 21.1855 3.65048 21.246C3.63749 21.3065 3.64112 21.3696 3.66113 21.4313C3.68115 21.4931 3.71712 21.5523 3.76684 21.6051C3.81657 21.6579 3.87898 21.7033 3.9502 21.7384C4.02143 21.7736 4.09996 21.7978 4.18094 21.8095C4.26192 21.8212 4.34363 21.8202 4.42101 21.8065C4.49838 21.7928 4.56979 21.7668 4.6308 21.7299C4.69181 21.6931 4.74113 21.6463 4.7757 21.5924L11.0137 13.4248C11.0631 13.3623 11.09 13.2898 11.0921 13.2139C11.0942 13.138 11.0713 13.0611 11.0255 12.9903C10.9797 12.9195 10.9126 12.8569 10.8302 12.8085C10.7478 12.7601 10.6527 12.7273 10.5537 12.713Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPromotionIcon);\nexport default __webpack_public_path__ + \"static/media/promotion_icon.8c01888f.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/camera_icon.3a10ee50.svg\";","import React, {ReactComponentElement, useEffect, useState} from \"react\";\r\nimport {FlyerFrameSettingDto, FlyerPageDto, FlyerPageSpotDto, UserDto} from \"../../../../../dtos\";\r\nimport {\r\n Box,\r\n Button,\r\n Input,\r\n Typography,\r\n Select,\r\n MenuItem,\r\n SelectChangeEvent,\r\n Grid,\r\n Paper,\r\n InputBase, InputAdornment\r\n} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ReactComponent as ChevronLeft} from '../../../../../assets/editors/flyers_left_arrow.svg';\r\nimport {ReactComponent as ChevronRight} from '../../../../../assets/editors/flyers_right_arrow.svg';\r\nimport validator from \"validator\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME, EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER\r\n} from \"../../../../../globals/EventDispatcher\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\nimport {ReactComponent as AddToMyListIcon} from \"../../../../../assets/add_to_my_list_icon.svg\";\r\nimport {ReactComponent as JumpToPageIcon} from \"../../../../../assets/jump_to_page_flyer_icon.svg\";\r\nimport {ReactComponent as JumpToURLIcon} from \"../../../../../assets/jump_to_URL_icon.svg\";\r\nimport {ReactComponent as PlayVideoIcon} from \"../../../../../assets/play_video_icon.svg\";\r\nimport {ReactComponent as Play360VideoIcon} from \"../../../../../assets/play_360_video_icon.svg\";\r\nimport {ReactComponent as ImageIcon} from \"../../../../../assets/open_image_url_icon.svg\";\r\nimport {ICoordinatesAndSizesForSelectedFrameDto} from \"./FlyerPages\";\r\n// @ts-ignore\r\nimport {ReactTinyLink} from 'react-tiny-link';\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport styles from \"../../../flyersCatalog/mainFlyersCatalog/flyer/flyer.module.scss\";\r\nimport axios from \"axios\";\r\nimport {PreviewUrlPopup} from \"../../../../com/previewUrlPopup/previewUrlPopup\";\r\nimport {ReactComponent as ApprovePage} from \"../../../../../assets/pages/approved_page.svg\";\r\nimport {ReactComponent as NotApprovePage} from \"../../../../../assets/pages/not_approved_page.svg\";\r\nimport {ReactComponent as ApprovePageForSystem} from \"../../../../../assets/pages/approved_page_system.svg\";\r\nimport {ReactComponent as EyeIcon} from \"../../../../../assets/frames_screen/eye_open_icon.svg\";\r\nimport {changeQualificationStatusForFrame} from \"../../../../../store/actionCreators/spotsActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {getIconStyle} from \"../../../../../globals/globFunctions\";\r\nimport cameraIcon from \"../../../../../assets/camera_icon.svg\";\r\n\r\n\r\nconst frameTypes = [\r\n {\r\n value: `1`,\r\n label: 'Open Promo popup with items',\r\n icon: \r\n },\r\n {\r\n value: `2`,\r\n label: 'Go to Page',\r\n icon: \r\n },\r\n {\r\n value: `3`,\r\n label: 'Open URL',\r\n icon: \r\n },\r\n {\r\n value: `4`,\r\n label: 'Play Video',\r\n icon: \r\n },\r\n {\r\n value: `5`,\r\n label: 'Show Image',\r\n icon: \r\n },\r\n {\r\n value: `6`,\r\n label: 'Play 360',\r\n icon: \r\n },\r\n]\r\n\r\nconst useStyles = makeStyles(() => ({\r\n framesRightPanel: () => ({\r\n height: `100%`,\r\n backgroundColor: `#ffffff`,\r\n boxShadow: `rgba(0, 0, 0, 0.35) 0px 5px 15px`,\r\n padding: `16px`,\r\n '& .MuiTypography-root': {\r\n letterSpacing: `0.2px`\r\n // fontSize: `20px`\r\n }\r\n }),\r\n rowBox: {\r\n flexFlow: `row`,\r\n display: `flex`,\r\n },\r\n columnBox: {\r\n display: `flex`,\r\n flexFlow: `column`\r\n },\r\n\r\n framesRightPanelHeader: {},\r\n\r\n pinControl: {},\r\n\r\n frameRightPanelTitle: {\r\n '& > .MuiTypography-root': {\r\n fontWeight: `bold`,\r\n // fontSize: `20px`\r\n }\r\n },\r\n framesControlsWrapper: (props: any) => ({\r\n justifyContent: props.isOnlyOneSelectedFrame ? `space-between` : `center`,\r\n alignItems: `center`,\r\n height: `60px`,\r\n '& > .MuiButton-root': {\r\n width: `32px`,\r\n height: `32px`,\r\n padding: `8px`,\r\n backgroundColor: `#014780`,\r\n '& > svg': {\r\n width: `100%`,\r\n height: `100%`,\r\n '& > path': {\r\n fill: `#ffffff`\r\n }\r\n },\r\n '&:hover': {\r\n backgroundColor: `#014780B3`,\r\n // boxShadow: `rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, rgba(255, 255, 255, 0.08) 0px 1px 0px inset`,\r\n },\r\n '&:disabled': {\r\n backgroundColor: `#01478033`\r\n }\r\n }\r\n }),\r\n framesRightPanelContent: {\r\n flex: `1 1 auto`,\r\n height: `0`,\r\n overflow: `auto`,\r\n padding: `8px 0`\r\n },\r\n\r\n settingBox: {\r\n display: `flex`,\r\n flexDirection: `column`,\r\n width: `100%`,\r\n padding: `8px 0`\r\n },\r\n\r\n titleBox: {\r\n marginBottom: `5px`,\r\n display: `flex`,\r\n justifyContent: `space-between`,\r\n alignItems: `center`,\r\n '& > .MuiTypography-root': {\r\n color: `#5C5C5C`\r\n }\r\n },\r\n inputStyles: () => ({\r\n width: `100%`,\r\n lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: `1px solid #888888`,\r\n backgroundColor: `white`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n '& > input': {\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n height: \"38px\",\r\n padding: `0 5px`,\r\n lineHeight: `20px`,\r\n fontSize: \"14px\",\r\n color: `#5C5C5C`,\r\n fontFamily: \"Arial\",\r\n },\r\n '& > textarea': {\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n padding: `5px`,\r\n // direction: props.direction\r\n // lineHeight: `1`,\r\n }\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n }),\r\n\r\n inputBaseWrapper: {\r\n '&.MuiPaper-root': {\r\n p: '2px 4px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: `100%`,\r\n height: `40px`,\r\n boxShadow: `none`,\r\n padding: `0`,\r\n border: `1px solid #888888`,\r\n backgroundColor: `white`,\r\n },\r\n '&.notValid': {\r\n borderLeft: `4px solid #E5870E`,\r\n borderLeftColor: `red`,\r\n }\r\n },\r\n\r\n inputBaseLeftRightText: {\r\n '&.MuiTypography-root': {\r\n textAlign: `center`,\r\n lineHeight: `15px`,\r\n fontSize: `14px`,\r\n color: `#A3A3A3`\r\n }\r\n },\r\n\r\n baseInput: {\r\n '&.MuiInputBase-root': {\r\n height: `100%`,\r\n border: `none`,\r\n margin: `0`,\r\n flex: 1,\r\n fontSize: \"14px\",\r\n padding: `0!important`,\r\n color: `#5C5C5C`,\r\n fontFamily: \"Roboto\",\r\n borderRadius: `0`,\r\n '& > .MuiInputBase-input': {\r\n padding: `0`\r\n }\r\n }\r\n },\r\n\r\n framesRightPanelFooter: {\r\n '& .MuiButton-root': {\r\n height: `36px`,\r\n width: `100%`,\r\n background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n textTransform: `none`,\r\n '&:disabled': {\r\n opacity: `0.5`,\r\n }\r\n }\r\n },\r\n qualificationIconWrapper: (props: any) => ({\r\n display: \"flex\",\r\n width: \"22px\",\r\n height: \"22px!important\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n cursor: props.isNotQualified ? \"default\" : \"pointer\",\r\n })\r\n\r\n}));\r\n\r\ninterface SelectFrameTypeDto {\r\n value?: string,\r\n label?: string,\r\n icon?: ReactComponentElement\r\n}\r\n\r\ninterface PlaceholdersDto {\r\n title: string | null,\r\n link: string | null\r\n}\r\n\r\nexport interface DataForPreviewDto {\r\n description: string;\r\n image: string;\r\n title: string;\r\n url: string;\r\n domain: string;\r\n frameType: string;\r\n}\r\n\r\ninterface Props {\r\n selectedFramesData: FlyerPageSpotDto[];\r\n pageDto: FlyerPageDto;\r\n currentFramesState: FlyerFrameSettingDto;\r\n defaultFramesState: FlyerFrameSettingDto;\r\n setCurrentState: (framesSetting: FlyerFrameSettingDto) => void;\r\n coordinatesAndSizesForSelectedFrame: null | ICoordinatesAndSizesForSelectedFrameDto;\r\n}\r\n\r\nexport const FramesScreenRightPanel: React.FC = ({\r\n selectedFramesData,\r\n pageDto,\r\n currentFramesState,\r\n setCurrentState,\r\n defaultFramesState,\r\n coordinatesAndSizesForSelectedFrame\r\n }) => {\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const framesStates = useTypedSelector((state) => state.spots);\r\n let {spots} = useTypedSelector((state) => state);\r\n const [currentSelectedFrameIndex, setCurrentSelectedFrameIndex] = useState(-1);\r\n const [qualificationLvlForSelectedFrame, setQualificationLvlForSelectedFrame] = useState(selectedFramesData.length && selectedFramesData[0]?.qualificationLevel ? selectedFramesData[0]?.qualificationLevel : 0);\r\n const [valueForFramesType, setValueForFramesType] = useState({});\r\n const [placeholderForTitle, setPlaceholderForTitle] = useState(null);\r\n const [placeholderForLink, setPlaceholderForLink] = useState(null);\r\n const [placeholderForAppLink, setPlaceholderForAppLink] = useState(null);\r\n const [isDisabledSaveButton, setDisableSaveButton] = useState(true);\r\n const [dataForPreviewLink, setDataForPreviewLink] = useState();\r\n const totalSpotsOnPageNumber = pageDto && pageDto.flyerPageSpots ? pageDto.flyerPageSpots.length : 0;\r\n const classesProperties = {\r\n isOnlyOneSelectedFrame: selectedFramesData.length === 1 && selectedFramesData[0]?.fpsCode,\r\n isNotQualified: selectedFramesData.length === 1 && selectedFramesData[0]?.qualificationLevel === 0,\r\n }\r\n const flyerIconStyleType = flyerDetailsState.flyGusRec?.gusIconContrast || 1;\r\n const mainGuiColorForFlyer = flyerDetailsState.flyGusRec?.gusPrimaryColorRgb || \"#ffffff\";\r\n const iconStyleData = getIconStyle(flyerIconStyleType);\r\n const classes = useStyles(classesProperties);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n\r\n useEffect(() => {\r\n let frameTypeSelectValue: SelectFrameTypeDto = currentFramesState.fpsFrameType ? frameTypes[currentFramesState.fpsFrameType - 1] : frameTypes[0];\r\n setValueForFramesType(frameTypeSelectValue);\r\n const isDefaultStateChanged = compareDefaultAndCurrentState();\r\n const isNewFrame = !currentFramesState.hasNumber;\r\n if(isNewFrame){\r\n setDisableSaveButton(!isValid || !isValidUrlApp);\r\n return;\r\n }\r\n setDisableSaveButton(!isDefaultStateChanged || !isValid || !isValidUrlApp);\r\n }, [currentFramesState]);\r\n\r\n useEffect(() => {\r\n const frameType = Number(valueForFramesType.value);\r\n const placeholders = setPlaceholderForTooltip(frameType);\r\n const appPlaceholder = setPlaceholderForAppTooltip(frameType);\r\n\r\n setPlaceholderForTitle(placeholders?.title);\r\n setPlaceholderForLink(placeholders?.link);\r\n setPlaceholderForAppLink(appPlaceholder);\r\n }, [valueForFramesType])\r\n\r\n useEffect(() => {\r\n if (selectedFramesData.length === 1) {\r\n setCurrentSelectedFrameIndex(selectedFrameIndex());\r\n } else {\r\n setCurrentSelectedFrameIndex(-1);\r\n }\r\n setQualificationLvlForSelectedFrame(selectedFramesData.length && selectedFramesData[0]?.qualificationLevel ? selectedFramesData[0]?.qualificationLevel : 0);\r\n }, [selectedFramesData]);\r\n\r\n useEffect(() => {\r\n const allFramesOnPage = pageDto.flyerPageSpots;\r\n if (currentSelectedFrameIndex !== -1 && allFramesOnPage && allFramesOnPage.length) {\r\n const selectedFrameData = allFramesOnPage[currentSelectedFrameIndex];\r\n dispatchEventDataType(EVENT_TYPE_FLYER_RIGHT_PANEL_CONTROL_SELECT_NEXT_OR_PREV_FRAME, selectedFrameData);\r\n }\r\n }, [currentSelectedFrameIndex]);\r\n\r\n useEffect(() => {\r\n if (framesStates.type === \"CHANGE_QUALIFICATION_STATUS_FOR_FRAMES_SUCCESS\") {\r\n setQualificationLvlForSelectedFrame(qualificationLvlForSelectedFrame === 1 ? 2 : 1);\r\n }\r\n }, [framesStates.type]);\r\n\r\n\r\n const getPreviewData = async () => {\r\n try {\r\n const result = await axios.get(`https://api.linkpreview.net/?key=b025846de020fd01f5eed5d164bf87e7&q=${currentFramesState.fpsFrameLink}`);\r\n setDataForPreviewLink({\r\n description: result.data.description,\r\n image: result.data.image,\r\n title: result.data.title,\r\n url: result.data.url,\r\n domain: new URL(result.data.url).host,\r\n frameType: valueForFramesType.value || \"1\"\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n setDataForPreviewLink({\r\n description: \"Can't get information from link\",\r\n image: cameraIcon,\r\n title: \"Error\",\r\n url: currentFramesState.fpsFrameLink || \"\",\r\n domain: new URL(currentFramesState.fpsFrameLink || \"\").host,\r\n frameType: valueForFramesType.value || \"1\"\r\n });\r\n }\r\n }\r\n\r\n const setDataForPreviewBasedOnFrameType = () => {\r\n if(!isValid){\r\n return;\r\n }\r\n switch (valueForFramesType.value){\r\n case \"2\": {\r\n const pageDataFromNumberWhichUserPutInFrameLink = flyerDetailsState.flyerPages.find((page: FlyerPageDto) => page.flpPageNo === Number(currentFramesState.fpsFrameLink))\r\n if(!pageDataFromNumberWhichUserPutInFrameLink){\r\n break;\r\n }\r\n setDataForPreviewLink({\r\n description: `Jump to Page ${pageDataFromNumberWhichUserPutInFrameLink.flpPageNo}`,\r\n image: \"\",\r\n title: `Jump to Page ${pageDataFromNumberWhichUserPutInFrameLink.flpPageNo}`,\r\n url: pageDataFromNumberWhichUserPutInFrameLink.flpImageUrl || \"None\",\r\n domain: \"\",\r\n frameType: valueForFramesType.value || \"2\"\r\n });\r\n break;\r\n }\r\n case \"3\":\r\n case \"4\": {\r\n getPreviewData();\r\n break;\r\n }\r\n case \"5\":\r\n case \"6\": {\r\n setDataForPreviewLink({\r\n description: \"\",\r\n image: \"\",\r\n title: \"\",\r\n url: currentFramesState.fpsFrameLink || \"\",\r\n domain: \"\",\r\n frameType: valueForFramesType.value || \"2\"\r\n });\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const compareDefaultAndCurrentState = (): boolean => {\r\n return JSON.stringify(defaultFramesState) !== JSON.stringify(currentFramesState);\r\n }\r\n\r\n const setPlaceholderForTooltip = (frameType: number): PlaceholdersDto => {\r\n let placeholder: null | PlaceholdersDto;\r\n switch (frameType) {\r\n case 2:\r\n placeholder = {\r\n title: `Jump to {page number}`,\r\n link: `Please Enter the Number of Page`\r\n };\r\n break;\r\n case 3:\r\n placeholder = {\r\n title: `Open Link {URL}`,\r\n link: `Please Enter the Site URL`\r\n };\r\n break;\r\n case 4:\r\n placeholder = {\r\n title: `Play Video {URL}`,\r\n link: `Please Enter the Video URL`\r\n };\r\n break;\r\n case 5:\r\n placeholder = {\r\n title: `Open Image {URL}`,\r\n link: `Please Enter the Image URL`\r\n };\r\n break;\r\n case 6:\r\n placeholder = {\r\n title: `Open 360 Image {URL}`,\r\n link: `Please Enter the 360 Image URL`\r\n };\r\n break;\r\n default:\r\n placeholder = {\r\n title: null,\r\n link: null\r\n };\r\n break;\r\n }\r\n return placeholder;\r\n }\r\n\r\n const setPlaceholderForAppTooltip = (frameType: number): string | null => {\r\n let placeholder: null | string;\r\n switch (frameType) {\r\n case 2:\r\n placeholder = `Please Enter the Number of Page`;\r\n break;\r\n case 3:\r\n placeholder = `Please Enter the Application Site URL`;\r\n break;\r\n case 4:\r\n placeholder = `Please Enter the Application Video URL`;\r\n break;\r\n case 5:\r\n placeholder = `Please Enter the Application Image URL`;\r\n break;\r\n case 6:\r\n placeholder = `Please Enter the 360 Image Application URL`;\r\n break;\r\n default:\r\n placeholder = null\r\n break;\r\n }\r\n return placeholder;\r\n }\r\n\r\n const selectedFrameIndex = (): number => {\r\n const allFramesOnPage = pageDto.flyerPageSpots;\r\n let currentFrameIndex = -1;\r\n const currentSelectedFrame = selectedFramesData[0];\r\n allFramesOnPage?.forEach((frame: FlyerPageSpotDto, index) => {\r\n if (currentSelectedFrame.fpsRecId === frame.fpsRecId) {\r\n currentFrameIndex = index;\r\n return false;\r\n }\r\n })\r\n return currentFrameIndex;\r\n }\r\n\r\n const onClickNextFrameBtn = (isNextFrame: boolean) => {\r\n const allFramesOnPage = pageDto.flyerPageSpots;\r\n let futureFrameIndex = 0;\r\n const currentSelectedFrame = selectedFramesData[0];\r\n allFramesOnPage?.forEach((frame: FlyerPageSpotDto, index) => {\r\n if (currentSelectedFrame.fpsRecId === frame.fpsRecId) {\r\n if (isNextFrame) {\r\n if (index + 1 > (allFramesOnPage.length - 1)) {\r\n futureFrameIndex = allFramesOnPage.length - 1;\r\n } else {\r\n futureFrameIndex = index + 1;\r\n }\r\n } else {\r\n if (index - 1 < 0) {\r\n futureFrameIndex = 0;\r\n } else {\r\n futureFrameIndex = index - 1;\r\n }\r\n }\r\n }\r\n })\r\n setCurrentSelectedFrameIndex(futureFrameIndex);\r\n }\r\n\r\n const onChangeFrameType = (event: SelectChangeEvent) => {\r\n const frameType = Number(event.target.value);\r\n setCurrentState({\r\n ...currentFramesState,\r\n fpsFrameType: frameType\r\n });\r\n }\r\n\r\n const onChangeInput = (event: React.ChangeEvent) => {\r\n const targetName = event.target.name;\r\n const value = event.target.value;\r\n if (targetName === 'fpsTocEntry') {\r\n setCurrentState({\r\n ...currentFramesState,\r\n fpsTocEntry: {\r\n ...currentFramesState.fpsTocEntry,\r\n caption: value\r\n }\r\n });\r\n } else if (targetName === 'fpsIconYPct' || targetName === 'fpsIconXPct') {\r\n const isAllowedNumber = /[0-9]/.test(value);\r\n if (value === \"\" || (Number(value) !== 0 && isAllowedNumber && Number(value) < 96)) {\r\n setCurrentState({\r\n ...currentFramesState,\r\n [targetName]: value !== '' ? value : null,\r\n });\r\n }\r\n } else {\r\n setCurrentState({\r\n ...currentFramesState,\r\n [targetName]: value !== '' ? value : null,\r\n });\r\n }\r\n }\r\n\r\n const onSaveFramesSetting = () => {\r\n if (selectedFramesData.length) {\r\n dispatchEventDataType(EVENT_TYPE_FLYER_SAVE_FRAMES_DATA_AND_AUTO_NUMBER, {\r\n selectedFrames: selectedFramesData,\r\n newData: currentFramesState,\r\n isHorizontalOrientationForFrames: spots.isHorizontalOrientationForFrames\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n const onChangeQualificationLVL = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n if (selectedFramesData.length === 1 && selectedFramesData[0].qualificationLevel !== 0) {\r\n let framesIds = [selectedFramesData[0].fpsRecId!];\r\n\r\n dispatch(changeQualificationStatusForFrame(\r\n framesIds,\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n selectedFramesData[0].qualificationLevel === 1 ? 2 : 1,\r\n flyerDetailsState,\r\n pageDto.flpPageNo ? pageDto.flpPageNo - 1 : 0,\r\n pageDto.flyerPageSpots\r\n ));\r\n }\r\n }\r\n\r\n let isValid: boolean;\r\n let isValidUrlApp: boolean = true;\r\n switch (currentFramesState.fpsFrameType) {\r\n case 2:\r\n const isLegalNumber = Number(currentFramesState.fpsFrameLink) >= 1 && Number(currentFramesState.fpsFrameLink) <= flyerDetailsState?.flyerPages?.length;\r\n isValid = validator.isNumeric(currentFramesState.fpsFrameLink ? currentFramesState.fpsFrameLink : ``)\r\n && isLegalNumber\r\n && Number(currentFramesState.fpsIconXPct) >= 5\r\n && Number(currentFramesState.fpsIconXPct) <= 95\r\n && Number(currentFramesState.fpsIconYPct) >= 5\r\n && Number(currentFramesState.fpsIconYPct) <= 95\r\n ;\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n case 6:\r\n isValid = validator.isURL(currentFramesState.fpsFrameLink ? currentFramesState.fpsFrameLink : ``)\r\n && Number(currentFramesState.fpsIconXPct) >= 5\r\n && Number(currentFramesState.fpsIconXPct) <= 95\r\n && Number(currentFramesState.fpsIconYPct) >= 5\r\n && Number(currentFramesState.fpsIconYPct) <= 95\r\n ;\r\n const expression = /^([-a-zA-Z0-9])?[-a-zA-Z0-9@:%._\\+~#=]{1,256}?([a-zA-Z0-9])+:[-a-zA-Z0-9@:%._\\+~#=]{1,256}/gi;\r\n const regex = new RegExp(expression);\r\n const link = currentFramesState.fpsFrameLinkApp;\r\n if (link && link !== '') {\r\n if (link.match(regex)) {\r\n isValidUrlApp = true;\r\n } else {\r\n isValidUrlApp = false;\r\n }\r\n } else {\r\n isValidUrlApp = true;\r\n }\r\n break;\r\n default:\r\n isValid = Number(currentFramesState.fpsIconXPct) >= 5\r\n && Number(currentFramesState.fpsIconXPct) <= 95\r\n && Number(currentFramesState.fpsIconYPct) >= 5\r\n && Number(currentFramesState.fpsIconYPct) <= 95\r\n ;\r\n isValidUrlApp = true;\r\n break;\r\n }\r\n\r\n const frameTypeSelectOptions = frameTypes.map((frameType: SelectFrameTypeDto) => {\r\n let Icon;\r\n switch (frameType.value) {\r\n case \"2\": {\r\n Icon = iconStyleData.iconStyleData.pageCompIcon;\r\n break\r\n }\r\n case \"3\": {\r\n Icon = iconStyleData.iconStyleData.linkCompIcon;\r\n break\r\n }\r\n case \"4\": {\r\n Icon = iconStyleData.iconStyleData.videoCompIcon;\r\n break\r\n }\r\n case \"5\": {\r\n Icon = iconStyleData.iconStyleData.imgCompIcon;\r\n break\r\n }\r\n case \"6\": {\r\n Icon = iconStyleData.iconStyleData.img360CompIcon;\r\n break\r\n }\r\n default : {\r\n Icon = iconStyleData.iconStyleData.promoCompIcon;\r\n break\r\n }\r\n }\r\n return (\r\n \r\n \r\n svg > rect\": {\r\n fill: (flyerIconStyleType === 2 || flyerIconStyleType === 3) ? mainGuiColorForFlyer : undefined\r\n }\r\n }}>\r\n \r\n \r\n \r\n {frameType.label}\r\n \r\n \r\n \r\n\r\n )\r\n })\r\n\r\n return (\r\n \r\n {\r\n selectedFramesData.length >= 1 ?\r\n <>\r\n \r\n {/**/}\r\n {/* */}\r\n {/* Fill in Frame's contents here:*/}\r\n {/* */}\r\n {/**/}\r\n \r\n {\r\n selectedFramesData.length === 1 && selectedFramesData[0].fpsCode &&\r\n {\r\n onClickNextFrameBtn(false)\r\n }}\r\n >\r\n }\r\n \r\n \r\n {selectedFramesData.length === 1 ? (selectedFramesData && selectedFramesData[0].fpsPositionNo && selectedFramesData[0].fpsCode ? `Frame ${selectedFramesData[0].fpsPositionNo}` : `New Frame`) : `Number of Selected Frames ${selectedFramesData.length}`}\r\n \r\n {\r\n promotionsItemsState.isQualified && selectedFramesData.length === 1 && selectedFramesData[0].fpsCode &&\r\n \r\n }\r\n \r\n {\r\n selectedFramesData.length === 1 && selectedFramesData[0].fpsCode &&\r\n {\r\n onClickNextFrameBtn(true)\r\n }}\r\n >\r\n }\r\n \r\n {\r\n coordinatesAndSizesForSelectedFrame &&\r\n \r\n \r\n \r\n Top-left XY:\r\n ({coordinatesAndSizesForSelectedFrame.x}, {coordinatesAndSizesForSelectedFrame.y})\r\n \r\n \r\n \r\n \r\n Width, Height:\r\n ({coordinatesAndSizesForSelectedFrame.width}, {coordinatesAndSizesForSelectedFrame.height})\r\n \r\n \r\n \r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n Frame Type\r\n \r\n \r\n \r\n .MuiSelect-select': {\r\n padding: `6px 8px`\r\n }\r\n }}\r\n MenuProps={{\r\n PaperProps: {\r\n sx: {\r\n \"& .MuiMenuItem-root.Mui-selected\": {\r\n backgroundColor: \"#4E7FA7!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root:hover\": {\r\n backgroundColor: \"#7FA2BF\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n },\r\n \"& .MuiMenuItem-root.Mui-selected:hover\": {\r\n backgroundColor: \"#014780!important\",\r\n '& .MuiTypography-root': {\r\n color: `#ffffff`,\r\n }\r\n }\r\n }\r\n }\r\n }}\r\n >\r\n {frameTypeSelectOptions}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Icon’s Position in Frame\r\n \r\n \r\n \r\n \r\n \r\n = 5 && Number(currentFramesState.fpsIconXPct) <= 95 ? '' : 'notValid'}`}\r\n // component=\"in\"\r\n >\r\n \r\n X:\r\n \r\n \r\n \r\n %\r\n \r\n \r\n \r\n \r\n \r\n = 5 && Number(currentFramesState.fpsIconYPct) <= 95 ? '' : 'notValid'}`}\r\n // component=\"form\"\r\n >\r\n \r\n Y:\r\n \r\n \r\n \r\n %\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Frame Tooltip\r\n \r\n \r\n \r\n \r\n \r\n \r\n {currentFramesState.fpsFrameType && currentFramesState.fpsFrameType !== 1 &&\r\n <>\r\n \r\n \r\n \r\n Desktop Frame Link\r\n \r\n \r\n {\r\n isValid &&\r\n {\r\n setDataForPreviewLink({\r\n description: ``,\r\n image: ``,\r\n title: ``,\r\n url: ``,\r\n domain: ``,\r\n frameType: valueForFramesType.value || \"0\"\r\n });\r\n }}\r\n aria-haspopup='true'\r\n // id={`props.flyerDto.flyCode`}\r\n // offset={{'top': 10, 'left': 5}}\r\n role='example'\r\n delayShow={1000}\r\n className={`${styles.previewLinkTooltip} tooltip_custom_white`}\r\n >\r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n <>\r\n \r\n\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n currentFramesState.fpsFrameType && currentFramesState.fpsFrameType !== 1 && currentFramesState.fpsFrameType !== 2 &&\r\n \r\n \r\n \r\n App Frame Link\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ToC Title\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n :\r\n \r\n \r\n No Selected Frames\r\n \r\n \r\n }\r\n \r\n )\r\n\r\n}","import {FlyerDto, FlyerFrameSettingDto, FlyerPageDto, FlyerPageSpotDto} from '../../../../../dtos'\r\nimport {FlyerPage, IFlyerPageRef} from './flyerPage/FlyerPage'\r\n\r\nimport {FlyerPagesArrows} from '../../../../com/flyerPages/arrows/FlyerPagesArrows'\r\n\r\nimport {SpotsSizeSelector} from './spotsSizeSelector/SpotsSizeSelector'\r\n\r\n\r\nimport './FlyerPages.scss'\r\nimport React, {forwardRef, ReactElement, Ref, useCallback, useImperativeHandle, useRef, useState} from 'react'\r\nimport {useEffect} from 'react'\r\nimport {Box} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {\r\n addEventDataTypeListener,\r\n dispatchEventDataType,\r\n EVENT_TYPE_CHANGE_ICON_POSITION,\r\n EVENT_TYPE_GET_ALL_SELECTED_SPOTS,\r\n removeEventTypeListener\r\n} from \"../../../../../globals/EventDispatcher\";\r\nimport {ITopBarRef, TopBar} from \"../../../../com/flyerPages/topBar/TopBar\";\r\nimport {SpotsTopBarControls} from \"../topBarControls/SpotsTopBarControls\";\r\nimport {FlyerPageControls} from \"./controls/FlyerPageControls\";\r\nimport {FramesScreenRightPanel} from \"./FramesScreenRightPanel\";\r\nimport {findOwnPropertiesForSelectedFrames} from \"../../../../../globals/globalProjectFunctions\";\r\nimport * as Globals from \"../../../../../globals\";\r\nimport {QualityCheck} from \"../../../../../com/qualityCheck/qualityCheck\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\n\r\nconst useStyle = makeStyles(() => ({\r\n flyerPagesContainerSpots: {\r\n position: `relative`,\r\n display: `flex`,\r\n flexFlow: `row`,\r\n width: `100%`,\r\n flex: `1 1 auto`,\r\n height: `0`,\r\n overflow: `hidden`,\r\n '& > .canvas_container': {\r\n position: `absolute !important`,\r\n left: `10px`,\r\n top: `44px`,\r\n zIndex: 5\r\n }\r\n },\r\n flyerFramesPagesContent: {\r\n flex: `1 1 auto`,\r\n display: `flex`,\r\n flexFlow: `column`\r\n },\r\n rightPanelForFrame: () => ({\r\n width: `360px`,\r\n height: `100%`,\r\n position: `relative`,\r\n }),\r\n}))\r\n\r\nexport interface IFlyerPagesRef {\r\n showSotsSizeSelectorGrid: (value: boolean) => void\r\n}\r\n\r\nexport interface ICoordinatesAndSizesForSelectedFrameDto {\r\n x: number | null;\r\n y: number | null;\r\n width: number | null;\r\n height: number | null;\r\n}\r\n\r\ninterface IFlyerPages {\r\n pageIndex: number,\r\n data?: FlyerDto,\r\n // onLeftArrowClick: () => void,\r\n // onNextArrowClick: () => void,\r\n isDisabledZoom: boolean;\r\n total: number;\r\n setZoomStatus: any;\r\n // index zero based\r\n onPageIndexChanges: (index: number) => void;\r\n flyerPagesRef: React.RefObject,\r\n\r\n leftChildren?: ReactElement\r\n rightChildren?: ReactElement\r\n isDragStart?: boolean;\r\n}\r\n\r\nexport const FlyerPages = forwardRef((props: IFlyerPages, ref: Ref) => {\r\n\r\n // create peer between interface and actual implementation\r\n useImperativeHandle(ref, () => ({showSotsSizeSelectorGrid}));\r\n const topBarReference = useRef(null)\r\n // const containerRef = useRef(null);\r\n const {toggleActionsForFlyers} = useTypedSelector((state) => state);\r\n const flyerPageRef = useRef(null)\r\n const contentPagesRef = useRef(null)\r\n const scrollWrapper = useRef(null)\r\n\r\n const [pageDto, setPageDto] = useState();\r\n const [showSpotsSizeSelector, setShowSpotsSizeSelector] = useState(false);\r\n const [selectedFrames, setSelectedFrames] = useState([]);\r\n const [defaultFramesState, setDefaultFrameState] = useState({});\r\n const [currentFramesState, setCurrentFrameState] = useState({});\r\n const [coordinatesAndSizesForSelectedFrame, setCoordinatesAndSizesForSelectedFrame] = useState({\r\n x: null,\r\n y: null,\r\n width: null,\r\n height: null,\r\n })\r\n const stylesProperties = {\r\n isSelectedFrames: selectedFrames.length > 0\r\n }\r\n const classes = useStyle(stylesProperties);\r\n const showSotsSizeSelectorGrid = (value: boolean) => {\r\n setShowSpotsSizeSelector(value)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n addEventDataTypeListener(EVENT_TYPE_GET_ALL_SELECTED_SPOTS, (data: any) => {\r\n if (data.data.selectedFramesData.length === 1 && props.data?.flyerPages![props.pageIndex]) {\r\n let scaleX = props.data?.flyerPages![props.pageIndex].flpWidthPx! / Globals.FLYER_CANVAS_WIDTH;\r\n let scaleY = props.data?.flyerPages![props.pageIndex].flpHeightPx! / Globals.FLYER_CANVAS_HEIGHT;\r\n\r\n const x1 = Math.floor((data.data.selectedFramesData[0].x + data.data.selectedFramesData[0]._bounds.width) * scaleX);\r\n const y1 = Math.floor((data.data.selectedFramesData[0].y + data.data.selectedFramesData[0]._bounds.height) * scaleY);\r\n const x = Math.round(data.data.selectedFramesData[0].x * scaleX);\r\n const y = Math.round(data.data.selectedFramesData[0].y * scaleY);\r\n const width = x1 - x;\r\n const height = y1 - y;\r\n setCoordinatesAndSizesForSelectedFrame({x, y, width, height})\r\n } else {\r\n setCoordinatesAndSizesForSelectedFrame(null);\r\n }\r\n const selectedFrameData: FlyerFrameSettingDto = findOwnPropertiesForSelectedFrames(data.data.selectedFrames);\r\n setDefaultFrameState(selectedFrameData);\r\n setCurrentState(selectedFrameData);\r\n setSelectedFrames(data.data.selectedFrames);\r\n })\r\n return () => {\r\n removeEventTypeListener(EVENT_TYPE_GET_ALL_SELECTED_SPOTS)\r\n }\r\n\r\n }, [props.pageIndex]);\r\n\r\n useEffect(() => {\r\n flyerPageRef.current?.reInit();\r\n flyerPageRef.current?.showLoader(true);\r\n const pageDto = props.data?.flyerPages![props.pageIndex]!;\r\n setSelectedFrames([]);\r\n // const pageDto = props.data?.flyerPages![selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1]!\r\n setPageDto(pageDto)\r\n\r\n }, [props.data?.flyerPages, props.pageIndex]);\r\n\r\n let scrollCount: any = null;\r\n let scrollRef: any = null;\r\n const scroll = useCallback(\r\n y => {\r\n // setTimeout(() => {\r\n console.log(`scrollPageOnScreen`);\r\n if (y > 0) {\r\n topBarReference.current!.showNext();\r\n // props.onNextArrowClick();\r\n } else {\r\n topBarReference.current!.showBack();\r\n // props.onLeftArrowClick();\r\n }\r\n // }, 600)\r\n },\r\n [scrollWrapper]\r\n );\r\n\r\n useEffect(() => {\r\n const sliderElement = scrollWrapper.current;\r\n // Passing the same reference\r\n // const targetSlider = sliderRef.current as unknown as HTMLDivElement\r\n if (sliderElement) {\r\n sliderElement.addEventListener('wheel', onScrollPages)\r\n }\r\n if(toggleActionsForFlyers.isZoomIn && sliderElement){\r\n sliderElement.removeEventListener('wheel', onScrollPages);\r\n }\r\n\r\n return () => {\r\n // Passing the same reference\r\n const sliderElement = scrollWrapper.current;\r\n if (sliderElement) {\r\n sliderElement.removeEventListener('wheel', onScrollPages)\r\n\r\n }\r\n }\r\n // dispatch(setSelectedPageForTabs({\r\n // pageNo: selectedPageState.pageNo - 1\r\n // }));\r\n }, [scroll, toggleActionsForFlyers.isZoomIn]);\r\n\r\n useEffect(() => {\r\n if (currentFramesState.fpsFrameType\r\n && Number(currentFramesState.fpsIconXPct) >= 5\r\n && Number(currentFramesState.fpsIconXPct) <= 95\r\n && Number(currentFramesState.fpsIconYPct) >= 5\r\n && Number(currentFramesState.fpsIconYPct) <= 95\r\n ) {\r\n dispatchEventDataType(EVENT_TYPE_CHANGE_ICON_POSITION, {\r\n iconXPercentageNumber: currentFramesState.fpsIconXPct,\r\n iconYPercentageNumber: currentFramesState.fpsIconYPct,\r\n type: currentFramesState.fpsFrameType\r\n });\r\n }\r\n\r\n }, [currentFramesState.fpsIconXPct, currentFramesState.fpsIconYPct, currentFramesState.fpsFrameType])\r\n\r\n const onScrollPages = (e: any) => {\r\n clearTimeout(scrollRef);\r\n scrollRef = setTimeout(() => {\r\n scrollCount = 0;\r\n },\r\n 200);\r\n if (scrollCount) {\r\n return;\r\n }\r\n scrollCount = 1;\r\n scroll(e.deltaY);\r\n }\r\n\r\n const setCurrentState = (currentFramesState: FlyerFrameSettingDto) => {\r\n setCurrentFrameState(currentFramesState);\r\n }\r\n\r\n\r\n const onClickNext = () => {\r\n topBarReference.current!.showNext();\r\n }\r\n\r\n const onClickPrev = () => {\r\n topBarReference.current!.showBack();\r\n }\r\n\r\n return (\r\n
\r\n \r\n props.flyerPagesRef?.current?.showSotsSizeSelectorGrid(value)}\r\n />\r\n )}\r\n rightChildren={(\r\n \r\n \r\n flyerPageRef.current!.selectAllPageSpots(value)}\r\n // deleteAllPageSpots={() => flyerPageRef.current!.deleteAllPageSpots()}\r\n pageIndex={props.pageIndex}\r\n setZoomStatus={props.setZoomStatus}\r\n selectedFrames={selectedFrames}\r\n framesOnPage={pageDto && pageDto.flyerPageSpots ? pageDto.flyerPageSpots : []}\r\n />\r\n \r\n\r\n )}\r\n selectedFramesData={selectedFrames}\r\n defaultFramesState={defaultFramesState}\r\n currentFramesState={currentFramesState}\r\n />\r\n \r\n {\r\n props.total > 1 && \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n {showSpotsSizeSelector &&\r\n {\r\n flyerPageRef.current!.setNextGridSize(rows, columns)\r\n }}\r\n />\r\n }\r\n\r\n
\r\n )\r\n})","import {FlyerFrameSettingDto} from \"../dtos\";\r\n\r\nexport const findOwnPropertiesForSelectedFrames = (framesData: any): FlyerFrameSettingDto => {\r\n let frameStateObject: FlyerFrameSettingDto = {\r\n fpsJumpToPageId: 1,\r\n fpsLandingPageUrl: null,\r\n fpsFrameLink: null,\r\n fpsFrameType: 1,\r\n fpsIconXPct: 50,\r\n fpsIconYPct: 50,\r\n fpsTocEntry: {\r\n accountId: null,\r\n caption: null,\r\n id: null,\r\n level: null,\r\n orderInParent: null,\r\n parentTocEntryId: null,\r\n },\r\n fpsTooltip: null,\r\n fpsFrameLinkApp: null,\r\n qualificationLevel: null,\r\n hasNumber: false\r\n }\r\n let defaultFrameStateObject: FlyerFrameSettingDto = {\r\n fpsJumpToPageId: 1,\r\n fpsLandingPageUrl: null,\r\n fpsFrameLink: null,\r\n fpsFrameType: 1,\r\n fpsIconXPct: 0,\r\n fpsIconYPct: 0,\r\n fpsTocEntry: {\r\n accountId: null,\r\n caption: null,\r\n id: null,\r\n level: null,\r\n orderInParent: null,\r\n parentTocEntryId: null,\r\n },\r\n fpsTooltip: null,\r\n fpsFrameLinkApp: null,\r\n qualificationLevel: null,\r\n hasNumber: false\r\n }\r\n framesData.forEach((frameData: any, index: number) => {\r\n const keysFrameData = Object.keys(frameStateObject);\r\n for (let key of keysFrameData) {\r\n if (index === 0) {\r\n frameStateObject[key] = frameData[key];\r\n } else {\r\n if (JSON.stringify(frameData[key]) !== JSON.stringify(frameStateObject[key])) {\r\n frameStateObject[key] = defaultFrameStateObject[key];\r\n }\r\n }\r\n }\r\n })\r\n return frameStateObject;\r\n}","import {FlyerPages, IFlyerPagesRef} from './flyerPages/FlyerPages'\r\n\r\nimport './FlyerEditorContent.scss'\r\nimport {FlyerDto, SelectPageForTabsDto} from '../../../../dtos'\r\nimport {useEffect, useRef, useState} from 'react'\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {\r\n EVENT_TYPE_PAGE_INDEX_CHANGED,\r\n\r\n dispatchEventType\r\n\r\n} from '../../../../globals/EventDispatcher'\r\n\r\ninterface IFlyerEditorContent {\r\n data?: FlyerDto;\r\n}\r\n\r\nexport const FlyerEditorContent: React.FC = (props) => {\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n\r\n const flyerPagesRef = useRef(null)\r\n const [isDisabledZoom, setZoomStatus] = useState(true);\r\n\r\n const [pageIndex, setPageIndex] = useState(1);\r\n const onPageIndexChanges = (index: number) => {\r\n changePageIndexState(index)\r\n }\r\n\r\n useEffect(() => {\r\n changePageIndexState(selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1);\r\n setZoomStatus(true);\r\n }, [selectedPageState.pageNo]);\r\n\r\n // \r\n const changePageIndexState = (index: number) => {\r\n setPageIndex(index)\r\n dispatchEventType(EVENT_TYPE_PAGE_INDEX_CHANGED)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n {/* flyerPagesRef.current?.showSotsSizeSelectorGrid(value)}*/}\r\n {/* />*/}\r\n {/* )}*/}\r\n {/* rightChildren={(*/}\r\n {/* flyerPageRef.current!.selectAllPageSpots(value)}*/}\r\n {/* // deleteAllPageSpots={() => flyerPageRef.current!.deleteAllPageSpots()}*/}\r\n {/* zoomIn={zoomIn}*/}\r\n {/* zoomOut={zoomOut}*/}\r\n {/* pageIndex={pageIndex}*/}\r\n {/* resetTransform={resetTransform}*/}\r\n {/* setZoomStatus={setZoomStatus}*/}\r\n {/* />*/}\r\n\r\n {/* )}*/}\r\n {/*/>*/}\r\n\r\n topBarReference.current!.showBack()}\r\n // onNextArrowClick={() => topBarReference.current!.showNext()}\r\n isDisabledZoom={isDisabledZoom}\r\n total={props.data?.flyerPages?.length!}\r\n setZoomStatus={setZoomStatus}\r\n onPageIndexChanges={onPageIndexChanges}\r\n\r\n />\r\n\r\n
\r\n \r\n )\r\n}","\r\nimport { useDispatch } from 'react-redux';\r\nimport {\r\n deleteSpots, getFlippingFlyer,\r\n savePageSpotsData\r\n} from '../../../store';\r\n\r\nimport { useTypedSelector } from '../../../hooks/useTypeSelector';\r\n\r\nimport { FlyerEditorLeftMenu } from './leftMenu/FlyerEditorLeftMenu'\r\nimport { FlyerEditorContent } from './rightContent/FlyerEditorContent'\r\n\r\nimport './FlyerSpotsEditor.scss'\r\nimport React, {useEffect, useState} from \"react\";\r\nimport {\r\n addEventDataTypeListener,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER, EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n removeEventTypeListener\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {CustomDataEvent} from \"../../../globals/CustomDataEvent\";\r\nimport {clearFlyersData} from \"../../../store/actionCreators/flyersActionCreators\";\r\nimport {setSelectedPageForTabs} from \"../../../store/actionCreators/pagesActionCreators\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {\r\n getExcelFileWithCurrentDataForFramesData,\r\n} from \"../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {DeleteSpotsRequestDto, FlyerPageDto, UserDto} from \"../../../dtos\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../pages/getSetttingsForPopup\";\r\nimport {changeSearchTermForUnlinkedPromotionsItems} from \"../../../store/actionCreators/promotionsItemsCreators\";\r\n\r\nexport const FlyerSpotsEditor = () => {\r\n\r\n // let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flayerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const [selectedItemInMenu, setSelectedItemInMenu] = useState<{ file?: any, code?: string }>({});\r\n const [isModalPopup, changeModalStatus] = useState(false);\r\n\r\n\r\n const dispatch = useDispatch();\r\n\r\n\r\n const onSpotsFileSelected = (file: File) => {\r\n let flyerDto = flayerDetailsState!\r\n dispatch(savePageSpotsData(flyerDto.flyRecId!, file, flyerDto.flyLacRec!.lacCode!));\r\n // let flyerDto = flippingFlyerState.flyerDto!\r\n // dispatch(savePageSpotsData(flyerDto.flyRecId!, file, flyerDto.flyLacRec!.lacCode!));\r\n }\r\n const [isOpenPagesTab, openPagesTab] = useState(false);\r\n\r\n useEffect(() => {\r\n if(flyersState.type === ActionType.CHANGE_FLYERS_STATE){\r\n if(isOpenPagesTab){\r\n try {\r\n const data = {\r\n pageNo: 0,\r\n selectedTabNum: 1\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n }\r\n }, [flyersState])\r\n useEffect(() => {\r\n addEventDataTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER, (data: CustomDataEvent) => {\r\n openPagesTab(data.data);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_UPLOAD_FILE_TYPE, (data: CustomDataEvent) => {\r\n setSelectedItemInMenu({\r\n file: data.data.files[0],\r\n code: data.data.code\r\n });\r\n })\r\n console.log('addPromosForUnlinkedPromotionsMenu');\r\n\r\n return () => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n // dispatch(clearDataForUnlinkedPromotionsItemsMenu());\r\n if (flayerDetailsState.flyRecId !== 0 && userDto) {\r\n dispatch(getFlippingFlyer(flayerDetailsState.flyRecId))\r\n dispatch(clearFlyersData());\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n searchTermForUnlinkedItems: '',\r\n searchTermForUnlinkedPromotions: ''\r\n }))\r\n removeEventTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER);\r\n removeEventTypeListener(EVENT_DATA_TYPE_UPLOAD_FILE_TYPE);\r\n }\r\n }\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n let flyerDto = flayerDetailsState!\r\n switch (selectedItemInMenu.code) {\r\n\r\n // case 'UploadPromosFile':\r\n // dispatch(savePagePromosData(flyerDto.flyRecId!, selectedItemInMenu.file, flyerDto.flyLacRec!.lacCode!));\r\n // break;\r\n // case 'UploadItemsFile':\r\n // dispatch(savePagePromoItemsData(flyerDto.flyRecId!, selectedItemInMenu.file, flyerDto.flyLacRec!.lacCode!));\r\n // break;\r\n case 'UploadFramesExcel':\r\n dispatch(savePageSpotsData(flyerDto.flyRecId!, selectedItemInMenu.file, flyerDto.flyLacRec!.lacCode!));\r\n break;\r\n case 'DownloadFramesExcel':\r\n dispatch(getExcelFileWithCurrentDataForFramesData(flyerDto.flyRecId!, flyerDto.flyCaption));\r\n break;\r\n case 'DeleteAllFlyerFrames':\r\n changeModalStatus(true);\r\n break;\r\n }\r\n }, [selectedItemInMenu])\r\n\r\n const onDeleteFrames = () => {\r\n const deletedSpotsIds: number[] = [];\r\n flayerDetailsState.flyerPages.forEach((page: FlyerPageDto) => {\r\n page.flyerPageSpots?.forEach((spot) => {\r\n deletedSpotsIds.push(spot.fpsRecId!);\r\n })\r\n });\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n let requestDto: DeleteSpotsRequestDto = {\r\n userId: userDto.userId,\r\n uiLanguageCultureCode: \"en-US\",\r\n spots: deletedSpotsIds,\r\n };\r\n dispatch(deleteSpots(requestDto));\r\n changeModalStatus(false);\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: 'deleteFramesFromFlyer',\r\n confirmOnClick: {\r\n deleteFramesFromFlyer: onDeleteFrames\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n\r\n {isModalPopup && changeModalStatus(false)}\r\n />\r\n }\r\n\r\n
\r\n )\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgToggleCollapseItemsInPromotionIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 6,\n viewBox: \"0 0 10 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.54671 0.563466C9.32734 0.372223 8.98854 0.372206 8.76917 0.563479L8.76915 0.563451L8.76596 0.56633L5.28432 3.70901L1.80269 0.56633L1.80268 0.566318C1.58135 0.366567 1.2321 0.366567 1.01077 0.566317L1.01073 0.566356C0.77464 0.779528 0.774619 1.13673 1.01075 1.3499L1.01076 1.34991L4.88836 4.85001L4.88839 4.85004C5.10972 5.04977 5.45894 5.04978 5.68028 4.85003L5.68029 4.85001L9.55789 1.34991L9.55791 1.34994L9.56108 1.34698C9.79401 1.12927 9.78602 0.772088 9.54671 0.563466ZM9.54671 0.563466L9.38242 0.751909M9.54671 0.563466L9.38242 0.751909M9.38242 0.751909C9.51079 0.863816 9.51435 1.04846 9.39038 1.16433L8.93347 0.751909C9.05868 0.642736 9.2572 0.642736 9.38242 0.751909Z\",\n fill: \"#014780\",\n stroke: \"#014780\",\n strokeWidth: 0.5\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgToggleCollapseItemsInPromotionIcon);\nexport default __webpack_public_path__ + \"static/media/toggle_collapse_items_in_promotion_icon.8c4d87ec.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDragIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 7,\n height: 12,\n viewBox: \"0 0 7 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.66667 4.33333C2.03486 4.33333 2.33333 4.03486 2.33333 3.66667C2.33333 3.29848 2.03486 3 1.66667 3C1.29848 3 1 3.29848 1 3.66667C1 4.03486 1.29848 4.33333 1.66667 4.33333Z\",\n fill: \"#4D4D4D\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.66667 9.66683C2.03486 9.66683 2.33333 9.36835 2.33333 9.00016C2.33333 8.63197 2.03486 8.3335 1.66667 8.3335C1.29848 8.3335 1 8.63197 1 9.00016C1 9.36835 1.29848 9.66683 1.66667 9.66683Z\",\n fill: \"#4D4D4D\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.33329 4.33333C4.70148 4.33333 4.99996 4.03486 4.99996 3.66667C4.99996 3.29848 4.70148 3 4.33329 3C3.9651 3 3.66663 3.29848 3.66663 3.66667C3.66663 4.03486 3.9651 4.33333 4.33329 4.33333Z\",\n fill: \"#4D4D4D\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.33329 9.66683C4.70148 9.66683 4.99996 9.36835 4.99996 9.00016C4.99996 8.63197 4.70148 8.3335 4.33329 8.3335C3.9651 8.3335 3.66663 8.63197 3.66663 9.00016C3.66663 9.36835 3.9651 9.66683 4.33329 9.66683Z\",\n fill: \"#4D4D4D\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.33329 7.00033C4.70148 7.00033 4.99996 6.70185 4.99996 6.33366C4.99996 5.96547 4.70148 5.66699 4.33329 5.66699C3.9651 5.66699 3.66663 5.96547 3.66663 6.33366C3.66663 6.70185 3.9651 7.00033 4.33329 7.00033Z\",\n fill: \"#4D4D4D\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.66667 7.00033C2.03486 7.00033 2.33333 6.70185 2.33333 6.33366C2.33333 5.96547 2.03486 5.66699 1.66667 5.66699C1.29848 5.66699 1 5.96547 1 6.33366C1 6.70185 1.29848 7.00033 1.66667 7.00033Z\",\n fill: \"#4D4D4D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDragIcon);\nexport default __webpack_public_path__ + \"static/media/drag_icon.35fe33f5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgItemIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 18,\n viewBox: \"0 0 9 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.87097 5.96696C6.22177 5.47913 5.88306 4.85826 5.88306 4.21522V2.41913C6.05242 2.35261 6.19355 2.19739 6.19355 2.04217V1.4213C6.19355 1.19957 5.96774 1 5.65726 1H3.37097C3.08871 1 2.83468 1.17739 2.83468 1.4213V2.04217C2.83468 2.21957 3.00403 2.39696 3.20161 2.4413V4.1487C3.20161 4.83609 2.83468 5.47913 2.18548 5.92261C1.45161 6.43261 1 7.18652 1 7.98478V16.2778C1 16.6548 1.39516 16.9652 1.875 16.9652H7.125C7.60484 16.9652 8 16.6548 8 16.2778V7.98478C8 7.23087 7.60484 6.49913 6.87097 5.96696ZM5.62903 1.44348V1.99783H5.60081H3.5121H3.42742V1.44348H5.62903ZM7.43548 16.2556C7.43548 16.3887 7.29435 16.4996 7.125 16.4996H1.90323C1.73387 16.4996 1.59274 16.3887 1.59274 16.2556V7.98478C1.59274 7.31956 1.95968 6.69869 2.58065 6.25522C3.34274 5.72304 3.79435 4.94696 3.79435 4.1487V2.46348H5.31855V4.23739C5.31855 5.01348 5.74194 5.74522 6.50403 6.29956C7.09677 6.74304 7.43548 7.34174 7.43548 7.98478V16.2556Z\",\n fill: \"black\",\n stroke: \"black\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgItemIcon);\nexport default __webpack_public_path__ + \"static/media/item_icon.818ee0d1.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadImageIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 28,\n viewBox: \"0 0 31 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.363 27.3319H13.7269C13.0578 27.3319 12.5148 26.7877 12.5148 26.1198V20.0595H9.48467C9.23983 20.0595 9.01803 19.9117 8.9247 19.685C8.83137 19.4584 8.88349 19.1978 9.0556 19.0244L15.1159 12.9641C15.3522 12.7278 15.7364 12.7278 15.9728 12.9641L22.0331 19.0244C22.2064 19.1978 22.2585 19.4584 22.164 19.685C22.0694 19.9117 21.85 20.0595 21.6052 20.0595H18.5751V26.1198C18.5751 26.7877 18.0321 27.3319 17.363 27.3319ZM10.9476 18.8475H13.1208C13.4554 18.8475 13.7269 19.119 13.7269 19.4535V26.1198H17.363V19.4535C17.363 19.119 17.6345 18.8475 17.969 18.8475H20.1423L15.5449 14.2501L10.9476 18.8475Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.45545 20.0234C6.43242 20.0234 6.41061 20.0222 6.38636 20.0197C3.31623 19.6792 1 17.0902 1 13.9994C1 10.7972 3.49562 8.1682 6.64332 7.95367C7.48206 3.76478 11.2212 0.666748 15.5446 0.666748C18.9396 0.666748 22.0667 2.57938 23.6084 5.56833C27.2713 5.95255 30.0893 9.05664 30.0893 12.7874C30.0893 16.0357 27.9124 18.9083 24.7975 19.7713C24.4726 19.8598 24.1405 19.6707 24.052 19.3483C23.9623 19.0259 24.1514 18.6913 24.4738 18.6028C27.0664 17.8853 28.8772 15.4927 28.8772 12.7874C28.8772 9.57904 26.3768 6.92705 23.1842 6.75009C22.96 6.73797 22.7624 6.60343 22.6679 6.40101C21.3855 3.65448 18.5905 1.87881 15.5446 1.87881C11.6479 1.87881 8.3002 4.7817 7.7572 8.63C7.71478 8.92816 7.45903 9.15118 7.15723 9.15118C4.38648 9.15118 2.21205 11.3256 2.21205 13.9994C2.21205 16.472 4.06407 18.5422 6.52212 18.815C6.85422 18.8525 7.0942 19.1519 7.05663 19.484C7.02269 19.7943 6.75968 20.0234 6.45545 20.0234Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadImageIcon);\nexport default __webpack_public_path__ + \"static/media/upload_image_icon.3bdb890e.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect} from \"react\";\r\nimport Grow from '@material-ui/core/Grow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Popper from '@material-ui/core/Popper';\r\nimport MenuList from '@material-ui/core/MenuList';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport {makeStyles} from '@mui/styles';\r\nimport {ItemsListMenuDto} from \"../../../../../../../../dtos\";\r\nimport {MenuItem} from \"react-contextmenu\";\r\nimport styles from './menuForItem.module.scss';\r\nimport {useTypedSelector} from \"../../../../../../../../hooks/useTypeSelector\";\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n popper: {\r\n zIndex: 10,\r\n },\r\n paper: {\r\n borderRadius: '5px',\r\n margin: '0 5px',\r\n border: '1px solid #B3B3B3'\r\n\r\n },\r\n list: {\r\n padding: 0,\r\n // marginTop: '5px'\r\n },\r\n root: {\r\n fontSize: '14px',\r\n height: '30px',\r\n justifyContent: 'space-between'\r\n }\r\n\r\n}));\r\n\r\ninterface Props {\r\n list: ItemsListMenuDto,\r\n makeUnlinkTargetItem?: () => void;\r\n isUnlinkItem?: boolean;\r\n deleteUnlinkItemsFromFlyer?: (isOpen: boolean) => void;\r\n targetItemsLength?: number;\r\n onCreateNewItem?: any;\r\n onEditExistItem?: (e: React.MouseEvent) => void;\r\n isUnlinkPromo?: boolean;\r\n unlinkAllItemFromPromoSelectedPromo?: () => void;\r\n}\r\n\r\n\r\nexport const MenuForItems = (props: Props) => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const classes = useStyles();\r\n\r\n const handleClose = (event: any) => {\r\n if (props.list.anchorRef.current && props.list.anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n props.list.setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event: any) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n props.list.setOpen(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (props.list.prevOpen.current && !props.list.open) {\r\n props.list.anchorRef.current!.focus();\r\n }\r\n\r\n props.list.prevOpen.current = props.list.open;\r\n }, [props.list.open]);\r\n\r\n\r\n const unlinkItem = (event: any) => {\r\n handleClose(event);\r\n if (props.makeUnlinkTargetItem) {\r\n props.makeUnlinkTargetItem();\r\n }\r\n }\r\n\r\n const deleteItems = () => {\r\n if (props.deleteUnlinkItemsFromFlyer) {\r\n props.deleteUnlinkItemsFromFlyer(true);\r\n }\r\n }\r\n\r\n const addNewItem = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n props.onCreateNewItem()\r\n }\r\n const editItem = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n props.onEditExistItem!(e);\r\n }\r\n const duplicateItem = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n }\r\n const unlinkAllItems = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n if(props.unlinkAllItemFromPromoSelectedPromo){\r\n props.unlinkAllItemFromPromoSelectedPromo();\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n {({TransitionProps, placement}) => (\r\n \r\n \r\n \r\n \r\n {\r\n props.isUnlinkPromo &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {\r\n props.isUnlinkItem && !props.isUnlinkPromo &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {`Delete ${props.targetItemsLength! > 1 ? 'Items' : 'Item'}`}\r\n \r\n \r\n }\r\n {\r\n !props.isUnlinkItem && !props.isUnlinkPromo &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteImageIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 28,\n viewBox: \"0 0 22 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.6841 10.3306C14.3391 10.3306 14.0596 10.6101 14.0596 10.9551V22.7584C14.0596 23.1032 14.3391 23.383 14.6841 23.383C15.029 23.383 15.3086 23.1032 15.3086 22.7584V10.9551C15.3086 10.6101 15.029 10.3306 14.6841 10.3306Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.31494 10.3306C6.97 10.3306 6.69043 10.6101 6.69043 10.9551V22.7584C6.69043 23.1032 6.97 23.383 7.31494 23.383C7.65989 23.383 7.93945 23.1032 7.93945 22.7584V10.9551C7.93945 10.6101 7.65989 10.3306 7.31494 10.3306Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.94461 8.60573V23.9925C1.94461 24.9019 2.27809 25.756 2.86064 26.3688C3.44051 26.9833 4.24749 27.3321 5.09204 27.3336H16.908C17.7528 27.3321 18.5598 26.9833 19.1394 26.3688C19.7219 25.756 20.0554 24.9019 20.0554 23.9925V8.60573C21.2134 8.29835 21.9638 7.17959 21.8089 5.99131C21.6538 4.80326 20.6416 3.91455 19.4433 3.91431H16.2459V3.13366C16.2496 2.47719 15.99 1.84682 15.5253 1.38307C15.0605 0.919563 14.4292 0.661463 13.7727 0.66683H8.22728C7.57081 0.661463 6.93947 0.919563 6.47475 1.38307C6.01003 1.84682 5.75046 2.47719 5.75412 3.13366V3.91431H2.55668C1.3584 3.91455 0.346253 4.80326 0.191102 5.99131C0.0361939 7.17959 0.786582 8.29835 1.94461 8.60573ZM16.908 26.0846H5.09204C4.02428 26.0846 3.19363 25.1673 3.19363 23.9925V8.66062H18.8064V23.9925C18.8064 25.1673 17.9757 26.0846 16.908 26.0846ZM7.00314 3.13366C6.999 2.80848 7.12682 2.49549 7.3576 2.26593C7.58813 2.03637 7.90185 1.91025 8.22728 1.91586H13.7727C14.0982 1.91025 14.4119 2.03637 14.6424 2.26593C14.8732 2.49524 15.001 2.80848 14.9969 3.13366V3.91431H7.00314V3.13366ZM2.55668 5.16334H19.4433C20.0642 5.16334 20.5675 5.66661 20.5675 6.28746C20.5675 6.90832 20.0642 7.41159 19.4433 7.41159H2.55668C1.93583 7.41159 1.43256 6.90832 1.43256 6.28746C1.43256 5.66661 1.93583 5.16334 2.55668 5.16334Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9995 10.3306C10.6546 10.3306 10.375 10.6101 10.375 10.9551V22.7584C10.375 23.1032 10.6546 23.383 10.9995 23.383C11.3445 23.383 11.624 23.1032 11.624 22.7584V10.9551C11.624 10.6101 11.3445 10.3306 10.9995 10.3306Z\",\n fill: \"#888888\",\n stroke: \"#888888\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteImageIcon);\nexport default __webpack_public_path__ + \"static/media/delete_image_icon.8faa4397.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19,\n height: 17,\n viewBox: \"0 0 19 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3514 16.8324H8.07879C7.66064 16.8324 7.32126 16.4922 7.32126 16.0748V12.2871H5.42743C5.27441 12.2871 5.13578 12.1947 5.07745 12.053C5.01912 11.9114 5.05169 11.7485 5.15926 11.6402L8.94693 7.85249C9.09465 7.70477 9.33478 7.70477 9.4825 7.85249L13.2702 11.6402C13.3785 11.7485 13.4111 11.9114 13.352 12.053C13.2929 12.1947 13.1558 12.2871 13.0028 12.2871H11.1089V16.0748C11.1089 16.4922 10.7696 16.8324 10.3514 16.8324ZM6.34177 11.5296H7.70003C7.90911 11.5296 8.07879 11.6993 8.07879 11.9084V16.0748H10.3514V11.9084C10.3514 11.6993 10.5211 11.5296 10.7302 11.5296H12.0884L9.2151 8.65624L6.34177 11.5296Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.53466 12.2646C3.52026 12.2646 3.50663 12.2639 3.49148 12.2624C1.57265 12.0495 0.125 10.4314 0.125 8.49968C0.125 6.49826 1.68476 4.85516 3.65208 4.72107C4.17629 2.10302 6.51328 0.166748 9.2154 0.166748C11.3373 0.166748 13.2917 1.36214 14.2553 3.23024C16.5445 3.47038 18.3058 5.41043 18.3058 7.74214C18.3058 9.77234 16.9453 11.5677 14.9984 12.1071C14.7954 12.1624 14.5878 12.0442 14.5325 11.8427C14.4765 11.6412 14.5946 11.4321 14.7961 11.3768C16.4165 10.9283 17.5483 9.43296 17.5483 7.74214C17.5483 5.73693 15.9855 4.07944 13.9901 3.96884C13.85 3.96126 13.7265 3.87717 13.6674 3.75066C12.866 2.03408 11.1191 0.924287 9.2154 0.924287C6.77993 0.924287 4.68762 2.73859 4.34825 5.14378C4.32173 5.33013 4.16189 5.46952 3.97327 5.46952C2.24155 5.46952 0.882533 6.82854 0.882533 8.49968C0.882533 10.0451 2.04004 11.3389 3.57632 11.5094C3.78389 11.5329 3.93388 11.72 3.91039 11.9275C3.88918 12.1215 3.7248 12.2646 3.53466 12.2646Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadIcon);\nexport default __webpack_public_path__ + \"static/media/upload_icon.8748540a.svg\";\nexport { ForwardRef as ReactComponent };","import React, {ReactElement, useRef} from \"react\";\r\nimport styles from './FileInput.module.scss';\r\n\r\n\r\ninterface ILeftMenuFileItem {\r\n onFileSelected?: (file: File) => void,\r\n icon: ReactElement;\r\n validFileExtensions: string;\r\n isMultipleSelection: boolean;\r\n disabledAction?: boolean;\r\n}\r\n\r\nexport const FileInput: React.FC = (props) => {\r\n\r\n const inputRef: React.LegacyRef = useRef(null);\r\n\r\n\r\n const onClick = () => {\r\n inputRef.current?.click();\r\n }\r\n\r\n const onFileSelected = (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n props.onFileSelected!(file)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {props.icon}\r\n
\r\n\r\n {\r\n //--------------------------------------------------//\r\n // BUG FIX: to select the same file multiple times\r\n\r\n // bug fix: for chrome\r\n if (inputRef.current !== null) {\r\n inputRef.current!.value = '';\r\n }\r\n\r\n // bug fix: for firefox\r\n return false;\r\n //--------------------------------------------------//\r\n }}\r\n onChange={onFileSelected}\r\n />\r\n\r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport styles from \"./AddDeleteImageModal.module.scss\";\r\nimport {ReactComponent as UploadImageIcon} from \"../../../../../../../../assets/promos&items/upload_image_icon.svg\";\r\nimport {ReactComponent as DeleteImageIcon} from \"../../../../../../../../assets/promos&items/delete_image_icon.svg\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {FileInput} from \"../../../../../../../com/FileInput/FileInput\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n deleteImageFromItems,\r\n uploadImageToItem\r\n} from \"../../../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useTypedSelector} from \"../../../../../../../../hooks/useTypeSelector\";\r\nimport {PromoItemsDto} from \"../../../../../../../../dtos\";\r\nimport {PageSpinner} from \"../../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {ReactComponent as ImageWithError} from \"../../../../../../../../assets/promos&items/image_error.svg\";\r\nimport {ClosePopupBtn} from \"../../../../../../../../com/closePopupBtn/closePopupBtn\";\r\n\r\n\r\ninterface Props {\r\n isShow: boolean;\r\n setOpenImageModal: (value: boolean) => void;\r\n src: string;\r\n caption: string;\r\n item: PromoItemsDto;\r\n setItemState: (item: PromoItemsDto) => void;\r\n}\r\n\r\n\r\nexport const AddDeleteImageModal: React.FC = (\r\n {\r\n isShow,\r\n setOpenImageModal,\r\n src,\r\n caption,\r\n item,\r\n setItemState\r\n }\r\n) => {\r\n\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n\r\n const [selectedImageFile, setImageFile] = useState();\r\n const [isLoading, setLoadingWrapper] = useState(false);\r\n const [fileName, setFileName] = useState('');\r\n\r\n useEffect(() => {\r\n const text = src.split(\"/\").pop();\r\n setFileName(text);\r\n }, [src])\r\n\r\n\r\n useEffect(() => {\r\n setLoadingWrapper(promotionsItemsState.isLoading);\r\n if (promotionsItemsState.type === \"POST_IMAGE_TO_ITEM_SUCCESS\" || promotionsItemsState.type === \"DELETE_IMAGE_FROM_ITEM_SUCCESS\") {\r\n if (selectedImageFile) {\r\n let newSrc = URL.createObjectURL(selectedImageFile);\r\n setItemState({\r\n ...item,\r\n fpiImage: newSrc\r\n })\r\n } else {\r\n setItemState({\r\n ...item,\r\n fpiImage: ''\r\n })\r\n }\r\n\r\n }\r\n }, [promotionsItemsState.type])\r\n\r\n useEffect(() => {\r\n setLoadingWrapper(flippingFlyerState.loading);\r\n }, [flippingFlyerState.type])\r\n\r\n const onFileSelected = (file: File) => {\r\n setImageFile(file);\r\n dispatch(uploadImageToItem(flyerDetailsState.flyRecId, file, flyerDetailsState.flyLacRec!.lacCode!, item.fpiRecId ? item.fpiRecId : null));\r\n }\r\n\r\n const deleteImage = () => {\r\n setImageFile(null);\r\n dispatch(deleteImageFromItems([item.fpiRecId!], flyerDetailsState.flyLacRec!.lacCode!));\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n Lead image: {caption}\r\n
\r\n setOpenImageModal(false)}/>\r\n
\r\n
\r\n
\r\n )}/>\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n validFileExtensions={`.jpg,.jpeg,.png`}\r\n isMultipleSelection={false}\r\n />\r\n
\r\n
\r\n {fileName}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n isLoading &&
\r\n \r\n
\r\n }\r\n
\r\n\r\n )\r\n}","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDeleteIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 17,\n viewBox: \"0 0 15 17\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.80243 6.20654C9.58684 6.20654 9.41211 6.38127 9.41211 6.59687V13.974C9.41211 14.1894 9.58684 14.3643 9.80243 14.3643C10.018 14.3643 10.1927 14.1894 10.1927 13.974V6.59687C10.1927 6.38127 10.018 6.20654 9.80243 6.20654Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.19598 6.20654C4.98039 6.20654 4.80566 6.38127 4.80566 6.59687V13.974C4.80566 14.1894 4.98039 14.3643 5.19598 14.3643C5.41157 14.3643 5.5863 14.1894 5.5863 13.974V6.59687C5.5863 6.38127 5.41157 6.20654 5.19598 6.20654Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.84001 5.12861V14.7453C1.84001 15.3137 2.04844 15.8475 2.41253 16.2305C2.77495 16.6146 3.27932 16.8326 3.80716 16.8335H11.1921C11.7201 16.8326 12.2245 16.6146 12.5867 16.2305C12.9508 15.8475 13.1593 15.3137 13.1593 14.7453V5.12861C13.883 4.9365 14.352 4.23727 14.2552 3.4946C14.1582 2.75207 13.5256 2.19662 12.7767 2.19647H10.7783V1.70857C10.7806 1.29827 10.6184 0.904294 10.3279 0.614449C10.0375 0.324758 9.64289 0.163445 9.23259 0.166799H5.76668C5.35639 0.163445 4.9618 0.324758 4.67135 0.614449C4.3809 0.904294 4.21867 1.29827 4.22096 1.70857V2.19647H2.22256C1.47363 2.19662 0.841042 2.75207 0.744072 3.4946C0.647255 4.23727 1.11625 4.9365 1.84001 5.12861ZM11.1921 16.0529H3.80716C3.13981 16.0529 2.62065 15.4796 2.62065 14.7453V5.16292H12.3786V14.7453C12.3786 15.4796 11.8595 16.0529 11.1921 16.0529ZM5.0016 1.70857C4.99901 1.50533 5.0789 1.30971 5.22313 1.16624C5.36722 1.02276 5.56329 0.943936 5.76668 0.947443H9.23259C9.43599 0.943936 9.63206 1.02276 9.77614 1.16624C9.92038 1.30956 10.0003 1.50533 9.99768 1.70857V2.19647H5.0016V1.70857ZM2.22256 2.97712H12.7767C13.1648 2.97712 13.4793 3.29166 13.4793 3.67969C13.4793 4.06773 13.1648 4.38227 12.7767 4.38227H2.22256C1.83453 4.38227 1.51998 4.06773 1.51998 3.67969C1.51998 3.29166 1.83453 2.97712 2.22256 2.97712Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.49872 6.20654C7.28313 6.20654 7.1084 6.38127 7.1084 6.59687V13.974C7.1084 14.1894 7.28313 14.3643 7.49872 14.3643C7.71431 14.3643 7.88904 14.1894 7.88904 13.974V6.59687C7.88904 6.38127 7.71431 6.20654 7.49872 6.20654Z\",\n fill: \"#4D4D4D\",\n stroke: \"#4D4D4D\",\n strokeWidth: 0.2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeleteIcon);\nexport default __webpack_public_path__ + \"static/media/delete_icon.a65a0b3d.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFrameScreenshotIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 88,\n height: 88,\n viewBox: \"0 0 88 88\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 88,\n height: 88,\n fill: \"#D9D9D9\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.423 24V13.8182H25.1645V15.593H20.5757V18.0192H24.7171V19.794H20.5757V24H18.423ZM26.4497 24V16.3636H28.5029V17.696H28.5825C28.7217 17.2221 28.9553 16.8641 29.2835 16.6222C29.6116 16.3769 29.9894 16.2543 30.417 16.2543C30.5231 16.2543 30.6374 16.2609 30.76 16.2741C30.8827 16.2874 30.9904 16.3056 31.0832 16.3288V18.2081C30.9838 18.1783 30.8462 18.1518 30.6705 18.1286C30.4949 18.1054 30.3341 18.0938 30.1883 18.0938C29.8767 18.0938 29.5983 18.1617 29.3531 18.2976C29.1111 18.4302 28.9189 18.6158 28.7764 18.8544C28.6372 19.093 28.5676 19.3681 28.5676 19.6797V24H26.4497ZM34.137 24.1442C33.6498 24.1442 33.2156 24.0597 32.8344 23.8906C32.4533 23.7183 32.1517 23.4647 31.9296 23.13C31.7108 22.7919 31.6015 22.371 31.6015 21.8672C31.6015 21.4429 31.6794 21.0866 31.8351 20.7983C31.9909 20.5099 32.203 20.2779 32.4715 20.1023C32.74 19.9266 33.0449 19.794 33.3863 19.7045C33.731 19.6151 34.0922 19.5521 34.4701 19.5156C34.9142 19.4692 35.2722 19.4261 35.5439 19.3864C35.8157 19.3433 36.0129 19.2803 36.1356 19.1974C36.2582 19.1146 36.3195 18.992 36.3195 18.8295V18.7997C36.3195 18.4848 36.2201 18.2412 36.0212 18.0689C35.8257 17.8965 35.5473 17.8104 35.186 17.8104C34.8048 17.8104 34.5016 17.8949 34.2762 18.0639C34.0508 18.2296 33.9017 18.4384 33.8287 18.6903L31.8699 18.5312C31.9694 18.0672 32.1649 17.6662 32.4566 17.3281C32.7483 16.9867 33.1244 16.7249 33.5851 16.5426C34.0492 16.357 34.5861 16.2642 35.1959 16.2642C35.6202 16.2642 36.0262 16.3139 36.414 16.4134C36.8051 16.5128 37.1514 16.6669 37.453 16.8757C37.758 17.0845 37.9983 17.353 38.1739 17.6811C38.3496 18.0059 38.4374 18.3954 38.4374 18.8494V24H36.4289V22.9411H36.3692C36.2466 23.1797 36.0825 23.3902 35.877 23.5724C35.6715 23.7514 35.4246 23.8923 35.1363 23.995C34.8479 24.0945 34.5148 24.1442 34.137 24.1442ZM34.7435 22.6825C35.0551 22.6825 35.3302 22.6212 35.5688 22.4986C35.8074 22.3726 35.9947 22.2036 36.1306 21.9915C36.2665 21.7794 36.3344 21.5391 36.3344 21.2706V20.4602C36.2681 20.5033 36.177 20.5431 36.061 20.5795C35.9483 20.6127 35.8207 20.6442 35.6782 20.674C35.5357 20.7005 35.3931 20.7254 35.2506 20.7486C35.1081 20.7685 34.9788 20.7867 34.8628 20.8033C34.6143 20.8397 34.3972 20.8977 34.2116 20.9773C34.026 21.0568 33.8818 21.1645 33.779 21.3004C33.6763 21.433 33.6249 21.5987 33.6249 21.7976C33.6249 22.0859 33.7293 22.3063 33.9381 22.4588C34.1502 22.608 34.4187 22.6825 34.7435 22.6825ZM40.0805 24V16.3636H42.099V17.7109H42.1885C42.3476 17.2635 42.6127 16.9105 42.9839 16.652C43.3551 16.3935 43.7993 16.2642 44.3163 16.2642C44.84 16.2642 45.2858 16.3951 45.6537 16.657C46.0216 16.9155 46.2668 17.2668 46.3895 17.7109H46.469C46.6248 17.2734 46.9065 16.9238 47.3142 16.6619C47.7252 16.3968 48.2107 16.2642 48.7709 16.2642C49.4835 16.2642 50.0618 16.4912 50.5059 16.9453C50.9534 17.3961 51.1771 18.0357 51.1771 18.8643V24H49.0642V19.282C49.0642 18.8577 48.9515 18.5395 48.7261 18.3274C48.5007 18.1153 48.219 18.0092 47.8809 18.0092C47.4965 18.0092 47.1965 18.1319 46.9811 18.3771C46.7657 18.6191 46.6579 18.9389 46.6579 19.3366V24H44.6047V19.2372C44.6047 18.8627 44.497 18.5644 44.2815 18.3423C44.0694 18.1203 43.7893 18.0092 43.4413 18.0092C43.206 18.0092 42.9939 18.0689 42.805 18.1882C42.6193 18.3042 42.4719 18.4683 42.3625 18.6804C42.2531 18.8892 42.1984 19.1345 42.1984 19.4162V24H40.0805ZM56.3302 24.1491C55.5447 24.1491 54.8685 23.9901 54.3018 23.6719C53.7383 23.3504 53.3041 22.8963 52.9992 22.3097C52.6943 21.7197 52.5418 21.022 52.5418 20.2166C52.5418 19.4311 52.6943 18.7417 52.9992 18.1484C53.3041 17.5552 53.7333 17.0928 54.2868 16.7614C54.8437 16.4299 55.4966 16.2642 56.2456 16.2642C56.7494 16.2642 57.2184 16.3454 57.6526 16.5078C58.0901 16.6669 58.4713 16.9072 58.7961 17.2287C59.1242 17.5502 59.3794 17.9545 59.5617 18.4418C59.744 18.9257 59.8351 19.4924 59.8351 20.142V20.7237H53.387V19.4112H57.8415C57.8415 19.1063 57.7752 18.8362 57.6427 18.6009C57.5101 18.3655 57.3261 18.1816 57.0908 18.049C56.8588 17.9131 56.5887 17.8452 56.2805 17.8452C55.959 17.8452 55.6739 17.9197 55.4253 18.0689C55.1801 18.2147 54.9878 18.4119 54.8486 18.6605C54.7094 18.9058 54.6382 19.1792 54.6349 19.4808V20.7287C54.6349 21.1065 54.7045 21.433 54.8437 21.7081C54.9862 21.9832 55.1867 22.1953 55.4452 22.3445C55.7037 22.4936 56.0103 22.5682 56.365 22.5682C56.6003 22.5682 56.8157 22.535 57.0113 22.4688C57.2068 22.4025 57.3742 22.303 57.5134 22.1705C57.6526 22.0379 57.7587 21.8755 57.8316 21.6832L59.7904 21.8125C59.691 22.2831 59.4871 22.6941 59.1789 23.0455C58.874 23.3935 58.4796 23.6652 57.9956 23.8608C57.5151 24.053 56.9599 24.1491 56.3302 24.1491ZM62.9921 13.8182V14.892C62.9921 15.197 62.9324 15.5085 62.8131 15.8267C62.6971 16.1416 62.5413 16.4399 62.3458 16.7216C62.1502 17 61.9365 17.237 61.7045 17.4325L60.7698 16.8807C60.9355 16.6188 61.0814 16.3288 61.2073 16.0107C61.3366 15.6925 61.4012 15.3229 61.4012 14.902V13.8182H62.9921ZM69.7994 18.5412L67.8605 18.6605C67.8274 18.4948 67.7561 18.3456 67.6468 18.2131C67.5374 18.0772 67.3932 17.9695 67.2142 17.8899C67.0386 17.8071 66.8281 17.7656 66.5828 17.7656C66.2547 17.7656 65.978 17.8352 65.7526 17.9744C65.5272 18.1103 65.4145 18.2926 65.4145 18.5213C65.4145 18.7036 65.4874 18.8577 65.6333 18.9837C65.7791 19.1096 66.0293 19.2107 66.384 19.2869L67.7661 19.5653C68.5085 19.7178 69.062 19.9631 69.4266 20.3011C69.7912 20.6392 69.9735 21.0833 69.9735 21.6335C69.9735 22.134 69.826 22.5732 69.531 22.951C69.2393 23.3288 68.8383 23.6238 68.3279 23.8359C67.8208 24.0447 67.2358 24.1491 66.5729 24.1491C65.562 24.1491 64.7566 23.9387 64.1567 23.5178C63.5601 23.0935 63.2104 22.5168 63.1077 21.7876L65.1908 21.6783C65.2538 21.9865 65.4062 22.2218 65.6482 22.3842C65.8901 22.5433 66.2 22.6229 66.5779 22.6229C66.9491 22.6229 67.2474 22.5516 67.4727 22.4091C67.7014 22.2633 67.8174 22.076 67.8208 21.8473C67.8174 21.6551 67.7362 21.4976 67.5771 21.375C67.4181 21.2491 67.1728 21.1529 66.8414 21.0866L65.5189 20.8232C64.7732 20.674 64.218 20.4155 63.8534 20.0476C63.4922 19.6797 63.3115 19.2107 63.3115 18.6406C63.3115 18.1501 63.4441 17.7275 63.7093 17.3729C63.9777 17.0182 64.3539 16.7448 64.8378 16.5526C65.325 16.3603 65.8951 16.2642 66.548 16.2642C67.5125 16.2642 68.2715 16.468 68.825 16.8757C69.3818 17.2834 69.7066 17.8385 69.7994 18.5412ZM10.9924 33.7464C10.9526 33.3454 10.7819 33.0339 10.4803 32.8118C10.1787 32.5897 9.76935 32.4787 9.25231 32.4787C8.90098 32.4787 8.60434 32.5284 8.36239 32.6278C8.12044 32.724 7.93484 32.8582 7.80558 33.0305C7.67963 33.2029 7.61665 33.3984 7.61665 33.6172C7.61003 33.7995 7.64814 33.9586 7.731 34.0945C7.81718 34.2304 7.93484 34.348 8.08398 34.4474C8.23313 34.5436 8.40548 34.6281 8.60103 34.701C8.79658 34.7706 9.00539 34.8303 9.22745 34.88L10.1422 35.0987C10.5864 35.1982 10.994 35.3307 11.3652 35.4964C11.7364 35.6622 12.0579 35.866 12.3297 36.108C12.6015 36.3499 12.812 36.6349 12.9611 36.9631C13.1136 37.2912 13.1915 37.6674 13.1948 38.0916C13.1915 38.7147 13.0324 39.255 12.7175 39.7124C12.406 40.1664 11.9552 40.5194 11.3652 40.7713C10.7786 41.0199 10.071 41.1442 9.24237 41.1442C8.4204 41.1442 7.70449 41.0182 7.09464 40.7663C6.4881 40.5144 6.01415 40.1416 5.67276 39.6477C5.33469 39.1506 5.15737 38.5357 5.1408 37.8033H7.2239C7.2471 38.1446 7.34487 38.4297 7.51722 38.6584C7.69289 38.8838 7.92655 39.0545 8.21822 39.1705C8.5132 39.2831 8.8463 39.3395 9.21751 39.3395C9.58209 39.3395 9.89862 39.2865 10.1671 39.1804C10.4389 39.0743 10.6493 38.9268 10.7985 38.7379C10.9476 38.549 11.0222 38.3319 11.0222 38.0866C11.0222 37.858 10.9542 37.6657 10.8184 37.5099C10.6858 37.3542 10.4902 37.2216 10.2317 37.1122C9.9765 37.0028 9.66329 36.9034 9.29208 36.8139L8.18342 36.5355C7.32499 36.3267 6.64719 36.0002 6.15004 35.5561C5.65288 35.112 5.40595 34.5137 5.40927 33.7614C5.40595 33.1449 5.57002 32.6063 5.90146 32.1456C6.23621 31.6849 6.69525 31.3253 7.27859 31.0668C7.86192 30.8082 8.5248 30.679 9.26722 30.679C10.0229 30.679 10.6825 30.8082 11.2459 31.0668C11.8127 31.3253 12.2535 31.6849 12.5684 32.1456C12.8832 32.6063 13.0456 33.1399 13.0556 33.7464H10.9924ZM18.0533 41.1491C17.2711 41.1491 16.5982 40.9834 16.0348 40.652C15.4747 40.3172 15.0438 39.8532 14.7422 39.2599C14.4439 38.6667 14.2947 37.9839 14.2947 37.2116C14.2947 36.4295 14.4455 35.7434 14.7472 35.1534C15.0521 34.5601 15.4846 34.0978 16.0447 33.7663C16.6049 33.4316 17.2711 33.2642 18.0433 33.2642C18.7095 33.2642 19.2929 33.3852 19.7933 33.6271C20.2938 33.8691 20.6899 34.2088 20.9815 34.6463C21.2732 35.0838 21.4339 35.5975 21.4638 36.1875H19.4652C19.4089 35.8063 19.2597 35.4998 19.0178 35.2678C18.7791 35.0324 18.4659 34.9148 18.0781 34.9148C17.75 34.9148 17.4633 35.0043 17.218 35.1832C16.9761 35.3589 16.7872 35.6158 16.6513 35.9538C16.5154 36.2919 16.4474 36.7012 16.4474 37.1818C16.4474 37.669 16.5137 38.0833 16.6463 38.4247C16.7822 38.7661 16.9728 39.0263 17.218 39.2053C17.4633 39.3842 17.75 39.4737 18.0781 39.4737C18.3201 39.4737 18.5372 39.424 18.7294 39.3246C18.925 39.2251 19.0857 39.081 19.2116 38.892C19.3409 38.6998 19.4254 38.4695 19.4652 38.201H21.4638C21.4306 38.7843 21.2715 39.2981 20.9865 39.7422C20.7048 40.183 20.3153 40.5277 19.8182 40.7763C19.321 41.0249 18.7327 41.1491 18.0533 41.1491ZM22.8198 41V33.3636H24.873V34.696H24.9526C25.0918 34.2221 25.3255 33.8641 25.6536 33.6222C25.9817 33.3769 26.3596 33.2543 26.7871 33.2543C26.8932 33.2543 27.0075 33.2609 27.1301 33.2741C27.2528 33.2874 27.3605 33.3056 27.4533 33.3288V35.2081C27.3539 35.1783 27.2163 35.1518 27.0407 35.1286C26.865 35.1054 26.7042 35.0938 26.5584 35.0938C26.2469 35.0938 25.9685 35.1617 25.7232 35.2976C25.4812 35.4302 25.289 35.6158 25.1465 35.8544C25.0073 36.093 24.9377 36.3681 24.9377 36.6797V41H22.8198ZM31.6729 41.1491C30.8874 41.1491 30.2113 40.9901 29.6445 40.6719C29.0811 40.3504 28.6469 39.8963 28.342 39.3097C28.0371 38.7197 27.8846 38.022 27.8846 37.2166C27.8846 36.4311 28.0371 35.7417 28.342 35.1484C28.6469 34.5552 29.0761 34.0928 29.6296 33.7614C30.1864 33.4299 30.8394 33.2642 31.5884 33.2642C32.0922 33.2642 32.5612 33.3454 32.9954 33.5078C33.4329 33.6669 33.814 33.9072 34.1388 34.2287C34.467 34.5502 34.7222 34.9545 34.9045 35.4418C35.0868 35.9257 35.1779 36.4924 35.1779 37.142V37.7237H28.7298V36.4112H33.1843C33.1843 36.1063 33.118 35.8362 32.9854 35.6009C32.8529 35.3655 32.6689 35.1816 32.4336 35.049C32.2016 34.9131 31.9315 34.8452 31.6232 34.8452C31.3017 34.8452 31.0167 34.9197 30.7681 35.0689C30.5228 35.2147 30.3306 35.4119 30.1914 35.6605C30.0522 35.9058 29.9809 36.1792 29.9776 36.4808V37.7287C29.9776 38.1065 30.0472 38.433 30.1864 38.7081C30.329 38.9832 30.5295 39.1953 30.788 39.3445C31.0465 39.4936 31.3531 39.5682 31.7077 39.5682C31.9431 39.5682 32.1585 39.535 32.354 39.4688C32.5496 39.4025 32.717 39.303 32.8562 39.1705C32.9954 39.0379 33.1014 38.8755 33.1744 38.6832L35.1332 38.8125C35.0337 39.2831 34.8299 39.6941 34.5217 40.0455C34.2167 40.3935 33.8223 40.6652 33.3384 40.8608C32.8578 41.053 32.3027 41.1491 31.6729 41.1491ZM40.0401 41.1491C39.2546 41.1491 38.5785 40.9901 38.0117 40.6719C37.4483 40.3504 37.0141 39.8963 36.7092 39.3097C36.4042 38.7197 36.2518 38.022 36.2518 37.2166C36.2518 36.4311 36.4042 35.7417 36.7092 35.1484C37.0141 34.5552 37.4433 34.0928 37.9968 33.7614C38.5536 33.4299 39.2066 33.2642 39.9556 33.2642C40.4594 33.2642 40.9284 33.3454 41.3626 33.5078C41.8001 33.6669 42.1812 33.9072 42.506 34.2287C42.8342 34.5502 43.0894 34.9545 43.2717 35.4418C43.454 35.9257 43.5451 36.4924 43.5451 37.142V37.7237H37.0969V36.4112H41.5515C41.5515 36.1063 41.4852 35.8362 41.3526 35.6009C41.2201 35.3655 41.0361 35.1816 40.8008 35.049C40.5688 34.9131 40.2987 34.8452 39.9904 34.8452C39.6689 34.8452 39.3839 34.9197 39.1353 35.0689C38.89 35.2147 38.6978 35.4119 38.5586 35.6605C38.4194 35.9058 38.3481 36.1792 38.3448 36.4808V37.7287C38.3448 38.1065 38.4144 38.433 38.5536 38.7081C38.6961 38.9832 38.8967 39.1953 39.1552 39.3445C39.4137 39.4936 39.7203 39.5682 40.0749 39.5682C40.3103 39.5682 40.5257 39.535 40.7212 39.4688C40.9168 39.4025 41.0842 39.303 41.2234 39.1705C41.3626 39.0379 41.4686 38.8755 41.5415 38.6832L43.5004 38.8125C43.4009 39.2831 43.1971 39.6941 42.8888 40.0455C42.5839 40.3935 42.1895 40.6652 41.7056 40.8608C41.225 41.053 40.6699 41.1491 40.0401 41.1491ZM47.0451 36.5852V41H44.9272V33.3636H46.9457V34.7109H47.0352C47.2042 34.2668 47.4876 33.9155 47.8853 33.657C48.283 33.3951 48.7653 33.2642 49.332 33.2642C49.8623 33.2642 50.3247 33.3802 50.7191 33.6122C51.1135 33.8442 51.4201 34.1757 51.6388 34.6065C51.8576 35.0341 51.967 35.5445 51.967 36.1378V41H49.8491V36.5156C49.8524 36.0483 49.7331 35.6837 49.4911 35.4219C49.2492 35.1567 48.9161 35.0241 48.4918 35.0241C48.2068 35.0241 47.9549 35.0855 47.7362 35.2081C47.5207 35.3307 47.3517 35.5097 47.229 35.745C47.1097 35.977 47.0484 36.2571 47.0451 36.5852ZM59.9899 35.5412L58.051 35.6605C58.0178 35.4948 57.9466 35.3456 57.8372 35.2131C57.7278 35.0772 57.5836 34.9695 57.4047 34.8899C57.229 34.8071 57.0185 34.7656 56.7733 34.7656C56.4451 34.7656 56.1684 34.8352 55.943 34.9744C55.7176 35.1103 55.6049 35.2926 55.6049 35.5213C55.6049 35.7036 55.6779 35.8577 55.8237 35.9837C55.9695 36.1096 56.2198 36.2107 56.5744 36.2869L57.9565 36.5653C58.6989 36.7178 59.2524 36.9631 59.617 37.3011C59.9816 37.6392 60.1639 38.0833 60.1639 38.6335C60.1639 39.134 60.0164 39.5732 59.7214 39.951C59.4297 40.3288 59.0287 40.6238 58.5183 40.8359C58.0112 41.0447 57.4262 41.1491 56.7633 41.1491C55.7524 41.1491 54.947 40.9387 54.3471 40.5178C53.7505 40.0935 53.4009 39.5168 53.2981 38.7876L55.3812 38.6783C55.4442 38.9865 55.5967 39.2218 55.8386 39.3842C56.0806 39.5433 56.3904 39.6229 56.7683 39.6229C57.1395 39.6229 57.4378 39.5516 57.6632 39.4091C57.8919 39.2633 58.0079 39.076 58.0112 38.8473C58.0079 38.6551 57.9267 38.4976 57.7676 38.375C57.6085 38.2491 57.3632 38.1529 57.0318 38.0866L55.7093 37.8232C54.9636 37.674 54.4084 37.4155 54.0439 37.0476C53.6826 36.6797 53.502 36.2107 53.502 35.6406C53.502 35.1501 53.6345 34.7275 53.8997 34.3729C54.1681 34.0182 54.5443 33.7448 55.0282 33.5526C55.5154 33.3603 56.0855 33.2642 56.7385 33.2642C57.7029 33.2642 58.4619 33.468 59.0154 33.8757C59.5723 34.2834 59.8971 34.8385 59.9899 35.5412ZM63.6154 36.5852V41H61.4975V30.8182H63.5558V34.7109H63.6452C63.8176 34.2602 64.096 33.9072 64.4805 33.652C64.8649 33.3935 65.3472 33.2642 65.9272 33.2642C66.4575 33.2642 66.9199 33.3802 67.3143 33.6122C67.712 33.8409 68.0202 34.1707 68.239 34.6016C68.4611 35.0291 68.5704 35.5412 68.5671 36.1378V41H66.4492V36.5156C66.4525 36.045 66.3332 35.6787 66.0913 35.4169C65.8526 35.1551 65.5179 35.0241 65.087 35.0241C64.7987 35.0241 64.5434 35.0855 64.3214 35.2081C64.1026 35.3307 63.9303 35.5097 63.8043 35.745C63.6817 35.977 63.6187 36.2571 63.6154 36.5852ZM73.6841 41.1491C72.9119 41.1491 72.244 40.9851 71.6806 40.657C71.1204 40.3255 70.6879 39.8648 70.383 39.2749C70.0781 38.6816 69.9256 37.9938 69.9256 37.2116C69.9256 36.4228 70.0781 35.7334 70.383 35.1435C70.6879 34.5502 71.1204 34.0895 71.6806 33.7614C72.244 33.4299 72.9119 33.2642 73.6841 33.2642C74.4564 33.2642 75.1226 33.4299 75.6827 33.7614C76.2462 34.0895 76.6803 34.5502 76.9853 35.1435C77.2902 35.7334 77.4426 36.4228 77.4426 37.2116C77.4426 37.9938 77.2902 38.6816 76.9853 39.2749C76.6803 39.8648 76.2462 40.3255 75.6827 40.657C75.1226 40.9851 74.4564 41.1491 73.6841 41.1491ZM73.6941 39.5085C74.0454 39.5085 74.3387 39.4091 74.574 39.2102C74.8094 39.008 74.9867 38.733 75.106 38.3849C75.2286 38.0369 75.29 37.6409 75.29 37.1967C75.29 36.7526 75.2286 36.3565 75.106 36.0085C74.9867 35.6605 74.8094 35.3854 74.574 35.1832C74.3387 34.9811 74.0454 34.88 73.6941 34.88C73.3394 34.88 73.0411 34.9811 72.7992 35.1832C72.5605 35.3854 72.3799 35.6605 72.2573 36.0085C72.138 36.3565 72.0783 36.7526 72.0783 37.1967C72.0783 37.6409 72.138 38.0369 72.2573 38.3849C72.3799 38.733 72.5605 39.008 72.7992 39.2102C73.0411 39.4091 73.3394 39.5085 73.6941 39.5085ZM82.8816 33.3636V34.9545H78.2828V33.3636H82.8816ZM79.3269 31.5341H81.4448V38.6534C81.4448 38.849 81.4746 39.0014 81.5343 39.1108C81.5939 39.2169 81.6768 39.2914 81.7828 39.3345C81.8922 39.3776 82.0182 39.3991 82.1607 39.3991C82.2601 39.3991 82.3596 39.3909 82.459 39.3743C82.5584 39.3544 82.6346 39.3395 82.6877 39.3295L83.0208 40.9055C82.9147 40.9387 82.7656 40.9768 82.5733 41.0199C82.3811 41.0663 82.1474 41.0945 81.8723 41.1044C81.3619 41.1243 80.9145 41.0563 80.53 40.9006C80.1489 40.7448 79.8522 40.5028 79.6401 40.1747C79.428 39.8466 79.3236 39.4323 79.3269 38.9318V31.5341ZM24.4219 58L22.3438 50.3636H24.4865L25.6697 55.4943H25.7393L26.9723 50.3636H29.0753L30.3281 55.4645H30.3928L31.5561 50.3636H33.6939L31.6207 58H29.3786L28.0661 53.1974H27.9716L26.6591 58H24.4219ZM34.8237 58V50.3636H36.9416V58H34.8237ZM35.8876 49.3793C35.5727 49.3793 35.3026 49.2749 35.0772 49.0661C34.8552 48.8539 34.7441 48.6004 34.7441 48.3054C34.7441 48.0137 34.8552 47.7635 35.0772 47.5547C35.3026 47.3426 35.5727 47.2365 35.8876 47.2365C36.2025 47.2365 36.4709 47.3426 36.693 47.5547C36.9184 47.7635 37.0311 48.0137 37.0311 48.3054C37.0311 48.6004 36.9184 48.8539 36.693 49.0661C36.4709 49.2749 36.2025 49.3793 35.8876 49.3793ZM40.756 47.8182V58H38.6381V47.8182H40.756ZM44.5705 47.8182V58H42.4526V47.8182H44.5705ZM49.5471 58V47.8182H51.665V51.6463H51.7296C51.8224 51.4408 51.9566 51.232 52.1323 51.0199C52.3113 50.8045 52.5433 50.6255 52.8283 50.483C53.1167 50.3371 53.4746 50.2642 53.9022 50.2642C54.459 50.2642 54.9727 50.41 55.4434 50.7017C55.914 50.9901 56.2902 51.4259 56.5719 52.0092C56.8536 52.5893 56.9945 53.3168 56.9945 54.1918C56.9945 55.0436 56.8569 55.7628 56.5819 56.3494C56.3101 56.9328 55.9389 57.3752 55.4682 57.6768C55.0009 57.9751 54.4772 58.1243 53.8972 58.1243C53.4862 58.1243 53.1365 58.0563 52.8482 57.9205C52.5632 57.7846 52.3295 57.6139 52.1472 57.4084C51.9649 57.1996 51.8257 56.9891 51.7296 56.777H51.6351V58H49.5471ZM51.6202 54.1818C51.6202 54.6359 51.6832 55.032 51.8091 55.37C51.9351 55.7081 52.1174 55.9716 52.356 56.1605C52.5946 56.3461 52.8846 56.4389 53.226 56.4389C53.5707 56.4389 53.8624 56.3445 54.101 56.1555C54.3397 55.9633 54.5203 55.6982 54.6429 55.3601C54.7689 55.0187 54.8319 54.6259 54.8319 54.1818C54.8319 53.741 54.7705 53.3532 54.6479 53.0185C54.5253 52.6837 54.3446 52.4219 54.106 52.233C53.8674 52.044 53.574 51.9496 53.226 51.9496C52.8813 51.9496 52.5897 52.0407 52.351 52.223C52.1157 52.4053 51.9351 52.6638 51.8091 52.9986C51.6832 53.3333 51.6202 53.7277 51.6202 54.1818ZM61.8878 58.1491C61.1023 58.1491 60.4261 57.9901 59.8594 57.6719C59.2959 57.3504 58.8617 56.8963 58.5568 56.3097C58.2519 55.7197 58.0994 55.022 58.0994 54.2166C58.0994 53.4311 58.2519 52.7417 58.5568 52.1484C58.8617 51.5552 59.291 51.0928 59.8445 50.7614C60.4013 50.4299 61.0542 50.2642 61.8033 50.2642C62.3071 50.2642 62.776 50.3454 63.2102 50.5078C63.6477 50.6669 64.0289 50.9072 64.3537 51.2287C64.6818 51.5502 64.937 51.9545 65.1193 52.4418C65.3016 52.9257 65.3928 53.4924 65.3928 54.142V54.7237H58.9446V53.4112H63.3991C63.3991 53.1063 63.3329 52.8362 63.2003 52.6009C63.0677 52.3655 62.8838 52.1816 62.6484 52.049C62.4164 51.9131 62.1463 51.8452 61.8381 51.8452C61.5166 51.8452 61.2315 51.9197 60.983 52.0689C60.7377 52.2147 60.5455 52.4119 60.4062 52.6605C60.267 52.9058 60.1958 53.1792 60.1925 53.4808V54.7287C60.1925 55.1065 60.2621 55.433 60.4013 55.7081C60.5438 55.9832 60.7443 56.1953 61.0028 56.3445C61.2614 56.4936 61.5679 56.5682 61.9226 56.5682C62.1579 56.5682 62.3733 56.535 62.5689 56.4688C62.7644 56.4025 62.9318 56.303 63.071 56.1705C63.2102 56.0379 63.3163 55.8755 63.3892 55.6832L65.348 55.8125C65.2486 56.2831 65.0447 56.6941 64.7365 57.0455C64.4316 57.3935 64.0372 57.6652 63.5533 57.8608C63.0727 58.053 62.5175 58.1491 61.8878 58.1491ZM28.3942 69.5412L26.4553 69.6605C26.4221 69.4948 26.3509 69.3456 26.2415 69.2131C26.1321 69.0772 25.9879 68.9695 25.8089 68.8899C25.6333 68.8071 25.4228 68.7656 25.1776 68.7656C24.8494 68.7656 24.5727 68.8352 24.3473 68.9744C24.1219 69.1103 24.0092 69.2926 24.0092 69.5213C24.0092 69.7036 24.0821 69.8577 24.228 69.9837C24.3738 70.1096 24.6241 70.2107 24.9787 70.2869L26.3608 70.5653C27.1032 70.7178 27.6567 70.9631 28.0213 71.3011C28.3859 71.6392 28.5682 72.0833 28.5682 72.6335C28.5682 73.134 28.4207 73.5732 28.1257 73.951C27.834 74.3288 27.433 74.6238 26.9226 74.8359C26.4155 75.0447 25.8305 75.1491 25.1676 75.1491C24.1567 75.1491 23.3513 74.9387 22.7514 74.5178C22.1548 74.0935 21.8052 73.5168 21.7024 72.7876L23.7855 72.6783C23.8485 72.9865 24.0009 73.2218 24.2429 73.3842C24.4848 73.5433 24.7947 73.6229 25.1726 73.6229C25.5438 73.6229 25.8421 73.5516 26.0675 73.4091C26.2962 73.2633 26.4122 73.076 26.4155 72.8473C26.4122 72.6551 26.331 72.4976 26.1719 72.375C26.0128 72.2491 25.7675 72.1529 25.4361 72.0866L24.1136 71.8232C23.3679 71.674 22.8127 71.4155 22.4482 71.0476C22.0869 70.6797 21.9062 70.2107 21.9062 69.6406C21.9062 69.1501 22.0388 68.7275 22.304 68.3729C22.5724 68.0182 22.9486 67.7448 23.4325 67.5526C23.9197 67.3603 24.4898 67.2642 25.1428 67.2642C26.1072 67.2642 26.8662 67.468 27.4197 67.8757C27.9766 68.2834 28.3014 68.8385 28.3942 69.5412ZM32.0197 70.5852V75H29.9018V64.8182H31.96V68.7109H32.0495C32.2219 68.2602 32.5003 67.9072 32.8848 67.652C33.2692 67.3935 33.7515 67.2642 34.3315 67.2642C34.8618 67.2642 35.3242 67.3802 35.7186 67.6122C36.1163 67.8409 36.4245 68.1707 36.6433 68.6016C36.8654 69.0291 36.9747 69.5412 36.9714 70.1378V75H34.8535V70.5156C34.8568 70.045 34.7375 69.6787 34.4956 69.4169C34.2569 69.1551 33.9222 69.0241 33.4913 69.0241C33.2029 69.0241 32.9477 69.0855 32.7257 69.2081C32.5069 69.3307 32.3346 69.5097 32.2086 69.745C32.086 69.977 32.023 70.2571 32.0197 70.5852ZM42.0884 75.1491C41.3162 75.1491 40.6483 74.9851 40.0849 74.657C39.5247 74.3255 39.0922 73.8648 38.7873 73.2749C38.4824 72.6816 38.3299 71.9938 38.3299 71.2116C38.3299 70.4228 38.4824 69.7334 38.7873 69.1435C39.0922 68.5502 39.5247 68.0895 40.0849 67.7614C40.6483 67.4299 41.3162 67.2642 42.0884 67.2642C42.8607 67.2642 43.5269 67.4299 44.087 67.7614C44.6504 68.0895 45.0846 68.5502 45.3896 69.1435C45.6945 69.7334 45.8469 70.4228 45.8469 71.2116C45.8469 71.9938 45.6945 72.6816 45.3896 73.2749C45.0846 73.8648 44.6504 74.3255 44.087 74.657C43.5269 74.9851 42.8607 75.1491 42.0884 75.1491ZM42.0984 73.5085C42.4497 73.5085 42.743 73.4091 42.9783 73.2102C43.2137 73.008 43.391 72.733 43.5103 72.3849C43.6329 72.0369 43.6942 71.6409 43.6942 71.1967C43.6942 70.7526 43.6329 70.3565 43.5103 70.0085C43.391 69.6605 43.2137 69.3854 42.9783 69.1832C42.743 68.9811 42.4497 68.88 42.0984 68.88C41.7437 68.88 41.4454 68.9811 41.2035 69.1832C40.9648 69.3854 40.7842 69.6605 40.6616 70.0085C40.5423 70.3565 40.4826 70.7526 40.4826 71.1967C40.4826 71.6409 40.5423 72.0369 40.6616 72.3849C40.7842 72.733 40.9648 73.008 41.2035 73.2102C41.4454 73.4091 41.7437 73.5085 42.0984 73.5085ZM48.5391 75L46.4609 67.3636H48.6037L49.7869 72.4943H49.8565L51.0895 67.3636H53.1925L54.4453 72.4645H54.5099L55.6733 67.3636H57.8111L55.7379 75H53.4957L52.1832 70.1974H52.0888L50.7763 75H48.5391ZM61.0588 70.5852V75H58.9409V67.3636H60.9593V68.7109H61.0488C61.2179 68.2668 61.5012 67.9155 61.899 67.657C62.2967 67.3951 62.7789 67.2642 63.3457 67.2642C63.876 67.2642 64.3384 67.3802 64.7328 67.6122C65.1272 67.8442 65.4338 68.1757 65.6525 68.6065C65.8713 69.0341 65.9806 69.5445 65.9806 70.1378V75H63.8627V70.5156C63.8661 70.0483 63.7467 69.6837 63.5048 69.4219C63.2628 69.1567 62.9297 69.0241 62.5055 69.0241C62.2205 69.0241 61.9686 69.0855 61.7498 69.2081C61.5344 69.3307 61.3654 69.5097 61.2427 69.745C61.1234 69.977 61.0621 70.2571 61.0588 70.5852Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFrameScreenshotIcon);\nexport default __webpack_public_path__ + \"static/media/frame_screenshot_icon.157641ff.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedItemInPromoSystem(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 10,\n viewBox: \"0 0 12 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1662 0L4.16621 6.2056L1.83388 3.79357L0 5.69066L4.16625 10L12 1.89713L10.1662 0Z\",\n fill: \"#FFDB3D\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedItemInPromoSystem);\nexport default __webpack_public_path__ + \"static/media/approved_item_in_promo_system.49a217a6.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport {ReactComponent as FrameScreenShotIcon} from \"../../../assets/frame_screenshot_icon.svg\";\r\n// import {ReactComponent as CameraIcon} from \"../../../assets/camera_icon.svg\";\r\nimport {Box} from \"@mui/material\";\r\n\r\nexport const NonImagePlaceholder = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}","import React from \"react\";\r\nimport styles from './imagePreview.module.scss';\r\nimport {ReactComponent as ImageWithError} from \"../../../assets/promos&items/image_error.svg\";\r\nimport {AsyncImageWithLoader} from \"../../../com/imageWithLoader/imageWithLoader\";\r\nimport {FlyerPageSpotDto} from \"../../../dtos\";\r\nimport {NonImagePlaceholder} from \"../nonImagePlaceholder/nonImagePlaceholder\";\r\n\r\ninterface Props {\r\n src: string;\r\n selectedPageImage?: string;\r\n frame?: FlyerPageSpotDto;\r\n}\r\n\r\n\r\nexport const ImagePreviewPopup: React.FC = (\r\n {\r\n src,\r\n selectedPageImage,\r\n frame\r\n }\r\n) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n // selectedPageImage={selectedPageImage}\r\n // frame={frame}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport styles from './CreateEditItemModal.module.scss'\r\nimport {OrangeButton} from \"../../../../../../../com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {PromoDto, PromoItemsDto} from \"../../../../../../../../dtos\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n createPromotionItem, deleteImageFromItems,\r\n editPromotionItem,\r\n} from \"../../../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useTypedSelector} from \"../../../../../../../../hooks/useTypeSelector\";\r\nimport {ReactComponent as ImageWithError} from \"../../../../../../../../assets/promos&items/image_error.svg\";\r\nimport {AddDeleteImageModal} from \"../AddDeleteImageModal/AddDeleteImageModal\";\r\nimport {FileInput} from \"../../../../../../../com/FileInput/FileInput\";\r\nimport {ReactComponent as UploadImageIcon} from \"../../../../../../../../assets/promos&items/upload_icon.svg\";\r\nimport {ReactComponent as DeleteImageIcon} from \"../../../../../../../../assets/promos&items/delete_icon.svg\";\r\nimport {Button, createTheme, ThemeProvider} from \"@mui/material\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\nimport {ImagePreviewPopup} from \"../../../../../../../com/tooltipPreviewOnlyImage/imagePreview\";\r\nimport {PageSpinner} from \"../../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {ClosePopupBtn} from \"../../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport {NonImagePlaceholder} from \"../../../../../../../com/nonImagePlaceholder/nonImagePlaceholder\";\r\n\r\n\r\nconst theme = createTheme({\r\n components: {\r\n // Name of the component\r\n MuiTooltip: {\r\n styleOverrides: {\r\n // Name of the slot\r\n tooltip: {\r\n // Some CSS\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n maxWidth: '620px',\r\n width: '620px',\r\n maxHeight: '620px',\r\n border: '1px solid #4D4D4D',\r\n borderRadius: '5px',\r\n },\r\n popper: {\r\n zIndex: 1501\r\n }\r\n },\r\n },\r\n },\r\n});\r\n\r\n\r\ninterface Props {\r\n isShow: boolean;\r\n defaultContentForModal: PromoItemsDto,\r\n isNewItem: boolean;\r\n setOpenItemModal: (value: boolean) => void;\r\n promo: PromoDto;\r\n lang: string;\r\n imageSrc: string;\r\n isUnlinkPromo?: boolean;\r\n}\r\n\r\ninterface ErrorsForField {\r\n isEmptyItemCode: boolean;\r\n isEmptyItemCaption: boolean;\r\n // isEmptySrcForImage: boolean;\r\n isEmptyRegularPrice: boolean;\r\n}\r\n\r\n\r\nexport const CreateEditItemModal: React.FC = (\r\n {\r\n isShow,\r\n defaultContentForModal,\r\n isNewItem,\r\n setOpenItemModal,\r\n promo,\r\n lang,\r\n imageSrc,\r\n isUnlinkPromo,\r\n }\r\n) => {\r\n const dispatch = useDispatch();\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const [defaultItemState, setDefaultItemState] = useState(defaultContentForModal);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const [itemState, setItemState] = useState(defaultContentForModal);\r\n const [itemPromoState, setItemPromoState] = useState(promo);\r\n const [isHidden, setHiddenItemPopup] = useState(false);\r\n // const [imageSrcState, setImageSrcState] = useState(imageSrc);\r\n // const [withTooltip, showTooltip] = useState(true);\r\n const [emptyFields, setEmptyFields] = useState({\r\n isEmptyItemCode: false,\r\n isEmptyItemCaption: false,\r\n // isEmptySrcForImage: false,\r\n isEmptyRegularPrice: false,\r\n })\r\n const [isLoading, setLoadingWrapper] = useState(false);\r\n const [selectedImageFile, setImageFile] = useState();\r\n\r\n\r\n //image popup\r\n const [isOpenImagePopup, setImagePopupStatus] = useState(false);\r\n\r\n //item confirm popup\r\n const [isShowConfirmExitPopup, setShowConfirmExitPopup] = useState(false);\r\n const [isRequiredFieldsNotFilled, setIsRequiredFieldsNotFilled] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n setItemState({\r\n ...itemState,\r\n fpiImage: imageSrc\r\n })\r\n // setImageSrcState(imageSrc);\r\n }, [imageSrc]);\r\n\r\n useEffect(() => {\r\n if (selectedImageFile) {\r\n let newSrc = URL.createObjectURL(selectedImageFile);\r\n // setImageSrcState(newSrc);\r\n setItemState({\r\n ...itemState,\r\n fpiImage: newSrc\r\n })\r\n // showTooltip(true);\r\n }\r\n }, [selectedImageFile])\r\n\r\n useEffect(() => {\r\n const data = {\r\n ...defaultContentForModal,\r\n fpiImage: isNewItem ? '' : imageSrc\r\n }\r\n setItemState(data);\r\n setDefaultItemState(data);\r\n setEmptyFields({\r\n isEmptyItemCode: !Boolean(defaultContentForModal.fpiCode),\r\n isEmptyItemCaption: !Boolean(defaultContentForModal.fpiCaption),\r\n // isEmptySrcForImage: !Boolean(defaultContentForModal.fpiImage),\r\n isEmptyRegularPrice: flyerDetailsState.flyFltRec.fltCode === 3 ? false : !Boolean(defaultContentForModal.fpiRegularPrice),\r\n })\r\n setItemPromoState(promo);\r\n\r\n document.documentElement.addEventListener('paste', pasteImage)\r\n return () => {\r\n document.documentElement.removeEventListener('paste', pasteImage)\r\n }\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n setLoadingWrapper(promotionsItemsState.isLoading);\r\n if (promotionsItemsState.type === \"EDIT_PROMOTION_ITEM_SUCCESS\" || promotionsItemsState.type === \"CREATE_PROMOTION_ITEM_SUCCESS\") {\r\n setOpenItemModal(false);\r\n }\r\n }, [promotionsItemsState.type])\r\n\r\n\r\n const onChangeItemCode = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n\r\n // const isNumeric = validator.isNumeric(currentValue);\r\n // if(isNumeric){\r\n setItemState({\r\n ...itemState,\r\n fpiCode: e.target.value\r\n })\r\n // }\r\n if (currentValue === '') {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyItemCode: true\r\n })\r\n } else {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyItemCode: false\r\n })\r\n }\r\n }\r\n\r\n const onChangeItemCaption = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n\r\n setItemState({\r\n ...itemState,\r\n fpiCaption: currentValue\r\n })\r\n\r\n if (currentValue === '') {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyItemCaption: true\r\n })\r\n } else {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyItemCaption: false\r\n })\r\n }\r\n\r\n }\r\n const onChangeItemRegularPrice = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n if (currentValue.indexOf('.') > -1) {\r\n if (currentValue.indexOf('.') + 3 >= currentValue.length) {\r\n setItemState({\r\n ...itemState,\r\n fpiRegularPrice: e.target.value\r\n })\r\n }\r\n } else {\r\n setItemState({\r\n ...itemState,\r\n fpiRegularPrice: e.target.value\r\n })\r\n }\r\n\r\n if (currentValue === '' && flyerDetailsState.flyFltRec.fltCode !== 3) {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyRegularPrice: true\r\n })\r\n } else {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyRegularPrice: false\r\n })\r\n }\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent) => {\r\n const invalidChars = [\"-\", \"+\", \"e\", \"E\"]; //include \".\" if you only want integers\r\n if (invalidChars.includes(e.key)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n // const onChangePromotionType = (e: React.ChangeEvent) => {\r\n // const isNumeric = validator.isNumeric(e.target.value);\r\n // }\r\n //\r\n // const onChangeItemDescription = (e: React.ChangeEvent) => {\r\n //\r\n // }\r\n //\r\n // const onChangeFamilyCode = (e: React.ChangeEvent) => {\r\n // const isNumeric = validator.isNumeric(e.target.value);\r\n // }\r\n\r\n const onChangeItemKeyword = (e: React.ChangeEvent) => {\r\n setItemState({\r\n ...itemState,\r\n fpiKeywords: e.target.value\r\n })\r\n }\r\n\r\n const onBlur = (e: any) => {\r\n const value = e.target.value;\r\n setItemState({\r\n ...itemState,\r\n fpiRegularPrice: Number(value).toFixed(2)\r\n })\r\n }\r\n\r\n const pasteImage = (e: any) => {\r\n // const e = je;\r\n for (let i = 0; i < e.clipboardData.items.length; i++) {\r\n let item = e.clipboardData.items[i];\r\n console.log('Item: ' + item.type);\r\n if (item.type.indexOf('image') != -1) {\r\n //item.\r\n onFileSelected(item.getAsFile());\r\n } else {\r\n // ignore not images\r\n console.log('Discarding not image paste data');\r\n }\r\n }\r\n }\r\n\r\n const onFileSelected = (file: File) => {\r\n setImageFile(file);\r\n // dispatch(uploadImageToItem(flyerDetailsState.flyRecId, file, flyerDetailsState.flyLacRec!.lacCode!, item.fpiRecId? item.fpiRecId : null));\r\n }\r\n const deleteImage = () => {\r\n // setImageSrcState('');\r\n setItemState({\r\n ...itemState,\r\n fpiImage: ''\r\n })\r\n if (itemState.fpiImage && !isNewItem) {\r\n dispatch(deleteImageFromItems([itemState.fpiRecId!], flyerDetailsState.flyLacRec!.lacCode!));\r\n }\r\n // dispatch(deleteImageFromItems([item.fpiRecId!], flyerDetailsState.flyLacRec!.lacCode!));\r\n }\r\n\r\n\r\n const onSaveItem = () => {\r\n if (isNewItem) {\r\n const itemData = {\r\n id: '',\r\n flyerId: Boolean(promo.flrRecId) ? (isUnlinkPromo ? promo.flrRecId : null) : flyerDetailsState.flyRecId,\r\n promoId: Boolean(promo.flrRecId) ? promo.flrRecId : null,\r\n code: itemState.fpiCode,\r\n caption: itemState.fpiCaption,\r\n displayCaption1: itemState.fpiCaption,\r\n displayCaption2: '',\r\n regularPrice: Number(itemState.fpiRegularPrice),\r\n keywords: itemState.fpiKeywords ? itemState.fpiKeywords : '',\r\n file: selectedImageFile\r\n }\r\n // dispatch(createItem(itemData, lang));\r\n dispatch(createPromotionItem(itemData, lang, itemState.fpiImage!, flyerDetailsState.flyFltRec.fltCode !== 3));\r\n } else {\r\n const itemData = {\r\n id: itemState.fpiRecId,\r\n flyerId: Boolean(promo.flrRecId) ? (isUnlinkPromo ? promo.flrRecId : null) : flyerDetailsState.flyRecId,\r\n promoId: Boolean(promo.flrRecId) ? promo.flrRecId : null,\r\n code: itemState.fpiCode,\r\n caption: itemState.fpiCaption,\r\n displayCaption1: itemState.fpiCaption,\r\n displayCaption2: itemState.fpiDisplayCaption2,\r\n regularPrice: Number(itemState.fpiRegularPrice),\r\n keywords: itemState.fpiKeywords ? itemState.fpiKeywords : '',\r\n file: selectedImageFile\r\n }\r\n // dispatch(updateItem(itemData, lang));\r\n dispatch(editPromotionItem(itemData, lang, itemState.fpiImage!, flyerDetailsState.flyFltRec.fltCode !== 3));\r\n }\r\n }\r\n\r\n const openImagePopup = (isOpen: boolean) => {\r\n setHiddenItemPopup(isOpen);\r\n setImagePopupStatus(isOpen);\r\n }\r\n\r\n const compareDefaultItemStateWithCurrentItemState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(itemState);\r\n const stringCurrentState = JSON.stringify(defaultItemState);\r\n return stringDefaultState !== stringCurrentState;\r\n }\r\n\r\n const checkStatesBeforeLeave = () => {\r\n const isStateWasChanged = compareDefaultItemStateWithCurrentItemState();\r\n if (isStateWasChanged) {\r\n setShowConfirmExitPopup(true);\r\n } else {\r\n setOpenItemModal(false)\r\n }\r\n }\r\n\r\n const checkerBeforeSavePromoDetails = () => {\r\n if (\r\n JSON.stringify(emptyFields).indexOf('true') > -1\r\n ) {\r\n setIsRequiredFieldsNotFilled(true);\r\n } else {\r\n onSaveItem();\r\n }\r\n };\r\n\r\n const onCloseWithoutSaving = () => {\r\n setOpenItemModal(false)\r\n }\r\n\r\n const confirmErrorPopup = () => {\r\n setIsRequiredFieldsNotFilled(false);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {isNewItem ? 'Add Item' : 'Edit Item'}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Item Code\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Promotion Code\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Item Caption\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Lead Image\r\n
\r\n {\r\n itemState.fpiImage && itemState.fpiImage !== '' ?\r\n \r\n }\r\n placement={\"right-start\"}\r\n >\r\n
\r\n }/>\r\n
\r\n \r\n
:\r\n
\r\n }/>\r\n
\r\n }\r\n\r\n
\r\n \r\n )}\r\n validFileExtensions={`.jpg,.jpeg,.png`}\r\n isMultipleSelection={false}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Regular Item Price\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Keywords\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n -1 || !compareDefaultItemStateWithCurrentItemState()}\r\n onClick={onSaveItem}/>\r\n
\r\n \r\n {isLoading &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {isOpenImagePopup &&\r\n \r\n }\r\n {isShowConfirmExitPopup && (\r\n \r\n )}\r\n {isRequiredFieldsNotFilled && (\r\n \r\n )}\r\n\r\n \r\n )\r\n}","import React from \"react\";\r\nimport {PromoItemsDto} from \"../../../../dtos\";\r\nimport styles from './TooltipDetailsItemPopup.module.scss';\r\nimport {AsyncImageWithLoader} from \"../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {OrangeButton} from \"../../pagesTab/orangeBtn/OrangeButton\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {NonImagePlaceholder} from \"../../nonImagePlaceholder/nonImagePlaceholder\";\r\n\r\ninterface Props {\r\n item: PromoItemsDto,\r\n editItem: (e: React.MouseEvent) => void;\r\n}\r\n\r\n\r\nexport const TooltipDetailsItemPopup: React.FC = (\r\n {\r\n item,\r\n editItem\r\n }\r\n) => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const isDisableEditBtn = flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n }/>\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Item Code\r\n
\r\n
\r\n {item.fpiCode?.length ? item.fpiCode : `Info is missing`}\r\n
\r\n
\r\n
\r\n
\r\n Item Caption\r\n
\r\n
\r\n {item.fpiDisplayCaption1 ? item.fpiDisplayCaption1: `Info is missing` }\r\n
\r\n
\r\n {\r\n flyerDetailsState.flyFltRec.fltCode !== 3 &&\r\n
\r\n
\r\n Price\r\n
\r\n
\r\n {flyerDetailsState.flyLacRec.lacCurrencySymbol} {item.fpiRegularPrice ? item.fpiRegularPrice.toFixed(2): `Info is missing`}\r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedItemInPromo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 12,\n viewBox: \"0 0 14 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8606 0L4.86058 7.44671L2.13952 4.55229L0 6.8288L4.86062 12L14 2.27656L11.8606 0Z\",\n fill: \"#38B524\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedItemInPromo);\nexport default __webpack_public_path__ + \"static/media/approved_item_in_promo.918d9de3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotApprovedItemInPromo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 10,\n viewBox: \"0 0 10 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 1.00714L8.99286 0L5 3.99286L1.00714 0L0 1.00714L3.99286 5L0 8.99286L1.00714 10L5 6.00714L8.99286 10L10 8.99286L6.00714 5L10 1.00714Z\",\n fill: \"#E22929\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotApprovedItemInPromo);\nexport default __webpack_public_path__ + \"static/media/not_approved_item_in_promo.78c6be87.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5938 0.9375H10.0312V0H9.09375V0.9375H2.90625V0H1.96875V0.9375H1.40625C0.630844 0.9375 0 1.56834 0 2.34375V10.5938C0 11.3692 0.630844 12 1.40625 12H10.5938C11.3692 12 12 11.3692 12 10.5938V2.34375C12 1.56834 11.3692 0.9375 10.5938 0.9375ZM11.0625 10.5938C11.0625 10.8522 10.8522 11.0625 10.5938 11.0625H1.40625C1.14778 11.0625 0.9375 10.8522 0.9375 10.5938V4.40625H11.0625V10.5938ZM11.0625 3.46875H0.9375V2.34375C0.9375 2.08528 1.14778 1.875 1.40625 1.875H1.96875V2.8125H2.90625V1.875H9.09375V2.8125H10.0312V1.875H10.5938C10.8522 1.875 11.0625 2.08528 11.0625 2.34375V3.46875Z\",\n fill: \"#888888\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.71875 5.39062H1.78125V6.32812H2.71875V5.39062Z\",\n fill: \"#888888\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.59375 5.39062H3.65625V6.32812H4.59375V5.39062Z\",\n fill: \"#888888\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.46875 5.39062H5.53125V6.32812H6.46875V5.39062Z\",\n fill: \"#888888\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.34375 5.39062H7.40625V6.32812H8.34375V5.39062Z\",\n fill: \"#888888\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2188 5.39062H9.28125V6.32812H10.2188V5.39062Z\",\n fill: \"#888888\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.71875 7.26562H1.78125V8.20312H2.71875V7.26562Z\",\n fill: \"#888888\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.59375 7.26562H3.65625V8.20312H4.59375V7.26562Z\",\n fill: \"#888888\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.46875 7.26562H5.53125V8.20312H6.46875V7.26562Z\",\n fill: \"#888888\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.34375 7.26562H7.40625V8.20312H8.34375V7.26562Z\",\n fill: \"#888888\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.71875 9.14062H1.78125V10.0781H2.71875V9.14062Z\",\n fill: \"#888888\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.59375 9.14062H3.65625V10.0781H4.59375V9.14062Z\",\n fill: \"#888888\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.46875 9.14062H5.53125V10.0781H6.46875V9.14062Z\",\n fill: \"#888888\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.34375 9.14062H7.40625V10.0781H8.34375V9.14062Z\",\n fill: \"#888888\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2188 7.26562H9.28125V8.20312H10.2188V7.26562Z\",\n fill: \"#888888\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarIcon);\nexport default __webpack_public_path__ + \"static/media/calendar_icon.af5bd478.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\n\r\nimport {createTheme, ThemeProvider} from \"@mui/material\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport {TooltipDetailsItemPopup} from \"./TooltipDetailsItemPopup/TooltipDetailsItemPopup\";\r\nimport {ReactComponent as ApprovePromotionForSystem} from \"../../../assets/promos&items/approved_item_in_promo_system.svg\";\r\nimport {PromoItemsDto} from \"../../../dtos\";\r\nimport {ReactComponent as ApprovePromotion} from \"../../../assets/promos&items/approved_item_in_promo.svg\";\r\nimport {ReactComponent as NotApprovePromotion} from \"../../../assets/promos&items/not_approved_item_in_promo.svg\";\r\nimport styles from './QualificationForItemComponent.module.scss'\r\n\r\nconst theme = createTheme({\r\n components: {\r\n // Name of the component\r\n MuiTooltip: {\r\n styleOverrides: {\r\n // Name of the slot\r\n tooltip: {\r\n // Some CSS\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n maxWidth: '600px',\r\n width: '600px',\r\n maxHeight: '420px',\r\n border: '1px solid #4D4D4D',\r\n borderRadius: '5px',\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\ninterface Props {\r\n item: PromoItemsDto;\r\n editItem: (e: React.MouseEvent) => void;\r\n itemQualification: number | undefined\r\n}\r\n\r\n\r\nexport const QualificationForItemComponent: React.FC = (\r\n {\r\n item,\r\n editItem,\r\n itemQualification\r\n }\r\n) => {\r\n let QualificationIcon;\r\n switch (itemQualification){\r\n case 1:\r\n QualificationIcon = ApprovePromotionForSystem;\r\n break\r\n case 2:\r\n QualificationIcon = ApprovePromotion;\r\n break\r\n default:\r\n QualificationIcon = NotApprovePromotion;\r\n break;\r\n }\r\n\r\n return (\r\n
\r\n \r\n }\r\n placement={\"right-start\"}\r\n >\r\n \r\n \r\n \r\n
\r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport styles from './LeftMenuPromotionItem.module.scss'\r\nimport {\r\n FlyerPageSpotDto,\r\n ItemsListMenuDto,\r\n PromoDto,\r\n PromoItemsDto,\r\n SelectPageForTabsDto, UserDto\r\n} from \"../../../../../../../dtos\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {ReactComponent as ItemIcon} from \"../../../../../../../assets/promos&items/item_icon.svg\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\nimport {\r\n attachItemsToFlyer, changeQualificationStatusForItems,\r\n} from \"../../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../../assets/promos&items/menu_on_hover.svg\";\r\n// import Button from '@material-ui/core/Button';\r\nimport {MenuForItems} from \"./MenuForItems/menuForItem\";\r\nimport {CreateEditItemModal} from \"./CreateEditItemModal/CreateEditItemModal\";\r\nimport {\r\n QualificationForItemComponent\r\n} from \"../../../../../../com/QualificationForItemComponent/QualificationForItemComponent\";\r\nimport {Button} from \"@mui/material\";\r\n\r\n\r\ninterface PromotionItemInt {\r\n item: PromoItemsDto;\r\n isQualification: boolean;\r\n isUnlinkPromo: boolean;\r\n frames?: FlyerPageSpotDto[];\r\n frame?: FlyerPageSpotDto;\r\n setFrames?: (e: FlyerPageSpotDto[]) => void;\r\n userName?: string;\r\n promo?: PromoDto;\r\n unlinkAllItemFromPromoSelectedPromo?: () => void;\r\n onEditItem?: (item: PromoItemsDto) => void;\r\n // statusForApproveAll?: string;\r\n}\r\n\r\n\r\nexport const PromotionItem: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n let [isHebrew, setHebrewLang] = useState(false);\r\n let [isOpenItemModal, setOpenItemModal] = useState(false);\r\n\r\n\r\n let [isNewItem, setStatusForNewOrNotForItem] = useState(false);\r\n\r\n const [itemQualification, setItemQualificationStatus] = useState(props.item?.qualificationLevel);\r\n const [isHoverOnItem, changeHoverOnItemStatus] = useState(false);\r\n const [openItemMenu, setOpenItemMenu] = useState(false);\r\n const [imageSrc, setImageSrc] = useState(props.item.fpiImage!);\r\n const prevOpenItemMenu = useRef(openItemMenu);\r\n const anchorRef = useRef(null);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n useEffect(() => {\r\n const currentItem = promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.filter((promoItem: PromoItemsDto) => {\r\n return promoItem.fpiRecId === props.item.fpiRecId;\r\n });\r\n setItemQualificationStatus(props.item?.qualificationLevel);\r\n setImageSrc(props.item?.fpiImage ? props.item?.fpiImage : ``)\r\n // const currentItem = promotionsItemsState.items.filter((promoItem: PromoItemsDto) => {\r\n // return promoItem.fpiRecId === props.item.fpiRecId;\r\n // });\r\n // setItemQualificationStatus(currentItem[0] ? currentItem[0].qualificationLevel : props.item?.qualificationLevel);\r\n // setImageSrc(currentItem[0] ? currentItem[0].fpiImage : props.item?.qualificationLevel)\r\n // }, [promotionsItemsState.items]);\r\n }, [promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items, flyerDetailsState]);\r\n\r\n useEffect(() => {\r\n setItemQualificationStatus(props.item?.qualificationLevel);\r\n }, [props.item?.qualificationLevel]);\r\n\r\n // useEffect(() => {\r\n // setImageSrc(isNewItem ? '' : props.item.fpiImage!);\r\n // }, [isNewItem])\r\n\r\n const onClickFrame = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n hideMenu();\r\n }\r\n\r\n const onAddNew = () => {\r\n setStatusForNewOrNotForItem(true);\r\n setImageSrc('');\r\n setOpenItemModal(true);\r\n }\r\n const onEdit = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (props.onEditItem) {\r\n props.onEditItem(props.item);\r\n // setStatusForNewOrNotForItem(false);\r\n // setImageSrc(props.item.fpiImage!);\r\n // setOpenItemModal(true);\r\n }\r\n }\r\n\r\n const onUnlink = () => {\r\n let sourcePromo: PromoDto = props.frame ? {...props.frame?.flyerPromos![0]} : {...props.promo};\r\n dispatch(attachItemsToFlyer(flyerDetailsState.flyRecId, [props.item.fpiRecId!], false, sourcePromo, props.frame?.fpsRecId!))\r\n }\r\n\r\n const onMouseEnterItem = () => {\r\n changeHoverOnItemStatus(true);\r\n }\r\n\r\n const onMouseLeaveItem = () => {\r\n changeHoverOnItemStatus(false);\r\n setOpenItemMenu(false);\r\n }\r\n\r\n const handleToggle = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n setOpenItemMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n\r\n const changeQualificationStatus = () => {\r\n if (itemQualification !== 0) {\r\n dispatch(changeQualificationStatusForItems([props.item.fpiRecId!], flyerDetailsState?.flyLacRec?.lacCode!, itemQualification === 1 ? 2 : 1, flyerDetailsState, false, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo, props.isUnlinkPromo))\r\n // setItemQualificationStatus(itemQualification === 1 ? 2 : 1);\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n setHebrewLang(flyerDetailsState?.flyLacRec?.lacCode! === 'he-IL')\r\n }, [flyerDetailsState])\r\n\r\n const clickMenuData: ItemsListMenuDto = {\r\n setOpen: setOpenItemMenu,\r\n prevOpen: prevOpenItemMenu,\r\n open: openItemMenu,\r\n anchorRef: anchorRef,\r\n }\r\n\r\n return (\r\n
\r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {`${props.item.fpiCaption}`}\r\n \r\n
    \r\n\r\n
    \r\n {\r\n flyerDetailsState.flyFltRec.fltCode !== 3 &&\r\n
    \r\n {`${flyerDetailsState.flyLacRec.lacCurrencySymbol} ${props.item.fpiRegularPrice ? props.item.fpiRegularPrice?.toFixed(2) : '0.00'}`}\r\n
    \r\n }\r\n
    \r\n {props.isQualification &&\r\n \r\n \r\n \r\n }\r\n {isHoverOnItem &&\r\n
    \r\n \r\n \r\n \r\n \r\n
    }\r\n
  • \r\n \r\n\r\n {isOpenItemModal &&\r\n }\r\n\r\n \r\n )\r\n}","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedPromo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.833374,\n y: 0.833496,\n width: 18.3333,\n height: 18.3335,\n rx: 2,\n fill: \"#38B524\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0505 5L8.21711 11.2056L5.94956 8.7936L4.16663 10.6907L8.21715 15.0001L15.8333 6.89714L14.0505 5Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedPromo);\nexport default __webpack_public_path__ + \"static/media/approved_promo.bb8cf9aa.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useState} from \"react\";\r\nimport styles from './PromoSaleType.module.scss'\r\nimport {ReactComponent as EditIcon} from '../../../../assets/promo_sale_types_icons/edit_icon.svg'\r\n\r\nimport {DefaultSaleTypeDto, PromoDto, SaleTypeDto} from \"../../../../dtos\";\r\n\r\ninterface Props {\r\n saleType: SaleTypeDto;\r\n defaultSaleType?: DefaultSaleTypeDto;\r\n isSelected: boolean;\r\n setSelectedSaleTypeData: (saleType: SaleTypeDto) => void;\r\n requisiteMaxValue?: number;\r\n requisiteMinValue?: number;\r\n}\r\n\r\n\r\nexport const PromoSaleType: React.FC = (\r\n {\r\n saleType,\r\n defaultSaleType,\r\n isSelected,\r\n setSelectedSaleTypeData,\r\n requisiteMaxValue,\r\n requisiteMinValue\r\n }\r\n) => {\r\n const [requisiteValue, setRequisiteValue] = useState('');\r\n const [benefitValue, setBenefitValue] = useState('');\r\n\r\n\r\n const [isEditRequisite, setEditRequisite] = useState(false);\r\n const [isEditBenefit, setEditBenefit] = useState(false);\r\n\r\n const [isSelectedSaleType, setSelectedSaleType] = useState(false);\r\n\r\n useEffect(() => {\r\n setRequisiteValue(saleType.requisite ? saleType.requisite : defaultSaleType?.saleTypeData.defaultRequisite);\r\n setBenefitValue(saleType.benefit ? saleType.benefit : defaultSaleType?.saleTypeData.defaultBenefit);\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectedSaleType(isSelected);\r\n }, [isSelected])\r\n\r\n const onKeyDown = (e: React.KeyboardEvent) => {\r\n const invalidChars = [\"-\", \"+\", \"e\", \"E\"]; //include \".\" if you only want integers\r\n if (invalidChars.includes(e.key)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n\r\n const onEditRequisite = () => {\r\n setEditRequisite(!isEditRequisite);\r\n onClickRow();\r\n };\r\n\r\n const onEditBenefit = () => {\r\n setEditBenefit(!isEditBenefit);\r\n onClickRow();\r\n }\r\n\r\n const onChangeRequisite = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n if (currentValue.indexOf('.') > -1) {\r\n if (currentValue.indexOf('.') + 3 >= currentValue.length) {\r\n if(requisiteMaxValue && Number(currentValue) > requisiteMaxValue){\r\n setRequisiteValue(requisiteMaxValue.toString());\r\n // } else if(requisiteMinValue && Number(currentValue) < requisiteMinValue){\r\n // setRequisiteValue(requisiteMinValue.toString());\r\n } else {\r\n setRequisiteValue(currentValue)\r\n }\r\n }\r\n } else {\r\n if(requisiteMaxValue && Number(currentValue) > requisiteMaxValue){\r\n setRequisiteValue(requisiteMaxValue.toString());\r\n // } else if(requisiteMinValue && Number(currentValue) < requisiteMinValue){\r\n // setRequisiteValue(requisiteMinValue.toString());\r\n } else {\r\n setRequisiteValue(currentValue)\r\n }\r\n }\r\n }\r\n const onChangeBenefit = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n if (currentValue.indexOf('.') > -1) {\r\n if (currentValue.indexOf('.') + 3 >= currentValue.length) {\r\n setBenefitValue(currentValue)\r\n }\r\n } else {\r\n setBenefitValue(currentValue)\r\n }\r\n }\r\n\r\n const onClickRow = () => {\r\n let requisiteVal: number = Number(requisiteValue);\r\n let benefitVal: number = Number(benefitValue);\r\n if(requisiteMinValue && requisiteVal < requisiteMinValue){\r\n requisiteVal = requisiteMinValue;\r\n } else if (requisiteMaxValue && requisiteVal > requisiteMaxValue){\r\n requisiteVal = requisiteMaxValue;\r\n }\r\n setRequisiteValue(requisiteVal.toString());\r\n setBenefitValue(benefitVal.toString());\r\n setSelectedSaleTypeData({\r\n ...saleType,\r\n requisite: requisiteVal,\r\n benefit: benefitVal\r\n })\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \"\"/\r\n
    \r\n \r\n \r\n
    \r\n {saleType.satCode}\r\n
    \r\n \r\n \r\n
    \r\n {saleType.satCaption}\r\n
    \r\n \r\n \r\n {\r\n saleType.satCode !== 1 &&
    \r\n
    \r\n {defaultSaleType?.saleTypeData.nameRequisite}\r\n
    \r\n
    \r\n {/*{*/}\r\n {/* requisiteValue &&*/}\r\n \r\n {/*}*/}\r\n\r\n {\r\n defaultSaleType?.saleTypeData.isChangeableRequisite && !isEditRequisite &&\r\n
    \r\n \r\n
    \r\n }\r\n {\r\n defaultSaleType?.saleTypeData.isChangeableRequisite && isEditRequisite &&\r\n \r\n }\r\n\r\n
    \r\n\r\n
    \r\n\r\n }\r\n \r\n \r\n {\r\n saleType.satCode !== 1 &&
    \r\n
    \r\n {defaultSaleType?.saleTypeData.nameBenefit}\r\n
    \r\n
    \r\n {/*{*/}\r\n {/* benefitValue && */}\r\n \r\n\r\n {/*}*/}\r\n {\r\n defaultSaleType?.saleTypeData.isChangeableBenefit && !isEditBenefit &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {\r\n defaultSaleType?.saleTypeData.isChangeableBenefit && isEditBenefit &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n }\r\n \r\n\r\n \r\n )\r\n}","import {PromoDto, PromoItemsDto, SaleTypeDto, SellingUnitDto} from \"../dtos\";\r\n\r\nexport const getPromoSaleTypeCaptionForType70UsingSellingUnits = (\r\n saleType: SaleTypeDto,\r\n currencySymbol: string,\r\n sellingUnit?: SellingUnitDto,\r\n promotion?: PromoDto,\r\n isHebrew?: boolean\r\n): string => {\r\n let caption = '';\r\n if(sellingUnit){\r\n switch (sellingUnit.id){\r\n default:\r\n if(sellingUnit.languageDisplayCaption){\r\n caption = sellingUnit?.languageDisplayCaption.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion!.flrSalePrice\r\n ? promotion!.flrSalePrice.toFixed(2).toString()\r\n : \"promotion!.flrSalePrice = null\"\r\n )\r\n .replace(\r\n // //g,\r\n promotion!.flrBuyQty === 1 && isHebrew ? / /g : //g,\r\n promotion!.flrBuyQty && promotion!.flrBuyQty !== 1\r\n ? promotion!.flrBuyQty.toString()\r\n : \"\"\r\n )\r\n .replace(\r\n //g,\r\n sellingUnit?.languageCaption\r\n ? sellingUnit?.languageCaption.toString()\r\n : \"sellingUnit?.languageCaption = null\"\r\n )\r\n .replace(\r\n //g,\r\n sellingUnit?.languageAbbrv\r\n ? sellingUnit?.languageAbbrv.toString()\r\n : \"sellingUnit?.languageAbbrv = null\"\r\n )\r\n }\r\n break;\r\n }\r\n } else {\r\n caption = `sellingUnit: undefined`\r\n }\r\n return caption\r\n}\r\n\r\nexport const getPromoSaleTypeCaptions = (\r\n saleType: SaleTypeDto,\r\n currencySymbol: string,\r\n sellingUnit?: SellingUnitDto,\r\n promotion?: PromoDto,\r\n) => {\r\n let caption = \"\";\r\n try {\r\n const isHebrew = saleType.lacCode === \"he-IL\";\r\n // const unit = isHebrew ? \"יח'\" : \"unit\";\r\n switch (promotion?.flrSatCode) {\r\n case 1:\r\n caption = saleType.displayCaption!;\r\n break;\r\n case 2:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrSalePrice\r\n ? promotion?.flrSalePrice.toFixed(2).toString()\r\n : \"promoSalePrice = null\"\r\n );\r\n break;\r\n case 10:\r\n case 11:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrSalePrice\r\n ? promotion?.flrSalePrice.toFixed(2).toString()\r\n : \"promoSalePrice = null\"\r\n )\r\n .replace(//g, sellingUnit?.languageCaption ? ` ${sellingUnit.languageCaption}` : ` sellingUnit: undefined`);\r\n break;\r\n case 12:\r\n const itemsPricesArray: number[] | undefined = promotion?.flyerPromoItems?.map((item: PromoItemsDto) => {\r\n return item.fpiRegularPrice;\r\n });\r\n let minRegPrice = 0;\r\n let maxRegPrice = 0;\r\n if(itemsPricesArray){\r\n maxRegPrice = Math.max(...itemsPricesArray);\r\n minRegPrice = Math.min(...itemsPricesArray);\r\n }\r\n let regularPricesRange: string = ``;\r\n if(minRegPrice === maxRegPrice){\r\n regularPricesRange = `${maxRegPrice % 1 !== 0 ? maxRegPrice.toFixed(2).toString() : maxRegPrice.toString()}`\r\n } else {\r\n const minRegPriceConv = minRegPrice % 1 !== 0 ? minRegPrice.toFixed(2).toString() : minRegPrice.toString();\r\n const maxRegPriceConv = maxRegPrice % 1 !== 0 ? maxRegPrice.toFixed(2).toString() : maxRegPrice.toString();\r\n regularPricesRange = `${minRegPriceConv}-${currencySymbol}${maxRegPriceConv}`\r\n }\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrSalePrice\r\n ? (promotion?.flrSalePrice % 1 !== 0 ? promotion?.flrSalePrice.toFixed(2).toString() : promotion?.flrSalePrice.toString())\r\n : \"promoSalePrice = null\"\r\n )\r\n .replace(\r\n //g,\r\n Boolean(regularPricesRange)\r\n ? regularPricesRange\r\n : \"items missing prices\"\r\n );\r\n break;\r\n case 13:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrGetAmountOff\r\n ? (promotion?.flrGetAmountOff % 1 !== 0 ? promotion?.flrGetAmountOff.toFixed(2).toString() : promotion?.flrGetAmountOff.toString())\r\n : \"promoSalePrice = null\"\r\n )\r\n .replace(\r\n //g,\r\n promotion?.flrBuyQty\r\n ? promotion?.flrBuyQty.toString()\r\n : \"flrBuyQty = null\"\r\n )\r\n if (!promotion?.flrBuyQty || promotion?.flrBuyQty === 0 || (promotion?.flrBuyQty && promotion?.flrBuyQty >= 100)) {\r\n caption = caption.replace(/ *\\([^)]*\\) */g, \"\");\r\n }\r\n break;\r\n case 20:\r\n case 21:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrSalePrice\r\n ? promotion?.flrSalePrice.toFixed(2).toString()\r\n : \"promoSalePrice = null\"\r\n )\r\n .replace(\r\n //g,\r\n promotion?.flrBuyQty\r\n ? promotion?.flrBuyQty.toString()\r\n : \"promoBuyQty = null\"\r\n );\r\n break;\r\n case 30:\r\n caption = saleType\r\n .displayCaption! // .replace(/{CurrencySymbol}/g, currencySymbol)\r\n // .replace(/{RegPrice}/g, promo!.flrRegularPrice ? promo!.flrRegularPrice.toFixed(2).toString() : 'promoRegularPrice = null')\r\n .replace(\r\n //g,\r\n promotion?.flrGetPctOff\r\n ? promotion?.flrGetPctOff.toString()\r\n : \"promoGetPctOff = null\"\r\n );\r\n break;\r\n case 40:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion!.flrSalePrice\r\n ? promotion!.flrSalePrice.toFixed(2).toString()\r\n : \"promoSalePrice = null\"\r\n );\r\n break;\r\n case 41:\r\n caption = saleType.displayCaption!.replace(\r\n //g,\r\n promotion?.flrGetPctOff\r\n ? promotion?.flrGetPctOff.toString()\r\n : \"promoGetPctOff = null\"\r\n );\r\n break;\r\n case 44:\r\n caption = saleType.displayCaption!.replace(\r\n //g,\r\n promotion?.flrPctAt\r\n ? promotion?.flrPctAt.toString()\r\n : \"promoPctAt = null\"\r\n );\r\n break;\r\n case 50:\r\n case 51:\r\n caption = saleType.displayCaption!.replace(\r\n //g,\r\n promotion?.flrBuyQty\r\n ? promotion?.flrBuyQty.toString()\r\n : \"promoBuyQty = null\"\r\n );\r\n break;\r\n case 62:\r\n case 63:\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion?.flrBuyAmount\r\n ? promotion?.flrBuyAmount.toFixed(2).toString()\r\n : \"promoBuyAmount = null\"\r\n )\r\n .replace(\r\n //g,\r\n promotion?.flrGetAmountOff\r\n ? promotion?.flrGetAmountOff.toString()\r\n : \"promoGetAmountOff = null\"\r\n );\r\n break;\r\n case 70:\r\n case 71:\r\n case 72:\r\n caption = getPromoSaleTypeCaptionForType70UsingSellingUnits(saleType, currencySymbol, sellingUnit, promotion, isHebrew)\r\n // caption = saleType\r\n // .displayCaption!.replace(//g, currencySymbol)\r\n // .replace(\r\n // //g,\r\n // promotion!.flrSalePrice\r\n // ? promotion!.flrSalePrice.toFixed(2).toString()\r\n // : \"promoSalePrice = null\"\r\n // )\r\n // .replace(\r\n // //g,\r\n // promotion!.flrBuyQty\r\n // ? promotion!.flrBuyQty.toString()\r\n // : \"promotion!.flrBuyQty = null\"\r\n // )\r\n // .replace(\r\n // //g,\r\n // sellingUnit.languageCaption\r\n // ? sellingUnit.languageCaption.toString()\r\n // : \"sellingUnit.languageCaption = null\"\r\n // );\r\n break;\r\n case 80:\r\n const benefitItem = promotion?.flyerPromoItems?.find((promoItem: PromoItemsDto) => {\r\n if(promoItem.fpiIsBenefit){\r\n return promoItem;\r\n }\r\n })\r\n caption = saleType\r\n .displayCaption!.replace(//g, currencySymbol)\r\n .replace(\r\n //g,\r\n promotion!.flrBuyQty\r\n ? promotion!.flrBuyQty.toString()\r\n : \"promotion!.flrBuyQty = null\"\r\n )\r\n .replace(\r\n //g,\r\n promotion!.flrCaption\r\n ? promotion!.flrCaption.toString()\r\n : \"promotion!.flrDisplayCaption1 = null\"\r\n )\r\n .replace(\r\n //g,\r\n benefitItem\r\n ? `${benefitItem.fpiCode} ${benefitItem.fpiDisplayCaption1}`\r\n : \"no gift items in promo\"\r\n );\r\n break;\r\n // .replace(//g, currencySymbol)\r\n // .replace(//g, promotion!.flrSalePrice ? promotion!.flrSalePrice.toFixed(2).toString() : 'promoSalePrice = null')\r\n case 81:\r\n caption = saleType\r\n .displayCaption!.replace(\r\n //g,\r\n promotion?.flrBuyQty\r\n ? promotion?.flrBuyQty.toString()\r\n : \"promoBuyQty = null\"\r\n )\r\n .replace(//g, currencySymbol)\r\n .replace(\r\n /<Caption>/g,\r\n promotion!.flrCaption\r\n ? `${promotion!.flrCaption} HARDCODE CODE`\r\n : \"promoSalePrice = null\"\r\n );\r\n break;\r\n default:\r\n caption = saleType.displayCaption!;\r\n break;\r\n }\r\n\r\n return caption;\r\n } catch (err) {\r\n console.log(\"saleTypesArrayIsEmpty\");\r\n return caption;\r\n }\r\n};\r\n\r\nexport const convertPromoPropertiesToGenericParams = (\r\n promotion: PromoDto,\r\n selectedSaleType: SaleTypeDto\r\n): {\r\n benefit: number | null | undefined;\r\n requisite: number | null | undefined;\r\n saleTypeCode: number | null | undefined;\r\n} => {\r\n let genericParams: any;\r\n switch (selectedSaleType.satCaption) {\r\n case \"BogoAtPercentAtCheapest\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrPctAt,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BogoAtPercentOff\":\r\n genericParams = {\r\n requisite: 1,\r\n benefit: promotion.flrGetPctOff,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BogoAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"Buy100GRAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"Coupon\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrGetAmountOff,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyAmountGetAmountOffOnce\":\r\n genericParams = {\r\n requisite: promotion.flrBuyAmount,\r\n benefit: promotion.flrGetAmountOff,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyAmountGetAmountOffRepeat\":\r\n genericParams = {\r\n requisite: promotion.flrBuyAmount,\r\n benefit: promotion.flrGetAmountOff,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyAnyOfAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyAtRegularAt\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyItemXGetItemYFree\":\r\n const benefitItem = promotion?.flyerPromoItems?.find((promoItem: PromoItemsDto) => {\r\n if(promoItem.fpiIsBenefit){\r\n return promoItem;\r\n }\r\n })\r\n\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: benefitItem ? benefitItem.fpiCode : '',\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyKGAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyLBAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyOneAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyQtyAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyQtyGetOneFree\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrGetQty,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyQtyGetOneFreeCheapest\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrGetQty,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"NewItems\":\r\n genericParams = {\r\n requisite: promotion.flrSalePrice,\r\n benefit: null,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"PercentOff\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrGetPctOff,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"StartingFromPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n case \"BuyUomAtPrice\":\r\n genericParams = {\r\n requisite: promotion.flrBuyQty,\r\n benefit: promotion.flrSalePrice,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n default:\r\n genericParams = {\r\n benefit: promotion.flrSalePrice,\r\n requisite: promotion.flrBuyQty,\r\n saleTypeCode: promotion.flrSatCode,\r\n };\r\n break;\r\n }\r\n\r\n return genericParams;\r\n};\r\n\r\nexport const convertGenericPromoParamsToProperties = (\r\n promotion: PromoDto,\r\n selectedSaleType: SaleTypeDto\r\n) => {\r\n let promo = {...promotion};\r\n switch (selectedSaleType.satCaption) {\r\n case \"BogoAtPercentAtCheapest\":\r\n promo.flrBuyQty = 1;\r\n promo.flrPctAt = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BogoAtPercentOff\":\r\n promo.flrBuyQty = 1;\r\n promo.flrGetPctOff = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BogoAtPrice\":\r\n promo.flrBuyQty = 1;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"Coupon\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrGetAmountOff = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"Buy100GRAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyAmountGetAmountOffOnce\":\r\n promo.flrBuyAmount = selectedSaleType.requisite;\r\n promo.flrGetAmountOff = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyAmountGetAmountOffRepeat\":\r\n promo.flrBuyAmount = selectedSaleType.requisite;\r\n promo.flrGetAmountOff = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyAnyOfAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyAtRegularAt\":\r\n promo.flrBuyQty = 1;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyItemXGetItemYFree\":\r\n promo?.flyerPromoItems?.forEach((promoItem: PromoItemsDto) => {\r\n promoItem.fpiIsBenefit = Number(promoItem.fpiCode) === Number(selectedSaleType.benefit)\r\n })\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyKGAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyLBAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyOneAtPrice\":\r\n promo.flrBuyQty = 1;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyQtyAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyQtyGetOneFree\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrGetQty = 1;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyQtyGetOneFreeCheapest\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrGetQty = 1;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"NewItems\":\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"PercentOff\":\r\n promo.flrBuyQty = 1;\r\n promo.flrGetPctOff = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"BuyUomAtPrice\":\r\n promo.flrBuyQty = selectedSaleType.requisite;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"StartingFromPrice\":\r\n promo.flrBuyQty = 1;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n case \"SalePrice\":\r\n promo.flrBuyQty = 1;\r\n promo.flrSalePrice = selectedSaleType.benefit;\r\n promo.flrSatCode = selectedSaleType.satCode;\r\n break;\r\n default:\r\n break;\r\n }\r\n return promo;\r\n};\r\n","import React from \"react\";\r\nimport {PromoDto, SaleTypeDto} from \"../../../dtos\";\r\nimport {PromoSaleType} from \"./PromoSaleType/PromoSaleType\";\r\nimport styles from './PromosSaleTypesPopup.module.scss'\r\nimport {saleTypesDropdownData} from \"../../../globals/Contants\";\r\nimport {ReactComponent as CloseIcon} from \"../../../assets/editors/close_icon_x.svg\";\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport {convertPromoPropertiesToGenericParams} from \"../../../globals/PromoSaleTypeCaptionGenerator\";\r\n\r\n\r\ninterface Props {\r\n saleTypesArray: SaleTypeDto[];\r\n selectedSaleType: SaleTypeDto;\r\n setSelectedSaleType: (saleType: SaleTypeDto) => void;\r\n currentPromoSaleTypeCode?: number;\r\n openSaleTypesDropdown: (value: boolean) => void;\r\n promotionState: PromoDto;\r\n defaultPromotionState: PromoDto;\r\n}\r\n\r\n\r\n\r\nexport const PromosSaleTypesPopup: React.FC = (\r\n {\r\n saleTypesArray,\r\n selectedSaleType,\r\n setSelectedSaleType,\r\n currentPromoSaleTypeCode,\r\n openSaleTypesDropdown,\r\n promotionState,\r\n defaultPromotionState\r\n }\r\n) => {\r\n const saleTypes = saleTypesArray.map((saleType: SaleTypeDto, index) => {\r\n const selectedPatternSaleType = saleTypesDropdownData.find((key) => key.saleTypeId === saleType.satCode);\r\n if(selectedPatternSaleType) {\r\n const selectedId = selectedSaleType.satCode? selectedSaleType.satCode : currentPromoSaleTypeCode;\r\n let selected: boolean = selectedId === saleType.satCode;\r\n const saleTypeDefaultState = selected ? promotionState : defaultPromotionState;\r\n let convertValuesForBenefitAndRequisite = convertPromoPropertiesToGenericParams(saleTypeDefaultState, saleType);\r\n let saleTypeObj = {...saleType};\r\n if(selected || selectedPatternSaleType.saleTypeId === saleTypeDefaultState.flrSatCode){\r\n saleTypeObj = {\r\n ...saleType,\r\n requisite: convertValuesForBenefitAndRequisite.requisite,\r\n benefit: convertValuesForBenefitAndRequisite.benefit,\r\n }\r\n }\r\n let requisiteMaxValue = 0;\r\n let requisiteMinValue = 0;\r\n if(selectedPatternSaleType.saleTypeId === 13){\r\n requisiteMaxValue = 100;\r\n requisiteMinValue = 0;\r\n }\r\n return \r\n }\r\n })\r\n\r\n const handleClose = () => {\r\n openSaleTypesDropdown(false);\r\n }\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {saleTypes}\r\n \r\n
    StickerPromo Type CodePromo Type LabelRequisiteBenefit\r\n
    {\r\n openSaleTypesDropdown(false);\r\n }}>\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport {\r\n FlyerPageSpotDto,\r\n PromoDto,\r\n PromoItemsDto,\r\n SaleTypeDto, SelectPageForTabsDto,\r\n SellingUnitDto,\r\n} from \"../../../../../../../dtos\";\r\nimport styles from \"./PromotionDetailsModalPopup.module.scss\";\r\nimport {ReactComponent as Calendar} from \"../../../../../../../assets/promos&items/calendar_icon.svg\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport {ReactComponent as DropdownIcon} from \"../../../../../../../assets/flyerDetailsPopupAssets/dropdown.svg\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport Select, {components, Theme} from \"react-select\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {PageSpinner} from \"../../../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {OrangeButton} from \"../../../../../../com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {PromosSaleTypesPopup} from \"../../../../../../com/PromosSaleTypesPopup/PromosSaleTypesPopup\";\r\nimport {\r\n convertGenericPromoParamsToProperties, convertPromoPropertiesToGenericParams,\r\n getPromoSaleTypeCaptions\r\n} from \"../../../../../../../globals/PromoSaleTypeCaptionGenerator\";\r\nimport {\r\n createPromotion,\r\n deleteImageFromPromotion,\r\n updatePromotion\r\n} from \"../../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {saleTypesDropdownData} from \"../../../../../../../globals/Contants\";\r\nimport {getFlippingFlyer} from \"../../../../../../../store\";\r\nimport {Box, Button, createTheme, ThemeProvider} from \"@mui/material\";\r\nimport Tooltip from \"@mui/material/Tooltip\";\r\nimport {ImagePreviewPopup} from \"../../../../../../com/tooltipPreviewOnlyImage/imagePreview\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {FileInput} from \"../../../../../../com/FileInput/FileInput\";\r\nimport {ReactComponent as UploadImageIcon} from \"../../../../../../../assets/promos&items/upload_icon.svg\";\r\nimport {ReactComponent as DeleteImageIcon} from \"../../../../../../../assets/promos&items/delete_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {SimpleConfirmPopup} from \"../../../../../../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {ClosePopupBtn} from \"../../../../../../../com/closePopupBtn/closePopupBtn\";\r\nimport _ from 'lodash'\r\nimport {NonImagePlaceholder} from \"../../../../../../com/nonImagePlaceholder/nonImagePlaceholder\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n imagesButton: {\r\n '&.MuiButton-root': {\r\n cursor: `pointer`,\r\n margin: `0 8px`,\r\n display: `flex`,\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n }\r\n}))\r\n\r\nconst theme = createTheme({\r\n components: {\r\n // Name of the component\r\n MuiTooltip: {\r\n styleOverrides: {\r\n // Name of the slot\r\n tooltip: {\r\n // Some CSS\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n maxWidth: '620px',\r\n width: '620px',\r\n maxHeight: '620px',\r\n border: '1px solid #4D4D4D',\r\n borderRadius: '5px',\r\n },\r\n popper: {\r\n zIndex: 1501\r\n }\r\n },\r\n },\r\n },\r\n});\r\n\r\n\r\nconst customStyles = {\r\n control: (base: any) => ({\r\n ...base,\r\n boxShadow: \"none\",\r\n height: \"35px\",\r\n border: \"1px solid #888888\",\r\n fontWeight: \"normal\",\r\n textAlign: \"start\",\r\n lineHeight: 1,\r\n width: '100%',\r\n // padding: '0 0 0 10px',\r\n fontSize: '16px',\r\n cursor: \"pointer\",\r\n \":hover\": {\r\n borderColor: \"#888888\",\r\n },\r\n }),\r\n\r\n singleValue: (base: any) => ({\r\n ...base,\r\n lineHeight: \"20px\",\r\n top: `46%`,\r\n fontSize: `16px`,\r\n padding: `0 5px`\r\n }),\r\n valueContainer: (base: any) => ({\r\n ...base,\r\n // height: \"14px\",\r\n padding: \"0\",\r\n fontSize: \"16px\",\r\n }),\r\n input: (base: any) => ({\r\n ...base,\r\n padding: '0',\r\n fontSize: \"16px\",\r\n height: \"16px\",\r\n width: 0\r\n }),\r\n menuList: (base: any) => ({\r\n ...base,\r\n fontWeight: \"normal\",\r\n padding: '0'\r\n }),\r\n option: (base: any) => ({\r\n ...base,\r\n padding: '5px',\r\n lineHeight: '1',\r\n margin: '0',\r\n textAlign: `initial`\r\n })\r\n};\r\n\r\nconst themeSelect = (theme: Theme) => ({\r\n ...theme,\r\n spacing: {\r\n ...theme.spacing,\r\n controlHeight: 35,\r\n // baseUnit: 0,\r\n }\r\n});\r\n\r\nconst DropdownIndicator = (props: any) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n\r\ninterface ErrorsForField {\r\n isEmptyPromotionCaption: boolean;\r\n isEmptyPromotionCode: boolean;\r\n // isEmptyPromotionSaleType: boolean;\r\n}\r\n\r\n\r\ninterface Props {\r\n isShow: boolean;\r\n isNewPromotion: boolean;\r\n promotionData: PromoDto;\r\n openPromotionModalPopup: (isOpen: boolean) => void;\r\n isHebrew: boolean;\r\n currencySymbol: string;\r\n frameData?: FlyerPageSpotDto;\r\n isUnlinked: boolean;\r\n}\r\n\r\n\r\nexport const PromotionDetailsModalPopup: React.FC = (\r\n {\r\n isShow,\r\n isNewPromotion,\r\n promotionData,\r\n openPromotionModalPopup,\r\n isHebrew,\r\n currencySymbol,\r\n frameData,\r\n isUnlinked\r\n }\r\n) => {\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const saleTypes = useTypedSelector((state) => state.saleTypes.saleTypesForSpecificFlyer);\r\n const sellingUnitsForFlyer = useTypedSelector((state) => state.sellingUnits.sellingUnitsForFlyer);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let selectedPagesForTabState = useTypedSelector((state) => state.selectPageForTabs);\r\n const selectedPageImage = flyerDetailsState.flyerPages[selectedPagesForTabState.pageNo === 0 ? 0 : selectedPagesForTabState.pageNo - 1].flpImageUrl;\r\n\r\n // let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n const dispatch = useDispatch();\r\n //promotions state\r\n const [defaultPromotionState, setDefaultPromotionState] = useState({});\r\n const [promotionState, setPromotionState] = useState({});\r\n //errors state\r\n const [emptyFields, setEmptyFields] = useState({\r\n isEmptyPromotionCaption: false,\r\n isEmptyPromotionCode: false,\r\n // isEmptyPromotionSaleType: false,\r\n })\r\n // promotion caption state\r\n const [convertedPromoCaption, setPromoCaption] = useState('');\r\n //date picker range states\r\n const [dateRange, setDateRange] = useState([null, null]);\r\n const [startDate, endDate] = dateRange;\r\n\r\n //loader state\r\n const [isLoading, setLoadingWrapper] = useState(false);\r\n\r\n //saletypes dropdownState\r\n const [isSaleTypesDropdownOpen, openSaleTypesDropdown] = useState(false);\r\n\r\n //sale type selected data\r\n const [selectedSaleType, setSelectedSaleType] = useState({});\r\n\r\n const [selectedSellingUnit, setSelectedSellingUnit] = useState({})\r\n const [sellingUnitsState, setSellingUnitsState] = useState([]);\r\n\r\n const [imageSrcState, setImageSrcState] = useState(``);\r\n const [selectedImageFile, setImageFile] = useState();\r\n // const [withTooltip, showTooltip] = useState(true);\r\n // const [imageSelectionNumber, setImageSelectionNumber] = useState(3);\r\n\r\n //confirm popups\r\n const [isShowConfirmExitPopup, setShowConfirmExitPopup] = useState(false);\r\n const [isRequiredFieldsNotFilled, setIsRequiredFieldsNotFilled] = useState(false);\r\n const properties = {\r\n isHebrew: isHebrew\r\n }\r\n const classes = useStyles(properties);\r\n\r\n useEffect(() => {\r\n const newSellingUnitFromChangedSellingUnitsArray = sellingUnitsState.find((sellingUnit: any) => selectedSellingUnit.id === sellingUnit.id);\r\n if (newSellingUnitFromChangedSellingUnitsArray && newSellingUnitFromChangedSellingUnitsArray.disabled) {\r\n const notDisabledSellingUnitsArray = sellingUnitsState.filter((sellingUnit: any) => !sellingUnit.disabled);\r\n if (notDisabledSellingUnitsArray.length) {\r\n setSelectedSellingUnit(notDisabledSellingUnitsArray[0]);\r\n }\r\n }\r\n }, [sellingUnitsState])\r\n\r\n useEffect(() => {\r\n if (selectedImageFile) {\r\n let newSrc = URL.createObjectURL(selectedImageFile);\r\n setImageSrcState(newSrc);\r\n // promo.imageSelection = 3 (If there is a Promo Image, display it. If not, display the Frame Image)\r\n setPromotionState({\r\n ...promotionState,\r\n flrImage: newSrc,\r\n imageSelection: 3\r\n })\r\n // setImageSelectionNumber(3);\r\n // showTooltip(true);\r\n }\r\n\r\n }, [selectedImageFile])\r\n\r\n\r\n //set promotion states\r\n useEffect(() => {\r\n try {\r\n const selectedSellingUnit = sellingUnitsForFlyer?.find((sellingUnit: SellingUnitDto) => {\r\n if (sellingUnit.id === promotionData.flrSeuRecId) {\r\n return sellingUnit;\r\n }\r\n })\r\n setSelectedSellingUnit(selectedSellingUnit ?\r\n {\r\n ...selectedSellingUnit,\r\n value: selectedSellingUnit.code,\r\n label: selectedSellingUnit.languageCaption,\r\n disabled: true\r\n } :\r\n {\r\n ...sellingUnitsForFlyer![0],\r\n value: sellingUnitsForFlyer![0].code,\r\n label: sellingUnitsForFlyer![0].languageCaption,\r\n }\r\n );\r\n const sellingUnitsForFlyerWithDisabledOption = sellingUnitsForFlyer?.map((sellingUnit: SellingUnitDto) => {\r\n return {\r\n ...sellingUnit,\r\n disabled: promotionData.flrSatCode !== 70 && (sellingUnit.id !== 23 && sellingUnit.id !== 1 && sellingUnit.id !== 8)\r\n }\r\n })\r\n setSellingUnitsState(sellingUnitsForFlyerWithDisabledOption);\r\n } catch (err) {\r\n console.log(`missing selling units array`);\r\n }\r\n if (promotionData.flrValidFromUtc && promotionData.flrValidToUtc) {\r\n setDateRange([new Date(promotionData.flrValidFromUtc), new Date(promotionData.flrValidToUtc)])\r\n }\r\n let url: string = promotionData.flrImage || '';\r\n/*\r\n switch (promotionData.imageSelection) {\r\n case 1:\r\n url = '';\r\n break;\r\n case 2:\r\n url = `frameImage${frameData?.fpsRecId}`;\r\n break;\r\n case 3:\r\n url = promotionData.flrImage ? promotionData.flrImage : `frameImage${frameData?.fpsRecId}`;\r\n break;\r\n }\r\n let imageSelectionForState: number;\r\n if (promotionData.imageSelection === 3 && !Boolean(promotionData.flrImage) && url === `frameImage${frameData?.fpsRecId}`) {\r\n // setImageSelectionNumber(2);\r\n imageSelectionForState = 2;\r\n } else if (!isNewPromotion && (!promotionData.imageSelection || (promotionData.imageSelection === 2 && url !== `frameImage${frameData?.fpsRecId}`))) {\r\n // setImageSelectionNumber(1);\r\n imageSelectionForState = 1;\r\n } else {\r\n // setImageSelectionNumber(promotionData.imageSelection ? promotionData.imageSelection : 3);\r\n imageSelectionForState = promotionData.imageSelection ? promotionData.imageSelection : 3;\r\n }\r\n if (isNewPromotion) {\r\n url = promotionData.flrImage ? promotionData.flrImage : `frameImage${frameData?.fpsRecId}`;\r\n }\r\n*/\r\n setImageSrcState(url);\r\n/*\r\n const data: PromoDto = {\r\n ...promotionData,\r\n imageSelection: imageSelectionForState,\r\n }\r\n setDefaultPromotionState(data);\r\n setPromotionState(data);\r\n*/\r\n setDefaultPromotionState(promotionData);\r\n setPromotionState(promotionData);\r\n\r\n document.documentElement.addEventListener('paste', pasteImage)\r\n return () => {\r\n document.documentElement.removeEventListener('paste', pasteImage)\r\n }\r\n }, [promotionData]);\r\n\r\n useEffect(() => {\r\n setEmptyFields({\r\n isEmptyPromotionCaption: !Boolean(promotionState.flrCaption),\r\n isEmptyPromotionCode: !Boolean(promotionState.flrCode),\r\n // isEmptyPromotionSaleType: !Boolean(promotionData.flrSatCode)\r\n });\r\n }, [promotionState]);\r\n\r\n useEffect(() => {\r\n // setPromoCaption(getPromoCaption(promotionData, isHebrew, currencySymbol));\r\n const selectedSaleTypeData = saleTypes.find((saleType: SaleTypeDto) => {\r\n const saleTypeCode = selectedSaleType.satCode ? selectedSaleType.satCode : promotionData.flrSatCode;\r\n return saleType.satCode === saleTypeCode;\r\n });\r\n if (selectedSaleType.satCode) {\r\n const convertedPromotionFromSaleType = convertGenericPromoParamsToProperties(promotionState, selectedSaleType);\r\n setPromoCaption(getPromoSaleTypeCaptions(selectedSaleTypeData, currencySymbol, selectedSellingUnit, convertedPromotionFromSaleType));\r\n if (JSON.stringify(promotionState) !== JSON.stringify(convertedPromotionFromSaleType)) {\r\n setPromotionState(convertedPromotionFromSaleType);\r\n }\r\n } else {\r\n if (selectedSaleTypeData) {\r\n setPromoCaption(getPromoSaleTypeCaptions(selectedSaleTypeData, currencySymbol, selectedSellingUnit, promotionState));\r\n } else {\r\n setPromoCaption(getPromoSaleTypeCaptions(saleTypes[0], currencySymbol, selectedSellingUnit));\r\n }\r\n }\r\n if (!_.isEmpty(promotionState)) {\r\n const sellingUnitsForFlyerWithDisabledOption = sellingUnitsForFlyer?.map((sellingUnit: SellingUnitDto) => {\r\n return {\r\n ...sellingUnit,\r\n disabled: promotionState.flrSatCode !== 70 && (sellingUnit.id !== 23 && sellingUnit.id !== 1 && sellingUnit.id !== 8)\r\n }\r\n })\r\n setSellingUnitsState(sellingUnitsForFlyerWithDisabledOption);\r\n }\r\n }, [selectedSaleType, promotionState, selectedSellingUnit])\r\n\r\n //after promos&items state change\r\n useEffect(() => {\r\n setLoadingWrapper(promotionsItemsState.isLoading);\r\n if (promotionsItemsState.type === \"UPDATE_PROMOTION_SUCCESS\" || promotionsItemsState.type === \"CREATE_PROMOTION_SUCCESS\") {\r\n openPromotionModalPopup(false);\r\n dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n }\r\n }, [promotionsItemsState.type])\r\n\r\n const pasteImage = (e: any) => {\r\n // const e = je;\r\n for (let i = 0; i < e.clipboardData.items.length; i++) {\r\n let item = e.clipboardData.items[i];\r\n console.log('Item: ' + item.type);\r\n if (item.type.indexOf('image') != -1) {\r\n //item.\r\n onFileSelected(item.getAsFile());\r\n } else {\r\n // ignore not images\r\n console.log('Discarding not image paste data');\r\n }\r\n }\r\n }\r\n\r\n const onFileSelected = (file: File) => {\r\n setImageFile(file);\r\n }\r\n\r\n const deletePromotionImage = () => {\r\n setImageSrcState('');\r\n setPromotionState({\r\n ...promotionState,\r\n flrImage: \"\"\r\n })\r\n/*\r\n setPromotionState({\r\n ...promotionState,\r\n imageSelection: 1\r\n })\r\n*/\r\n dispatch(deleteImageFromPromotion(promotionState.flrRecId!, flyerDetailsState.flyLacRec!.lacCode!));\r\n }\r\n\r\n/*\r\n const replaceImageUsingFrameImage = () => {\r\n setImageSrcState(`frameImage${frameData?.fpsRecId}`);\r\n // promo.imageSelection = 2 (regardless of whether a Promo image exists or not, display the Frame screenshot)\r\n // setImageSelectionNumber(2);\r\n setPromotionState({\r\n ...promotionState,\r\n imageSelection: 2\r\n })\r\n console.log(frameData);\r\n }\r\n*/\r\n\r\n const onChangePromoCode = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n\r\n setPromotionState({\r\n ...promotionState,\r\n flrCode: currentValue\r\n })\r\n\r\n if (currentValue === '') {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyPromotionCode: true\r\n })\r\n } else {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyPromotionCode: false\r\n })\r\n }\r\n\r\n }\r\n const onChangePromoCaption = (e: React.ChangeEvent) => {\r\n const currentValue = e.target.value;\r\n\r\n setPromotionState({\r\n ...promotionState,\r\n flrCaption: currentValue\r\n })\r\n\r\n if (currentValue === '') {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyPromotionCaption: true\r\n })\r\n } else {\r\n setEmptyFields({\r\n ...emptyFields,\r\n isEmptyPromotionCaption: false\r\n })\r\n }\r\n\r\n }\r\n\r\n\r\n const onSavePromotion = () => {\r\n if (isNewPromotion) {\r\n const currentSaleType: SaleTypeDto = selectedSaleType.satCode ? selectedSaleType : saleTypes.find((saleType: SaleTypeDto) => saleType.satCode === (selectedSaleType.satCode ? selectedSaleType.satCode : 1));\r\n if (currentSaleType) {\r\n if (!currentSaleType.benefit || !currentSaleType.requisite) {\r\n const defaultValueForSelectedSaleType = saleTypesDropdownData.find(key => key.saleTypeId === currentSaleType.satCode);\r\n if (defaultValueForSelectedSaleType) {\r\n currentSaleType.benefit = defaultValueForSelectedSaleType.saleTypeData.defaultBenefit;\r\n currentSaleType.requisite = defaultValueForSelectedSaleType.saleTypeData.defaultRequisite;\r\n }\r\n }\r\n\r\n const benefitItem = promotionState?.flyerPromoItems?.find((promoItem: PromoItemsDto) => {\r\n if (promoItem.fpiIsBenefit) {\r\n return promoItem;\r\n }\r\n })\r\n const benefitValue = benefitItem && currentSaleType.satCode === 80 ? benefitItem.fpiRecId : (selectedSaleType.benefit ? selectedSaleType.benefit : currentSaleType.benefit)\r\n // let convertValuesForBenefitAndRequisite = convertPromoPropertiesToGenericParams(promotionState, currentSaleType);\r\n\r\n const promoObjectForRequest = {\r\n promoId: null,\r\n flyerId: isUnlinked ? flyerDetailsState.flyRecId : null,\r\n pageId: null,\r\n // pageId: isUnlinked ? null : currentPage.flpRecId,\r\n spotId: isUnlinked ? null : frameData?.fpsRecId,\r\n code: promotionState.flrCode,\r\n caption: promotionState.flrCaption,\r\n displayCaption1: promotionState.flrCaption,\r\n saleTypeCode: selectedSaleType.satCode ? selectedSaleType.satCode : currentSaleType.satCode,\r\n requisite: selectedSaleType.requisite ? selectedSaleType.requisite : currentSaleType.requisite,\r\n benefit: benefitValue,\r\n // benefit: selectedSaleType.benefit ? selectedSaleType.benefit : currentSaleType.benefit,\r\n keywords: \"\",\r\n sellingUnitId: promotionState.flrSeuRecId ? promotionState.flrSeuRecId : selectedSellingUnit.id,\r\n imageSelection: promotionState.imageSelection,\r\n validFromUtc: promotionState.flrValidFromUtc ? promotionState.flrValidFromUtc : '',\r\n validToUtc: promotionState.flrValidToUtc ? promotionState.flrValidToUtc : '',\r\n // validFromUtc: dateRange[0] ? new Date(\r\n // dateRange[0].getTime() -\r\n // dateRange[0].getTimezoneOffset() * 60000\r\n // ).toJSON() : '',\r\n // validToUtc: dateRange[1] ? new Date(\r\n // dateRange[1].getTime() -\r\n // dateRange[1].getTimezoneOffset() * 60000\r\n // ).toJSON() : '',\r\n file: selectedImageFile\r\n }\r\n dispatch(createPromotion(promoObjectForRequest, flyerDetailsState?.flyLacRec?.lacCode!, imageSrcState))\r\n }\r\n } else {\r\n // const currentPage = flyerDetailsState.flyerPages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo -1 : selectedPageState.pageNo];\r\n const currentSaleType = saleTypes.find((saleType: SaleTypeDto) => saleType.satCode === promotionState.flrSatCode);\r\n if (currentSaleType) {\r\n let convertValuesForBenefitAndRequisite = convertPromoPropertiesToGenericParams(promotionState, currentSaleType);\r\n const benefitItem = promotionState?.flyerPromoItems?.find((promoItem: PromoItemsDto) => {\r\n if (promoItem.fpiIsBenefit) {\r\n return promoItem;\r\n }\r\n })\r\n const benefitValue = benefitItem && currentSaleType.satCode === 80 ? benefitItem.fpiRecId : (selectedSaleType.benefit ? selectedSaleType.benefit : convertValuesForBenefitAndRequisite.benefit)\r\n const promoObjectForRequest = {\r\n promoId: promotionState.flrRecId,\r\n flyerId: isUnlinked ? flyerDetailsState.flyRecId : null,\r\n pageId: null,\r\n // pageId: isUnlinked ? null : currentPage.flpRecId,\r\n spotId: isUnlinked ? null : frameData?.fpsRecId,\r\n code: promotionState.flrCode,\r\n caption: promotionState.flrCaption,\r\n imageSelection: promotionState.imageSelection,\r\n displayCaption1: promotionState.flrCaption,\r\n saleTypeCode: selectedSaleType.satCode ? selectedSaleType.satCode : convertValuesForBenefitAndRequisite.saleTypeCode,\r\n requisite: selectedSaleType.requisite ? selectedSaleType.requisite : convertValuesForBenefitAndRequisite.requisite,\r\n benefit: benefitValue,\r\n // benefit: selectedSaleType.benefit ? selectedSaleType.benefit : convertValuesForBenefitAndRequisite.benefit,\r\n keywords: \"\",\r\n sellingUnitId: promotionState.flrSeuRecId,\r\n validFromUtc: promotionState.flrValidFromUtc,\r\n validToUtc: promotionState.flrValidToUtc,\r\n // validFromUtc: dateRange[0] ? new Date(\r\n // dateRange[0].getTime() -\r\n // dateRange[0].getTimezoneOffset() * 60000\r\n // ).toJSON() : '',\r\n // validToUtc: dateRange[1] ? new Date(\r\n // dateRange[1].getTime() -\r\n // dateRange[1].getTimezoneOffset() * 60000\r\n // ).toJSON() : '',\r\n file: selectedImageFile\r\n }\r\n dispatch(updatePromotion(promoObjectForRequest, flyerDetailsState?.flyLacRec?.lacCode!, imageSrcState))\r\n }\r\n //\r\n }\r\n // setLoadingWrapper(true);\r\n }\r\n\r\n const openDropdown = () => {\r\n if (saleTypes.length) {\r\n openSaleTypesDropdown(!isSaleTypesDropdownOpen);\r\n }\r\n }\r\n\r\n const onChangeUnit = (sellingUnit: any) => {\r\n setSelectedSellingUnit(sellingUnit);\r\n setPromotionState({\r\n ...promotionState,\r\n flrSeuRecId: sellingUnit.id\r\n })\r\n }\r\n\r\n const onChangeSaleType = (saleType: SaleTypeDto) => {\r\n setSelectedSaleType(saleType);\r\n }\r\n\r\n const compareDefaultPromoStateWithCurrentPromoState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(defaultPromotionState);\r\n const stringCurrentState = JSON.stringify(promotionState);\r\n return stringDefaultState !== stringCurrentState;\r\n }\r\n\r\n const checkStatesBeforeLeave = () => {\r\n const isStateWasChanged = compareDefaultPromoStateWithCurrentPromoState();\r\n if (isStateWasChanged) {\r\n setShowConfirmExitPopup(true);\r\n } else {\r\n openPromotionModalPopup(false)\r\n }\r\n }\r\n\r\n const checkerBeforeSavePromoDetails = () => {\r\n if (\r\n emptyFields.isEmptyPromotionCaption || emptyFields.isEmptyPromotionCode\r\n ) {\r\n setIsRequiredFieldsNotFilled(true);\r\n } else {\r\n onSavePromotion();\r\n }\r\n };\r\n\r\n const onCloseWithoutSaving = () => {\r\n openPromotionModalPopup(false)\r\n }\r\n\r\n const confirmErrorPopup = () => {\r\n setIsRequiredFieldsNotFilled(false);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n {isNewPromotion ? 'Add Promotion' : 'Edit Promotion'}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Promotion Code\r\n {/***/}\r\n
    \r\n
    \r\n \r\n {/*{emptyFields.isEmptyPromotionCode &&
    required field
    }*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Promotion Caption\r\n {/***/}\r\n
    \r\n
    \r\n \r\n {/*{emptyFields.isEmptyPromotionCaption &&
    required field
    }*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n Promotion Image\r\n
    \r\n {\r\n imageSrcState && imageSrcState !== '' ?\r\n \r\n }\r\n placement={\"right-start\"}\r\n >\r\n
    \r\n )}/>\r\n
    \r\n \r\n
    :\r\n
    \r\n )}/>\r\n
    \r\n }\r\n
    \r\n \r\n )}\r\n validFileExtensions={`.jpg,.jpeg,.png`}\r\n isMultipleSelection={false}\r\n disabledAction={(promotionState.imageSelection !== 1 && imageSrcState !== '') || imageSrcState === `frameImage${frameData?.fpsRecId}`}\r\n />\r\n
    \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n
    \r\n {/*{emptyFields.isEmptySrcForImage &&
    required field
    }*/}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Selling Unit\r\n
    \r\n
    \r\n option.label!}\r\n getOptionLabel={(option: SellingUnitDto) => option.label!}\r\n isSearchable={false}\r\n options={sellingUnitsState}\r\n isOptionDisabled={(option: SellingUnitDto) => option.disabled ? option.disabled : false}\r\n theme={themeSelect}\r\n isRtl={isHebrew}\r\n components={{\r\n DropdownIndicator,\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n Start/End date\r\n
    \r\n
    \r\n {\r\n // @ts-ignore\r\n setDateRange(update);\r\n setPromotionState({\r\n ...promotionState,\r\n flrValidFromUtc: update[0] ? new Date(\r\n update[0].getTime() -\r\n update[0].getTimezoneOffset() * 60000\r\n ).toJSON() : '',\r\n flrValidToUtc: update[1] ? new Date(\r\n update[1].getTime() -\r\n update[1].getTimezoneOffset() * 60000\r\n ).toJSON() : ''\r\n })\r\n }}\r\n // isClearable={true}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Promo Type Caption\r\n {/***/}\r\n
    \r\n
    \r\n
    {\r\n openDropdown();\r\n }}>\r\n {convertedPromoCaption}\r\n \r\n \r\n \r\n
    \r\n {/*{*/}\r\n {/* emptyFields.isEmptyPromotionCaption &&
    required field
    */}\r\n {/*}*/}\r\n {\r\n isSaleTypesDropdownOpen && \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n -1 || !compareDefaultPromoStateWithCurrentPromoState()}\r\n onClick={onSavePromotion}/>\r\n
    \r\n
    \r\n {\r\n isLoading &&
    \r\n \r\n
    \r\n }\r\n\r\n
    \r\n {isShowConfirmExitPopup && (\r\n \r\n )}\r\n {isRequiredFieldsNotFilled && (\r\n \r\n )}\r\n\r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {FlyerPageSpotDto, PromoDto, SelectPageForTabsDto} from \"../../../../dtos\";\r\nimport styles from './TooltipDetailsPromoPopup.module.scss';\r\nimport {AsyncImageWithLoader} from \"../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {ReactComponent as ImageWithError} from \"../../../../assets/promos&items/image_error.svg\";\r\nimport {OrangeButton} from \"../../pagesTab/orangeBtn/OrangeButton\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {NonImagePlaceholder} from \"../../nonImagePlaceholder/nonImagePlaceholder\";\r\n\r\ninterface Props {\r\n promo: PromoDto,\r\n promotionTypeCaption: string;\r\n editPromotion: (e: React.MouseEvent) => void;\r\n isShowPromoCaption: boolean;\r\n frame?: FlyerPageSpotDto;\r\n}\r\n\r\n\r\nexport const TooltipDetailsPromoPopup: React.FC = (\r\n {\r\n promo,\r\n promotionTypeCaption,\r\n editPromotion,\r\n isShowPromoCaption,\r\n frame\r\n }\r\n) => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const isDisableEditBtn = flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n let selectedPagesForTabState = useTypedSelector((state) => state.selectPageForTabs);\r\n const selectedPageImage = flyerDetailsState.flyerPages[selectedPagesForTabState.pageNo === 0 ? 0 : selectedPagesForTabState.pageNo - 1].flpImageUrl;\r\n\r\n const [imageSrc, setImageSrc] = useState('');\r\n\r\n useEffect(() => {\r\n // promo.imageSelection = 1 (regardless of whether a Promo image exists or not, display the dummy Wine Glass.)\r\n // promo.imageSelection = 2 (regardless of whether a Promo image exists or not, display the Frame screenshot)\r\n // promo.imageSelection = 3 (If there is a Promo Image, display it. If not, display the Frame Image)\r\n switch (promo.imageSelection){\r\n case 1:\r\n setImageSrc('')\r\n break;\r\n case 2:\r\n setImageSrc(`frameImage${frame?.fpsRecId}`);\r\n break;\r\n case 3:\r\n setImageSrc(promo.flrImage ? promo.flrImage : `frameImage${frame?.fpsRecId}`);\r\n break;\r\n }\r\n }, [promo])\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n )}\r\n // frame={frame}\r\n // selectedPageImage={selectedPageImage}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n Promotion Code:\r\n
    \r\n
    \r\n {promo.flrCode?.length ? promo.flrCode : `Missing`}\r\n
    \r\n
    \r\n {\r\n isShowPromoCaption &&\r\n
    \r\n
    \r\n Promotion type:\r\n
    \r\n
    \r\n {promotionTypeCaption.length ? promotionTypeCaption : `Missing` }\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n Promotion Caption\r\n
    \r\n
    \r\n {promo.flrCaption?.length ? promo.flrCaption : `Missing`}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n}","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotApprovedPromo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n rx: 5,\n fill: \"#E22929\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 6.00714L13.9929 5L10 8.99286L6.00714 5L5 6.00714L8.99286 10L5 13.9929L6.00714 15L10 11.0071L13.9929 15L15 13.9929L11.0071 10L15 6.00714Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotApprovedPromo);\nexport default __webpack_public_path__ + \"static/media/not_approved_promo.0cbb7f0e.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApprovedPromoSystem(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 2,\n fill: \"#FFDB3D\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8606 6L9.86058 13.4467L7.13952 10.5523L5 12.8288L9.86062 18L19 8.27656L16.8606 6Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApprovedPromoSystem);\nexport default __webpack_public_path__ + \"static/media/approved_promo_system.5d8352b6.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSearchIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8047 14.862L11.2547 10.312C12.136 9.22334 12.6667 7.84 12.6667 6.33334C12.6667 2.84134 9.82532 0 6.33332 0C2.84131 0 0 2.84131 0 6.33331C0 9.82531 2.84135 12.6667 6.33335 12.6667C7.84 12.6667 9.22335 12.136 10.312 11.2547L14.862 15.8047C14.992 15.9347 15.1627 16 15.3334 16C15.504 16 15.6747 15.9347 15.8047 15.8047C16.0654 15.544 16.0654 15.1227 15.8047 14.862ZM6.33335 11.3333C3.576 11.3333 1.33334 9.09066 1.33334 6.33331C1.33334 3.57597 3.576 1.33331 6.33335 1.33331C9.09069 1.33331 11.3334 3.57597 11.3334 6.33331C11.3334 9.09066 9.09066 11.3333 6.33335 11.3333Z\",\n fill: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearchIcon);\nexport default __webpack_public_path__ + \"static/media/search_icon.e7c37ab5.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\n\r\nimport {createTheme, ThemeProvider} from \"@mui/material\";\r\nimport Tooltip from '@mui/material/Tooltip';\r\nimport {TooltipDetailsPromoPopup} from \"./TooltipDetailsPromoPopup/TooltipDetailsPromoPopup\";\r\nimport {FlyerPageSpotDto, PromoDto} from \"../../../dtos\";\r\nimport {ReactComponent as ApprovePromotion} from \"../../../assets/promos&items/approved_promo.svg\";\r\nimport {ReactComponent as NotApprovePromotion} from \"../../../assets/promos&items/not_approved_promo.svg\";\r\nimport {ReactComponent as ApprovePromotionForSystem} from \"../../../assets/promos&items/approved_promo_system.svg\";\r\n\r\n\r\nconst theme = createTheme({\r\n components: {\r\n // Name of the component\r\n MuiTooltip: {\r\n styleOverrides: {\r\n // Name of the slot\r\n tooltip: {\r\n // Some CSS\r\n backgroundColor: '#ffffff',\r\n color: '#000000',\r\n width: '320px',\r\n maxWidth: `initial`,\r\n // maxHeight: '360px',\r\n border: '1px solid #4D4D4D',\r\n borderRadius: '5px',\r\n\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\ninterface Props {\r\n promo: PromoDto;\r\n caption: string;\r\n editPromotion: (e: React.MouseEvent) => void;\r\n promoQualification: number | undefined;\r\n isShowPromoCaption: boolean;\r\n frame?: FlyerPageSpotDto;\r\n}\r\n\r\n\r\nexport const QualificationForPromoComponent: React.FC = (\r\n {\r\n promo,\r\n caption,\r\n editPromotion,\r\n promoQualification,\r\n isShowPromoCaption,\r\n frame\r\n }\r\n) => {\r\n\r\n let QualificationIcon;\r\n switch (promoQualification){\r\n case 1:\r\n QualificationIcon = ApprovePromotionForSystem;\r\n break\r\n case 2:\r\n QualificationIcon = ApprovePromotion;\r\n break\r\n default:\r\n QualificationIcon = NotApprovePromotion;\r\n break;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n }\r\n placement={\"right-start\"}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n}","import React, {ReactElement, useEffect, useRef, useState} from \"react\";\r\nimport styles from \"./LeftMenuContentElement.module.scss\";\r\nimport {\r\n FlyerPageSpotDto,\r\n ItemsListMenuDto,\r\n PromoDto,\r\n PromoItemsDto,\r\n SaleTypeDto,\r\n SelectPageForTabsDto, SellingUnitDto,\r\n UserDto,\r\n} from \"../../../../../../dtos\";\r\n// import {\r\n// ReactComponent as LinkedPromoToFrame\r\n// } from \"../../../../../../assets/promos&items/unlink_promo_from_frame_icon.svg\";\r\nimport {ReactComponent as PromotionIcon} from \"../../../../../../assets/promos&items/promotion_icon.svg\";\r\nimport {\r\n ReactComponent as ToggleCollapseItemsInPromotion\r\n} from \"../../../../../../assets/promos&items/toggle_collapse_items_in_promotion_icon.svg\";\r\nimport {ReactComponent as DragIcon} from \"../../../../../../assets/promos&items/drag_icon.svg\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../assets/promos&items/menu_on_hover.svg\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\nimport {\r\n Draggable,\r\n DraggableStateSnapshot,\r\n DraggingStyle,\r\n Droppable,\r\n NotDraggingStyle,\r\n} from \"react-beautiful-dnd\";\r\nimport {PromotionItem} from \"./LeftMenuPromotionItem/LeftMenuPromotionItem\";\r\nimport {useTypedSelector} from \"../../../../../../hooks/useTypeSelector\";\r\nimport {\r\n attachItemsToFlyer,\r\n attachPromoToFlyer,\r\n // changeQualificationStatusForItems,\r\n changeQualificationStatusForPromos,\r\n} from \"../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\n// import Tooltip from '@material-ui/core/Tooltip';\r\nimport {MenuForPromotion} from \"./MenuForPromotions/menuForPromotions\";\r\n// import Button from \"@material-ui/core/Button\";\r\nimport {PromotionDetailsModalPopup} from \"./PromotionDetailsModalPopup/PromotionDetailsModalPopup\";\r\nimport {getPromoSaleTypeCaptions} from \"../../../../../../globals/PromoSaleTypeCaptionGenerator\";\r\nimport {CreateEditItemModal} from \"./LeftMenuPromotionItem/CreateEditItemModal/CreateEditItemModal\";\r\n// import Button from '@mui/material/Button';\r\nimport {\r\n QualificationForPromoComponent\r\n} from \"../../../../../com/QualificationForPromoComponent/QualificationForPromoComponent\";\r\nimport {Box, Button, Typography} from \"@mui/material\";\r\nimport {ReactComponent as NotApproveFrame} from \"../../../../../../assets/promos&items/not_approved_promo.svg\";\r\nimport {ReactComponent as ApproveFrame} from \"../../../../../../assets/promos&items/approved_promo.svg\";\r\nimport {ReactComponent as ApproveFrameForSystem} from \"../../../../../../assets/promos&items/approved_promo_system.svg\";\r\nimport {changeQualificationStatusForFrame} from \"../../../../../../store/actionCreators/spotsActionCreators\";\r\n// import {ReactComponent as JumpToPageIcon} from \"../../../../../../assets/jump_to_page_flyer_icon.svg\";\r\n// import {ReactComponent as JumpToURLIcon} from \"../../../../../../assets/jump_to_URL_icon.svg\";\r\n// import {ReactComponent as PlayVideoIcon} from \"../../../../../../assets/play_video_icon.svg\";\r\n// import {ReactComponent as Play360VideoIcon} from \"../../../../../../assets/play_360_video_icon.svg\";\r\n// import {ReactComponent as ImageIcon} from \"../../../../../../assets/open_image_url_icon.svg\";\r\n// import StatusPopup, {StatusPopupType} from \"../../../../../../com/statusPopup/StatusPopup\";\r\nimport {getIconStyle} from \"../../../../../../globals/globFunctions\";\r\n\r\n\r\ninterface Props {\r\n frame: FlyerPageSpotDto;\r\n promo: PromoDto;\r\n index: number;\r\n isHebrew: boolean;\r\n currencySymbol: string;\r\n frames: FlyerPageSpotDto[];\r\n setFrames: (e: FlyerPageSpotDto[]) => void;\r\n setTargetPromos: (e: any) => void;\r\n onSelectFrame: (event: React.MouseEvent, promo: PromoDto, index: number, frame: FlyerPageSpotDto) => void;\r\n isSelect: boolean;\r\n onChangeExpandedPromosData: (isAddPromo: boolean, targetPromo: PromoDto) => void;\r\n expandedPromos: PromoDto[];\r\n}\r\n\r\nexport const LeftMenuContentElement = React.memo(\r\n (props: Props) => {\r\n const saleTypes = useTypedSelector(\r\n (state) => state.saleTypes.saleTypesForSpecificFlyer\r\n );\r\n\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const sellingUnitsForFlyer = useTypedSelector((state) => state.sellingUnits.sellingUnitsForFlyer);\r\n const dispatch = useDispatch();\r\n const flyerIconStyleType = flyerDetailsState.flyGusRec?.gusIconContrast || 1;\r\n const mainGuiColorForFlyer = flyerDetailsState.flyGusRec?.gusPrimaryColorRgb || \"#ffffff\";\r\n const iconStyleData = getIconStyle(flyerIconStyleType);\r\n // const IconPromoComp = iconStyleData.iconStyleData.promoCompIcon;\r\n const IconPageComp = iconStyleData.iconStyleData.pageCompIcon;\r\n const IconLinkComp = iconStyleData.iconStyleData.linkCompIcon;\r\n const IconVideoComp = iconStyleData.iconStyleData.videoCompIcon;\r\n const IconImageComp = iconStyleData.iconStyleData.imgCompIcon;\r\n const Icon360Comp = iconStyleData.iconStyleData.img360CompIcon;\r\n\r\n const promotionsItemsState = useTypedSelector(\r\n (state) => state.promotionsAndItems\r\n );\r\n let selectedPageState = useTypedSelector(\r\n (state) => state.selectPageForTabs\r\n );\r\n const [caption, setCaption] = useState(\"\");\r\n const [isShowItems, setStatusForShowItem] = useState(false);\r\n // const [isShowItems, setStatusForShowItem] = useState(\r\n // promotionsItemsState.isShowsAllItemsOfPromotions\r\n // );\r\n const [promoQualification, setPromoQualificationStatus] = useState(props.promo?.qualificationLevel);\r\n const [userName, setUserName] = useState(\"\");\r\n\r\n //frame menu\r\n const [isHover, changeHoverStatus] = useState(false);\r\n const [isOpenedFrameMenu, setOpenFrameMenu] = useState(false);\r\n const prevOpenFrameMenu = useRef(isOpenedFrameMenu);\r\n\r\n //promo menu\r\n const [isHoverOnPromotion, changeHoverOnPromotionStatus] =\r\n useState(false);\r\n const [openPromotionMenu, setOpenPromotionMenu] = useState(false);\r\n const prevOpenPromotionMenu = useRef(openPromotionMenu);\r\n\r\n //popup promo\r\n const [isOpenPromotionModalPopup, openPromotionModalPopup] =\r\n useState(false);\r\n const [isNewPromotion, setStatusForNewOrNotForPromotion] =\r\n useState(false);\r\n\r\n //popup item\r\n let [isOpenItemModal, setOpenItemModal] = useState(false);\r\n const [imageSrc, setImageSrc] = useState('');\r\n const [isNewItem, setStatusForNewOrNotForItem] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState({});\r\n\r\n const [isShowCaptionForPromotion, toggleShowCaptionForPromotion] = useState(false);\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n useEffect(() => {\r\n if (props.promo) {\r\n const isShowItemsInPromo: boolean = [...props.expandedPromos].some((expandedPromo: PromoDto) => expandedPromo.flrRecId === props.promo.flrRecId);\r\n setStatusForShowItem(isShowItemsInPromo);\r\n }\r\n }, [props.expandedPromos])\r\n\r\n useEffect(() => {\r\n if (\r\n promotionsItemsState.pages[\r\n selectedPageState.pageNo !== 0\r\n ? selectedPageState.pageNo - 1\r\n : selectedPageState.pageNo\r\n ]\r\n ) {\r\n const currentPromo = promotionsItemsState.pages[\r\n selectedPageState.pageNo !== 0\r\n ? selectedPageState.pageNo - 1\r\n : selectedPageState.pageNo\r\n ].promos.filter((promo: PromoDto) => {\r\n if (props.promo) {\r\n return promo.flrRecId === props.promo.flrRecId;\r\n }\r\n });\r\n if (currentPromo.length) {\r\n setPromoQualificationStatus(\r\n currentPromo[0]\r\n ? currentPromo[0].qualificationLevel\r\n : props.promo?.qualificationLevel\r\n );\r\n }\r\n }\r\n }, [promotionsItemsState.pages]);\r\n\r\n useEffect(() => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n\r\n if (userDtoStr) {\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n\r\n if (userDto.firstName && userDto.lastName) {\r\n setUserName(`${userDto.firstName} ${userDto.lastName}`);\r\n } else {\r\n setUserName(\"you\");\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n //flyer type\r\n const isFlyerWithPrices = flyerDetailsState.flyFltRec.fltCode !== 3;\r\n if (\r\n isFlyerWithPrices\r\n || (\r\n !isFlyerWithPrices\r\n && (\r\n props.promo?.flrSatCode === 20\r\n || props.promo?.flrSatCode === 21\r\n || props.promo?.flrSatCode === 50\r\n || props.promo?.flrSatCode === 51\r\n || props.promo?.flrSatCode === 1\r\n || props.promo?.flrSatCode === 30\r\n || props.promo?.flrSatCode === 41\r\n || props.promo?.flrSatCode === 50\r\n || props.promo?.flrSatCode === 80\r\n )\r\n )\r\n ) {\r\n toggleShowCaptionForPromotion(true);\r\n } else {\r\n toggleShowCaptionForPromotion(false);\r\n }\r\n }, [flyerDetailsState, props.promo])\r\n\r\n useEffect(() => {\r\n setPromoQualificationStatus(props.promo?.qualificationLevel);\r\n }, [props.promo?.qualificationLevel]);\r\n\r\n const handleToggle = () => {\r\n setOpenPromotionMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const handleToggleForFrame = () => {\r\n setOpenFrameMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const anchorRef = useRef(null);\r\n const anchorRefForFrameMenu = useRef(null);\r\n\r\n // useEffect(() => {\r\n // setStatusForShowItem(promotionsItemsState.isShowsAllItemsOfPromotions);\r\n // }, [promotionsItemsState.isShowsAllItemsOfPromotions]);\r\n\r\n useEffect(() => {\r\n const selectedSaleType = saleTypes.find(\r\n (saleType: SaleTypeDto) => saleType.satCode === props.promo?.flrSatCode\r\n );\r\n const selectedSellingUnit = sellingUnitsForFlyer?.find((sellingUnit: SellingUnitDto) => {\r\n if (sellingUnit.id === props.promo?.flrSeuRecId) {\r\n return sellingUnit;\r\n }\r\n })\r\n\r\n if (selectedSaleType) {\r\n setCaption(\r\n getPromoSaleTypeCaptions(\r\n selectedSaleType,\r\n props.currencySymbol,\r\n selectedSellingUnit,\r\n props.promo\r\n )\r\n );\r\n }\r\n }, [props.promo]);\r\n\r\n const onClickFrame = (e: React.MouseEvent) => {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n document?.getSelection()!.removeAllRanges();\r\n hideMenu();\r\n // if(!props.isSelect){\r\n // if (props.promo) {\r\n props.onSelectFrame(e, props.promo, props.index, props.frame);\r\n // }\r\n // }\r\n };\r\n //prevent transition for draggable elem\r\n\r\n const getStyle = (\r\n style: DraggingStyle | NotDraggingStyle | undefined,\r\n snapshot: DraggableStateSnapshot\r\n ) => {\r\n if (!snapshot.isDragging) return {};\r\n if (!snapshot.isDropAnimating) {\r\n return style;\r\n }\r\n\r\n return {\r\n ...style,\r\n // cannot be 0, but make it super tiny\r\n transitionDuration: `0.001s`,\r\n };\r\n };\r\n\r\n const onMouseEnter = () => {\r\n changeHoverStatus(true);\r\n };\r\n const onMouseLeave = () => {\r\n changeHoverStatus(false);\r\n setOpenFrameMenu(false);\r\n };\r\n\r\n const onMouseEnterPromo = () => {\r\n changeHoverOnPromotionStatus(true);\r\n };\r\n\r\n const onMouseLeavePromo = () => {\r\n changeHoverOnPromotionStatus(false);\r\n setOpenPromotionMenu(false);\r\n };\r\n\r\n const makeUnlinkTargetPromo = () => {\r\n let targetPromo: PromoDto[] = [...props.frame.flyerPromos!];\r\n props.setTargetPromos(targetPromo);\r\n dispatch(\r\n attachPromoToFlyer(\r\n flyerDetailsState.flyRecId,\r\n [targetPromo[0].flrRecId!],\r\n false,\r\n flyerDetailsState.flyLacRec.lacCode\r\n )\r\n );\r\n };\r\n\r\n const createNewPromotion = () => {\r\n setStatusForNewOrNotForPromotion(true);\r\n openPromotionModalPopup(true);\r\n };\r\n\r\n const editFrame = () => {\r\n\r\n };\r\n\r\n const editPromotion = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setStatusForNewOrNotForPromotion(false);\r\n openPromotionModalPopup(true);\r\n };\r\n\r\n const isDisableDraggable = props.frame.flyerPromos?.length === 0 || flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n\r\n const showHideItems = () => {\r\n props.onChangeExpandedPromosData(!isShowItems, props.promo);\r\n // setStatusForShowItem(!isShowItems);\r\n };\r\n\r\n const changeQualificationForPromo = () => {\r\n if (promoQualification !== 0) {\r\n dispatch(\r\n changeQualificationStatusForPromos(\r\n [props.promo.flrRecId!],\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n promoQualification === 1 ? 2 : 1,\r\n flyerDetailsState,\r\n false,\r\n selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo\r\n )\r\n );\r\n // let itemsQualification: number[] = [];\r\n //\r\n // props.promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n // itemsQualification.push(item.fpiRecId!);\r\n // });\r\n // if(itemsQualification && itemsQualification.length){\r\n // dispatch(\r\n // changeQualificationStatusForItems(\r\n // itemsQualification,\r\n // flyerDetailsState?.flyLacRec?.lacCode!,\r\n // promoQualification === 1 ? 2 : 1,\r\n // false,\r\n // flyerDetailsState,\r\n // selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo\r\n // )\r\n // );\r\n // }\r\n // setPromoQualificationStatus(promoQualification === 1 ? 2 : 1);\r\n }\r\n };\r\n\r\n const createNewItem = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setOpenItemModal(true);\r\n setStatusForNewOrNotForItem(true);\r\n setSelectedItem({});\r\n };\r\n\r\n const onEditItem = (promoItem: PromoItemsDto) => {\r\n setStatusForNewOrNotForItem(false);\r\n setImageSrc(promoItem.fpiImage ? promoItem.fpiImage : '');\r\n setOpenItemModal(true);\r\n setSelectedItem(promoItem);\r\n }\r\n\r\n const unlinkAllItemFromPromoSelectedPromo = () => {\r\n console.log(props.promo);\r\n if (props.promo?.flyerPromoItems) {\r\n const promoItemsIds: number[] = props.promo?.flyerPromoItems?.map((item: PromoItemsDto) => item.fpiRecId!);\r\n dispatch(attachItemsToFlyer(flyerDetailsState.flyRecId, promoItemsIds, false, props.promo, props.frame?.fpsRecId!))\r\n }\r\n }\r\n\r\n const setQualificationForFrame = () => {\r\n if (promoQualification !== 0) {\r\n dispatch(changeQualificationStatusForFrame(\r\n [props.frame.fpsRecId!],\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n props.frame && props.frame.qualificationLevel === 1 ? 2 : 1,\r\n flyerDetailsState,\r\n selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo,\r\n []\r\n ));\r\n }\r\n }\r\n\r\n const clickMenuDataForPromotion: ItemsListMenuDto = {\r\n setOpen: setOpenPromotionMenu,\r\n prevOpen: prevOpenPromotionMenu,\r\n open: openPromotionMenu,\r\n anchorRef: anchorRef,\r\n };\r\n\r\n const clickMenuDataForFrame: ItemsListMenuDto = {\r\n setOpen: setOpenFrameMenu,\r\n prevOpen: prevOpenFrameMenu,\r\n open: isOpenedFrameMenu,\r\n anchorRef: anchorRefForFrameMenu,\r\n };\r\n //Department for frame/promo using first item\r\n let department: string;\r\n if (\r\n props.frame.flyerPromos?.length &&\r\n props.frame.flyerPromos[0]?.flyerPromoItems &&\r\n props.frame.flyerPromos[0]?.flyerPromoItems.length &&\r\n props.frame.flyerPromos[0]?.flyerPromoItems[0] !== null && props.frame.flyerPromos[0]?.flyerPromoItems[0].fpiDeptName\r\n ) {\r\n department = props.frame.flyerPromos[0]?.flyerPromoItems[0].fpiDeptName;\r\n } else {\r\n department = \"\";\r\n }\r\n\r\n let frameTypeTitle: string;\r\n let frameIcon: ReactElement;\r\n switch (props.frame.fpsFrameType) {\r\n case 2:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Frame Type - Jump to Flyer Page`;\r\n frameIcon = ;\r\n break;\r\n case 3:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Frame Type - Open Url`;\r\n frameIcon = ;\r\n break;\r\n case 4:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Frame Type - Open Video`;\r\n frameIcon = ;\r\n break;\r\n case 5:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Frame Type - Open Image`;\r\n frameIcon = ;\r\n break;\r\n case 6:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Frame Type - Open 360 Image`;\r\n frameIcon = ;\r\n break;\r\n default:\r\n frameTypeTitle = props.frame.fpsTooltip ? props.frame.fpsTooltip : `Uncovered Frame Type`;\r\n frameIcon = <>\r\n break;\r\n }\r\n\r\n const isNotPromoFrameType = props.frame.fpsFrameType !== 1;\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.frame.flyerPromos && props.frame.flyerPromos.length > 0 && !isNotPromoFrameType ? (\r\n \r\n {({innerRef, placeholder, droppableProps}) => (\r\n \r\n \r\n {(\r\n {innerRef, draggableProps, dragHandleProps},\r\n snapshot\r\n ) => (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Frame {props.frame.fpsCode}\r\n
    \r\n {department !== \"\" && (\r\n
    \r\n {department}\r\n {/*{props.frame.fpsCaption ? props.frame.fpsCaption : 'Department'}*/}\r\n
    \r\n )}\r\n
    \r\n {\r\n promotionsItemsState.isQualified &&\r\n \r\n {\r\n props.frame.qualificationLevel === 0 &&\r\n \r\n }\r\n {\r\n props.frame.qualificationLevel === 1 &&\r\n \r\n }\r\n {\r\n props.frame.qualificationLevel === 2 &&\r\n \r\n }\r\n \r\n }\r\n {isHover &&\r\n props.frame.flyerPromos?.length! > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n isShowCaptionForPromotion &&\r\n \r\n {caption}\r\n
    \r\n }\r\n \r\n \r\n {props.promo.flrCaption}\r\n
    \r\n {/**/}\r\n {/* */}\r\n {/*
    */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Code: {props.promo.flrCode}\r\n \r\n {promotionsItemsState.isQualified && (\r\n \r\n \r\n \r\n )}\r\n \r\n {props.promo.flyerPromoItems?.length! >\r\n 0 && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n {isHoverOnPromotion && (\r\n <>\r\n \r\n \r\n \r\n \r\n 0}\r\n list={clickMenuDataForPromotion}\r\n makeUnlinkTargetPromo={\r\n makeUnlinkTargetPromo\r\n }\r\n editPromotion={editPromotion}\r\n infoForMenu={`menuForPromo`}\r\n createNewItem={createNewItem}\r\n unlinkAllItemFromPromoSelectedPromo={unlinkAllItemFromPromoSelectedPromo}\r\n\r\n // createNewPromotion={createNewPromotion}\r\n />\r\n \r\n {\r\n !isDisableDraggable &&\r\n \r\n \r\n \r\n\r\n }\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {props.promo.flyerPromoItems?.length! > 0 &&\r\n isShowItems && (\r\n
    \r\n
      \r\n {props.promo.flyerPromoItems?.map(\r\n (item: PromoItemsDto) => {\r\n return (\r\n \r\n );\r\n /*\r\n if (promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo]) {\r\n const currentItem = promotionsItemsState.pages[\r\n selectedPageState.pageNo !== 0\r\n ? selectedPageState.pageNo - 1\r\n : selectedPageState.pageNo\r\n ].items.filter(\r\n (promoItem: PromoItemsDto) => {\r\n return (\r\n promoItem.fpiRecId ===\r\n item.fpiRecId\r\n );\r\n }\r\n );\r\n if (currentItem && currentItem.length) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n */\r\n }\r\n )}\r\n
    \r\n
    \r\n )}\r\n \r\n )}\r\n \r\n {placeholder}\r\n \r\n )}\r\n
    \r\n ) : (\r\n \r\n {({innerRef, placeholder, droppableProps}) => (\r\n \r\n \r\n {(\r\n {innerRef, draggableProps, dragHandleProps},\r\n snapshot\r\n ) => (\r\n \r\n \r\n Frame {props.frame.fpsCode}\r\n {\r\n promotionsItemsState.isQualified &&\r\n\r\n \r\n {\r\n props.frame.qualificationLevel === 0 &&\r\n \r\n }\r\n {\r\n props.frame.qualificationLevel === 1 &&\r\n \r\n }\r\n {\r\n props.frame.qualificationLevel === 2 &&\r\n \r\n }\r\n \r\n }\r\n {isHover && !isNotPromoFrameType && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n isNotPromoFrameType &&\r\n \r\n svg > rect\": {\r\n fill: (flyerIconStyleType === 2 || flyerIconStyleType === 3) ? mainGuiColorForFlyer : undefined\r\n }\r\n }}>\r\n {frameIcon}\r\n \r\n \r\n {frameTypeTitle}\r\n \r\n \r\n }\r\n \r\n )}\r\n \r\n {placeholder}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n {isOpenPromotionModalPopup && (\r\n \r\n )}\r\n\r\n {isOpenItemModal && (\r\n \r\n )}\r\n \r\n );\r\n },\r\n (prevProps, nextProps) => {\r\n if (\r\n prevProps.frame === nextProps.frame ||\r\n prevProps.promo === nextProps.promo ||\r\n prevProps.index === nextProps.index ||\r\n prevProps.isHebrew === nextProps.isHebrew ||\r\n prevProps.frames === nextProps.frames ||\r\n prevProps.currencySymbol === nextProps.currencySymbol\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n);\r\n\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {FlyerPageSpotDto, PromoDto, SelectPageForTabsDto} from \"../../../../../dtos\";\r\nimport styles from './LeftMenuContent.module.scss'\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\nimport {LeftMenuContentElement} from \"./LeftMenuContentElement/LeftMenuContentElement\";\r\nimport {getFlippingFlyer} from \"../../../../../store\";\r\nimport {useDispatch} from \"react-redux\";\r\n\r\n\r\ninterface Props {\r\n frames: FlyerPageSpotDto[];\r\n setFrames: (e: FlyerPageSpotDto[]) => void;\r\n setTargetPromos: (e: any) => void;\r\n isSelectAll: boolean;\r\n // toggleSelectAllChecker: (value: boolean) => void;\r\n onSelectFrame: (event: React.MouseEvent, promo: PromoDto, index: number, frame: FlyerPageSpotDto) => void;\r\n selectedPromos: PromoDto[];\r\n selectedFrames: FlyerPageSpotDto[];\r\n setExpandedPromos: (promos: PromoDto[]) => void;\r\n expandedPromos: PromoDto[];\r\n}\r\n\r\n\r\nexport const LeftMenuContent = React.memo((props: Props) => {\r\n\r\n let flayerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const dispatch = useDispatch();\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n let [isHebrew, setHebrewLang] = useState(false);\r\n\r\n useEffect(() => {\r\n // if (promotionsItemsState.type === 'CREATE_ITEM_SUCCESS' || promotionsItemsState.type === 'UPDATE_ITEM_SUCCESS') {\r\n if (promotionsItemsState.type === 'CREATE_PROMOTION_ITEM_SUCCESS' || promotionsItemsState.type === 'EDIT_PROMOTION_ITEM_SUCCESS') {\r\n dispatch(getFlippingFlyer(flayerDetailsState.flyRecId));\r\n }\r\n }, [promotionsItemsState.type]);\r\n\r\n useEffect(() => {\r\n setHebrewLang(flayerDetailsState?.flyLacRec?.lacCode! === 'he-IL')\r\n }, [flayerDetailsState]);\r\n\r\n const onChangeExpandedPromosData = (isAddPromo: boolean, targetPromo: PromoDto) => {\r\n if (isAddPromo) {\r\n props.setExpandedPromos([...props.expandedPromos, targetPromo])\r\n } else {\r\n const newExpandedPromosState = props.expandedPromos.filter((expandedPromo: PromoDto) => expandedPromo.flrRecId !== targetPromo.flrRecId);\r\n props.setExpandedPromos(newExpandedPromosState);\r\n }\r\n }\r\n\r\n //render promos using frames\r\n const framesRows = props.frames.map((key: FlyerPageSpotDto, index: number) => {\r\n const currentPageState = promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo];\r\n let promo: PromoDto = key.flyerPromos![key.flyerPromos!.length - 1 < 0 ? 0 : key.flyerPromos!.length - 1];\r\n if (currentPageState && currentPageState.promos && currentPageState.promos.length && promo) {\r\n const promoFromState = currentPageState.promos.find((promoFromState: PromoDto) => promoFromState.flrRecId === promo.flrRecId);\r\n if (promoFromState) {\r\n promo = promoFromState;\r\n }\r\n }\r\n const isSelect = props.selectedFrames.filter((selectedFrame: FlyerPageSpotDto) => {\r\n if (selectedFrame.fpsRecId === key.fpsRecId) {\r\n return key;\r\n }\r\n });\r\n return (\r\n \r\n )\r\n\r\n });\r\n return (\r\n
    \r\n {framesRows}\r\n
    \r\n )\r\n})","import styles from './promosLeftMenu.module.scss'\r\nimport React, {useMemo} from \"react\";\r\nimport './FlyerEditorLeftMenu.scss'\r\nimport {\r\n FlyerPageSpotDto,\r\n ItemsListMenuDto,\r\n PromoDto,\r\n PromoItemsDto,\r\n SelectPageForTabsDto, UserDto\r\n} from \"../../../../dtos\";\r\nimport {useEffect, useRef, useState} from \"react\";\r\nimport {LeftMenuContent} from \"./LeftMenuContent/LeftMenuContent\";\r\nimport {ClickMenu} from \"../../../../com/clickMenu/clickMenu\";\r\nimport {ReactComponent as PlusIcon} from \"../../../../assets/promos&items/icon_plus.svg\";\r\n// import Button from '@material-ui/core/Button';\r\nimport {MENU_LIST_PROMOTIONS_ITEMS} from \"../../../../globals/Contants\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n attachPromoToFlyer,\r\n // changeQualificationStatusForItems,\r\n changeSelectAllStatusForPromotionsAndItems,\r\n // changeStatusForShowOrHideAllItemsInAllPromotions,\r\n setItemsToPromosItemsState,\r\n setPromosToPromosItemsState\r\n} from \"../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {Box, Button, Checkbox, Grid, Typography} from \"@mui/material\";\r\nimport _ from \"lodash\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {changeQualificationStatusForFrame} from \"../../../../store/actionCreators/spotsActionCreators\";\r\nimport {getTotalPromotionsInFramesOnPage} from \"../../../../globals/globFunctions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n unlinkSelectedPromosBtn: {\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n },\r\n controlsPromoItemsButton: {\r\n display: `flex`,\r\n justifyContent: `center`,\r\n '& > .MuiButton-root': {\r\n textTransform: `inherit`,\r\n padding: `2px`,\r\n '& > .MuiTypography-root': {\r\n cursor: `pointer`,\r\n color: `#1D95DE`,\r\n lineHeight: `15px`,\r\n fontWeight: `bold`,\r\n },\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n },\r\n '& > .MuiTypography-root': {\r\n // cursor: `pointer`,\r\n color: `#1D95DE`,\r\n lineHeight: `15px`,\r\n fontWeight: `bold`,\r\n },\r\n }\r\n}))\r\n\r\ninterface Props {\r\n frames: FlyerPageSpotDto[];\r\n setFrames: (e: FlyerPageSpotDto[]) => void;\r\n setTargetPromos: (e: any) => void;\r\n}\r\n\r\nexport const FlyerEditorLeftMenu = (props: Props) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n // let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n\r\n let [totalPromotionsItems, setTotalPromotionsItems] = useState('');\r\n // const [isOpenAllItems, setStatusForAllItems] = useState(promotionsItemsState.isShowsAllItemsOfPromotions);\r\n // const [isApproveAll, changeApproveState] = useState(false);\r\n const [isApproveSelected, changeApproveStateForSelectedPromos] = useState(false);\r\n const [isClickOnApproveAllCheckbox, toggleApproveAllCheckboxStatue] = useState(false);\r\n // const [statusForApproveAll, setStatusForApproveAll] = useState('default');\r\n const anchorRef = useRef(null);\r\n const [open, setOpen] = useState(false);\r\n // const [isSelectAll, toggleSelectAll] = useState(promotionsItemsState.isSelectAllMode);\r\n const [allPromosWithItems, setAllPromosWithItems] = useState([]);\r\n const [selectedPromos, setSelectedPromos] = useState([]);\r\n const [selectedFrames, setSelectedFrames] = useState([]);\r\n const [expandedPromos, setExpandedPromos] = useState([]);\r\n const [isSelectedPromosExpanded, toggleExpandStatus] = useState(true);\r\n const [isAllSelectedPromosDoesntHaveItems, toggleStatusForAllSelectedPromosWhichDoesntHaveItems] = useState(true);\r\n const totalPromotionsInFrames = useMemo(() => {\r\n return getTotalPromotionsInFramesOnPage(props.frames);\r\n }, [props.frames]);\r\n const handleToggle = () => {\r\n setOpen((prevOpen) => !prevOpen);\r\n };\r\n const prevOpen = useRef(open);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n\r\n // useEffect(() => {\r\n // dispatch(changeStatusForShowOrHideAllItemsInAllPromotions(isOpenAllItems));\r\n // }, [isOpenAllItems]);\r\n\r\n useEffect(() => {\r\n if (promotionsItemsState.type === 'CHANGE_QUALIFICATION_LVL_FOR_ITEMS_SUCCESS') {\r\n //for items in selected promos for all frames (1, 2)\r\n const items: PromoItemsDto[] = [];\r\n console.log(promotionsItemsState.itemsIdsForChangeQualificationLVL.length);\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.forEach((item: PromoItemsDto) => {\r\n const promoItem = {...item};\r\n if (!isClickOnApproveAllCheckbox && promotionsItemsState.itemsIdsForChangeQualificationLVL.length === 1) {\r\n const isTargetItemData = promotionsItemsState.itemsIdsForChangeQualificationLVL.some((targetIDValue: number) => targetIDValue === item.fpiRecId);\r\n if (isTargetItemData) {\r\n if (promoItem.qualificationLevel === 1) {\r\n promoItem.qualificationLevel = 2;\r\n } else if (promoItem.qualificationLevel === 2) {\r\n promoItem.qualificationLevel = 1;\r\n }\r\n }\r\n } else {\r\n if (selectedPromos.length) {\r\n let allItemsArraysInSelectedPromos = selectedPromos.map((promo: PromoDto) => {\r\n if (promo.flyerPromoItems?.length) {\r\n return promo.flyerPromoItems;\r\n }\r\n });\r\n let allItemsInSelectedPromos: PromoItemsDto[] = [];\r\n allItemsArraysInSelectedPromos.forEach((itemsArray: any) => {\r\n if (itemsArray) {\r\n allItemsInSelectedPromos = [...allItemsInSelectedPromos, ...itemsArray];\r\n }\r\n })\r\n if (allItemsInSelectedPromos.length) {\r\n const selectedItemIsExistInSelectedPromoAndAllItemsInFrames = allItemsInSelectedPromos.some((item: PromoItemsDto) => item.fpiRecId === promoItem.fpiRecId);\r\n if (isApproveSelected && selectedItemIsExistInSelectedPromoAndAllItemsInFrames && promoItem.qualificationLevel === 1) {\r\n promoItem.qualificationLevel = 2;\r\n } else if (!isApproveSelected && selectedItemIsExistInSelectedPromoAndAllItemsInFrames && promoItem.qualificationLevel === 2) {\r\n promoItem.qualificationLevel = 1;\r\n }\r\n }\r\n }\r\n }\r\n items.push(promoItem);\r\n })\r\n toggleApproveAllCheckboxStatue(false);\r\n dispatch(setItemsToPromosItemsState(items, selectedPageState.pageNo));\r\n } else if (promotionsItemsState.type === 'CHANGE_QUALIFICATION_LVL_FOR_PROMOS_SUCCESS') {\r\n //for selected promos in frames (1, 2)\r\n const promos: PromoDto[] = [];\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].promos.forEach((promo: PromoDto) => {\r\n const targetPromo = {...promo};\r\n const selectedPromoIsExistInAllPromosInFrame = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === targetPromo.flrRecId);\r\n if (isClickOnApproveAllCheckbox) {\r\n if (isApproveSelected && selectedPromoIsExistInAllPromosInFrame && targetPromo.qualificationLevel === 1) {\r\n targetPromo.qualificationLevel = 2\r\n } else if (!isApproveSelected && selectedPromoIsExistInAllPromosInFrame && targetPromo.qualificationLevel === 2) {\r\n targetPromo.qualificationLevel = 1\r\n }\r\n } else {\r\n if (selectedPromoIsExistInAllPromosInFrame && targetPromo.qualificationLevel === 1) {\r\n targetPromo.qualificationLevel = 2\r\n } else if (selectedPromoIsExistInAllPromosInFrame && targetPromo.qualificationLevel === 2) {\r\n targetPromo.qualificationLevel = 1\r\n }\r\n }\r\n promos.push(targetPromo);\r\n })\r\n toggleApproveAllCheckboxStatue(false);\r\n dispatch(setPromosToPromosItemsState(promos, selectedPageState.pageNo));\r\n }\r\n\r\n }, [promotionsItemsState.type])\r\n\r\n useEffect(() => {\r\n let totalPromotions: number = 0;\r\n let totalItems: number = 0;\r\n let totalPromotionsWithItems: PromoDto[] = [];\r\n props.frames.forEach((frame: FlyerPageSpotDto) => {\r\n if (frame.flyerPromos?.length) {\r\n totalPromotions += frame.flyerPromos?.length;\r\n frame.flyerPromos?.forEach((promo: PromoDto) => {\r\n if (promo.flyerPromoItems?.length) {\r\n totalItems += promo.flyerPromoItems?.length;\r\n totalPromotionsWithItems.push(promo);\r\n }\r\n })\r\n }\r\n })\r\n setTotalPromotionsItems(`Total: ${totalPromotions} & ${totalItems}`);\r\n // toggleSelectAll(false);\r\n // setSelectedPromos([]);\r\n selectAllPossiblePromosInFramesOrDeselectAll(promotionsItemsState.isSelectAllMode);\r\n setAllPromosWithItems(totalPromotionsWithItems);\r\n // const newStateForExpandedPromos = expandedPromos.filter((expandedPromo: PromoDto) => {\r\n // const isExpandedPromoHasItems = totalPromotionsWithItems.find((promoWithItems: PromoDto) => {\r\n // if (promoWithItems.flrRecId === expandedPromo.flrRecId) {\r\n // return promoWithItems;\r\n // }\r\n // });\r\n // if (isExpandedPromoHasItems) {\r\n // return expandedPromo;\r\n // }\r\n // });\r\n // setExpandedPromos(newStateForExpandedPromos);\r\n }, [props.frames]);\r\n\r\n\r\n useEffect(() => {\r\n // const totalPromotionsInFrames: PromoDto[] = [];\r\n // if (props.frames.length) {\r\n // [...props.frames].forEach((frame: FlyerPageSpotDto) => {\r\n // let promosFromFrame: PromoDto = frame.flyerPromos![frame.flyerPromos!.length - 1 < 0 ? 0 : frame.flyerPromos!.length - 1];\r\n // if (promosFromFrame) {\r\n // totalPromotionsInFrames.push({\r\n // ...promosFromFrame\r\n // });\r\n // }\r\n // });\r\n //\r\n // if (totalPromotionsInFrames.length !== 0 && totalPromotionsInFrames.length === selectedPromos.length) {\r\n // toggleSelectAll(true);\r\n // } else {\r\n // toggleSelectAll(false);\r\n // }\r\n // }\r\n if (selectedPromos.length) {\r\n const expandedPromosInSelectedPromos = selectedPromos.filter((selectedPromo: PromoDto) => {\r\n const isAlreadyExpanded = expandedPromos.find((expandedPromo: PromoDto) => expandedPromo.flrRecId === selectedPromo.flrRecId);\r\n if (isAlreadyExpanded) {\r\n return selectedPromo;\r\n }\r\n })\r\n const selectedPromosWithItems = selectedPromos.filter((selectedPromo: PromoDto) => {\r\n if (selectedPromo.flyerPromoItems?.length) {\r\n return selectedPromo;\r\n }\r\n });\r\n toggleExpandStatus(!(expandedPromosInSelectedPromos.length !== 0 &&\r\n expandedPromosInSelectedPromos.length === selectedPromosWithItems.length\r\n ));\r\n }\r\n // if(!promotionsItemsState.isSelectAllMode){\r\n // toggleExpandStatus(true);\r\n // }\r\n const isAllSelectedPromosDoesntHaveItems = selectedPromos.every((selectedPromo: PromoDto) => selectedPromo.flyerPromoItems?.length === 0);\r\n toggleStatusForAllSelectedPromosWhichDoesntHaveItems(isAllSelectedPromosDoesntHaveItems);\r\n changeApproveStateForSelectedPromos(false);\r\n }, [selectedPromos]);\r\n\r\n useEffect(() => {\r\n if(props.frames?.length > 0){\r\n dispatch(changeSelectAllStatusForPromotionsAndItems(props.frames?.length === selectedFrames.length))\r\n }\r\n\r\n }, [selectedFrames]);\r\n\r\n const clickMenuData: ItemsListMenuDto = {\r\n setOpen: setOpen,\r\n prevOpen: prevOpen,\r\n open: open,\r\n anchorRef: anchorRef,\r\n menuList: MENU_LIST_PROMOTIONS_ITEMS\r\n }\r\n\r\n\r\n const selectAllPossiblePromosInFramesOrDeselectAll = (isSelectAll: boolean) => {\r\n if (props.frames?.length) {\r\n if (isSelectAll) {\r\n setSelectedPromos(totalPromotionsInFrames);\r\n setSelectedFrames(props.frames);\r\n if(!isSelectedPromosExpanded){\r\n setExpandedPromos(totalPromotionsInFrames);\r\n }\r\n } else {\r\n if (props.frames?.length === selectedFrames.length) {\r\n setSelectedPromos([]);\r\n setSelectedFrames([]);\r\n }\r\n }\r\n } else {\r\n setSelectedPromos([]);\r\n setSelectedFrames([]);\r\n }\r\n\r\n }\r\n\r\n const showAllItemsOnSelectedPromotions = (e: React.MouseEvent) => {\r\n if(isSelectedPromosExpanded){\r\n setExpandedPromos([...expandedPromos, ...selectedPromos]);\r\n toggleExpandStatus(false);\r\n } else {\r\n setExpandedPromos([]);\r\n toggleExpandStatus(true);\r\n }\r\n // const expandedPromosInSelectedPromos = selectedPromos.filter((selectedPromo: PromoDto) => {\r\n // const isAlreadyExpanded = expandedPromos.find((expandedPromo: PromoDto) => expandedPromo.flrRecId === selectedPromo.flrRecId);\r\n // if (isAlreadyExpanded && selectedPromo.flyerPromoItems?.length) {\r\n // return selectedPromo;\r\n // }\r\n // });\r\n // const selectedPromosWithItems = selectedPromos.filter((selectedPromo: PromoDto) => {\r\n // if (selectedPromo.flyerPromoItems?.length) {\r\n // return selectedPromo;\r\n // }\r\n // });\r\n // if (expandedPromosInSelectedPromos && expandedPromosInSelectedPromos.length === selectedPromosWithItems.length) {\r\n // const newExpandedPromosState = expandedPromos.filter((expandedPromo: PromoDto) => {\r\n // const isSelectedPromoAlreadyExpanded = selectedPromos.find((selectedPromo: PromoDto) => selectedPromo.flrRecId === expandedPromo.flrRecId);\r\n // if (!isSelectedPromoAlreadyExpanded) {\r\n // return expandedPromo;\r\n // }\r\n // })\r\n // setExpandedPromos(newExpandedPromosState);\r\n // } else {\r\n // setExpandedPromos([...expandedPromos, ...selectedPromosWithItems]);\r\n // }\r\n // if(allPromosWithItems.length <= expandedPromos.length){\r\n // setExpandedPromos([]);\r\n // } else {\r\n // setExpandedPromos(allPromosWithItems);\r\n // }\r\n // setStatusForAllItems(!isOpenAllItems);\r\n }\r\n\r\n // const onChangeApproveAll = (e: React.ChangeEvent) => {\r\n // const isChecked = e.target.checked;\r\n // changeApproveState(isChecked);\r\n // let promosQualification: number[] = [];\r\n // let itemsQualification: number[] = [];\r\n //\r\n // if (isChecked) {\r\n // promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.forEach((item: PromoItemsDto) => {\r\n // if (item.qualificationLevel === 1) {\r\n // itemsQualification.push(item.fpiRecId!);\r\n // }\r\n // })\r\n // promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].promos.forEach((promo: PromoDto) => {\r\n // if (promo.qualificationLevel === 1) {\r\n // promosQualification.push(promo.flrRecId!);\r\n // }\r\n // })\r\n // } else {\r\n // promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.forEach((item: PromoItemsDto) => {\r\n // if (item.qualificationLevel === 2) {\r\n // itemsQualification.push(item.fpiRecId!);\r\n // }\r\n // })\r\n // promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].promos.forEach((promo: PromoDto) => {\r\n // if (promo.qualificationLevel === 2) {\r\n // promosQualification.push(promo.flrRecId!);\r\n // }\r\n // })\r\n // }\r\n //\r\n // if (itemsQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForItems(itemsQualification, flyerDetailsState?.flyLacRec?.lacCode!, isChecked ? 2 : 1))\r\n // }\r\n // if (promosQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForPromos(promosQualification, flyerDetailsState?.flyLacRec?.lacCode!, isChecked ? 2 : 1));\r\n // }\r\n // }\r\n\r\n const onChangeApproveSelected = (e: React.ChangeEvent) => {\r\n const isChecked = e.target.checked;\r\n toggleApproveAllCheckboxStatue(true);\r\n changeApproveStateForSelectedPromos(isChecked);\r\n let promosQualification: number[] = [];\r\n // let itemsQualification: number[] = [];\r\n if (isChecked) {\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.forEach((item: PromoItemsDto) => {\r\n if (selectedPromos.length) {\r\n let allItemsArraysInSelectedPromos = selectedPromos.map((promo: PromoDto) => {\r\n if (promo.flyerPromoItems?.length) {\r\n return promo.flyerPromoItems;\r\n }\r\n });\r\n let allItemsInSelectedPromos: PromoItemsDto[] = [];\r\n if (allItemsArraysInSelectedPromos) {\r\n allItemsArraysInSelectedPromos.forEach((itemsArray: any) => {\r\n if (itemsArray) {\r\n allItemsInSelectedPromos = [...allItemsInSelectedPromos, ...itemsArray];\r\n }\r\n })\r\n if (allItemsInSelectedPromos.length) {\r\n const selectedItemIsExistInSelectedPromoAndAllItemsInFrames = allItemsInSelectedPromos.some((itemPromo: PromoItemsDto) => item.fpiRecId === itemPromo.fpiRecId);\r\n if (selectedItemIsExistInSelectedPromoAndAllItemsInFrames && item.qualificationLevel === 1) {\r\n // itemsQualification.push(item.fpiRecId!);\r\n }\r\n }\r\n }\r\n }\r\n })\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].promos.forEach((promo: PromoDto) => {\r\n const selectedPromoIsExistInAllPromosInFrame = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n console.log(`look here`);\r\n if (selectedPromoIsExistInAllPromosInFrame && promo.qualificationLevel === 1) {\r\n promosQualification.push(promo.flrRecId!);\r\n }\r\n })\r\n } else {\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.forEach((item: PromoItemsDto) => {\r\n if (selectedPromos.length) {\r\n let allItemsArraysInSelectedPromos = selectedPromos.map((promo: PromoDto) => {\r\n if (promo.flyerPromoItems?.length) {\r\n return promo.flyerPromoItems;\r\n }\r\n });\r\n let allItemsInSelectedPromos: PromoItemsDto[] = [];\r\n allItemsArraysInSelectedPromos.forEach((itemsArray: any) => {\r\n if (itemsArray) {\r\n allItemsInSelectedPromos = [...allItemsInSelectedPromos, ...itemsArray];\r\n }\r\n })\r\n if (allItemsInSelectedPromos.length) {\r\n const selectedItemIsExistInSelectedPromoAndAllItemsInFrames = allItemsInSelectedPromos.some((itemPromo: PromoItemsDto) => item.fpiRecId === itemPromo.fpiRecId);\r\n if (selectedItemIsExistInSelectedPromoAndAllItemsInFrames && item.qualificationLevel === 2) {\r\n // itemsQualification.push(item.fpiRecId!);\r\n }\r\n }\r\n }\r\n })\r\n promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].promos.forEach((promo: PromoDto) => {\r\n const selectedPromoIsExistInAllPromosInFrame = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n if (selectedPromoIsExistInAllPromosInFrame && promo.qualificationLevel === 2) {\r\n promosQualification.push(promo.flrRecId!);\r\n }\r\n })\r\n }\r\n // if (itemsQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForItems(itemsQualification, flyerDetailsState?.flyLacRec?.lacCode!, isChecked ? 2 : 1, false, flyerDetailsState, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo))\r\n // }\r\n let framesIds = selectedFrames.map((selectedFrame: FlyerPageSpotDto) => {\r\n return selectedFrame.fpsRecId!\r\n });\r\n if(framesIds.length){\r\n dispatch(changeQualificationStatusForFrame(\r\n framesIds,\r\n flyerDetailsState?.flyLacRec?.lacCode!,\r\n isChecked ? 2 : 1,\r\n flyerDetailsState,\r\n selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo,\r\n []\r\n ));\r\n }\r\n // if (promosQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForPromos(promosQualification, flyerDetailsState?.flyLacRec?.lacCode!, isChecked ? 2 : 1, flyerDetailsState, false, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo));\r\n // }\r\n }\r\n\r\n // const approveSelectedPromosAndItems = () => {\r\n // let promosQualification: number[] = [];\r\n // let itemsQualification: number[] = [];\r\n //\r\n // selectedPromos.forEach((selectedPromo: PromoDto) => {\r\n // if (selectedPromo.qualificationLevel === 1) {\r\n // promosQualification.push(selectedPromo.flrRecId!);\r\n // }\r\n // if (selectedPromo.flyerPromoItems?.length) {\r\n // selectedPromo.flyerPromoItems.forEach((itemFromSelectedPromo: PromoItemsDto) => {\r\n // if (itemFromSelectedPromo.qualificationLevel === 1) {\r\n // itemsQualification.push(itemFromSelectedPromo.fpiRecId!);\r\n // }\r\n // })\r\n // }\r\n // })\r\n // if (itemsQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForItems(itemsQualification, flyerDetailsState?.flyLacRec?.lacCode!, 2, false, flyerDetailsState, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo))\r\n // }\r\n // if (promosQualification.length !== 0) {\r\n // dispatch(changeQualificationStatusForPromos(promosQualification, flyerDetailsState?.flyLacRec?.lacCode!, 2, false, flyerDetailsState, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo));\r\n // }\r\n // }\r\n\r\n const handleChangeSelectAll = (e: React.ChangeEvent) => {\r\n // toggleSelectAllChecker(!isSelectAllChecker);\r\n selectAllPossiblePromosInFramesOrDeselectAll(e.target.checked);\r\n // toggleSelectAll(!isSelectAll);\r\n }\r\n\r\n const onSelectFrame = (event: React.MouseEvent, promo: PromoDto, index: number, upcomingFrame: FlyerPageSpotDto) => {\r\n let promotionsInFrames: PromoDto[] = [];\r\n let frames: FlyerPageSpotDto[] = [];\r\n [...props.frames].forEach((frame: FlyerPageSpotDto) => {\r\n if(promo){\r\n let promosFromFrame: PromoDto = frame.flyerPromos![frame.flyerPromos!.length - 1 < 0 ? 0 : frame.flyerPromos!.length - 1];\r\n if (promosFromFrame) {\r\n const isLastSelectedPromo = selectedPromos.find((selectedPromo: PromoDto) => selectedPromo.flrRecId === promosFromFrame.flrRecId);\r\n const isLastSelected = isLastSelectedPromo && isLastSelectedPromo.isLastSelected ? isLastSelectedPromo.isLastSelected : false;\r\n promotionsInFrames.push({\r\n ...promosFromFrame,\r\n isLastSelected: isLastSelected\r\n });\r\n } else {\r\n promotionsInFrames.push({});\r\n }\r\n }\r\n const isLastSelectedFrame = selectedFrames.find((selectedFrame: FlyerPageSpotDto) => selectedFrame.fpsRecId === frame.fpsRecId);\r\n const isLastSelected = isLastSelectedFrame && isLastSelectedFrame.isLastSelected ? isLastSelectedFrame.isLastSelected : false;\r\n frames.push({\r\n ...frame,\r\n isLastSelected: isLastSelected\r\n });\r\n });\r\n if (event.ctrlKey || event.metaKey) {\r\n if(promo){\r\n const isPromotionAlreadySelected = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n if (isPromotionAlreadySelected) {\r\n const newStateForSelectedPromos = selectedPromos.filter((selectedPromo: PromoDto) => selectedPromo.flrRecId !== promo.flrRecId);\r\n if (newStateForSelectedPromos.length) {\r\n newStateForSelectedPromos[0].isLastSelected = true;\r\n }\r\n setSelectedPromos(newStateForSelectedPromos);\r\n } else {\r\n setSelectedPromos([...selectedPromos, promo])\r\n }\r\n }\r\n const isFrameAlreadySelected = selectedFrames.some((selectedFrame: FlyerPageSpotDto) => selectedFrame.fpsRecId === upcomingFrame.fpsRecId);\r\n if (isFrameAlreadySelected) {\r\n const newStateForSelectedFrames = selectedFrames.filter((selectedFrame: FlyerPageSpotDto) => selectedFrame.fpsRecId !== upcomingFrame.fpsRecId);\r\n if (newStateForSelectedFrames.length) {\r\n newStateForSelectedFrames[0].isLastSelected = true;\r\n }\r\n setSelectedFrames(newStateForSelectedFrames);\r\n } else {\r\n setSelectedFrames([...selectedFrames, upcomingFrame])\r\n }\r\n } else if (event.shiftKey) {\r\n if(promo){\r\n const isLastSelectedPromoExist = promotionsInFrames.some((selectedPromo: PromoDto) => selectedPromo.isLastSelected);\r\n if (isLastSelectedPromoExist) {\r\n let lastSelectedIndex: number = 0;\r\n promotionsInFrames.forEach((selectedPromo: PromoDto, index: number) => {\r\n if (selectedPromo.isLastSelected) {\r\n lastSelectedIndex = index;\r\n return selectedPromo;\r\n }\r\n });\r\n const isSelectedItemIndexMoreThanLastSelectedIndex = index > lastSelectedIndex;\r\n if (isSelectedItemIndexMoreThanLastSelectedIndex) {\r\n const newStateForSelectedPromos = [...promotionsInFrames].filter((promotion: PromoDto, promoIndex: number) => {\r\n if (promoIndex >= lastSelectedIndex && promoIndex <= index && !_.isEmpty(promotion)) {\r\n return promotion;\r\n }\r\n });\r\n setSelectedPromos(newStateForSelectedPromos);\r\n } else {\r\n const newStateForSelectedPromos = [...promotionsInFrames].filter((promotion: PromoItemsDto, promoIndex: number) => {\r\n if (promoIndex >= index && promoIndex <= lastSelectedIndex && !_.isEmpty(promotion)) {\r\n // if (promoIndex === lastSelectedIndex) {\r\n // promotion.isLastSelected = true;\r\n // }\r\n return promotion;\r\n }\r\n })\r\n setSelectedPromos(newStateForSelectedPromos);\r\n }\r\n } else {\r\n setSelectedPromos([{\r\n ...promo,\r\n isLastSelected: true\r\n }]);\r\n }\r\n }\r\n const isLastSelectedFrameExist = frames.some((frame: FlyerPageSpotDto) => frame.isLastSelected);\r\n if (isLastSelectedFrameExist) {\r\n let lastSelectedIndex: number = 0;\r\n frames.forEach((frame: FlyerPageSpotDto, index: number) => {\r\n if (frame.isLastSelected) {\r\n lastSelectedIndex = index;\r\n return frame;\r\n }\r\n });\r\n const isSelectedItemIndexMoreThanLastSelectedIndex = index > lastSelectedIndex;\r\n if (isSelectedItemIndexMoreThanLastSelectedIndex) {\r\n const newStateForSelectedFrames = [...frames].filter((frame: FlyerPageSpotDto, frameIndex: number) => {\r\n if (frameIndex >= lastSelectedIndex && frameIndex <= index) {\r\n return frame;\r\n }\r\n });\r\n setSelectedFrames(newStateForSelectedFrames);\r\n } else {\r\n const newStateForSelectedFrames = [...frames].filter((frame: FlyerPageSpotDto, frameIndex: number) => {\r\n if (frameIndex >= index && frameIndex <= lastSelectedIndex) {\r\n // if (promoIndex === lastSelectedIndex) {\r\n // promotion.isLastSelected = true;\r\n // }\r\n return frame;\r\n }\r\n })\r\n setSelectedFrames(newStateForSelectedFrames);\r\n }\r\n } else {\r\n if(promo){\r\n setSelectedPromos([{\r\n ...promo,\r\n isLastSelected: true\r\n }]);\r\n }\r\n setSelectedFrames([{\r\n ...upcomingFrame,\r\n isLastSelected: true\r\n }]);\r\n }\r\n } else {\r\n // const isPromotionAlreadySelected = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n // if(isPromotionAlreadySelected){\r\n // setSelectedPromos([]);\r\n // } else {\r\n if(promo){\r\n setSelectedPromos([{\r\n ...promo,\r\n isLastSelected: true\r\n }]);\r\n }\r\n setSelectedFrames([{\r\n ...upcomingFrame,\r\n isLastSelected: true\r\n }]);\r\n // }\r\n }\r\n }\r\n\r\n const makeUnlinkSelectedPromos = () => {\r\n let targetPromos: PromoDto[] = [...selectedPromos];\r\n let targetPromosIds = targetPromos.map((promo: PromoDto) => promo.flrRecId!);\r\n props.setTargetPromos(targetPromos);\r\n dispatch(\r\n attachPromoToFlyer(\r\n flyerDetailsState.flyRecId,\r\n targetPromosIds,\r\n false,\r\n flyerDetailsState.flyLacRec.lacCode\r\n )\r\n );\r\n };\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n PROMOTIONS & ITEMS\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {totalPromotionsItems}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n }\r\n inputProps={{'aria-label': 'controlled'}}\r\n sx={{\r\n padding: `0`,\r\n marginRight: `5px`,\r\n\r\n // backgroundColor: `white`\r\n }}\r\n />\r\n \r\n Select all\r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n promotionsItemsState.isQualified &&\r\n \r\n {/**/}\r\n \r\n }\r\n disabled={(selectedPromos.length === 0 && selectedFrames.length === 0) || flyerDetailsState.flyFstRec.fstCaption === \"Published\" || isUserViewer || isUserEditor}\r\n inputProps={{'aria-label': 'controlled'}}\r\n sx={{\r\n padding: `0`,\r\n marginRight: `5px`,\r\n // backgroundColor: `white`\r\n }}\r\n />\r\n \r\n Approve\r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n\r\n {/*
    */}\r\n {/* */}\r\n {/* */}\r\n {/*
    */}\r\n
    \r\n }\r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n}","import React, {forwardRef, Ref, useEffect, useImperativeHandle, useRef, useState} from 'react'\r\n\r\n\r\nimport {useTypedSelector} from '../../../../../../hooks/useTypeSelector';\r\n\r\nimport {FlyerPageDto, PopupSettings} from '../../../../../../dtos'\r\nimport Canvas, {ICanvasRef} from '../../../../../../com/canvas/Canvas'\r\n\r\nimport Loader from '../../../../../../com/loader/Loader'\r\n\r\nimport {Spots} from '../../../../../com/canvas/spots/Spots'\r\n\r\nimport './FlyerPage.scss'\r\nimport {ActionType} from \"../../../../../../store/actionTypes\";\r\nimport {getSettingsForPopup} from \"../../../../pages/getSetttingsForPopup\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../com/statusPopup/StatusPopup\";\r\nimport {\r\n FLYER_CANVAS_HEIGHT,\r\n FLYER_CANVAS_WIDTH,\r\n getCanvasSize, getCanvasWrapperSize,\r\n updateCanvasSize\r\n} from '../../../../../../globals';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {getFlippingFlyer} from \"../../../../../../store\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../com/imageWithLoader/imageWithLoader\";\r\n// import {ReactComponent as ImageWithError} from \"../../../../../../assets/editors/image_with_error.svg\";\r\nimport {\r\n startUploadingImagesProgressPopup\r\n} from \"../../../../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {getIconStyle} from \"../../../../../../globals/globFunctions\";\r\n\r\nexport interface IFlyerPageRef {\r\n setNextGridSize: (rows: number, columns: number) => void;\r\n reInit: () => void;\r\n showLoader: (value: boolean) => void;\r\n}\r\n\r\nexport interface IFlyerPage {\r\n data?: FlyerPageDto,\r\n}\r\n\r\n\r\nexport const FlyerPage = forwardRef((props: IFlyerPage, ref: Ref) => {\r\n const dispatch = useDispatch();\r\n const {toggleActionsForFlyers} = useTypedSelector((state) => state);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyerIconStyleType = flyerDetailsState.flyGusRec?.gusIconContrast || 1;\r\n // const mainGuiColorForFlyer = flyerDetailsState.flyGusRec?.gusPrimaryColorRgb || \"#ffffff\";\r\n const iconStyleData = getIconStyle(flyerIconStyleType);\r\n\r\n useImperativeHandle(ref, () => ({\r\n reInit,\r\n showLoader,\r\n setNextGridSize,\r\n }));\r\n\r\n const timer = useRef();\r\n const canvasRef = useRef(null)\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isModalPopup, setModalPopup] = useState(false);\r\n const [popupSettings, setPopupSettings] = useState({})\r\n\r\n let canvasWidth = FLYER_CANVAS_WIDTH;\r\n let canvasHeigth = FLYER_CANVAS_HEIGHT;\r\n\r\n const spots = useRef(null)\r\n if (spots.current === null) {\r\n spots.current = new Spots(true, canvasWidth, canvasHeigth, false, true, iconStyleData)\r\n }\r\n\r\n const reInit = () => {\r\n dispose();\r\n\r\n // init\r\n spots.current = new Spots(true, canvasWidth, canvasHeigth, false, true, iconStyleData);\r\n }\r\n\r\n const dispose = () => {\r\n\r\n if (spots.current) {\r\n spots.current!.dispose();\r\n if (spots.current!.parent) {\r\n spots.current!.parent.removeChild(spots.current!)\r\n }\r\n spots.current = null;\r\n }\r\n\r\n if (canvasRef.current) {\r\n canvasRef.current.reInitCanvas();\r\n }\r\n }\r\n\r\n const showLoader = (value: boolean) => {\r\n setIsLoading(value)\r\n }\r\n\r\n const setNextGridSize = (rows: number, columns: number) => {\r\n spots.current!.setNextGgridSize(rows, columns)\r\n }\r\n\r\n/*\r\n const onImageLoadComplete = (isComplete: boolean) => {\r\n showLoader(isComplete)\r\n }\r\n*/\r\n\r\n const reInitCanvas = () => {\r\n if(props.data !== null && canvasRef.current && props.data?.flyerPageSpots){\r\n reInit();\r\n\r\n const {containerWidth, containerHeight} = getCanvasWrapperSize();\r\n\r\n let canvasDimensions = getCanvasSize(props.data!.flpWidthPx!, props.data!.flpHeightPx!, toggleActionsForFlyers.isZoomIn, containerWidth, containerHeight)\r\n updateCanvasSize(\r\n spots.current!,\r\n props.data!.flpWidthPx!,\r\n props.data!.flpHeightPx!,\r\n toggleActionsForFlyers.isZoomIn\r\n )\r\n\r\n spots.current!.initSpotsDtos(props.data!, canvasDimensions.width, canvasDimensions.height, true, false)\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if (props.data !== null && canvasRef.current && props.data?.flyerPageSpots) {\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n\r\n timer.current = setTimeout(() => {\r\n setIsLoading(false)\r\n }, 2000);\r\n reInitCanvas();\r\n } else {\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n\r\n return () => {\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n };\r\n\r\n }, [props.data, toggleActionsForFlyers.isZoomIn])\r\n\r\n useEffect(() => {\r\n if (flippingFlyerState.type === ActionType.POST_FLYER_PROMOITEMS_SUCCESS\r\n || flippingFlyerState.type === ActionType.POST_FLYER_PROMOS_AND_ITEMS_SUCCESS\r\n ) {\r\n let message: string[] = [];\r\n let modalName: string = 'successfullyUpload'\r\n if (flippingFlyerState.type === ActionType.POST_FLYER_PROMOS_AND_ITEMS_SUCCESS) {\r\n if (flippingFlyerState.successInfo && flippingFlyerState.successInfo.severityLevel === 'Info') {\r\n message = flippingFlyerState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n .filter(key => key !== '');\r\n modalName = `successfullyUploadWithSomePromosAndItemsErrors`;\r\n // message.push(`${flippingFlyerState.successInfo.userFriendlyMessage}`);\r\n } else {\r\n message.push(`Promotions and Items uploaded successfully`);\r\n }\r\n // } else if (flippingFlyerState.type === ActionType.POST_IMAGES_FOR_PROMOTIONS_SUCCESS) {\r\n // if (flippingFlyerState.successInfo && flippingFlyerState.successInfo.severityLevel === 'Info') {\r\n // message = flippingFlyerState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n // .filter(key => key !== '');\r\n // modalName = `successfullyUploadWithSomePromosAndItemsErrors`;\r\n // // message.push(`${flippingFlyerState.successInfo.userFriendlyMessage}`);\r\n // }\r\n //\r\n // } else if (flippingFlyerState.type === ActionType.POST_IMAGES_FOR_ITEMS_SUCCESS) {\r\n // if (flippingFlyerState.successInfo && flippingFlyerState.successInfo.severityLevel === 'Info') {\r\n // message = flippingFlyerState.successInfo.userFriendlyMessage.split(`\\r\\n`)\r\n // .filter(key => key !== '');\r\n // modalName = `successfullyUploadWithSomePromosAndItemsErrors`;\r\n // // message.push(`${flippingFlyerState.successInfo.userFriendlyMessage}`);\r\n // }\r\n } else {\r\n message.push(`Promotion and item images upload has started, give it a few minutes to complete.`);\r\n }\r\n setPopupSettings({\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: message,\r\n modalName: modalName,\r\n }\r\n )\r\n setModalPopup(true);\r\n if (props.data) {\r\n dispatch(getFlippingFlyer(props.data.flpFlyRecId!))\r\n }\r\n } else if (flippingFlyerState.type === ActionType.POST_IMAGES_FOR_PROMOTIONS_START\r\n || flippingFlyerState.type === ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_START\r\n || flippingFlyerState.type === ActionType.POST_IMAGES_FOR_ITEMS_START\r\n ) {\r\n dispatch(startUploadingImagesProgressPopup());\r\n } else if (flippingFlyerState.type && flippingFlyerState.type!.indexOf('ERROR') > -1) {\r\n if (props.data) {\r\n dispatch(getFlippingFlyer(props.data.flpFlyRecId!))\r\n }\r\n }\r\n\r\n }, [flippingFlyerState.loading])\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', reInitCanvas);\r\n return () => {\r\n window.removeEventListener('resize', reInitCanvas);\r\n }\r\n }, [props.data])\r\n\r\n useEffect(() => {\r\n return () => {\r\n // on unmount\r\n dispose();\r\n }\r\n }, []);\r\n\r\n let settingsForPopup = getSettingsForPopup(popupSettings);\r\n\r\n\r\n return (\r\n
    \r\n \r\n\r\n \r\n\r\n {isLoading &&\r\n
    \r\n \r\n
    \r\n }\r\n {isModalPopup && setModalPopup(false)}\r\n />\r\n }\r\n\r\n
    \r\n )\r\n})\r\n","import {FlyerDto, FlyerPageDto} from '../../../../../dtos'\r\nimport {FlyerPage, IFlyerPageRef} from './flyerPage/FlyerPage'\r\n\r\nimport {FlyerPagesArrows} from '../../../../com/flyerPages/arrows/FlyerPagesArrows'\r\n\r\nimport './FlyerPages.scss'\r\nimport React, {useCallback, useRef, useState} from 'react'\r\nimport {useEffect} from 'react'\r\nimport styles from './FlyerPages.module.scss';\r\nimport {Box} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\n\r\ninterface IFlyerPages {\r\n pageIndex: number,\r\n data?: FlyerDto,\r\n onLeftArrowClick: () => void,\r\n onNextArrowClick: () => void,\r\n isDragStart: boolean;\r\n total: number;\r\n}\r\n\r\nexport const FlyerPages: React.FC = (props) => {\r\n const flyerPageRef = useRef(null);\r\n const contentPagesRef = useRef(null);\r\n const {toggleActionsForFlyers} = useTypedSelector((state) => state);\r\n const [pageDto, setPageDto] = useState();\r\n\r\n useEffect(() => {\r\n // flyerPageRef.current?.reInit();\r\n var pageDto = props.data?.flyerPages![props.pageIndex]!\r\n setPageDto(pageDto)\r\n\r\n }, [props.data, props.pageIndex])\r\n\r\n let scrollCount: any = null;\r\n let scrollRef: any = null;\r\n const scroll = useCallback(\r\n y => {\r\n // setTimeout(() => {\r\n console.log(`scrollPageOnScreen`);\r\n if (y > 0) {\r\n props.onNextArrowClick();\r\n } else {\r\n props.onLeftArrowClick();\r\n }\r\n // }, 600)\r\n },\r\n [contentPagesRef]\r\n );\r\n\r\n useEffect(() => {\r\n const sliderElement = contentPagesRef.current;\r\n // Passing the same reference\r\n // const targetSlider = sliderRef.current as unknown as HTMLDivElement\r\n if (sliderElement) {\r\n sliderElement.addEventListener('wheel', onScrollPages)\r\n }\r\n if(toggleActionsForFlyers.isZoomIn && sliderElement){\r\n sliderElement.removeEventListener('wheel', onScrollPages)\r\n }\r\n\r\n return () => {\r\n // Passing the same reference\r\n const sliderElement = contentPagesRef.current;\r\n if (sliderElement) {\r\n sliderElement.removeEventListener('wheel', onScrollPages)\r\n\r\n }\r\n }\r\n // dispatch(setSelectedPageForTabs({\r\n // pageNo: selectedPageState.pageNo - 1\r\n // }));\r\n }, [scroll, toggleActionsForFlyers.isZoomIn]);\r\n\r\n const onScrollPages = (e: any) => {\r\n clearTimeout(scrollRef);\r\n scrollRef = setTimeout(() => {\r\n scrollCount = 0;\r\n },\r\n 200);\r\n if (scrollCount) {\r\n return;\r\n }\r\n scrollCount = 1;\r\n scroll(e.deltaY);\r\n }\r\n\r\n return (\r\n \r\n {\r\n props.total > 1 &&\r\n \r\n }\r\n \r\n {props.isDragStart &&
    \r\n\r\n
    }\r\n \r\n )\r\n}","import React from \"react\";\r\nimport styles from './horizontalTab.module.scss';\r\nimport {HorizontalTabsDto} from \"../../../dtos\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {changeActiveUnlinkTab} from \"../../../store/actionCreators/promotionsItemsCreators\";\r\n\r\ninterface Props {\r\n tab: HorizontalTabsDto,\r\n isActive: boolean,\r\n}\r\n\r\nexport const HorizontalTab = (props: Props) => {\r\n const dispatch = useDispatch();\r\n\r\n const onClick = () => {\r\n dispatch(changeActiveUnlinkTab(props.tab.name))\r\n }\r\n return (\r\n
    \r\n {props.tab.name}\r\n
    \r\n )\r\n};","import React from \"react\";\r\nimport styles from './horizontalTabs.module.scss';\r\nimport {HorizontalTabsDto} from \"../../dtos\";\r\nimport {HorizontalTab} from \"./horizontalTab/horizontalTab\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\n\r\ninterface Props {\r\n tabs: HorizontalTabsDto[]\r\n}\r\n\r\nexport const HorizontalTabs = (props: Props) => {\r\n const activeTabName = useTypedSelector((state) => state.promotionsAndItems.activeTab);\r\n\r\n const tabs = props.tabs.map((tab, index) => {\r\n return \r\n })\r\n return (\r\n
    \r\n {tabs}\r\n
    \r\n )\r\n};","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSearchFilterIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.4954 0H2.50458C1.12355 0 0 1.12355 0 2.50458V11.4954C0 12.8764 1.12355 14 2.50458 14H11.4954C12.8764 14 14 12.8764 14 11.4954V2.50458C14 1.12355 12.8764 0 11.4954 0ZM13.1797 11.4954C13.1797 12.4241 12.4241 13.1797 11.4954 13.1797H2.50458C1.57588 13.1797 0.820312 12.4241 0.820312 11.4954V2.50458C0.820312 1.57588 1.57588 0.820312 2.50458 0.820312H11.4954C12.4241 0.820312 13.1797 1.57588 13.1797 2.50458V11.4954Z\",\n fill: \"#014780\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8331 3.07541H5.58607C5.41433 2.56532 4.93185 2.19678 4.36457 2.19678C3.7973 2.19678 3.31482 2.56532 3.14307 3.07541H2.16797C1.94145 3.07541 1.75781 3.25905 1.75781 3.48557C1.75781 3.71209 1.94145 3.89573 2.16797 3.89573H3.1431C3.31485 4.40582 3.79733 4.77436 4.3646 4.77436C4.93187 4.77436 5.41435 4.40582 5.5861 3.89573H11.8331C12.0596 3.89573 12.2432 3.71209 12.2432 3.48557C12.2432 3.25905 12.0596 3.07541 11.8331 3.07541ZM4.36457 3.95405C4.10626 3.95405 3.89609 3.74389 3.89609 3.48557C3.89609 3.22725 4.10626 3.01709 4.36457 3.01709C4.62289 3.01709 4.83305 3.22725 4.83305 3.48557C4.83305 3.74389 4.62289 3.95405 4.36457 3.95405Z\",\n fill: \"#014780\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8331 6.59006H10.8579C10.6862 6.07996 10.2037 5.71143 9.63642 5.71143C9.06917 5.71143 8.58669 6.07996 8.41495 6.59006H2.16797C1.94145 6.59006 1.75781 6.7737 1.75781 7.00022C1.75781 7.22673 1.94145 7.41037 2.16797 7.41037H8.41495C8.58669 7.92047 9.0692 8.28901 9.63645 8.28901C10.2037 8.28901 10.6862 7.92047 10.8579 7.41037H11.8331C12.0596 7.41037 12.2432 7.22673 12.2432 7.00022C12.2432 6.7737 12.0596 6.59006 11.8331 6.59006ZM9.63645 7.4687C9.37813 7.4687 9.16797 7.25854 9.16797 7.00022C9.16797 6.7419 9.37813 6.53174 9.63645 6.53174C9.89476 6.53174 10.1049 6.7419 10.1049 7.00022C10.1049 7.25854 9.89476 7.4687 9.63645 7.4687Z\",\n fill: \"#014780\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8331 10.1047H7.34337C7.17163 9.59461 6.68915 9.22607 6.12187 9.22607C5.5546 9.22607 5.07212 9.59461 4.90037 10.1047H2.16797C1.94145 10.1047 1.75781 10.2884 1.75781 10.5149C1.75781 10.7414 1.94145 10.925 2.16797 10.925H4.90037C5.07212 11.4351 5.5546 11.8037 6.12187 11.8037C6.68915 11.8037 7.17163 11.4351 7.34337 10.925H11.8331C12.0596 10.925 12.2432 10.7414 12.2432 10.5149C12.2432 10.2884 12.0596 10.1047 11.8331 10.1047ZM6.12187 10.9834C5.86356 10.9834 5.65339 10.7732 5.65339 10.5149C5.65339 10.2566 5.86356 10.0464 6.12187 10.0464C6.38019 10.0464 6.59035 10.2566 6.59035 10.5149C6.59035 10.7732 6.38019 10.9834 6.12187 10.9834Z\",\n fill: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearchFilterIcon);\nexport default __webpack_public_path__ + \"static/media/search_filter_icon.b57175eb.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSearchClearIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19,\n height: 19,\n viewBox: \"0 0 19 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 9.5,\n cy: 9.5,\n r: 9,\n stroke: \"#014780\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2845 9.4737L14.176 5.58218C14.2635 5.48006 14.3092 5.3487 14.304 5.21435C14.2988 5.08 14.2431 4.95256 14.148 4.85749C14.053 4.76242 13.9255 4.70673 13.7912 4.70154C13.6568 4.69635 13.5255 4.74205 13.4233 4.8295L9.53181 8.72102L5.64029 4.82416C5.53817 4.73671 5.40681 4.69101 5.27246 4.6962C5.13811 4.70139 5.01067 4.75708 4.9156 4.85215C4.82053 4.94722 4.76484 5.07466 4.75965 5.20901C4.75446 5.34336 4.80016 5.47472 4.88761 5.57684L8.77913 9.4737L4.88227 13.3652C4.82639 13.4131 4.781 13.472 4.74896 13.5382C4.71692 13.6044 4.69892 13.6766 4.69608 13.7501C4.69324 13.8236 4.70562 13.8969 4.73246 13.9654C4.7593 14.0339 4.80001 14.0961 4.85203 14.1481C4.90405 14.2002 4.96627 14.2409 5.03477 14.2677C5.10327 14.2945 5.17658 14.3069 5.2501 14.3041C5.32362 14.3013 5.39575 14.2833 5.46198 14.2512C5.52821 14.2192 5.5871 14.1738 5.63495 14.1179L9.53181 10.2264L13.4233 14.1179C13.5255 14.2054 13.6568 14.2511 13.7912 14.2459C13.9255 14.2407 14.053 14.185 14.148 14.0899C14.2431 13.9948 14.2988 13.8674 14.304 13.7331C14.3092 13.5987 14.2635 13.4673 14.176 13.3652L10.2845 9.4737Z\",\n fill: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearchClearIcon);\nexport default __webpack_public_path__ + \"static/media/search_clear_icon.912eded2.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport styles from \"./searchBar.module.scss\"\r\nimport {ReactComponent as SearchIcon} from \"../../assets/promos&items/search_icon.svg\";\r\nimport {ReactComponent as SearchFilterIcon} from \"../../assets/promos&items/search_filter_icon.svg\";\r\nimport {ReactComponent as SearchClearIcon} from \"../../assets/promos&items/search_clear_icon.svg\";\r\n\r\ninterface Props {\r\n onSearchEnteredTerm?: (e: any) => void;\r\n clearSearch?: (e: React.MouseEvent) => void;\r\n onChangeSearchValue?: (e: React.ChangeEvent) => void;\r\n searchValue?: string\r\n}\r\n\r\n\r\nexport const SearchBar = (props: Props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {\r\n FlyerPageSpotDto,\r\n ItemsListMenuDto,\r\n PromoDto,\r\n PromoItemsDto, SaleTypeDto,\r\n SelectPageForTabsDto, SellingUnitDto\r\n} from \"../../../../../../../dtos\";\r\nimport {Draggable, DraggableStateSnapshot, DraggingStyle, NotDraggingStyle} from \"react-beautiful-dnd\";\r\nimport styles from \"./unlinkedPromoOrItem.module.scss\";\r\nimport {\r\n PromotionItem\r\n} from \"../../../../leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/LeftMenuPromotionItem\";\r\nimport {useTypedSelector} from \"../../../../../../../hooks/useTypeSelector\";\r\nimport {AsyncImageWithLoader} from \"../../../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n addPromosForUnlinkedPromotionsMenu, attachItemsToFlyer,\r\n attachPromoToFrame,\r\n changeQualificationStatusForItems,\r\n changeQualificationStatusForPromos,\r\n deleteItemsFromFlyer,\r\n deletePromosFromFlyer,\r\n} from \"../../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {getSettingsForPopup} from \"../../../../../pages/getSetttingsForPopup\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../../com/statusPopup/StatusPopup\";\r\nimport {ReactComponent as PromotionIcon} from \"../../../../../../../assets/promos&items/promotion_icon.svg\";\r\nimport {\r\n ReactComponent as ToggleCollapseItemsInPromotion\r\n} from \"../../../../../../../assets/promos&items/toggle_collapse_items_in_promotion_icon.svg\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../../../assets/promos&items/menu_on_hover.svg\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../../leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\n// import Button from '@material-ui/core/Button';\r\nimport {MENU_LIST_PROMOTIONS_ITEMS} from \"../../../../../../../globals/Contants\";\r\nimport {ReactComponent as DragIcon} from \"../../../../../../../assets/promos&items/drag_icon.svg\";\r\nimport {\r\n MenuForItems\r\n} from \"../../../../leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/MenuForItems/menuForItem\";\r\nimport {ReactComponent as ImageWithError} from \"../../../../../../../assets/promos&items/image_error.svg\";\r\nimport {\r\n CreateEditItemModal\r\n} from \"../../../../leftMenu/LeftMenuContent/LeftMenuContentElement/LeftMenuPromotionItem/CreateEditItemModal/CreateEditItemModal\";\r\nimport {getPromoSaleTypeCaptions} from \"../../../../../../../globals/PromoSaleTypeCaptionGenerator\";\r\nimport {\r\n PromotionDetailsModalPopup\r\n} from \"../../../../leftMenu/LeftMenuContent/LeftMenuContentElement/PromotionDetailsModalPopup/PromotionDetailsModalPopup\";\r\nimport {\r\n QualificationForPromoComponent\r\n} from \"../../../../../../com/QualificationForPromoComponent/QualificationForPromoComponent\";\r\nimport {\r\n QualificationForItemComponent\r\n} from \"../../../../../../com/QualificationForItemComponent/QualificationForItemComponent\";\r\nimport {Button} from \"@mui/material\";\r\n\r\ninterface Props {\r\n promo?: PromoDto;\r\n item?: PromoItemsDto;\r\n tabName: string;\r\n index?: number;\r\n onChangeSelectedPromos?: (promo: PromoDto, event: React.MouseEvent, index: number) => void;\r\n onChangeSelectedItems?: (item: PromoItemsDto, e: React.MouseEvent) => void;\r\n isSelected: boolean;\r\n targetItems?: PromoItemsDto[];\r\n isHebrew: boolean;\r\n isHide?: boolean;\r\n}\r\n\r\nfunction getStyle(style: DraggingStyle | NotDraggingStyle | undefined, snapshot: DraggableStateSnapshot) {\r\n if (!snapshot.isDragging) return {};\r\n if (!snapshot.isDropAnimating) {\r\n return style;\r\n }\r\n\r\n return {\r\n ...style,\r\n // cannot be 0, but make it super tiny\r\n transitionDuration: `0.001s`\r\n };\r\n}\r\n\r\nexport const UnlinkPromoOrItem = React.memo((props: Props) => {\r\n const dispatch = useDispatch();\r\n const anchorRef = useRef(null);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n const saleTypes = useTypedSelector((state) => state.saleTypes.saleTypesForSpecificFlyer);\r\n\r\n const [isHoverOnUnlinkPromoAndItem, changeStatusForUnlinkPromoAndItem] = useState(false);\r\n const [isOpenPromotionOrItemMenu, setStatusForPromotionOrItemMenu] = useState(false);\r\n const [caption, setCaption] = useState('');\r\n const [isShowItems, setStatusForShowItem] = useState(false);\r\n const [qualificationLevel, setQualificationLevel] = useState(props.promo?.qualificationLevel);\r\n // const [userName, setUserName] = useState('');\r\n const sellingUnitsForFlyer = useTypedSelector((state) => state.sellingUnits.sellingUnitsForFlyer);\r\n\r\n\r\n const prevOpenPromotionMenu = useRef(isOpenPromotionOrItemMenu);\r\n\r\n\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const [frames, setFrames] = useState([]);\r\n\r\n const [isModalPopup, changeModalStatus] = useState(false);\r\n\r\n const [isSelect, setSelect] = useState(false);\r\n\r\n\r\n const [isOpenItemModal, setOpenItemModal] = useState(false);\r\n const [isNewItem, setStatusForNewOrNotForItem] = useState(false);\r\n const [imageSrc, setImageSrc] = useState(props.item ? props.item.fpiImage! : '');\r\n const [itemQualification, setItemQualificationStatus] = useState(props.item?.qualificationLevel);\r\n const [selectedItem, setSelectedItem] = useState({});\r\n\r\n\r\n const [isOpenPromotionModalPopup, openPromotionModalPopup] = useState(false);\r\n const [isNewPromotion, setStatusForNewOrNotForPromotion] = useState(false);\r\n\r\n const [isShowCaptionForPromotion, toggleShowCaptionForPromotion] = useState(false);\r\n const isDisableDraggable = flyerDetailsState.flyFstRec.fstCaption === \"Published\";\r\n\r\n\r\n useEffect(() => {\r\n if (promotionsItemsState.type === 'ATTACH_ITEMS_TO_FLYER_SUCCESS' && !promotionsItemsState.targetFrameId) {\r\n const newState = [...promotionsItemsState.unlinkPromos].map((promoState: PromoDto) => {\r\n if (promoState.flrRecId === props.promo?.flrRecId) {\r\n promoState.flyerPromoItems = [...promoState.flyerPromoItems!].filter((item: PromoItemsDto) => {\r\n const isIterableItemShouldBeUnlink = promotionsItemsState.itemsIds.find((id: number) => id === item.fpiRecId);\r\n if (!isIterableItemShouldBeUnlink) {\r\n return item;\r\n }\r\n });\r\n }\r\n return promoState;\r\n });\r\n dispatch(addPromosForUnlinkedPromotionsMenu(newState, true))\r\n }\r\n }, [promotionsItemsState.type]);\r\n\r\n useEffect(() => {\r\n if (props.item) {\r\n setImageSrc(props.item.fpiImage!);\r\n }\r\n }, [props.item])\r\n\r\n // useEffect(() => {\r\n // let userDtoStr = localStorage.getItem('userDto')\r\n //\r\n // if (userDtoStr) {\r\n // let userDto: UserDto = JSON.parse(userDtoStr);\r\n //\r\n // if (userDto.firstName && userDto.lastName) {\r\n // setUserName(`${userDto.firstName} ${userDto.lastName}`);\r\n // } else {\r\n // setUserName('you');\r\n // }\r\n // }\r\n // }, [])\r\n\r\n\r\n useEffect(() => {\r\n if (props.promo) {\r\n const selectedSaleType = saleTypes.find((saleType: SaleTypeDto) => saleType.satCode === props.promo!.flrSatCode);\r\n const selectedSellingUnit = sellingUnitsForFlyer?.find((sellingUnit: SellingUnitDto) => {\r\n if (sellingUnit.id === props.promo?.flrSeuRecId) {\r\n return sellingUnit;\r\n }\r\n })\r\n if (selectedSaleType) {\r\n setCaption(getPromoSaleTypeCaptions(selectedSaleType, flyerDetailsState.flyLacRec.lacCurrencySymbol!, selectedSellingUnit, props.promo!));\r\n }\r\n\r\n //flyer type\r\n const isFlyerWithPrices = flyerDetailsState.flyFltRec.fltCode !== 3;\r\n if (isFlyerWithPrices\r\n || (\r\n !isFlyerWithPrices\r\n && (\r\n props.promo?.flrSatCode === 20\r\n || props.promo?.flrSatCode === 21\r\n || props.promo?.flrSatCode === 50\r\n || props.promo?.flrSatCode === 51\r\n || props.promo?.flrSatCode === 1\r\n || props.promo?.flrSatCode === 30\r\n || props.promo?.flrSatCode === 41\r\n || props.promo?.flrSatCode === 50\r\n || props.promo?.flrSatCode === 80\r\n )\r\n )\r\n ) {\r\n toggleShowCaptionForPromotion(true);\r\n } else {\r\n toggleShowCaptionForPromotion(false);\r\n }\r\n\r\n }\r\n }, [props.promo])\r\n\r\n useEffect(() => {\r\n setQualificationLevel(props.promo?.qualificationLevel);\r\n }, [props.promo?.qualificationLevel]);\r\n\r\n useEffect(() => {\r\n setItemQualificationStatus(props.item?.qualificationLevel);\r\n }, [props.item?.qualificationLevel]);\r\n\r\n useEffect(() => {\r\n setSelect(props.isSelected);\r\n }, [props.isSelected])\r\n\r\n useEffect(() => {\r\n setFrames(flyerDetailsState.flyerPages[selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1]?.flyerPageSpots!);\r\n }, [flyerDetailsState, selectedPageState])\r\n\r\n const onClickFrame = (e: any) => {\r\n // e.preventDefault();\r\n // hideMenu();\r\n document?.getSelection()!.removeAllRanges();\r\n if (!e.target.className.toString().includes('optionForPreventEvent')) {\r\n if (props.tabName !== \"Promotions\") {\r\n props.onChangeSelectedItems!(props.item!, e);\r\n\r\n // if (isSelect && e.target.classList.value !== 'MuiButton-label') {\r\n // props.onChangeSelectedItems!(props.item!, e);\r\n // } else if (!isSelect && e.target.classList.value !== 'MuiButton-label') {\r\n // props.onChangeSelectedItems!(props.item!, e);\r\n // } else if (!isSelect && e.target.classList.value === 'MuiButton-label') {\r\n // props.onChangeSelectedItems!(props.item!, e);\r\n // }\r\n } else {\r\n props.onChangeSelectedPromos!(props.promo!, e, props.index!)\r\n }\r\n }\r\n }\r\n\r\n const changeQualificationForPromo = () => {\r\n if (props.promo) {\r\n if (qualificationLevel !== 0) {\r\n dispatch(changeQualificationStatusForPromos([props.promo.flrRecId!], flyerDetailsState?.flyLacRec?.lacCode!, qualificationLevel === 1 ? 2 : 1, flyerDetailsState, true, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo))\r\n setQualificationLevel(qualificationLevel === 1 ? 2 : 1);\r\n }\r\n }\r\n }\r\n\r\n const changeQualificationStatus = () => {\r\n if (itemQualification !== 0) {\r\n dispatch(changeQualificationStatusForItems([props.item!.fpiRecId!], flyerDetailsState?.flyLacRec?.lacCode!, itemQualification === 1 ? 2 : 1, flyerDetailsState, true, selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo, false))\r\n setItemQualificationStatus(itemQualification === 1 ? 2 : 1);\r\n }\r\n }\r\n\r\n\r\n const onDelete = (isDeleteWithItem?: boolean) => {\r\n if (props.tabName === \"Promotions\") {\r\n // const newPromotionsState = promotionsItemsState.unlinkPromos.filter((promo:PromoDto) => promo.flrRecId !== props.promo?.flrRecId);\r\n // removeAllUnlinkedPromos\r\n // const ids = flyerDetailsState.flyerPromos!.map((key: PromoDto) => key.flrRecId!);\r\n // dispatch(deletePromosFromFlyer(ids, isDeleteWithItem, flyerDetailsState.flyRecId!));\r\n //\r\n dispatch(deletePromosFromFlyer([props.promo!.flrRecId!], isDeleteWithItem!, flyerDetailsState.flyRecId!));\r\n changeModalStatus(false);\r\n } else {\r\n // props.onChangeSelectedItems!(props.item!)\r\n const targetItemsIds = [...props.targetItems!].map((item: PromoItemsDto) => item.fpiRecId!);\r\n\r\n dispatch(deleteItemsFromFlyer(targetItemsIds, flyerDetailsState.flyRecId!))\r\n // const newItemsState = promotionsItemsState.unlinkItems.filter((item:PromoItemsDto) => item.fpiRecId !== props.item?.fpiRecId);\r\n // dispatch(deleteItemsFromUnlinkedPromotionsItemsMenu(newItemsState));\r\n }\r\n }\r\n\r\n const onLinkToFirstEmptyFrame = () => {\r\n const firstEmptyFrames = frames.find((frame: FlyerPageSpotDto) => frame.flyerPromos?.length === 0);\r\n if (firstEmptyFrames) {\r\n dispatch(attachPromoToFrame(props.promo!.flrRecId!, firstEmptyFrames!.fpsRecId!, false, flyerDetailsState.flyLacRec.lacCode, true));\r\n }\r\n }\r\n\r\n const handleToggle = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n setStatusForPromotionOrItemMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n\r\n const onMouseEnterPromo = () => {\r\n changeStatusForUnlinkPromoAndItem(true);\r\n }\r\n\r\n const onMouseLeavePromo = () => {\r\n changeStatusForUnlinkPromoAndItem(false);\r\n setStatusForPromotionOrItemMenu(false);\r\n }\r\n\r\n const showHideItems = () => {\r\n setStatusForShowItem(!isShowItems);\r\n }\r\n\r\n\r\n const onAddNew = () => {\r\n setStatusForNewOrNotForItem(true);\r\n setOpenItemModal(true);\r\n }\r\n const onEdit = () => {\r\n setStatusForNewOrNotForItem(false);\r\n setOpenItemModal(true);\r\n }\r\n const onEditItemFromPromotion = (promoItem: PromoItemsDto) => {\r\n setStatusForNewOrNotForItem(false);\r\n setImageSrc(promoItem.fpiImage ? promoItem.fpiImage : '');\r\n setSelectedItem(promoItem);\r\n setStatusForNewOrNotForItem(false);\r\n setOpenItemModal(true);\r\n }\r\n\r\n const createNewPromotion = () => {\r\n setStatusForNewOrNotForPromotion(true);\r\n openPromotionModalPopup(true);\r\n }\r\n\r\n const editPromotion = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setStatusForNewOrNotForPromotion(false);\r\n openPromotionModalPopup(true);\r\n }\r\n\r\n const unlinkAllItemFromPromoSelectedPromo = () => {\r\n console.log(props.promo);\r\n if (props.promo?.flyerPromoItems) {\r\n const promoItemsIds: number[] = props.promo?.flyerPromoItems?.map((item: PromoItemsDto) => item.fpiRecId!);\r\n dispatch(attachItemsToFlyer(flyerDetailsState.flyRecId, promoItemsIds, false, props.promo))\r\n }\r\n }\r\n\r\n\r\n const clickMenuData: ItemsListMenuDto = {\r\n setOpen: setStatusForPromotionOrItemMenu,\r\n prevOpen: prevOpenPromotionMenu,\r\n open: isOpenPromotionOrItemMenu,\r\n anchorRef: anchorRef,\r\n menuList: MENU_LIST_PROMOTIONS_ITEMS\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: props.tabName === 'Promotions' ? 'deletePromosFromFlyer' : 'deleteItemsFromFlyer',\r\n confirmOnClick: {\r\n deletePromosItemsFromFlyer: onDelete\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n let department: string;\r\n\r\n if (props.promo && props.promo.flyerPromoItems && props.promo.flyerPromoItems.length && props.promo.flyerPromoItems[0].fpiDeptName) {\r\n department = props.promo.flyerPromoItems[0].fpiDeptName;\r\n } else {\r\n department = '';\r\n }\r\n\r\n\r\n if (props.tabName === \"Promotions\") {\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n {({innerRef, draggableProps, dragHandleProps}, snapshot) => (\r\n <>\r\n\r\n \r\n \r\n \r\n
    \r\n {\r\n department !== '' &&\r\n
    \r\n
    \r\n
    \r\n {/*{'Department'}*/}\r\n {department}\r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {\r\n isShowCaptionForPromotion &&\r\n
    \r\n {caption}\r\n
    \r\n }\r\n \r\n \r\n \r\n {\r\n props.promo!.flrCaption\r\n }\r\n \r\n\r\n
    \r\n {/**/}\r\n {/* */}\r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Code: {props.promo?.flrCode}\r\n
    \r\n {promotionsItemsState.isQualified &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n {\r\n props.promo?.flyerPromoItems?.length! > 0 &&\r\n
    \r\n \r\n \r\n
    \r\n \r\n }\r\n \r\n \r\n\r\n {isHoverOnUnlinkPromoAndItem &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n !isDisableDraggable &&\r\n \r\n \r\n \r\n }\r\n \r\n\r\n }\r\n \r\n \r\n\r\n \r\n {\r\n props.promo?.flyerPromoItems?.length! > 0 && isShowItems &&\r\n
    \r\n
      \r\n {props.promo?.flyerPromoItems?.map((item: PromoItemsDto) => {\r\n // let currentItem = promotionsItemsState.pages[selectedPageState.pageNo !== 0 ? selectedPageState.pageNo - 1 : selectedPageState.pageNo].items.filter((promoItem: PromoItemsDto) => {\r\n // return promoItem.fpiRecId === item.fpiRecId;\r\n // });\r\n // const currentItem = promotionsItemsState.items.filter((promoItem: PromoItemsDto) => {\r\n // return promoItem.fpiRecId === item.fpiRecId;\r\n // });\r\n\r\n return \r\n })}\r\n
    \r\n
    \r\n }\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {isModalPopup && changeModalStatus(false)}\r\n />\r\n }\r\n\r\n {\r\n isOpenPromotionModalPopup &&\r\n \r\n }\r\n {isOpenItemModal &&\r\n }\r\n \r\n )\r\n } else {\r\n return (\r\n
    \r\n \r\n {({innerRef, draggableProps, dragHandleProps}, snapshot) => {\r\n const shouldShowSelection: boolean = snapshot.isDragging && props.targetItems!.length > 1;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {promotionsItemsState.isQualified &&\r\n \r\n }\r\n
    \r\n\r\n {props.item?.fpiDeptName ?\r\n \r\n {props.item?.fpiDeptName}\r\n
    :\r\n
    \r\n {props.item?.fpiDeptName}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n )}/>\r\n
    \r\n
    \r\n
    \r\n {props.item?.fpiCaption}\r\n
    \r\n {/*
    */}\r\n
    \r\n {flyerDetailsState.flyLacRec.lacCurrencySymbol} {props.item?.fpiRegularPrice ? props.item?.fpiRegularPrice?.toFixed(2) : '0.00'}\r\n
    \r\n
    \r\n {props.item?.fpiSku}\r\n
    \r\n {/*
    */}\r\n
    \r\n {isHoverOnUnlinkPromoAndItem &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n\r\n }\r\n\r\n {shouldShowSelection ? (\r\n
    {props.targetItems?.length}
    \r\n ) : null}\r\n\r\n
    \r\n \r\n \r\n )\r\n }}\r\n \r\n {\r\n isModalPopup && changeModalStatus(false)}\r\n targetItemsLength={props.targetItems?.length}\r\n />\r\n }\r\n {isOpenItemModal &&\r\n }\r\n \r\n )\r\n }\r\n});","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOpenCloseRightMenuIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 9,\n viewBox: \"0 0 16 9\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.55419 8.0368L8.5542 8.03678L15.0189 2.03665L15.0189 2.03668L15.022 2.03367C15.334 1.73381 15.3242 1.24868 15.0024 0.960249C14.6987 0.687979 14.2239 0.687962 13.9202 0.960266L13.9201 0.960238L13.917 0.96317L8.00326 6.45195L2.08956 0.963171L2.08954 0.963159C1.78328 0.678949 1.29394 0.67895 0.987684 0.963159L0.987643 0.963197C0.670794 1.25737 0.670773 1.74248 0.987658 2.03664L0.987671 2.03665L7.45232 8.03678L7.45235 8.03681C7.75863 8.321 8.24793 8.32101 8.55419 8.0368Z\",\n fill: \"white\",\n stroke: \"white\",\n strokeWidth: 0.5\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenCloseRightMenuIcon);\nexport default __webpack_public_path__ + \"static/media/openCloseRightMenuIcon.bc62fe3b.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useState} from \"react\";\r\nimport styles from \"./unlinkTablesForPromosItemsScreen.module.scss\"\r\nimport {Droppable} from \"react-beautiful-dnd\";\r\nimport {useTypedSelector} from \"../../../../../../hooks/useTypeSelector\";\r\nimport {PromoDto, PromoItemsDto} from \"../../../../../../dtos\";\r\nimport {UnlinkPromoOrItem} from \"./unlinkedPromoOrItem/unlinkedPromoOrItem\";\r\nimport {\r\n addItemsForUnlinkedPromotionsItemsMenu,\r\n changeActiveUnlinkTab, toggleUnlinkPromotionsItemsPanel\r\n} from \"../../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {getFlippingFlyer} from \"../../../../../../store\";\r\n\r\ninterface Props {\r\n onChangeSelectedPromos: (promo: PromoDto, event: React.MouseEvent, index: number) => void;\r\n onChangeSelectedItems: (item: PromoItemsDto, e: React.MouseEvent) => void;\r\n targetItems: PromoItemsDto[];\r\n targetUnlinkedPromos: PromoDto[];\r\n}\r\n\r\n\r\nexport const UnlinkTablesForPromosItemsScreen = (props: Props) => {\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const [itemsState, setItemsState] = useState([]);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (promotionsItemsState.type === 'ATTACH_ITEMS_TO_FLYER_SUCCESS' && !promotionsItemsState.targetFrameId) {\r\n const itemsWhichShouldBeUnlinkFromTargetPromo = promotionsItemsState.targetPromo.flyerPromoItems.filter((promoItem: PromoItemsDto) => {\r\n const isIterableItemShouldBeUnlink = promotionsItemsState.itemsIds.find((id: number) => id === promoItem.fpiRecId);\r\n if (isIterableItemShouldBeUnlink) {\r\n return promoItem;\r\n }\r\n })\r\n dispatch(addItemsForUnlinkedPromotionsItemsMenu(itemsWhichShouldBeUnlinkFromTargetPromo));\r\n dispatch(toggleUnlinkPromotionsItemsPanel(true));\r\n dispatch(changeActiveUnlinkTab(\"Items\"));\r\n dispatch(getFlippingFlyer(flyerDetailsState.flyRecId));\r\n }\r\n }, [promotionsItemsState.type]);\r\n\r\n\r\n useEffect(() => {\r\n let newItemsArray = promotionsItemsState.unlinkItems.filter((item: PromoItemsDto) => {\r\n if (promotionsItemsState.searchTerm.searchTermForUnlinkedItems !== \"\") {\r\n if (item.fpiKeywords && item.fpiKeywords?.toLowerCase().indexOf(promotionsItemsState.searchTerm.searchTermForUnlinkedItems.toLowerCase()) !== -1) {\r\n return item;\r\n }\r\n } else {\r\n return item;\r\n }\r\n })\r\n\r\n setItemsState(newItemsArray);\r\n }, [promotionsItemsState.searchTerm.searchTermForUnlinkedItems, promotionsItemsState.unlinkItems]);\r\n\r\n return (\r\n <>\r\n {promotionsItemsState.activeTab === \"Promotions\" &&\r\n \r\n {({innerRef, placeholder}) => (\r\n
    \r\n {\r\n promotionsItemsState.unlinkPromos && promotionsItemsState.unlinkPromos.length > 0 && promotionsItemsState.unlinkPromos.map((key: PromoDto, index: number) => {\r\n const isSelected: boolean = props.targetUnlinkedPromos.some((promo: PromoDto) => promo.flrRecId === key.flrRecId);\r\n if (promotionsItemsState.searchTerm.searchTermForUnlinkedPromotions !== \"\") {\r\n if (key.flrKeywords && key.flrKeywords?.toLowerCase().indexOf(promotionsItemsState.searchTerm.searchTermForUnlinkedPromotions.toLowerCase()) !== -1) {\r\n return \r\n }\r\n } else {\r\n return \r\n }\r\n })\r\n }\r\n \r\n {placeholder}\r\n \r\n
    \r\n\r\n )}\r\n
    \r\n }\r\n {promotionsItemsState.activeTab === \"Items\" &&\r\n
    \r\n \r\n {({innerRef, placeholder, droppableProps}) => (\r\n \r\n {itemsState && itemsState.length > 0 && itemsState.map((key: PromoItemsDto, index: number) => {\r\n const isSelected: boolean = props.targetItems.some((item: PromoItemsDto) => item.fpiRecId === key.fpiRecId);\r\n const draggingRecId: number = promotionsItemsState.draggingItemRecId;\r\n const isHide: boolean = isSelected &&\r\n Boolean(draggingRecId) &&\r\n draggingRecId !== key.fpiRecId;\r\n if (index % 2 === 0 || index === 0) {\r\n console.log(index);\r\n return \r\n }\r\n })}\r\n \r\n {placeholder}\r\n \r\n
    \r\n\r\n )}\r\n \r\n \r\n {({innerRef, placeholder, droppableProps}) => (\r\n \r\n {itemsState && itemsState.length > 0 && itemsState.map((key: PromoItemsDto, index: number) => {\r\n const isSelected: boolean = props.targetItems.some((item: PromoItemsDto) => item.fpiRecId === key.fpiRecId);\r\n const draggingRecId: number = promotionsItemsState.draggingItemRecId;\r\n const isHide: boolean = isSelected &&\r\n Boolean(draggingRecId) &&\r\n draggingRecId !== key.fpiRecId;\r\n if (index % 2 !== 0 && index !== 0) {\r\n console.log(index);\r\n return \r\n }\r\n })}\r\n\r\n \r\n {placeholder}\r\n \r\n\r\n \r\n\r\n )}\r\n \r\n \r\n }\r\n \r\n )\r\n}","import React, {ChangeEvent, useEffect, useState} from \"react\";\r\nimport styles from './rightMenu.module.scss';\r\nimport {HorizontalTabs} from \"../../../../../com/horizontalTabs/horizontalTabs\";\r\nimport {TABS_LIST_PROMOTIONS_ITEMS_UNLINK} from \"../../../../../globals/Contants\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\nimport {SearchBar} from \"../../../../../com/searchBar/searchBar\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {\r\n changeSearchTermForUnlinkedPromotionsItems,\r\n deleteItemsFromFlyer, deletePromosFromFlyer\r\n} from \"../../../../../store/actionCreators/promotionsItemsCreators\";\r\nimport {UnlinkTablesForPromosItemsScreen} from \"./unlinkTablesForPromosItemsScreen/unlinkTablesForPromosItemsScreen\";\r\nimport {PromoDto, PromoItemsDto} from \"../../../../../dtos\";\r\nimport {Box, Button, Checkbox, Typography} from \"@mui/material\";\r\nimport {ReactComponent as TrashIcon} from \"../../../../../assets/promos&items/delete_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../../pages/getSetttingsForPopup\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n unlinkSelectedPromosBtn: {\r\n '&.Mui-disabled': {\r\n opacity: `0.5`\r\n }\r\n }\r\n}))\r\n\r\ninterface Props {\r\n onChangeSelectedPromos: (promo: PromoDto, event: React.MouseEvent, index: number) => void;\r\n onChangeSelectedItems: (item: PromoItemsDto, e: React.MouseEvent, isAllSelected?: boolean) => void;\r\n targetItems: PromoItemsDto[];\r\n setTargetItems: (promoItems: PromoItemsDto[]) => void;\r\n targetUnlinkedPromos: PromoDto[];\r\n setTargetUnlinkedPromos: (promos: PromoDto[]) => void;\r\n}\r\n\r\nexport const FlyerPromoItemsRightMenu = (props: Props) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const [searchValue, changeValue] = useState('');\r\n const [isModalPopup, changeModalStatus] = useState(false);\r\n useEffect(() => {\r\n return () => {\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n searchTermForUnlinkedItems: '',\r\n searchTermForUnlinkedPromotions: ''\r\n }))\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (promotionsItemsState.activeTab === \"Promotions\") {\r\n changeValue(promotionsItemsState.searchTerm.searchTermForUnlinkedPromotions)\r\n } else {\r\n changeValue(promotionsItemsState.searchTerm.searchTermForUnlinkedItems)\r\n }\r\n }, [promotionsItemsState.searchTerm, promotionsItemsState.activeTab]);\r\n\r\n const onSearchEnteredTerm = (event: any) => {\r\n event.preventDefault();\r\n if (promotionsItemsState.activeTab === \"Promotions\") {\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n ...promotionsItemsState.searchTerm,\r\n searchTermForUnlinkedPromotions: searchValue\r\n }))\r\n } else {\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n ...promotionsItemsState.searchTerm,\r\n searchTermForUnlinkedItems: searchValue\r\n }))\r\n }\r\n }\r\n\r\n const onChangeSearchValue = (e: ChangeEvent) => {\r\n const value = e.target.value;\r\n changeValue(value);\r\n }\r\n const clearSearch = () => {\r\n if (promotionsItemsState.activeTab === \"Promotions\") {\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n ...promotionsItemsState.searchTerm,\r\n searchTermForUnlinkedPromotions: ''\r\n }))\r\n } else {\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n ...promotionsItemsState.searchTerm,\r\n searchTermForUnlinkedItems: ''\r\n }))\r\n }\r\n }\r\n\r\n const selectAllUnlinked = (e: React.ChangeEvent) => {\r\n if (promotionsItemsState.activeTab === \"Promotions\") {\r\n // toggleSelectAllUnlinkedPromos(!isSelectAllUnlinkedPromos);\r\n const isSelected = e.target.checked;\r\n if (isSelected) {\r\n props.setTargetUnlinkedPromos([...promotionsItemsState.unlinkPromos])\r\n } else {\r\n props.setTargetUnlinkedPromos([])\r\n }\r\n } else {\r\n const isSelected = e.target.checked;\r\n if (isSelected) {\r\n props.setTargetItems([...promotionsItemsState.unlinkItems])\r\n } else {\r\n props.setTargetItems([])\r\n }\r\n }\r\n }\r\n const deleteSelectedPromosOrItems = () => {\r\n if (promotionsItemsState.activeTab === \"Promotions\") {\r\n changeModalStatus(true);\r\n } else {\r\n const targetItemsIds = [...props.targetItems!].map((item: PromoItemsDto) => item.fpiRecId!);\r\n dispatch(deleteItemsFromFlyer(targetItemsIds, flyerDetailsState.flyRecId!))\r\n }\r\n }\r\n\r\n const onDeleteSelectedPromotions = (isDeleteWithItem?: boolean) => {\r\n const selectedPromosIds = props.targetUnlinkedPromos.map((promo: PromoDto): number => promo.flrRecId!)\r\n dispatch(deletePromosFromFlyer(selectedPromosIds, isDeleteWithItem!, flyerDetailsState.flyRecId!));\r\n changeModalStatus(false);\r\n }\r\n\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: promotionsItemsState.activeTab === 'Promotions' ? 'deletePromosFromFlyer' : 'deleteItemsFromFlyer',\r\n confirmOnClick: {\r\n deletePromosItemsFromFlyer: onDeleteSelectedPromotions\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n searchValue={searchValue}/>\r\n \r\n \r\n 0 && (props.targetUnlinkedPromos.length === promotionsItemsState.unlinkPromos.length) :\r\n props.targetItems.length > 0 && (props.targetItems.length === promotionsItemsState.unlinkItems.length)\r\n }\r\n onChange={selectAllUnlinked}\r\n // checkedIcon={}\r\n inputProps={{'aria-label': 'controlled'}}\r\n sx={{\r\n padding: `0`,\r\n marginRight: `5px`\r\n }}\r\n />\r\n \r\n Select all\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isModalPopup && changeModalStatus(false)}\r\n />\r\n }\r\n
    \r\n )\r\n}","var _circle, _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBigWarningWithCircleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60,\n height: 61,\n viewBox: \"0 0 60 61\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.2,\n cx: 30,\n cy: 30.7939,\n r: 30,\n fill: \"#FFD335\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.8668 37.3062C28.9249 37.3062 28.2288 37.5518 27.7371 38.0024C27.2457 38.4529 27 39.1491 27 40.0502C27 40.9104 27.2457 41.6066 27.7371 42.0571C28.2284 42.5485 28.9246 42.7941 29.8257 42.7941C30.7268 42.7941 31.3821 42.5484 31.8735 42.0571C32.3649 41.5657 32.6106 40.9103 32.6106 40.0502C32.6106 39.1899 32.3649 38.4938 31.8735 38.0024C31.4641 37.5518 30.7679 37.3062 29.8668 37.3062Z\",\n fill: \"#FFB801\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.9421 34.521H31.874L32.6931 18.7939H27.123L27.9421 34.521Z\",\n fill: \"#FFB801\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigWarningWithCircleIcon);\nexport default __webpack_public_path__ + \"static/media/big_warning_with_circle_icon.c9fea010.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport styles from './unlinkHeader.module.scss';\r\nimport {ReactComponent as Icon} from \"../../../../../assets/promos&items/openCloseRightMenuIcon.svg\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {toggleUnlinkPromotionsItemsPanel} from \"../../../../../store/actionCreators/promotionsItemsCreators\";\r\n\r\ninterface Props {\r\n isOpen: boolean;\r\n}\r\n\r\nexport const UnlinkHeader = (props: Props) => {\r\n const dispatch = useDispatch();\r\n const setOpenMenu = () => {\r\n dispatch(toggleUnlinkPromotionsItemsPanel(!props.isOpen));\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n UNLINKED\r\n
    \r\n
    \r\n )\r\n}","import {ITopBarRef, TopBar} from '../../../com/flyerPages/topBar/TopBar';\r\nimport {FlyerPages} from './flyerPages/FlyerPages';\r\nimport styles from './FlyerEditorContent.module.scss';\r\n\r\nimport './FlyerEditorContent.scss'\r\nimport {FlyerDto, PromoDto, PromoItemsDto, SelectPageForTabsDto} from '../../../../dtos'\r\nimport React, {useEffect, useRef, useState} from 'react'\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {QualityCheck} from \"../../../../com/qualityCheck/qualityCheck\";\r\nimport {FlyerPromoItemsRightMenu} from \"./unlinkMenuForPromosItemsScreen/rightMenu\";\r\nimport {UnlinkHeader} from \"./unlinkHeader/unlinkHeader\";\r\nimport ZoomInOut from \"../../spots/rightContent/flyerPages/controls/zoomInOut\";\r\nimport {Box} from \"@mui/material\";\r\n\r\ninterface IFlyerEditorContent {\r\n data?: FlyerDto,\r\n onChangeSelectedPromos: (promo: PromoDto, event: React.MouseEvent, index: number) => void;\r\n onChangeSelectedItems: (item: PromoItemsDto, e: React.MouseEvent, isAllSelected?: boolean) => void;\r\n targetItems: PromoItemsDto[];\r\n isDragStart: boolean;\r\n setTargetItems: (items: PromoItemsDto[]) => void;\r\n targetUnlinkedPromos: PromoDto[];\r\n setTargetUnlinkedPromos: (promos: PromoDto[]) => void;\r\n}\r\n\r\nexport const FlyerEditorContent: React.FC = (props) => {\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const topBarReference = useRef(null);\r\n\r\n const [pageIndex, setPageIndex] = useState(1);\r\n\r\n const onPageIndexChanges = (index: number) => {\r\n setPageIndex(index)\r\n }\r\n\r\n useEffect(() => {\r\n setPageIndex(selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1);\r\n }, [selectedPageState.pageNo])\r\n\r\n return (\r\n
    \r\n \r\n )}\r\n rightChildren={(\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n
    \r\n topBarReference.current!.showBack()}\r\n onNextArrowClick={() => topBarReference.current!.showNext()}\r\n total={props.data?.flyerPages?.length!}\r\n />\r\n {promotionsItemsState.isOpenUnlinkMenu &&\r\n \r\n }\r\n
    \r\n\r\n
    \r\n )\r\n}","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArchiveIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 20,\n viewBox: \"0 0 28 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9443 0H1.05566C0.610723 0 0.25 0.343093 0.25 0.766289V5.38318C0.25 5.80638 0.610723 6.14947 1.05566 6.14947H1.86804V19.2339C1.86804 19.657 2.22876 20.0001 2.67371 20.0001H25.3263C25.7712 20.0001 26.132 19.657 26.132 19.2339V6.14947H26.9443C27.3893 6.14947 27.75 5.80638 27.75 5.38318V0.766289C27.75 0.343093 27.3893 0 26.9443 0ZM24.5206 18.4676H3.47937V6.14947H24.5206V18.4676ZM26.1387 4.61689H1.86133V1.53258H26.1387V4.61689Z\",\n fill: \"#616161\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.4988 13.75H15.5012C16.7412 13.75 17.75 12.6285 17.75 11.25C17.75 9.8715 16.7412 8.75 15.5012 8.75H12.4988C11.2588 8.75 10.25 9.8715 10.25 11.25C10.25 12.6285 11.2588 13.75 12.4988 13.75ZM12.4988 10.4121H15.5012C15.9169 10.4121 16.255 10.788 16.255 11.25C16.255 11.7121 15.9169 12.088 15.5012 12.088H12.4988C12.0831 12.088 11.745 11.7121 11.745 11.25C11.745 10.788 12.0831 10.4121 12.4988 10.4121Z\",\n fill: \"#616161\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArchiveIcon);\nexport default __webpack_public_path__ + \"static/media/archive_icon.de483a5c.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useState} from 'react';\r\nimport {Box, Button, FormControlLabel, Modal, Radio, RadioGroup, Typography} from \"@mui/material\";\r\nimport {PopupHeader} from \"../../com/popupHeader/popupHeader\";\r\nimport {ReactComponent as WarningIconWithCircle} from \"../../../assets/big_warning_with_circle_icon.svg\";\r\nimport {savePagePromosAndItemsData} from \"../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {useDispatch} from \"react-redux\";\r\n\r\ninterface Props {\r\n flyerId: number;\r\n file: File | null;\r\n lang: string | undefined;\r\n isOpen: boolean;\r\n onClose: VoidFunction;\r\n}\r\n\r\nexport const UploadPromosItemsExcelOptionsPopup: React.FC = ({\r\n isOpen,\r\n flyerId = 0,\r\n file = null,\r\n lang= \"\",\r\n onClose\r\n }) => {\r\n const dispatch = useDispatch();\r\n const [value, setValue] = useState(\"1\");\r\n\r\n useEffect(() => {\r\n return () => {\r\n setValue(\"1\");\r\n };\r\n }, []);\r\n\r\n\r\n const handleChange = (event: React.ChangeEvent) => {\r\n const value = event.target.value;\r\n setValue(value);\r\n }\r\n\r\n const handleImport = () => {\r\n if(file){\r\n dispatch(savePagePromosAndItemsData(flyerId, file, lang, value));\r\n onClose();\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Note\r\n \r\n \r\n \r\n In case of duplicate items with identical Item Codes in the import file what would do you like to do:\r\n \r\n \r\n } label=\"Keep the first item and ignore the subsequent same coded item(s)\" />\r\n } label=\"Last item to overwrite previous same coded item(s)\" />\r\n } label=\"Do not upload any duplicate items. List them, I will fix them and reupload\" />\r\n \r\n \r\n \r\n \r\n \r\n Import\r\n \r\n \r\n .MuiTypography-root\": {\r\n color: \"#FFFFFF\"\r\n }\r\n },\r\n '&:disabled': {\r\n opacity: `0.5`\r\n }\r\n }}\r\n >\r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n )\r\n}","import {useDispatch} from 'react-redux';\r\nimport {useTypedSelector} from '../../../hooks/useTypeSelector';\r\nimport {FlyerEditorLeftMenu} from './leftMenu/FlyerEditorLeftMenu'\r\nimport {FlyerEditorContent} from './rightContent/FlyerEditorContent'\r\nimport './FlyerPromosEditor.scss'\r\nimport {\r\n getEmptyFileForPromosAndItemsData, getExcelFileWithCurrentDataForPromosAndItemsData,\r\n getFlippingFlyer, saveImagesDataForItems, saveImagesDataForPromotions, saveImagesDataForPromotionsItems,\r\n savePagePromosAndItemsData,\r\n} from '../../../store/actionCreators/flippingFlyerActionCreators';\r\nimport React, {useEffect, useState} from \"react\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {setSelectedPageForTabs} from \"../../../store/actionCreators/pagesActionCreators\";\r\nimport {\r\n addEventDataTypeListener, dispatchEventDataType,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER, EVENT_DATA_TYPE_UPLOAD_FILE_TYPE,\r\n removeEventTypeListener\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {CustomDataEvent} from \"../../../globals/CustomDataEvent\";\r\nimport {clearFlyersData} from \"../../../store/actionCreators/flyersActionCreators\";\r\nimport styles from './FlyerPromosEditor.module.scss'\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {FlyerPageSpotDto, PopupSettings, PromoDto, PromoItemsDto, SelectPageForTabsDto, UserDto} from \"../../../dtos\";\r\nimport {DragDropContext, DragStart} from \"react-beautiful-dnd\";\r\nimport {\r\n addItemsForUnlinkedPromotionsItemsMenu, addItemsToPromosItemsState,\r\n addPromosForUnlinkedPromotionsMenu, attachItemsToFlyer, attachItemsToPromo,\r\n attachPromoToFlyer, attachPromoToFrame, changeActiveUnlinkTab, changeDraggingItemRecId,\r\n changeSearchTermForUnlinkedPromotionsItems,\r\n deleteItemsFromUnlinkedPromotionsItemsMenu,\r\n deletePromosFromUnlinkedPromotionsMenu, removeItemsFromPromosAndAddToFlyerState, toggleUnlinkPromotionsItemsPanel\r\n} from \"../../../store/actionCreators/promotionsItemsCreators\";\r\nimport _ from 'lodash';\r\nimport StatusPopup, {StatusPopupType} from \"../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../pages/getSetttingsForPopup\";\r\nimport {\r\n UploadPromosItemsExcelOptionsPopup\r\n} from \"../uploadPromosItemsExcelOptionsPopup/uploadPromosItemsExcelOptionsPopup\";\r\n\r\nexport const FlyerPromosEditor = () => {\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flayerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const framesState = useTypedSelector((state) => state.spots);\r\n const promotionsItemsState = useTypedSelector((state) => state.promotionsAndItems);\r\n const dispatch = useDispatch();\r\n const [isLoading, setLoading] = useState(false);\r\n const [isModalPopup, setModalPopup] = useState(false);\r\n const [popupSettings, setPopupSettings] = useState({})\r\n const [isOpenPagesTab, openPagesTab] = useState(false);\r\n const [selectedItemInMenu, setSelectedItemInMenu] = useState<{ files?: any[], code?: string }>({});\r\n let [frames, setFrames] = useState([]);\r\n const [targetPromos, setTargetPromos] = useState([]);\r\n const [targetUnlinkedPromos, setTargetUnlinkedPromos] = useState([]);\r\n const [targetItems, setTargetItems] = useState([]);\r\n const [isDragStart, setDragStatus] = useState(false);\r\n const [isOpenPopupForUploadPromosItemsExcel, setOpenPopupForUploadPromosItemsExcel] = useState(false);\r\n const [sourceIdAndDestinationIds, setSourceIdAndDestinationIds] = useState<{\r\n sourceId: string,\r\n destinationId: string,\r\n sourceIndex: string\r\n destinationIndex: string\r\n }>({sourceId: '', destinationId: '', sourceIndex: '', destinationIndex: ''});\r\n useEffect(() => {\r\n let sortedArray = frames.sort(compare);\r\n setFrames(sortedArray);\r\n }, [frames])\r\n\r\n useEffect(() => {\r\n if(framesState.warnings && framesState.warnings.length){\r\n let modalName: string = 'qualificationForFrameWithWarning';\r\n\r\n setPopupSettings({\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: framesState.warnings,\r\n modalName: modalName,\r\n }\r\n )\r\n setModalPopup(true);\r\n }\r\n }, [framesState.warnings]);\r\n\r\n\r\n useEffect(() => {\r\n setFrames(flayerDetailsState.flyerPages[selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1]?.flyerPageSpots!);\r\n }, [selectedPageState, flayerDetailsState]);\r\n\r\n\r\n useEffect(() => {\r\n dispatch(addPromosForUnlinkedPromotionsMenu(flayerDetailsState.flyerPromos?.length ? flayerDetailsState.flyerPromos : [], true));\r\n dispatch(addItemsForUnlinkedPromotionsItemsMenu(flayerDetailsState.flyerPromoItems?.length ? flayerDetailsState.flyerPromoItems : [], true));\r\n }, [flayerDetailsState])\r\n\r\n useEffect(() => {\r\n if (flayerDetailsState.flyLacRec?.lacCode) {\r\n document.documentElement.style\r\n .setProperty('--promotions-items-theme-font', flayerDetailsState.flyLacRec?.lacCode === \"he-IL\" ? 'arial' : 'roboto');\r\n\r\n // document.getElementsByTagName('body')[0].classList.add(flyersBranch.data?.font.toLowerCase());\r\n }\r\n }, [flayerDetailsState.flyLacRec?.lacCode])\r\n\r\n useEffect(() => {\r\n setLoading(flippingFlyerState.loading);\r\n }, [flippingFlyerState.loading])\r\n\r\n useEffect(() => {\r\n if (flyersState.type === ActionType.CHANGE_FLYERS_STATE) {\r\n if (isOpenPagesTab) {\r\n try {\r\n const data = {\r\n pageNo: 0,\r\n selectedTabNum: 1\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n }\r\n }, [flyersState]);\r\n\r\n useEffect(() => {\r\n addEventDataTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER, (data: CustomDataEvent) => {\r\n openPagesTab(data.data);\r\n })\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_UPLOAD_FILE_TYPE, (data: CustomDataEvent) => {\r\n setSelectedItemInMenu({\r\n files: data.data.files,\r\n code: data.data.code\r\n });\r\n })\r\n console.log('addPromosForUnlinkedPromotionsMenu');\r\n\r\n return () => {\r\n let userDtoStr = localStorage.getItem(\"userDto\");\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n // dispatch(clearDataForUnlinkedPromotionsItemsMenu());\r\n if (flayerDetailsState.flyRecId !== 0 && userDto) {\r\n dispatch(getFlippingFlyer(flayerDetailsState.flyRecId))\r\n dispatch(clearFlyersData());\r\n dispatch(changeSearchTermForUnlinkedPromotionsItems({\r\n searchTermForUnlinkedItems: '',\r\n searchTermForUnlinkedPromotions: ''\r\n }))\r\n removeEventTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER);\r\n removeEventTypeListener(EVENT_DATA_TYPE_UPLOAD_FILE_TYPE);\r\n }\r\n }\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n let flyerDto = flayerDetailsState!;\r\n switch (selectedItemInMenu.code) {\r\n // case 'UploadPromosFile':\r\n // dispatch(savePagePromosData(flyerDto.flyRecId!, selectedItemInMenu.file, flyerDto.flyLacRec!.lacCode!));\r\n // break;\r\n // case 'UploadItemsFile':\r\n // dispatch(savePagePromoItemsData(flyerDto.flyRecId!, selectedItemInMenu.file, flyerDto.flyLacRec!.lacCode!));\r\n // break;\r\n case 'UploadPromosAndItemsFile':\r\n setOpenPopupForUploadPromosItemsExcel(true);\r\n break;\r\n case 'UploadItemsImagesFiles':\r\n dispatch(saveImagesDataForPromotionsItems(flyerDto.flyRecId!, selectedItemInMenu.files ? selectedItemInMenu.files[0] : {}, flyerDto.flyLacRec!.lacCode!))\r\n break;\r\n case 'UploadPromoImages':\r\n dispatch(saveImagesDataForPromotions(flyerDto.flyRecId!, selectedItemInMenu.files ? selectedItemInMenu.files : [], flyerDto.flyLacRec!.lacCode!))\r\n break;\r\n case 'UploadItemImages':\r\n dispatch(saveImagesDataForItems(flyerDto.flyRecId!, selectedItemInMenu.files ? selectedItemInMenu.files : [], flyerDto.flyLacRec!.lacCode!))\r\n break;\r\n case 'DownloadEmptyExcelFile':\r\n dispatch(getEmptyFileForPromosAndItemsData(flyerDto.flyLacRec!.lacCode!));\r\n break;\r\n case 'ExportPromosItemsToExcel':\r\n dispatch(getExcelFileWithCurrentDataForPromosAndItemsData(flyerDto.flyRecId!, flyerDto.flyCaption!));\r\n break;\r\n }\r\n\r\n }, [selectedItemInMenu]);\r\n\r\n useEffect(() => {\r\n try {\r\n if (promotionsItemsState.type.indexOf('POST_IMAGE_TO_ITEM') === -1 &&\r\n promotionsItemsState.type.indexOf('DELETE_IMAGE_FROM_ITEM') === -1 &&\r\n promotionsItemsState.type.indexOf('UPDATE_PROMOTION') === -1 &&\r\n promotionsItemsState.type.indexOf('CREATE_PROMOTION') === -1\r\n ) {\r\n setLoading(promotionsItemsState.isLoading);\r\n // if(\r\n // promotionsItemsState.type === 'ATTACH_PROMO_TO_FLYER_DND_SUCCESS' ||\r\n // promotionsItemsState.type === 'ATTACH_PROMO_TO_FRAME_DND_SUCCESS' ||\r\n // promotionsItemsState.type === 'ATTACH_PROMO_TO_FLYER_SUCCESS' ||\r\n // promotionsItemsState.type === 'ATTACH_PROMO_TO_FRAME_SUCCESS' ||\r\n // promotionsItemsState.type === 'DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS' ||\r\n // promotionsItemsState.type === 'DELETE_PROMO_FROM_FLYER_SUCCESS' ||\r\n // promotionsItemsState.type === 'DELETE_ITEMS_FROM_FLYER_SUCCESS' ||\r\n // promotionsItemsState.type === 'ATTACH_ITEMS_TO_FLYER_SUCCESS' ||\r\n // promotionsItemsState.type === 'ATTACH_ITEM_TO_PROMO_SUCCESS'\r\n //\r\n // ){\r\n // dispatch(getFlippingFlyer(flayerDetailsState.flyRecId));\r\n // }\r\n if (promotionsItemsState.type === 'ATTACH_PROMO_TO_FLYER_DND_SUCCESS') {\r\n //save in redux\r\n dispatch(addPromosForUnlinkedPromotionsMenu(targetPromos));\r\n const newState = [...frames].map(frame => {\r\n if (frame.fpsRecId === Number(sourceIdAndDestinationIds.sourceId)) {\r\n if (sourceIdAndDestinationIds.destinationId === \"unlink_promotions_area\") {\r\n frame.flyerPromos = [];\r\n frame.qualificationLevel = 0;\r\n } else {\r\n frame.flyerPromos![0].flyerPromoItems = [];\r\n frame.qualificationLevel = 0;\r\n }\r\n }\r\n return frame;\r\n });\r\n //change frames state\r\n setFrames(newState);\r\n } else if (promotionsItemsState.type === 'ATTACH_PROMO_TO_FRAME_DND_SUCCESS') {\r\n if (sourceIdAndDestinationIds.sourceId === \"unlink_promotions_area\") {\r\n let newStatePromosForUnlinkMenu = promotionsItemsState.unlinkPromos.filter((unlinkPromo: PromoDto) => unlinkPromo.flrRecId !== Number(sourceIdAndDestinationIds.sourceIndex));\r\n let isSelectPromoHasLength = [...frames].some((frame: FlyerPageSpotDto) => frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId) && frame.flyerPromos?.length !== 0);\r\n if (!isSelectPromoHasLength) {\r\n dispatch(deletePromosFromUnlinkedPromotionsMenu(newStatePromosForUnlinkMenu));\r\n }\r\n\r\n let newStateFrames = [...frames].map((frame: FlyerPageSpotDto) => {\r\n if (frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId) && frame.flyerPromos?.length === 0) {\r\n const targetPromosStateForChange = [...targetPromos];\r\n frame.flyerPromos = targetPromosStateForChange.map((promo: PromoDto) => {\r\n promo.flrFpsRecId = frame.fpsRecId;\r\n frame.qualificationLevel = promo.qualificationLevel\r\n return promo;\r\n });\r\n }\r\n return frame;\r\n })\r\n setFrames(newStateFrames);\r\n } else {\r\n let sourcePromo: PromoDto[] = [...frames].find(frame => frame.fpsRecId === Number(sourceIdAndDestinationIds.sourceId))?.flyerPromos!;\r\n let destinationPromo: PromoDto[] = [...frames].find(frame => frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId))?.flyerPromos!;\r\n\r\n //prepare new state for changing\r\n //switch in old and current frames promos array\r\n const newState = [...frames].map(frame => {\r\n if (frame.fpsRecId === Number(sourceIdAndDestinationIds.sourceId)) {\r\n frame.flyerPromos = destinationPromo;\r\n } else if (frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId)) {\r\n frame.flyerPromos = sourcePromo;\r\n }\r\n return frame;\r\n });\r\n //set new frames state\r\n setFrames(newState);\r\n }\r\n } else if (promotionsItemsState.type === 'ATTACH_PROMO_TO_FLYER_SUCCESS') {\r\n dispatch(addPromosForUnlinkedPromotionsMenu(targetPromos));\r\n const newState = [...frames].map(frame => {\r\n if (frame.flyerPromos?.length) {\r\n const selectedPromo = targetPromos.find((promo: PromoDto) => promo.flrRecId === frame.flyerPromos![0].flrRecId);\r\n if (frame.flyerPromos?.length && selectedPromo) {\r\n if (frame.flyerPromos![0].flrRecId === selectedPromo.flrRecId!) {\r\n frame.flyerPromos = [];\r\n frame.qualificationLevel = 0;\r\n }\r\n }\r\n }\r\n return frame;\r\n });\r\n //change frames state\r\n setFrames(newState);\r\n dispatch(toggleUnlinkPromotionsItemsPanel(true));\r\n dispatch(changeActiveUnlinkTab(\"Promotions\"));\r\n } else if (promotionsItemsState.type && promotionsItemsState.type.indexOf('ERROR') > -1) {\r\n\r\n\r\n } else if (promotionsItemsState.type === 'ATTACH_PROMO_TO_FRAME_SUCCESS') {\r\n const firstEmptyFrames = frames.find((frame: FlyerPageSpotDto) => frame.flyerPromos?.length === 0);\r\n let newStatePromosForUnlinkMenu = promotionsItemsState.unlinkPromos.filter((unlinkPromo: PromoDto) => {\r\n const selectedRecId = promotionsItemsState.fromUnlinkMenu ? targetUnlinkedPromos[0].flrRecId : targetPromos[0].flrRecId;\r\n if (unlinkPromo.flrRecId !== selectedRecId) {\r\n return unlinkPromo;\r\n }\r\n });\r\n dispatch(deletePromosFromUnlinkedPromotionsMenu(newStatePromosForUnlinkMenu));\r\n const newState = [...frames].map(frame => {\r\n if (firstEmptyFrames) {\r\n if (frame.fpsRecId === firstEmptyFrames!.fpsRecId) {\r\n frame.flyerPromos = promotionsItemsState.fromUnlinkMenu ? targetUnlinkedPromos : targetPromos;\r\n frame.qualificationLevel = promotionsItemsState.fromUnlinkMenu ? targetUnlinkedPromos[0].qualificationLevel : targetPromos[0].qualificationLevel\r\n }\r\n }\r\n return frame;\r\n });\r\n //change frames state\r\n setFrames(newState);\r\n } else if (promotionsItemsState.type === 'DELETE_PROMO_WITH_ITEMS_FROM_FLYER_SUCCESS' || promotionsItemsState.type === 'DELETE_PROMO_FROM_FLYER_SUCCESS') {\r\n let newStateForUnlinkPromos: PromoDto[] = promotionsItemsState.unlinkPromos.filter((unlinkedPromo: PromoDto) => {\r\n let targetPromoWhichShouldBeDelete = targetUnlinkedPromos.find((promo: PromoDto) => unlinkedPromo.flrRecId === promo.flrRecId);\r\n if (!targetPromoWhichShouldBeDelete) {\r\n return unlinkedPromo;\r\n }\r\n });\r\n dispatch(deletePromosFromUnlinkedPromotionsMenu(newStateForUnlinkPromos));\r\n if (promotionsItemsState.type === 'DELETE_PROMO_FROM_FLYER_SUCCESS') {\r\n const unlinkedItemsWhichNeedToAdd: PromoItemsDto[] = [];\r\n targetUnlinkedPromos.forEach((promo: PromoDto) => {\r\n promo.flyerPromoItems?.forEach((item: PromoItemsDto) => {\r\n unlinkedItemsWhichNeedToAdd.push(item);\r\n })\r\n })\r\n dispatch(addItemsForUnlinkedPromotionsItemsMenu(unlinkedItemsWhichNeedToAdd));\r\n }\r\n setTargetUnlinkedPromos([]);\r\n } else if (promotionsItemsState.type === 'DELETE_ITEMS_FROM_FLYER_SUCCESS') {\r\n let newStateForUnlinkItems: PromoItemsDto[] = promotionsItemsState.unlinkItems.filter((unlinkedItem: PromoItemsDto) => {\r\n let targetItemWhichShouldBeDelete = targetItems.find((item: PromoItemsDto) => unlinkedItem.fpiRecId === item.fpiRecId);\r\n if (!targetItemWhichShouldBeDelete) {\r\n return unlinkedItem;\r\n }\r\n });\r\n dispatch(deleteItemsFromUnlinkedPromotionsItemsMenu(newStateForUnlinkItems));\r\n } else if (promotionsItemsState.type === 'ATTACH_ITEMS_TO_FLYER_SUCCESS') {\r\n if (promotionsItemsState.targetFrameId) {\r\n const itemsWhichShouldBeUnlinkFromTargetPromo = promotionsItemsState.targetPromo.flyerPromoItems.filter((promoItem: PromoItemsDto) => {\r\n const isIterableItemShouldBeUnlink = promotionsItemsState.itemsIds.find((id: number) => id === promoItem.fpiRecId);\r\n if (isIterableItemShouldBeUnlink) {\r\n return promoItem;\r\n }\r\n })\r\n dispatch(addItemsForUnlinkedPromotionsItemsMenu(itemsWhichShouldBeUnlinkFromTargetPromo));\r\n const newState = [...frames].map(frame => {\r\n if (frame.fpsRecId === promotionsItemsState.targetFrameId) {\r\n const unlinkItemsArray: PromoItemsDto[] = [];\r\n frame.flyerPromos![0].flyerPromoItems = [...frame.flyerPromos![0].flyerPromoItems!].filter((item: PromoItemsDto) => {\r\n const isIterableItemShouldBeUnlink = promotionsItemsState.itemsIds.find((id: number) => id === item.fpiRecId);\r\n if (!isIterableItemShouldBeUnlink) {\r\n return item;\r\n } else {\r\n unlinkItemsArray.push(item);\r\n }\r\n });\r\n if(!frame.flyerPromos![0].flyerPromoItems.length){\r\n frame.flyerPromos![0].qualificationLevel = 0;\r\n frame.qualificationLevel = 0;\r\n } else {\r\n const someItemsNotQualified = frame.flyerPromos![0].flyerPromoItems.some((item: PromoItemsDto) => item.qualificationLevel === 0);\r\n const everyItemsUserQualified = frame.flyerPromos![0].flyerPromoItems.every((item: PromoItemsDto) => item.qualificationLevel === 2);\r\n if(someItemsNotQualified){\r\n frame.flyerPromos![0].qualificationLevel = 0;\r\n frame.qualificationLevel = 0;\r\n } else if(everyItemsUserQualified) {\r\n frame.flyerPromos![0].qualificationLevel = 1;\r\n frame.qualificationLevel = 1;\r\n } else {\r\n frame.flyerPromos![0].qualificationLevel = 1;\r\n frame.qualificationLevel = 1;\r\n }\r\n }\r\n dispatch(removeItemsFromPromosAndAddToFlyerState(unlinkItemsArray, selectedPageState.pageNo))\r\n }\r\n return frame;\r\n });\r\n //change frames state\r\n setFrames(newState);\r\n dispatch(toggleUnlinkPromotionsItemsPanel(true));\r\n dispatch(changeActiveUnlinkTab(\"Items\"));\r\n }\r\n } else if (promotionsItemsState.type === 'ATTACH_ITEM_TO_PROMO_SUCCESS') {\r\n setTargetItems([]);\r\n console.log(targetItems);\r\n let targetItemsWhichShouldToAdd: PromoItemsDto[] = []\r\n if (targetItems.length > 1) {\r\n targetItemsWhichShouldToAdd = targetItems;\r\n } else {\r\n targetItemsWhichShouldToAdd = [...promotionsItemsState.unlinkItems].filter((unlinkItem: PromoItemsDto) => unlinkItem.fpiRecId === Number(sourceIdAndDestinationIds.sourceIndex));\r\n }\r\n\r\n const newStateItemsForUnlinkMenu = [...promotionsItemsState.unlinkItems].filter((unlinkItem: PromoItemsDto) => {\r\n const targetItemsWhichShouldToAddInUnlinkItems = targetItemsWhichShouldToAdd.find((item: PromoItemsDto) => unlinkItem.fpiRecId === item.fpiRecId);\r\n if (!targetItemsWhichShouldToAddInUnlinkItems) {\r\n return unlinkItem;\r\n }\r\n });\r\n let isSelectPromoHasLength = [...frames].some((frame: FlyerPageSpotDto) => frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId) && frame.flyerPromos?.length !== 0);\r\n if (isSelectPromoHasLength) {\r\n dispatch(deleteItemsFromUnlinkedPromotionsItemsMenu(newStateItemsForUnlinkMenu));\r\n let newStateFrames = [...frames].map((frame: FlyerPageSpotDto) => {\r\n if (frame.fpsRecId === Number(sourceIdAndDestinationIds.destinationId) && frame.flyerPromos?.length !== 0) {\r\n //changed flrRecId to current promoRecId and remove flyRecId because already add to promo\r\n const changedTargetItems = targetItemsWhichShouldToAdd.map((item: PromoItemsDto) => {\r\n item.fpiFlyRecId = null;\r\n item.fpiFlrRecId = frame.flyerPromos![0].flrRecId\r\n return item;\r\n })\r\n dispatch(addItemsToPromosItemsState(changedTargetItems, selectedPageState.pageNo))\r\n frame.flyerPromos![0].flyerPromoItems = [...frame.flyerPromos![0].flyerPromoItems!, ...changedTargetItems];\r\n if(!frame.flyerPromos![0].flyerPromoItems.length){\r\n frame.flyerPromos![0].qualificationLevel = 0\r\n } else {\r\n const someItemsNotQualified = frame.flyerPromos![0].flyerPromoItems.some((item: PromoItemsDto) => item.qualificationLevel === 0);\r\n const everyItemsUserQualified = frame.flyerPromos![0].flyerPromoItems.every((item: PromoItemsDto) => item.qualificationLevel === 2);\r\n if(someItemsNotQualified){\r\n frame.flyerPromos![0].qualificationLevel = 0;\r\n frame.qualificationLevel = 0;\r\n } else if(everyItemsUserQualified) {\r\n frame.flyerPromos![0].qualificationLevel = 1;\r\n frame.qualificationLevel = 1;\r\n } else {\r\n frame.flyerPromos![0].qualificationLevel = 1;\r\n frame.qualificationLevel = 1;\r\n }\r\n }\r\n }\r\n return frame;\r\n\r\n })\r\n setFrames(newStateFrames);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }, [promotionsItemsState.type])\r\n\r\n\r\n const onChangeSelectedItems = (selectedItem: PromoItemsDto, e: React.MouseEvent) => {\r\n const selectedItemState = {...selectedItem};\r\n const selectedItemsArray = [...targetItems];\r\n if (e.ctrlKey || e.metaKey) {\r\n const oldSelectedItems = selectedItemsArray.map((key: PromoItemsDto) => {\r\n key.isLastSelected = false;\r\n return key;\r\n })\r\n selectedItemState.isLastSelected = true;\r\n\r\n const isSelectedTargetItem = oldSelectedItems.some((item: PromoItemsDto) => item.fpiRecId === selectedItemState.fpiRecId);\r\n if (isSelectedTargetItem) {\r\n const newStateForSelectedItems = oldSelectedItems.filter((item: PromoItemsDto) => item.fpiRecId !== selectedItemState.fpiRecId);\r\n if (newStateForSelectedItems.length) {\r\n newStateForSelectedItems[0].isLastSelected = true;\r\n }\r\n setTargetItems(newStateForSelectedItems);\r\n } else {\r\n setTargetItems([...oldSelectedItems, selectedItemState])\r\n }\r\n } else if (e.shiftKey) {\r\n const isLastSelectedItemExist = selectedItemsArray.some((item: PromoItemsDto) => item.isLastSelected);\r\n if (isLastSelectedItemExist) {\r\n const lastSelectedItem = selectedItemsArray.filter((item: PromoItemsDto) => {\r\n if (item.isLastSelected) {\r\n return item;\r\n }\r\n });\r\n const isSelectedItemIndexMoreThanLastSelectedIndex = selectedItem!.index! > lastSelectedItem[0].index!;\r\n if (isSelectedItemIndexMoreThanLastSelectedIndex) {\r\n const newStateForSelectedItems = [...promotionsItemsState.unlinkItems].filter((key: PromoItemsDto) => {\r\n if (key.index! >= lastSelectedItem[0].index! && key.index! <= selectedItem!.index!) {\r\n if (key.index! === lastSelectedItem[0].index!) {\r\n key.isLastSelected = true;\r\n }\r\n return key;\r\n }\r\n })\r\n setTargetItems(newStateForSelectedItems);\r\n } else {\r\n const newStateForSelectedItems = [...promotionsItemsState.unlinkItems].filter((key: PromoItemsDto) => {\r\n if (key.index! >= selectedItem!.index! && key.index! <= lastSelectedItem[0].index!) {\r\n if (key.index! === lastSelectedItem[0].index!) {\r\n key.isLastSelected = true;\r\n }\r\n return key;\r\n }\r\n })\r\n setTargetItems(newStateForSelectedItems);\r\n }\r\n } else {\r\n selectedItemState.isLastSelected = true;\r\n setTargetItems([selectedItemState]);\r\n }\r\n // const isLastSelectedItemExist\r\n // promotionsItemsState.unlinkItems\r\n } else {\r\n selectedItemState.isLastSelected = true;\r\n setTargetItems([selectedItemState]);\r\n }\r\n }\r\n\r\n const onChangeSelectedPromos = (promo: PromoDto, event: React.MouseEvent, index: number) => {\r\n let unlinkPromotions: PromoDto[] = [];\r\n [...promotionsItemsState.unlinkPromos].forEach((promo: PromoDto) => {\r\n const isLastSelectedPromo = targetUnlinkedPromos.find((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n const isLastSelected = isLastSelectedPromo && isLastSelectedPromo.isLastSelected ? isLastSelectedPromo.isLastSelected : false;\r\n unlinkPromotions.push({\r\n ...promo,\r\n isLastSelected: isLastSelected\r\n });\r\n });\r\n if (event.ctrlKey || event.metaKey) {\r\n const isPromotionAlreadySelected = targetUnlinkedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n if (isPromotionAlreadySelected) {\r\n const newStateForSelectedPromos = targetUnlinkedPromos.filter((selectedPromo: PromoDto) => selectedPromo.flrRecId !== promo.flrRecId);\r\n if (newStateForSelectedPromos.length) {\r\n newStateForSelectedPromos[0].isLastSelected = true;\r\n }\r\n setTargetUnlinkedPromos(newStateForSelectedPromos);\r\n } else {\r\n setTargetUnlinkedPromos([...targetUnlinkedPromos, promo])\r\n }\r\n } else if (event.shiftKey) {\r\n const isLastSelectedPromoExist = unlinkPromotions.some((selectedPromo: PromoDto) => selectedPromo.isLastSelected);\r\n if (isLastSelectedPromoExist) {\r\n let lastSelectedIndex: number = 0;\r\n unlinkPromotions.forEach((selectedPromo: PromoDto, index: number) => {\r\n if (selectedPromo.isLastSelected) {\r\n lastSelectedIndex = index;\r\n return selectedPromo;\r\n }\r\n });\r\n const isSelectedItemIndexMoreThanLastSelectedIndex = index > lastSelectedIndex;\r\n if (isSelectedItemIndexMoreThanLastSelectedIndex) {\r\n const newStateForSelectedPromos = [...unlinkPromotions].filter((promotion: PromoDto, promoIndex: number) => {\r\n if (promoIndex >= lastSelectedIndex && promoIndex <= index && !_.isEmpty(promotion)) {\r\n return promotion;\r\n }\r\n });\r\n setTargetUnlinkedPromos(newStateForSelectedPromos);\r\n } else {\r\n const newStateForSelectedPromos = [...unlinkPromotions].filter((promotion: PromoItemsDto, promoIndex: number) => {\r\n if (promoIndex >= index && promoIndex <= lastSelectedIndex && !_.isEmpty(promotion)) {\r\n // if (promoIndex === lastSelectedIndex) {\r\n // promotion.isLastSelected = true;\r\n // }\r\n return promotion;\r\n }\r\n })\r\n setTargetUnlinkedPromos(newStateForSelectedPromos);\r\n }\r\n } else {\r\n setTargetUnlinkedPromos([{\r\n ...promo,\r\n isLastSelected: true\r\n }]);\r\n }\r\n } else {\r\n // const isPromotionAlreadySelected = selectedPromos.some((selectedPromo: PromoDto) => selectedPromo.flrRecId === promo.flrRecId);\r\n // if(isPromotionAlreadySelected){\r\n // setSelectedPromos([]);\r\n // } else {\r\n setTargetUnlinkedPromos([{\r\n ...promo,\r\n isLastSelected: true\r\n }]);\r\n // }\r\n }\r\n }\r\n\r\n const compare = (a: any, b: any) => {\r\n if (Number(a.fpsCode) < Number(b.fpsCode)) {\r\n return -1;\r\n }\r\n if (Number(a.fpsCode) > Number(b.fpsCode)) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n\r\n\r\n const onDragStart = (start: DragStart) => {\r\n const id: number = Number(start.draggableId);\r\n const dragItem = targetItems.find((item: PromoItemsDto) => item.fpiRecId === Number(id));\r\n\r\n if (!dragItem) {\r\n setTargetItems([]);\r\n }\r\n setTargetUnlinkedPromos([]);\r\n\r\n dispatch(changeDraggingItemRecId(id));\r\n setDragStatus(true);\r\n }\r\n\r\n const onDragEnd = (result: any) => {\r\n dispatch(changeDraggingItemRecId(null));\r\n setDragStatus(false);\r\n const {source, destination} = result;\r\n if (!destination) {\r\n return;\r\n }\r\n setSourceIdAndDestinationIds({\r\n sourceId: source.droppableId,\r\n destinationId: destination.droppableId,\r\n destinationIndex: destination.index,\r\n sourceIndex: source.index\r\n });\r\n console.log(promotionsItemsState);\r\n // dropped outside the list\r\n // dropped to the same place\r\n\r\n if (source.droppableId === destination.droppableId) {\r\n return;\r\n } else if (source.droppableId === \"unlink_promotions_area\" || source.droppableId === \"unlink_items_area_1\" || source.droppableId === \"unlink_items_area_2\") {\r\n if (source.droppableId === \"unlink_promotions_area\") {\r\n const activePromo: PromoDto[] = promotionsItemsState.unlinkPromos.filter((unlinkPromo: PromoDto) => unlinkPromo.flrRecId === Number(source.index));\r\n setTargetPromos(activePromo);\r\n const targetFrame = [...frames].find((frame: FlyerPageSpotDto) => frame.fpsRecId === Number(destination.droppableId) && frame.flyerPromos?.length === 0)\r\n if (targetFrame) {\r\n dispatch(attachPromoToFrame(activePromo[0].flrRecId!, targetFrame.fpsRecId!, true, flayerDetailsState.flyLacRec.lacCode));\r\n }\r\n } else {\r\n let targetItemsIds: number[];\r\n if (targetItems.length) {\r\n targetItemsIds = [...targetItems].map((item: PromoItemsDto) => item.fpiRecId!);\r\n } else {\r\n const activeItem = [...promotionsItemsState.unlinkItems].filter((unlinkItem: PromoItemsDto) => unlinkItem.fpiRecId === Number(source.index));\r\n targetItemsIds = [activeItem[0].fpiRecId];\r\n }\r\n const targetFrame = [...frames].filter((frame: FlyerPageSpotDto) => {\r\n return frame.fpsRecId === Number(destination.droppableId)\r\n });\r\n if (targetFrame[0]?.flyerPromos?.length) {\r\n dispatch(attachItemsToPromo(Number(targetFrame[0].flyerPromos[0].flrRecId), targetItemsIds));\r\n }\r\n }\r\n // const target\r\n } else if (destination.droppableId === \"unlink_promotions_area\" || destination.droppableId === \"unlink_items_area_1\" || destination.droppableId === \"unlink_items_area_2\") {\r\n //find selected promo in frame\r\n let sourcePromo: PromoDto[] = [...frames].find(frame => frame.fpsRecId === Number(source.droppableId))?.flyerPromos!;\r\n //clear promo from current frame and create new frames\r\n setTargetPromos(sourcePromo);\r\n if (destination.droppableId === \"unlink_promotions_area\") {\r\n //request for DB\r\n dispatch(attachPromoToFlyer(flayerDetailsState.flyRecId, [sourcePromo[0].flrRecId!], true, flayerDetailsState.flyLacRec.lacCode));\r\n } else {\r\n if (sourcePromo[0].flyerPromoItems && sourcePromo[0].flyerPromoItems.length > 0) {\r\n const itemsIdsWhichShouldUnlink = [...sourcePromo[0].flyerPromoItems].map((item: PromoItemsDto) => item.fpiRecId!);\r\n const sourceFrame = [...frames].find((frame: FlyerPageSpotDto) => frame.fpsRecId === Number(source.droppableId));\r\n //request for DB\r\n dispatch(attachItemsToFlyer(flayerDetailsState.flyRecId, itemsIdsWhichShouldUnlink, true, sourcePromo[0], sourceFrame!.fpsRecId!))\r\n }\r\n }\r\n\r\n } else {\r\n //get promos from old frame and get promos from target frame\r\n\r\n let sourcePromo: PromoDto[] = [...frames].find(frame => frame.fpsRecId === Number(source.droppableId))?.flyerPromos!;\r\n const targetFrame = [...frames].find((frame: FlyerPageSpotDto) => frame.fpsRecId === Number(destination.droppableId) && frame.flyerPromos?.length === 0)\r\n setTargetPromos(sourcePromo);\r\n if (targetFrame) {\r\n dispatch(attachPromoToFrame(sourcePromo[0].flrRecId!, targetFrame.fpsRecId!, true, flayerDetailsState.flyLacRec.lacCode));\r\n }\r\n }\r\n }\r\n\r\n let settingsForPopup = getSettingsForPopup(popupSettings);\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n \r\n {isLoading &&
    \r\n \r\n
    }\r\n
    \r\n {isModalPopup && {\r\n\r\n setModalPopup(false);\r\n }}\r\n />}\r\n {\r\n setOpenPopupForUploadPromosItemsExcel(false);\r\n const data = {\r\n files: [{}],\r\n code: ''\r\n }\r\n dispatchEventDataType(EVENT_DATA_TYPE_UPLOAD_FILE_TYPE, data);\r\n\r\n }}\r\n\r\n />\r\n
    \r\n )\r\n}","\r\nimport {useEffect, useRef, useState} from 'react'\r\nimport './LeftMenuFileItem.scss'\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\n\r\ninterface ILeftMenuFileItem {\r\n imageSrc: string,\r\n title: string,\r\n isForDownloading: boolean,\r\n onFileSelected?: (file: File) => void,\r\n withInputInfo?: boolean\r\n}\r\n\r\nexport const LeftMenuFileItem: React.FC = (props) => {\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n\r\n const inputRef:React.LegacyRef = useRef(null);\r\n\r\n const [fileNameData, setFileName] = useState<{ fileName: string, afterRequest: string }>({\r\n fileName: '',\r\n afterRequest: ''\r\n });\r\n\r\n\r\n useEffect(() => {\r\n if(flippingFlyerState.type === ActionType.POST_FLYER_PROMOS_AND_ITEMS_SUCCESS\r\n || flippingFlyerState.type === ActionType.POST_IMAGES_FOR_PROMOTIONS_ITEMS_SUCCESS){\r\n setFileName({\r\n ...fileNameData,\r\n afterRequest: fileNameData.fileName\r\n })\r\n\r\n }\r\n\r\n }, [flippingFlyerState.type])\r\n\r\n\r\n const onClick = () => {\r\n if(props.isForDownloading){\r\n return;\r\n }\r\n\r\n inputRef.current?.click();\r\n }\r\n\r\n const onFileSelected = (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n setFileName({\r\n ...fileNameData,\r\n fileName: file.name\r\n })\r\n props.onFileSelected!(file)\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n

    {props.title}

    \r\n\r\n {\r\n //--------------------------------------------------//\r\n // BUG FIX: to select the same file multiple times\r\n\r\n // bug fix: for chrome\r\n if( inputRef.current !== null){\r\n inputRef.current!.value = '';\r\n }\r\n // bug fix: for firefox\r\n return false;\r\n //--------------------------------------------------//\r\n }}\r\n onChange={onFileSelected}\r\n />\r\n\r\n
    \r\n {props.withInputInfo && }\r\n
    \r\n )\r\n}","export default __webpack_public_path__ + \"static/media/upload_xls_icon.2eb72eff.svg\";","import { LeftMenuFileItem } from '../../../com/leftMenufileItem/LeftMenuFileItem'\r\n\r\nimport downloadIcon from '../../../../assets/editors/download_xls_icon.svg'\r\nimport uploadIcon from '../../../../assets/editors/upload_xls_icon.svg'\r\n\r\nimport './FlyerEditorLeftMenu.scss'\r\n\r\ninterface IFlyerEditorLeftMenu {\r\n onSpotsFileSelected: (file: File) => void,\r\n}\r\n\r\nexport const FlyerEditorLeftMenu: React.FC = (props) => {\r\n\r\n return (\r\n
    \r\n

    Promo Items

    \r\n
    \r\n\r\n {/* */}\r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}","\r\nimport React, { useRef, forwardRef, Ref, useImperativeHandle } from 'react'\r\nimport { useEffect } from 'react'\r\n\r\n\r\nimport { useTypedSelector } from '../../../../../../hooks/useTypeSelector';\r\n\r\nimport { FlyerPageDto } from '../../../../../../dtos'\r\nimport Canvas, { ICanvasRef } from '../../../../../../com/canvas/Canvas'\r\n\r\nimport Loader from '../../../../../../com/loader/Loader'\r\n\r\nimport { Spots } from '../../../../../com/canvas/spots/Spots'\r\n\r\nimport './FlyerPage.scss'\r\nimport { useState } from 'react'\r\nimport {ActionType} from \"../../../../../../store/actionTypes\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../../../pages/getSetttingsForPopup\";\r\nimport { getOriginalPageDimensions } from '../../../../../../globals';\r\nimport {getIconStyle} from \"../../../../../../globals/globFunctions\";\r\n\r\nexport interface IFlyerPageRef {\r\n // selectAllPageSpots(value: boolean): void;\r\n // deleteAllPageSpots(): void;\r\n setNextGridSize: (rows: number, columns: number) => void;\r\n reInit: () => void;\r\n showLoader: (value: boolean) => void;\r\n}\r\nexport interface IFlyerPage {\r\n data?: FlyerPageDto,\r\n}\r\n\r\nexport const FlyerPage = forwardRef((props: IFlyerPage, ref: Ref) => {\r\n\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyerIconStyleType = flyerDetailsState.flyGusRec?.gusIconContrast || 1;\r\n const iconStyleData = getIconStyle(flyerIconStyleType);\r\n\r\n useImperativeHandle(ref, () => ({ \r\n reInit, \r\n showLoader, \r\n setNextGridSize, \r\n // selectAllPageSpots, \r\n // deleteAllPageSpots \r\n }));\r\n\r\n const timer = useRef();\r\n const canvasRef = useRef(null)\r\n\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isModalPopup, setModalPopup] = useState(false);\r\n\r\n const canvasWidth = 530;\r\n const canvasHeigth = 679;\r\n\r\n const spots = useRef(null)\r\n\tif (spots.current === null) {\r\n\t\tspots.current = new Spots(true, canvasWidth, canvasHeigth, false, true, iconStyleData)\r\n\t}\r\n\r\n // const selectAllPageSpots = (value: boolean) => {\r\n // spots.current!.selectAllPageSpots(value);\r\n // }\r\n\r\n // const deleteAllPageSpots = () => {\r\n // spots.current!.deleteAllPageSpots();\r\n // }\r\n\r\n const reInit = () => {\r\n dispose();\r\n\r\n // init\r\n spots.current = new Spots(true, canvasWidth, canvasHeigth, false, true, iconStyleData);\r\n }\r\n\r\n const dispose = () => {\r\n\r\n if(spots.current){\r\n spots.current!.dispose();\r\n if(spots.current!.parent) {\r\n spots.current!.parent.removeChild(spots.current!)\r\n }\r\n spots.current = null;\r\n }\r\n \r\n if (canvasRef.current) {\r\n canvasRef.current.reInitCanvas();\r\n }\r\n }\r\n\r\n const showLoader = (value: boolean) => {\r\n setIsLoading(value)\r\n }\r\n\r\n const setNextGridSize = (rows: number, columns: number) => {\r\n spots.current!.setNextGgridSize(rows, columns)\r\n }\r\n\r\n const onImageLoadComplete = (isComplete: boolean) => {\r\n showLoader(isComplete)\r\n }\r\n\r\n useEffect(() => {\r\n if (props.data !== null && canvasRef.current && props.data?.flyerPageSpots) {\r\n\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n\r\n timer.current = setTimeout(() => {\r\n setIsLoading(false)\r\n }, 2000);\r\n\r\n var originalDimensions = getOriginalPageDimensions(props.data)\r\n\r\n reInit();\r\n spots.current!.initSpotsDtos(props.data!, originalDimensions.originalWidth, originalDimensions.originalHeight, true, false)\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n else {\r\n canvasRef.current?.addChild(spots.current!);\r\n }\r\n\r\n return () => {\r\n if (timer.current) {\r\n clearTimeout(timer.current)\r\n }\r\n };\r\n\r\n }, [props.data])\r\n\r\n useEffect(() => {\r\n // if (flippingFlyerState.loading === true) {\r\n setIsLoading(flippingFlyerState.loading);\r\n if(flippingFlyerState.type === ActionType.POST_FLYER_PROMOITEMS_SUCCESS){\r\n setModalPopup(true);\r\n }\r\n // }\r\n }, [flippingFlyerState.loading])\r\n\r\n useEffect(() => {\r\n\r\n return () => {\r\n // on unmount\r\n dispose();\r\n }\r\n }, []);\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: ['Items uploaded successfully'],\r\n modalName: 'successfullyUpload',\r\n };\r\n\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n
    \r\n {\r\n onImageLoadComplete(true)\r\n }} onError={() => {\r\n onImageLoadComplete(false)\r\n }} alt={\"\"}/>\r\n\r\n \r\n\r\n {isLoading &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {isModalPopup && setModalPopup(false)}\r\n />\r\n }\r\n
    \r\n )\r\n})\r\n","\r\nimport { FlyerDto, FlyerPageDto } from '../../../../../dtos'\r\nimport { FlyerPage, IFlyerPageRef } from './flyerPage/FlyerPage'\r\n\r\n// import { FlyerPagesArrows } from '../../../../com/flyerPages/arrows/FlyerPagesArrows'\r\n\r\nimport './FlyerPages.scss'\r\nimport { useRef, useState } from 'react'\r\nimport { useEffect } from 'react'\r\n\r\ninterface IFlyerPages {\r\n pageIndex: number,\r\n data?: FlyerDto,\r\n onLeftArrowClick: () => void,\r\n onNextArrowClick: () => void,\r\n}\r\n\r\nexport const FlyerPages: React.FC = (props) => {\r\n\r\n const flyerPageRef = useRef(null)\r\n\r\n const [pageDto, setPageDto] = useState()\r\n\r\n useEffect(() => {\r\n flyerPageRef.current?.reInit();\r\n \r\n // flyerPageRef.current?.showLoader(true);\r\n var pageDto = props.data?.flyerPages![props.pageIndex]!\r\n setPageDto(pageDto)\r\n\r\n }, [props.data, props.pageIndex])\r\n\r\n return (\r\n
    \r\n {/**/}\r\n \r\n
    \r\n )\r\n}","\r\nimport { ITopBarRef, TopBar } from '../../../com/flyerPages/topBar/TopBar'\r\nimport { FlyerPages } from './flyerPages/FlyerPages'\r\n\r\nimport './FlyerEditorContent.scss'\r\nimport {FlyerDto, SelectPageForTabsDto} from '../../../../dtos'\r\nimport {useEffect, useRef, useState} from 'react'\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\n\r\ninterface IFlyerEditorContent {\r\n data?: FlyerDto\r\n}\r\n\r\nexport const FlyerEditorContent: React.FC = (props) => {\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n const topBarReference = useRef(null)\r\n\r\n const [pageIndex, setPageIndex] = useState(1)\r\n\r\n const onPageIndexChanges = (index: number) => {\r\n setPageIndex(index)\r\n }\r\n\r\n useEffect(() => {\r\n setPageIndex(selectedPageState.pageNo === 0 ? 0 : selectedPageState.pageNo - 1);\r\n }, [selectedPageState.pageNo])\r\n\r\n return (\r\n
    \r\n \r\n topBarReference.current!.showBack()}\r\n onNextArrowClick={() => topBarReference.current!.showNext()}\r\n />\r\n
    \r\n )\r\n}","\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { useTypedSelector } from '../../../hooks/useTypeSelector';\r\n\r\nimport { FlyerEditorLeftMenu } from './leftMenu/FlyerEditorLeftMenu'\r\nimport { FlyerEditorContent } from './rightContent/FlyerEditorContent'\r\n\r\nimport './FlyerPromoItemsEditor.scss'\r\nimport { savePagePromoItemsData } from '../../../store/actionCreators/flippingFlyerActionCreators';\r\nimport {useEffect, useState} from \"react\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {setSelectedPageForTabs} from \"../../../store/actionCreators/pagesActionCreators\";\r\nimport {\r\n addEventDataTypeListener,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER,\r\n removeEventTypeListener\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {CustomDataEvent} from \"../../../globals/CustomDataEvent\";\r\nimport {clearFlyersData} from \"../../../store/actionCreators/flyersActionCreators\";\r\n\r\nexport const FlyerPromoItemsEditor = () => {\r\n\r\n // let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flayerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n\r\n\r\n const dispatch = useDispatch();\r\n\r\n\r\n const [isOpenPagesTab, openPagesTab] = useState(false);\r\n\r\n useEffect(() => {\r\n if(flyersState.type === ActionType.CHANGE_FLYERS_STATE){\r\n if(isOpenPagesTab){\r\n try {\r\n const data = {\r\n pageNo: 0,\r\n selectedTabNum: 1\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n }\r\n }, [flyersState])\r\n useEffect(() => {\r\n addEventDataTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER, (data: CustomDataEvent) => {\r\n openPagesTab(data.data);\r\n })\r\n\r\n return () => {\r\n dispatch(clearFlyersData());\r\n removeEventTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER);\r\n }\r\n\r\n }, []);\r\n\r\n\r\n\r\n const onSpotsFileSelected = (file: File) => {\r\n let flyerDto = flayerDetailsState!;\r\n dispatch(savePagePromoItemsData(flyerDto.flyRecId!, file, flyerDto.flyLacRec!.lacCode!));\r\n // let flyerDto = flippingFlyerState.flyerDto!\r\n // dispatch(savePagePromoItemsData(flyerDto.flyRecId!, file, flyerDto.flyLacRec!.lacCode!));\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n {/**/}\r\n
    \r\n )\r\n}","var _rect, _rect2, _rect3, _rect4, _path, _rect5;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAnaliticsIconBlue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 18,\n height: 18,\n stroke: \"#014780\",\n strokeWidth: 2\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 9,\n y: 12,\n width: 2,\n height: 4,\n fill: \"#014780\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 13,\n y: 10,\n width: 2,\n height: 6,\n fill: \"#014780\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 5,\n y: 14,\n width: 2,\n height: 2,\n fill: \"#014780\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5 9L9.13043 5.96429L10.8696 7.75L15 4\",\n stroke: \"#014780\",\n strokeWidth: 2\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n y: 0.5,\n width: 19,\n height: 19,\n stroke: \"#014780\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAnaliticsIconBlue);\nexport default __webpack_public_path__ + \"static/media/analitics_icon_blue.a56a577a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUploadPdfIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 9V1H12.3336L17 6.09703V9\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5186 13.8613H2.87063V12.897H4.5186C4.77327 12.897 4.98057 12.8585 5.14048 12.7816C5.30039 12.7019 5.41736 12.592 5.49139 12.4519C5.56543 12.3118 5.60244 12.1538 5.60244 11.978C5.60244 11.7995 5.56543 11.6332 5.49139 11.4794C5.41736 11.3255 5.30039 11.2019 5.14048 11.1085C4.98057 11.0151 4.77327 10.9684 4.5186 10.9684H3.33259V16H2V10H4.5186C5.02499 10 5.45882 10.0852 5.8201 10.2555C6.18434 10.4231 6.46271 10.6552 6.65519 10.9519C6.84768 11.2486 6.94392 11.5879 6.94392 11.9698C6.94392 12.3571 6.84768 12.6923 6.65519 12.9753C6.46271 13.2582 6.18434 13.4766 5.8201 13.6305C5.45882 13.7843 5.02499 13.8613 4.5186 13.8613Z\",\n fill: \"#2A2A2A\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.84897 16H8.44087L8.44975 15.0357H9.84897C10.1984 15.0357 10.4931 14.9629 10.7329 14.8173C10.9728 14.669 11.1534 14.4533 11.2748 14.1703C11.3992 13.8874 11.4614 13.5453 11.4614 13.1442V12.8516C11.4614 12.544 11.4259 12.2734 11.3548 12.0398C11.2867 11.8063 11.1845 11.6099 11.0483 11.4505C10.9121 11.2912 10.7448 11.1717 10.5464 11.092C10.348 11.0096 10.1199 10.9684 9.8623 10.9684H8.41421V10H9.8623C10.2947 10 10.69 10.0687 11.0483 10.206C11.4096 10.3407 11.722 10.5343 11.9856 10.7871C12.2491 11.0398 12.452 11.342 12.5941 11.6937C12.7392 12.0426 12.8118 12.4313 12.8118 12.8599V13.1442C12.8118 13.5701 12.7392 13.9588 12.5941 14.3104C12.452 14.6621 12.2491 14.9643 11.9856 15.217C11.725 15.467 11.4125 15.6607 11.0483 15.7981C10.687 15.9327 10.2872 16 9.84897 16ZM9.196 10V16H7.86341V10H9.196Z\",\n fill: \"#2A2A2A\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.1127 10V16H13.7801V10H15.1127ZM17.6891 12.5632V13.5275H14.7485V12.5632H17.6891ZM18 10V10.9684H14.7485V10H18Z\",\n fill: \"#2A2A2A\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.9999 9L9.9999 4.5M9.9999 4.5L12.3999 6.83864M9.9999 4.5L7.5999 6.83864\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 17L3 19H17V17\",\n stroke: \"#2A2A2A\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadPdfIcon);\nexport default __webpack_public_path__ + \"static/media/upload_pdf_icon.93f47eec.svg\";\nexport { ForwardRef as ReactComponent };","import {ActionType} from \"../actionTypes\";\r\nimport {ErrorDtoFactory, UploadProgressingImagesDto, UserDto} from \"../../dtos\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport axios from \"axios\";\r\nimport {Action as ProgressPopupActions} from \"../actions/uploadingImagesProgressActions\";\r\nimport {Action as DownloadFileActions} from \"../actions/downloadFileActions\";\r\nimport {Dispatch} from \"redux\";\r\n\r\n\r\nexport const downloadFile = (flyerId: number, flyerCaption: string) => {\r\n return async (\r\n dispatch: Dispatch\r\n ) => {\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_START,\r\n payload: {\r\n title: \"Creating File...\"\r\n }\r\n });\r\n dispatch({\r\n type: ActionType.DOWNLOAD_FILE_START,\r\n });\r\n\r\n try {\r\n let result: any = await getFlyerPdf(flyerId, dispatch);\r\n dispatch({type: ActionType.DOWNLOAD_FILE_SUCCESS, payload: result});\r\n const url = window.URL.createObjectURL(new Blob([result.data])); // you can mention a type if you wish\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${flyerCaption}.pdf`); //this is the name with which the file will be downloaded\r\n link.click();\r\n // no need to append link as child to body.\r\n setTimeout(() => window.URL.revokeObjectURL(url), 50);\r\n dispatch({type: ActionType.DOWNLOAD_FILE_COMPLETE});\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DOWNLOAD_FILE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err),\r\n });\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE,\r\n });\r\n }\r\n };\r\n\r\n}\r\n\r\nconst getFlyerPdf = (flyerId: number, dispatch: any) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n let url = `${envManager.flyerEditorServerAddress}/api/Flyers/GetFlyerPdf?flyerId=${flyerId}`;\r\n let result: any = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n contentType: 'application/json; charset=utf-8',\r\n Authorization: \"Bearer \" + userDto.token,\r\n },\r\n onDownloadProgress: progressEvent => {\r\n const data: UploadProgressingImagesDto = {\r\n failCount: 0,\r\n notUploadedImages: null,\r\n isUploadingFilesToSystem: progressEvent.loaded !== progressEvent.total,\r\n isUploadingFilesToSystemFinished: progressEvent.loaded === progressEvent.total,\r\n current: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.loaded,\r\n processingFinished: progressEvent.loaded === progressEvent.total,\r\n successCount: 0,\r\n severityLevel: '',\r\n total: progressEvent.loaded === progressEvent.total ? 0 : progressEvent.total,\r\n titlePopup: `Downloading file...`\r\n }\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CHANGE,\r\n payload: data\r\n });\r\n if(progressEvent.loaded === progressEvent.total){\r\n dispatch({\r\n type: ActionType.UPLOAD_IMAGES_PROGRESSBAR_POPUP_CLOSE,\r\n });\r\n }\r\n }\r\n });\r\n\r\n resolve(result);\r\n } catch (error) {\r\n new Promise((resolve, reject) => {\r\n let reader = new FileReader();\r\n reader.onload = () => {\r\n if (typeof reader?.result === \"string\") {\r\n error.response.data = JSON.parse(reader?.result);\r\n }\r\n resolve(error);\r\n };\r\n\r\n reader.onerror = () => {\r\n reject(error);\r\n };\r\n\r\n reader.readAsText(error.response.data);\r\n })\r\n .then(err => {\r\n // here your response comes\r\n reject(err);\r\n })\r\n }\r\n });\r\n};\r\n","import React, {useEffect, useLayoutEffect, useRef, useState} from \"react\";\r\nimport {FlyerDto, FlyerPageDto, ItemsListMenuDto, UserDto} from \"../../../../../dtos\";\r\nimport moment from \"moment\";\r\nimport '../../flyer.scss'\r\nimport {ReactComponent as AnalyticsIcon} from \"./../../../../../assets/flyersScreen/analitics_icon_blue.svg\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\n\r\nimport {\r\n dispatchEventDataType, EVENT_DATA_TYPE_CREAT_NEW_FLYER\r\n} from '../../../../../globals/EventDispatcher'\r\nimport {FlyersStateDto} from \"../flyersCatalog\";\r\nimport {Box, Button, Grid, Popover, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {AsyncImageWithLoader} from \"../../../../../com/imageWithLoader/imageWithLoader\";\r\nimport {AnalyticsPopup} from \"../../../../../com/analyticsPopup/analyticsPopup\";\r\nimport envManager from \"../../../../../com/envManager/EnvManager\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../../pages/getSetttingsForPopup\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../../hooks/useTypeSelector\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {useDoubleTap} from \"use-double-tap\";\r\nimport {history} from '../../../../../helpers/history';\r\nimport {\r\n startUploadingImagesProgressPopup\r\n} from \"../../../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {uploadImagesToPages} from \"../../../../../store/actionCreators/pagesActionCreators\";\r\nimport {DataForUpload} from \"../../../pages/pages\";\r\nimport {getFlippingFlyer} from \"../../../../../store\";\r\nimport {downloadFile} from \"../../../../../store/actionCreators/dowloadFileActionCreators\";\r\nimport {getDate} from \"../../../../../globals/globFunctions\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n flyerBoxWrapper: {\r\n height: \"230px\",\r\n cursor: \"pointer\",\r\n },\r\n flyerWrapper: (props: any) => ({\r\n \"&:hover\": {\r\n filter: props.isXs ? \"none\" : \"drop-shadow(3px 4px 6px rgba(0, 0, 0, 0.7))\"\r\n }\r\n }),\r\n activeFlyer: {\r\n boxShadow: \"0 0 0 5px #014780\",\r\n boxSizing: \"border-box\",\r\n filter: \"drop-shadow(3px 4px 6px rgba(0, 0, 0, 0.7))\",\r\n borderRadius: \"0\",\r\n border: \"none\",\r\n\r\n },\r\n imageWrapperBlock: {\r\n minWidth: `50%`,\r\n width: `50%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n height: `100%`\r\n },\r\n imageWrapper: {\r\n width: `100%`,\r\n height: `100%`,\r\n maxWidth: `100%`,\r\n maxHeight: `100%`,\r\n padding: `4px`\r\n },\r\n flyerDescription: {\r\n flex: `1 1 auto`,\r\n '& > .MuiTypography-root': {\r\n lineHeight: `2`,\r\n fontSize: \"14px\"\r\n }\r\n },\r\n flyerDetailWrapper: {\r\n flex: `1 1 auto`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n height: `100%`,\r\n padding: `8px 2px`,\r\n width: `50%`,\r\n maxWidth: `50%`\r\n },\r\n controlsFlyerWrapper: {\r\n display: `flex`,\r\n columnGap: `10px`,\r\n position: \"relative\"\r\n },\r\n openBtn: {\r\n '&.MuiButton-root': {\r\n backgroundColor: `#ffffff`,\r\n border: '2px solid #014780',\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n padding: `4px 8px`,\r\n justifyContent: `center`,\r\n borderRadius: `0`,\r\n '&:hover': {\r\n border: '2px solid #014780B3',\r\n backgroundColor: `#01478030`,\r\n }\r\n }\r\n },\r\n controlBtn: {\r\n '&.MuiButton-root': {\r\n backgroundColor: `transparent`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n padding: `0`,\r\n justifyContent: `center`,\r\n \"&:hover\": {\r\n backgroundColor: `#01478030`,\r\n },\r\n '&:disabled': {\r\n backgroundColor: `#e4e4e480`,\r\n }\r\n }\r\n\r\n },\r\n\r\n}));\r\n\r\ninterface FlyerItem {\r\n flyerDto: FlyerDto;\r\n openFlyerDetails: (rowIndex: number, flyerDto: FlyerDto) => void;\r\n isActive: boolean;\r\n flyersState: FlyersStateDto,\r\n setFlyerState: (e: FlyersStateDto) => void\r\n flyerIndex: number;\r\n onSoftDeleteFlyer: (ids: number[] | []) => void;\r\n setActionIds: (ids: number[] | []) => void;\r\n onArchiveFlyer: (ids: number[] | []) => void;\r\n onAddNewButtonClick: () => void;\r\n doubleClickOnFlyer: (flyerDto: FlyerDto) => void;\r\n setDisabledStatus: (isDisabled: boolean) => void;\r\n isDisabledOptionBeforeFlyerWillBeReady: boolean;\r\n lastSelectedFlyer?: FlyerDto;\r\n setShowModal: (value: boolean) => void;\r\n setIsShouldCheckCurrentFlyerStateBeforeLeave: (value: boolean) => void;\r\n setFlyersForHold: (flyers: FlyerDto[]) => void;\r\n columnNumbersWidth: number;\r\n}\r\n\r\nexport const Flyer: React.FC = (props) => {\r\n // const dispatch = useDispatch();\r\n // let flyerDetailsState = useTypedSelector((state) =\r\n const anchorRefForFlyerMenu = useRef(null);\r\n const dispatch = useDispatch();\r\n const changedStateForFlyer = useTypedSelector((state) => state.changedStateForFlyer);\r\n // const [tooltip, setTooltip] = useState('');\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [showAnalyticsPopup, setShowAnalyticsPopup] = useState(false);\r\n const [isExpired, setIsExpired] = useState(false)\r\n const [isOpenedFlyerMenu, setOpenFlyerMenu] = useState(false);\r\n const prevOpenFlyerMenu = useRef(isOpenedFlyerMenu);\r\n const isXs = useMediaQuery(`(max-width:699px)`)\r\n const [isModalPopup, changeModalStatus] = useState(false);\r\n const [modalName, setModalName] = useState('');\r\n\r\n const [filesDataForRequest, setFilesDataForRequest] = useState({\r\n Images: [{}],\r\n Pages: [],\r\n UiLanguageCultureCode: 'en-US'\r\n });\r\n const [thumbnailImg, setThumbnailImg] = useState(\"\");\r\n\r\n\r\n const properties = {\r\n isXs: isXs\r\n }\r\n const classes = useStyles(properties);\r\n\r\n\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto.accountTier === 1;\r\n\r\n const bind = useDoubleTap((event: React.MouseEvent) => {\r\n const target = event.target as HTMLElement;\r\n const tagName = target.tagName;\r\n if (tagName !== \"INPUT\") {\r\n handleDoubleClick();\r\n }\r\n // Your action here\r\n });\r\n\r\n\r\n/*\r\n useEffect(() => {\r\n setTooltip(`Job Code: ${props.flyerDto.flyCode}\r\n Number of Pages: ${props.flyerDto.flyerPages?.length}\r\n Flyer Status: ${props.flyerDto.flyFstRec?.fstCaption}\r\n Start Date: ${moment(props.flyerDto.flyValidFromUtc).format('DD MMM YYYY')}\r\n End Date: ${moment(props.flyerDto.flyValidToUtc).format('DD MMM YYYY')}\r\n Created Date: ${moment(props.flyerDto.flyCreatedUtc).format('DD MMM YYYY')}\r\n Last Modified: ${moment(props.flyerDto.flyModifiedUtc).format('DD MMM YYYY')}`)\r\n });\r\n*/\r\n\r\n useLayoutEffect(() => {\r\n const scrollPosition = sessionStorage.getItem(\"activeFlyersArray\");\r\n const contentDiv = document.getElementById(\"flyersContentContainer\");\r\n if (scrollPosition && contentDiv) {\r\n const elem = document.getElementById(scrollPosition);\r\n if(elem){\r\n elem.scrollIntoView();\r\n sessionStorage.removeItem(\"activeFlyersArray\");\r\n }\r\n // contentDiv.scrollTo(0, parseInt(scrollPosition));\r\n }\r\n }, [props.isActive]);\r\n\r\n useEffect(() => {\r\n const imageUrl = props?.flyerDto?.flyerPages!.length ? (props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl ? props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl : '') : '';\r\n setThumbnailImg(imageUrl);\r\n const validUntil = getDate(props.flyerDto.flyValidToUtc);\r\n if(validUntil){\r\n setIsExpired(new Date() > validUntil);\r\n }\r\n }, [props.flyerDto]);\r\n\r\n let timer: any = 0;\r\n let delay = 350;\r\n let prevent = false;\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenFlyerMenu,\r\n prevOpen: prevOpenFlyerMenu,\r\n open: isOpenedFlyerMenu,\r\n anchorRef: anchorRefForFlyerMenu,\r\n };\r\n\r\n const doClickAction = (e: React.MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const tagName = target.tagName;\r\n const isMenuOption = target.classList.contains(\"menuOption\");\r\n dispatchEventDataType(EVENT_DATA_TYPE_CREAT_NEW_FLYER, false);\r\n const activeFlyer = props.flyersState.activeFlyers.find((activeFlyer: FlyerDto) => activeFlyer.flyRecId === props.flyerDto.flyRecId);\r\n if (!activeFlyer || props.flyersState.activeFlyers.length > 1) {\r\n if (e.ctrlKey || e.metaKey || e.shiftKey && props.lastSelectedFlyer) {\r\n if (e.ctrlKey || e.metaKey) {\r\n if (props.isActive) {\r\n const activeFlyers = props.flyersState.activeFlyers.filter((activeFlyer: FlyerDto) => {\r\n if (props.flyerDto.flyRecId !== activeFlyer.flyRecId) {\r\n return activeFlyer\r\n }\r\n });\r\n if (changedStateForFlyer.isChangedFlyerData) {\r\n props.setIsShouldCheckCurrentFlyerStateBeforeLeave(true);\r\n props.setFlyersForHold(activeFlyers);\r\n } else {\r\n props.setFlyerState({\r\n ...props.flyersState,\r\n activeFlyers: activeFlyers,\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n }\r\n } else {\r\n const activeFlyers = [...props.flyersState.activeFlyers, props.flyerDto];\r\n if (changedStateForFlyer.isChangedFlyerData) {\r\n props.setIsShouldCheckCurrentFlyerStateBeforeLeave(true);\r\n props.setFlyersForHold(activeFlyers);\r\n } else {\r\n props.setFlyerState({\r\n ...props.flyersState,\r\n activeFlyers: activeFlyers,\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n }\r\n }\r\n }\r\n if (e.shiftKey && props.lastSelectedFlyer && props?.flyerDto) {\r\n const selection = document.getSelection();\r\n selection!.removeAllRanges();\r\n const isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex = props?.flyerDto?.index! >= props?.lastSelectedFlyer?.index!;\r\n const activeFlyers = props.flyersState.flyersData.filter((flyer: FlyerDto, index: number) => {\r\n if (isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex) {\r\n if (props?.lastSelectedFlyer?.index! <= index && props?.flyerDto?.index! >= index) {\r\n return flyer;\r\n }\r\n } else {\r\n if (props?.lastSelectedFlyer?.index! >= index && props?.flyerDto?.index! <= index) {\r\n return flyer;\r\n }\r\n }\r\n })\r\n\r\n if (changedStateForFlyer.isChangedFlyerData) {\r\n props.setIsShouldCheckCurrentFlyerStateBeforeLeave(true)\r\n props.setFlyersForHold(activeFlyers)\r\n } else {\r\n props.setFlyerState({\r\n ...props.flyersState,\r\n activeFlyers: activeFlyers\r\n })\r\n }\r\n }\r\n } else {\r\n // dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n // dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n hideMenu();\r\n if (tagName !== \"BUTTON\" && tagName !== \"LABEL\" && tagName !== \"SELECT\" && tagName !== \"INPUT\" && tagName && !isMenuOption) {\r\n if (changedStateForFlyer.isChangedFlyerData) {\r\n props.setIsShouldCheckCurrentFlyerStateBeforeLeave(true);\r\n props.setFlyersForHold([props.flyerDto]);\r\n } else {\r\n props.setFlyerState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n });\r\n props.setDisabledStatus(true);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const doDoubleClickAction = () => {\r\n console.log('double click');\r\n if (!isAccountTier1) {\r\n if (changedStateForFlyer.isChangedFlyerData) {\r\n\r\n } else {\r\n props.doubleClickOnFlyer(props.flyerDto);\r\n }\r\n }\r\n }\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n // if (e.button !== 2) {\r\n // timer = setTimeout(function () {\r\n // if (!prevent) {\r\n // // doClickAction(e)\r\n // }\r\n // prevent = false;\r\n // }, delay);\r\n // } else {\r\n if (!isXs) {\r\n doClickAction(e);\r\n }\r\n // }\r\n }\r\n\r\n const handleThumbnailClick = (e: React.MouseEvent) => {\r\n if (isXs) {\r\n e.preventDefault();\r\n editFlyerFromMobile();\r\n }\r\n\r\n }\r\n const handleDoubleClick = () => {\r\n clearTimeout(timer);\r\n prevent = true;\r\n doDoubleClickAction();\r\n }\r\n\r\n const handleOpenFlipbook = () => {\r\n window.open(`${envManager.flyerAppAddress}/${props.flyerDto.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${userDto.company}/${props.flyerDto.flyCaption?.trim()}`, 'urlFromFlippingEditorScreen');\r\n };\r\n\r\n const handleAnalyticsClick = (event: React.MouseEvent) => {\r\n setShowAnalyticsPopup(!showAnalyticsPopup);\r\n setAnchorEl(event.currentTarget);\r\n // history.push(`/flipbookEditor/${flyer.flyRecId}`)\r\n };\r\n\r\n /*\r\n const handleClick = (event: React.MouseEvent) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n */\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const handleDeleteClick = () => {\r\n props.setShowModal(true);\r\n const isCurrentFlyerIsSelect = props.flyersState.activeFlyers.some((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (isCurrentFlyerIsSelect && props.flyersState.activeFlyers) {\r\n props.setActionIds([]);\r\n } else {\r\n props.setActionIds([props.flyerDto.flyRecId!]);\r\n }\r\n // history.push(`/flipbookEditor/${flyer.flyRecId}`)\r\n };\r\n\r\n const softDeleteFlyer = () => {\r\n handleClose();\r\n const isCurrentFlyerIsSelect = props.flyersState.activeFlyers.some((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (isCurrentFlyerIsSelect && props.flyersState.activeFlyers.length) {\r\n props.setActionIds([]);\r\n props.onSoftDeleteFlyer([]);\r\n } else {\r\n const id = props.flyerDto.flyRecId!;\r\n props.setActionIds([id]);\r\n props.onSoftDeleteFlyer([id]);\r\n\r\n }\r\n }\r\n\r\n const archiveFlyer = () => {\r\n handleClose();\r\n const isCurrentFlyerIsSelect = props.flyersState.activeFlyers.some((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (isCurrentFlyerIsSelect && props.flyersState.activeFlyers.length) {\r\n props.setActionIds([]);\r\n props.onArchiveFlyer([]);\r\n } else {\r\n const id = props.flyerDto.flyRecId!;\r\n props.setActionIds([id]);\r\n props.onArchiveFlyer([id]);\r\n }\r\n }\r\n\r\n const downloadFlyer = () => {\r\n handleClose();\r\n if(props.flyerDto.flyRecId && props.flyerDto.flyDisplayCaption){\r\n dispatch(downloadFile(props.flyerDto.flyRecId, props.flyerDto.flyDisplayCaption));\r\n }\r\n }\r\n\r\n const checkIfSomeOfSelectedFlyerIsAlreadyPublished = (): boolean => {\r\n const currentFlyerInSelectedArray = props.flyersState.activeFlyers.find((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (currentFlyerInSelectedArray && props.flyersState.activeFlyers.length) {\r\n return props.flyersState.activeFlyers.some((flyer: FlyerDto) => flyer.flyFstRec?.fstCode === 3);\r\n } else {\r\n return props.flyerDto?.flyFstRec?.fstCode === 3\r\n }\r\n }\r\n\r\n const handleToggleForFlyer = () => {\r\n setOpenFlyerMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const confirmUploadImageToPage = () => {\r\n dispatch(uploadImagesToPages(filesDataForRequest));\r\n dispatch(startUploadingImagesProgressPopup());\r\n changeModalStatus(false);\r\n }\r\n\r\n\r\n const onAddImageFilesToPages = (event: React.ChangeEvent) => {\r\n handleClose();\r\n const files = event.target.files!;\r\n const pagesInFlyer = props.flyerDto.flyerPages!;\r\n const imagesArray = [];\r\n let isOnlyImages = true;\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n imagesArray?.push({\r\n flpCaption: \"\",\r\n flpDisplayCaption: \"\",\r\n flpImage: file.name,\r\n file: file\r\n });\r\n if (file.type === 'application/pdf') {\r\n isOnlyImages = false;\r\n }\r\n }\r\n const data = {\r\n Images: imagesArray,\r\n UiLanguageCultureCode: 'en-US',\r\n Pages: pagesInFlyer\r\n }\r\n const itPagesHasThumbnails = pagesInFlyer?.some((key: FlyerPageDto) => key.flyImageThumbnailUrl && key.flyImageThumbnailUrl.indexOf('jpg') > -1);\r\n if (imagesArray.length > pagesInFlyer.length || imagesArray.length !== pagesInFlyer.length && isOnlyImages) {\r\n changeModalStatus(true);\r\n setModalName('uploadImagesToPageNotEqualSelectedPages');\r\n } else {\r\n if (itPagesHasThumbnails) {\r\n setFilesDataForRequest(data);\r\n changeModalStatus(true);\r\n setModalName('uploadImageToPage');\r\n } else {\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(uploadImagesToPages(data))\r\n }\r\n }\r\n }\r\n\r\n const editFlyerFromMobile = () => {\r\n handleClose();\r\n dispatch(getFlippingFlyer(props.flyerDto.flyRecId!));\r\n history.push(`flyersCatalog/flyerId/${props.flyerDto.flyRecId}`)\r\n }\r\n\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? 'simple-popover' : undefined;\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: modalName,\r\n confirmOnClick: {\r\n onUploadImage: confirmUploadImageToPage\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.flyerDto.flyDisplayCaption}\r\n Status: {isExpired ? \"Expired\" : props.flyerDto.flyFstRec?.fstCaption}\r\n Pages: {props.flyerDto.flyerPages?.length}\r\n Start\r\n date: {moment(props.flyerDto.flyValidFromUtc).format('DD.MM.YY')}\r\n End\r\n date: {moment(props.flyerDto.flyValidToUtc).format('DD.MM.YY')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {isModalPopup && changeModalStatus(false)}\r\n />}\r\n\r\n \r\n )\r\n}","var _path, _path2, _path3, _path4;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.01558 18.9991H1V3H1.01558H1.05464H1.0937H1.13276H1.17182H1.21088H1.24994H1.289H1.32806H1.36712H1.40618H1.44524H1.4843H1.52336H1.56242H1.60148H1.64055H1.67961H1.71867H1.75773H1.79679H1.83585H1.87491H1.91397H1.95303H1.99209H2.03115H2.07021H2.10927H2.14833H2.18739H2.22645H2.26551H2.30458H2.34364H2.3827H2.42176H2.46082H2.49988H2.53894H2.578H2.61706H2.65612H2.69518H2.73424H2.7733H2.81236H2.85142H2.89048H2.92954H2.96861H3.00767H3.04673H3.08579H3.12485H3.16391H3.20297H3.24203H3.28109H3.32015H3.35921H3.39827H3.43733H3.47639H3.51545H3.55451H3.59357H3.63264H3.6717H3.71076H3.74982H3.78888H3.82794H3.867H3.90606H3.94512H3.98418H4.02324H4.0623H4.10136H4.14042H4.17948H4.21854H4.25761H4.29667H4.33573H4.37479H4.41385H4.45291H4.49197H4.53103H4.57009H4.60915H4.64821H4.68727H4.72633H4.76539H4.80445H4.84351H4.88257H4.92164H4.9607H4.99976H5.03882H5.07788H5.11694H5.156H5.19506H5.23412H5.27318H5.31224H5.3513H5.39036H5.42942H5.46848H5.50754H5.5466H5.58567H5.62473H5.66379H5.70285H5.74191H5.78097H5.82003H5.85909H5.89815H5.93721H5.97627H6.01533H6.05439H6.09345H6.13251H6.17157H6.21063H6.2497H6.28876H6.32782H6.36688H6.40594H6.445H6.48406H6.52312H6.56218H6.60124H6.6403H6.67936H6.71842H6.75748H6.79654H6.8356H6.87466H6.91373H6.95279H6.99185H7.03091H7.06997H7.10903H7.14809H7.18715H7.22621H7.26527H7.30433H7.34339H7.38245H7.42151H7.46057H7.49963H7.5387H7.57776H7.61682H7.65588H7.69494H7.734H7.77306H7.81212H7.85118H7.89024H7.9293H7.96836H8.00742H8.04648H8.08554H8.1246H8.16366H8.20273H8.24179H8.28085H8.31991H8.35897H8.39803H8.43709H8.47615H8.51521H8.55427H8.59333H8.63239H8.67145H8.71051H8.74957H8.78863H8.82769H8.86676H8.90582H8.94488H8.98394H9.023H9.06206H9.10112H9.14018H9.17924H9.2183H9.25736H9.29642H9.33548H9.37454H9.4136H9.45266H9.49172H9.53079H9.56985H9.60891H9.64797H9.68703H9.72609H9.76515H9.80421H9.84327H9.88233H9.92139H9.96045H9.99951H10.0386H10.0776H10.1167H10.1558H10.1948H10.2339H10.2729H10.312H10.3511H10.3901H10.4292H10.4682H10.5073H10.5464H10.5854H10.6245H10.6635H10.7026H10.7417H10.7807H10.8198H10.8588H10.8979H10.937H10.976H11.0151H11.0541H11.0932H11.1323H11.1713H11.2104H11.2495H11.2885H11.3276H11.3666H11.4057H11.4448H11.4838H11.5229H11.5619H11.601H11.6401H11.6791H11.7182H11.7572H11.7963H11.8354H11.8744H11.9135H11.9525H11.9916H12.0307H12.0697H12.1088H12.1478H12.1869H12.226H12.265H12.3041H12.3431H12.3822H12.4213H12.4603H12.4994H12.5385H12.5775H12.6166H12.6556H12.6947H12.7338H12.7728H12.8119H12.8509H12.89H12.9291H12.9681H13.0072H13.0462H13.0853H13.1244H13.1634H13.2025H13.2415H13.2806H13.3197H13.3587H13.3978H13.4368H13.4759H13.515H13.554H13.5931H13.6321H13.6712H13.7103H13.7493H13.7884H13.8275H13.8665H13.9056H13.9446H13.9837H14.0228H14.0618H14.1009H14.1399H14.179H14.2181H14.2571H14.2962H14.3352H14.3743H14.4134H14.4524H14.4915H14.5305H14.5696H14.6087H14.6477H14.6868H14.7258H14.7649H14.804H14.843H14.8821H14.9211H14.9602H14.9993H15.0383H15.0774H15.1165H15.1555H15.1946H15.2336H15.2727H15.3118H15.3508H15.3899H15.4289H15.468H15.5071H15.5461H15.5852H15.6242H15.6633H15.7024H15.7414H15.7805H15.8195H15.8586H15.8977H15.9367H15.9758H16.0148H16.0539H16.093H16.132H16.1711H16.2101H16.2492H16.2883H16.3273H16.3664H16.4055H16.4445H16.4836H16.5226H16.5617H16.6008H16.6398H16.6789H16.7179H16.757H16.7961H16.8351H16.8742H16.9132H16.9523H16.9914H17.0304H17.0695H17.1085H17.1476H17.1867H17.2257H17.2648H17.3038H17.3429H17.382H17.421H17.4601H17.4991H17.5382H17.5773H17.6163H17.6554H17.6945H17.7335H17.7726H17.8116H17.8507H17.8898H17.9288H17.9679H18.0069H18.046H18.0851H18.1241H18.1632H18.2022H18.2413H18.2804H18.3194H18.3585H18.3975H18.4366H18.4757H18.5147H18.5538H18.5928H18.6319H18.671H18.71H18.7491H18.7881H18.8272H18.8663H18.9053H18.9444H18.9834H18.999V18.9991H18.9834H18.9444H18.9053H18.8663H18.8272H18.7881H18.7491H18.71H18.671H18.6319H18.5928H18.5538H18.5147H18.4757H18.4366H18.3975H18.3585H18.3194H18.2804H18.2413H18.2022H18.1632H18.1241H18.0851H18.046H18.0069H17.9679H17.9288H17.8898H17.8507H17.8116H17.7726H17.7335H17.6945H17.6554H17.6163H17.5773H17.5382H17.4991H17.4601H17.421H17.382H17.3429H17.3038H17.2648H17.2257H17.1867H17.1476H17.1085H17.0695H17.0304H16.9914H16.9523H16.9132H16.8742H16.8351H16.7961H16.757H16.7179H16.6789H16.6398H16.6008H16.5617H16.5226H16.4836H16.4445H16.4055H16.3664H16.3273H16.2883H16.2492H16.2101H16.1711H16.132H16.093H16.0539H16.0148H15.9758H15.9367H15.8977H15.8586H15.8195H15.7805H15.7414H15.7024H15.6633H15.6242H15.5852H15.5461H15.5071H15.468H15.4289H15.3899H15.3508H15.3118H15.2727H15.2336H15.1946H15.1555H15.1165H15.0774H15.0383H14.9993H14.9602H14.9211H14.8821H14.843H14.804H14.7649H14.7258H14.6868H14.6477H14.6087H14.5696H14.5305H14.4915H14.4524H14.4134H14.3743H14.3352H14.2962H14.2571H14.2181H14.179H14.1399H14.1009H14.0618H14.0228H13.9837H13.9446H13.9056H13.8665H13.8275H13.7884H13.7493H13.7103H13.6712H13.6321H13.5931H13.554H13.515H13.4759H13.4368H13.3978H13.3587H13.3197H13.2806H13.2415H13.2025H13.1634H13.1244H13.0853H13.0462H13.0072H12.9681H12.9291H12.89H12.8509H12.8119H12.7728H12.7338H12.6947H12.6556H12.6166H12.5775H12.5385H12.4994H12.4603H12.4213H12.3822H12.3431H12.3041H12.265H12.226H12.1869H12.1478H12.1088H12.0697H12.0307H11.9916H11.9525H11.9135H11.8744H11.8354H11.7963H11.7572H11.7182H11.6791H11.6401H11.601H11.5619H11.5229H11.4838H11.4448H11.4057H11.3666H11.3276H11.2885H11.2495H11.2104H11.1713H11.1323H11.0932H11.0541H11.0151H10.976H10.937H10.8979H10.8588H10.8198H10.7807H10.7417H10.7026H10.6635H10.6245H10.5854H10.5464H10.5073H10.4682H10.4292H10.3901H10.3511H10.312H10.2729H10.2339H10.1948H10.1558H10.1167H10.0776H10.0386H9.99951H9.96045H9.92139H9.88233H9.84327H9.80421H9.76515H9.72609H9.68703H9.64797H9.60891H9.56985H9.53079H9.49172H9.45266H9.4136H9.37454H9.33548H9.29642H9.25736H9.2183H9.17924H9.14018H9.10112H9.06206H9.023H8.98394H8.94488H8.90582H8.86676H8.82769H8.78863H8.74957H8.71051H8.67145H8.63239H8.59333H8.55427H8.51521H8.47615H8.43709H8.39803H8.35897H8.31991H8.28085H8.24179H8.20273H8.16366H8.1246H8.08554H8.04648H8.00742H7.96836H7.9293H7.89024H7.85118H7.81212H7.77306H7.734H7.69494H7.65588H7.61682H7.57776H7.5387H7.49963H7.46057H7.42151H7.38245H7.34339H7.30433H7.26527H7.22621H7.18715H7.14809H7.10903H7.06997H7.03091H6.99185H6.95279H6.91373H6.87466H6.8356H6.79654H6.75748H6.71842H6.67936H6.6403H6.60124H6.56218H6.52312H6.48406H6.445H6.40594H6.36688H6.32782H6.28876H6.2497H6.21063H6.17157H6.13251H6.09345H6.05439H6.01533H5.97627H5.93721H5.89815H5.85909H5.82003H5.78097H5.74191H5.70285H5.66379H5.62473H5.58567H5.5466H5.50754H5.46848H5.42942H5.39036H5.3513H5.31224H5.27318H5.23412H5.19506H5.156H5.11694H5.07788H5.03882H4.99976H4.9607H4.92164H4.88257H4.84351H4.80445H4.76539H4.72633H4.68727H4.64821H4.60915H4.57009H4.53103H4.49197H4.45291H4.41385H4.37479H4.33573H4.29667H4.25761H4.21854H4.17948H4.14042H4.10136H4.0623H4.02324H3.98418H3.94512H3.90606H3.867H3.82794H3.78888H3.74982H3.71076H3.6717H3.63264H3.59357H3.55451H3.51545H3.47639H3.43733H3.39827H3.35921H3.32015H3.28109H3.24203H3.20297H3.16391H3.12485H3.08579H3.04673H3.00767H2.96861H2.92954H2.89048H2.85142H2.81236H2.7733H2.73424H2.69518H2.65612H2.61706H2.578H2.53894H2.49988H2.46082H2.42176H2.3827H2.34364H2.30458H2.26551H2.22645H2.18739H2.14833H2.10927H2.07021H2.03115H1.99209H1.95303H1.91397H1.87491H1.83585H1.79679H1.75773H1.71867H1.67961H1.64055H1.60148H1.56242H1.52336H1.4843H1.44524H1.40618H1.36712H1.32806H1.289H1.24994H1.21088H1.17182H1.13276H1.0937H1.05464H1.01558Z\",\n stroke: \"black\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.99985 10V11.9999H14.9995V10H7.99985ZM5 13.9998V15.9997H11.9997V13.9998H5Z\",\n fill: \"#121319\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.99897 0C4.44672 0 3.99902 0 3.99902 0L3.99902 5.99971C3.99902 5.99971 4.44672 5.99971 4.99897 5.99971C5.55123 5.99971 5.99893 5.99971 5.99893 5.99971V0C5.99893 0 5.55123 0 4.99897 0Z\",\n fill: \"#121319\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.0002 0C14.448 0 14.0003 0 14.0003 0V5.99971C14.0003 5.99971 14.448 5.99971 15.0002 5.99971C15.5525 5.99971 16.0002 5.99971 16.0002 5.99971V0C16.0002 0 15.5525 0 15.0002 0Z\",\n fill: \"#121319\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarIcon);\nexport default __webpack_public_path__ + \"static/media/calendar_icon.26794138.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDownIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 6,\n viewBox: \"0 0 10 6\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.565 0.442505L5 3.8775L8.4425 0.442505L9.5 1.5L5 6L0.5 1.5L1.565 0.442505Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDownIcon);\nexport default __webpack_public_path__ + \"static/media/arrow_down_icon.5ee35563.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _rect2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlusIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 12,\n y: 5,\n width: 2,\n height: 12,\n transform: \"rotate(90 12 5)\",\n fill: \"white\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 7,\n y: 12,\n width: 2,\n height: 12,\n transform: \"rotate(-180 7 12)\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlusIcon);\nexport default __webpack_public_path__ + \"static/media/plus_icon.f6517856.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Box, Grid, Typography} from \"@mui/material\";\r\nimport {ReactComponent as CalendarIcon} from \"../../assets/calendar_icon.svg\";\r\nimport {ReactComponent as ArrowDownIcon} from \"../../assets/arrow_down_icon.svg\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport {Placement} from \"popper.js\";\r\n// import {makeStyles} from \"@material-ui/core\";\r\nimport {makeStyles} from \"@mui/styles\";\r\n// import {SystemCssProperties} from \"@mui/system/styleFunctionSx/styleFunctionSx\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n datePickerWrapper: {\r\n position: `relative`,\r\n display: `flex`,\r\n flexFlow: `row`,\r\n width: `100%`,\r\n // border: \"1px solid #888888\",\r\n // borderRadius: `5px`,\r\n backgroundColor: `#F1F1F1`,\r\n cursor: \"pointer\"\r\n },\r\n calendarIconBlock: {\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n },\r\n calendarIconWrapper: {\r\n height: `44px`,\r\n width: `44px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n },\r\n dropdownIcon: {\r\n position: `absolute`,\r\n display: `flex`,\r\n right: `10px`,\r\n top: `45%`,\r\n zIndex: 2\r\n },\r\n datePickerBlock: {\r\n flex: `1 1 auto`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n height: `100%`\r\n },\r\n dateTimePicker: (props: any) => ({\r\n width: `100%`,\r\n border: \"none\",\r\n height: props.datePickerHeight,\r\n fontWeight: 500,\r\n paddingBottom: `5px`,\r\n backgroundColor: `#F1F1F1`,\r\n cursor: `pointer`,\r\n // '&:readonly': {\r\n // backgroundColor: `inherit`\r\n // }\r\n }),\r\n}))\r\n\r\ninterface DatePickerComponentDto {\r\n datePickerGridSide?: number;\r\n datePickerLabelValue?: string;\r\n datePickerValue: Date | null;\r\n datePickerRef: any;\r\n datePickerName: string;\r\n onChangeValue: (dateValue: Date, datePickerName: string) => void;\r\n maxDate?: Date | null;\r\n minDate?: Date | null;\r\n datePickerPlacement?: Placement;\r\n}\r\n\r\nexport const DatePickerComponent: React.FC = ({\r\n datePickerGridSide,\r\n datePickerLabelValue,\r\n datePickerValue,\r\n datePickerRef,\r\n datePickerName,\r\n onChangeValue,\r\n maxDate,\r\n minDate,\r\n datePickerPlacement,\r\n }) => {\r\n const properties = {\r\n datePickerHeight: datePickerLabelValue ? `100%` : `44px`\r\n }\r\n const classes = useStyles(properties);\r\n\r\n const openDatePicker = (isOpen: boolean) => {\r\n if (datePickerRef && datePickerRef.current) {\r\n const refDatePicker = datePickerRef.current as any;\r\n refDatePicker.setOpen(isOpen);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n openDatePicker(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n openDatePicker(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {\r\n datePickerLabelValue &&\r\n {\r\n openDatePicker(true);\r\n }}\r\n >\r\n \r\n {datePickerLabelValue}\r\n \r\n \r\n }\r\n \r\n {\r\n onChangeValue(date, datePickerName);\r\n // openDatePicker(false);\r\n // setOpenStartDatePicker(false);\r\n }}\r\n onKeyDown={(e) => {\r\n // e.preventDefault();\r\n }}\r\n className={classes.dateTimePicker}\r\n selected={datePickerValue ? datePickerValue : null}\r\n maxDate={maxDate ? maxDate : null}\r\n popperPlacement={datePickerPlacement ? datePickerPlacement : \"bottom\"}\r\n minDate={minDate ? minDate : null}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n\r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {Box, Button, Divider, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {FlyerPagesTocEntriesDto, ItemsListMenuDto} from \"../../dtos\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {deleteToc} from \"../../store/actionCreators/tocForPagesActionsCreator\";\r\nimport {ReactComponent as MenuOnHover} from \"../../assets/promos&items/menu_on_hover.svg\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../editor/promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {convertPagesRangeToString} from \"../../globals/globFunctions\";\r\n\r\ninterface Props {\r\n item: FlyerPagesTocEntriesDto;\r\n openPopup: (item: FlyerPagesTocEntriesDto) => void;\r\n}\r\n\r\nexport const FlippingFlyerToCTabItem: React.FC = ({\r\n item,\r\n openPopup\r\n }) => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const anchorRefForPageToCMenu = useRef(null);\r\n const dispatch = useDispatch();\r\n const isXs = useMediaQuery(`(max-width:599px)`);\r\n const [isHover, setIsHover] = useState(false);\r\n const [isOpenedPageToCMenu, setOpenPageToCMenu] = useState(false);\r\n const [pageStringRange, setPageStringRange] = useState('');\r\n const prevOpenPageToCMenu = useRef(isOpenedPageToCMenu);\r\n\r\n useEffect(() => {\r\n const pagesRangeInString = convertPagesRangeToString(item.pageRange);\r\n setPageStringRange(pagesRangeInString);\r\n return () => {\r\n setPageStringRange('')\r\n };\r\n }, [item.pageRange]);\r\n\r\n\r\n const onMouseEnter = () => {\r\n setIsHover(true)\r\n }\r\n const onMouseLeave = () => {\r\n setIsHover(false);\r\n setOpenPageToCMenu(false);\r\n }\r\n\r\n const deleteTocCaption = (e: React.MouseEvent | React.TouchEvent) => {\r\n e.preventDefault();\r\n dispatch(deleteToc(item.id, flyerDetailsState));\r\n }\r\n\r\n const editTocCaption = (e: React.MouseEvent | React.TouchEvent) => {\r\n openPopup(item);\r\n }\r\n\r\n const handleToggleForPageToC = () => {\r\n setOpenPageToCMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n const clickMenuDataForPageToC: ItemsListMenuDto = {\r\n setOpen: setOpenPageToCMenu,\r\n prevOpen: prevOpenPageToCMenu,\r\n open: isOpenedPageToCMenu,\r\n anchorRef: anchorRefForPageToCMenu,\r\n };\r\n\r\n\r\n return (\r\n // \r\n // {(provided, snapshot) => (\r\n \r\n{/*\r\n \r\n {\r\n (isHover || snapshot.isDragging) && !isXs &&\r\n \r\n }\r\n \r\n*/}\r\n \r\n \r\n {item.caption}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {pageStringRange}\r\n \r\n \r\n {\r\n (isHover || isXs) &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n{/*\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n*/}\r\n \r\n \r\n // )}\r\n // \r\n )\r\n}","import axios from 'axios';\r\n\r\nimport { ActionType } from '../actionTypes';\r\n\r\nimport envManager from '../../com/envManager/EnvManager';\r\n\r\nimport {\r\n UserDto,\r\n ErrorDtoFactory,\r\n FlyerPagesTocEntriesDto,\r\n FlyerTocDto,\r\n PageRunsDto\r\n} from '../../dtos';\r\nimport {Dispatch} from \"redux\";\r\nimport {Action as TocForPages} from \"../actions/tocForPagesActions\";\r\nimport {Action as FlyerDetailsActions} from \"../actions/flyerDetailsActions\";\r\nimport {FlyerDetailsState} from \"../reducers/flyerDetailsReducer\";\r\n\r\ninterface CreateDataForTocDto {\r\n flyerId: number;\r\n caption: string;\r\n pageRuns: PageRunsDto[]\r\n}\r\n\r\ninterface UpdateDataForTocDto {\r\n flyerId: number;\r\n caption: string;\r\n tocEntryId: number;\r\n pageRuns: PageRunsDto[]\r\n}\r\n\r\nexport const createTocForPage = (requestData: CreateDataForTocDto, flyerState: FlyerDetailsState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CREATE_TOC_FOR_PAGE_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n let url = `${envManager.flyerEditorServerAddress}/api/Toc/CreateFlyerTocEntry`;\r\n let result = await axios.post(url, requestData, config);\r\n let data = result.data.data;\r\n const tocPageData: FlyerPagesTocEntriesDto = {\r\n ...data.toc[0].tocEntryDto,\r\n pageRange: data.toc[0].pageRuns,\r\n }\r\n dispatch({\r\n type: ActionType.CREATE_TOC_FOR_PAGE_SUCCESS,\r\n payload: tocPageData\r\n });\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: {\r\n ...flyerState,\r\n toc: [...data.toc]\r\n }\r\n });\r\n\r\n dispatch({\r\n type: ActionType.CREATE_TOC_FOR_PAGE_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.CREATE_TOC_FOR_PAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const updateToc = (requestData: UpdateDataForTocDto, flyerState: FlyerDetailsState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.UPDATE_TOC_FOR_PAGE_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n // const request = {\r\n // \"tocEntryId\": tocId,\r\n // \"caption\": caption\r\n // };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Toc/UpdateFlyerTocEntry`;\r\n let result = await axios.post(url, requestData, config);\r\n let data = result.data.data;\r\n const tocPageData: FlyerPagesTocEntriesDto = {\r\n ...data.toc,\r\n }\r\n dispatch({\r\n type: ActionType.UPDATE_TOC_FOR_PAGE_SUCCESS,\r\n payload: tocPageData\r\n });\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: {\r\n ...flyerState,\r\n toc: [...data.toc]\r\n }\r\n });\r\n\r\n dispatch({\r\n type: ActionType.UPDATE_TOC_FOR_PAGE_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.UPDATE_TOC_FOR_PAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport const deleteToc = (tocId: number, flyerState: FlyerDetailsState) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.DELETE_TOC_FOR_PAGE_START\r\n })\r\n\r\n try {\r\n const config = {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + userDto.token\r\n }\r\n }\r\n\r\n const request = {\r\n \"tocEntryId\": tocId,\r\n };\r\n let url = `${envManager.flyerEditorServerAddress}/api/Toc/DeleteFlyerTocEntry`;\r\n let result = await axios.post(url, request, config);\r\n let data = result.data;\r\n\r\n const tocPageData: FlyerPagesTocEntriesDto = {\r\n // ...popupData,\r\n ...data,\r\n }\r\n\r\n dispatch({\r\n type: ActionType.DELETE_TOC_FOR_PAGE_SUCCESS,\r\n payload: tocPageData\r\n })\r\n\r\n const newState = flyerState.toc.filter((toc: FlyerTocDto) => {\r\n return toc.tocEntryDto.id !== tocId\r\n })\r\n\r\n dispatch({\r\n type: ActionType.FLYER_DETAILS_DATA_CHANGE_EVENT,\r\n payload: {\r\n ...flyerState,\r\n toc: newState\r\n }\r\n });\r\n\r\n\r\n dispatch({\r\n type: ActionType.DELETE_TOC_FOR_PAGE_COMPLETE,\r\n })\r\n } catch (err) {\r\n dispatch({\r\n type: ActionType.DELETE_TOC_FOR_PAGE_ERROR,\r\n payload: ErrorDtoFactory.createErrorDto(err)\r\n })\r\n }\r\n }\r\n}\r\n","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Input, Modal, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {PageRunsDto, PopupDataDto} from \"../../dtos\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {ClosePopupBtn} from \"../../com/closePopupBtn/closePopupBtn\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {convertPagesRangeToString} from \"../../globals/globFunctions\";\r\nimport {SimpleConfirmPopup} from \"../../com/simpleConfirmPopup/SimpleConfirmPopup\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {createTocForPage, updateToc} from \"../../store/actionCreators/tocForPagesActionsCreator\";\r\nimport {ActionType} from \"../../store/actionTypes\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n inputStyles: {\r\n width: `100%`,\r\n lineHeight: `1`,\r\n // backgroundColor: '#ffffff',\r\n border: `1px solid #888888`,\r\n // border: props.readonly && !props.isMultiplyRows ? `none` : `1px solid #888888`,\r\n backgroundColor: `white`,\r\n borderRadius: \"5px\",\r\n \"&.MuiInputBase-multiline\": {\r\n padding: `0`,\r\n },\r\n \"&.MuiInput-root\": {\r\n '& > input': {\r\n padding: \"4px 8px\"\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n // padding: props.withoutPadding && props.readonly ? `0` : `6px`,\r\n // direction: props.direction,\r\n // color: props.readonly ? `#A2A2A2` : `#000000`,\r\n },\r\n '& > textarea': {\r\n padding: \"4px 8px\"\r\n // fontSize: props.fontSize ? `${props.fontSize}px` : `14px`,\r\n // padding: props.withoutPadding && props.readonly ? `0` : `5px`,\r\n // direction: props.direction,\r\n // color: props.readonly ? `#A2A2A2` : `#000000`,\r\n }\r\n },\r\n \"&.requiredField\": {\r\n borderLeft: `4px solid #E5870E`,\r\n borderRadius: `0 5px 5px 0`,\r\n },\r\n \"&.notValid\": {\r\n borderLeftColor: `red`,\r\n },\r\n \"&.Mui-disabled\": {\r\n backgroundColor: `#dbdbdb`,\r\n },\r\n },\r\n\r\n}))\r\n\r\ninterface Props {\r\n popupData: PopupDataDto;\r\n closePopup: VoidFunction;\r\n}\r\n\r\ninterface PopupStateDto {\r\n caption: string;\r\n pageNumber: string;\r\n}\r\n\r\nexport const AddEditToCCaption: React.FC = ({\r\n popupData,\r\n closePopup\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {isOpen, pageTocCaption, pageRange, isNew} = popupData;\r\n const flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const {tocForPage} = useTypedSelector((state) => state);\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const [popupState, setPopupState] = useState({\r\n caption: pageTocCaption || \"\",\r\n pageNumber: \"\"\r\n });\r\n const [popupDefaultState, setPopupDefaultState] = useState({\r\n caption: pageTocCaption || \"\",\r\n pageNumber: \"\"\r\n });\r\n const [isShowConfirmExitPopup, setShowConfirmExitPopup] = useState(false);\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n console.log(pageRange);\r\n const pagesRangeInString = convertPagesRangeToString(popupData.pageRange);\r\n const data = {\r\n caption: pageTocCaption || \"\",\r\n pageNumber: pagesRangeInString\r\n }\r\n setPopupDefaultState(data)\r\n setPopupState(data);\r\n }, [popupData]);\r\n\r\n useEffect(() => {\r\n if(tocForPage.type === ActionType.CREATE_TOC_FOR_PAGE_SUCCESS || tocForPage.type === ActionType.UPDATE_TOC_FOR_PAGE_SUCCESS){\r\n closePopup();\r\n }\r\n }, [tocForPage.type]);\r\n\r\n\r\n const onChangeText = (event: React.ChangeEvent | React.ChangeEvent) => {\r\n const targetName = event.target.name;\r\n const value = event.target.value;\r\n if (targetName === \"pageNumber\") {\r\n // const re = /^([0-9\\b]*\\-?,?([0-9\\b]*)\\-?,?$)/gm;\r\n const re = /^[0-9\\b\\-,]+$/;\r\n if (value === '' || re.test(value)) {\r\n const pageRange = value.split(',');\r\n let isPossibleValue = true;\r\n //checkin in value string include number which more than pages number\r\n pageRange.forEach((value: string) => {\r\n if(value.indexOf(\"-\") > -1){\r\n const pagesRange = value.split('-');\r\n if(Number(pagesRange[0]) > flyerDetailsState.flyerPages.length || Number(pagesRange[1]) > flyerDetailsState.flyerPages.length ){\r\n isPossibleValue = false;\r\n }\r\n } else {\r\n if(Number(value) > flyerDetailsState.flyerPages.length){\r\n isPossibleValue = false;\r\n }\r\n }\r\n })\r\n if(isPossibleValue){\r\n setPopupState({\r\n ...popupState,\r\n [targetName]: value,\r\n });\r\n }\r\n }\r\n } else {\r\n setPopupState({\r\n ...popupState,\r\n [targetName]: value,\r\n });\r\n }\r\n }\r\n\r\n const validatorForPages = (value: string): boolean => {\r\n const rex = /^\\d+(?:-\\d+)?(?:,\\d+(?:-\\d+)?)*$/;\r\n return rex.test(value);\r\n }\r\n\r\n const saveToC = () => {\r\n const pageRangesArray: PageRunsDto[] = [];\r\n const pageRange = popupState.pageNumber.split(',');\r\n pageRange.forEach((value: string) => {\r\n if(value.indexOf(\"-\") > -1){\r\n const pagesRange = value.split('-');\r\n pageRangesArray.push({\r\n startPageNo: Number(pagesRange[0]),\r\n endPageNo: Number(pagesRange[1])\r\n })\r\n\r\n } else {\r\n pageRangesArray.push({\r\n startPageNo: Number(value),\r\n endPageNo: Number(value)\r\n })\r\n }\r\n })\r\n if (isNew) {\r\n const data = {\r\n flyerId: flyerDetailsState.flyRecId,\r\n caption: popupState.caption,\r\n pageRuns: pageRangesArray\r\n }\r\n dispatch(createTocForPage(data, flyerDetailsState))\r\n } else {\r\n const data = {\r\n flyerId: flyerDetailsState.flyRecId,\r\n caption: popupState.caption,\r\n tocEntryId: popupData.tocEntryId || 0,\r\n pageRuns: pageRangesArray\r\n }\r\n dispatch(updateToc(data, flyerDetailsState))\r\n\r\n }\r\n }\r\n\r\n const compareDefaultStateAndCurrentState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(popupState);\r\n const stringCurrentState = JSON.stringify(popupDefaultState);\r\n return stringDefaultState === stringCurrentState;\r\n }\r\n\r\n const checkStatesBeforeLeave = () => {\r\n const isStateNotChanged = compareDefaultStateAndCurrentState();\r\n if (isStateNotChanged || !validatorForPages(popupState.pageNumber) || popupState.caption === \"\") {\r\n closePopup();\r\n } else {\r\n setShowConfirmExitPopup(true);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {isNew ? \"New ToC Entry\" : \"Edit ToC Entry\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Table of Content Caption\r\n \r\n \r\n \r\n \r\n \r\n Page Number\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n {isShowConfirmExitPopup && (\r\n \r\n )}\r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Divider, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {FlyerPagesTocEntriesDto, FlyerTocDto, PageRunsDto, PopupDataDto} from \"../../dtos\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {FlippingFlyerToCTabItem} from \"./flippingFlyerToCTabItem\";\r\nimport {AddEditToCCaption} from \"./addEditToCCaption\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {convertPagesRangeToString} from \"../../globals/globFunctions\";\r\nimport {SortBtn} from \"../com/sortBtn/sortBtn\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n addButton: {\r\n \"&.MuiButton-root\": {\r\n backgroundColor: \"#014780\",\r\n borderRadius: 0,\r\n padding: \"4px\",\r\n color: `initial`,\r\n minHeight: \"40px\",\r\n maxWidth: \"40%\",\r\n background: `#014780`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n '&:hover': {\r\n background: `#014780`,\r\n opacity: `0.7`\r\n },\r\n '&:disabled': {\r\n opacity: `0.5`\r\n }\r\n }\r\n },\r\n tableHeader: {\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n minHeight: \"40px\",\r\n // padding: \"4px 2px\",\r\n // paddingLeft: isXs ? \"4px\" : \"16px\",\r\n border: \"1px solid #DDDDDD\",\r\n position: \"sticky\",\r\n zIndex: 1,\r\n top: 0,\r\n backgroundColor: \"#ffffff\"\r\n },\r\n captionsHeader: {\r\n flex: \"1 1 auto\",\r\n padding: \"4px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\"\r\n },\r\n pagesHeader: {\r\n padding: \"4px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\"\r\n },\r\n sortButton: {\r\n \"&.MuiButton-root\": {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\"\r\n }\r\n },\r\n doubleArrowSortBox: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: \"20px\",\r\n height: \"20px\"\r\n },\r\n divider: {\r\n \"&.MuiDivider-root\": {\r\n width: `1px`,\r\n backgroundColor: \"#DDDDDD\",\r\n borderWidth: \"0\"\r\n }\r\n },\r\n contentWrapper: {\r\n background: \"white\",\r\n padding: 0,\r\n width: `100%`,\r\n flex: \"1 1 auto\",\r\n // overflow: \"auto\",\r\n }\r\n}))\r\n\r\n// a little function to help us with reordering the result\r\n/*\r\nconst reorder = (list: FlyerTocEntriesDto[], startIndex: number, endIndex: number): FlyerTocEntriesDto[] => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n\r\n return result;\r\n};\r\n*/\r\n\r\nexport interface ConfigDto {\r\n caption: string;\r\n direction: string;\r\n}\r\n\r\n\r\nexport const FlippingFlyerTocTab = () => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const isXs = useMediaQuery(`(max-width:599px)`);\r\n\r\n const [items, setItems] = useState([]);\r\n const [defaultItems, setDefaultItems] = useState([]);\r\n const [sortConfig, setSortConfig] = useState(null);\r\n const [popupData, setPopupData] = useState({\r\n isOpen: false,\r\n pageTocCaption: null,\r\n pageRange: [],\r\n isNew: false,\r\n tocEntryId: null\r\n });\r\n\r\n const classes = useStyles();\r\n useEffect(() => {\r\n const items: FlyerPagesTocEntriesDto[] = [];\r\n\r\n flyerDetailsState.toc.forEach((toc: FlyerTocDto) => {\r\n if (toc) {\r\n const data: FlyerPagesTocEntriesDto = {\r\n ...toc.tocEntryDto,\r\n pageRange: toc.pageRuns\r\n // caption: \"ca\",\r\n // flyerId: page.flpflyRecId!,\r\n // id: 0,\r\n // orderInParent: 0,\r\n // pageId: 1,\r\n // // pageNumber: Math.round(Math.random() * 100),\r\n // pageNumber: 1\r\n }\r\n items.push(data);\r\n }\r\n })\r\n setItems(items);\r\n setDefaultItems(items);\r\n }, [flyerDetailsState.toc]);\r\n\r\n // useEffect(() => {\r\n // if(tocForPage.type === ActionType.DELETE_TOC_FOR_PAGE_SUCCESS){\r\n // const newTocArray = items.filter((toc: FlyerPagesTocEntriesDto) => toc.id !== tocForPage.tocForPage?.id);\r\n // setItems(newTocArray);\r\n // }\r\n // }, [tocForPage]);\r\n\r\n\r\n useEffect(() => {\r\n if (sortConfig) {\r\n let sortableItems = [...items];\r\n sortableItems.sort((a, b) => {\r\n if (sortConfig.caption === \"pageRange\") {\r\n // console.log(a[sortConfig.caption as keyof FlyerPagesTocEntriesDto]);\r\n const nonConvertA = a[sortConfig.caption as keyof FlyerPagesTocEntriesDto];\r\n const nonConvertB = b[sortConfig.caption as keyof FlyerPagesTocEntriesDto];\r\n const convertA = convertPagesRangeToString(nonConvertA as PageRunsDto[]);\r\n const firstNumberA = convertA.match(/[0-9]+/);\r\n const convertB = convertPagesRangeToString(nonConvertB as PageRunsDto[]);\r\n const firstNumberB = convertB.match(/[0-9]+/);\r\n if (Number(firstNumberA) < Number(firstNumberB)) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (Number(firstNumberA) > Number(firstNumberB)) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n } else {\r\n if (a[sortConfig.caption as keyof FlyerPagesTocEntriesDto].toString().toLowerCase() < b[sortConfig.caption as keyof FlyerPagesTocEntriesDto].toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? -1 : 1;\r\n }\r\n if (a[sortConfig.caption as keyof FlyerPagesTocEntriesDto].toString().toLowerCase() > b[sortConfig.caption as keyof FlyerPagesTocEntriesDto].toString().toLowerCase()) {\r\n return sortConfig.direction === 'ascending' ? 1 : -1;\r\n }\r\n }\r\n return 0;\r\n });\r\n setItems(sortableItems);\r\n }\r\n }, [sortConfig]);\r\n\r\n const openPopup = (itemData: FlyerPagesTocEntriesDto | null = null) => {\r\n if (itemData) {\r\n setPopupData({\r\n isOpen: true,\r\n pageRange: itemData.pageRange,\r\n pageTocCaption: itemData.caption,\r\n isNew: false,\r\n tocEntryId: itemData.id\r\n })\r\n } else {\r\n setPopupData({\r\n isOpen: true,\r\n pageRange: [],\r\n pageTocCaption: null,\r\n isNew: true,\r\n tocEntryId: null,\r\n })\r\n }\r\n\r\n }\r\n\r\n const closePopup = () => {\r\n setPopupData({\r\n isOpen: false,\r\n pageRange: [],\r\n pageTocCaption: null,\r\n isNew: false,\r\n tocEntryId: null\r\n })\r\n }\r\n\r\n /*\r\n const onDragEnd = (result: DropResult) => {\r\n // dropped outside the list\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const newItems: FlyerTocEntriesDto[] = reorder(\r\n items,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setItems(newItems);\r\n }\r\n */\r\n\r\n const pagesItems = items.map((item) => (\r\n \r\n ))\r\n\r\n return (\r\n \r\n {\r\n openPopup();\r\n }}\r\n className={classes.addButton}>\r\n \r\n Add caption\r\n \r\n \r\n \r\n \r\n \r\n \r\n Table of Content Caption\r\n \r\n \r\n \r\n \r\n \r\n \r\n Page\r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* {(provided, snapshot) => (*/}\r\n \r\n {pagesItems}\r\n {/*{provided.placeholder}*/}\r\n \r\n {/*)}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n \r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {useParams} from \"react-router-dom\";\r\nimport {\r\n FlyerLanguageDto,\r\n FlyerPageDto,\r\n LanguageCulture,\r\n flipbookEditorUrlDto,\r\n UserDto,\r\n FlyerStatus,\r\n FlyerDto, IconStyleDto\r\n} from \"../../dtos\";\r\nimport {\r\n getFlippingFlyer,\r\n} from \"../../store\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {\r\n Box,\r\n Button,\r\n Divider,\r\n FormControlLabel,\r\n Grid,\r\n Radio,\r\n RadioGroup,\r\n Typography,\r\n useMediaQuery\r\n} from \"@mui/material\";\r\nimport {PageSpinner} from \"../com/pagesTab/pagesSpinner/spinner\";\r\nimport {ReactComponent as LeftIcon} from \"../../assets/editors/flyers_left_arrow.svg\";\r\nimport {ReactComponent as UploadCloudIcon} from \"../../assets/upload_excel_cloud_icon.svg\";\r\nimport {ReactComponent as UploadPDFIcon} from \"../../assets/editors/upload_pdf_icon.svg\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport envManager from \"../../com/envManager/EnvManager\";\r\nimport {SelectWithLabel} from \"../../com/selectWithLabel/selectWithLabel\";\r\nimport {TextInputWithLabel} from \"../../com/textInputWithLabel/textInputWithLabel\";\r\n\r\nimport moment from \"moment/moment\";\r\nimport {DatePickerComponent} from \"../../com/datePickerComponent/datePickerComponent\";\r\nimport ColorsSelector from \"../../com/colorsSelector2/ColorsSelector\";\r\nimport {AsyncImageWithLoader} from \"../../com/imageWithLoader/imageWithLoader\";\r\nimport ImageLoader from \"../../com/imageLoader/ImageLoader\";\r\nimport {createFlyerFromPdfFile, updateFlipbook} from \"../../store/actionCreators/flyerFromPdfActionCreator\";\r\nimport {startUploadingImagesProgressPopup} from \"../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport StatusPopup, {StatusPopupType} from \"../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../editor/pages/getSetttingsForPopup\";\r\nimport {FLYER_STATUSES} from \"../../globals\";\r\nimport {FlippingFlyerTocTab} from \"./flippingFlyerTocTab\";\r\nimport validator from \"validator\";\r\nimport {history} from '../../helpers/history';\r\nimport ExpandCollapseBtn from \"../../com/expandCollapseBtn/expandCollapseBtn\";\r\nimport {getDate, getIconStyle} from \"../../globals/globFunctions\";\r\nimport FontsSelect from \"../../com/fontsSelect/fontsSelect\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n backIconWrapper: {\r\n display: `flex`,\r\n justifyContent: `flex-start`,\r\n position: `absolute`,\r\n top: `12px`,\r\n left: `12px`,\r\n zIndex: 1\r\n },\r\n backToFlyersBtn: {\r\n '&.MuiButtonBase-root': {\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n height: `40px`,\r\n width: `40px`,\r\n backgroundColor: `#014780`,\r\n '&:hover': {\r\n backgroundColor: `#014780`,\r\n },\r\n '& > svg': {\r\n width: `12px`,\r\n height: `12px`,\r\n '& > path': {\r\n fill: `#FFFFFF`\r\n }\r\n }\r\n }\r\n },\r\n flyerContentWrapper: (props: any) => ({\r\n display: `flex`,\r\n flexFlow: `column`,\r\n height: `100%`,\r\n width: `100%`,\r\n paddingBottom: \"12px\",\r\n // margin: `0 auto`,\r\n justifyContent: `center`,\r\n position: `relative`,\r\n // [theme.breakpoints.down('xs')]: {\r\n // width: `100%`\r\n // }\r\n }),\r\n flyerContent: {\r\n flex: `1 1 auto`,\r\n height: `0px`, overflow: `auto`,\r\n display: `flex`,\r\n flexFlow: `column`,\r\n // '&::-webkit-scrollbar': {\r\n // width: `12px`,\r\n // height: `10px`\r\n // },\r\n //\r\n // '&::-webkit-scrollbar-track': {\r\n // webkitBoxShadow: `inset 0 0 6px rgba(0,0,0,0.3)`,\r\n // borderRadius: `10px`,\r\n // backgroundColor: `#e4e4e433`\r\n // },\r\n //\r\n // '&::-webkit-scrollbar-thumb': {\r\n // borderRadius: `10px`,\r\n // boxShadow: `inset 0 0 6px rgba(0,0,0,0.5)`,\r\n // }\r\n },\r\n datePickerWrapper: {\r\n position: `relative`,\r\n display: `flex`,\r\n flexFlow: `row`,\r\n width: `100%`,\r\n border: `1px solid black`,\r\n cursor: \"pointer\"\r\n },\r\n captionWrapper: {},\r\n urlWrapper: {},\r\n languageWrapper: {},\r\n durationWrapper: {},\r\n uploadPdfPagesWrapper: {\r\n minHeight: `168px`,\r\n maxHeight: `168px`,\r\n display: `flex`,\r\n flexFlow: `row`,\r\n alignItems: `center`,\r\n marginBottom: \"16px\",\r\n padding: \"16px\",\r\n columnGap: `2%`\r\n },\r\n previewFlyerFirstPageBox: {\r\n width: `40%`,\r\n height: `100%`,\r\n maxHeight: `100%`,\r\n maxWidth: `100%`\r\n },\r\n\r\n uploadButton: {\r\n '&.MuiButtonBase-root': {\r\n padding: `10px 0`,\r\n height: `100%`,\r\n flex: `1 1 auto`,\r\n // width: `100%`,\r\n // height: `64px`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n border: `2px dashed #888888`,\r\n borderRadius: `0`,\r\n boxShadow: `none`,\r\n backgroundColor: `#ffffff`,\r\n '&:hover': {\r\n backgroundColor: `#ffffff`,\r\n boxShadow: `none`\r\n }\r\n }\r\n },\r\n uploadLogoWrapper: {\r\n display: `flex`,\r\n flexFlow: `row`,\r\n width: `100%`,\r\n height: `64px`,\r\n margin: `20px 0 15px`,\r\n padding: 0,\r\n columnGap: `2%`\r\n },\r\n uploadLogoButton: {\r\n '&.MuiButtonBase-root': {\r\n // width: `50%`,\r\n flex: `1 1 auto`,\r\n height: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n border: `2px dashed #888888`,\r\n borderRadius: `0`,\r\n boxShadow: `none`,\r\n backgroundColor: `#ffffff`,\r\n '&:hover': {\r\n backgroundColor: `#ffffff`,\r\n boxShadow: `none`\r\n }\r\n }\r\n },\r\n uploadedLogoView: {\r\n width: `40%`,\r\n maxWidth: `100%`,\r\n maxHeight: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n },\r\n dropdownBtn: {\r\n '&.MuiButton-root': {\r\n display: `flex`,\r\n justifyContent: `space-between`,\r\n width: `100%`,\r\n borderRadius: `5px`,\r\n boxShadow: `none`,\r\n height: `36px`,\r\n backgroundColor: `#88888880`,\r\n '&:hover': {\r\n backgroundColor: `#88888880`,\r\n boxShadow: `none`\r\n },\r\n '& > .MuiTypography-root': {\r\n textAlign: `start`,\r\n padding: `0 5px`,\r\n color: `#000000`,\r\n fontWeight: `500`\r\n },\r\n '& > .MuiTouchRipple-root': {\r\n color: `white`\r\n }\r\n }\r\n },\r\n dropdownIcon: {\r\n width: `40px`,\r\n height: `100%`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n '& > svg': {\r\n transition: `transform 0.5s ease-in`,\r\n },\r\n '&.active > svg': {\r\n transform: `rotate(90deg)`,\r\n }\r\n },\r\n dropdownContentWrapper: {\r\n width: `100%`,\r\n backgroundColor: `red`,\r\n display: `flex`,\r\n overflow: `hidden`,\r\n height: `0px`,\r\n transition: `height 0.5s ease-in`,\r\n // display: `none`,\r\n },\r\n dropdownContent: {},\r\n dropdownSelector: {\r\n height: `48px`,\r\n '& .font_selector__single-value': {\r\n opacity: 1\r\n }\r\n },\r\n controlButton: {\r\n '&.MuiButton-root': {\r\n width: `100%`,\r\n color: `initial`,\r\n background: `#014780`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n height: `48px`,\r\n margin: `15px 10px 0`,\r\n borderRadius: `0`,\r\n '&:hover': {\r\n background: `#014780`,\r\n opacity: `0.7`\r\n },\r\n '&:disabled': {\r\n opacity: `0.5`\r\n }\r\n\r\n }\r\n\r\n },\r\n tabs: {\r\n display: \"flex\",\r\n width: `100%`,\r\n minHeight: `50px`,\r\n // flexShrink: `0`,\r\n '& > .MuiButton-root': {\r\n width: `100%`,\r\n borderRadius: `0`,\r\n backgroundColor: `#D0E0F0`,\r\n color: `initial`,\r\n '&:hover': {\r\n backgroundColor: `#D0E0F0`,\r\n }\r\n }\r\n },\r\n activeTab: (props: any) => ({\r\n '&.MuiButton-root': {\r\n width: `100%`,\r\n borderRadius: `0`,\r\n backgroundColor: `#ffffff`,\r\n color: `initial`,\r\n borderTop: props.isXs ? `2px solid #2A38BB`: \"none\",\r\n '& > .MuiTypography-root': {\r\n color: `#2A38BB`,\r\n fontWeight: `700`\r\n },\r\n '&:hover': {\r\n backgroundColor: `#ffffff`,\r\n }\r\n }\r\n }),\r\n tabsPanel: {\r\n overflow: \"auto\",\r\n padding: `0 16px`\r\n },\r\n radioBtnGroup: {\r\n justifyContent: `space-between`,\r\n \"& > .MuiFormControlLabel-root\": {\r\n // marginLeft: `-6px`,\r\n // marginRight: `0`,\r\n // marginBottom: `0`,\r\n margin: `8px 0 0 0px`,\r\n \"& > .MuiRadio-root\": {\r\n padding: `3px`,\r\n },\r\n },\r\n },\r\n}))\r\n\r\nexport interface DefaultFlyerStateForSelfService {\r\n caption?: string;\r\n displayCaption?: string;\r\n language?: { value: string | undefined; label: string, id: number };\r\n startDate?: any;\r\n endDate?: any;\r\n pdfFile?: File | null;\r\n guiColor?: string;\r\n fontFamily?: string;\r\n logo?: string | null;\r\n logoFile?: File | null;\r\n bgColor?: string;\r\n pages?: FlyerPageDto[];\r\n bgImage?: string;\r\n bgImageFile?: File | null;\r\n flyerId?: number,\r\n flyerStatusCode?: string;\r\n homePage?: string;\r\n iconStyle?: IconStyleDto;\r\n}\r\n\r\ninterface Props {\r\n isSm?: boolean;\r\n activeFlyers?: FlyerDto[];\r\n rightPanelAnimationTimeInMs?: number\r\n\r\n}\r\n\r\nexport const FlippingFlyersCatalogCreateEditFlyer: React.FC = ({\r\n isSm = true,\r\n activeFlyers = [],\r\n rightPanelAnimationTimeInMs= 0\r\n }) => {\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let flippingFlyerState = useTypedSelector((state) => state.flippingFlyer);\r\n let flyersState = useTypedSelector((state) => state.flyers);\r\n let flyerDataFromPdf = useTypedSelector((state) => state.flyerDataFromPdf);\r\n let uploadImagesPopup = useTypedSelector((state) => state.uploadImagesPopup);\r\n const {isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n const dispatch = useDispatch();\r\n const {flyerId} = useParams();\r\n const [isLoading, setLoading] = useState(false);\r\n const startDateRef = useRef(null);\r\n const endDateRef = useRef(null);\r\n const isXs = useMediaQuery(`(max-width:599px)`);\r\n const stylesProperties = {\r\n isXs: isXs,\r\n isSm: isSm\r\n }\r\n // console.table(FLYER_STATUSES);\r\n const classes = useStyles(stylesProperties);\r\n const [flyerState, setFlyerState] = useState({});\r\n const [defaultFlyerState, setDefaultFlyerState] = useState({});\r\n // const [isOpenToCSection, setOpenToCSection] = useState(false);\r\n // const [isOpenBrandingSection, setOpenBrandingSection] = useState(false);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const [tabPanelIndex, setTabPanelIndex] = useState(0);\r\n const [isImageUrlSelected, setImageUrlMain] = useState(false);\r\n const [isModalPopup, changeModalStatus] = useState(false);\r\n const [modalName, setModalName] = useState('');\r\n const languages = flyersState?.languageCultures?.map((lang: FlyerLanguageDto) => {\r\n return {\r\n value: lang.code,\r\n label: lang.caption,\r\n id: lang.id,\r\n language: {\r\n ...lang\r\n }\r\n }\r\n });\r\n const onlyHebrewPattern = new RegExp(/^[a-zA-Z0-9\\u0590-\\u05fe-_]+$/i);\r\n\r\n useEffect(() => {\r\n if (flyerState.pdfFile) {\r\n changeModalStatus(true);\r\n setModalName('uploadPdfFileToFlipbook');\r\n }\r\n }, [flyerState.pdfFile]);\r\n\r\n useEffect(() => {\r\n const stateIsNotChanged = compareDefaultItemStateWithCurrentItemState();\r\n // dispatch(someFlyerDetailsDataWasChangedInFlyerDetailsPopup(!stateIsNotChanged));\r\n }, [flyerState])\r\n\r\n useEffect(() => {\r\n if (!flyerState.pdfFile && flyerDataFromPdf.flyerId) {\r\n setLoading(true);\r\n if (flyerDataFromPdf.type === 'UPDATE_FLIPBOOK_SUCCESS' && isSm) {\r\n setLoading(false);\r\n dispatch(getFlippingFlyer(Number(flyerDetailsState.flyRecId)));\r\n }\r\n }\r\n }, [flyerDataFromPdf, flyerState.pdfFile]);\r\n\r\n // useEffect(() => {\r\n // if(flyerId){\r\n // dispatch(getFlippingFlyer(Number(flyerId)));\r\n // } else {\r\n // setLoading(false);\r\n // }\r\n // return () => {\r\n // setLoading(true);\r\n // dispatch(resetFlyerState());\r\n // }\r\n // }, [flyerId]);\r\n\r\n useEffect(() => {\r\n if (uploadImagesPopup.processingFinished && flyerDataFromPdf.flyerId && uploadImagesPopup.isOpen) {\r\n if (flyerDataFromPdf.flyerId === flyerDetailsState.flyRecId) {\r\n dispatch(getFlippingFlyer(Number(flyerDetailsState.flyRecId)));\r\n } else {\r\n // history.push(`/flipbookEditor/${flyerDataFromPdf.flyerId}`)\r\n }\r\n }\r\n }, [uploadImagesPopup.processingFinished])\r\n\r\n useEffect(() => {\r\n setLoading(flippingFlyerState.loading);\r\n // if (flippingFlyerState.type?.indexOf('_COMPLETED') === -1) {\r\n // if (flippingFlyerState.type === 'GET_FLIPPING_FLYER_ERROR') {\r\n // //go to flyers screen\r\n // goToFlyersScreen();\r\n // }\r\n // }\r\n }, [flippingFlyerState.type]);\r\n\r\n useEffect(() => {\r\n console.log(flyerDetailsState);\r\n const newState: DefaultFlyerStateForSelfService = {\r\n caption: flyerDetailsState.flyCaption,\r\n displayCaption: flyerDetailsState.flyDisplayCaption,\r\n language: getLanguage(flyerDetailsState.flyLacRec),\r\n startDate: flyerDetailsState.flyValidFromUtc ? getDate(flyerDetailsState.flyValidFromUtc) : getDate(moment(new Date()).toDate()),\r\n endDate: flyerDetailsState.flyValidToUtc ? getDate(flyerDetailsState.flyValidToUtc) : getDate(moment(new Date()).endOf('year').add(1, 'days').toDate()),\r\n pdfFile: null,\r\n guiColor: flyerDetailsState.flyGusRec?.gusPrimaryColorRgb ? flyerDetailsState.flyGusRec.gusPrimaryColorRgb : `#1A1483`,\r\n fontFamily: flyerDetailsState.flyGusRec?.gusFont ? flyerDetailsState.flyGusRec.gusFont : `Roboto`,\r\n logo: flyerDetailsState.flyGusRec?.gusLogoUrl ? flyerDetailsState.flyGusRec.gusLogoUrl : null,\r\n bgColor: flyerDetailsState.flyGusRec?.gusBackgroundColorRgb ? flyerDetailsState.flyGusRec.gusBackgroundColorRgb : `#ffffff`,\r\n pages: flyerDetailsState.flyerPages ? flyerDetailsState.flyerPages : [],\r\n bgImage: flyerDetailsState.flyGusRec?.gusBackgroundImageUrl ? flyerDetailsState.flyGusRec?.gusBackgroundImageUrl : ``,\r\n flyerId: flyerDetailsState.flyRecId,\r\n flyerStatusCode: flyerDetailsState.flyFstRec.fstCode ? flyerDetailsState.flyFstRec.fstCode.toString() : `1`,\r\n homePage: flyerDetailsState?.urls?.accountHomePageUrl || \"www.xcircular.com\",\r\n iconStyle: getIconStyle(flyerDetailsState.flyGusRec?.gusIconContrast || 1)\r\n }\r\n setImageUrlMain(!Boolean(flyerDetailsState.flyGusRec?.gusBackgroundColorRgb) && Boolean(flyerDetailsState.flyGusRec?.gusBackgroundImageUrl));\r\n setFlyerState(newState);\r\n setDefaultFlyerState(newState);\r\n }, [\r\n flyerDetailsState.flyCaption,\r\n flyerDetailsState.flyDisplayCaption,\r\n flyerDetailsState.flyLacRec,\r\n flyerDetailsState.flyValidFromUtc,\r\n flyerDetailsState.flyValidToUtc,\r\n flyerDetailsState.flyGusRec,\r\n flyerDetailsState.flyerPages,\r\n flyerDetailsState.flyRecId,\r\n flyerDetailsState.flyFstRec,\r\n flyerDetailsState.urls,\r\n ])\r\n\r\n const getLanguage = (\r\n lang: LanguageCulture | undefined\r\n ): { value: string | undefined; label: string; id: number } => {\r\n return lang !== null ?\r\n {\r\n value: lang!.lacCode!,\r\n label: lang!.lacCaption!,\r\n id: lang!.lacRecId!\r\n } : {\r\n value: \"en-US\",\r\n label: `English (US)`,\r\n id: 1\r\n };\r\n };\r\n\r\n const goToFlyersScreen = () => {\r\n history.push(`/flyersCatalog`)\r\n }\r\n\r\n const onChangeDisplayCaption = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n value.trimStart().replace(/\\s\\s+/g, ' ');\r\n setFlyerState({\r\n ...flyerState,\r\n displayCaption: value.trimStart().replace(/\\s\\s+/g, ' '),\r\n caption: value.trim().replace(/\\s\\s+/g, ' ').replace(/ /g, '-')\r\n })\r\n }\r\n\r\n const onChangeHomePageUrl = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n setFlyerState({\r\n ...flyerState,\r\n homePage: value,\r\n })\r\n }\r\n\r\n const onChangeDatePicker = (value: Date, name: string) => {\r\n setFlyerState({\r\n ...flyerState,\r\n [name]: value,\r\n });\r\n }\r\n\r\n const onFileSelected = (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n if (file && flyerDetailsState.flyRecId === 0) {\r\n // history.push(`/flipbookEditor/352`)\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(createFlyerFromPdfFile(file));\r\n } else {\r\n setFlyerState({\r\n ...flyerState,\r\n pdfFile: file\r\n })\r\n //\r\n // setFlyerState({\r\n // ...flyerState,\r\n // pdfFile: file ? file : null\r\n // });\r\n }\r\n }\r\n\r\n const onGuiColorChange = (hexColor: string) => {\r\n setFlyerState({\r\n ...flyerState,\r\n guiColor: hexColor\r\n })\r\n }\r\n\r\n const onBgColorChange = (hexColor: string) => {\r\n setFlyerState({\r\n ...flyerState,\r\n bgColor: hexColor,\r\n bgImageFile: null,\r\n bgImage: ''\r\n });\r\n setImageUrlMain(false);\r\n }\r\n\r\n const onFontSelectorChange = (value: string) => {\r\n setFlyerState({\r\n ...flyerState,\r\n fontFamily: value\r\n });\r\n }\r\n\r\n const onUploadLogoFileChange = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n\r\n let imageLoader = new ImageLoader();\r\n let imageDimensions = await imageLoader.loadImageDimensions(file);\r\n if (imageDimensions.width > 300 || imageDimensions.height > 200) {\r\n alert('Logo must be smaller than 300x200px.')\r\n return;\r\n }\r\n\r\n setFlyerState({\r\n ...flyerState,\r\n logoFile: file,\r\n logo: URL.createObjectURL(file)\r\n });\r\n\r\n\r\n //props.state.uploadLogo = newLogo;\r\n\r\n // props.stateChange();\r\n }\r\n\r\n const changeFlyerStatus = (event: React.ChangeEvent) => {\r\n setFlyerState({\r\n ...flyerState,\r\n [event.target.name]: event.target.value,\r\n });\r\n }\r\n\r\n const setIconStyle = (iconStyle: IconStyleDto) => {\r\n setFlyerState({\r\n ...flyerState,\r\n iconStyle: iconStyle,\r\n });\r\n }\r\n\r\n const onUploadBgFileChange = async (event: React.ChangeEvent) => {\r\n const file = event.target.files![0];\r\n\r\n /*\r\n let imageLoader = new ImageLoader();\r\n let imageDimensions = await imageLoader.loadImageDimensions(file);\r\n if (imageDimensions.width > 300 || imageDimensions.height > 200) {\r\n alert('Logo must be smaller than 300x200px.')\r\n return;\r\n }\r\n */\r\n setFlyerState({\r\n ...flyerState,\r\n bgImageFile: file ? file : null,\r\n bgImage: file ? URL.createObjectURL(file) : ``\r\n });\r\n setImageUrlMain(true);\r\n\r\n //props.state.uploadLogo = newLogo;\r\n\r\n // props.stateChange();\r\n }\r\n\r\n const compareDefaultItemStateWithCurrentItemState = (): boolean => {\r\n const stringDefaultState = JSON.stringify(flyerState);\r\n const stringCurrentState = JSON.stringify(defaultFlyerState);\r\n return stringDefaultState === stringCurrentState;\r\n }\r\n\r\n const checkAllRequiredFieldsInPopup = (): boolean => {\r\n return onlyHebrewPattern.test(flyerState.caption!);\r\n // return flyerState.pdfFile !== null && flyerState.caption !== '' && !onlyHebrewPattern.test(flyerState.caption!);\r\n }\r\n\r\n const checkAllRequirementsForSavingFlyer = (): boolean => {\r\n //disable if one of condition is true\r\n return compareDefaultItemStateWithCurrentItemState() || !checkAllRequiredFieldsInPopup() || !validator.isURL(flyerState?.homePage ? flyerState?.homePage : \"\");\r\n }\r\n\r\n const onTabClick = (e: React.MouseEvent) => {\r\n setTabPanelIndex(e.currentTarget.tabIndex);\r\n }\r\n\r\n const openFlyerInTab = () => {\r\n window.open(`${envManager.flyerAppAddress}/${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${userDto.company}/${flyerState.caption?.trim()}`, 'urlFromFlippingEditorScreen');\r\n }\r\n\r\n const onSaveFlyer = () => {\r\n dispatch(updateFlipbook(flyerState, flyersState));\r\n }\r\n\r\n const onCloseConfirmPopup = () => {\r\n changeModalStatus(false);\r\n setFlyerState({\r\n ...flyerState,\r\n pdfFile: null\r\n })\r\n }\r\n\r\n const confirmUploadPdfToFlipbook = () => {\r\n dispatch(startUploadingImagesProgressPopup());\r\n dispatch(updateFlipbook(flyerState, flyersState));\r\n onCloseConfirmPopup();\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: modalName,\r\n confirmOnClick: {\r\n uploadPdfFileToFlipbook: confirmUploadPdfToFlipbook\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n return (\r\n \r\n {\r\n !isSm &&\r\n \r\n }\r\n {\r\n (isShowRightPanel && (isLoading && activeFlyers.length === 1) || (isLoading && flyerId)) &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n isShowRightPanel && activeFlyers.length === 0 && !flyerId &&\r\n \r\n \r\n No flyer selected\r\n \r\n \r\n }\r\n\r\n {\r\n isShowRightPanel && !isLoading && activeFlyers.length > 1 && !flyerId &&\r\n \r\n \r\n Please select only one Flyer\r\n \r\n \r\n\r\n }\r\n {\r\n ((!isLoading && isSm) || (activeFlyers.length === 1 && !isLoading && isShowRightPanel)) &&\r\n <>\r\n {\r\n isSm &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n {\r\n isSm &&\r\n \r\n \r\n {flyerDetailsState.flyRecId ? `Edit ${flyerDetailsState.flyDisplayCaption}` : `Create New Flipbook`}\r\n \r\n \r\n }\r\n \r\n 0 ? `168px` : `84px`\r\n }}>\r\n {\r\n flyerState?.pages && flyerState.pages.length > 0 &&\r\n \r\n \r\n \r\n }\r\n 0 ? `column` : `row`\r\n }}\r\n >\r\n \r\n \r\n Upload PDF File\r\n \r\n \r\n \r\n \r\n {\r\n flyerDetailsState.flyRecId !== 0 &&\r\n // flyerState.pages && flyerState.pages.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n tabPanelIndex === 0 &&\r\n \r\n \r\n \r\n \r\n Publication Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Publication URL\r\n \r\n \r\n \r\n \r\n {`${envManager.flyerAppAddress}/${flyerDetailsState.flyFltRec?.fltCode === 1 ? \"flipbook\" : \"flyer\"}/${userDto.company}/${flyerState.caption?.trim()}`}\r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n {\r\n }}\r\n selectArray={languages}\r\n labelCaption={'language:'}\r\n isBold={true}\r\n isRequired={true}\r\n readonly={true}\r\n fontSize={`16`}\r\n defaultFontForLabel={true}\r\n />\r\n \r\n \r\n \r\n \r\n Start & End Dates\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Flyer status\r\n \r\n \r\n \r\n {FLYER_STATUSES.map((status: FlyerStatus) => {\r\n return (\r\n }\r\n label={status.fstCaption}\r\n sx={{width: status.fstCode === 2 ? `20%` : `30%`}}\r\n />\r\n )\r\n })}\r\n \r\n\r\n \r\n \r\n }\r\n {\r\n tabPanelIndex === 1 &&\r\n \r\n \r\n \r\n \r\n Home Page\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Set GUI Color\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Set Font\r\n \r\n \r\n \r\n \r\n \r\n \r\n{/*\r\n \r\n \r\n \r\n Set Icon Style\r\n \r\n \r\n \r\n \r\n \r\n \r\n*/}\r\n \r\n {\r\n flyerState.logo &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n {`Upload Logo`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Set Background Color\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n flyerState.bgImage && isImageUrlSelected &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n {`Upload Background`}\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n tabPanelIndex === 2 &&\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n {\r\n flyerDetailsState.flyRecId !== 0 &&\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n Open\r\n \r\n \r\n \r\n }\r\n \r\n \r\n }\r\n {isModalPopup && \r\n }\r\n \r\n )\r\n}","export default __webpack_public_path__ + \"static/media/flyer_image_icon_.07f4eb5a.png\";","import React from \"react\";\r\nimport {Box, Typography, useMediaQuery} from \"@mui/material\";\r\n// import {ReactComponent as FlyerIcon} from \"../../assets/flyer_image_icon_.svg\";\r\nimport flyerIcon from \"../../assets/flyer_image_icon_.png\"\r\nimport {useTypedSelector} from \"../../hooks/useTypeSelector\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {useParams} from \"react-router-dom\";\r\nimport {flipbookEditorUrlDto} from \"../../dtos\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n selfServiceSidePanel: {\r\n width: `100%`,\r\n height: `100%`,\r\n backgroundColor: `#F0F3FD`,\r\n display: `flex`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n padding: `10px`,\r\n // [theme.breakpoints.down('sm')]: {\r\n // backgroundColor: `#ffffff`\r\n // }\r\n }\r\n}))\r\n\r\n\r\nexport const SidePanel = () => {\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const {flyerId} = useParams();\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const properties = {\r\n isSm: isSm\r\n };\r\n const classes = useStyles(properties);\r\n let text = flyersState.flyers.length ? `Click to open a flyer\r\nor create a new one for free!` : `You have no active flyers yet, \r\nclick New Flyer to create one for free`;\r\n if(flyerId){\r\n if(flyerId === '-1'){\r\n text = `Create New Publication`;\r\n } else {\r\n text = `Edit Publication`;\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n \"\"/\r\n \r\n \r\n Welcome to\r\n \r\n \r\n XC Flyers Editor\r\n \r\n \r\n {\r\n text\r\n }\r\n \r\n \r\n \r\n )\r\n}","var _path, _path2;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgErrorIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 10,\n viewBox: \"0 0 10 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.81817 9.05e-05L9.99991 8.18183L8.18174 10L0 1.81826L1.81817 9.05e-05Z\",\n fill: \"#E22929\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.00019418 8.18175L8.18194 0L10.0001 1.81816L1.81836 9.99991L0.00019418 8.18175Z\",\n fill: \"#E22929\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgErrorIcon);\nexport default __webpack_public_path__ + \"static/media/error_icon.ec8dd167.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\r\nimport {Box, Button, Grid, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {SidePanel} from \"../../flippingFlyersCatalog/sidePanel\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {toggleFlyerDetailsPopup} from \"../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\nimport {ReactComponent as PlusIcon} from \"./../../../assets/plus_icon.svg\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n welcomeScreenWrapper: {\r\n height: \"100%\"\r\n },\r\n sidePanel: (props: any) => ({\r\n display: props.isSm ? `none` : `block`\r\n // [theme.breakpoints.down('sm')]: {\r\n // display: `none`\r\n // }\r\n }),\r\n userControlsWrapper: {\r\n display: `flex`,\r\n flexFlow: `column`,\r\n height: `100%`\r\n },\r\n sidePanelForMobile: (props: any) => ({\r\n display: props.isSm ? `block` : \"none\",\r\n // [theme.breakpoints.down('sm')]: {\r\n // display: `block`\r\n // }\r\n }),\r\n contentRightPanel: {\r\n display: `flex`,\r\n flexFlow: `column`,\r\n height: `100%`,\r\n padding: `0 12px 12px`,\r\n justifyContent: `center`,\r\n position: `relative`,\r\n },\r\n buttonWrapper: {\r\n display: `flex`,\r\n },\r\n addNewFlyer: (props: any) => ({\r\n '&.MuiButton-root': {\r\n width: props.isXs ? `100%` : `280px`,\r\n color: `initial`,\r\n backgroundColor: `#2A38BB`,\r\n // background: `linear-gradient(135.47deg, #DD5A01 3.9%, #F0CA21 100%)`,\r\n height: `48px`,\r\n margin: `15px 0 15px`,\r\n '&:hover': {\r\n backgroundColor: `#2A38BBCC`,\r\n },\r\n // [theme.breakpoints.down('xs')]: {\r\n // width: `100%`\r\n // }\r\n }\r\n }),\r\n\r\n}));\r\n\r\n\r\nexport const WelcomeScreen = () => {\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const isXs = useMediaQuery(`(max-width:419px)`);\r\n const isHSm = useMediaQuery(`(min-height:749px)`);\r\n const dispatch = useDispatch();\r\n const properties = {\r\n isSm: isSm,\r\n isXs: isXs\r\n };\r\n const classes = useStyles(properties);\r\n\r\n\r\n const handleClick = () => {\r\n dispatch(toggleFlyerDetailsPopup(true));\r\n // history.push(`/flipbookEditor/-1`)\r\n };\r\n\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n isHSm &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n New Flyer\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport styles from './flyersCatalog.module.scss'\r\nimport {OrangeButton} from \"../../../com/pagesTab/orangeBtn/OrangeButton\";\r\nimport {ReactComponent as DeleteIcon} from \"../../../../assets/editors/delete_icon.svg\";\r\nimport {ReactComponent as ArchiveIcon} from \"../../../../assets/editors/archive_icon.svg\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {FlyerClassDto, FlyerDto, SelectPageForTabsDto, UserDto} from \"../../../../dtos\";\r\nimport {history} from \"../../../../helpers/history\";\r\nimport {\r\n getFlippingFlyer,\r\n} from \"../../../../store\";\r\nimport {getFlyers} from \"../../../../store\";\r\nimport {ActionType} from \"../../../../store/actionTypes\";\r\nimport {Flyer} from \"./flyer/flyer\";\r\nimport {PageSpinner} from \"../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport envManager from \"../../../../com/envManager/EnvManager\";\r\nimport {\r\n archiveFlyer,\r\n clearFlyersData,\r\n hardDeleteFlyer,\r\n softDeleteFlyer\r\n} from \"../../../../store/actionCreators/flyersActionCreators\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE,\r\n EVENT_DATA_TYPE_CREAT_NEW_FLYER,\r\n addEventDataTypeListener,\r\n removeEventTypeListener,\r\n EVENT_DATA_TYPE_OPEN_PAGES_FLYER,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n} from \"../../../../globals/EventDispatcher\";\r\nimport {setSelectedPageForTabs} from \"../../../../store/actionCreators/pagesActionCreators\";\r\nimport {CustomDataEvent} from \"../../../../globals/CustomDataEvent\";\r\nimport {Box, Button, CircularProgress, Grid, useMediaQuery} from \"@mui/material\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport Select from \"react-select\";\r\nimport {OptionTypeBase} from \"react-select/src/types\";\r\nimport {\r\n toggleFlyerDetailsPopup,\r\n toggleFlyerRightPanel\r\n} from \"../../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../pages/getSetttingsForPopup\";\r\nimport {FlyerDetailsRightPanel} from \"../../flyerDetailsPopup/flyerDetailsRightPanel\";\r\nimport {\r\n FlippingFlyersCatalogCreateEditFlyer\r\n} from \"../../../flippingFlyersCatalog/flippingFlyersCatalogCreateEditFlyer\";\r\nimport {WelcomeScreen} from \"../../welcomeScreen/welcomeScreen\";\r\nimport {resetFlyerState} from \"../../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {getDate} from \"../../../../globals/globFunctions\";\r\nimport {\r\n changeFlyersClassFilter,\r\n changeFlyersViewFilter\r\n} from \"../../../../store/actionCreators/flyersFiltersActionCreators\";\r\n\r\nconst customStyles = {\r\n control: (base: any, state: any) => ({\r\n ...base,\r\n border: \"1px solid #ced4da\",\r\n // This line disable the blue border\r\n boxShadow: state.isFocused ? 0 : 0,\r\n width: `120px`,\r\n cursor: \"pointer\",\r\n '&:hover': {\r\n // border: state.isFocused ? 0 : 0\r\n border: \"1px solid #ced4da\",\r\n }\r\n }),\r\n}\r\n\r\nconst customStylesClassesView = {\r\n control: (base: any, state: any) => ({\r\n ...base,\r\n border: \"1px solid #ced4da\",\r\n // This line disable the blue border\r\n boxShadow: state.isFocused ? 0 : 0,\r\n width: `220px`,\r\n cursor: \"pointer\",\r\n '&:hover': {\r\n // border: state.isFocused ? 0 : 0\r\n border: \"1px solid #ced4da\",\r\n }\r\n }),\r\n menuList: (base: any, state: any) => ({\r\n ...base,\r\n maxHeight: `400px`\r\n })\r\n}\r\n\r\nconst selectedOptions = [\r\n {\r\n value: `All`,\r\n label: `All`\r\n },\r\n {\r\n value: `In Edit`,\r\n label: `In Edit`\r\n },\r\n {\r\n value: `QA`,\r\n label: `QA`\r\n },\r\n {\r\n value: `Published`,\r\n label: `Published`\r\n },\r\n {\r\n value: `Expired`,\r\n label: `Expired`\r\n },\r\n]\r\n\r\n// const selectedOptions = ['All', 'In Edit', 'QA', 'Published'];\r\n// const selectedOptions = ['All', 'In Edit', 'QA', 'Published', 'Inactive'];\r\n\r\nexport interface FlyersStateDto {\r\n archiveCount: number,\r\n softDeleteCount: number,\r\n showLoader: boolean,\r\n flyersData: FlyerDto[],\r\n activeFlyers: FlyerDto[],\r\n lastActivatedFlyer?: FlyerDto\r\n url: string,\r\n isSoftDelete?: boolean,\r\n isModalPopup?: boolean,\r\n}\r\n\r\nconst useStyles = makeStyles(() => ({\r\n headerContainer: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n padding: \"8px 12px\",\r\n backgroundColor: \"#FFFFFF\",\r\n fontSize: \"14px\",\r\n // minHeight: \"50px\",\r\n alignItem: 'center',\r\n borderBottom: \"1px solid #e4e4e4\"\r\n\r\n },\r\n headerItem: {\r\n alignItems: 'center'\r\n },\r\n boxes: {\r\n display: 'flex',\r\n height: '100%',\r\n alignItems: 'center',\r\n width: '100%',\r\n // justifyContent: 'center',\r\n '&.leftControls': {\r\n justifyContent: 'flex-start',\r\n columnGap: \"8px\"\r\n },\r\n '&.rightControls': {\r\n justifyContent: 'flex-end',\r\n display: \"flex\",\r\n flexFlow: \"row\",\r\n columnGap: \"24px\",\r\n padding: \"0 32px\",\r\n '& > .MuiButton-root': {\r\n '&:hover': {\r\n opacity: `0.5`\r\n }\r\n }\r\n }\r\n },\r\n urlBox: {\r\n fontWeight: \"bold\",\r\n margin: \"5px\",\r\n cursor: \"pointer\"\r\n },\r\n buttonLeftSide: {\r\n border: `none`,\r\n background: `inherit`,\r\n alignItems: `center`,\r\n position: `relative`,\r\n maxHeight: `20px`,\r\n padding: `0`,\r\n },\r\n counterWrapper: {\r\n border: `1.5px solid #616161`,\r\n position: `absolute`,\r\n bottom: `-7px`,\r\n right: `-12px`,\r\n width: `auto`,\r\n overflow: `hidden`,\r\n /* overflow-wrap: break-word; */\r\n textOverflow: `ellipsis`,\r\n // padding: `0 5px`,\r\n maxWidth: `50px`,\r\n minWidth: `25px`,\r\n borderRadius: `20px`,\r\n textAlign: `center`,\r\n fontSize: `10px`,\r\n lineHeight: `11px`,\r\n /* letter-spacing: 0.2em; */\r\n background: `white`,\r\n fontStyle: `normal`,\r\n fontWeight: `normal`,\r\n color: '#000000',\r\n },\r\n select: {\r\n height: `36px`,\r\n border: `1px solid #d1d7db`,\r\n boxSizing: `border-box`,\r\n borderRadius: `5px`,\r\n fontWeight: '700',\r\n margin: `0 5px`,\r\n },\r\n newFlyerBtnWrapper: {\r\n // marginRight: '20px'\r\n width: \"auto\"\r\n },\r\n contentWrapper: {\r\n height: \"auto\",\r\n maxHeight: \"100%\",\r\n // flex: \"1 1 auto\",\r\n overflow: \"auto\",\r\n // display: \"flex\",\r\n // flexFlow: \"row\",\r\n // flexWrap: \"wrap\",\r\n // columnGap: \"2%\",\r\n // rowGap: \"2%\",\r\n // margin: \"5px 10px 0\",\r\n padding: \"0 12px 12px\",\r\n marginTop: \"0!important\",\r\n // \"&::-webkit-scrollbar\": {\r\n // width: \"12px\",\r\n // },\r\n //\r\n // \"&::-webkit-scrollbar-track\": {\r\n // WebkitBoxShadow: \"inset 0 0 6px rgba(0, 0, 0, 0.3)\",\r\n // borderRadius: \"10px\",\r\n // },\r\n //\r\n // \"&::-webkit-scrollbar-thumb\": {\r\n // borderRadius: \"10px\",\r\n // WebkitBoxShadow: \"inset 0 0 6px rgba(0, 0, 0, 0.5)\",\r\n // }\r\n }\r\n}));\r\n\r\n\r\nexport const FlyersCatalog = () => {\r\n const dispatch = useDispatch();\r\n const isMd = useMediaQuery(`(max-width:1199px)`);\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const isSm = useMediaQuery(`(max-width:899px)`);\r\n const isMdForContent = useMediaQuery(`(max-width:1299px)`);\r\n const isLg = useMediaQuery(`(max-width:1635px)`);\r\n\r\n const flyerContentRef = useRef(null);\r\n const activeFlyersRef = useRef([]);\r\n\r\n const styleProps = {};\r\n const classes = useStyles(styleProps);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n const isAccountTier1 = userDto.accountTier === 1;\r\n\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const flyerDetails = useTypedSelector((state) => state.flippingFlyer);\r\n const uploadImagesPopup = useTypedSelector((state) => state.uploadImagesPopup);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n let filtersState = useTypedSelector((state) => state.flyersFiltersState);\r\n const flyerClasses = useTypedSelector(state => state.flyerClasses);\r\n let selectedPageState = useTypedSelector((state) => state.selectPageForTabs);\r\n\r\n let {isShowCreateNewFlyerPopup, isShowRightPanel} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n\r\n const [state, setState] = useState({\r\n archiveCount: 0,\r\n softDeleteCount: 0,\r\n flyersData: [],\r\n showLoader: true,\r\n activeFlyers: [],\r\n url: '',\r\n });\r\n\r\n const [isShouldCheckCurrentFlyerStateBeforeLeave, setIsShouldCheckCurrentFlyerStateBeforeLeave] = useState(false);\r\n const [flyersForHold, setFlyersForHold] = useState([]);\r\n\r\n const [infoForPagesTab, setOpenPagesTab] = useState({\r\n isOpen: false,\r\n flyerCaption: ''\r\n });\r\n const [selectValue, setSelectValue] = useState(filtersState.viewFilter);\r\n\r\n const [selectClassesValue, setSelectClassesValue] = useState(filtersState.classFilter);\r\n\r\n const [isDisabledOptionBeforeFlyerWillBeReady, setDisabledStatus] = useState(false);\r\n const [isShowModal, setShowModal] = useState(false);\r\n const [actionIds, setActionIds] = useState([]);\r\n const [showWelcomeScreen, setShowWelcomeScreen] = useState(false);\r\n const [isShowLoader, setShowLoader] = useState(false);\r\n const [flyerClassesState, setFlyerClassesState] = useState([]);\r\n const rightPanelAnimationTimeInMs = 500;\r\n\r\n\r\n useEffect(() => {\r\n\r\n const flyerClassesData = flyerClasses?.flyerClasses?.map((flyerClass: FlyerClassDto) => {\r\n return {\r\n value: flyerClass.id,\r\n label: flyerClass.caption\r\n }\r\n });\r\n\r\n setFlyerClassesState([{\r\n value: `All`,\r\n label: `All`\r\n }, ...flyerClassesData]);\r\n\r\n }, [flyerClasses])\r\n\r\n\r\n useEffect(() => {\r\n if (isAccountTier1 && isSm && isShowRightPanel) {\r\n dispatch(toggleFlyerRightPanel())\r\n } else if (!isAccountTier1 && isMd && isShowRightPanel) {\r\n dispatch(toggleFlyerRightPanel())\r\n }\r\n }, [isSm, isMd])\r\n\r\n useEffect(() => {\r\n if (state.activeFlyers.length === 1 && flyerDetailsState.flyRecId !== 0) {\r\n try {\r\n // dispatch(clearDataForFlyer());\r\n dispatchEventDataType(EVENT_DATA_TYPE_CREAT_NEW_FLYER, false);\r\n let flyerAppAddress = envManager.flyerAppAddress\r\n\r\n let currentFlyerStatus = flyerDetailsState.flyFstRec;\r\n let statusCaption = currentFlyerStatus.fstCaption?.toLowerCase()\r\n\r\n let appUrl = '';\r\n\r\n if (statusCaption?.includes('edit')) {\r\n appUrl = flyerAppAddress = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (statusCaption?.includes('qa')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else if (statusCaption?.includes('published')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && flyerDetailsState.flyRecId) {\r\n let accountName = flyerDetailsState.flyAccRec?.accCaption;\r\n let flyerName = flyerDetailsState.flyCaption;\r\n appUrl += `flyer/${accountName}/${flyerName}`\r\n }\r\n // if (appUrl.length !== 0 && state.activeFlyers.flyRecId) {\r\n // let accountName = state.activeFlyers.flyAccRec?.accCaption;\r\n // let flyerName = state.activeFlyers.flyCaption;\r\n // appUrl += `${accountName}/${flyerName}/`\r\n // }\r\n\r\n if (statusCaption?.includes('inactive')) {\r\n appUrl = '--'\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!flyerDetailsState.flyRecId) {\r\n appUrl = '--'\r\n }\r\n // if (!state.activeFlyers.flyRecId) {\r\n // appUrl = '--'\r\n // }\r\n setState({\r\n ...state,\r\n url: appUrl\r\n })\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n } else {\r\n if (flyerDetailsState.flyRecId && state.activeFlyers.length === 1) {\r\n setState({\r\n ...state,\r\n activeFlyers: [flyerDetailsState],\r\n lastActivatedFlyer: flyerDetailsState\r\n\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n }\r\n }\r\n }, [flyerDetailsState]);\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n if (state.activeFlyers.length === 1 && !infoForPagesTab.isOpen) {\r\n const activeFlyer = state.activeFlyers.find((flyer: FlyerDto) => flyer);\r\n if (activeFlyer) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, activeFlyer.flyCaption);\r\n const signal = controller.signal;\r\n dispatch(getFlippingFlyer(activeFlyer.flyRecId!, signal));\r\n }\r\n }\r\n if ((state.activeFlyers.length > 1 || state.activeFlyers.length === 0) && !infoForPagesTab.isOpen) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n\r\n }\r\n\r\n return () => {\r\n controller.abort();\r\n };\r\n }, [state.activeFlyers]);\r\n\r\n\r\n useEffect(() => {\r\n // if (userDto) {\r\n // const userDtoParse: UserDto = JSON.parse(userDto);\r\n // if (userDtoParse.accountTier === 1 || isMobile) {\r\n // history.push('/flipbookEditor');\r\n // }\r\n // }\r\n const data = {\r\n selectedTabNum: 0,\r\n pageNo: 0,\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n const isFirstTimeCall = localStorage.getItem(`userEnterForFirstTime${userDto?.userId}`) === \"true\";\r\n setShowLoader(isFirstTimeCall);\r\n dispatch(getFlyers(false, false));\r\n\r\n addEventDataTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER, (data: CustomDataEvent) => {\r\n setOpenPagesTab({\r\n isOpen: data.data.isOpen,\r\n flyerCaption: data.data.flyerCaption\r\n });\r\n });\r\n return () => {\r\n dispatch(clearFlyersData());\r\n dispatchEventDataType(EVENT_DATA_TYPE_OPEN_PAGES_FLYER, {\r\n isOpen: false,\r\n flyerCaption: ``,\r\n });\r\n removeEventTypeListener(EVENT_DATA_TYPE_OPEN_PAGES_FLYER);\r\n if (activeFlyersRef.current.length) {\r\n sessionStorage.setItem(\"activeFlyersArray\", `flyer${activeFlyersRef.current[0].flyRecId}`);\r\n }\r\n }\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', keydownHandlerFlyersScreen);\r\n // const scrollPosition = sessionStorage.getItem(\"activeFlyersArray\");\r\n // const contentDiv = document.getElementById(\"flyersContentContainer\");\r\n // if (scrollPosition && contentDiv) {\r\n // contentDiv.scrollTo(0, parseInt(scrollPosition));\r\n // }\r\n activeFlyersRef.current = state.activeFlyers;\r\n return () => {\r\n window.removeEventListener('keydown', keydownHandlerFlyersScreen);\r\n }\r\n }, [state])\r\n\r\n useEffect(() => {\r\n if (isXs) {\r\n setState({\r\n ...state,\r\n activeFlyers: [],\r\n showLoader: false,\r\n lastActivatedFlyer: {},\r\n })\r\n }\r\n }, [isXs]);\r\n\r\n\r\n useEffect(() => {\r\n if (flyersState.type === ActionType.GET_FLYERS_SUCCESS) {\r\n const flyersAfterFiltering = getFlyersAfterAllFiltersFromFilters(selectValue.value, 'view');\r\n if (flyersAfterFiltering.flyersData.length > 0) {\r\n if (flyerDetailsState.flyCaption !== \"\") {\r\n const activeFlyer = flyersAfterFiltering.flyersData.find((key: FlyerDto) => key.flyRecId === flyerDetailsState.flyRecId);\r\n setState({\r\n ...state,\r\n ...flyersAfterFiltering,\r\n activeFlyers: isXs ? [] : activeFlyer ? [activeFlyer] : [flyersAfterFiltering.flyersData[0]],\r\n // flyersData: flyersState.flyers,\r\n archiveCount: flyersState.archivedFlyersCount!,\r\n softDeleteCount: flyersState.softDeletedFlyersCount!,\r\n showLoader: false,\r\n lastActivatedFlyer: isXs ? {} : activeFlyer ? activeFlyer : flyersAfterFiltering.flyersData[0],\r\n })\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, activeFlyer ? activeFlyer.flyCaption : flyersState.flyers[0].flyCaption);\r\n } else {\r\n setState({\r\n ...state,\r\n ...flyersAfterFiltering,\r\n activeFlyers: isXs ? [] : [flyersAfterFiltering.flyersData[0]],\r\n // flyersData: flyersState.flyers,\r\n archiveCount: flyersState.archivedFlyersCount!,\r\n softDeleteCount: flyersState.softDeletedFlyersCount!,\r\n showLoader: false,\r\n lastActivatedFlyer: isXs ? {} : flyersAfterFiltering.flyersData[0],\r\n\r\n })\r\n\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyersState.flyers[0].flyCaption);\r\n }\r\n } else {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n setState({\r\n ...state,\r\n archiveCount: flyersState.archivedFlyersCount!,\r\n softDeleteCount: flyersState.softDeletedFlyersCount!,\r\n showLoader: false\r\n })\r\n }\r\n removeWelcomeAndLoaderScreen();\r\n } else if (flyersState.type === ActionType.SOFT_DELETE_FLYER_SUCCESS || flyersState.type === ActionType.ARCHIVE_FLYER_SUCCESS) {\r\n if (flyersState.type === ActionType.SOFT_DELETE_FLYER_SUCCESS) {\r\n setState({\r\n ...state,\r\n softDeleteCount: state.softDeleteCount + (state.activeFlyers.length && actionIds.length === 0 ? state.activeFlyers.length : actionIds.length),\r\n })\r\n\r\n } else {\r\n setState({\r\n ...state,\r\n archiveCount: state.archiveCount + (state.activeFlyers.length && actionIds.length === 0 ? state.activeFlyers.length : actionIds.length),\r\n })\r\n }\r\n } else if (flyersState.type === ActionType.HARD_DELETE_FLYER_SUCCESS) {\r\n setState({\r\n ...state,\r\n showLoader: false\r\n })\r\n } else if (flyersState.type === ActionType.SOFT_DELETE_FLYER_ERROR\r\n || flyersState.type === ActionType.ARCHIVE_FLYER_ERROR\r\n || flyersState.type === ActionType.GET_FLYERS_ERROR\r\n || flyersState.type === ActionType.HARD_DELETE_FLYER_ERROR) {\r\n setState({\r\n ...state,\r\n showLoader: false\r\n })\r\n } else if (flyersState.type === ActionType.GET_FLYERS_START) {\r\n setState({\r\n archiveCount: 0,\r\n softDeleteCount: 0,\r\n flyersData: [],\r\n activeFlyers: [],\r\n url: '',\r\n showLoader: flyersState.loading\r\n })\r\n } else if (flyersState.type === ActionType.CHANGE_FLYERS_STATE) {\r\n // if (existedActiveFlyers.length >= 1 && !infoForPagesTab.isOpen) {\r\n // dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n // dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n // }\r\n if (infoForPagesTab.isOpen) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n try {\r\n const data = {\r\n pageNo: 0,\r\n selectedTabNum: 1\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, infoForPagesTab.flyerCaption);\r\n\r\n } catch (e) {\r\n\r\n }\r\n }\r\n const flyersAfterFiltering = getFlyersAfterAllFiltersFromFilters(selectValue.value, 'view');\r\n const existedActiveFlyers = flyersAfterFiltering.flyersData?.filter((flyer: FlyerDto) => {\r\n const isActiveFlyerExist = state.activeFlyers?.some((activeFlyer: FlyerDto) => flyer.flyRecId === activeFlyer.flyRecId);\r\n if (isActiveFlyerExist) {\r\n return flyer;\r\n }\r\n });\r\n if (isShowCreateNewFlyerPopup) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyersState.flyers[0].flyCaption);\r\n\r\n setState({\r\n ...state,\r\n ...flyersAfterFiltering,\r\n activeFlyers: isXs ? [] : [flyersAfterFiltering.flyersData[0]],\r\n // flyersData: flyersState.flyers,\r\n showLoader: false,\r\n lastActivatedFlyer: isXs ? {} : flyersAfterFiltering.flyersData[0],\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n ...flyersAfterFiltering,\r\n activeFlyers: isXs ? [] : existedActiveFlyers.length >= 1 ? existedActiveFlyers : flyersAfterFiltering.activeFlyers.length ? flyersAfterFiltering.activeFlyers : [],\r\n // flyersData: flyersState.flyers,\r\n showLoader: false,\r\n lastActivatedFlyer: isXs ? {} : flyersAfterFiltering.flyersData[0],\r\n })\r\n }\r\n removeWelcomeAndLoaderScreen();\r\n }\r\n\r\n }, [flyersState]);\r\n\r\n\r\n useEffect(() => {\r\n if (flyerDetails.type === ActionType.GET_FLIPPING_FLYER_COMPLETED && (flyersState.type === ActionType.GET_FLYERS_COMPLETED || ActionType.CHANGE_FLYERS_STATE)) {\r\n if (flyerDetails.flyerDto?.flyRecId && state.activeFlyers.length === 1) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n if(isUserViewer){\r\n setDisabledStatus(true);\r\n } else {\r\n setDisabledStatus(false);\r\n }\r\n\r\n // dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n // dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyerDetails.flyerDto.flyCaption);\r\n }\r\n } else if (flyerDetails.type === ActionType.POST_FLIPPING_FLYER_START) {\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n // setShowLoader(true);\r\n } else if (flyerDetails.type === ActionType.GET_FLIPPING_FLYER_ERROR\r\n || flyerDetails.type === ActionType.POST_FLIPPING_FLYER_ERROR\r\n || flyerDetails.type === ActionType.POST_FLYER_PROMOITEMS_ERROR\r\n || flyerDetails.type === ActionType.POST_FLYER_SPOTS_ERROR) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n setState({\r\n ...state,\r\n showLoader: false\r\n })\r\n }\r\n }, [flyerDetails])\r\n\r\n const onAddNewButtonClick = () => {\r\n if(!isDisabledOptionBeforeFlyerWillBeReady){\r\n dispatch(toggleFlyerDetailsPopup(true));\r\n }\r\n }\r\n\r\n const openFlyerDetails = (rowIndex: number, flyerDto: FlyerDto): void => {\r\n console.log('rowIndex:' + rowIndex);\r\n console.log('flyerDto.flyRecId:' + flyerDto.flyRecId);\r\n history.push(`/flyersCatalog/${flyerDto.flyRecId}`)\r\n }\r\n\r\n const urlClick = () => {\r\n window.open(state.url, 'urlFromMainScreen');\r\n }\r\n\r\n const removeWelcomeAndLoaderScreen = () => {\r\n const isFirstTimeCall = localStorage.getItem(`userEnterForFirstTime${userDto?.userId}`) === \"true\";\r\n if (flyersState.flyers.length === 0 && isFirstTimeCall) {\r\n setShowLoader(false);\r\n setShowWelcomeScreen(true);\r\n } else {\r\n setShowLoader(false);\r\n setShowWelcomeScreen(false);\r\n if (isFirstTimeCall) {\r\n localStorage.removeItem(`userEnterForFirstTime${userDto?.userId}`);\r\n }\r\n }\r\n }\r\n\r\n const getFlyersAfterAllFiltersFromFilters = (value: string, filterName: \"view\" | \"class\"): {\r\n flyersData: FlyerDto[],\r\n activeFlyers: FlyerDto[],\r\n lastActivatedFlyer?: FlyerDto\r\n } => {\r\n let flyersData: {\r\n flyersData: FlyerDto[],\r\n activeFlyers: FlyerDto[],\r\n lastActivatedFlyer?: FlyerDto\r\n };\r\n // Check if the filter name is \"view\"\r\n if(filterName === \"view\") {\r\n // If the selected value is not \"All\"\r\n if (value !== 'All' && value !== 'Expired') {\r\n // Filter the flyers based on the selected view value\r\n const filteredFlyers = flyersState.flyers.filter((key) => {\r\n const validUntil = getDate(key.flyValidToUtc);\r\n if (key.flyFstRec!.fstCaption === value && validUntil && new Date() < validUntil) {\r\n return key;\r\n }\r\n })\r\n // Check if the selected class value is not \"All\"\r\n if (selectClassesValue.value !== \"All\") {\r\n // Filter the filtered flyers based on the selected class value\r\n const filteredFlyersFromStatusFilter = filteredFlyers.filter((key: FlyerDto) => {\r\n if ((key.flyFlyerClassId === Number(selectClassesValue.value)) || (key.flyFlyerClassId === null && Number(selectClassesValue.value) === -1)) {\r\n return key;\r\n }\r\n });\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: filteredFlyersFromStatusFilter.length ? [filteredFlyersFromStatusFilter[0]] : [],\r\n flyersData: filteredFlyersFromStatusFilter,\r\n lastActivatedFlyer: filteredFlyersFromStatusFilter.length ? filteredFlyersFromStatusFilter[0] : {}\r\n }\r\n } else {\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: filteredFlyers.length ? [filteredFlyers[0]] : [],\r\n flyersData: filteredFlyers,\r\n lastActivatedFlyer: filteredFlyers.length ? filteredFlyers[0] : {}\r\n }\r\n }\r\n } else {\r\n if(value === 'Expired'){\r\n // Check if the selected class value is not \"All\"\r\n if (selectClassesValue.value !== \"All\") {\r\n // Filter the flyers based on the selected class value\r\n const filteredFlyersFromStatusFilter = flyersState.flyers.filter((key: FlyerDto) => {\r\n if ((key.flyFlyerClassId === Number(selectClassesValue.value)) || (key.flyFlyerClassId === null && Number(selectClassesValue.value) === -1)) {\r\n return key;\r\n }\r\n })\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n const expiredFlyers = filteredFlyersFromStatusFilter.filter((flyer: FlyerDto) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n flyersData = {\r\n activeFlyers: expiredFlyers.length ? [expiredFlyers[0]] : [],\r\n flyersData: expiredFlyers,\r\n lastActivatedFlyer: expiredFlyers[0]\r\n }\r\n } else {\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n const expiredFlyers = flyersState.flyers.filter((flyer: FlyerDto) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n flyersData = {\r\n activeFlyers: expiredFlyers.length ? [expiredFlyers[0]] : [],\r\n flyersData: expiredFlyers,\r\n lastActivatedFlyer: expiredFlyers[0]\r\n }\r\n }\r\n\r\n } else {\r\n // Check if the selected class value is not \"All\"\r\n if (selectClassesValue.value !== \"All\") {\r\n // Filter the flyers based on the selected class value\r\n const filteredFlyersFromStatusFilter = flyersState.flyers.filter((key: FlyerDto) => {\r\n if ((key.flyFlyerClassId === Number(selectClassesValue.value)) || (key.flyFlyerClassId === null && Number(selectClassesValue.value) === -1)) {\r\n return key;\r\n }\r\n })\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: filteredFlyersFromStatusFilter.length ? [filteredFlyersFromStatusFilter[0]] : [],\r\n flyersData: filteredFlyersFromStatusFilter,\r\n lastActivatedFlyer: filteredFlyersFromStatusFilter[0]\r\n }\r\n } else {\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: flyersState.flyers.length ? [flyersState.flyers[0]] : [],\r\n flyersData: flyersState.flyers,\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n // If the selected value is not \"All\"\r\n if (value !== 'All') {\r\n // Filter the flyers based on the selected class value\r\n const filteredFlyers = flyersState.flyers.filter((key) => {\r\n if ((key.flyFlyerClassId === Number(value)) || (key.flyFlyerClassId === null && Number(value) === -1)) {\r\n return key;\r\n }\r\n })\r\n // Check if the selected view value is not \"All\"\r\n if (selectValue.value !== \"All\" && selectValue.value !== \"Expired\") {\r\n // Filter the filtered flyers based on the selected view value\r\n const filteredFlyersFromStatusFilter = filteredFlyers.filter((key: FlyerDto) => {\r\n const validUntil = getDate(key.flyValidToUtc);\r\n if (key.flyFstRec!.fstCaption === selectValue.value && validUntil && new Date() < validUntil) {\r\n return key;\r\n }\r\n });\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: filteredFlyersFromStatusFilter.length ? [filteredFlyersFromStatusFilter[0]] : [],\r\n flyersData: filteredFlyersFromStatusFilter,\r\n lastActivatedFlyer: filteredFlyersFromStatusFilter.length ? filteredFlyersFromStatusFilter[0] : {}\r\n }\r\n } else {\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n if(selectValue.value === \"Expired\"){\r\n const expiredFlyers = filteredFlyers.filter((flyer: FlyerDto) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n flyersData = {\r\n activeFlyers: expiredFlyers.length ? [expiredFlyers[0]] : [],\r\n flyersData: expiredFlyers,\r\n lastActivatedFlyer: expiredFlyers[0]\r\n }\r\n } else {\r\n flyersData = {\r\n activeFlyers: filteredFlyers.length ? [filteredFlyers[0]] : [],\r\n flyersData: filteredFlyers,\r\n lastActivatedFlyer: filteredFlyers.length ? filteredFlyers[0] : {}\r\n }\r\n }\r\n }\r\n } else {\r\n // Check if the selected view value is not \"All\"\r\n if (selectValue.value !== \"All\" && selectValue.value !== \"Expired\") {\r\n // Filter the filtered flyers based on the selected view value\r\n const filteredFlyersFromStatusFilter = flyersState.flyers.filter((key: FlyerDto) => {\r\n const validUntil = getDate(key.flyValidToUtc);\r\n if (key.flyFstRec!.fstCaption === selectValue.value && validUntil && new Date() < validUntil) {\r\n return key;\r\n }\r\n })\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: filteredFlyersFromStatusFilter.length ? [filteredFlyersFromStatusFilter[0]] : [],\r\n flyersData: filteredFlyersFromStatusFilter,\r\n lastActivatedFlyer: filteredFlyersFromStatusFilter[0]\r\n }\r\n } else {\r\n if(selectValue.value === \"Expired\"){\r\n const expiredFlyers = flyersState.flyers.filter((flyer: FlyerDto) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n flyersData = {\r\n activeFlyers: expiredFlyers.length ? [expiredFlyers[0]] : [],\r\n flyersData: expiredFlyers,\r\n lastActivatedFlyer: expiredFlyers[0]\r\n }\r\n } else {\r\n // Set the filtered flyers as the flyersData and set the first flyer in the array as the active and last activated flyer\r\n flyersData = {\r\n activeFlyers: flyersState.flyers.length ? [flyersState.flyers[0]] : [],\r\n flyersData: flyersState.flyers,\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n return flyersData;\r\n }\r\n\r\n const onChangeView = (selectedOption: OptionTypeBase) => {\r\n const value = selectedOption.value;\r\n setSelectValue(selectedOption);\r\n dispatch(changeFlyersViewFilter(selectedOption));\r\n const newStateForFlyers = getFlyersAfterAllFiltersFromFilters(value, \"view\");\r\n setState({\r\n ...state,\r\n ...newStateForFlyers\r\n });\r\n\r\n }\r\n\r\n const onChangeClassesView = (selectedOption: OptionTypeBase) => {\r\n const value = selectedOption.value;\r\n setSelectClassesValue(selectedOption);\r\n dispatch(changeFlyersClassFilter(selectedOption));\r\n\r\n const newStateForFlyers = getFlyersAfterAllFiltersFromFilters(value, \"class\");\r\n setState({\r\n ...state,\r\n ...newStateForFlyers\r\n });\r\n\r\n }\r\n\r\n const onSoftDeleteFlyer = (ids: number[]) => {\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n // setShowLoader(true);\r\n const activeFlyersIds = state.activeFlyers.map((activeFlyer: FlyerDto) => activeFlyer.flyRecId!);\r\n dispatch(softDeleteFlyer(ids.length ? ids : activeFlyersIds, 'en-Us', true, flyersState));\r\n }\r\n\r\n const onHardDeleteFlyer = () => {\r\n setShowModal(false);\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n // setShowLoader(true);\r\n const activeFlyersIds = state.activeFlyers.map((activeFlyer: FlyerDto) => activeFlyer.flyRecId!);\r\n dispatch(hardDeleteFlyer(actionIds.length ? actionIds : activeFlyersIds, flyersState));\r\n }\r\n\r\n const onArchiveFlyer = (ids: number[]) => {\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n // setShowLoader(true);\r\n const activeFlyersIds = state.activeFlyers.map((activeFlyer: FlyerDto) => activeFlyer.flyRecId!);\r\n dispatch(archiveFlyer(ids.length ? ids : activeFlyersIds, 'en-Us', true, flyersState));\r\n }\r\n\r\n const doubleClickOnFlayer = (flyerDto: FlyerDto) => {\r\n // if(flyerDetails.type === ActionType.GET_FLIPPING_FLYER_COMPLETED){\r\n try {\r\n const data = {\r\n selectedTabNum: 1,\r\n pageNo: 0\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyerDto.flyCaption);\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n hideMenu();\r\n if (!isShowCreateNewFlyerPopup && flyerDto) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, false);\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyerDto.flyCaption);\r\n dispatch(getFlippingFlyer(flyerDto.flyRecId!));\r\n }\r\n setDisabledStatus(true);\r\n\r\n } catch (e) {\r\n\r\n }\r\n // }\r\n }\r\n\r\n const keydownHandlerFlyersScreen = (e: any) => {\r\n const target = e.target as HTMLElement;\r\n if (e.code === 'KeyA' && e.ctrlKey && target.nodeName !== \"INPUT\") {\r\n e.preventDefault();\r\n if (state.activeFlyers.length === flyersState.flyers.length) {\r\n setState({\r\n ...state,\r\n activeFlyers: [],\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n activeFlyers: flyersState.flyers,\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n }\r\n // dispatch(resetFlyerState());\r\n }\r\n }\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: 'confirmHardDeleteFlipbook',\r\n confirmOnClick: {\r\n onHardDeleteClick: onHardDeleteFlyer,\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n const flyers = state.flyersData.map((key, index) => {\r\n // if (activeFlyers !== '') {\r\n const isActivePage = state.activeFlyers.some((activeFlyer: FlyerDto) => activeFlyer.flyCode === key.flyCode)\r\n // const isActivePage = state.activeFlyer.flyCode === key.flyCode;\r\n let columnNumbersWidth = 4;\r\n if (isAccountTier1) {\r\n if (!isSm) {\r\n if (isLg && !isMdForContent) {\r\n columnNumbersWidth = 6;\r\n } else if (isMdForContent) {\r\n columnNumbersWidth = 12;\r\n }\r\n } else {\r\n if (isXs) {\r\n columnNumbersWidth = 12;\r\n } else if (isLg || isMdForContent || isSm) {\r\n columnNumbersWidth = 6;\r\n }\r\n }\r\n\r\n } else {\r\n if (!isMd) {\r\n if (isLg && !isMdForContent) {\r\n columnNumbersWidth = 6;\r\n } else if (isMdForContent) {\r\n columnNumbersWidth = 12;\r\n }\r\n } else {\r\n if (isXs) {\r\n columnNumbersWidth = 12;\r\n } else if (isLg || isMdForContent || isSm) {\r\n columnNumbersWidth = 6;\r\n }\r\n }\r\n\r\n }\r\n\r\n if (!isShowRightPanel) {\r\n if (isXs) {\r\n columnNumbersWidth = 12;\r\n } else if (isSm) {\r\n columnNumbersWidth = 6;\r\n } else if (isMd) {\r\n columnNumbersWidth = 4;\r\n } else if (isLg) {\r\n columnNumbersWidth = 3;\r\n } else {\r\n columnNumbersWidth = 2;\r\n }\r\n }\r\n\r\n return \r\n // }\r\n });\r\n\r\n if (isShowLoader) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n showWelcomeScreen &&\r\n \r\n }\r\n {\r\n (!showWelcomeScreen) &&\r\n \r\n
    \r\n \r\n \r\n {\r\n state.showLoader &&\r\n
    \r\n {state.showLoader && }\r\n
    \r\n }\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n !isXs &&\r\n <>\r\n
    \r\n View by Status:\r\n
    \r\n option.value}\r\n getOptionLabel={(option) => {\r\n let numberOfFlyers: number = flyersState.flyers.length;\r\n if (option.value !== 'All' && option.value !== 'Expired') {\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if (flyer.flyFstRec!.fstCaption === option.value && validUntil && new Date() < validUntil) {\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n if(option.value === 'Expired'){\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n\r\n return `${option.label} (${numberOfFlyers})`;\r\n }}\r\n isOptionDisabled={(option) => {\r\n let numberOfFlyers: number = flyersState.flyers.length;\r\n if (option.value !== 'All' && option.value !== 'Expired') {\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if (flyer.flyFstRec!.fstCaption === option.value && validUntil && new Date() < validUntil) {\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n if(option.value === 'Expired'){\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n const validUntil = getDate(flyer.flyValidToUtc);\r\n if(validUntil && new Date() > validUntil){\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n return numberOfFlyers === 0;\r\n }}\r\n\r\n options={selectedOptions}\r\n styles={customStyles}\r\n isSearchable={false}\r\n />\r\n
    \r\n By Flyer Class:\r\n
    \r\n option.value}\r\n isOptionDisabled={(option) => {\r\n let numberOfFlyers: number = flyersState.flyers.length;\r\n if (option.value !== 'All') {\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n if ((flyer.flyFlyerClassId === Number(option.value)) || (flyer.flyFlyerClassId === null && Number(option.value) === -1)) {\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n return numberOfFlyers === 0;\r\n }}\r\n getOptionLabel={(option) => {\r\n let numberOfFlyers: number = flyersState.flyers.length;\r\n if (option.value !== 'All') {\r\n const filteredFlyer = flyersState.flyers.filter((flyer) => {\r\n if ((flyer.flyFlyerClassId === Number(option.value)) || (flyer.flyFlyerClassId === null && Number(option.value) === -1)) {\r\n return flyer;\r\n }\r\n })\r\n numberOfFlyers = filteredFlyer.length;\r\n }\r\n\r\n return `${option.label} (${numberOfFlyers})`;\r\n }}\r\n options={flyerClassesState}\r\n styles={customStylesClassesView}\r\n isSearchable={false}\r\n />\r\n \r\n }\r\n
    \r\n
    \r\n {/*\r\n \r\n \r\n
    \r\n URL:\r\n
    \r\n
    \r\n {state.url}\r\n
    \r\n
    \r\n
    \r\n*/}\r\n {\r\n !isXs &&\r\n \r\n \r\n {\r\n dispatch(resetFlyerState());\r\n dispatch(getFlyers(true, false));\r\n history.push('/flyersCatalog/archive');\r\n }}>\r\n \r\n
    \r\n {state.archiveCount}\r\n
    \r\n \r\n {\r\n dispatch(resetFlyerState());\r\n dispatch(getFlyers(false, true));\r\n history.push('/flyersCatalog/trash');\r\n }}>\r\n \r\n
    \r\n {state.softDeleteCount}\r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n {flyers}\r\n \r\n
    \r\n {\r\n !isMd && !isAccountTier1 &&\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n !isSm && isAccountTier1 &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n }\r\n {isShowModal &&\r\n setShowModal(false)}\r\n />\r\n }\r\n \r\n )\r\n}","import {Dispatch} from \"redux\";\r\nimport {Action} from \"../actions/flyersFiltersActions\";\r\nimport {ActionType} from \"../actionTypes\";\r\nimport {OptionTypeBase} from \"react-select/src/types\";\r\n\r\nexport const changeFlyersViewFilter = (selectedFilter: OptionTypeBase) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_VIEW_FILTER,\r\n payload: selectedFilter\r\n });\r\n }\r\n};\r\n\r\nexport const changeFlyersClassFilter = (selectedFilter: OptionTypeBase) => {\r\n return async (dispatch: Dispatch) => {\r\n dispatch({\r\n type: ActionType.CHANGE_FLYERS_CLASSES_FILTER,\r\n payload: selectedFilter\r\n });\r\n }\r\n};\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport styles from './trashFlyer.module.scss'\r\nimport {PageSpinner} from \"../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {FlyerDto, FlyersStateForArchiveAndDeletedFlyersDto, ItemsListMenuDto, UserDto} from \"../../../../../dtos\";\r\nimport moment from \"moment\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport './../../flyer.scss'\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE\r\n} from \"../../../../../globals/EventDispatcher\";\r\nimport {Button, Typography} from \"@mui/material\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\n\r\n\r\ninterface FlyerItem {\r\n flyerDto: FlyerDto;\r\n openFlyerDetails: (rowIndex: number, flyerDto: FlyerDto) => void;\r\n isActive: boolean;\r\n flyerIndex: number;\r\n onHardDeleteFlyer: () => void;\r\n onRestoreFlyer: () => void;\r\n onChangeDeleteIDs: () => void;\r\n doubleClickOnFlyer: () => void;\r\n flyersState: FlyersStateForArchiveAndDeletedFlyersDto,\r\n changeFlyersState: (e: FlyersStateForArchiveAndDeletedFlyersDto) => void\r\n onArchiveFlyer: VoidFunction;\r\n}\r\n\r\nexport const TrashFlyer: React.FC = (props) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n // const isUserViewer = false;\r\n let isUserViewer = true;\r\n let isUserEditor = false;\r\n if(userDtoStr){\r\n let userDto: UserDto = JSON.parse(userDtoStr);\r\n isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n isUserEditor = userDto.role === 2;\r\n }\r\n const [tooltip, setTooltip] = useState('');\r\n\r\n const [didLoad, onLoad] = useState(false);\r\n const [notLoad, onNotLoad] = useState(false);\r\n const anchorRefForFlyerMenu = useRef(null);\r\n const [isOpenedFlyerMenu, setOpenFlyerMenu] = useState(false);\r\n const prevOpenFlyerMenu = useRef(isOpenedFlyerMenu);\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenFlyerMenu,\r\n prevOpen: prevOpenFlyerMenu,\r\n open: isOpenedFlyerMenu,\r\n anchorRef: anchorRefForFlyerMenu,\r\n };\r\n\r\n const loaded = () => {\r\n onLoad(true);\r\n }\r\n\r\n const loadedWithError = () => {\r\n onNotLoad(true);\r\n }\r\n\r\n useEffect(() => {\r\n setTooltip(`Job Code: ${props.flyerDto.flyCode}\r\n Number of Pages: ${props.flyerDto.flyerPages?.length}\r\n Flyer Status: Deleted\r\n Start Date: ${moment(props.flyerDto.flyValidFromUtc).format('DD MMM YYYY')}\r\n End Date: ${moment(props.flyerDto.flyValidToUtc).format('DD MMM YYYY')}\r\n Created Date: ${moment(props.flyerDto.flyCreatedUtc).format('DD MMM YYYY')}\r\n Last Modified: ${moment(props.flyerDto.flyModifiedUtc).format('DD MMM YYYY')}`)\r\n });\r\n\r\n const deleteFlyer = () => {\r\n // const id = props.flyerDto.flyRecId;\r\n // props.onHardDeleteFlyer(id);\r\n props.onChangeDeleteIDs();\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n isModalPopup: true\r\n })\r\n }\r\n\r\n const restoreFlyer = () => {\r\n // const id = props.flyerDto.flyRecId;\r\n props.onRestoreFlyer()\r\n }\r\n\r\n const archiveFlyer = () => {\r\n // const id = props.flyerDto.flyRecId;\r\n props.onArchiveFlyer()\r\n }\r\n\r\n let timer: any = 0;\r\n let delay = 100;\r\n let prevent = false;\r\n\r\n const doClickAction = (e: React.MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const tagName = target.tagName;\r\n const isMenuOption = target.classList.contains(\"menuOption\");\r\n if (tagName === \"BUTTON\" || tagName === \"LABEL\" || tagName === \"SELECT\" || tagName === \"INPUT\" || (tagName && isMenuOption)) {\r\n return;\r\n }\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n hideMenu();\r\n const clickedFlyerAlreadyActive = props.flyersState.activeFlyers.find((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (e.button === 2) {\r\n if (!clickedFlyerAlreadyActive) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n hideMenu();\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n });\r\n }\r\n } else if (!clickedFlyerAlreadyActive || props.flyersState.activeFlyers.length > 1) {\r\n if (e.ctrlKey || e.metaKey || e.shiftKey && props.flyersState.lastActivatedFlyer) {\r\n if (e.ctrlKey || e.metaKey) {\r\n if (props.isActive) {\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: props.flyersState.activeFlyers.filter((activeFlyer: FlyerDto) => {\r\n if (props.flyerDto.flyRecId !== activeFlyer.flyRecId) {\r\n return activeFlyer\r\n }\r\n }),\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n } else {\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [...props.flyersState.activeFlyers, props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n }\r\n }\r\n if (e.shiftKey && props.flyersState.lastActivatedFlyer && props?.flyerDto) {\r\n const isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex = props?.flyerDto?.index! >= props?.flyersState.lastActivatedFlyer.index!;\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: props.flyersState.flyersData.filter((flyer: FlyerDto, index: number) => {\r\n if (isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex) {\r\n if (props?.flyersState.lastActivatedFlyer?.index! <= index && props?.flyerDto?.index! >= index) {\r\n return flyer;\r\n }\r\n } else {\r\n if (props?.flyersState.lastActivatedFlyer?.index! >= index && props?.flyerDto?.index! <= index) {\r\n return flyer;\r\n }\r\n }\r\n })\r\n })\r\n }\r\n } else {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n hideMenu();\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n });\r\n }\r\n } else {\r\n // if(!clickedFlyerAlreadyActive){\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n // }\r\n }\r\n\r\n }\r\n const doDoubleClickAction = () => {\r\n console.log('double click');\r\n props.doubleClickOnFlyer()\r\n // props.openFlyerDetails(props.flyerIndex, props.flyerDto)\r\n }\r\n const handleClick = (e: React.MouseEvent) => {\r\n timer = setTimeout(function () {\r\n if (!prevent) {\r\n doClickAction(e)\r\n }\r\n prevent = false;\r\n }, delay);\r\n }\r\n const handleDoubleClick = () => {\r\n clearTimeout(timer);\r\n prevent = true;\r\n doDoubleClickAction();\r\n }\r\n const handleToggleForFlyer = () => {\r\n setOpenFlyerMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n\r\n const imageUrl = props?.flyerDto?.flyerPages!.length ? (props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl ? props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl : '') : '';\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n {/*}*/}\r\n {/* alt=\"img\"/>*/}\r\n {!notLoad && <>\r\n not uploaded\r\n {\r\n !didLoad && \r\n }\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {props.flyerDto.flyCaption}\r\n \r\n {\r\n props.isActive &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n \r\n \r\n
    \r\n {tooltip}\r\n
    \r\n\r\n \r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport catalogStyles from './../mainFlyersCatalog/flyersCatalog.module.scss';\r\nimport styles from './trashFlyersCatalog.module.scss';\r\nimport {ReactComponent as DeleteIcon} from \"../../../../assets/editors/delete_icon.svg\";\r\nimport {ReactComponent as ArchiveIcon} from \"../../../../assets/editors/archive_icon.svg\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {FlyerDto, FlyersStateForArchiveAndDeletedFlyersDto} from \"../../../../dtos\";\r\nimport {history} from \"../../../../helpers/history\";\r\nimport {getFlippingFlyer, getFlyers} from \"../../../../store\";\r\nimport {ActionType} from \"../../../../store/actionTypes\";\r\nimport {TrashFlyer} from \"./trashFlyer/trashFlyer\";\r\nimport {PageSpinner} from \"../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport envManager from \"../../../../com/envManager/EnvManager\";\r\nimport {\r\n archiveFlyer,\r\n clearFlyersData,\r\n hardDeleteFlyer,\r\n softDeleteFlyer\r\n} from \"../../../../store/actionCreators/flyersActionCreators\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE\r\n} from \"../../../../globals/EventDispatcher\";\r\nimport {getSettingsForPopup} from \"../../pages/getSetttingsForPopup\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../com/statusPopup/StatusPopup\";\r\nimport {setSelectedPageForTabs} from \"../../../../store/actionCreators/pagesActionCreators\";\r\nimport {resetFlyerState} from \"../../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Button, Checkbox, Grid, Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n headerContainer: (props: any) => ({\r\n // height: props.height,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n padding: \"8px 12px\",\r\n backgroundColor: \"#FFFFFF\",\r\n fontSize: \"14px\",\r\n minHeight: \"50px\",\r\n alignItem: 'center'\r\n\r\n }),\r\n headerItem: {\r\n alignItems: 'center'\r\n },\r\n boxes: {\r\n display: 'flex',\r\n height: '100%',\r\n alignItems: 'center',\r\n width: '100%',\r\n // justifyContent: 'center',\r\n '&.leftControls': {\r\n justifyContent: 'flex-start',\r\n },\r\n '&.rightControls': {\r\n justifyContent: 'space-around',\r\n '& > .MuiButton-root': {\r\n '&:hover': {\r\n opacity: `0.5`\r\n }\r\n }\r\n }\r\n },\r\n urlBox: {\r\n fontWeight: \"bold\",\r\n margin: \"5px\",\r\n cursor: \"pointer\"\r\n },\r\n buttonLeftSide: {\r\n border: `none`,\r\n background: `inherit`,\r\n alignItems: `center`,\r\n position: `relative`,\r\n maxHeight: `20px`,\r\n padding: `0`,\r\n },\r\n counterWrapper: {\r\n border: `1.5px solid #616161`,\r\n position: `absolute`,\r\n bottom: `-7px`,\r\n right: `-12px`,\r\n width: `auto`,\r\n overflow: `hidden`,\r\n /* overflow-wrap: break-word; */\r\n textOverflow: `ellipsis`,\r\n // padding: `0 10px`,\r\n maxWidth: `50px`,\r\n minWidth: `25px`,\r\n borderRadius: `20px`,\r\n textAlign: `center`,\r\n fontSize: `10px`,\r\n lineHeight: `11px`,\r\n /* letter-spacing: 0.2em; */\r\n background: `white`,\r\n fontStyle: `normal`,\r\n fontWeight: `normal`,\r\n color: '#000000'\r\n },\r\n}));\r\n\r\nexport const TrashFlyersCatalog = () => {\r\n const dispatch = useDispatch();\r\n\r\n const styleProps = {};\r\n const classes = useStyles(styleProps);\r\n\r\n const flyerDetails = useTypedSelector((state) => state.flippingFlyer);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const [state, setState] = useState({\r\n archiveCount: 0,\r\n softDeleteCount: 0,\r\n isSoftDelete: false,\r\n flyersData: [],\r\n showLoader: true,\r\n activeFlyers: [],\r\n url: '',\r\n isModalPopup: false,\r\n lastActivatedFlyer: {}\r\n })\r\n\r\n const [flyersIDs, changeFlyersIDs] = useState([]);\r\n let {isShowCreateNewFlyerPopup} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n\r\n useEffect(() => {\r\n if (state.activeFlyers.length === 1) {\r\n try {\r\n // dispatch(clearDataForFlyer());\r\n\r\n let flyerAppAddress = envManager.flyerAppAddress\r\n\r\n let currentFlyerStatus = state.activeFlyers[0].flyFstRec;\r\n let statusCaption = currentFlyerStatus?.fstCaption?.toLowerCase()\r\n\r\n let appUrl = '';\r\n\r\n if (statusCaption?.includes('edit')) {\r\n appUrl = flyerAppAddress = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (statusCaption?.includes('qa')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else if (statusCaption?.includes('published')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && state.activeFlyers[0].flyRecId) {\r\n let accountName = state.activeFlyers[0].flyAccRec?.accCaption;\r\n let flyerName = state.activeFlyers[0].flyCaption;\r\n appUrl += `flyer/${accountName}/${flyerName}`\r\n }\r\n\r\n if (statusCaption?.includes('inactive')) {\r\n appUrl = '--'\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!state.activeFlyers[0].flyRecId) {\r\n appUrl = '--'\r\n }\r\n setState({\r\n ...state,\r\n url: appUrl\r\n })\r\n } catch (e) {\r\n\r\n }\r\n } else {\r\n if (flyerDetailsState && state.activeFlyers.length === 1) {\r\n setState({\r\n ...state,\r\n activeFlyers: [flyerDetailsState],\r\n lastActivatedFlyer: flyerDetailsState\r\n\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n }\r\n }\r\n }, [flyerDetailsState]);\r\n\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n if (state.activeFlyers.length === 1) {\r\n const activeFlyer = state.activeFlyers.find((flyer: FlyerDto) => flyer);\r\n if (activeFlyer) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, activeFlyer.flyCaption);\r\n const signal = controller.signal;\r\n dispatch(getFlippingFlyer(activeFlyer.flyRecId!, signal));\r\n }\r\n }\r\n if (state.activeFlyers.length > 1 || state.activeFlyers.length === 0) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n }\r\n return () => {\r\n controller.abort();\r\n };\r\n }, [isShowCreateNewFlyerPopup, state.activeFlyers]);\r\n\r\n\r\n useEffect(() => {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n sessionStorage.removeItem(\"activeFlyersArray\");\r\n // dispatch(getFlyers(false, true));\r\n\r\n return () => {\r\n dispatch(clearFlyersData());\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', keydownHandlerFlyersDeleteScreen);\r\n return () => {\r\n window.removeEventListener('keydown', keydownHandlerFlyersDeleteScreen);\r\n }\r\n }, [state])\r\n\r\n useEffect(() => {\r\n if (flyersState.type === ActionType.GET_FLYERS_SUCCESS) {\r\n let isDefaultFlyer = false;\r\n if (flyersState.flyers.length > 0) {\r\n isDefaultFlyer = true;\r\n if (flyersState.flyers.length > 0) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyersState.flyers[0].flyCaption)\r\n }\r\n } else {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '')\r\n }\r\n setState({\r\n ...state,\r\n showLoader: false,\r\n flyersData: flyersState.flyers,\r\n softDeleteCount: flyersState.softDeletedFlyersCount!,\r\n archiveCount: flyersState.archivedFlyersCount!,\r\n activeFlyers: isDefaultFlyer ? [flyersState.flyers[0]] : state.activeFlyers,\r\n lastActivatedFlyer: isDefaultFlyer ? flyersState.flyers[0] : state.activeFlyers[0],\r\n })\r\n } else if (flyersState.type === ActionType.HARD_DELETE_FLYER_SUCCESS || flyersState.type === ActionType.SOFT_DELETE_FLYER_SUCCESS) {\r\n const newFlayerState = state.flyersData.filter(key => {\r\n let isExist = state.activeFlyers.some(flyer => key.flyRecId === flyer.flyRecId);\r\n if (!isExist) {\r\n return key;\r\n }\r\n })\r\n const activeFlyersIds = state.activeFlyers.map((activeFlyer: FlyerDto) => activeFlyer.flyRecId!);\r\n if (state.isSoftDelete && flyersState.type === ActionType.SOFT_DELETE_FLYER_SUCCESS) {\r\n dispatch(archiveFlyer(activeFlyersIds, 'en-Us', true, flyersState));\r\n }\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n setState({\r\n ...state,\r\n activeFlyers: [],\r\n lastActivatedFlyer: {},\r\n softDeleteCount: state.softDeleteCount - state.activeFlyers.length,\r\n flyersData: newFlayerState,\r\n showLoader: false,\r\n isSoftDelete: false\r\n })\r\n } else if (flyersState.type === ActionType.HARD_DELETE_FLYER_ERROR\r\n || flyersState.type === ActionType.ARCHIVE_FLYER_ERROR\r\n || flyersState.type === ActionType.SOFT_DELETE_FLYER_ERROR\r\n ) {\r\n setState({\r\n ...state,\r\n showLoader: false\r\n })\r\n } else if (flyersState.type === ActionType.ARCHIVE_FLYER_SUCCESS) {\r\n setState({\r\n ...state,\r\n archiveCount: state.archiveCount + flyersIDs.length\r\n })\r\n }\r\n }, [flyersState.type]);\r\n\r\n useEffect(() => {\r\n if (flyerDetails.type === ActionType.GET_FLIPPING_FLYER_COMPLETED && flyersState.type === ActionType.GET_FLYERS_COMPLETED) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n }\r\n // else if (flyerDetails.type === ActionType.CLEAR_DATA_FROM_FLYER) {\r\n // dispatch(getFlippingFlyer(state.activeFlyers[0].flyRecId!));\r\n // }\r\n }, [flyerDetails])\r\n\r\n const openFlyerDetails = (rowIndex: number, flyerDto: FlyerDto): void => {\r\n console.log('rowIndex:' + rowIndex);\r\n console.log('flyerDto.flyRecId:' + flyerDto.flyRecId);\r\n\r\n history.push(`/flyersCatalog/${flyerDto.flyRecId}`)\r\n }\r\n\r\n const onHardDeleteFlyer = () => {\r\n setState({\r\n ...state,\r\n showLoader: true,\r\n isModalPopup: false\r\n })\r\n dispatch(hardDeleteFlyer(flyersIDs, flyersState));\r\n }\r\n\r\n const onArchiveFlyer = () => {\r\n setState({\r\n ...state,\r\n showLoader: true,\r\n isSoftDelete: true,\r\n })\r\n // setShowLoader(true);\r\n const activeFlyersIds = state.activeFlyers.map((activeFlyer: FlyerDto) => activeFlyer.flyRecId!);\r\n changeFlyersIDs(activeFlyersIds);\r\n dispatch(softDeleteFlyer(activeFlyersIds, 'en-Us', false, flyersState));\r\n }\r\n\r\n const onRestoreFlyer = () => {\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n let restoreIds: number[] = [];\r\n state.activeFlyers.forEach(key => {\r\n restoreIds.push(key.flyRecId!);\r\n })\r\n\r\n dispatch(softDeleteFlyer(restoreIds, 'en-Us', false, flyersState));\r\n }\r\n\r\n\r\n const urlClick = () => {\r\n window.open(state.url, 'urlFromMainScreen');\r\n }\r\n\r\n const doubleClickOnFlyer = () => {\r\n try {\r\n const data = {\r\n selectedTabNum: 1,\r\n pageNo: 0\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n\r\n const onChangeDeleteIDs = () => {\r\n let deleteIds: number[] = [];\r\n state.activeFlyers.forEach(key => {\r\n deleteIds.push(key.flyRecId!);\r\n })\r\n changeFlyersIDs(deleteIds);\r\n }\r\n\r\n const keydownHandlerFlyersDeleteScreen = (e: any) => {\r\n if (e.code === 'KeyA' && e.ctrlKey && !isShowCreateNewFlyerPopup) {\r\n e.preventDefault();\r\n const isSelectedAll = state.activeFlyers.length !== flyersState.flyers.length;\r\n selectAllPossiblePromosInFramesOrDeselectAll(isSelectedAll);\r\n }\r\n }\r\n\r\n const selectAllPossiblePromosInFramesOrDeselectAll = (isSelectedAll: boolean) => {\r\n if (isSelectedAll) {\r\n setState({\r\n ...state,\r\n activeFlyers: flyersState.flyers,\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n activeFlyers: [],\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n }\r\n dispatch(resetFlyerState());\r\n\r\n }\r\n\r\n const handleChangeSelectAll = (event: React.ChangeEvent) => {\r\n const isSelected = event.target.checked;\r\n selectAllPossiblePromosInFramesOrDeselectAll(isSelected);\r\n }\r\n\r\n const flyers = state.flyersData.map((key, index) => {\r\n // if(activeFlyer !== ''){\r\n const isActivePage = state.activeFlyers.some((value: any) => value.flyCode === key.flyCode);\r\n return \r\n // }\r\n });\r\n\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: 'confirmHardDeleteFlyer',\r\n confirmOnClick: {\r\n onHardDeleteClick: onHardDeleteFlyer,\r\n }\r\n };\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n return (\r\n
    \r\n
    \r\n {state.showLoader && }\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n Deleted Flyers\r\n \r\n {/*
    */}\r\n {/* URL:*/}\r\n {/*
    */}\r\n {/*
    */}\r\n {/* {state.url}*/}\r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Select all\r\n \r\n \r\n \r\n \r\n \r\n {\r\n dispatch(getFlyers(true, false));\r\n history.push('/flyersCatalog/archive');\r\n }}>\r\n \r\n
    \r\n {state.archiveCount}\r\n
    \r\n \r\n {\r\n dispatch(getFlyers(false, true));\r\n history.push('/flyersCatalog/trash');\r\n }}>\r\n \r\n
    \r\n {state.softDeleteCount}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {flyers}\r\n
    \r\n {state.isModalPopup && setState({...state, isModalPopup: false})}\r\n />\r\n }\r\n
    \r\n )\r\n}","import React, {useEffect, useRef, useState} from \"react\";\r\nimport styles from './archiveFlyer.module.scss'\r\nimport {PageSpinner} from \"../../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {FlyerDto, FlyersStateForArchiveAndDeletedFlyersDto, ItemsListMenuDto, UserDto} from \"../../../../../dtos\";\r\nimport moment from \"moment\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport './../../flyer.scss';\r\nimport {ReactComponent as MenuOnHover} from \"../../../../../assets/flyersScreen/3_dots_icon.svg\";\r\nimport {hideMenu} from \"react-contextmenu/modules/actions\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE\r\n} from \"../../../../../globals/EventDispatcher\";\r\nimport {Button, Typography} from \"@mui/material\";\r\nimport {\r\n MenuForPromotion\r\n} from \"../../../promos/leftMenu/LeftMenuContent/LeftMenuContentElement/MenuForPromotions/menuForPromotions\";\r\n\r\ninterface FlyerItem {\r\n flyerDto: FlyerDto;\r\n openFlyerDetails: (rowIndex: number, flyerDto: FlyerDto) => void;\r\n isActive: boolean;\r\n flyerIndex: number;\r\n // onHardDeleteFlyer: (a: any) => void;\r\n onSoftDeleteFlyer: () => void;\r\n onRestoreFlyer: () => void;\r\n doubleClickOnFlyer: () => void;\r\n flyersState: FlyersStateForArchiveAndDeletedFlyersDto,\r\n changeFlyersState: (e: FlyersStateForArchiveAndDeletedFlyersDto) => void\r\n}\r\n\r\n\r\nexport const ArchiveFlyer: React.FC = (props) => {\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isUserViewer = userDto.role !== 2 && userDto.role !== 3;\r\n const [tooltip, setTooltip] = useState('');\r\n\r\n const [didLoad, onLoad] = useState(false);\r\n const [notLoad, onNotLoad] = useState(false);\r\n const anchorRefForFlyerMenu = useRef(null);\r\n const [isOpenedFlyerMenu, setOpenFlyerMenu] = useState(false);\r\n const prevOpenFlyerMenu = useRef(isOpenedFlyerMenu);\r\n\r\n const clickMenuDataForFlyer: ItemsListMenuDto = {\r\n setOpen: setOpenFlyerMenu,\r\n prevOpen: prevOpenFlyerMenu,\r\n open: isOpenedFlyerMenu,\r\n anchorRef: anchorRefForFlyerMenu,\r\n };\r\n\r\n const loaded = () => {\r\n onLoad(true);\r\n }\r\n\r\n const loadedWithError = () => {\r\n onNotLoad(true);\r\n }\r\n\r\n useEffect(() => {\r\n setTooltip(`Job Code: ${props.flyerDto.flyCode}\r\n Number of Pages: ${props.flyerDto.flyerPages?.length}\r\n Flyer Status: Archived\r\n Start Date: ${moment(props.flyerDto.flyValidFromUtc).format('DD MMM YYYY')}\r\n End Date: ${moment(props.flyerDto.flyValidToUtc).format('DD MMM YYYY')}\r\n Created Date: ${moment(props.flyerDto.flyCreatedUtc).format('DD MMM YYYY')}\r\n Last Modified: ${moment(props.flyerDto.flyModifiedUtc).format('DD MMM YYYY')}`)\r\n });\r\n\r\n const deleteOrRestoreFlyer = (isDelete: boolean) => {\r\n if (isDelete) {\r\n props.onSoftDeleteFlyer();\r\n } else {\r\n props.onRestoreFlyer();\r\n }\r\n // const id = props.flyerDto.flyRecId;\r\n // if(isDelete){\r\n // props.onSoftDeleteFlyer(id);\r\n // } else {\r\n // props.onRestoreFlyer(id);\r\n // }\r\n }\r\n\r\n\r\n let timer: any = 0;\r\n let delay = 100;\r\n let prevent = false;\r\n\r\n const doClickAction = (e: React.MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const tagName = target.tagName;\r\n const isMenuOption = target.classList.contains(\"menuOption\");\r\n if (tagName === \"BUTTON\" || tagName === \"LABEL\" || tagName === \"SELECT\" || tagName === \"INPUT\" || (tagName && isMenuOption)) {\r\n return;\r\n }\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n hideMenu();\r\n const clickedFlyerAlreadyActive = props.flyersState.activeFlyers.find((flyer: FlyerDto) => flyer.flyRecId === props.flyerDto.flyRecId);\r\n if (e.button === 2) {\r\n if (!clickedFlyerAlreadyActive) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n hideMenu();\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n });\r\n }\r\n } else if (!clickedFlyerAlreadyActive || props.flyersState.activeFlyers.length > 1) {\r\n if (e.ctrlKey || e.metaKey || e.shiftKey && props.flyersState.lastActivatedFlyer) {\r\n if (e.ctrlKey || e.metaKey) {\r\n if (props.isActive) {\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: props.flyersState.activeFlyers.filter((activeFlyer: FlyerDto) => {\r\n if (props.flyerDto.flyRecId !== activeFlyer.flyRecId) {\r\n return activeFlyer\r\n }\r\n }),\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n } else {\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [...props.flyersState.activeFlyers, props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n }\r\n }\r\n if (e.shiftKey && props.flyersState.lastActivatedFlyer && props?.flyerDto) {\r\n const isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex = props?.flyerDto?.index! >= props?.flyersState.lastActivatedFlyer.index!;\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: props.flyersState.flyersData.filter((flyer: FlyerDto, index: number) => {\r\n if (isSelectedFlyerIndexBiggerOrEqualThanLastSelectedFlyerIndex) {\r\n if (props?.flyersState.lastActivatedFlyer?.index! <= index && props?.flyerDto?.index! >= index) {\r\n return flyer;\r\n }\r\n } else {\r\n if (props?.flyersState.lastActivatedFlyer?.index! >= index && props?.flyerDto?.index! <= index) {\r\n return flyer;\r\n }\r\n }\r\n })\r\n })\r\n }\r\n } else {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n hideMenu();\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n });\r\n }\r\n\r\n } else {\r\n console.log('one click');\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, props.flyerDto.flyCaption);\r\n props.changeFlyersState({\r\n ...props.flyersState,\r\n activeFlyers: [props.flyerDto],\r\n lastActivatedFlyer: props.flyerDto\r\n })\r\n }\r\n }\r\n const doDoubleClickAction = () => {\r\n console.log('double click');\r\n props.doubleClickOnFlyer()\r\n // props.openFlyerDetails(props.flyerIndex, props.flyerDto)\r\n }\r\n const handleClick = (e: React.MouseEvent) => {\r\n timer = setTimeout(function () {\r\n if (!prevent) {\r\n doClickAction(e)\r\n }\r\n prevent = false;\r\n }, delay);\r\n }\r\n const handleDoubleClick = () => {\r\n clearTimeout(timer);\r\n prevent = true;\r\n doDoubleClickAction();\r\n }\r\n\r\n const handleToggleForFlyer = (e: React.MouseEvent) => {\r\n setOpenFlyerMenu((prevOpen) => !prevOpen);\r\n };\r\n\r\n\r\n const imageUrl = props?.flyerDto?.flyerPages!.length ? (props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl ? props?.flyerDto?.flyerPages[0].flyImageThumbnailUrl : '') : '';\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n {/*}*/}\r\n {/* alt=\"img\"/>*/}\r\n {!notLoad && <>\r\n not uploaded\r\n {\r\n !didLoad && \r\n }\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {props.flyerDto.flyCaption}\r\n \r\n {\r\n props.isActive &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n \r\n \r\n
    \r\n {tooltip}\r\n
    \r\n\r\n \r\n \r\n )\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport catalogStyles from './../mainFlyersCatalog/flyersCatalog.module.scss'\r\nimport styles from './archiveFlyersCatalog.module.scss';\r\n\r\nimport {ReactComponent as DeleteIcon} from \"../../../../assets/editors/delete_icon.svg\";\r\nimport {ReactComponent as ArchiveIcon} from \"../../../../assets/editors/archive_icon.svg\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {useTypedSelector} from \"../../../../hooks/useTypeSelector\";\r\nimport {FlyerDto, FlyersStateForArchiveAndDeletedFlyersDto} from \"../../../../dtos\";\r\nimport {history} from \"../../../../helpers/history\";\r\nimport {getFlippingFlyer, getFlyers} from \"../../../../store\";\r\nimport {ActionType} from \"../../../../store/actionTypes\";\r\nimport {ArchiveFlyer} from \"./archiveFlyer/archiveFlyer\";\r\nimport {PageSpinner} from \"../../../com/pagesTab/pagesSpinner/spinner\";\r\nimport envManager from \"../../../../com/envManager/EnvManager\";\r\nimport {\r\n archiveFlyer,\r\n clearFlyersData,\r\n softDeleteFlyer\r\n} from \"../../../../store/actionCreators/flyersActionCreators\";\r\nimport {\r\n dispatchEventDataType,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE\r\n} from \"../../../../globals/EventDispatcher\";\r\nimport StatusPopup, {StatusPopupType} from \"../../../../com/statusPopup/StatusPopup\";\r\nimport {getSettingsForPopup} from \"../../pages/getSetttingsForPopup\";\r\nimport {setSelectedPageForTabs} from \"../../../../store/actionCreators/pagesActionCreators\";\r\nimport {resetFlyerState} from \"../../../../store/actionCreators/flippingFlyerActionCreators\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {Box, Button, Checkbox, Grid, Typography} from \"@mui/material\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n headerContainer: (props: any) => ({\r\n // height: props.height,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n padding: \"8px 12px\",\r\n backgroundColor: \"#FFFFFF\",\r\n fontSize: \"14px\",\r\n minHeight: \"50px\",\r\n alignItem: 'center'\r\n\r\n }),\r\n headerItem: {\r\n alignItems: 'center'\r\n },\r\n boxes: {\r\n display: 'flex',\r\n height: '100%',\r\n alignItems: 'center',\r\n width: '100%',\r\n // justifyContent: 'center',\r\n '&.leftControls': {\r\n justifyContent: 'flex-start',\r\n },\r\n '&.rightControls': {\r\n justifyContent: 'space-around',\r\n '& > .MuiButton-root': {\r\n '&:hover': {\r\n opacity: `0.5`\r\n }\r\n }\r\n }\r\n },\r\n urlBox: {\r\n fontWeight: \"bold\",\r\n margin: \"5px\",\r\n cursor: \"pointer\"\r\n },\r\n buttonLeftSide: {\r\n border: `none`,\r\n background: `inherit`,\r\n alignItems: `center`,\r\n position: `relative`,\r\n maxHeight: `20px`,\r\n padding: `0`,\r\n },\r\n counterWrapper: {\r\n border: `1.5px solid #616161`,\r\n position: `absolute`,\r\n bottom: `-7px`,\r\n right: `-12px`,\r\n width: `auto`,\r\n overflow: `hidden`,\r\n /* overflow-wrap: break-word; */\r\n textOverflow: `ellipsis`,\r\n // padding: `0 10px`,\r\n maxWidth: `50px`,\r\n minWidth: `25px`,\r\n borderRadius: `20px`,\r\n textAlign: `center`,\r\n fontSize: `10px`,\r\n lineHeight: `11px`,\r\n /* letter-spacing: 0.2em; */\r\n background: `white`,\r\n fontStyle: `normal`,\r\n fontWeight: `normal`,\r\n color: '#000000'\r\n },\r\n}));\r\n\r\nexport const ArchiveFlyersCatalog = () => {\r\n const dispatch = useDispatch();\r\n\r\n const styleProps = {};\r\n const classes = useStyles(styleProps);\r\n\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const flyerDetails = useTypedSelector((state) => state.flippingFlyer);\r\n let flyerDetailsState = useTypedSelector((state) => state.flyerDetails);\r\n const [state, setState] = useState({\r\n archiveCount: 0,\r\n softDeleteCount: 0,\r\n isSoftDelete: false,\r\n flyersData: [],\r\n showLoader: true,\r\n activeFlyers: [],\r\n lastActivatedFlyer: {},\r\n url: '',\r\n isModalPopup: false\r\n })\r\n const [deleteIDs, changeDeleteIDs] = useState([]);\r\n let {isShowCreateNewFlyerPopup} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n\r\n useEffect(() => {\r\n if (state.activeFlyers.length === 1) {\r\n try {\r\n // dispatch(clearDataForFlyer());\r\n\r\n let flyerAppAddress = envManager.flyerAppAddress\r\n\r\n let currentFlyerStatus = state.activeFlyers[0].flyFstRec;\r\n let statusCaption = currentFlyerStatus?.fstCaption?.toLowerCase()\r\n\r\n let appUrl = '';\r\n\r\n if (statusCaption?.includes('edit')) {\r\n appUrl = flyerAppAddress = envManager.getFlyerAppAddressWithEnvPrefix('dev')\r\n } else if (statusCaption?.includes('qa')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('qa')\r\n } else if (statusCaption?.includes('published')) {\r\n appUrl = envManager.getFlyerAppAddressWithEnvPrefix('')\r\n }\r\n\r\n //\r\n if (appUrl.length !== 0 && state.activeFlyers[0].flyRecId) {\r\n let accountName = state.activeFlyers[0].flyAccRec?.accCaption;\r\n let flyerName = state.activeFlyers[0].flyCaption;\r\n appUrl += `flyer/${accountName}/${flyerName}`\r\n }\r\n\r\n if (statusCaption?.includes('inactive')) {\r\n appUrl = '--'\r\n }\r\n\r\n // Any way if the current flyer has no job code (RecId) => no flyer app address to show\r\n if (!state.activeFlyers[0].flyRecId) {\r\n appUrl = '--'\r\n }\r\n setState({\r\n ...state,\r\n url: appUrl\r\n })\r\n } catch (e) {\r\n\r\n }\r\n } else {\r\n if (flyerDetailsState && state.activeFlyers.length === 1) {\r\n setState({\r\n ...state,\r\n activeFlyers: [flyerDetailsState],\r\n lastActivatedFlyer: flyerDetailsState\r\n\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n }\r\n\r\n }\r\n }, [flyerDetailsState]);\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n if (state.activeFlyers.length === 1) {\r\n const activeFlyer = state.activeFlyers.find((flyer: FlyerDto) => flyer);\r\n if (activeFlyer) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, activeFlyer.flyCaption);\r\n const signal = controller.signal;\r\n dispatch(getFlippingFlyer(activeFlyer.flyRecId!, signal));\r\n }\r\n }\r\n if (state.activeFlyers.length > 1 || state.activeFlyers.length === 0) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n setState({\r\n ...state,\r\n url: \"--\",\r\n })\r\n }\r\n return () => {\r\n controller.abort();\r\n };\r\n }, [isShowCreateNewFlyerPopup, state.activeFlyers]);\r\n\r\n\r\n useEffect(() => {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n sessionStorage.removeItem(\"activeFlyersArray\");\r\n\r\n return () => {\r\n dispatch(clearFlyersData());\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', keydownHandlerFlyersArchiveScreen);\r\n return () => {\r\n window.removeEventListener('keydown', keydownHandlerFlyersArchiveScreen);\r\n }\r\n }, [state])\r\n\r\n\r\n useEffect(() => {\r\n if (flyersState.type === ActionType.GET_FLYERS_SUCCESS) {\r\n let isDefaultFlyer = false;\r\n if (flyersState.flyers.length > 0) {\r\n isDefaultFlyer = true;\r\n if (flyersState.flyers.length > 0) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, flyersState.flyers[0].flyCaption)\r\n }\r\n } else {\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '')\r\n }\r\n setState({\r\n ...state,\r\n showLoader: false,\r\n archiveCount: flyersState.archivedFlyersCount!,\r\n softDeleteCount: flyersState.softDeletedFlyersCount!,\r\n activeFlyers: isDefaultFlyer ? [flyersState.flyers[0]] : state.activeFlyers,\r\n lastActivatedFlyer: isDefaultFlyer ? flyersState.flyers[0] : state.activeFlyers[0],\r\n flyersData: isDefaultFlyer ? flyersState.flyers : state.flyersData\r\n })\r\n } else if (flyersState.type === ActionType.HARD_DELETE_FLYER_SUCCESS || flyersState.type === ActionType.ARCHIVE_FLYER_SUCCESS) {\r\n const newFlayerState = state.flyersData.filter(key => {\r\n let isExist = state.activeFlyers.some(flyer => key.flyRecId === flyer.flyRecId);\r\n if (!isExist) {\r\n return key;\r\n }\r\n })\r\n if (state.isSoftDelete && flyersState.type === ActionType.ARCHIVE_FLYER_SUCCESS) {\r\n dispatch(softDeleteFlyer(deleteIDs, 'en-Us', true, flyersState));\r\n }\r\n dispatchEventDataType(EVENT_DATA_TYPE_TITLE_HEADER_DATA_CHANGE, '');\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n setState({\r\n ...state,\r\n archiveCount: state.archiveCount! - state.activeFlyers.length,\r\n activeFlyers: [],\r\n lastActivatedFlyer: {},\r\n flyersData: newFlayerState,\r\n showLoader: false\r\n })\r\n } else if (flyersState.type === ActionType.HARD_DELETE_FLYER_ERROR) {\r\n setState({\r\n ...state,\r\n showLoader: false\r\n })\r\n } else if (flyersState.type === ActionType.SOFT_DELETE_FLYER_SUCCESS) {\r\n setState({\r\n ...state,\r\n softDeleteCount: state.softDeleteCount + deleteIDs.length\r\n })\r\n }\r\n\r\n }, [flyersState]);\r\n\r\n useEffect(() => {\r\n if (flyerDetails.type === ActionType.GET_FLIPPING_FLYER_COMPLETED && flyersState.type === ActionType.GET_FLYERS_COMPLETED) {\r\n dispatchEventDataType(EVENT_DATA_TYPE_DISABLE_TABS, true);\r\n }\r\n // else if (flyerDetails.type === ActionType.CLEAR_DATA_FROM_FLYER) {\r\n // dispatch(getFlippingFlyer(state.activeFlyers[0].flyRecId!));\r\n // }\r\n }, [flyerDetails])\r\n\r\n\r\n const openFlyerDetails = (rowIndex: number, flyerDto: FlyerDto): void => {\r\n console.log('rowIndex:' + rowIndex);\r\n console.log('flyerDto.flyRecId:' + flyerDto.flyRecId);\r\n history.push(`/flyersCatalog/${flyerDto.flyRecId}`)\r\n }\r\n\r\n const urlClick = () => {\r\n window.open(state.url, 'urlFromMainScreen');\r\n }\r\n\r\n const onSoftDeleteFlyer = () => {\r\n setState({\r\n ...state,\r\n showLoader: true,\r\n isSoftDelete: true,\r\n })\r\n let deleteIds: number[] = [];\r\n state.activeFlyers.forEach(key => {\r\n deleteIds.push(key.flyRecId!);\r\n })\r\n changeDeleteIDs(deleteIds);\r\n dispatch(archiveFlyer(deleteIds, 'en-Us', false, flyersState))\r\n }\r\n // const onHardDeleteFlyer = () => {\r\n // setShowLoader(true);\r\n // changeModalStatus(false);\r\n // dispatch(softDeleteFlyer(deleteID, 'en-Us', true, flyersState));\r\n // dispatch(hardDeleteFlyer(deleteID));\r\n // }\r\n\r\n const onRestoreFlyer = () => {\r\n setState({\r\n ...state,\r\n showLoader: true\r\n })\r\n let deleteIds: number[] = [];\r\n state.activeFlyers.forEach(key => {\r\n deleteIds.push(key.flyRecId!);\r\n })\r\n dispatch(archiveFlyer(deleteIds, 'en-Us', false, flyersState));\r\n }\r\n\r\n const doubleClickOnFlayer = () => {\r\n try {\r\n const data = {\r\n selectedTabNum: 1,\r\n pageNo: 0\r\n }\r\n dispatch(setSelectedPageForTabs(data));\r\n } catch (e) {\r\n\r\n }\r\n }\r\n\r\n const keydownHandlerFlyersArchiveScreen = (e: any) => {\r\n if (e.code === 'KeyA' && e.ctrlKey && !isShowCreateNewFlyerPopup) {\r\n e.preventDefault();\r\n const isSelectedAll = state.activeFlyers.length !== flyersState.flyers.length;\r\n selectAllPossiblePromosInFramesOrDeselectAll(isSelectedAll);\r\n }\r\n }\r\n\r\n const selectAllPossiblePromosInFramesOrDeselectAll = (isSelectedAll: boolean) => {\r\n if (isSelectedAll) {\r\n setState({\r\n ...state,\r\n activeFlyers: flyersState.flyers,\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n } else {\r\n setState({\r\n ...state,\r\n activeFlyers: [],\r\n lastActivatedFlyer: flyersState.flyers[0]\r\n })\r\n }\r\n dispatch(resetFlyerState());\r\n\r\n }\r\n\r\n const handleChangeSelectAll = (event: React.ChangeEvent) => {\r\n const isSelected = event.target.checked;\r\n selectAllPossiblePromosInFramesOrDeselectAll(isSelected);\r\n }\r\n\r\n const flyers = state.flyersData.map((key, index) => {\r\n // if (activeFlyer !== '') {\r\n const isActivePage = state.activeFlyers.some((value: any) => value.flyCode === key.flyCode);\r\n return \r\n // }\r\n });\r\n\r\n const settings = {\r\n typeStatus: 0,\r\n title: '',\r\n subTitle: '',\r\n messages: [],\r\n modalName: 'confirmHardDeleteFlyer',\r\n confirmOnClick: {\r\n // onHardDeleteClick: onHardDeleteFlyer,\r\n }\r\n };\r\n\r\n\r\n let settingsForPopup = getSettingsForPopup(settings);\r\n\r\n\r\n return (\r\n
    \r\n {\r\n state.showLoader &&
    \r\n \r\n
    \r\n }\r\n \r\n \r\n \r\n \r\n Archived Flyers\r\n {/*URL: {state.url}*/}\r\n \r\n {/*
    */}\r\n {/* URL:*/}\r\n {/*
    */}\r\n {/*
    */}\r\n {/* {state.url}*/}\r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n \r\n }\r\n inputProps={{'aria-label': 'controlled'}}\r\n sx={{\r\n padding: `0`,\r\n marginRight: `5px`,\r\n }}\r\n />\r\n \r\n Select all\r\n \r\n \r\n \r\n \r\n \r\n {\r\n dispatch(getFlyers(true, false));\r\n history.push('/flyersCatalog/archive');\r\n }}>\r\n \r\n
    \r\n {state.archiveCount}\r\n
    \r\n \r\n {\r\n dispatch(getFlyers(false, true));\r\n history.push('/flyersCatalog/trash');\r\n }}>\r\n \r\n
    \r\n {state.softDeleteCount}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {flyers}\r\n
    \r\n\r\n {state.isModalPopup && setState({...state, isModalPopup: false})}\r\n />\r\n }\r\n
    \r\n )\r\n}","var _circle, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBigSuccessWithCircleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60,\n height: 60,\n viewBox: \"0 0 60 60\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.2,\n cx: 30,\n cy: 30,\n r: 30,\n fill: \"#21A546\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.3734 22.8574L28.3734 32.7864L24.4861 28.9271L21.4297 31.9625L28.3734 38.8574L41.4297 25.8928L38.3734 22.8574Z\",\n fill: \"#38B524\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigSuccessWithCircleIcon);\nexport default __webpack_public_path__ + \"static/media/big_success_with_circle_icon.24f6e85b.svg\";\nexport { ForwardRef as ReactComponent };","var _circle, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBigFailedWithCircleIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 60,\n height: 61,\n viewBox: \"0 0 60 61\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n opacity: 0.2,\n cx: 30,\n cy: 30.7939,\n r: 30,\n fill: \"#E09696\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.4768 39.7939L29.9997 33.3174L23.5232 39.7939L21 37.2705L27.4766 30.7939L21 24.3171L23.5232 21.7939L29.9997 28.2702L36.4768 21.7939L39 24.3171L32.5229 30.7939L39 37.2705L36.4768 39.7939Z\",\n fill: \"#C32E2E\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigFailedWithCircleIcon);\nexport default __webpack_public_path__ + \"static/media/big_failed_with_circle_icon.5ff0686e.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useEffect, useState} from \"react\";\r\nimport {Box, Button, Grid, Modal, Typography, useMediaQuery} from \"@mui/material\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport Draggable from \"react-draggable\";\r\nimport {ReactComponent as CloseIcon} from \"../../../assets/close_icon.svg\";\r\nimport {ProgressBarWithLabel} from \"../progressBar/progressBar\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\nimport {NotUploadedImagesDto} from \"../../../dtos\";\r\nimport {ReactComponent as SuccessIcon} from \"../../../assets/promos&items/approved_item_in_promo.svg\";\r\nimport {ReactComponent as ErrorIcon} from \"../../../assets/error_icon.svg\";\r\nimport {ReactComponent as SuccessIconWithCircle} from \"../../../assets/big_success_with_circle_icon.svg\";\r\nimport {ReactComponent as FailedIconWithCircle} from \"../../../assets/big_failed_with_circle_icon.svg\";\r\nimport {ReactComponent as WarningIconWithCircle} from \"../../../assets/big_warning_with_circle_icon.svg\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {closeUploadingImagesProgressPopup} from \"../../../store/actionCreators/uploadingImagesProgressActionCreator\";\r\nimport {getFlippingFlyer} from \"../../../store\";\r\nimport {makeStyles} from \"@mui/styles\";\r\nimport {formatBytes} from \"../../../globals/globalFunctions\";\r\nimport {toggleFlyerDetailsPopup} from \"../../../store/actionCreators/toggleActionForEditorActionCreators\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n uploadingPopupWrapper: {\r\n position: `absolute`,\r\n // minHeight: `200px`,\r\n maxHeight: `500px`,\r\n backgroundColor: `#ffffff`,\r\n borderRadius: `5px`,\r\n border: `1px solid black`,\r\n display: `flex`,\r\n flexDirection: `column`,\r\n // rowGap: `20px`,\r\n zIndex: 5,\r\n },\r\n uploadingContentPopupWrapper: {\r\n padding: `10px 20px 20px`,\r\n rowGap: \"20px\",\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n },\r\n uploadingPopupHeaderWrapper: {\r\n height: \"40px\",\r\n position: \"relative\",\r\n },\r\n closeBtn: {\r\n '&.MuiButton-root': {\r\n padding: `4px`,\r\n position: `absolute`,\r\n top: `50%`,\r\n transform: \"translateY(-50%)\",\r\n right: `12px`,\r\n '& > svg > path': {\r\n fill: `#000000`\r\n },\r\n '&:hover': {\r\n backgroundColor: `#014780`,\r\n '& > svg > path': {\r\n fill: `#ffffff`\r\n },\r\n }\r\n\r\n }\r\n },\r\n uploadingStatusInfo: {\r\n display: `flex`,\r\n columnGap: `5px`,\r\n alignItems: `center`\r\n },\r\n uploadingFinishedWrapper: {\r\n display: `flex`,\r\n flexDirection: `column`,\r\n alignItems: `center`,\r\n justifyContent: `center`,\r\n rowGap: `20px`,\r\n },\r\n showHideErrorsBtn: {\r\n display: \"flex\",\r\n justifyContent: \"flex-end\",\r\n '& > .MuiButton-root': {\r\n // width: `100%`,\r\n height: `100%`,\r\n display: `flex`,\r\n }\r\n },\r\n errorsRowsWrapper: {\r\n border: `1px solid rgba(0, 0, 0, 0.12)`,\r\n borderRadius: `2px`,\r\n padding: `16px`,\r\n rowGap: `8px`,\r\n display: `flex`,\r\n flexDirection: `column`,\r\n maxHeight: `240px`,\r\n overflow: `auto`\r\n },\r\n errorIconWrapper: {\r\n display: `flex`,\r\n alignItems: `center`,\r\n height: `100%`,\r\n justifyContent: `flex-start`,\r\n padding: `4px 0`\r\n },\r\n successfulMessageWrapper: {\r\n marginRight: `16px`,\r\n display: `flex`,\r\n alignItems: `baseline`,\r\n columnGap: `5px`,\r\n flexFlow: `row`,\r\n }\r\n}));\r\n\r\ninterface Props {\r\n isModal?: boolean\r\n}\r\n\r\nexport const UploadImagesProgressPopup: React.FC = ({\r\n isModal\r\n }) => {\r\n const dispatch = useDispatch();\r\n const {uploadImagesPopup, flyerDetails} = useTypedSelector((state) => state);\r\n const [isShowErrorsDetails, changeErrorDetailsDetails] = useState(false);\r\n const [isCopied, setIsCopied] = useState(false);\r\n let {isShowCreateNewFlyerPopup} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n const classes = useStyles();\r\n const isXs = useMediaQuery(`(max-width:599px)`);\r\n\r\n useEffect(() => {\r\n if (flyerDetails.flyRecId !== 0 && uploadImagesPopup.total !== 0 && uploadImagesPopup.processingFinished) {\r\n dispatch(getFlippingFlyer(flyerDetails.flyRecId));\r\n }\r\n }, [uploadImagesPopup.processingFinished, uploadImagesPopup.total]);\r\n\r\n const toggleErrorsDetails = () => {\r\n changeErrorDetailsDetails(!isShowErrorsDetails);\r\n }\r\n\r\n const copyAllErrors = () => {\r\n if(uploadImagesPopup.notUploadedImages){\r\n // Create a string containing all the messages separated by new lines\r\n const messageString = uploadImagesPopup.notUploadedImages.map(error => error.message).join(\"\\n\") || \"\";\r\n\r\n // Copy the message string to the clipboard\r\n navigator.clipboard.writeText(messageString).then(() => {\r\n console.log(\"Messages copied to clipboard.\");\r\n setIsCopied(true);\r\n setTimeout(() => {\r\n setIsCopied(false);\r\n }, 1000)\r\n });\r\n }\r\n }\r\n\r\n const onClosePopup = () => {\r\n dispatch(closeUploadingImagesProgressPopup());\r\n if (isShowCreateNewFlyerPopup) {\r\n dispatch(toggleFlyerDetailsPopup(false));\r\n }\r\n }\r\n\r\n const errors = uploadImagesPopup.notUploadedImages?.map((error: NotUploadedImagesDto, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/* {error.imageFileName}*/}\r\n {/* */}\r\n {/**/}\r\n \r\n \r\n {error.message}\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n const content = (\r\n \r\n \r\n {\r\n uploadImagesPopup.processingFinished &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n {\r\n (uploadImagesPopup.total === 0 && !uploadImagesPopup.processingFinished)\r\n ?\r\n \r\n {/*{*/}\r\n {/* uploadImagesPopup.titlePopup === 'Image Upload Started' &&*/}\r\n \r\n {uploadImagesPopup.titlePopup || \"Uploading images...\"}\r\n \r\n {/*}*/}\r\n \r\n \r\n :\r\n <>\r\n {\r\n uploadImagesPopup.processingFinished\r\n ?\r\n \r\n \r\n {uploadImagesPopup.successCount === uploadImagesPopup.total && uploadImagesPopup.total !== 0 &&\r\n \r\n }\r\n {(uploadImagesPopup.failCount === uploadImagesPopup.total || uploadImagesPopup.total === 0) &&\r\n \r\n }\r\n {uploadImagesPopup.failCount !== uploadImagesPopup.total && uploadImagesPopup.successCount !== uploadImagesPopup.total && uploadImagesPopup.total !== 0 &&\r\n \r\n }\r\n \r\n \r\n \r\n {uploadImagesPopup.titlePopup}\r\n {/*{uploadImagesPopup.successCount} Files Uploaded Successfully*/}\r\n \r\n \r\n \r\n :\r\n \r\n \r\n {\r\n !uploadImagesPopup.isUploadingFilesToSystem &&\r\n <>\r\n {\r\n uploadImagesPopup.severityLevel === \"Error\"\r\n ?\r\n \r\n :\r\n \r\n }\r\n \r\n\r\n }\r\n \r\n {uploadImagesPopup.titlePopup}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {uploadImagesPopup.isUploadingFilesToSystem ? `${formatBytes(uploadImagesPopup.current)}/${formatBytes(uploadImagesPopup.total)}` : `${uploadImagesPopup.successCount}/${uploadImagesPopup.total} successful`}\r\n \r\n \r\n {\r\n uploadImagesPopup.failCount !== 0 &&\r\n \r\n \r\n \r\n {uploadImagesPopup.failCount}/{uploadImagesPopup.total} errors\r\n \r\n \r\n }\r\n \r\n \r\n {uploadImagesPopup.failCount !== 0 &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n {\r\n isShowErrorsDetails && uploadImagesPopup.failCount !== 0 &&\r\n \r\n {errors}\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n )\r\n\r\n if (uploadImagesPopup.isOpen) {\r\n if (isModal) {\r\n return (\r\n \r\n {content}\r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {content}\r\n \r\n )\r\n\r\n }\r\n\r\n } else {\r\n return (\r\n <>\r\n )\r\n }\r\n}","import React, {useEffect, useState} from \"react\";\r\nimport {ToolsBar} from \"../toolsBar/ToolsBar\";\r\nimport {PrivateRoute} from \"../../../helpers/PrivateRoute\";\r\nimport {Pages} from \"../pages/pages\";\r\nimport {FlyerSpotsEditor} from \"../spots/FlyerSpotsEditor\";\r\nimport {FlyerPromosEditor} from \"../promos/FlyerPromosEditor\";\r\nimport {FlyerPromoItemsEditor} from \"../promoItems/FlyerPromoItemsEditor\";\r\nimport {FlyersCatalog} from \"../flyersCatalog/mainFlyersCatalog/flyersCatalog\";\r\nimport {TrashFlyersCatalog} from \"../flyersCatalog/trashFlyerCatalog/trashFlyersCatalog\";\r\nimport {ArchiveFlyersCatalog} from \"../flyersCatalog/archiveFlyerCatalog/archiveFlyersCatalog\";\r\nimport {UploadImagesProgressPopup} from \"../uploadImagesProgressPopup/uploadImagesProgressPopup\";\r\nimport {UserDto} from \"../../../dtos\";\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {useMediaQuery} from \"@mui/material\";\r\nimport {\r\n addEventDataTypeListener,\r\n EVENT_DATA_TYPE_DISABLE_TABS,\r\n removeEventTypeListener\r\n} from \"../../../globals/EventDispatcher\";\r\nimport {CustomDataEvent} from \"../../../globals/CustomDataEvent\";\r\nimport {ActionType} from \"../../../store/actionTypes\";\r\nimport {FlippingFlyersCatalogCreateEditFlyer} from \"../../flippingFlyersCatalog/flippingFlyersCatalogCreateEditFlyer\";\r\n\r\n\r\nexport const EditorContent = () => {\r\n const [isDisabledTabs, setTabsState] = useState(true);\r\n let userDtoStr = localStorage.getItem('userDto');\r\n let userDto: UserDto = JSON.parse(userDtoStr!);\r\n const isAccountTier1 = userDto?.accountTier === 1;\r\n let {isShowCreateNewFlyerPopup} = useTypedSelector((state) => state.toggleActionsForFlyers);\r\n const isXs = useMediaQuery(`(max-width:699px)`);\r\n const flyersState = useTypedSelector((state) => state.flyers);\r\n const [showWelcomeScreen, setShowWelcomeScreen] = useState(false);\r\n useEffect(() => {\r\n addEventDataTypeListener(EVENT_DATA_TYPE_DISABLE_TABS, (data: CustomDataEvent) => {\r\n setTabsState(data.data);\r\n })\r\n return () => {\r\n removeEventTypeListener(EVENT_DATA_TYPE_DISABLE_TABS)\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if(flyersState.type === ActionType.GET_FLYERS_SUCCESS || ActionType.CHANGE_FLYERS_STATE){\r\n const isFirstTimeCall = localStorage.getItem(`userEnterForFirstTime${userDto?.userId}`) === \"true\";\r\n if(flyersState.flyers.length === 0 && isFirstTimeCall){\r\n setShowWelcomeScreen(true);\r\n } else {\r\n setShowWelcomeScreen(false);\r\n }\r\n }\r\n }, [flyersState.type]);\r\n\r\n\r\n return (\r\n
    \r\n\r\n {\r\n !isXs && !showWelcomeScreen &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n )\r\n}","import React from 'react';\r\nimport {useTypedSelector} from \"../../../hooks/useTypeSelector\";\r\nimport {EditorHeader} from \"../header/editorHeader\";\r\nimport {EditorContent} from \"../content/editorContent\";\r\nimport {Box} from \"@mui/material\";\r\nimport {PageSpinner} from \"../../com/pagesTab/pagesSpinner/spinner\";\r\n\r\nexport const Main = () => {\r\n const storeState = useTypedSelector((state) => state.storeForAccount);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {storeState.loading &&\r\n \r\n \r\n }\r\n \r\n )\r\n}","import {Router, Route, Switch, Redirect} from 'react-router-dom';\r\nimport {Provider} from 'react-redux';\r\nimport {store} from './store';\r\nimport {history} from './helpers/history';\r\n\r\nimport ErrorBoundary from './com/errorBoundary/ErrorBoundary';\r\n\r\nimport ReduxErrorsHandler from './components/reduxErrorsHandler/ReduxErrorsHandler';\r\n\r\nimport './App.scss';\r\n\r\nimport AuthScreen from './components/auth/AuthScreen';\r\nimport React, {useEffect} from \"react\";\r\nimport {ThemeProvider, createTheme, Theme } from '@mui/material/styles';\r\nimport {\r\n UploadingPdfAndCreateFlyer\r\n} from \"./components/xCircularLandingPage/uploadingPdfAndCreateFlyer/uploadingPdfAndCreateFlyer\";\r\nimport 'react-lazy-load-image-component/src/effects/blur.css';\r\nimport 'react-phone-number-input/style.css'\r\nimport {Main} from \"./components/editor/main/main\";\r\n\r\ndeclare module '@mui/styles/defaultTheme' {\r\n interface DefaultTheme extends Theme {}\r\n}\r\n\r\n\r\nconst theme = createTheme({\r\n components: {\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n minWidth: 'auto',\r\n padding: '0',\r\n textTransform: `none`\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst App = () => {\r\n\r\n const projectUrlPath = `/flyersCatalog`;\r\n // const projectUrlPath = document.location.pathname.indexOf('flipbookEditor') > -1 ? `/flipbookEditor` : `/flyersCatalog`\r\n useEffect(() => {\r\n window.onbeforeunload = function () {\r\n sessionStorage.clear();\r\n };\r\n\r\n return () => {\r\n window.onbeforeunload = null;\r\n };\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n\r\n \r\n {/**/}\r\n {/**/}\r\n {/* {}}/>*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n );\r\n}\r\n\r\nexport default App;","import ReactDOM from 'react-dom';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'bootstrap-icons/font/bootstrap-icons.css';\r\n\r\n// import 'bootstrap/dist/js/bootstrap.js';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nimport './index.css';\r\nimport App from './App';\r\n\r\nReactDOM.render(, document.getElementById('root'));","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item_tooltip_details_popup\":\"TooltipDetailsItemPopup_item_tooltip_details_popup__1o_JS\",\"row_with_image\":\"TooltipDetailsItemPopup_row_with_image__1hHEY\",\"image_wrapper\":\"TooltipDetailsItemPopup_image_wrapper__Tkaj7\",\"row\":\"TooltipDetailsItemPopup_row__2EKEm\",\"value_for_prop\":\"TooltipDetailsItemPopup_value_for_prop__2mQSM\",\"missing_property\":\"TooltipDetailsItemPopup_missing_property__16FlT\",\"button_wrapper\":\"TooltipDetailsItemPopup_button_wrapper__FY0K1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"promo_item_wrapper\":\"LeftMenuPromotionItem_promo_item_wrapper__2SIAu\",\"item_wrapper\":\"LeftMenuPromotionItem_item_wrapper__1Ddb9\",\"item_info\":\"LeftMenuPromotionItem_item_info__-o-Kw\",\"item_icon_and_caption_wrapper\":\"LeftMenuPromotionItem_item_icon_and_caption_wrapper__2qZ_W\",\"icon_wrapper\":\"LeftMenuPromotionItem_icon_wrapper__Yyrhj\",\"item_caption\":\"LeftMenuPromotionItem_item_caption__3bvlw\",\"item_price\":\"LeftMenuPromotionItem_item_price__10ldm\",\"is_qualification\":\"LeftMenuPromotionItem_is_qualification__1iQqb\",\"item_qualification_status\":\"LeftMenuPromotionItem_item_qualification_status__1tG_c\",\"menu_for_item\":\"LeftMenuPromotionItem_menu_for_item__1ABuf\",\"context_menu\":\"LeftMenuPromotionItem_context_menu__3cU9_\",\"menu_flyer_item\":\"LeftMenuPromotionItem_menu_flyer_item__13gEo\",\"disabled\":\"LeftMenuPromotionItem_disabled__15v4t\",\"hover_style\":\"LeftMenuPromotionItem_hover_style__2Y9Bi\",\"is_hebrew\":\"LeftMenuPromotionItem_is_hebrew__2iIsk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"row_with_image\":\"TooltipDetailsPromoPopup_row_with_image__1oCeY\",\"image_wrapper\":\"TooltipDetailsPromoPopup_image_wrapper__2EUoQ\",\"row\":\"TooltipDetailsPromoPopup_row__1fEF2\",\"value_for_prop\":\"TooltipDetailsPromoPopup_value_for_prop__11dvM\",\"missing_property\":\"TooltipDetailsPromoPopup_missing_property__1TAbF\",\"button_wrapper\":\"TooltipDetailsPromoPopup_button_wrapper__1OlYH\"};"],"sourceRoot":""}