{"version":3,"sources":["app/components/CustomBlock.js","app/components/Button.js","app/components/TextBlock.js","app/components/Image.js","app/components/MobileHeader.js","app/components/HeaderBlock.js","app/components/Overlay.js","app/assets/img/logo-alt-2.svg","app/components/Drawer.js","app/components/SideSheet.js","app/components/ListBlock.js","app/redux/authRedux.js","app/routes/PrivateRoute.js","app/components/DrawerNavigation.js","app/components/SelectBlock.js","app/components/Chip.js","app/components/DotIndicator.js","app/components/TextHeader.js","app/components/ContentHeader.js","app/components/ModalBlock.js","app/components/Section.js","app/redux/alertToastRedux.js","app/redux/confirmModalRedux.js","app/redux/rootReducer.js","app/redux/store.js","app/services/interceptor/axiosInterceptor.js","app/constants/constants.js","app/services/apiService.js","app/services/cms/menuItemService.js","app/components/HeaderNavigation.js","app/components/InputBlock.js","app/assets/img/app-store-badge.svg","app/assets/img/google-play-badge.svg","app/components/FooterBlock.js","app/assets/img/logo-alt.svg","app/routes/CMSRoute.js","app/components/ConfirmModal.js","app/components/AlertToast.js","app/components/FormBlock.js","app/pages/admin/authentication/_partials/ForgotPasswordBlock.js","app/assets/img/logo.svg","app/helpers/validators/user/LoginValidator.js","app/helpers/helper.js","app/services/management/userService.js","app/pages/admin/authentication/LoginPage.js","app/components/ContentBlock.js","app/components/CheckboxBlock.js","app/helpers/validators/user/RegisterUserValidator.js","app/helpers/validators/user/UpdatePasswordValidator.js","app/helpers/validators/user/EditUserValidator.js","app/pages/admin/management/user/UserListingPage.js","app/pages/cms/management/menu-item/MenuItemListingPage.js","app/components/FixedActionsBar.js","app/services/cms/pageService.js","app/helpers/validators/cms/menuItem/menuItemValidator.js","app/pages/cms/management/menu-item/MenuItemManagementPage.js","app/pages/cms/management/page/PageListingPage.js","app/components/TextAreaBlock.js","app/components/FileUploadBlock.js","app/services/cms/contentSectionService.js","app/helpers/validators/cms/page/pageValidator.js","app/pages/cms/management/page/PageManagementPage.js","app/services/cms/bannerService.js","app/pages/cms/management/content-section/ContentSectionListingPage.js","app/components/SelectablePreview.js","app/assets/img/content-section_default.svg","app/assets/img/content-section_reversed.svg","app/assets/img/content-section_full-width.svg","app/assets/img/content-section_full-width-padded.svg","app/assets/img/content-section_text-only.svg","app/assets/img/content-section_floating-card.svg","app/assets/img/banner-section_dynamic.svg","app/assets/img/content-section_custom.svg","app/helpers/validators/cms/contentSection/ContentSectionValidator.js","app/pages/cms/management/content-section/ContentSectionManagementPage.js","app/assets/img/banner-section.svg","app/helpers/validators/cms/banner/BannerValidator.js","app/helpers/validators/cms/banner/BannerItemValidator.js","app/services/cms/bannerItemService.js","app/pages/cms/management/content-section/BannerManagementPage.js","app/services/cms/assetService.js","app/helpers/validators/cms/asset/AssetValidator.js","app/pages/cms/management/resources/AssetsAndResourcesPage.js","app/services/cms/footerItemService.js","app/helpers/validators/cms/footerItem/FooterItemValidator.js","app/pages/cms/management/footer-items/FooterItemListingPage.js","app/components/ContentSection.js","app/components/Banner.js","app/components/ContactForm.js","app/assets/img/banner-image_default.png","app/assets/img/background-decoration_dark-light-waves.svg","app/pages/cms/pages/ContactPage.js","app/services/management/clientService.js","app/pages/admin/management/client/ClientManagementPage.js","app/pages/admin/management/client/ClientListingPage.js","app/services/management/bidService.js","app/pages/admin/management/bid/BidListingPage.js","app/pages/admin/management/bid/wizard/Step1FileUploadWizard.js","app/pages/admin/management/bid/wizard/Step2LineItemListingWizard.js","app/pages/admin/management/bid/BidManagementPage.js","app/pages/admin/management/bid/BidReportPage.js","app/assets/img/logo.png","app/services/management/benchmarkService.js","app/pages/admin/management/client/BenchmarkPage.js","app/services/cms/blogService.js","app/pages/cms/management/blog/BlogListingPage.js","app/helpers/validators/cms/blog/BlogValidator.js","app/pages/cms/management/blog/BlogManagementPage.js","app/components/ContentStrip.js","app/pages/cms/pages/BlogsAndReviewsListingPage.js","app/assets/img/illustration_carrier-contract-negotiation.svg","app/assets/img/illustration_shipping-optimization.svg","app/assets/img/illustration_carrier-bid-management.svg","app/components/AnimatedLogo.js","app/assets/img/homepage-banner-image_default.png","app/assets/img/background-texture-1.svg","app/pages/cms/pages/HomePage.js","app/services/cms/homeService.js","app/pages/cms/pages/DynamicCMSPage.js","app/Routes.js","app/App.js","reportWebVitals.js","index.js"],"names":["CustomBlock","props","className","style","children","_jsx","concat","defaultProps","Button","text","size","type","tabIndex","to","onClick","isTextUppercase","isBadge","isLoading","isDisabled","buttonSubActions","isSubActionsVisible","iconLeft","iconRight","history","useHistory","_jsxs","_Fragment","navigateToPath","path","push","lg","md","sm","xs","xxs","xxxs","icon","input","disabled","AiOutlineLoading","TextBlock","link","containerClassName","position","color","actionText","actionTextColor","actionBackgroundColor","actionSize","actionIconRight","isTargetBlank","isPadded","isUppercase","hasAction","left","center","right","href","target","rel","Image","hasRoundCorners","source","alt","title","src","MobileHeader","backgroundColor","leftItemImageSource","leftItemImageTo","leftItemImageAlt","leftItem","leftItemTo","leftItemOnClick","rightItem","rightItemOnClick","hasBottomShadow","process","HeaderBlock","hasReturnAction","hasBorder","leftItemText","leftItemTextColor","centerItemText","centerItemTextColor","rightItemText","rightItemTextColor","primaryButtonText","primaryButtonTo","primaryButtonColor","primaryButtonClassName","primaryButtonOnClick","primaryButtonSize","secondaryButtonText","secondaryButtonTo","secondaryButtonColor","secondaryButtonClassName","secondaryButtonOnClick","secondaryButtonSize","returnActionIcon","HiChevronLeft","goBack","Overlay","isContained","overlayDarkness","hasLoader","animateShow","useSpring","opacity","from","loader","normal","dark","Drawer","isOpen","hasOverlay","hasShadow","headerLogo","mobileLogo","navigationItems","footerItems","closeActionOnClick","willCloseOnMaskPress","LogoAlt2","IoClose","SideSheet","ListBlock","titleColor","tooltipText","tooltipTextColor","tooltipBackgroundColor","iconLeftBadgeText","iconLeftBadgeTextColor","iconLeftBadgeBackgroundColor","iconRightText","iconRightTextColor","iconRightBackgroundColor","badgeText","badgeTextColor","badgeColor","onDoubleClick","isCollapsed","hasRoundIconRight","isTooltipVisible","setIsTooltipVisible","useState","onMouseEnter","onMouseLeave","width","actionTypes","initialAuthState","user","firstName","lastName","username","authToken","refreshToken","isAdmin","reducer","persistReducer","storage","key","whitelist","state","arguments","length","undefined","action","token","payload","userDetail","decodedToken","jwt_decode","IsAdmin","actions","login","logout","connect","auth","_ref","component","Component","rest","companyIconPath","cmsInfo","isDrawerOpen","setIsDrawerOpen","navigationTitleVisible","setNavigationTitleVisible","subMenuVisible","setSubMenuVisible","sideSheetOpen","setSideSheetOpen","body","document","querySelector","iconSize","menuIconColor","iconColor","toggleDrawer","setTimeout","enableBodyScroll","toggleSideSheet","disableBodyScroll","id","BsPeopleFill","isVisible","BsBuildingAdd","FaFileInvoiceDollar","RiLayout5Fill","FiLogOut","websiteManagementItems","IoList","CgCopy","RiListCheck2","IoLinkSharp","CgWebsite","Route","render","HiMenuAlt4","filter","x","map","item","index","rotateIconRight","subMenuItems","hasSubMenu","HiChevronRight","window","open","rightItemPrimaryButtonColor","rightItemPrimaryButtonOnClick","rightItemSecondaryButtonText","rightItemSecondaryButtonColor","DrawerNavigation","headerItems","SelectBlock","label","labelColor","inputLabel","inputState","errorMessage","successMessage","warningMessage","placeholder","isAsync","isCreatable","isLabelLoading","isMulti","isRequired","inputStates","error","warning","success","marginTop","display","marginBottom","Async","classNamePrefix","CreatableSelect","Select","Chip","DotIndicator","hasDotIndicator","dotIndicatorColor","TextHeader","subtitle","subtitleSize","subtitleClassName","isCentered","iconLeftClassName","textSize","xl","mdlg","ContentHeader","headerSize","primaryButtonBackgroundColor","primaryButtonIconLeft","secondaryButtonBackgroundColor","secondaryButtonIconLeft","buttonSize","headerIcon","headerIconContainerClass","headerIconTo","headerIconOnClick","isPrimaryLinkTargetBlank","isSecondaryLinkTargetBlank","isButtonTextUppercase","isPrimaryButtonLoading","isPrimaryButtonDisabled","isSecondaryButtonLoading","isSecondaryButtonDisabled","isTitleCentered","openInNewTab","uppercaseText","Link","ModalBlock","closeIconColor","contentHeader","contentDescription","buttonActionsContainerClassName","primaryModalActionType","primaryModalActionText","primaryModalActionColor","secondaryModalActionType","secondaryModalActionText","secondaryModalActionColor","onHide","primaryModalActionOnClick","secondaryModalActionOnClick","hasCloseAction","isPrimaryActionHidden","isSecondaryActionHidden","isPrimaryModalActionIsLoading","thirdModalActionText","thirdModalActionType","thirdModalActionColor","thirdModalActionOnClick","isThirdModalActionIsLoading","Modal","show","centered","Section","hasNoContainer","isFullWidth","containerStyle","rowClassName","rowStyle","initialAlertState","visible","showAlert","model","hideAlert","initialConfirmModalState","btnAction","console","log","closeBtnAction","rightBtnText","isProcessing","showConfirmModal","hideConfirmModal","setProcessing","appReducer","combineReducers","alertToast","confirmModal","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","store","configureStore","rootReducer","devTools","enhancers","reduxBatch","persistor","persistStore","isEnabled","config","property","hasOwnProperty","defaultErrorHandler","async","message","Promise","resolve","response","then","res","data","Message","status","localStorage","removeItem","location","origin","Error","constants","API_URL","REQUIRE_INTERCEPTORS","requestHandlerEnabled","responseHandlerEnabled","CONTENT_SECTION","ContentSectionTypeDefault","ContentSectionTypeReversed","ContentSectionTypeFullWidth","ContentSectionTypeFullWidthPadded","ContentSectionTypeTextOnly","ContentSectionTypeCard","ContentSectionTypeBanner","ContentSectionDynamicBanner","ContentSectionCustom","LeftAlignment","RightAlignment","CenterAlignment","ButtonActionTypePage","ButtonActionTypeLink","ButtonActionTypePhoneNumber","ButtonActionTypeEmail","EXCEL_FILE_TYPES","axiosInstance","axios","create","baseURL","interceptors","request","use","getState","headers","Authorization","requestHandler","successHandler","err","originalConfig","url","_retry","rs","post","dispatch","_error","errorHandler","ENDPOINTORIGIN","getAllMenuItems","get","isActive","getMenuItemsById","menuItemId","HeaderNavigation","phoneNumber","emailAddress","menuItemsBlockBackgroundColor","menuItemColor","menuToggleIconColor","menuToggleIconSize","mobileMenuItemColor","submenuBlockBackgroundColor","submenuItemColor","fixedNavigationBarBackgroundColor","logo","logoAlt","iconAppearance","socialIconColor","socialIconBackgroundColor","primarySocialMediaLink","secondarySocialMediaLink","hasSearchBlock","menuItems","hasChipFilter","expandedMenuId","setExpandedMenuId","scroll","setScroll","SocialIconButton","socialIconButtonProps","displayIf","buttonColor","buttonText","socialIcon","onClickAction","background","onScroll","scrollCheck","scrollY","useEffect","addEventListener","removeEventListener","iconAppearanceOptions","square","round","circle","handleMenuItemClick","menuItem","pageUrl","menuItemService","customLink","includes","navigateToPage","page","sendEmail","email","socialIconsRef","platform","youtubeLink","FaYoutube","twitterLink","FaTwitter","googleMapLink","height","viewBox","fill","xmlns","d","tikTokLink","fillRule","clipRule","instagramLink","RiInstagramLine","linkedInLink","FaLinkedinIn","facebookLink","FaFacebookF","FaPhoneAlt","callPhoneNumber","tel","TbMailFilled","RiQuestionAnswerFill","FiMenu","socialItemsHeaderNav","socialItemsMobileNav","socialItemsDrawerNav","onKeyDown","e","preventDefault","predefinedFilter","sortBy","priceRange","categories","searchTerm","value","productTypes","featuredSections","skip","blur","autoBlur","defaultOptions","noOptionsMessage","inputValue","formatOptionLabel","option","filePath","onChange","name","FiFacebook","MdMailOutline","assignedMenuItems","submenuItem","TiArrowSortedDown","menuId","InputBlock","mask","inputRightButtonText","inputRightButtonBackgroundColor","inputRightButtonIconLeft","iconLeftOnClick","iconRightOnClick","inputRightButtonOnClick","isAutoFocus","options","Flatpickr","autoFocus","paddingLeft","InputMask","FooterBlock","imageSource","bottomFooterBackgroundColor","subheaderColor","subheaderClassName","companyName","copyrightTextColor","footerHeaderTextColor","appStoreLink","googlePlayLink","tiktokLink","hasSocialMediaIconColor","hasEmailSignUp","hasContactBlock","navigateToLink","socialItemsFooter","inputRightButtonTextColor","AppStoreBadge","GooglePlayBadge","Date","getFullYear","CMSRoute","cmsRouteProps","dynamicPageId","isBlog","companyLogoPath","isSubmenuFullWidth","LogoAlt","hasSubmenu","destination","stores","googlePlayStoreLink","handleConfirm","handleCloseBtn","handleEnterKey","event","keyCode","padded","static","contentDescriptionClassName","info","FiThumbsUp","HiOutlineEmojiSad","BiShocked","HiOutlineLightBulb","FormBlock","onSubmit","ForgotPasswordBlock","returnActionOnClick","HiOutlineMail","Yup","shape","required","password","getInputClasses","formik","fieldname","touched","errors","convertJsonToFormData","json","form_data","FormData","Array","isArray","forEach","append","setToOptionModel","reOrderDnd","list","startIndex","endIndex","result","removed","splice","i","sortOrder","mapContentSectionName","initialModel","passwordVisible","setPasswordVisible","forgotPasswordBlockVisible","setForgotPasswordBlockVisible","loginUser","setSubmitting","userService","catch","ex","finally","useFormik","initialValues","validationSchema","LoginValidator","values","helper","getFieldProps","FiUser","FiLock","isSubmitting","isValid","submitForm","Logo","ContentBlock","cols","CheckboxBlock","labelClassName","isChecked","checked","for","max","fullName","phone","min","confirmPassword","oneOf","nullable","oldPassword","userRegisterModel","initialUpdatePasswordModel","initialEditModel","alert","registerModalVisible","setRegisterModalVisible","updatePasswordModalVisible","setUpdatePasswordRegisterModalVisible","editModalVisible","setEditModalVisible","isPasswordVisible","setIsPasswordVisible","isConfirmPasswordVisible","setIsConfirmPasswordVisible","userList","setUserList","setIsLoading","updatePasswordModel","setUpdatePasswordModel","editUserModel","setEditUserModel","getAllUsers","regiser_user_formik","RegisterUserValidator","registerUser","update_password_user_formik","UpdatePasswordValidator","enableReinitialize","_ref2","updateUserPassword","edit_user_formik","EditUserValidator","_ref3","editUser","getUserDetails","userId","closeRegisterModal","resetForm","newPassword","put","closeEditModal","columnOptions","sort","print","download","columns","customBodyRenderLite","dataIndex","OverLay","IoPersonSharp","MUIDataTable","selectableRows","jumpToPage","textLabels","pagination","FiEye","FiEyeOff","isSortModalOpen","setIsSortModalOpen","setMenuItems","sortList","setSortList","getMenuItems","a","b","deleteMenuItem","delete","IoMdAddCircle","sortMenuItems","DragDropContext","onDragEnd","tempArr","Droppable","droppableId","droppableProvided","ref","innerRef","Draggable","draggableId","draggableProvided","draggableProps","dragHandleProps","FixedActionsBar","primaryActionText","primaryActionColor","primaryActionTo","isPrimaryActionDisabled","primaryActionOnClick","secondaryActionText","secondaryActionColor","secondaryActionTo","isSecondaryActionDisabled","secondaryActionOnClick","optionalActionText","optionalActionColor","optionalActionTo","optionalActionOnClick","getAllPages","pageId","parentMenuItemId","intialMenuItemModel","confirmModalRedux","useParams","menuItemModel","setMenuItemModel","selectedOptions","setSelectedOptions","parentMenuItem","pageOptions","setPageOptions","menuItemOptions","setMenuItemOptions","isModalVisible","setIsModalVisible","assignmentMenuItemOptions","setAssignmentMenuItemOptions","selectedAssignmentMenuItem","setSelectedAssignmentMenuItem","loadOptionsAndPopulateForm","MenuItemValidator","updateMenuItem","createMenuItem","pages","getPageOptions","getMenuItemOptions","getMenuItem","getMenuItemForAssignments","selectedOptionsFromApi","selectedPage","find","selectedMenuItem","pageService","pageList","assignmentlist","Number","menuItemList","removeAssignedMenuItem","isClearable","selectedOpt","setFieldValue","assignMenuItem","parentId","childMenuItemIds","closeMenuOnSelect","sortChildMenuItems","setPages","getPages","deletePage","TextAreaBlock","registerPlugin","FilePondPluginImageExifOrientation","FilePondPluginImagePreview","FileUploadBlock","forwardRef","labelIdle","FilePond","isBannerVisible","bannerImageFilePath","bannerColor","keywords","description","intialPageModel","bannerImage","contentSections","typeSelectionOptions","file","setFile","selectedOption","setSelectedOption","contentBannerTypeOption","setContentBannerTypeOption","selectedContentBannerTypeOption","setSelectedContentBannerTypeOption","pageModel","setPageModel","getOptions","PageValidator","updatePage","createPage","getPage","contentSectionService","hideContentSectionModal","deletePageContent","contentSectionBannerId","deleteBannerImage","bannerId","contentSectionId","onupdatefiles","FaSquare","SwatchesPicker","onChangeComplete","c","hex","MdOutlinePlaylistAdd","handleSubmit","addContentSection","sortPageContents","sortOrders","setContentSections","isConfirmDeleteModalVisible","setIsConfirmDeleteModalVisible","getContentSections","deleteContentSection","deleteBanner","bannerService","SelectablePreview","isSelected","when","is","otherwise","rawHTML","alignment","imagePath","isFloatingCard","hasRoundedCorners","isTextOnly","primaryButtonActionType","primaryButtonLink","secondaryButtonActionType","secondaryButtonLink","Quill","register","ImageResize","initialContentSectionModel","image","primarButtonLink","format","linkTypes","alignmentOptions","components","CustomSectionImage","ContentSectionDefaultImage","ContentSectionReversedImage","ContentSectionFulWidthImage","ContentSectionFulWidthPaddedImage","ContentSectionTextOnlyImage","ContentSectionFloatingCardImage","DynamicBannerSectionImage","blogId","contentSectionModel","setContentSectionModel","setAlignment","primaryActionType","setPrimaryActionType","secondaryActionType","setSecondaryActionType","quillRef","useRef","modules","setModules","toolbar","container","header","font","indent","handlers","clipboard","matchVisual","imageResize","parchment","import","imageHandler","createElement","setAttribute","click","onchange","files","reader","FileReader","onload","quillEditor","current","getEditor","range","getSelection","getLength","insertEmbed","readAsDataURL","prevModules","getContentSection","ContentSectionValidator","updateContentSection","createContentSection","fillSelectedOptions","selectedAlignment","selectedPrimaryActionType","selectedSecondaryActionType","contentSection","floatingCardProp","isTextOnlyProp","isPaddedProp","alignmentProp","showOrHideFields","opt","onMenuOpen","setFieldTouched","ReactQuill","theme","val","formats","initialBannerModel","bannerItems","BannerDynamicBanner","filePondRef","initialBannerItemModel","bannerModel","setBannerModel","bannerItemModel","setBannerItemModel","getBanner","BannerValidator","updateBanner","createBanner","formik_bannerItem","BannerItemValidator","updateBannerItem","createBannerItem","banner","bannerItem","bannerItemService","resetBannerItemForm","resetBannerItemEditFormFields","removeFiles","removeBannerItem","bannerItemId","sortBannerItems","streetAddress1","streetAddress2","city","zipCode","primaryWeekDayHours","primaryWeekEndHours","secondaryWeekDayHours","secondaryWeekEndHours","googleAnalyticsId","initialAssetModel","companyLogo","companyIcon","googleAnalyticsLink","seo","facebookPixelCode","assetModel","setAsset","logoFile","setLogoFile","iconFile","setIconFile","logoRef","iconRef","fetchAssets","AssetValidator","saveAsset","assetService","initialFooterItemModel","setFooterItems","footerItemModel","setFooterItemModel","getFooterItems","FooterItemValidator","createFooterItem","updateFooterItem","footerItem","footerItemService","closeFooterItemModal","getFooterItem","footerItemId","deleteFooterItem","sortFooterItems","ContentSection","descriptionColor","cardBackgroundColor","isPrimaryActionTargetBlank","isSecondaryActionTargetBlank","isReversed","isTitleUppercase","hasCardBackgroundImage","isFullWidthUnpadded","backgroundImage","Banner","bannerBackgroundColor","titlePosition","isDynamicBanner","offset","backgroundPositionY","ContactForm","formConfig","reduce","prev","curr","validator","field","textarea","BannerImage","zIndex","BackgroundDecorationImage","emailService","getAll","frequencyOptions","initialClientModel","contactName","contactPhone","contactEmail","address1","address2","reportFrequency","clientId","client","setClient","parseInt","fetchClient","clientService","updateClient","createClient","authRedux","clients","setClients","getAllClients","deleteClient","bids","setBids","getAllBids","bidService","deleteBid","bidId","Step1FileUploadWizard","excelFileUpload","setExcelFileUpload","nextStep","useWizard","acceptedFileTypes","Step2LineItemListingWizard","bidItemColumns","handleModalClose","fetchBid","tempExcelJson","setTempExcelJson","previousStep","readExcelFile","readXlsxFile","fetchValuesForUps","fetchValuesForFedEx","excelJson","trackingNumberIndex","indexOf","invoiceDateIndex","invoiceNumberIndex","serviceTypeIndex","actualWeightAmountIndex","ratedWeightAmountIndex","lengthIndex","widthIndex","heightIndex","divisorIndex","zoneCodeIndex","multiWeightNumberIndex","transportationChargeAmountIndex","netChargeAmountIndex","startIndexForTrackingID","accesoryCharges","String","invoiceDate","fedExObj","trackingNumber","substr","invoiceNumber","serviceType","actualWeightAmount","ratedWeightAmount","divisor","zoneCode","multiWeightNumber","transportationChargeAmount","netChargeAmount","arrIndex","j","_","enteredWeightIndex","billedWeightIndex","zoneIndex","chargeDescriptionIndex","basisValueIndex","incentiveAmountIndex","netAmountIndex","grossIndex","moment","enteredWeight","billedWeight","Zone","chargeDescription","basisValue","incentiveAmount","netAmount","gross","ReactTable","minRows","pageSizeOptions","defaultPageSize","submitBidItems","bidItemService","carrierOptions","initialBidModel","_uniqueServiceTypes$f","_uniqueServiceTypes$f2","bid","setBid","bidItems","setBidItems","isModalOpen","setIsModalOpen","uniqueServiceTypes","setUniqueServiceTypes","fetchOptionsAndBid","all","fetchClients","fetchBidItems","groupedByServiceType","group","count","totalCharge","parseFloat","toFixed","totalDiscountAmount","calculateDiscountPercentage","convertToFloat","trackingIdChargeAmount1","trackingIdChargeAmount2","trackingIdChargeAmount3","trackingIdChargeAmount4","trackingIdChargeAmount5","trackingIdChargeAmount6","trackingIdChargeAmount7","trackingIdChargeAmount8","trackingIdChargeAmount9","trackingIdChargeAmount10","trackingIdChargeAmount11","trackingIdChargeAmount12","trackingIdChargeAmount13","trackingIdChargeAmount14","trackingIdChargeAmount15","trackingIdChargeAmount16","trackingIdChargeAmount17","trackingIdChargeAmount18","trackingIdChargeAmount19","trackingIdChargeAmount20","incentiveAmount_AZ","amount","updateBid","createBid","minWidth","rowIndex","rowData","_rowData$original","original","TbChecks","bidItemColumnsReactTable","Header","accessor","Cell","cellProps","Table","striped","bordered","hover","Math","abs","totalRatedWeight","totalTransportationCharge","totalNetCharge","rowsPerPageOptions","rowsPerPage","fullscreen","Wizard","columnHeaders","upsFirstTableColumnHeaders","upsSecondTableColumnHeaders","headerStyles","StyleSheet","flexDirection","justifyContent","alignItems","marginRight","fontSize","fontWeight","View","Text","reportText","BidReportPage","styles","padding","section","margin","flexGrow","marginLeft","table","borderStyle","borderWidth","borderLeft","borderTop","borderTopWidth","borderRightWidth","borderBottomWidth","tableRow","tableCell","borderLeftWidth","textAlign","columnHeader","textDecoration","cellText","PDFViewer","Document","Page","orientation","wrap","params","benchmarks","setBenchmarks","initialGroupModel","benchmarkId","bm","benchmarkName","groupModel","setGroupModel","fetchBenchmarks","benchmarkService","handleValueUpdate","findBenchmark","getValueByName","addGroup","shouldCloseModal","benchmarkGroups","handleInLineChange","order","Tabs","defaultActiveKey","Tab","eventKey","minCharge","benchmarkDiscount","_benchmarks$find","_benchmarks$find$benc","_benchmarks$find2","_benchmarks$find2$ben","TbPlus","TbCurrencyDollar","TbPercentage","groupItem","_ref4","_ref5","_benchmarks$find3","_benchmarks$find3$ben","_benchmarks$find4","_benchmarks$find4$ben","_ref6","_ref7","_ref8","_ref9","_ref10","_benchmarks$find5","_benchmarks$find5$ben","_benchmarks$find6","_benchmarks$find6$ben","_ref11","_ref12","_ref13","_ref14","_ref15","_benchmarks$find7","_benchmarks$find7$ben","_benchmarks$find8","_benchmarks$find8$ben","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","blogs","setBlogs","getBlogs","blogService","deleteBlog","intialBlogModel","blogModel","setBlogModel","BlogValidator","updateBlog","createBlog","getBlog","blog","deleteBlogContent","sortBlogContents","ContentStrip","badgeBackgroundColor","leftBlockText","rightBlockText","BlogsAndReviewsListingPage","filteredBlogs","setFilteredBlogs","today","setHours","HiSearch","search","toLowerCase","addedOn","addedBy","getTime","AnimatedLogo","isAnimating","setIsAnimating","animationKey","setAnimationKey","svgRef","handleLogoAnimation","prevKey","stroke","class","BiRefresh","HomePage","dynamicPageModel","buttonAction","banners","setBanners","setOffset","servicesOverview","illustration","CarrierContractNegotiation","ShippingOptimization","CarrierBidManagement","rotatingBanners","pageContentSectionBanners","handleScroll","pageYOffset","Slider","dots","infinite","speed","slidesToShow","slidesToScroll","arrows","autoplay","autoplaySpeed","responsive","breakpoint","settings","LiaShippingFastSolid","BackgroundTexture","initialDynamicPageModel","DynamicCMSPage","setDynamicPageModel","getDynamicBlogContent","getDynamicPageContent","homeService","actionType","generateContent","dangerouslySetInnerHTML","__html","Helmet","content","blogContentSectionBanners","initialCMSInfo","isAuthorized","setIsAuthorized","setCmsInfo","pathname","useLocation","fetchCMSInfoAndValidate","validateAccess","scrollTo","AlertToast","ConfirmModal","Switch","Redirect","exact","LoginPage","ContactPage","PrivateRoute","UserListingPage","ClientListingPage","ClientManagementPage","BenchmarkPage","BidListingPage","BidManagementPage","MenuItemListingPage","MenuItemManagementPage","PageListingPage","PageManagementPage","BlogListingPage","BlogManagementPage","ContentSectionListingPage","ContentSectionManagementPage","BannerManagementPage","AssetsAndResourcesPage","FooterItemListingPage","App","HttpsRedirect","BrowserRouter","Routes","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","PUBLIC_URL","ReactDOM","React","StrictMode","Provider","PersistGate","basename","getElementById"],"mappings":"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","file":"static/js/main.683de5c1.chunk.js","sourcesContent":["// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst CustomBlock = (props) => {\r\n const { className, style, children } = props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nCustomBlock.propTypes = {\r\n // MAIN PROPS\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n children: PropTypes.any\r\n};\r\n\r\nCustomBlock.defaultProps = {\r\n className: '',\r\n style: {},\r\n children: null\r\n};\r\n\r\nexport default CustomBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useHistory } from 'react-router-dom';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst Button = (props) => {\r\n const {\r\n text,\r\n size,\r\n type,\r\n style,\r\n tabIndex,\r\n to,\r\n onClick,\r\n className,\r\n isTextUppercase,\r\n isBadge,\r\n isLoading,\r\n isDisabled,\r\n buttonSubActions,\r\n isSubActionsVisible,\r\n iconLeft,\r\n iconRight\r\n } = props;\r\n\r\n const sizes = {\r\n lg: '--lg',\r\n md: '--md',\r\n sm: '--sm',\r\n xs: '--xs',\r\n xxs: '--xxs',\r\n xxxs: '--xxxs',\r\n icon: '--icon',\r\n input: '--input-button'\r\n };\r\n\r\n const history = useHistory();\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n };\r\n\r\n return (\r\n <>\r\n navigateToPath(to) : onClick}\r\n className={`button${size && sizes[size]} ${className} ${isTextUppercase ? 'uppercase' : ''} ${isBadge ? 'badge' : ''}`}\r\n style={style}\r\n disabled={isDisabled || isLoading}\r\n >\r\n {iconLeft}\r\n {isLoading ? : text}\r\n {iconRight}\r\n \r\n {\r\n buttonSubActions\r\n && (\r\n \r\n {buttonSubActions}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nButton.propTypes = {\r\n // MAIN PROPS\r\n text: PropTypes.string,\r\n size: PropTypes.string,\r\n type: PropTypes.string,\r\n style: PropTypes.object,\r\n tabIndex: PropTypes.string,\r\n to: PropTypes.string,\r\n onClick: PropTypes.func,\r\n className: PropTypes.string,\r\n isTextUppercase: PropTypes.bool,\r\n isBadge: PropTypes.bool,\r\n isLoading: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n\r\n // SUB ACTIONS PROPS\r\n buttonSubActions: PropTypes.element,\r\n isSubActionsVisible: PropTypes.bool,\r\n\r\n // ICON PROPS\r\n iconLeft: PropTypes.element,\r\n iconRight: PropTypes.element\r\n};\r\n\r\nButton.defaultProps = {\r\n // MAIN PROPS\r\n text: '',\r\n size: '',\r\n type: 'button',\r\n style: {},\r\n tabIndex: -1,\r\n to: null,\r\n onClick: () => { },\r\n className: '',\r\n isTextUppercase: false,\r\n isBadge: false,\r\n isLoading: false,\r\n isDisabled: false,\r\n\r\n // SUB ACTIONS PROPS\r\n buttonSubActions: null,\r\n isSubActionsVisible: false,\r\n\r\n // ICON PROPS\r\n iconLeft: null,\r\n iconRight: null\r\n};\r\n\r\nexport default Button;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n\r\nconst TextBlock = (props) => {\r\n const {\r\n type,\r\n text,\r\n link,\r\n containerClassName,\r\n className,\r\n position,\r\n color,\r\n actionText,\r\n actionTextColor,\r\n actionBackgroundColor,\r\n actionSize,\r\n actionIconRight,\r\n onClick,\r\n isTargetBlank,\r\n isPadded,\r\n isUppercase,\r\n hasAction,\r\n } = props;\r\n\r\n const textPositions = {\r\n left: 'left',\r\n center: 'center',\r\n right: 'right'\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n type === 'header'\r\n && (\r\n

\r\n {text}\r\n

\r\n )\r\n }\r\n\r\n {\r\n type === 'subheader'\r\n && (\r\n

\r\n {text}\r\n

\r\n )\r\n }\r\n\r\n {\r\n type === 'description' &&
{text}
\r\n }\r\n\r\n {\r\n type === 'link'\r\n && (\r\n \r\n {text}\r\n \r\n )\r\n }\r\n
\r\n {\r\n (hasAction && actionText !== '')\r\n && (\r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n );\r\n};\r\n\r\nTextBlock.propTypes = {\r\n // MAIN PROPS\r\n type: PropTypes.string.isRequired,\r\n text: PropTypes.string,\r\n position: PropTypes.string,\r\n color: PropTypes.string,\r\n containerClassName: PropTypes.string,\r\n className: PropTypes.string,\r\n\r\n // LINK PROPS\r\n link: PropTypes.string,\r\n\r\n // ACTION PROPS\r\n actionText: PropTypes.string,\r\n actionTextColor: PropTypes.string,\r\n actionBackgroundColor: PropTypes.string,\r\n actionSize: PropTypes.string,\r\n actionIconRight: PropTypes.any,\r\n\r\n // BOOLEAN PROPS\r\n isTargetBlank: PropTypes.bool,\r\n isPadded: PropTypes.bool,\r\n isUppercase: PropTypes.bool,\r\n hasAction: PropTypes.bool,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n};\r\n\r\nTextBlock.defaultProps = {\r\n // MAIN PROPS\r\n text: '',\r\n position: 'left',\r\n color: 'dark--clr',\r\n containerClassName: '',\r\n className: '',\r\n\r\n // LINK PROPS\r\n link: '#',\r\n\r\n // ACTION PROPS\r\n actionText: '',\r\n actionTextColor: 'secondary--clr',\r\n actionBackgroundColor: '',\r\n actionSize: '',\r\n actionIconRight: null,\r\n\r\n // BOOLEAN PROPS\r\n isTargetBlank: false,\r\n isPadded: false,\r\n isUppercase: false,\r\n hasAction: false,\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n};\r\n\r\nexport default TextBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useHistory } from 'react-router-dom';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport TextBlock from './TextBlock';\r\n\r\nconst Image = (props) => {\r\n const {\r\n to,\r\n onClick,\r\n containerClassName,\r\n className,\r\n hasRoundCorners,\r\n source,\r\n alt,\r\n title\r\n } = props;\r\n\r\n const history = useHistory();\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n (to !== '' || null || onClick)\r\n ? (\r\n navigateToPath(to) : onClick}\r\n className={containerClassName}\r\n type=\"button\"\r\n >\r\n \r\n\r\n {\r\n title !== ''\r\n && (\r\n \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 \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nImage.propTypes = {\r\n // MAIN PROPS\r\n to: PropTypes.string,\r\n onClick: PropTypes.func,\r\n containerClassName: PropTypes.string,\r\n className: PropTypes.string,\r\n hasRoundCorners: PropTypes.bool,\r\n source: PropTypes.string.isRequired,\r\n alt: PropTypes.string,\r\n title: PropTypes.string,\r\n};\r\n\r\nImage.defaultProps = {\r\n // MAIN PROPS\r\n to: '',\r\n alt: 'Image',\r\n title: '',\r\n onClick: null,\r\n containerClassName: '',\r\n className: '',\r\n hasRoundCorners: false,\r\n};\r\n\r\nexport default Image;","/* eslint-disable no-nested-ternary */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useHistory } from 'react-router-dom';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Image from './Image';\r\n\r\nconst MobileHeader = (props) => {\r\n const {\r\n backgroundColor,\r\n leftItemImageSource,\r\n leftItemImageTo,\r\n leftItemImageAlt,\r\n leftItem,\r\n leftItemTo,\r\n leftItemOnClick,\r\n rightItem,\r\n // rightItemTo,\r\n rightItemOnClick,\r\n hasBottomShadow\r\n } = props;\r\n\r\n const history = useHistory();\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n leftItemImageSource\r\n ? (\r\n \r\n ) : leftItemTo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nMobileHeader.propTypes = {\r\n // MAIN PROPS\r\n backgroundColor: PropTypes.string,\r\n\r\n // LEFT ITEM PROPS\r\n leftItem: PropTypes.any,\r\n leftItemTo: PropTypes.string,\r\n leftItemOnClick: PropTypes.func,\r\n leftItemImageTo: PropTypes.string,\r\n leftItemImageSource: PropTypes.string,\r\n leftItemImageAlt: PropTypes.string,\r\n\r\n // RIGHT ITEM PROPS\r\n rightItem: PropTypes.any,\r\n // rightItemTo: PropTypes.string,\r\n rightItemOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n hasBottomShadow: PropTypes.bool,\r\n};\r\n\r\nMobileHeader.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: 'white--sbg',\r\n\r\n // LEFT ITEM PROPS\r\n leftItem: null,\r\n leftItemTo: null,\r\n leftItemOnClick: () => { },\r\n leftItemImageTo: null,\r\n leftItemImageSource: '',\r\n leftItemImageAlt: 'Image',\r\n\r\n // RIGHT ITEM PROPS\r\n rightItem: null,\r\n // rightItemTo: null,\r\n rightItemOnClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n hasBottomShadow: true,\r\n};\r\n\r\nexport default MobileHeader;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useHistory } from 'react-router-dom';\r\n// ICONS\r\nimport { HiChevronLeft } from 'react-icons/hi';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n\r\nconst HeaderBlock = (props) => {\r\n const {\r\n hasReturnAction,\r\n backgroundColor,\r\n hasBorder,\r\n hasBottomShadow,\r\n leftItemText,\r\n leftItemTextColor,\r\n centerItemText,\r\n centerItemTextColor,\r\n rightItemText,\r\n rightItemTextColor,\r\n primaryButtonText,\r\n primaryButtonTo,\r\n primaryButtonColor,\r\n primaryButtonClassName,\r\n primaryButtonOnClick,\r\n primaryButtonSize,\r\n secondaryButtonText,\r\n secondaryButtonTo,\r\n secondaryButtonColor,\r\n secondaryButtonClassName,\r\n secondaryButtonOnClick,\r\n secondaryButtonSize,\r\n\r\n } = props;\r\n\r\n const history = useHistory();\r\n const iconSize = 30;\r\n const iconColor = 'mid-grey--clr';\r\n const returnActionIcon = ();\r\n\r\n return (\r\n \r\n \r\n {\r\n hasReturnAction\r\n && (\r\n \r\n \r\n \r\n )\r\n }\r\n {leftItemText &&

{leftItemText}

}\r\n
\r\n\r\n \r\n {centerItemText &&

{centerItemText}

}\r\n
\r\n\r\n \r\n {rightItemText &&

{rightItemText}

}\r\n\r\n {\r\n (primaryButtonText || primaryButtonText)\r\n && (\r\n \r\n {\r\n primaryButtonText\r\n && (\r\n \r\n )\r\n }\r\n\r\n {\r\n secondaryButtonText\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\n// PROP TYPES\r\nHeaderBlock.propTypes = {\r\n // MAIN PROPS\r\n hasReturnAction: PropTypes.bool,\r\n backgroundColor: PropTypes.string,\r\n hasBorder: PropTypes.bool,\r\n hasBottomShadow: PropTypes.bool,\r\n\r\n // LEFT ITEM PROPS\r\n leftItemText: PropTypes.string,\r\n leftItemTextColor: PropTypes.string,\r\n\r\n // CENTER ITEM PROPS\r\n centerItemText: PropTypes.string,\r\n centerItemTextColor: PropTypes.string,\r\n\r\n // RIGHT ITEM PROPS\r\n rightItemText: PropTypes.string,\r\n rightItemTextColor: PropTypes.string,\r\n\r\n // PRIMARY ACTION PROPS\r\n primaryButtonText: PropTypes.string,\r\n primaryButtonTo: PropTypes.string,\r\n primaryButtonClassName: PropTypes.string,\r\n primaryButtonColor: PropTypes.string,\r\n primaryButtonSize: PropTypes.string,\r\n primaryButtonOnClick: PropTypes.func,\r\n\r\n // SECONDARY ACTION PROPS\r\n secondaryButtonText: PropTypes.string,\r\n secondaryButtonTo: PropTypes.string,\r\n secondaryButtonClassName: PropTypes.string,\r\n secondaryButtonColor: PropTypes.string,\r\n secondaryButtonSize: PropTypes.string,\r\n secondaryButtonOnClick: PropTypes.func,\r\n};\r\n\r\n// DEFAULT VALUES\r\nHeaderBlock.defaultProps = {\r\n // MAIN PROPS\r\n hasReturnAction: false,\r\n backgroundColor: '',\r\n hasBorder: false,\r\n hasBottomShadow: '',\r\n\r\n // LEFT ITEM PROPS\r\n leftItemText: '',\r\n leftItemTextColor: 'secondary--clr',\r\n\r\n // CENTER ITEM PROPS\r\n centerItemText: '',\r\n centerItemTextColor: 'secondary--clr',\r\n\r\n // RIGHT ITEM PROPS\r\n rightItemText: '',\r\n rightItemTextColor: 'secondary--clr',\r\n\r\n // PRIMARY ACTION PROPS\r\n primaryButtonText: '',\r\n primaryButtonTo: null,\r\n primaryButtonClassName: '',\r\n primaryButtonColor: 'primary--bg',\r\n primaryButtonSize: 'xxs',\r\n primaryButtonOnClick: (() => { }),\r\n\r\n // SECONDARY ACTION PROPS\r\n secondaryButtonText: '',\r\n secondaryButtonTo: null,\r\n secondaryButtonClassName: '',\r\n secondaryButtonColor: 'secondary--bg',\r\n secondaryButtonSize: 'xxs',\r\n secondaryButtonOnClick: (() => { })\r\n};\r\n\r\nexport default HeaderBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSpring } from 'react-spring';\r\n// COMPONENTS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst Overlay = (props) => {\r\n const {\r\n isContained,\r\n overlayDarkness,\r\n onClick,\r\n hasLoader,\r\n } = props;\r\n\r\n const overlayDarknessOptions = {\r\n normal: 'normal',\r\n dark: 'dark'\r\n };\r\n\r\n const animateShow = useSpring({ opacity: 1, from: { opacity: 0 } });\r\n const loader = ();\r\n\r\n return (\r\n <>\r\n {\r\n !isContained\r\n ? (\r\n \r\n {hasLoader && loader}\r\n \r\n )\r\n : (\r\n \r\n {hasLoader && loader}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nOverlay.propTypes = {\r\n // MAIN PROPS\r\n isContained: PropTypes.bool,\r\n overlayDarkness: PropTypes.string,\r\n onClick: PropTypes.func,\r\n hasLoader: PropTypes.bool,\r\n};\r\n\r\nOverlay.defaultProps = {\r\n // MAIN PROPS\r\n isContained: false,\r\n overlayDarkness: 'normal',\r\n onClick: (() => {}),\r\n hasLoader: false,\r\n};\r\n\r\nexport default Overlay;","export default __webpack_public_path__ + \"static/media/logo-alt-2.a9660a85.svg\";","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\nimport { IoClose } from 'react-icons/io5';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Overlay from './Overlay';\r\nimport Image from './Image';\r\n// ASSETS\r\nimport LogoAlt2 from '../assets/img/logo-alt-2.svg';\r\n\r\nconst Drawer = (props) => {\r\n const {\r\n isOpen,\r\n backgroundColor,\r\n hasOverlay,\r\n hasShadow,\r\n headerLogo,\r\n mobileLogo,\r\n navigationItems,\r\n footerItems,\r\n to,\r\n onClick,\r\n closeActionOnClick,\r\n willCloseOnMaskPress\r\n } = props;\r\n\r\n return (\r\n <>\r\n {\r\n (isOpen && hasOverlay)\r\n && (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n {\r\n headerLogo\r\n && (\r\n <>\r\n \r\n\r\n \r\n \r\n )\r\n }\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n {navigationItems}\r\n \r\n \r\n\r\n \r\n {footerItems}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDrawer.propTypes = {\r\n // MAIN PROPS\r\n backgroundColor: PropTypes.string,\r\n navigationItems: PropTypes.any,\r\n footerItems: PropTypes.any,\r\n\r\n // IMAGE PROPS\r\n headerLogo: PropTypes.string.isRequired,\r\n mobileLogo: PropTypes.string.isRequired,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n closeActionOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isOpen: PropTypes.bool,\r\n hasShadow: PropTypes.bool,\r\n willCloseOnMaskPress: PropTypes.bool,\r\n};\r\n\r\nDrawer.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: 'primary--sbg',\r\n navigationItems: null,\r\n footerItems: null,\r\n\r\n // FUNCTION PROPS\r\n onClick: () => { },\r\n closeActionOnClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n isOpen: false,\r\n hasShadow: false,\r\n willCloseOnMaskPress: false,\r\n};\r\n\r\nexport default Drawer;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Overlay from './Overlay';\r\n\r\nconst SideSheet = (props) => {\r\n const {\r\n isOpen,\r\n closeActionOnClick,\r\n backgroundColor,\r\n position,\r\n children\r\n } = props;\r\n\r\n const positions = {\r\n left: 'left',\r\n right: 'right'\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && }\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSideSheet.propTypes = {\r\n // MAIN PROPS\r\n isOpen: PropTypes.bool,\r\n closeActionOnClick: PropTypes.func,\r\n backgroundColor: PropTypes.string,\r\n position: PropTypes.string,\r\n children: PropTypes.element,\r\n};\r\n\r\nSideSheet.defaultProps = {\r\n isOpen: false,\r\n closeActionOnClick: (() => { }),\r\n backgroundColor: 'white--sbg',\r\n position: 'left',\r\n children: null,\r\n};\r\n\r\nexport default SideSheet;","// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useHistory } from 'react-router-dom';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst ListBlock = (props) => {\r\n const {\r\n title,\r\n titleColor,\r\n to,\r\n type,\r\n backgroundColor,\r\n tooltipText,\r\n tooltipTextColor,\r\n tooltipBackgroundColor,\r\n iconLeft,\r\n iconLeftBadgeText,\r\n iconLeftBadgeTextColor,\r\n iconLeftBadgeBackgroundColor,\r\n iconRight,\r\n iconRightText,\r\n iconRightTextColor,\r\n iconRightBackgroundColor,\r\n badgeText,\r\n badgeTextColor,\r\n badgeColor,\r\n onClick,\r\n onDoubleClick,\r\n isCollapsed,\r\n hasBorder,\r\n hasRoundIconRight,\r\n } = props;\r\n\r\n const [isTooltipVisible, setIsTooltipVisible] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n };\r\n\r\n return (\r\n navigateToPath(to) : onClick}\r\n onDoubleClick={onDoubleClick}\r\n className={`list-block ${isCollapsed ? 'collapsed' : ''} ${backgroundColor || 'no-bg'} ${hasBorder && 'hasBorder'}`}\r\n onMouseEnter={() => setIsTooltipVisible(true)}\r\n onMouseLeave={() => setIsTooltipVisible(false)}\r\n >\r\n {\r\n iconLeft\r\n && (\r\n \r\n {iconLeft}\r\n {\r\n (iconLeftBadgeText || (badgeColor))\r\n && (\r\n \r\n

\r\n {iconLeftBadgeText}\r\n

\r\n
\r\n )\r\n }\r\n\r\n {\r\n tooltipText && isCollapsed\r\n && (\r\n \r\n

\r\n {tooltipText}\r\n

\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 {title}\r\n

\r\n\r\n {\r\n badgeText\r\n && (\r\n \r\n

{badgeText}

\r\n
\r\n )\r\n }\r\n \r\n )\r\n }\r\n\r\n {\r\n iconRight\r\n ? (\r\n \r\n \r\n {iconRight}\r\n \r\n \r\n )\r\n : (\r\n iconRightText\r\n && (\r\n \r\n \r\n

\r\n {iconRightText}\r\n

\r\n
\r\n
\r\n )\r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nListBlock.propTypes = {\r\n // MAIN PROPS\r\n title: PropTypes.string,\r\n titleColor: PropTypes.string,\r\n to: PropTypes.string,\r\n type: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n\r\n // TOOLTIP PROPS\r\n tooltipText: PropTypes.string,\r\n tooltipTextColor: PropTypes.string,\r\n tooltipBackgroundColor: PropTypes.string,\r\n\r\n // ICON LEFT PROPS\r\n iconLeft: PropTypes.any,\r\n iconLeftBadgeText: PropTypes.string,\r\n iconLeftBadgeTextColor: PropTypes.string,\r\n iconLeftBadgeBackgroundColor: PropTypes.string,\r\n\r\n // ICON RIGHT PROPS\r\n iconRight: PropTypes.any,\r\n iconRightText: PropTypes.string,\r\n iconRightTextColor: PropTypes.string,\r\n iconRightBackgroundColor: PropTypes.string,\r\n\r\n // BADGE PROPS\r\n badgeText: PropTypes.string,\r\n badgeTextColor: PropTypes.string,\r\n badgeColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n onDoubleClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isCollapsed: PropTypes.bool,\r\n hasBorder: PropTypes.bool,\r\n hasRoundIconRight: PropTypes.bool,\r\n};\r\n\r\nListBlock.defaultProps = {\r\n // MAIN PROPS\r\n title: '',\r\n titleColor: 'white--clr',\r\n to: '',\r\n type: '',\r\n backgroundColor: '',\r\n\r\n // TOOLTIP PROPS\r\n tooltipText: '',\r\n tooltipTextColor: 'white--clr',\r\n tooltipBackgroundColor: 'primary--sbg',\r\n\r\n // ICON LEFT PROPS\r\n iconLeft: null,\r\n iconLeftBadgeText: '',\r\n iconLeftBadgeTextColor: 'white--clr',\r\n iconLeftBadgeBackgroundColor: '',\r\n\r\n // ICON RIGHT PROPS\r\n iconRight: null,\r\n iconRightText: 'white--clr',\r\n iconRightTextColor: '',\r\n iconRightBackgroundColor: '',\r\n\r\n // BADGE PROPS\r\n badgeText: '',\r\n badgeTextColor: 'white--clr',\r\n badgeColor: '',\r\n\r\n // FUNCTION PROPS\r\n onClick: () => { },\r\n onDoubleClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n isCollapsed: false,\r\n hasBorder: false,\r\n hasRoundIconRight: false,\r\n};\r\n\r\nexport default ListBlock;","/* eslint-disable camelcase */\r\n/* eslint-disable default-param-last */\r\n/* eslint-disable no-debugger */\r\nimport { persistReducer } from 'redux-persist';\r\nimport storage from 'redux-persist/lib/storage';\r\nimport jwt_decode from 'jwt-decode';\r\n\r\nexport const actionTypes = {\r\n Login: '[Login] Action',\r\n Logout: '[Logout] Action',\r\n RefreshToken: '[Refresh Token] Action',\r\n};\r\n\r\nconst initialAuthState = {\r\n user: {\r\n firstName: '',\r\n lastName: '',\r\n username: '',\r\n },\r\n authToken: '',\r\n refreshToken: '',\r\n isAdmin: ''\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: 'auth', whitelist: ['user', 'authToken', 'refreshToken', 'isAdmin'] },\r\n (state = initialAuthState, action) => {\r\n switch (action.type) {\r\n case actionTypes.Login: {\r\n const { token } = action.payload;\r\n const userDetail = action.payload;\r\n const decodedToken = jwt_decode(token);\r\n delete userDetail.token;\r\n\r\n return { user: userDetail, authToken: token, isAdmin: decodedToken.IsAdmin === 'True', refreshToken: userDetail.refreshToken };\r\n }\r\n\r\n case actionTypes.RefreshToken: {\r\n const { token } = action.payload;\r\n const userDetail = action.payload;\r\n const decodedToken = jwt_decode(token);\r\n delete userDetail.token;\r\n\r\n return { user: userDetail, authToken: token, isAdmin: decodedToken.IsAdmin === 'True', refreshToken: userDetail.refreshToken };\r\n }\r\n\r\n case actionTypes.Logout: {\r\n return initialAuthState;\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n }\r\n);\r\n\r\nexport const actions = {\r\n login: (user) => ({ type: actionTypes.Login, payload: user }),\r\n logout: () => ({ type: actionTypes.Logout }),\r\n refreshToken: (user) => ({ type: actionTypes.RefreshToken, payload: user }),\r\n};","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-props-no-multi-spaces */\r\n/* eslint-disable react/no-array-index-key */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport { Route, useHistory } from 'react-router-dom';\r\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\r\n// ICONS\r\n// import { BiPencil } from 'react-icons/bi';\r\nimport { FiLogOut } from 'react-icons/fi';\r\nimport { FaFileInvoiceDollar } from 'react-icons/fa';\r\nimport { CgCopy, CgWebsite } from 'react-icons/cg';\r\nimport { RiLayout5Fill, RiListCheck2 } from 'react-icons/ri';\r\nimport { HiChevronRight, HiMenuAlt4 } from 'react-icons/hi';\r\nimport { BsPeopleFill, BsBuildingAdd } from 'react-icons/bs';\r\nimport {\r\n IoClose,\r\n IoList,\r\n IoLinkSharp\r\n} from 'react-icons/io5';\r\n// CUSTOM COMPONENTS;\r\nimport MobileHeader from '../components/MobileHeader';\r\nimport HeaderBlock from '../components/HeaderBlock';\r\nimport Drawer from '../components/Drawer';\r\nimport SideSheet from '../components/SideSheet';\r\nimport ListBlock from '../components/ListBlock';\r\nimport CustomBlock from '../components/CustomBlock';\r\n// ASSETS\r\n// import Logo from '../assets/img/logo.svg';\r\n// import Icon from '../assets/img/icon.svg';\r\n// REDUX\r\nimport * as auth from '../redux/authRedux';\r\n\r\nconst PrivateRoute = ({ component: Component, ...rest }) => {\r\n const { companyIconPath } = rest.cmsInfo;\r\n\r\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\r\n // const [headerLogo, setHeaderLogo] = useState(Icon);\r\n const [navigationTitleVisible, setNavigationTitleVisible] = useState(false);\r\n const [subMenuVisible, setSubMenuVisible] = useState(false);\r\n const [sideSheetOpen, setSideSheetOpen] = useState(false);\r\n\r\n const history = useHistory();\r\n const body = document.querySelector('body');\r\n const iconSize = 27;\r\n const iconRightSize = 20;\r\n const menuIconColor = 'dark-grey--clr';\r\n const iconColor = 'primary--clr';\r\n\r\n const toggleDrawer = () => {\r\n setIsDrawerOpen(!isDrawerOpen);\r\n if (!isDrawerOpen) {\r\n setTimeout(() => {\r\n // setHeaderLogo(Logo);\r\n }, 500);\r\n\r\n setTimeout(() => {\r\n setNavigationTitleVisible(true);\r\n }, 300);\r\n } else {\r\n setSubMenuVisible(false);\r\n\r\n setTimeout(() => {\r\n setNavigationTitleVisible(false);\r\n }, 450);\r\n\r\n setTimeout(() => {\r\n // setHeaderLogo(Icon);\r\n }, 550);\r\n }\r\n };\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n setIsDrawerOpen(false);\r\n setSideSheetOpen(false);\r\n enableBodyScroll(body);\r\n };\r\n\r\n const toggleSideSheet = () => {\r\n setSideSheetOpen(!sideSheetOpen);\r\n if (!sideSheetOpen) {\r\n disableBodyScroll(body);\r\n } else {\r\n enableBodyScroll(body);\r\n }\r\n };\r\n\r\n const navigationItems = [\r\n {\r\n id: 1,\r\n iconLeft: ,\r\n title: 'Users',\r\n to: '/admin/management/users',\r\n // badgeText: '',\r\n // badgeColor: '',\r\n isVisible: true,\r\n iconRightText: '',\r\n iconRightBackgroundColor: '',\r\n // buttonRightText: <>,\r\n },\r\n {\r\n id: 3,\r\n iconLeft: ,\r\n title: 'Clients',\r\n to: '/admin/management/clients',\r\n // badgeText: '',\r\n // badgeColor: '',\r\n isVisible: true,\r\n iconRightText: '',\r\n iconRightBackgroundColor: '',\r\n // buttonRightText: <>,\r\n },\r\n {\r\n id: 3,\r\n iconLeft: ,\r\n title: 'Bids',\r\n to: '/admin/management/bids',\r\n // badgeText: '',\r\n // badgeColor: '',\r\n isVisible: true,\r\n iconRightText: '',\r\n iconRightBackgroundColor: '',\r\n // buttonRightText: <>,\r\n },\r\n {\r\n id: 2,\r\n iconLeft: ,\r\n title: 'Website Management',\r\n // to: '#',\r\n action: () => setSideSheetOpen(!sideSheetOpen),\r\n badgeText: '',\r\n badgeColor: '',\r\n isVisible: rest.auth.isAdmin,\r\n iconRightText: '',\r\n iconRightBackgroundColor: '',\r\n // buttonRightText: <>,\r\n },\r\n ];\r\n\r\n const footerItems = [\r\n // {\r\n // id: 0,\r\n // iconLeft: ,\r\n // title: 'Settings',\r\n // iconRightText: '',\r\n // iconRightBackgroundColor: '',\r\n // action: () => setSideSheetOpen(!sideSheetOpen),\r\n // },\r\n {\r\n id: 1,\r\n iconLeft: ,\r\n title: 'Logout',\r\n iconRightText: '',\r\n iconRightBackgroundColor: '',\r\n action: () => {\r\n rest.logout();\r\n },\r\n },\r\n ];\r\n\r\n const websiteManagementItems = [\r\n {\r\n id: 0,\r\n title: 'Menu Items',\r\n to: '/cms/management/menu-items',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 1,\r\n title: 'Pages',\r\n to: '/cms/management/pages',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n // {\r\n // id: 2,\r\n // title: 'Events',\r\n // to: '/cms/management/events',\r\n // action: () => { },\r\n // iconLeft: ,\r\n // },\r\n {\r\n id: 3,\r\n title: 'Content Sections',\r\n to: '/cms/management/content-sections',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 4,\r\n title: 'Assets, Links and Resources',\r\n to: '/cms/management/assets-and-resources',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 5,\r\n title: 'Footer Items',\r\n to: '/cms/management/footer-items',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n ];\r\n\r\n return (\r\n (\r\n <>\r\n }\r\n rightItemOnClick={() => toggleDrawer()}\r\n />\r\n \r\n {\r\n toggleDrawer();\r\n }}\r\n navigationItems={\r\n navigationItems.filter((x) => x.isVisible).map((item, index) => (\r\n navigateToPath(item.to) : item.action}\r\n isCollapsed={!navigationTitleVisible}\r\n iconLeft={item.iconLeft}\r\n iconRight={navigationTitleVisible && item.iconRight}\r\n iconRightText={navigationTitleVisible ? item.iconRightText : ''}\r\n iconLeftBadgeText={!navigationTitleVisible ? item.iconRightText : ''}\r\n iconRightBackgroundColor={item.iconRightBackgroundColor}\r\n hasRoundIconRight\r\n rotateIconRight={subMenuVisible}\r\n backgroundColor={rest.path === item.to ? 'secondary-lighter--sbg' : 'lighter-grey--sbg'}\r\n subMenuItems={subMenuVisible && item.hasSubMenu}\r\n />\r\n ))\r\n }\r\n\r\n footerItems={\r\n footerItems.map((item, index) => (\r\n navigateToPath(item.to) : item.action}\r\n isCollapsed={!navigationTitleVisible}\r\n iconLeft={item.iconLeft}\r\n iconRight={navigationTitleVisible && item.iconRight}\r\n iconRightText={navigationTitleVisible ? item.iconRightText : ''}\r\n iconLeftBadgeText={!navigationTitleVisible ? item.iconRightText : ''}\r\n iconRightBackgroundColor={item.iconRightBackgroundColor}\r\n hasRoundIconRight\r\n />\r\n ))\r\n }\r\n />\r\n\r\n {/* MANAGEMENT PAGES SIDESHEET */}\r\n toggleSideSheet()}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {/* WEBSITE MANAGEMENT */}\r\n \r\n

Website Management

\r\n
\r\n \r\n {\r\n websiteManagementItems.map((item, index) => (\r\n }\r\n onClick={item.to ? () => navigateToPath(item.to) : item.action}\r\n />\r\n ))\r\n }\r\n \r\n
\r\n \r\n\r\n \r\n {\r\n window.open('/home', '_blank');\r\n }}\r\n rightItemPrimaryButtonColor=\"secondary--bg\"\r\n rightItemPrimaryButtonOnClick={() => { }}\r\n rightItemSecondaryButtonText=\"\"\r\n rightItemSecondaryButtonColor=\"primary--bg\"\r\n />\r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, { ...auth.actions })(PrivateRoute);","/* eslint-disable react/self-closing-comp */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Overlay from './Overlay';\r\n\r\nconst DrawerNavigation = (props) => {\r\n const {\r\n headerItems,\r\n children,\r\n footerItems,\r\n backgroundColor,\r\n onClick,\r\n isOpen,\r\n hasOverlay,\r\n willCloseOnMaskPress,\r\n hasShadow,\r\n } = props;\r\n\r\n return (\r\n <>\r\n {\r\n (isOpen && hasOverlay)\r\n && (\r\n \r\n )\r\n }\r\n \r\n \r\n {headerItems}\r\n \r\n\r\n \r\n {children}\r\n \r\n\r\n \r\n {footerItems}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDrawerNavigation.propTypes = {\r\n // MAIN PROPS\r\n headerItems: PropTypes.any,\r\n children: PropTypes.any,\r\n footerItems: PropTypes.any,\r\n backgroundColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isOpen: PropTypes.bool,\r\n hasOverlay: PropTypes.bool,\r\n willCloseOnMaskPress: PropTypes.bool,\r\n hasShadow: PropTypes.bool,\r\n};\r\n\r\nDrawerNavigation.defaultProps = {\r\n // MAIN PROPS\r\n headerItems: null,\r\n children: null,\r\n footerItems: null,\r\n backgroundColor: 'white--sbg',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isOpen: false,\r\n hasOverlay: false,\r\n willCloseOnMaskPress: false,\r\n hasShadow: false,\r\n};\r\n\r\nexport default DrawerNavigation;","/* eslint-disable no-nested-ternary */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\nimport Select from 'react-select';\r\nimport Async from 'react-select/async';\r\nimport CreatableSelect from 'react-select/creatable';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst SelectBlock = (props) => {\r\n const {\r\n containerClassName,\r\n label,\r\n labelColor,\r\n inputLabel,\r\n inputState,\r\n errorMessage,\r\n successMessage,\r\n warningMessage,\r\n className,\r\n backgroundColor,\r\n placeholder,\r\n isAsync,\r\n isCreatable,\r\n isLabelLoading,\r\n isMulti,\r\n isRequired,\r\n isDisabled,\r\n hasBorder,\r\n } = props;\r\n\r\n const errorMessageSuffix = 'is required';\r\n const inputStates = {\r\n error: 'error',\r\n warning: 'warning',\r\n success: 'success',\r\n disabled: 'disabled'\r\n };\r\n\r\n return (\r\n \r\n {\r\n inputLabel\r\n && (\r\n \r\n {inputLabel}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n {\r\n label\r\n && (\r\n \r\n {label}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n\r\n {\r\n isAsync\r\n ? (\r\n \r\n )\r\n : (\r\n isCreatable\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n )\r\n }\r\n\r\n {\r\n inputState === 'error'\r\n && (\r\n \r\n {errorMessage || (inputLabel || label ? (inputLabel || `${label} ${errorMessageSuffix}`) : 'Error message undefined')}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'warning'\r\n && (\r\n \r\n {warningMessage}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'success'\r\n && (\r\n \r\n {successMessage}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nSelectBlock.propTypes = {\r\n // CONTAINER PROPS\r\n containerClassName: PropTypes.string,\r\n\r\n // LABEL PROPS\r\n label: PropTypes.string,\r\n labelColor: PropTypes.string,\r\n inputLabel: PropTypes.string,\r\n\r\n // STATE PROPS\r\n inputState: PropTypes.string,\r\n errorMessage: PropTypes.string,\r\n successMessage: PropTypes.string,\r\n warningMessage: PropTypes.string,\r\n\r\n // INPUT PROPS\r\n className: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isAsync: PropTypes.bool,\r\n isCreatable: PropTypes.bool,\r\n isLabelLoading: PropTypes.bool,\r\n isMulti: PropTypes.bool,\r\n isRequired: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n hasBorder: PropTypes.bool,\r\n};\r\n\r\nSelectBlock.defaultProps = {\r\n // CONTAINER PROPS\r\n containerClassName: '',\r\n\r\n // LABEL PROPS\r\n label: '',\r\n labelColor: '',\r\n inputLabel: '',\r\n\r\n // STATE PROPS\r\n inputState: '',\r\n errorMessage: '',\r\n successMessage: '',\r\n warningMessage: '',\r\n\r\n // INPUT PROPS\r\n className: '',\r\n backgroundColor: 'light--sbg',\r\n placeholder: '',\r\n\r\n // BOOLEAN PROPS\r\n isAsync: false,\r\n isCreatable: false,\r\n isLabelLoading: false,\r\n isMulti: false,\r\n isRequired: false,\r\n isDisabled: false,\r\n hasBorder: false,\r\n};\r\n\r\nexport default SelectBlock;","/* eslint-disable react/self-closing-comp */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n\r\nconst Chip = (props) => {\r\n const {\r\n label,\r\n labelColor,\r\n backgroundColor,\r\n onClick,\r\n hasBorder\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nChip.propTypes = {\r\n // MAIN PROPS\r\n label: PropTypes.string.isRequired,\r\n labelColor: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n hasBorder: PropTypes.bool\r\n};\r\n\r\nChip.defaultProps = {\r\n // MAIN PROPS\r\n labelColor: 'info--clr',\r\n backgroundColor: 'lighter-blue--sbg',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n hasBorder: false\r\n};\r\n\r\nexport default Chip;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst DotIndicator = (props) => {\r\n const { hasDotIndicator, dotIndicatorColor } = props;\r\n return (\r\n <>\r\n {hasDotIndicator && }\r\n \r\n );\r\n};\r\n\r\nDotIndicator.propTypes = {\r\n // MAIN PROPS\r\n hasDotIndicator: PropTypes.bool,\r\n dotIndicatorColor: PropTypes.string,\r\n};\r\n\r\nDotIndicator.defaultProps = {\r\n // MAIN PROPS\r\n hasDotIndicator: false,\r\n dotIndicatorColor: 'danger--sbg',\r\n};\r\n\r\nexport default DotIndicator;","// DEPENDECIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport DotIndicator from './DotIndicator';\r\n\r\nconst TextHeader = (props) => {\r\n const {\r\n title,\r\n size,\r\n className,\r\n subtitle,\r\n subtitleSize,\r\n subtitleClassName,\r\n isCentered,\r\n iconLeft,\r\n iconLeftClassName,\r\n } = props;\r\n\r\n const textSize = {\r\n xl: '--xl',\r\n lg: '--lg',\r\n md: '--md',\r\n mdlg: '--mdlg',\r\n sm: '--sm',\r\n xs: '--xs',\r\n };\r\n\r\n return (\r\n \r\n

\r\n {\r\n iconLeft && {iconLeft}\r\n }\r\n {title}\r\n \r\n

\r\n {subtitle &&

{subtitle}

}\r\n
\r\n );\r\n};\r\n\r\nTextHeader.propTypes = {\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n className: PropTypes.string,\r\n size: PropTypes.string,\r\n\r\n // SUBTITLE PROPS\r\n subtitle: PropTypes.string,\r\n subtitleClassName: PropTypes.string,\r\n subtitleSize: PropTypes.string,\r\n\r\n // ICON PROPS\r\n iconLeft: PropTypes.element,\r\n iconLeftClassName: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isCentered: PropTypes.bool,\r\n};\r\n\r\nTextHeader.defaultProps = {\r\n // TITLE PROPS\r\n className: '',\r\n size: '',\r\n\r\n // SUBTITLE PROPS\r\n subtitle: '',\r\n subtitleClassName: '',\r\n subtitleSize: '',\r\n\r\n // ICON PROPS\r\n iconLeft: null,\r\n iconLeftClassName: '',\r\n\r\n // BOOLEAN PROPS\r\n isCentered: false,\r\n};\r\n\r\nexport default TextHeader;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\nimport { Link } from 'react-router-dom';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport TextHeader from './TextHeader';\r\nimport Button from './Button';\r\n\r\nconst ContentHeader = (props) => {\r\n const {\r\n containerClassName,\r\n title,\r\n subtitle,\r\n subtitleClassName,\r\n headerSize,\r\n primaryButtonText,\r\n primaryButtonBackgroundColor,\r\n primaryButtonIconLeft,\r\n secondaryButtonText,\r\n secondaryButtonBackgroundColor,\r\n secondaryButtonIconLeft,\r\n buttonSize,\r\n headerIcon,\r\n headerIconContainerClass,\r\n primaryButtonTo,\r\n secondaryButtonTo,\r\n headerIconTo,\r\n primaryButtonOnClick,\r\n secondaryButtonOnClick,\r\n headerIconOnClick,\r\n isPrimaryLinkTargetBlank,\r\n isSecondaryLinkTargetBlank,\r\n isButtonTextUppercase,\r\n isPrimaryButtonLoading,\r\n isPrimaryButtonDisabled,\r\n isSecondaryButtonLoading,\r\n isSecondaryButtonDisabled,\r\n isTitleCentered\r\n } = props;\r\n \r\n return (\r\n \r\n \r\n \r\n {\r\n primaryButtonText !== ''\r\n && (\r\n \r\n )\r\n }\r\n\r\n {\r\n secondaryButtonText !== ''\r\n && (\r\n \r\n )\r\n }\r\n \r\n {\r\n headerIcon\r\n && (\r\n \r\n {\r\n headerIconTo\r\n ? (\r\n { })}\r\n >\r\n {headerIcon}\r\n \r\n )\r\n : (\r\n { })}\r\n >\r\n {headerIcon}\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n
\r\n );\r\n};\r\n\r\nContentHeader.propTypes = {\r\n // CONTAINER PROPS\r\n containerClassName: PropTypes.string,\r\n\r\n // HEADER PROPS\r\n title: PropTypes.string,\r\n subtitle: PropTypes.string,\r\n subtitleClassName: PropTypes.string,\r\n headerSize: PropTypes.string,\r\n\r\n // BUTTON PROPS - PRIMARY\r\n primaryButtonText: PropTypes.string,\r\n primaryButtonBackgroundColor: PropTypes.string,\r\n primaryButtonIconLeft: PropTypes.object,\r\n\r\n // BUTTON PROPS - SECONDARY\r\n secondaryButtonText: PropTypes.string,\r\n secondaryButtonBackgroundColor: PropTypes.string,\r\n secondaryButtonIconLeft: PropTypes.object,\r\n\r\n // BUTTON PROPS - SHARED\r\n buttonSize: PropTypes.string,\r\n\r\n // HEADER ICON\r\n headerIcon: PropTypes.any,\r\n headerIconContainerClass: PropTypes.string,\r\n\r\n // NAVIGATION PROPS\r\n primaryButtonTo: PropTypes.string,\r\n secondaryButtonTo: PropTypes.string,\r\n headerIconTo: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n primaryButtonOnClick: PropTypes.func,\r\n secondaryButtonOnClick: PropTypes.func,\r\n headerIconOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryLinkTargetBlank: PropTypes.bool,\r\n isSecondaryLinkTargetBlank: PropTypes.bool,\r\n isButtonTextUppercase: PropTypes.bool,\r\n isPrimaryButtonLoading: PropTypes.bool,\r\n isPrimaryButtonDisabled: PropTypes.bool,\r\n isSecondaryButtonLoading: PropTypes.bool,\r\n isSecondaryButtonDisabled: PropTypes.bool,\r\n isTitleCentered: PropTypes.bool,\r\n};\r\n\r\nContentHeader.defaultProps = {\r\n // CONTAINER PROPS\r\n containerClassName: '',\r\n\r\n // HEADER PROPS\r\n title: '',\r\n subtitle: '',\r\n subtitleClassName: '',\r\n headerSize: '',\r\n\r\n // BUTTON PROPS - PRIMARY\r\n primaryButtonText: '',\r\n primaryButtonBackgroundColor: 'secondary--bg',\r\n primaryButtonIconLeft: null,\r\n\r\n // BUTTON PROPS - SECONDARY\r\n secondaryButtonText: '',\r\n secondaryButtonBackgroundColor: 'primary--bg',\r\n secondaryButtonIconLeft: null,\r\n\r\n // BUTTON PROPS - SHARED\r\n buttonSize: '',\r\n\r\n // HEADER ICON\r\n headerIcon: null,\r\n\r\n // NAVIGATION PROPS\r\n primaryButtonTo: '',\r\n secondaryButtonTo: '',\r\n headerIconTo: '',\r\n headerIconContainerClass: '',\r\n\r\n // FUNCTION PROPS\r\n primaryButtonOnClick: () => { },\r\n secondaryButtonOnClick: () => { },\r\n headerIconOnClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryLinkTargetBlank: false,\r\n isSecondaryLinkTargetBlank: false,\r\n isButtonTextUppercase: false,\r\n isPrimaryButtonLoading: false,\r\n isPrimaryButtonDisabled: false,\r\n isSecondaryButtonLoading: false,\r\n isSecondaryButtonDisabled: false,\r\n isTitleCentered: false,\r\n};\r\n\r\nexport default ContentHeader;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\nimport Modal from 'react-bootstrap/Modal';\r\n// ICONS\r\nimport { IoClose } from 'react-icons/io5';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport ContentHeader from './ContentHeader';\r\nimport Button from './Button';\r\n// HELPERS\r\n\r\nconst ModalBlock = (props) => {\r\n const {\r\n closeIconColor,\r\n contentHeader,\r\n subtitle,\r\n primaryButtonText,\r\n contentDescription,\r\n children,\r\n buttonActionsContainerClassName,\r\n primaryModalActionType,\r\n primaryModalActionText,\r\n primaryModalActionColor,\r\n secondaryModalActionType,\r\n secondaryModalActionText,\r\n secondaryModalActionColor,\r\n onHide,\r\n closeActionOnClick,\r\n primaryModalActionOnClick,\r\n secondaryModalActionOnClick,\r\n isVisible,\r\n hasCloseAction,\r\n isTitleCentered,\r\n isPrimaryActionHidden,\r\n isSecondaryActionHidden,\r\n isPrimaryModalActionIsLoading,\r\n thirdModalActionText,\r\n thirdModalActionType,\r\n thirdModalActionColor,\r\n thirdModalActionOnClick,\r\n isThirdModalActionIsLoading\r\n } = props;\r\n\r\n return (\r\n \r\n {\r\n hasCloseAction\r\n && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n \r\n \r\n\r\n {\r\n contentDescription\r\n && (\r\n \r\n

\r\n {contentDescription}\r\n

\r\n
\r\n )\r\n }\r\n\r\n {children}\r\n\r\n {\r\n primaryModalActionText\r\n && (\r\n \r\n {\r\n !isSecondaryActionHidden\r\n && (\r\n \r\n )\r\n }\r\n\r\n {\r\n thirdModalActionText && (\r\n \r\n )\r\n }\r\n\r\n {\r\n !isPrimaryActionHidden\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nModalBlock.propTypes = {\r\n // HEADER PROPS\r\n contentHeader: PropTypes.string,\r\n subtitle: PropTypes.string,\r\n primaryButtonText: PropTypes.string,\r\n\r\n // CLOSE ICON PROPS\r\n closeIconColor: PropTypes.string,\r\n\r\n // CONTENT PROPS\r\n contentDescription: PropTypes.any,\r\n children: PropTypes.any,\r\n\r\n // ACTION PROPS\r\n primaryModalActionText: PropTypes.string,\r\n buttonActionsContainerClassName: PropTypes.string,\r\n primaryModalActionType: PropTypes.string,\r\n primaryModalActionColor: PropTypes.string,\r\n secondaryModalActionType: PropTypes.string,\r\n secondaryModalActionText: PropTypes.string,\r\n secondaryModalActionColor: PropTypes.string,\r\n thirdModalActionText: PropTypes.string,\r\n thirdModalActionType: PropTypes.string,\r\n thirdModalActionColor: PropTypes.string,\r\n thirdModalActionOnClick: PropTypes.func,\r\n isThirdModalActionIsLoading: PropTypes.bool,\r\n\r\n // FUNCTION PROPS\r\n onHide: PropTypes.func,\r\n closeActionOnClick: PropTypes.func,\r\n primaryModalActionOnClick: PropTypes.func,\r\n secondaryModalActionOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isVisible: PropTypes.bool,\r\n hasCloseAction: PropTypes.bool,\r\n isTitleCentered: PropTypes.bool,\r\n isPrimaryActionHidden: PropTypes.bool,\r\n isSecondaryActionHidden: PropTypes.bool,\r\n isPrimaryModalActionIsLoading: PropTypes.bool,\r\n};\r\n\r\nModalBlock.defaultProps = {\r\n // HEADER PROPS\r\n contentHeader: '',\r\n subtitle: '',\r\n primaryButtonText: '',\r\n\r\n // CLOSE ICON PROPS\r\n closeIconColor: '',\r\n\r\n // CONTENT PROPS\r\n contentDescription: null,\r\n children: null,\r\n\r\n // ACTION PROPS\r\n buttonActionsContainerClassName: '',\r\n primaryModalActionType: '',\r\n primaryModalActionText: '',\r\n primaryModalActionColor: 'primary--bg',\r\n secondaryModalActionType: '',\r\n secondaryModalActionText: 'Cancel',\r\n secondaryModalActionColor: 'danger--bg',\r\n thirdModalActionText: '',\r\n thirdModalActionType: '',\r\n thirdModalActionColor: 'secondary--bg',\r\n\r\n // FUNCTION PROPS\r\n onHide: () => { },\r\n closeActionOnClick: () => { },\r\n primaryModalActionOnClick: () => { },\r\n secondaryModalActionOnClick: () => { },\r\n thirdModalActionOnClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n isVisible: false,\r\n hasCloseAction: false,\r\n isTitleCentered: false,\r\n isPrimaryActionHidden: false,\r\n isSecondaryActionHidden: false,\r\n isPrimaryModalActionIsLoading: false,\r\n isThirdModalActionIsLoading: false,\r\n};\r\n\r\nexport default ModalBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Section = (props) => {\r\n const {\r\n hasNoContainer,\r\n isFullWidth,\r\n className,\r\n containerStyle,\r\n rowClassName,\r\n rowStyle,\r\n children\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nSection.propTypes = {\r\n // MAIN PROPS\r\n className: PropTypes.string,\r\n rowClassName: PropTypes.string,\r\n containerStyle: PropTypes.object,\r\n rowStyle: PropTypes.object,\r\n children: PropTypes.any,\r\n\r\n // BOOLEAN PROPS\r\n hasNoContainer: PropTypes.bool,\r\n isFullWidth: PropTypes.bool,\r\n};\r\n\r\nSection.defaultProps = {\r\n // SIZE AND APPEARANCE PROPS\r\n className: '',\r\n rowClassName: '',\r\n containerStyle: {},\r\n rowStyle: {},\r\n children: null,\r\n\r\n // BOOLEAN PROPS\r\n hasNoContainer: false,\r\n isFullWidth: false,\r\n};\r\n\r\nexport default Section;","/* eslint-disable default-param-last */\r\nexport const actionTypes = {\r\n ShowAlert: 'SHOW_ALERT',\r\n HideAlert: 'HIDE_ALERT',\r\n};\r\n\r\nconst initialAlertState = {\r\n visible: false,\r\n text: '',\r\n state: 'success',\r\n};\r\n\r\nexport const reducer = (state = initialAlertState, action) => {\r\n switch (action.type) {\r\n case actionTypes.ShowAlert: {\r\n return {\r\n visible: true,\r\n text: action.payload.text,\r\n state: action.payload.state,\r\n };\r\n }\r\n\r\n case actionTypes.HideAlert: {\r\n return {\r\n ...state,\r\n visible: false\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const actions = {\r\n showAlert: (model) => ({ type: actionTypes.ShowAlert, payload: model }),\r\n hideAlert: () => ({ type: actionTypes.HideAlert }),\r\n};","/* eslint-disable default-param-last */\r\n/* eslint-disable no-console */\r\nexport const actionTypes = {\r\n ShowConfirmModal: 'SHOW_CONFIRM_MODAL',\r\n HideConfirmModal: 'HIDE_CONFIRM_MODAL',\r\n SetProcessing: 'SET_PROCESSING'\r\n};\r\n\r\nconst initialConfirmModalState = {\r\n isVisible: false,\r\n title: '',\r\n text: '',\r\n btnAction: () => {\r\n console.log('Action not defined');\r\n },\r\n closeBtnAction: null,\r\n rightBtnText: '',\r\n isProcessing: false\r\n};\r\n\r\nexport const reducer = (state = initialConfirmModalState, action) => {\r\n switch (action.type) {\r\n case actionTypes.ShowConfirmModal: {\r\n return {\r\n isVisible: true,\r\n title: action.payload.title,\r\n text: action.payload.text,\r\n rightBtnText: action.payload.rightBtnText,\r\n btnAction: action.payload.btnAction,\r\n closeBtnAction: action.payload.closeBtnAction,\r\n isProcessing: false\r\n };\r\n }\r\n\r\n case actionTypes.SetProcessing: {\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n }\r\n\r\n case actionTypes.HideConfirmModal: {\r\n return initialConfirmModalState;\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const actions = {\r\n showConfirmModal: (model) => ({ type: actionTypes.ShowConfirmModal, payload: model }),\r\n hideConfirmModal: () => ({ type: actionTypes.HideConfirmModal }),\r\n setProcessing: () => ({ type: actionTypes.SetProcessing })\r\n};","/* eslint-disable import/prefer-default-export */\r\n/* eslint-disable no-debugger */\r\nimport { combineReducers } from 'redux';\r\nimport * as auth from './authRedux';\r\nimport * as alertToast from './alertToastRedux';\r\nimport * as confirmModal from './confirmModalRedux';\r\n\r\nconst appReducer = combineReducers({\r\n auth: auth.reducer,\r\n alertToast: alertToast.reducer,\r\n confirmModal: confirmModal.reducer,\r\n});\r\n\r\nexport const rootReducer = (state, action) => appReducer(state, action);","import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { reduxBatch } from '@manaflair/redux-batch';\r\nimport { persistStore } from 'redux-persist';\r\nimport { rootReducer } from './rootReducer';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst middleware = [\r\n ...getDefaultMiddleware({\r\n immutableCheck: false,\r\n serializableCheck: false,\r\n thunk: true\r\n }),\r\n sagaMiddleware\r\n];\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware,\r\n devTools: process.env.NODE_ENV !== 'production',\r\n enhancers: [reduxBatch]\r\n});\r\n\r\n/**\r\n * @see https://github.com/rt2zz/redux-persist#persiststorestore-config-callback\r\n * @see https://github.com/rt2zz/redux-persist#persistor-object\r\n */\r\nexport const persistor = persistStore(store);\r\n\r\nexport default store;","/* eslint-disable consistent-return */\r\n/* eslint-disable no-underscore-dangle */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable import/no-cycle */\r\n/* eslint-disable no-prototype-builtins */\r\n/* eslint-disable no-empty */\r\n/* eslint-disable no-console */\r\nimport store from '../../redux/store';\r\nimport axiosInstance from '../apiService';\r\nimport { actions } from '../../redux/authRedux';\r\n\r\nconst isEnabled = (config, property) => config.hasOwnProperty(property) && config[property];\r\n\r\n// handles requests going from app to server\r\nconst requestHandler = async (request) => {\r\n if (isEnabled(request, 'requestHandlerEnabled')) {\r\n const { auth: { authToken } } = store.getState();\r\n request.headers.Authorization = `Bearer ${authToken}`;\r\n }\r\n request.headers['Content-Type'] = !isEnabled(request, 'fileHandler') ? 'application/json' : 'multipart/form-data';\r\n request.headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS, DELETE';\r\n return request;\r\n};\r\n\r\n// handles responses coming from server to app\r\nconst successHandler = (response) => {\r\n if (isEnabled(response.config, 'responseHandlerEnabled')) {\r\n return response.data;\r\n }\r\n\r\n return response;\r\n};\r\n\r\nconst errorHandler = async (err) => {\r\n if (isEnabled(err.config, 'responseHandlerEnabled')) {\r\n // console.log(\"I am handling error responses\");\r\n }\r\n\r\n // trying again when 401 to refresh the token\r\n const originalConfig = { ...err.config };\r\n if (originalConfig.url !== '/Users/authenticate' && err.response) {\r\n // Access Token was Expired\r\n if (err.response.status === 401 && !originalConfig._retry) {\r\n originalConfig._retry = true;\r\n\r\n try {\r\n const { auth } = store.getState();\r\n const rs = await axiosInstance.post('/Users/refreshToken', { refreshToken: auth.refreshToken }, { headers: { Authorization: `Bearer ${auth.authToken}` } });\r\n\r\n if (rs.data.success) {\r\n store.dispatch(actions.refreshToken(rs.data.user));\r\n return axiosInstance(originalConfig);\r\n }\r\n\r\n throw Error(rs.data.message);\r\n } catch (_error) {\r\n await defaultErrorHandler(err);\r\n }\r\n }\r\n\r\n await defaultErrorHandler(err);\r\n } else {\r\n await defaultErrorHandler(err);\r\n }\r\n};\r\n\r\nconst defaultErrorHandler = async (response) => {\r\n let message = 'Oops! Something went wrong on the server. Please contact support.';\r\n\r\n await Promise.resolve(response.response).then((res) => {\r\n if (res) {\r\n message = res.data.Message;\r\n\r\n // if 401 redirect to login page\r\n if (res.status === 401) {\r\n localStorage.removeItem('persist:auth-token');\r\n window.location = `${window.origin}/login`;\r\n return;\r\n }\r\n // if not authorized redirect to dashboard\r\n if (res.status === 403) {\r\n window.location = `${window.origin}/`;\r\n }\r\n }\r\n });\r\n\r\n throw Error(message);\r\n};\r\n\r\nexport {\r\n requestHandler,\r\n successHandler,\r\n errorHandler\r\n};","const constants = {\r\n API_URL: process.env.REACT_APP_API_URL,\r\n REQUIRE_INTERCEPTORS: {\r\n requestHandlerEnabled: true,\r\n responseHandlerEnabled: true\r\n },\r\n CONTENT_SECTION: {\r\n ContentSectionTypeDefault: 'CONTENT_SECTION_DEFAULT',\r\n ContentSectionTypeReversed: 'CONTENT_SECTION_REVERSED',\r\n ContentSectionTypeFullWidth: 'CONTENT_SECTION_FULLWIDTH',\r\n ContentSectionTypeFullWidthPadded: 'CONTENT_SECTION_FULLWIDTH_PADDED',\r\n ContentSectionTypeTextOnly: 'CONTENT_SECTION_TEXTONLY',\r\n ContentSectionTypeCard: 'CONTENT_SECTION_CARD',\r\n ContentSectionTypeBanner: 'CONTENT_SECTION_BANNER',\r\n ContentSectionDynamicBanner: 'CONTENT_SECTION_DYNAMIC_BANNER',\r\n ContentSectionCustom: 'CONTENT_SECTION_CUSTOM',\r\n LeftAlignment: 'LEFT',\r\n RightAlignment: 'RIGHT',\r\n CenterAlignment: 'CENTER',\r\n ButtonActionTypePage: 'PAGE',\r\n ButtonActionTypeLink: 'LINK_NEW_TAB',\r\n ButtonActionTypePhoneNumber: 'PHONENUMBER',\r\n ButtonActionTypeEmail: 'EMAIL',\r\n },\r\n EXCEL_FILE_TYPES: [\r\n 'application/vnd.ms-excel',\r\n 'application/msexcel',\r\n 'application/x-msexcel',\r\n 'application/x-ms-excel',\r\n 'application/x-excel',\r\n 'application/x-dos_ms_excel',\r\n 'application/xls',\r\n 'application/x-xls',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'text/csv'\r\n ]\r\n};\r\n\r\nexport default constants;","/* eslint-disable import/no-cycle */\r\nimport axios from 'axios';\r\nimport {\r\n requestHandler, successHandler, errorHandler\r\n} from './interceptor/axiosInterceptor';\r\nimport constants from '../constants/constants';\r\n\r\nconst axiosInstance = axios.create({ baseURL: constants.API_URL });\r\n\r\naxiosInstance.interceptors.request.use(\r\n (request) => requestHandler(request)\r\n);\r\n\r\naxiosInstance.interceptors.response.use(\r\n (response) => successHandler(response),\r\n (err) => errorHandler(err)\r\n);\r\n\r\nexport default axiosInstance;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'MenuItem/';\r\n\r\nconst getAllMenuItems = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllMenuItems?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMenuItemsById = async (menuItemId) => axiosInstance.get(`${ENDPOINTORIGIN}GetMenuItemById?menuItemId=${menuItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMenuItemsWithNoParentOrChild = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetMenuItemsWithNoParentOrChild`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createMenuItem = async (menuItem) => axiosInstance.post(`${ENDPOINTORIGIN}CreateMenuItem`, menuItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteMenuItem = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteMenuItem?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateMenuItems = async (menuItem) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateMenuItems`, menuItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst removeParentMenuItem = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}RemoveParentMenuItem?menuItemId=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst assignParentMenuItem = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}AssignParentMenuItem`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortMenuItems = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}SortMenuItems`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortChildMenuItems = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}SortChildMenuItems`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllMenuItems,\r\n getMenuItemsById,\r\n createMenuItem,\r\n deleteMenuItem,\r\n updateMenuItems,\r\n removeParentMenuItem,\r\n assignParentMenuItem,\r\n getMenuItemsWithNoParentOrChild,\r\n sortMenuItems,\r\n sortChildMenuItems\r\n};","/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable max-len */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable arrow-body-style */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\n// ICONS\r\nimport { FiFacebook, FiMenu } from 'react-icons/fi';\r\nimport { TiArrowSortedDown } from 'react-icons/ti';\r\nimport { RiInstagramLine, RiQuestionAnswerFill } from 'react-icons/ri';\r\nimport { MdMailOutline, MdSupervisedUserCircle } from 'react-icons/md';\r\nimport { TbMailFilled } from 'react-icons/tb';\r\nimport {\r\n FaPhoneAlt,\r\n FaFacebookF,\r\n FaLinkedinIn,\r\n FaTwitter,\r\n FaYoutube\r\n} from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\nimport Image from './Image';\r\nimport DrawerNavigation from './DrawerNavigation';\r\nimport SelectBlock from './SelectBlock';\r\nimport Chip from './Chip';\r\nimport Modal from './ModalBlock';\r\nimport Section from './Section';\r\n// ASSETS\r\n// SERVICES\r\nimport * as menuItemService from '../services/cms/menuItemService';\r\n\r\nconst HeaderNavigation = (props) => {\r\n const {\r\n auth,\r\n cmsInfo,\r\n // layout,\r\n phoneNumber,\r\n emailAddress,\r\n backgroundColor,\r\n menuItemsBlockBackgroundColor,\r\n menuItemColor,\r\n menuToggleIconColor,\r\n menuToggleIconSize,\r\n mobileMenuItemColor,\r\n submenuBlockBackgroundColor,\r\n submenuItemColor,\r\n fixedNavigationBarBackgroundColor,\r\n logo,\r\n logoAlt,\r\n icon,\r\n iconSize,\r\n iconAppearance,\r\n socialIconColor,\r\n socialIconBackgroundColor,\r\n primarySocialMediaLink,\r\n secondarySocialMediaLink,\r\n hasSearchBlock,\r\n menuItems,\r\n hasChipFilter,\r\n hasRoundCorners,\r\n history\r\n } = props;\r\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\r\n const [expandedMenuId, setExpandedMenuId] = useState(null);\r\n // const [isMembersModalOpen, setIsMembersModalOpen] = useState(false);\r\n const [scroll, setScroll] = useState(1);\r\n\r\n // const SVGHeaderBackground = ({ fillColor, width, height, className }) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // };\r\n\r\n const SocialIconButton = (socialIconButtonProps) => {\r\n const {\r\n displayIf,\r\n buttonColor,\r\n buttonText,\r\n socialIcon,\r\n onClickAction,\r\n className,\r\n title\r\n } = socialIconButtonProps;\r\n return displayIf && (\r\n \r\n {socialIcon}\r\n {buttonText &&

{buttonText}

}\r\n \r\n );\r\n };\r\n\r\n const onScroll = () => {\r\n const scrollCheck = window.scrollY > 10;\r\n setScroll(scrollCheck);\r\n };\r\n\r\n useEffect(() => {\r\n onScroll();\r\n\r\n document.addEventListener('scroll', onScroll);\r\n return () => {\r\n document.removeEventListener('scroll', onScroll);\r\n };\r\n }, [scroll, setScroll]);\r\n\r\n const popularSelections = [\r\n { id: 1, name: 'Filter 1', url: '' },\r\n { id: 2, name: 'Filter 2', url: '' },\r\n { id: 3, name: 'Filter 3', url: '' },\r\n { id: 4, name: 'Filter 4', url: '' },\r\n { id: 5, name: 'Filter 5', url: '' },\r\n ];\r\n\r\n const iconAppearanceOptions = {\r\n square: 'square',\r\n round: 'round',\r\n circle: 'circle',\r\n };\r\n\r\n const openInNewTab = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n const handleMenuItemClick = (menuItem) => {\r\n if (menuItem.pageUrl === '') {\r\n menuItemService.getMenuItemsById(menuItem.id).then((res) => {\r\n if (res.customLink && res.customLink.includes('https')) {\r\n openInNewTab(res.customLink);\r\n } else {\r\n history.push(res.customLink);\r\n }\r\n });\r\n }\r\n\r\n if (menuItem.pageUrl && menuItem.pageUrl !== '') {\r\n if (menuItem.openInNewTab) {\r\n openInNewTab(menuItem.pageUrl);\r\n } else {\r\n history.push(menuItem.pageUrl);\r\n }\r\n } else if (menuItem.customLink) {\r\n if (menuItem.openInNewTab) {\r\n openInNewTab(menuItem.customLink);\r\n } else {\r\n history.push(menuItem.customLink);\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n setIsDrawerOpen(false);\r\n }, 200);\r\n };\r\n\r\n const toggleDrawer = () => {\r\n setIsDrawerOpen(!isDrawerOpen);\r\n };\r\n\r\n const navigateToPage = (page) => {\r\n history.push(page);\r\n\r\n setTimeout(() => {\r\n setIsDrawerOpen(false);\r\n }, 200);\r\n };\r\n\r\n const toggleMobileSubmenu = (menuId) => {\r\n if (expandedMenuId === menuId) {\r\n setExpandedMenuId(null);\r\n } else {\r\n setExpandedMenuId(menuId);\r\n }\r\n };\r\n\r\n const sendEmail = (email) => {\r\n window.open(`mailto:${email}`, '_self');\r\n };\r\n\r\n const callPhoneNumber = (tel) => {\r\n window.open(`tel:${tel}`, '_self');\r\n };\r\n\r\n const socialIconsRef = [\r\n {\r\n platform: 'youtube',\r\n displayIf: cmsInfo.youtubeLink !== null,\r\n title: `YouTube | ${cmsInfo.youtubeLink}`,\r\n buttonColor: '#F52424',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.youtubeLink)\r\n },\r\n {\r\n platform: 'twitter',\r\n displayIf: cmsInfo.twitterLink !== null,\r\n title: `Twitter | ${cmsInfo.twitterLink}`,\r\n buttonColor: '#25A4EF',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.twitterLink)\r\n },\r\n {\r\n platform: 'googleMap',\r\n displayIf: cmsInfo.googleMapLink !== null,\r\n title: `Google Maps | ${cmsInfo.googleMapLink}`,\r\n buttonColor: '#FAFAFA',\r\n onClickAction: () => openInNewTab(cmsInfo.googleMapLink),\r\n socialIcon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n platform: 'tikTok',\r\n displayIf: cmsInfo.tikTokLink !== null,\r\n title: `TikTok | ${cmsInfo.tikTokLink}`,\r\n buttonColor: '#080808',\r\n onClickAction: () => openInNewTab(cmsInfo.tikTokLink),\r\n socialIcon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n platform: 'instagram',\r\n displayIf: cmsInfo.instagramLink !== null,\r\n title: `Instagram | ${cmsInfo.instagramLink}`,\r\n buttonColor: 'radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.instagramLink)\r\n },\r\n {\r\n platform: 'linkedin',\r\n displayIf: cmsInfo.linkedInLink !== null,\r\n title: `LinkedIn | ${cmsInfo.linkedInLink}`,\r\n buttonColor: '#0966C2',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.linkedInLink),\r\n },\r\n {\r\n platform: 'facebook',\r\n displayIf: cmsInfo.facebookLink !== null,\r\n title: `Facebook | ${cmsInfo.facebookLink}`,\r\n buttonColor: 'linear-gradient(to top, #0062E0, #19AFFF)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.facebookLink),\r\n },\r\n {\r\n platform: 'phone',\r\n displayIf: phoneNumber !== null,\r\n title: `${phoneNumber}`,\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => callPhoneNumber(phoneNumber),\r\n },\r\n {\r\n platform: 'email',\r\n displayIf: emailAddress !== null,\r\n title: `${emailAddress}`,\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => sendEmail(emailAddress),\r\n },\r\n {\r\n platform: 'contactUs',\r\n displayIf: true,\r\n title: 'Contact Us',\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => navigateToPage('/contact'),\r\n },\r\n // {\r\n // platform: 'memberPortal',\r\n // displayIf: true,\r\n // buttonText: 'Members',\r\n // socialIcon: ,\r\n // onClickAction: () => setIsMembersModalOpen(true),\r\n // className: 'member-portal',\r\n // },\r\n {\r\n platform: 'mobileMenuToggle',\r\n displayIf: true,\r\n socialIcon: ,\r\n onClickAction: () => toggleDrawer(),\r\n className: 'mobile-menu-toggle',\r\n },\r\n ];\r\n\r\n const socialItemsHeaderNav = socialIconsRef.filter((item) => !['phone', 'email'].includes(item.platform));\r\n // const socialItemsHeaderNav = socialIconsRef.filter((item) => ['contactUs', 'googleMap', 'facebook', 'linkedin'].includes(item.platform));\r\n const socialItemsMobileNav = socialIconsRef.filter((item) => ['mobileMenuToggle'].includes(item.platform));\r\n\r\n const socialItemsDrawerNav = socialIconsRef.filter((item) => ['contactUs', 'googleMap', 'facebook', 'instagram'].includes(item.platform));\r\n\r\n return (\r\n <>\r\n {/* MOBILE NAVIGATION */}\r\n \r\n \r\n {/* MOBILE NAVIGATION - LOGO BLOCK */}\r\n \r\n \r\n \r\n\r\n {/* MOBILE NAVIGATION - ICONS */}\r\n \r\n {socialItemsMobileNav.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n {/* HEADER NAVIGATION */}\r\n \r\n {/* */}\r\n\r\n {/* HEADER NAVIGATION - PRIMARY */}\r\n \r\n {\r\n hasSearchBlock\r\n && (\r\n \r\n {/* LOGO */}\r\n \r\n \r\n \r\n\r\n {/* SEARCH */}\r\n {\r\n \r\n {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n\r\n history.push('/deals', {\r\n predefinedFilter: {\r\n sortBy: '',\r\n priceRange: '',\r\n categories: null,\r\n searchTerm: e.target.value,\r\n productTypes: '',\r\n featuredSections: null,\r\n skip: 0\r\n }\r\n });\r\n\r\n e.target.blur();\r\n }\r\n }}\r\n autoBlur\r\n backgroundColor=\"white--sbg\"\r\n value={[]}\r\n defaultOptions={[]}\r\n // loadOptions={loadSuggestions}\r\n noOptionsMessage={(e) => {\r\n return (e.inputValue !== '') ? 'No Results Available' : 'Start typing and press enter to search';\r\n }}\r\n formatOptionLabel={(option) => (\r\n \r\n \r\n \r\n \r\n

{option.label}

\r\n
\r\n )}\r\n onChange={(e) => {\r\n history.push(`/deal/details/${e.value}`);\r\n }}\r\n />\r\n {\r\n hasChipFilter\r\n && (\r\n \r\n \r\n {\r\n popularSelections.map((item) => (\r\n {\r\n\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n \r\n )\r\n }\r\n
\r\n }\r\n\r\n {/* ICONS BLOCK */}\r\n \r\n {\r\n primarySocialMediaLink !== null\r\n && (\r\n openInNewTab(primarySocialMediaLink)}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n phoneNumber !== null\r\n && (\r\n openInNewTab(secondarySocialMediaLink)}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n emailAddress !== null\r\n && (\r\n {\r\n sendEmail(emailAddress);\r\n }}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n openInNewTab(`${auth.authToken ? '/cms/management/pages' : '/login'}`);\r\n }}\r\n />\r\n \r\n
\r\n )\r\n }\r\n\r\n {\r\n !hasSearchBlock\r\n && (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n {/* MENU ITEMS */}\r\n \r\n\r\n
    \r\n
  • \r\n \r\n
  • \r\n {\r\n menuItems.map((menuItem) => (\r\n menuItem.assignedMenuItems.length > 0\r\n ? (\r\n
  • \r\n {\r\n handleMenuItemClick(menuItem);\r\n }}\r\n />\r\n \r\n
      \r\n {\r\n menuItem.assignedMenuItems.map((submenuItem) => (\r\n
    • \r\n {\r\n handleMenuItemClick(submenuItem);\r\n }}\r\n className={`menu-item ${submenuItemColor || menuItemColor}`}\r\n />\r\n
    • \r\n ))\r\n }\r\n
    \r\n
    \r\n
  • \r\n ) : (\r\n\r\n
  • \r\n {\r\n handleMenuItemClick(menuItem);\r\n }}\r\n className={`menu-item hover-animation--underline ${menuItemColor}`}\r\n />\r\n
  • \r\n )\r\n ))\r\n }\r\n
\r\n\r\n
\r\n\r\n {/* HEADER NAVIGATION - SECONDARY */}\r\n \r\n \r\n {socialItemsHeaderNav.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n\r\n {/* DRAWER NAVIGATION */}\r\n {\r\n toggleDrawer();\r\n }}\r\n className=\"drawer-navigation\"\r\n headerItems={(\r\n \r\n \r\n \r\n )}\r\n footerItems={(\r\n \r\n {socialItemsDrawerNav.map((item, index) => (\r\n \r\n ))}\r\n \r\n )}\r\n >\r\n {/* DRAWER NAVIGATION - NAVIGATION BLOCK */}\r\n
    \r\n
  • \r\n {\r\n navigateToPage('/');\r\n }}\r\n />\r\n
  • \r\n {\r\n menuItems.map((menuItem) => (\r\n menuItem.assignedMenuItems.length > 0\r\n ? (\r\n
  • \r\n }\r\n onClick={() => {\r\n toggleMobileSubmenu(menuItem.id);\r\n }}\r\n />\r\n \r\n
      \r\n {\r\n menuItem.assignedMenuItems.map((submenuItem) => (\r\n
    • \r\n {\r\n handleMenuItemClick(submenuItem);\r\n }}\r\n />\r\n
    • \r\n ))\r\n }\r\n
    \r\n
    \r\n
  • \r\n ) : (\r\n\r\n
  • \r\n {\r\n handleMenuItemClick(menuItem);\r\n }}\r\n />\r\n
  • \r\n )\r\n ))\r\n }\r\n
  • \r\n {\r\n navigateToPage('/login');\r\n }}\r\n />\r\n
  • \r\n
\r\n \r\n\r\n {/* MEMBERS MODAL BLOCK */}\r\n {/* Member Resources

}\r\n primaryModalActionText=\"\"\r\n primaryModalActionOnClick=\"\"\r\n primaryModalActionColor=\"\"\r\n secondaryModalActionText=\"\"\r\n secondaryModalActionOnClick=\"\"\r\n secondaryModalActionColor=\"\"\r\n onHide={() => {\r\n setIsMembersModalOpen(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n {\r\n navigateToPage('/membership-benefits');\r\n setIsMembersModalOpen(false);\r\n }}\r\n // className=\"primary--sbg\"\r\n size=\"sm\"\r\n text=\"View Benefits\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n */}\r\n \r\n );\r\n};\r\n\r\nHeaderNavigation.propTypes = {\r\n // MAIN PROPS\r\n // layout: PropTypes.string.isRequired,\r\n logo: PropTypes.string.isRequired,\r\n icon: PropTypes.string.isRequired,\r\n backgroundColor: PropTypes.string,\r\n menuItemsBlockBackgroundColor: PropTypes.string,\r\n fixedNavigationBarBackgroundColor: PropTypes.string.isRequired,\r\n // to: PropTypes.string,\r\n\r\n // NAVIGATION PROPS\r\n menuItemColor: PropTypes.string,\r\n menuToggleIconColor: PropTypes.string,\r\n menuToggleIconSize: PropTypes.number,\r\n mobileMenuItemColor: PropTypes.string,\r\n\r\n // SUB MENU PROPS\r\n submenuBlockBackgroundColor: PropTypes.string,\r\n submenuItemColor: PropTypes.string,\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: PropTypes.number,\r\n iconAppearance: PropTypes.string.isRequired,\r\n socialIconBackgroundColor: PropTypes.string,\r\n socialIconColor: PropTypes.string,\r\n primarySocialMediaLink: PropTypes.string,\r\n secondarySocialMediaLink: PropTypes.string,\r\n\r\n // PRIMARY ICON PROPS\r\n // primaryActionIcon: PropTypes.any,\r\n // primaryActionIconText: PropTypes.string,\r\n\r\n // SECONDARY ICON PROPS\r\n // secondaryActionIcon: PropTypes.any,\r\n // secondaryActionIconText: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n // // primaryActionOnClick: PropTypes.func,\r\n // secondaryActionOnClick: PropTypes.func,\r\n\r\n // BOOLEANS PROPS\r\n hasSearchBlock: PropTypes.bool,\r\n\r\n // menuItems: PropTypes.array,\r\n hasChipFilter: PropTypes.bool,\r\n // hasFeaturedItems: PropTypes.bool,\r\n hasRoundCorners: PropTypes.bool,\r\n};\r\n\r\nHeaderNavigation.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: 'white--sbg',\r\n menuItemsBlockBackgroundColor: null,\r\n // to: '',\r\n\r\n // NAVIGATION PROPS\r\n menuItemColor: 'primary--clr',\r\n menuToggleIconColor: 'primary--clr',\r\n menuToggleIconSize: 35,\r\n mobileMenuItemColor: 'dark--clr',\r\n\r\n // SUB MENU PROPS\r\n submenuBlockBackgroundColor: 'white--sbg',\r\n submenuItemColor: 'primary--clr',\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: 23,\r\n socialIconColor: 'white--clr',\r\n socialIconBackgroundColor: 'primary-lighter--sbg',\r\n primarySocialMediaLink: '',\r\n secondarySocialMediaLink: '',\r\n\r\n // // BOOLEANS PROPS\r\n hasSearchBlock: false,\r\n hasChipFilter: false,\r\n // hasFeaturedItems: false,\r\n hasRoundCorners: false,\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, null)(HeaderNavigation);","/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport 'flatpickr/dist/themes/material_green.css';\r\nimport { useHistory } from 'react-router-dom';\r\n// COMPONENTS\r\nimport InputMask from 'react-input-mask';\r\nimport Flatpickr from 'react-flatpickr';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n\r\nconst InputBlock = (props) => {\r\n const {\r\n id,\r\n containerClassName,\r\n containerStyle,\r\n label,\r\n inputLabel,\r\n inputState,\r\n errorMessage,\r\n successMessage,\r\n warningMessage,\r\n type,\r\n className,\r\n labelColor,\r\n backgroundColor,\r\n placeholder,\r\n mask,\r\n to,\r\n iconLeft,\r\n iconRight,\r\n inputRightButtonText,\r\n inputRightButtonBackgroundColor,\r\n inputRightButtonIconLeft,\r\n iconLeftOnClick,\r\n iconRightOnClick,\r\n inputRightButtonOnClick,\r\n isRequired,\r\n isLoading,\r\n isLabelLoading,\r\n isAutoFocus,\r\n isDisabled,\r\n hasBorder,\r\n options\r\n } = props;\r\n const errorMessageSuffix = 'is required';\r\n const inputStates = {\r\n error: 'error',\r\n warning: 'warning',\r\n success: 'success',\r\n disabled: 'disabled'\r\n };\r\n\r\n const marginTop = () => {\r\n if (inputLabel) {\r\n return 25;\r\n } if (label) {\r\n return 35;\r\n }\r\n return 10;\r\n };\r\n\r\n const history = useHistory();\r\n\r\n const navigateToPath = (path) => {\r\n history.push(path);\r\n };\r\n\r\n return (\r\n \r\n {\r\n inputLabel !== ''\r\n && (\r\n \r\n {inputLabel}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n {\r\n label !== ''\r\n && (\r\n \r\n {label}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n \r\n {\r\n iconLeft\r\n && (\r\n \r\n \r\n {iconLeft}\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n type === 'date'\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n\r\n {\r\n (isLoading || iconRight || inputRightButtonText)\r\n && (\r\n \r\n {\r\n isLoading\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n {iconRight}\r\n \r\n )\r\n }\r\n {\r\n inputRightButtonText\r\n && (\r\n navigateToPath(to) : inputRightButtonOnClick}\r\n iconLeft={inputRightButtonIconLeft}\r\n />\r\n )\r\n }\r\n \r\n )\r\n }\r\n \r\n\r\n {\r\n inputState === 'error'\r\n && (\r\n \r\n {errorMessage || (inputLabel || label ? (inputLabel || `${label} ${errorMessageSuffix}`) : 'Error message undefined')}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'warning'\r\n && (\r\n \r\n {warningMessage}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'success'\r\n && (\r\n \r\n {successMessage}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nInputBlock.propTypes = {\r\n // CONTAINER PROPS\r\n containerClassName: PropTypes.string,\r\n containerStyle: PropTypes.object,\r\n id: PropTypes.string,\r\n\r\n // LABEL PROPS\r\n label: PropTypes.string,\r\n inputLabel: PropTypes.string,\r\n\r\n // STATE PROPS\r\n inputState: PropTypes.string,\r\n errorMessage: PropTypes.string,\r\n successMessage: PropTypes.string,\r\n warningMessage: PropTypes.string,\r\n\r\n // INPUT PROPS\r\n type: PropTypes.string,\r\n className: PropTypes.string,\r\n labelColor: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n mask: PropTypes.string,\r\n\r\n // NAVIGATION PROPS\r\n to: PropTypes.string,\r\n\r\n // ITEMS AND ICON PROPS\r\n iconLeft: PropTypes.any,\r\n iconRight: PropTypes.any,\r\n inputRightButtonText: PropTypes.string,\r\n inputRightButtonBackgroundColor: PropTypes.string,\r\n inputRightButtonIconLeft: PropTypes.element,\r\n\r\n // FUNCTION PROPS\r\n iconLeftOnClick: PropTypes.func,\r\n iconRightOnClick: PropTypes.func,\r\n inputRightButtonOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isRequired: PropTypes.bool,\r\n isLoading: PropTypes.bool,\r\n isLabelLoading: PropTypes.bool,\r\n isAutoFocus: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n hasBorder: PropTypes.bool,\r\n};\r\n\r\nInputBlock.defaultProps = {\r\n // CONTAINER PROPS\r\n containerClassName: '',\r\n containerStyle: {},\r\n id: '',\r\n\r\n // LABEL PROPS\r\n label: '',\r\n inputLabel: '',\r\n\r\n // STATE PROPS\r\n inputState: '',\r\n errorMessage: '',\r\n successMessage: '',\r\n warningMessage: '',\r\n\r\n // INPUT PROPS\r\n type: 'text',\r\n className: '',\r\n labelColor: 'dark--clr',\r\n backgroundColor: 'light--sbg',\r\n placeholder: '',\r\n mask: '',\r\n\r\n // NAVIGATION PROPS\r\n to: '',\r\n\r\n // ITEMS AND ICON PROPS\r\n iconLeft: null,\r\n iconRight: null,\r\n inputRightButtonText: '',\r\n inputRightButtonBackgroundColor: 'white--sbg',\r\n inputRightButtonIconLeft: null,\r\n\r\n // FUNCTION PROPS\r\n iconLeftOnClick: () => { },\r\n iconRightOnClick: () => { },\r\n inputRightButtonOnClick: () => { },\r\n\r\n // BOOLEAN PROPS\r\n isRequired: false,\r\n isLoading: false,\r\n isLabelLoading: false,\r\n isAutoFocus: false,\r\n isDisabled: false,\r\n hasBorder: false,\r\n};\r\n\r\nexport default InputBlock;","export default __webpack_public_path__ + \"static/media/app-store-badge.f0b8ebdc.svg\";","export default __webpack_public_path__ + \"static/media/google-play-badge.3263f5e2.svg\";","/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\n// import { IoLogoTiktok } from 'react-icons/io5';\r\n// import {\r\n// RiFacebookFill,\r\n// RiInstagramLine,\r\n// RiTwitterFill,\r\n// RiLinkedinFill,\r\n// RiYoutubeLine,\r\n// } from 'react-icons/ri';\r\nimport { RiInstagramLine, RiQuestionAnswerFill } from 'react-icons/ri';\r\nimport {\r\n FaFacebookF,\r\n FaLinkedinIn,\r\n} from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\nimport Image from './Image';\r\nimport TextBlock from './TextBlock';\r\nimport InputBlock from './InputBlock';\r\n// ASSETS\r\nimport AppStoreBadge from '../assets/img/app-store-badge.svg';\r\nimport GooglePlayBadge from '../assets/img/google-play-badge.svg';\r\n\r\nconst FooterBlock = (props) => {\r\n const {\r\n history,\r\n to,\r\n phoneNumber,\r\n emailAddress,\r\n imageSource,\r\n backgroundColor,\r\n bottomFooterBackgroundColor,\r\n subheaderColor,\r\n subheaderClassName,\r\n companyName,\r\n copyrightTextColor,\r\n footerHeaderTextColor,\r\n footerItems,\r\n iconSize,\r\n iconAppearance,\r\n socialIconColor,\r\n socialIconBackgroundColor,\r\n appStoreLink,\r\n googlePlayLink,\r\n facebookLink,\r\n instagramLink,\r\n twitterLink,\r\n linkedInLink,\r\n youtubeLink,\r\n tiktokLink,\r\n // primaryActionOnClick,\r\n // secondaryActionOnClick,\r\n hasSocialMediaIconColor,\r\n hasEmailSignUp,\r\n hasContactBlock,\r\n cmsInfo\r\n } = props;\r\n\r\n const iconAppearanceOptions = {\r\n square: 'square',\r\n round: 'round',\r\n circle: 'circle',\r\n };\r\n\r\n const SocialIconButton = (socialIconButtonProps) => {\r\n const {\r\n displayIf,\r\n buttonColor,\r\n buttonText,\r\n socialIcon,\r\n onClickAction,\r\n className,\r\n title\r\n } = socialIconButtonProps;\r\n return displayIf && (\r\n \r\n {socialIcon}\r\n {buttonText &&

{buttonText}

}\r\n \r\n );\r\n };\r\n\r\n const openInNewTab = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n const navigateToPage = (page) => {\r\n history.push(page);\r\n };\r\n\r\n const navigateToLink = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n const sendEmail = (email) => {\r\n window.open(`mailto:${email}`, '_self');\r\n };\r\n\r\n const callPhoneNumber = (tel) => {\r\n window.open(`tel:${tel}`, '_self');\r\n };\r\n\r\n const socialItemsFooter = [\r\n {\r\n platform: 'googleMap',\r\n displayIf: cmsInfo.googleMapLink !== null,\r\n title: `Google Maps | ${cmsInfo.googleMapLink}`,\r\n buttonColor: '#FAFAFA',\r\n onClickAction: () => openInNewTab(cmsInfo.googleMapLink),\r\n socialIcon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n platform: 'instagram',\r\n displayIf: cmsInfo.instagramLink !== null,\r\n title: `Instagram | ${cmsInfo.instagramLink}`,\r\n buttonColor: 'radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.instagramLink)\r\n },\r\n {\r\n platform: 'linkedin',\r\n displayIf: cmsInfo.linkedInLink !== null,\r\n title: `LinkedIn | ${cmsInfo.linkedInLink}`,\r\n buttonColor: '#0966C2',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.linkedInLink),\r\n },\r\n {\r\n platform: 'facebook',\r\n displayIf: cmsInfo.facebookLink !== null,\r\n title: `Facebook | ${cmsInfo.facebookLink}`,\r\n buttonColor: 'linear-gradient(to top, #0062E0, #19AFFF)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.facebookLink),\r\n },\r\n {\r\n platform: 'contactUs',\r\n displayIf: true,\r\n title: 'Contact Us',\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => navigateToPage('/contact'),\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
    \r\n {\r\n footerItems.map((item) => (\r\n
  • \r\n {\r\n e.preventDefault();\r\n // eslint-disable-next-line no-unused-expressions\r\n (item.to).includes('https' || 'http') ? navigateToLink(item.to) : history.push(item.to);\r\n }}\r\n >\r\n {item.label}\r\n \r\n
  • \r\n ))\r\n }\r\n
\r\n
\r\n
\r\n\r\n \r\n {\r\n hasEmailSignUp\r\n && (\r\n \r\n \r\n\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n hasContactBlock && (!appStoreLink || !googlePlayLink)\r\n && (\r\n \r\n \r\n\r\n \r\n {\r\n sendEmail(emailAddress);\r\n }}\r\n />\r\n\r\n {\r\n callPhoneNumber(phoneNumber);\r\n }}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n {\r\n (appStoreLink || googlePlayLink)\r\n && (\r\n \r\n \r\n\r\n \r\n {\r\n appStoreLink\r\n && (\r\n navigateToLink(appStoreLink)}\r\n />\r\n )\r\n }\r\n\r\n {\r\n googlePlayLink\r\n && (\r\n navigateToLink(googlePlayLink)}\r\n />\r\n )\r\n }\r\n \r\n \r\n )\r\n }\r\n\r\n \r\n
\r\n\r\n \r\n \r\n {socialItemsFooter.map((item, index) => (\r\n \r\n ))}\r\n {/* {\r\n facebookLink\r\n && (\r\n navigateToLink(facebookLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'facebook--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n {\r\n instagramLink\r\n && (\r\n navigateToLink(instagramLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'instagram--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n {\r\n twitterLink\r\n && (\r\n navigateToLink(twitterLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'twitter--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n {\r\n linkedInLink\r\n && (\r\n navigateToLink(linkedInLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'linkedin--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n {\r\n youtubeLink\r\n && (\r\n navigateToLink(youtubeLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'danger--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n }\r\n {\r\n tiktokLink\r\n && (\r\n navigateToLink(tiktokLink)}\r\n className={`social-icon ${hasSocialMediaIconColor ? 'dark--bg' : socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \r\n )\r\n } */}\r\n \r\n \r\n\r\n {/* */}\r\n \r\n

{`Copyright © ${new Date().getFullYear()} ${companyName}. All Rights Reserved.`}

\r\n {\r\n navigateToLink('https://primtek.net/');\r\n }}\r\n >\r\n Developed by Primtek.\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nFooterBlock.propTypes = {\r\n // MAIN PROPS\r\n to: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n bottomFooterBackgroundColor: PropTypes.string,\r\n imageSource: PropTypes.string,\r\n\r\n // CONTACT PROPS\r\n phoneNumber: PropTypes.string,\r\n emailAddress: PropTypes.string,\r\n\r\n // OPTIONAL PROPS\r\n\r\n // SUBHEADER PROPS\r\n subheaderColor: PropTypes.string,\r\n subheaderClassName: PropTypes.string,\r\n\r\n // APP STORE PROPS\r\n appStoreLink: PropTypes.string,\r\n googlePlayLink: PropTypes.string,\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: PropTypes.number,\r\n iconAppearance: PropTypes.string.isRequired,\r\n socialIconBackgroundColor: PropTypes.string,\r\n socialIconColor: PropTypes.string,\r\n facebookLink: PropTypes.string,\r\n instagramLink: PropTypes.string,\r\n twitterLink: PropTypes.string,\r\n linkedInLink: PropTypes.string,\r\n youtubeLink: PropTypes.string,\r\n tiktokLink: PropTypes.string,\r\n\r\n // FOOTER PROPS\r\n footerHeaderTextColor: PropTypes.string.isRequired,\r\n\r\n // BOTTOM FOOTER PROPS\r\n companyName: PropTypes.string.isRequired,\r\n copyrightTextColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n // primaryActionOnClick: PropTypes.func,\r\n // secondaryActionOnClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n hasSocialMediaIconColor: PropTypes.bool,\r\n hasEmailSignUp: PropTypes.bool,\r\n hasContactBlock: PropTypes.bool,\r\n\r\n footerItems: PropTypes.array,\r\n};\r\n\r\nFooterBlock.defaultProps = {\r\n // MAIN PROPS\r\n to: '#',\r\n backgroundColor: 'white--sbg',\r\n bottomFooterBackgroundColor: 'lightest-grey--sbg',\r\n imageSource: '',\r\n\r\n // CONTACT PROPS\r\n phoneNumber: '',\r\n emailAddress: '',\r\n\r\n // OPTIONAL PROPS\r\n\r\n // SUBHEADER PROPS\r\n subheaderColor: 'secondary--clr',\r\n subheaderClassName: '',\r\n\r\n // APP STORE PROPS\r\n appStoreLink: '',\r\n googlePlayLink: '',\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: 27,\r\n socialIconColor: 'white--clr',\r\n socialIconBackgroundColor: 'secondary--sbg',\r\n facebookLink: '',\r\n instagramLink: '',\r\n twitterLink: '',\r\n linkedInLink: '',\r\n youtubeLink: '',\r\n tiktokLink: '',\r\n\r\n // BOTTOM FOOTER PROPS\r\n copyrightTextColor: 'primary--clr',\r\n\r\n // FUNCTION PROPS\r\n // primaryActionOnClick: null,\r\n // secondaryActionOnClick: null,\r\n\r\n // BOOLEAN PROPS\r\n hasSocialMediaIconColor: false,\r\n hasEmailSignUp: false,\r\n hasContactBlock: true,\r\n\r\n footerItems: [],\r\n};\r\n\r\nexport default FooterBlock;","export default __webpack_public_path__ + \"static/media/logo-alt.b8c475cb.svg\";","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-props-no-multi-spaces */\r\n/* eslint-disable react/no-array-index-key */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\n// COMPONENTS\r\nimport { Route } from 'react-router-dom';\r\n// ICONS\r\n// CUSTOM COMPONENTS;\r\nimport Overlay from '../components/Overlay';\r\nimport CustomBlock from '../components/CustomBlock';\r\nimport HeaderNavigation from '../components/HeaderNavigation';\r\nimport FooterBlock from '../components/FooterBlock';\r\n// ASSETS\r\nimport LogoAlt from '../assets/img/logo-alt.svg';\r\n// import Icon from '../assets/img/icon.svg';\r\n\r\nconst CMSRoute = (cmsRouteProps) => {\r\n const {\r\n component: Component,\r\n cmsInfo, dynamicPageId,\r\n isBlog,\r\n ...rest\r\n } = cmsRouteProps;\r\n\r\n const { companyLogoPath, companyIconPath } = cmsInfo;\r\n const [isLoading] = useState(false);\r\n\r\n return (\r\n (\r\n <>\r\n {isLoading && }\r\n \r\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 CMSRoute;","/* eslint-disable import/extensions */\r\n/* eslint-disable no-shadow */\r\n// DEPENDENCIES\r\nimport React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\nimport ModalBlock from './ModalBlock';\r\n// HELPERS\r\nimport * as confirmModal from '../redux/confirmModalRedux.js';\r\n\r\nconst ConfirmModal = (props) => {\r\n const {\r\n hideConfirmModal,\r\n confirmModal,\r\n setProcessing\r\n } = props;\r\n\r\n const handleConfirm = () => {\r\n setProcessing();\r\n confirmModal.btnAction();\r\n };\r\n\r\n const handleCloseBtn = () => {\r\n hideConfirmModal();\r\n if (confirmModal.closeBtnAction) { confirmModal.closeBtnAction(); }\r\n };\r\n\r\n const handleEnterKey = (event) => {\r\n if (event.keyCode === 13 && confirmModal.isVisible) {\r\n handleConfirm();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', handleEnterKey);\r\n return () => {\r\n window.removeEventListener('keydown', handleEnterKey);\r\n };\r\n }, [confirmModal.isVisible]);\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n {\r\n // setProcessing();\r\n // confirmModal.btnAction();\r\n // }}\r\n onClick={handleConfirm}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ confirmModal: state.confirmModal });\r\n\r\nexport default connect(mapStateFromProps, confirmModal.actions)(ConfirmModal);","/* eslint-disable import/extensions */\r\n/* eslint-disable no-shadow */\r\n// DEPENDENCIES\r\nimport React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// ICONS\r\nimport { HiOutlineEmojiSad, HiOutlineLightBulb } from 'react-icons/hi';\r\nimport { FiThumbsUp } from 'react-icons/fi';\r\nimport { BiShocked } from 'react-icons/bi';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n// SERVICES AND HELPERS\r\nimport * as alertToast from '../redux/alertToastRedux';\r\n\r\nconst AlertToast = (props) => {\r\n const {\r\n hideAlert,\r\n alertToast\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (alertToast.visible) {\r\n setTimeout(() => {\r\n hideAlert();\r\n }, 3500);\r\n }\r\n }, [alertToast.visible, hideAlert]);\r\n\r\n const iconBackgroundColors = {\r\n success: 'lighter-green--bg',\r\n error: 'lighter-red--bg',\r\n warning: 'lighter-yellow--bg',\r\n info: 'lighter-blue--bg',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {alertToast.state === 'success' && }\r\n {alertToast.state === 'error' && }\r\n {alertToast.state === 'warning' && }\r\n {alertToast.state === 'info' && }\r\n \r\n \r\n\r\n \r\n

\r\n {alertToast.text}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ alertToast: state.alertToast });\r\n\r\nexport default connect(mapStateFromProps, alertToast.actions)(AlertToast);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst FormBlock = (props) => {\r\n const {\r\n className,\r\n style,\r\n children,\r\n onSubmit\r\n } = props;\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nFormBlock.propTypes = {\r\n // MAIN PROPS\r\n className: PropTypes.string,\r\n children: PropTypes.any,\r\n\r\n // FORM ACTION PROPS\r\n onSubmit: PropTypes.func,\r\n};\r\n\r\nFormBlock.defaultProps = {\r\n // MAIN PROPS\r\n className: '',\r\n children: null,\r\n\r\n // FORM ACTION PROPS\r\n onSubmit: () => { },\r\n};\r\n\r\nexport default FormBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\n// COMPONENTS\r\n// ICONS\r\nimport { HiOutlineMail } from 'react-icons/hi';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport Button from '../../../../components/Button';\r\n\r\nconst ForgotPasswordBlock = (props) => {\r\n const { returnActionOnClick } = props;\r\n const iconSize = 22;\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 Back to Login\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ForgotPasswordBlock;","export default __webpack_public_path__ + \"static/media/logo.732afee0.svg\";","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n email: Yup.string().required('Username is required'),\r\n password: Yup.string().required('Password is required'),\r\n});","/* eslint-disable camelcase */\r\nimport moment from 'moment';\r\nimport constants from '../constants/constants';\r\n\r\n/* eslint-disable no-restricted-syntax */\r\nconst getInputClasses = (formik, fieldname) => {\r\n if (formik.touched[fieldname] && formik.errors[fieldname]) {\r\n return 'error';\r\n }\r\n if (formik.touched[fieldname] && !formik.errors[fieldname]) {\r\n return '';\r\n }\r\n\r\n return '';\r\n};\r\n\r\nconst convertJsonToFormData = (json) => {\r\n const form_data = new FormData();\r\n for (const key in json) {\r\n if (Array.isArray(json[key])) { json[key].forEach((item) => form_data.append(key, item)); } else { form_data.append(key, (json[key] === null) ? '' : json[key]); }\r\n }\r\n\r\n return form_data;\r\n};\r\n\r\nconst setToOptionModel = (name, value) => ({ label: name, value });\r\n\r\nconst reOrderDnd = (list, startIndex, endIndex) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result.map((x, i) => ({ ...x, sortOrder: i }));\r\n};\r\n\r\nconst mapContentSectionName = (type) => {\r\n switch (type) {\r\n case constants.CONTENT_SECTION.ContentSectionTypeDefault:\r\n return 'Content Section (Default)';\r\n case constants.CONTENT_SECTION.ContentSectionTypeReversed:\r\n return 'Content Section (Reversed)';\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidth:\r\n return 'Content Section Full Width';\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidthPadded:\r\n return 'Content Section Full Width (Padded)';\r\n case constants.CONTENT_SECTION.ContentSectionTypeTextOnly:\r\n return 'Content Section (Text Only)';\r\n case constants.CONTENT_SECTION.ContentSectionTypeCard:\r\n return 'Content Card';\r\n case constants.CONTENT_SECTION.ContentSectionTypeBanner:\r\n return 'Content Banner';\r\n case constants.CONTENT_SECTION.ContentSectionDynamicBanner:\r\n return 'Banner';\r\n case constants.CONTENT_SECTION.ContentSectionCustom:\r\n return 'Custom';\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nconst copyToClipBoard = (copyText) => {\r\n const aux = document.createElement('input');\r\n aux.setAttribute('value', copyText);\r\n document.body.appendChild(aux);\r\n aux.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(aux);\r\n};\r\n\r\nconst countdownMessage = (expiryDate) => {\r\n if (!expiryDate) {\r\n return '';\r\n }\r\n\r\n const date = moment().format('MM/DD/YYYY hh:mm:ss a');\r\n const diffr = moment.duration(moment(new Date(expiryDate)).diff(new Date(date)));\r\n const hours = parseInt(diffr.asHours(), 10);\r\n const minutes = parseInt(diffr.minutes(), 10);\r\n const seconds = parseInt(diffr.seconds(), 10);\r\n const currentDuration = Math.floor((hours * 60 * 60 + minutes * 60 + seconds) / 3600);\r\n\r\n if (currentDuration > 24) {\r\n return `${Math.ceil(currentDuration / 24)} Days Left`;\r\n }\r\n if (currentDuration === 24) {\r\n return `${Math.floor(currentDuration / 24)} Day Left`;\r\n }\r\n if (currentDuration > 12 && currentDuration !== 24) {\r\n return 'Expires Soon';\r\n }\r\n if ((currentDuration < 12 && currentDuration > 0) || currentDuration === 0) {\r\n return 'Expires Today';\r\n }\r\n if (currentDuration === -1 || currentDuration < -1) {\r\n return '';\r\n }\r\n\r\n return 'Limited-Time Only';\r\n};\r\n\r\nconst dateFilterListRenderer = (v) => {\r\n if (v[0] && v[1]) {\r\n return `Start Date: ${v[0]} to End Date: ${v[1]}`;\r\n }\r\n if (v[0]) {\r\n return `Start Date: ${v[0]}`;\r\n }\r\n if (v[1]) {\r\n return `End Date: ${v[1]}`;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst dateFilterLogic = (date, filters) => {\r\n const check = new Date(date);\r\n let from = new Date(filters[0]);\r\n let to = new Date(filters[1]);\r\n\r\n from.setDate(from.getDate() + 1);\r\n to.setDate(to.getDate() + 1);\r\n from = new Date(from).setHours(0, 0, 0, 0);\r\n to = new Date(to).setHours(23, 59, 59, 59);\r\n\r\n if (filters[0] && filters[1] && check >= to && check <= from) {\r\n return true;\r\n }\r\n if (filters[0] && check >= to) {\r\n return true;\r\n }\r\n if (filters[1] && check <= from) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\n// Extracts date (month, day, year) from input string using regex,\r\n// returns object with values or null\r\nconst extractDateFromString = (str) => {\r\n const monthRegex = /(jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:tember)?|oct(?:ober)?|nov(?:ember)?|dec(?:ember)?)/gi;\r\n const dayRegex = /\\d{1,2}/;\r\n const yearRegex = /\\d{4}/;\r\n\r\n const monthMatch = str.match(monthRegex);\r\n const dayMatch = str.match(dayRegex);\r\n const yearMatch = str.match(yearRegex);\r\n\r\n if (monthMatch && dayMatch) {\r\n const month = monthMatch[0].toLowerCase();\r\n const day = dayMatch[0];\r\n const year = yearMatch ? yearMatch[0] : null;\r\n\r\n return { month, day, year };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst extractDate = (input) => {\r\n const match = input.match(/^(\\w+),\\s(\\w+)\\s(\\d+),\\s(\\d+),\\s(\\d+):(\\d+)\\s(am|pm)\\s-\\s(\\d+):(\\d+)\\s(am|pm)$/);\r\n\r\n return {\r\n weekDay: match[1],\r\n month: match[2],\r\n day: match[3],\r\n year: match[4]\r\n };\r\n};\r\n\r\nconst extractTimeFromString = (input) => {\r\n const timeRegex = /(\\d{1,2}:\\d{2} [ap]m)/gi;\r\n const times = input.match(timeRegex);\r\n\r\n if (!times) {\r\n return null;\r\n }\r\n\r\n const time = {};\r\n if (times.length === 1) {\r\n time.startValue = times[0].slice(0, 5);\r\n time.startMeridian = times[0].slice(5);\r\n } else {\r\n time.startValue = times[0].slice(0, 5);\r\n time.startMeridian = times[0].slice(5).toUpperCase();\r\n time.endValue = times[1].slice(0, 5);\r\n time.endMeridian = times[1].slice(5).toUpperCase();\r\n }\r\n\r\n return time;\r\n};\r\n\r\nconst extractLocationData = (input) => {\r\n const addressRegex = /^(.+),/;\r\n const addressMatch = input.match(addressRegex);\r\n\r\n const iframeRegex = /src=\"(.+?)\"/;\r\n const iframeMatch = input.match(iframeRegex);\r\n\r\n if (!addressMatch || !iframeMatch) {\r\n return null;\r\n }\r\n\r\n const address = addressMatch[1];\r\n const iframeSrc = iframeMatch[1];\r\n\r\n const [street, city, state, zipcode] = address.split(', ');\r\n\r\n return {\r\n street,\r\n city,\r\n state,\r\n zipcode,\r\n iframeSrc\r\n };\r\n};\r\n\r\nconst extractDescription = (input) => {\r\n const linkRegex = /\\[(.*?)\\]\\((.*?)\\)/g;\r\n const links = input.match(linkRegex);\r\n const output = { description: input.replace(linkRegex, '').trim() };\r\n\r\n if (links) {\r\n for (let i = 0; i < links.length; i += 1) {\r\n const link = links[i];\r\n const label = link.match(/\\[(.*?)\\]/)[1];\r\n const url = link.match(/\\((.*?)\\)/)[1];\r\n\r\n output[`link${i + 1}`] = { label, url };\r\n }\r\n }\r\n\r\n return output;\r\n};\r\n\r\nexport {\r\n getInputClasses,\r\n convertJsonToFormData,\r\n setToOptionModel,\r\n reOrderDnd,\r\n mapContentSectionName,\r\n copyToClipBoard,\r\n countdownMessage,\r\n dateFilterListRenderer,\r\n dateFilterLogic,\r\n extractDateFromString,\r\n extractDate,\r\n extractTimeFromString,\r\n extractLocationData,\r\n extractDescription\r\n};","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Users/';\r\n\r\nconst login = async (user) => axiosInstance.post(`${ENDPOINTORIGIN}Authenticate`, user, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst register = async (user) => axiosInstance.post(`${ENDPOINTORIGIN}Register`, user, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getUserById = async (userId) => axiosInstance.get(`${ENDPOINTORIGIN}GetUser?id=${userId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllUsers = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllUsers`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateUser = async (user) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateUser`, user, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst changeUserPassword = async (newPassword, oldPassword) => axiosInstance.put(`${ENDPOINTORIGIN}ChangeUserPassword?password=${newPassword}&oldPassword=${oldPassword}`, {}, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n login,\r\n register,\r\n getUserById,\r\n getAllUsers,\r\n updateUser,\r\n changeUserPassword\r\n};","// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\n// ICONS\r\nimport { FiLock, FiUser } from 'react-icons/fi';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport FormBlock from '../../../components/FormBlock';\r\nimport ContentHeader from '../../../components/ContentHeader';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport Image from '../../../components/Image';\r\nimport Button from '../../../components/Button';\r\n// PARTIALS\r\nimport ForgotPasswordBlock from './_partials/ForgotPasswordBlock';\r\n// ASSETS\r\nimport Logo from '../../../assets/img/logo.svg';\r\n// SERVICES & HELPERS\r\nimport LoginValidator from '../../../helpers/validators/user/LoginValidator';\r\nimport * as helper from '../../../helpers/helper';\r\nimport * as userService from '../../../services/management/userService';\r\n// REDUX\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\n\r\nconst initialModel = {\r\n email: '',\r\n password: ''\r\n};\r\n\r\nconst LoginPage = (props) => {\r\n const { showAlert, login, history } = props;\r\n\r\n const [passwordVisible, setPasswordVisible] = useState(false);\r\n const [forgotPasswordBlockVisible, setForgotPasswordBlockVisible] = useState(false);\r\n\r\n const iconSize = 22;\r\n\r\n const loginUser = (model, setSubmitting) => {\r\n userService.login(model).then((res) => {\r\n login(res);\r\n history.push('/admin/management/users');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setSubmitting(false);\r\n });\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: initialModel,\r\n validationSchema: LoginValidator,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n\r\n loginUser(values, setSubmitting);\r\n },\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n !forgotPasswordBlockVisible\r\n ? (\r\n \r\n \r\n\r\n \r\n )}\r\n />\r\n\r\n \r\n )}\r\n inputRightButtonText={passwordVisible ? 'Hide' : 'Show'}\r\n inputRightButtonOnClick={() => setPasswordVisible(!passwordVisible)}\r\n {...formik.getFieldProps('password')}\r\n errorMessage={formik.errors.password}\r\n inputState={`${helper.getInputClasses(formik, 'password')}`}\r\n {...formik.getFieldProps('password')}\r\n />\r\n \r\n \r\n \r\n \r\n )\r\n : (\r\n {\r\n setForgotPasswordBlockVisible(!forgotPasswordBlockVisible);\r\n }}\r\n />\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n

\r\n Copyright ©\r\n {' '}\r\n {new Date().getFullYear()}\r\n {' '}\r\n Transport Logics. All rights reserved.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, { ...auth.actions, ...alertToast.actions })(LoginPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ContentBlock = (props) => {\r\n const { className, cols, children } = props;\r\n const columnSizes = {\r\n 12: 'col-lg-12 col-md-12',\r\n 11: 'col-lg-11 col-md-11',\r\n 10: 'col-lg-10 col-md-10',\r\n 9: 'col-lg-9 col-md-9',\r\n 8: 'col-lg-8 col-md-8',\r\n 7: 'col-lg-7 col-md-7',\r\n 6: 'col-lg-6 col-md-6',\r\n 5: 'col-lg-5 col-md-5',\r\n 4: 'col-lg-4 col-md-4',\r\n 3: 'col-lg-3 col-md-3',\r\n 2: 'col-lg-2 col-md-2',\r\n 1: 'col-lg-1 col-md-1',\r\n };\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nContentBlock.propTypes = {\r\n // MAIN PROPS\r\n cols: PropTypes.number,\r\n className: PropTypes.string,\r\n children: PropTypes.any\r\n};\r\n\r\nContentBlock.defaultProps = {\r\n cols: 12,\r\n className: '',\r\n children: null\r\n};\r\n\r\nexport default ContentBlock;","/* eslint-disable react/no-unknown-property */\r\n/* eslint-disable jsx-a11y/label-has-associated-control */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst CheckboxBlock = (props) => {\r\n const {\r\n id,\r\n containerClassName,\r\n labelClassName,\r\n label,\r\n isChecked,\r\n onChange\r\n } = props;\r\n return (\r\n \r\n \r\n\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nCheckboxBlock.propTypes = {\r\n // MAIN PROPS\r\n id: PropTypes.string,\r\n label: PropTypes.string,\r\n containerClassName: PropTypes.string,\r\n labelClassName: PropTypes.string,\r\n isChecked: PropTypes.bool,\r\n onChange: PropTypes.func\r\n};\r\n\r\nCheckboxBlock.defaultProps = {\r\n // MAIN PROPS\r\n id: '',\r\n label: '',\r\n containerClassName: '',\r\n labelClassName: '',\r\n isChecked: false,\r\n onChange: () => { }\r\n};\r\n\r\nexport default CheckboxBlock;","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n username: Yup.string().required('Username is required').max(100),\r\n fullName: Yup.string().required('Full Name is required').max(250),\r\n email: Yup.string().email('Please enter valid email').required('Email is required').max(250),\r\n phone: Yup.string().max(20),\r\n password: Yup.string()\r\n .required('Password is required')\r\n .min(8, 'Minimum password length must be at least 8 characters')\r\n .max(100),\r\n confirmPassword: Yup.string()\r\n .required('Please confirm your new password')\r\n .oneOf([Yup.ref('password')], 'Passwords do not match'),\r\n isActive: Yup.bool().nullable(),\r\n isAdmin: Yup.bool().nullable()\r\n});","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n oldPassword: Yup.string()\r\n .required('Old password is required')\r\n .min(8, 'Minimum length of Password is 8')\r\n .max(100),\r\n password: Yup.string()\r\n .required('New password is required')\r\n .min(8, 'Minimum length of Password is 8')\r\n .max(100),\r\n confirmPassword: Yup.string()\r\n .required('Re-enter your new password')\r\n .oneOf([Yup.ref('password')], 'Passwords must match'),\r\n});","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n fullName: Yup.string().required('Full Name is required').max(250),\r\n email: Yup.string().email('Please enter valid email address').required('Email Address is required').max(250),\r\n phone: Yup.string().max(20),\r\n isActive: Yup.bool().nullable()\r\n});","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-shadow */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useFormik } from 'formik';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoPersonSharp } from 'react-icons/io5';\r\nimport {\r\n FiEye,\r\n FiEyeOff\r\n} from 'react-icons/fi';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport OverLay from '../../../../components/Overlay';\r\n// HELPERS AND SERVICES\r\nimport * as userService from '../../../../services/management/userService';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport RegisterUserValidator from '../../../../helpers/validators/user/RegisterUserValidator';\r\nimport UpdatePasswordValidator from '../../../../helpers/validators/user/UpdatePasswordValidator';\r\nimport EditUserValidator from '../../../../helpers/validators/user/EditUserValidator';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n\r\nconst userRegisterModel = {\r\n fullName: '',\r\n email: '',\r\n phone: '',\r\n username: '',\r\n password: '',\r\n confirmPassword: '',\r\n isActive: true,\r\n isAdmin: false\r\n};\r\n\r\nconst initialUpdatePasswordModel = {\r\n id: 0,\r\n password: '',\r\n confirmPassword: '',\r\n};\r\n\r\nconst initialEditModel = {\r\n id: 0,\r\n fullName: '',\r\n email: '',\r\n phone: '',\r\n username: '',\r\n isActive: false,\r\n isAdmin: false\r\n};\r\n\r\nconst UserListingPage = (props) => {\r\n const { showAlert, auth } = props;\r\n const [registerModalVisible, setRegisterModalVisible] = useState(false);\r\n const [updatePasswordModalVisible, setUpdatePasswordRegisterModalVisible] = useState(false);\r\n const [editModalVisible, setEditModalVisible] = useState(false);\r\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\r\n const [isConfirmPasswordVisible, setIsConfirmPasswordVisible] = useState(false);\r\n const [userList, setUserList] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [updatePasswordModel, setUpdatePasswordModel] = useState(initialUpdatePasswordModel);\r\n const [editUserModel, setEditUserModel] = useState(initialEditModel);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getAllUsers();\r\n }, []);\r\n\r\n const regiser_user_formik = useFormik({\r\n initialValues: userRegisterModel,\r\n validationSchema: RegisterUserValidator,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n registerUser(values);\r\n },\r\n });\r\n\r\n const update_password_user_formik = useFormik({\r\n initialValues: updatePasswordModel,\r\n validationSchema: UpdatePasswordValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n updateUserPassword(values);\r\n },\r\n });\r\n\r\n const edit_user_formik = useFormik({\r\n initialValues: editUserModel,\r\n validationSchema: EditUserValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n editUser(values);\r\n },\r\n });\r\n\r\n const getUserDetails = (id) => {\r\n setIsLoading(true);\r\n userService.getUserById(id).then((res) => {\r\n setEditUserModel(res);\r\n setEditModalVisible(true);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getAllUsers = () => {\r\n setIsLoading(true);\r\n userService.getAllUsers().then((res) => {\r\n setUserList(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const registerUser = (model) => {\r\n setIsLoading(true);\r\n userService.register(model).then((res) => {\r\n getAllUsers();\r\n showAlert({ text: res.message, state: 'success' });\r\n closeRegisterModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const closeRegisterModal = () => {\r\n setRegisterModalVisible(false);\r\n regiser_user_formik.resetForm();\r\n };\r\n\r\n const closePasswordModal = () => {\r\n setUpdatePasswordModel(initialUpdatePasswordModel);\r\n update_password_user_formik.resetForm();\r\n setUpdatePasswordRegisterModalVisible(false);\r\n };\r\n\r\n const updateUserPassword = (model) => {\r\n setIsLoading(true);\r\n userService.changeUserPassword(model.password, model.oldPassword).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n closePasswordModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const editUser = (model) => {\r\n setIsLoading(true);\r\n userService.updateUser(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n closeEditModal();\r\n getAllUsers();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const closeEditModal = () => {\r\n setEditModalVisible(false);\r\n edit_user_formik.resetForm();\r\n setEditUserModel(initialEditModel);\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n auth.isAdmin\r\n && (\r\n {\r\n getUserDetails(userList[dataIndex].id);\r\n }}\r\n />\r\n )\r\n }\r\n\r\n {\r\n (auth.user.id === userList[dataIndex].id)\r\n && (\r\n {\r\n setUpdatePasswordRegisterModalVisible(true);\r\n }}\r\n />\r\n )\r\n }\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'username',\r\n label: 'Username',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'fullName',\r\n label: 'Full Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is User Active?',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n customBodyRenderLite: (dataIndex) => (

{userList[dataIndex].isActive ? 'Yes' : 'No'}

)\r\n },\r\n },\r\n {\r\n name: 'isAdmin',\r\n label: 'Is User Admin?',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n customBodyRenderLite: (dataIndex) => (

{userList[dataIndex].isAdmin ? 'Yes' : 'No'}

)\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonOnClick={() => {\r\n setRegisterModalVisible(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 {/* REGISTER MODAL */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={regiser_user_formik.errors.password}\r\n inputState={`${helper.getInputClasses(regiser_user_formik, 'password')}`}\r\n {...regiser_user_formik.getFieldProps('password')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsConfirmPasswordVisible(!isConfirmPasswordVisible);\r\n }}\r\n errorMessage={regiser_user_formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(regiser_user_formik, 'confirmPassword')}`}\r\n {...regiser_user_formik.getFieldProps('confirmPassword')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n {/* RESET PASSWORD MODAL */}\r\n {\r\n setUpdatePasswordRegisterModalVisible(false);\r\n }}\r\n >\r\n \r\n
\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.oldPassword}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'oldPassword')}`}\r\n {...update_password_user_formik.getFieldProps('oldPassword')}\r\n isRequired\r\n />\r\n \r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.password}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'password')}`}\r\n {...update_password_user_formik.getFieldProps('password')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsConfirmPasswordVisible(!isConfirmPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'confirmPassword')}`}\r\n {...update_password_user_formik.getFieldProps('confirmPassword')}\r\n isRequired\r\n />\r\n \r\n
\r\n
\r\n \r\n\r\n {/* EDIT MODAL */}\r\n {\r\n closeEditModal();\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, { ...auth.actions, ...alert.actions })(UserListingPage);","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Button from '../../../../components/Button';\r\n// SERVICES AND HELPERS\r\nimport * as menuItemService from '../../../../services/cms/menuItemService';\r\nimport * as helper from '../../../../helpers/helper';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst MenuItemListingPage = (props) => {\r\n const { showAlert, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [menuItems, setMenuItems] = useState([]);\r\n const [sortList, setSortList] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getMenuItems();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSortList(menuItems.sort((a, b) => a - b));\r\n }, [menuItems]);\r\n\r\n const getMenuItems = () => {\r\n setIsLoading(true);\r\n menuItemService.getAllMenuItems('').then((res) => {\r\n setMenuItems(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const deleteMenuItem = (menuItemId) => {\r\n setIsLoading(true);\r\n\r\n menuItemService.deleteMenuItem(menuItemId).then((res) => {\r\n getMenuItems();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const sortMenuItems = () => {\r\n setIsLoading(true);\r\n\r\n menuItemService.sortMenuItems(sortList).then((res) => {\r\n getMenuItems();\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: true,\r\n print: false,\r\n jumpToPage: true,\r\n textLabels: { pagination: { jumpToPage: 'Page No:' } }\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n \r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Menu Item',\r\n text: 'Are you sure you want to remove this menu item?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteMenuItem(menuItems[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Menu Item Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'pageName',\r\n label: 'Assigned Page',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'parentMenuItem',\r\n label: 'Parent Menu Item',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'openInNewTab',\r\n label: 'Will Open In A New Tab?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{menuItems[dataIndex].openInNewTab ? 'Yes' : 'No'}

\r\n )\r\n }\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{menuItems[dataIndex].isActive ? 'Yes' : 'No'}

\r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonTo=\"/cms/management/menu-item\"\r\n secondaryButtonText=\"Sort Items\"\r\n secondaryButtonOnClick={() => setIsSortModalOpen(true)}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.name}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(MenuItemListingPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n\r\nconst FixedActionsBar = (props) => {\r\n const {\r\n primaryActionText,\r\n primaryActionColor,\r\n primaryActionTo,\r\n isPrimaryActionDisabled,\r\n primaryActionOnClick,\r\n secondaryActionText,\r\n secondaryActionColor,\r\n secondaryActionTo,\r\n isSecondaryActionDisabled,\r\n secondaryActionOnClick,\r\n optionalActionText,\r\n optionalActionColor,\r\n optionalActionTo,\r\n optionalActionOnClick,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n (optionalActionText !== '' || null)\r\n && (\r\n \r\n )\r\n }\r\n \r\n \r\n\r\n \r\n {\r\n (secondaryActionText !== '' || null)\r\n && (\r\n \r\n )\r\n }\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nFixedActionsBar.propTypes = {\r\n // ACTION PROPS\r\n primaryActionText: PropTypes.string.isRequired,\r\n primaryActionColor: PropTypes.string,\r\n primaryActionTo: PropTypes.string,\r\n primaryActionOnClick: PropTypes.func,\r\n isPrimaryActionDisabled: PropTypes.bool,\r\n\r\n secondaryActionText: PropTypes.string,\r\n secondaryActionColor: PropTypes.string,\r\n secondaryActionTo: PropTypes.string,\r\n secondaryActionOnClick: PropTypes.func,\r\n isSecondaryActionDisabled: PropTypes.bool,\r\n\r\n optionalActionText: PropTypes.string,\r\n optionalActionColor: PropTypes.string,\r\n optionalActionTo: PropTypes.string,\r\n optionalActionOnClick: PropTypes.func,\r\n};\r\n\r\nFixedActionsBar.defaultProps = {\r\n // MAIN PROPS\r\n primaryActionColor: 'primary--bg',\r\n primaryActionTo: '',\r\n primaryActionOnClick: null,\r\n isPrimaryActionDisabled: false,\r\n\r\n secondaryActionText: '',\r\n secondaryActionColor: 'danger--bg',\r\n secondaryActionTo: '',\r\n secondaryActionOnClick: null,\r\n isSecondaryActionDisabled: false,\r\n\r\n optionalActionText: '',\r\n optionalActionColor: 'secondary--bg',\r\n optionalActionTo: '',\r\n optionalActionOnClick: null,\r\n};\r\n\r\nexport default FixedActionsBar;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Page/';\r\n\r\nconst getAllPages = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllPages?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getPageById = async (pageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetPageById?pageId=${pageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createPage = async (page) => axiosInstance.post(`${ENDPOINTORIGIN}CreatePage`, page, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updatePage = async (page) => axiosInstance.put(`${ENDPOINTORIGIN}UpdatePage`, page, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deletePage = async (pageId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeletePage?id=${pageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst assignContentSectionToPage = async (pageId, contentSectionId, type) => axiosInstance.post(`${ENDPOINTORIGIN}AssignContentSectionToPage?pageId=${pageId}&contentSectionId=${contentSectionId}&type=${type}`, {}, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst unassignContentSection = async (contentSectionBannerId) => axiosInstance.delete(`${ENDPOINTORIGIN}UnassignContentSection?contentSectionBannerId=${contentSectionBannerId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortPageContentSections = async (sortOrders) => axiosInstance.put(`${ENDPOINTORIGIN}SortPageContentSections`, sortOrders, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteBannerImage = async (pageId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteBannerImage?pageId=${pageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllPages,\r\n getPageById,\r\n createPage,\r\n updatePage,\r\n deletePage,\r\n assignContentSectionToPage,\r\n unassignContentSection,\r\n sortPageContentSections,\r\n deleteBannerImage\r\n};","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Menu Item Name is required').max(100),\r\n pageId: Yup.number().nullable(),\r\n parentMenuItemId: Yup.number().nullable(),\r\n customLink: Yup.string().nullable().max(250),\r\n openInNewTab: Yup.bool(),\r\n isActive: Yup.bool(),\r\n});","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-param-reassign */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport { useParams } from 'react-router-dom';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Button from '../../../../components/Button';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\n// ASSETS\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as menuItemService from '../../../../services/cms/menuItemService';\r\nimport * as pageService from '../../../../services/cms/pageService';\r\nimport MenuItemValidator from '../../../../helpers/validators/cms/menuItem/menuItemValidator';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nconst intialMenuItemModel = {\r\n id: 0,\r\n name: '',\r\n pageId: null,\r\n parentMenuItemId: null,\r\n customLink: null,\r\n openInNewTab: false,\r\n isActive: true,\r\n assignedMenuItems: []\r\n};\r\n\r\nconst MenuItemManagementPage = (props) => {\r\n const { showAlert, history, showConfirmModal, hideConfirmModal } = props;\r\n const { menuItemId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [menuItemModel, setMenuItemModel] = useState(intialMenuItemModel);\r\n const [selectedOptions, setSelectedOptions] = useState({\r\n page: null,\r\n parentMenuItem: null\r\n });\r\n const [pageOptions, setPageOptions] = useState();\r\n const [menuItemOptions, setMenuItemOptions] = useState();\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [assignmentMenuItemOptions, setAssignmentMenuItemOptions] = useState([]);\r\n const [selectedAssignmentMenuItem, setSelectedAssignmentMenuItem] = useState(null);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [sortList, setSortList] = useState([]);\r\n\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: false\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: false,\r\n print: false,\r\n };\r\n\r\n useEffect(() => {\r\n loadOptionsAndPopulateForm();\r\n }, [menuItemId]);\r\n\r\n useEffect(() => {\r\n setSortList(menuItemModel.assignedMenuItems.sort((a, b) => a - b));\r\n }, [menuItemModel]);\r\n\r\n const formik = useFormik({\r\n initialValues: menuItemModel,\r\n validationSchema: MenuItemValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (menuItemId) {\r\n updateMenuItem(values);\r\n } else {\r\n createMenuItem(values);\r\n }\r\n },\r\n });\r\n\r\n const loadOptionsAndPopulateForm = async () => {\r\n const pages = await getPageOptions();\r\n const menuItems = await getMenuItemOptions();\r\n\r\n if (menuItemId > 0) {\r\n getMenuItem(pages, menuItems);\r\n }\r\n };\r\n\r\n const getMenuItem = async (pages, menuItems) => {\r\n setIsLoading(true);\r\n\r\n await getMenuItemForAssignments();\r\n menuItemService.getMenuItemsById(menuItemId).then((res) => {\r\n setMenuItemModel(res);\r\n let selectedOptionsFromApi = {\r\n page: null,\r\n parentMenuItem: null\r\n };\r\n if (res.pageId) {\r\n const selectedPage = pages.find((x) => x.value === res.pageId);\r\n if (selectedPage) {\r\n selectedOptionsFromApi = { ...selectedOptionsFromApi, page: selectedPage };\r\n }\r\n }\r\n\r\n if (res.parentMenuItemId) {\r\n const selectedMenuItem = menuItems.find((x) => x.value === res.parentMenuItemId);\r\n if (selectedMenuItem) {\r\n selectedOptionsFromApi = { ...selectedOptionsFromApi, parentMenuItem: selectedMenuItem };\r\n }\r\n }\r\n\r\n setSelectedOptions(selectedOptionsFromApi);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getPageOptions = async () => pageService.getAllPages(true).then((res) => {\r\n const pageList = res.map((x) => helper.setToOptionModel(x.name, x.id));\r\n // console.log('Page Options are ', pageList);\r\n setPageOptions(pageList);\r\n\r\n return pageList;\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n });\r\n\r\n const getMenuItemForAssignments = async () => menuItemService.getMenuItemsWithNoParentOrChild()\r\n .then((res) => {\r\n const assignmentlist = res.filter((x) => x.id !== Number(menuItemId))\r\n .map((x) => helper.setToOptionModel(x.name, x.id));\r\n setAssignmentMenuItemOptions(assignmentlist);\r\n\r\n return assignmentlist;\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n });\r\n\r\n const getMenuItemOptions = async () => menuItemService.getAllMenuItems(true).then((res) => {\r\n const menuItemList = res.filter((x) => x.parentMenuItem === '-' && x.id !== Number(menuItemId)).map((x) => helper.setToOptionModel(x.name, x.id));\r\n setMenuItemOptions(menuItemList);\r\n\r\n return menuItemList;\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n });\r\n\r\n const createMenuItem = (model) => {\r\n setIsLoading(true);\r\n\r\n menuItemService.createMenuItem(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/menu-items');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateMenuItem = (model) => {\r\n setIsLoading(true);\r\n menuItemService.updateMenuItems(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/menu-items');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const removeAssignedMenuItem = (id) => {\r\n setIsLoading(true);\r\n\r\n menuItemService.removeParentMenuItem(id).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getMenuItem(pageOptions, menuItemOptions);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const assignMenuItem = () => {\r\n setIsLoading(true);\r\n\r\n menuItemService.assignParentMenuItem({\r\n parentId: menuItemId,\r\n childMenuItemIds: selectedAssignmentMenuItem.map((x) => Number(x.value))\r\n }).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getMenuItem();\r\n setIsModalVisible(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n setSelectedAssignmentMenuItem(null);\r\n });\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n history.push(`/cms/management/menu-item/edit/${menuItemModel.assignedMenuItems[dataIndex].id}`);\r\n }}\r\n />\r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Menu Item',\r\n text: 'Are you sure you want to remove this assigned menu item?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n removeAssignedMenuItem(menuItemModel.assignedMenuItems[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Menu Item Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'pageName',\r\n label: 'Assigned Page',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{menuItemModel.assignedMenuItems[dataIndex].isActive ? 'Yes' : 'No'}

\r\n )\r\n },\r\n },\r\n ];\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const sortChildMenuItems = () => {\r\n setIsLoading(true);\r\n\r\n menuItemService.sortChildMenuItems(sortList).then((res) => {\r\n getMenuItem(pageOptions, menuItemOptions);\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n {/* BASIC INFORMATION */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n selectedOpt = selectedOpt === null ? [] : selectedOpt;\r\n setSelectedOptions({ ...selectedOptions, page: selectedOpt });\r\n formik.setFieldValue('pageId', selectedOpt.value ? selectedOpt.value : null);\r\n }}\r\n />\r\n \r\n\r\n \r\n 0}\r\n value={selectedOptions.parentMenuItem}\r\n onChange={(selectedOpt) => {\r\n selectedOpt = selectedOpt === null ? [] : selectedOpt;\r\n setSelectedOptions({ ...selectedOptions, parentMenuItem: selectedOpt });\r\n formik.setFieldValue('parentMenuItemId', selectedOpt.value ? selectedOpt.value : null);\r\n }}\r\n />\r\n \r\n\r\n {\r\n (formik.values.pageId === null)\r\n && (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {/* ASSIGNED MENU ITEMS */}\r\n {\r\n (menuItemModel.id > 0 && formik.values.parentMenuItemId === null)\r\n && (\r\n
\r\n \r\n \r\n )\r\n }\r\n primaryButtonOnClick={() => {\r\n setIsModalVisible(true);\r\n }}\r\n secondaryButtonText=\"Sort Menu Items\"\r\n secondaryButtonOnClick={() => setIsSortModalOpen(true)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n {/* PAGE ACTIONS */}\r\n 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/cms/management/menu-items\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n {/* ADD IMAGES MODAL */}\r\n {\r\n setIsModalVisible(false);\r\n }}\r\n >\r\n
\r\n \r\n {\r\n selectedOpt = selectedOpt === null ? [] : selectedOpt;\r\n setSelectedAssignmentMenuItem(selectedOpt);\r\n }}\r\n />\r\n \r\n
\r\n \r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.name}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(MenuItemManagementPage);","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\n// SERVICES AND HELPERS\r\nimport * as pageService from '../../../../services/cms/pageService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst PageListingPage = (props) => {\r\n const { showAlert, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [pages, setPages] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getPages();\r\n }, []);\r\n\r\n const getPages = () => {\r\n setIsLoading(true);\r\n pageService.getAllPages('').then((res) => {\r\n setPages(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const deletePage = (pageId) => {\r\n setIsLoading(true);\r\n\r\n pageService.deletePage(pageId).then((res) => {\r\n getPages();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: true,\r\n print: false,\r\n jumpToPage: true,\r\n textLabels: { pagination: { jumpToPage: 'Page No:' } }\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n \r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove page',\r\n text: 'Are you sure you want to remove this page?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deletePage(pages[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Page Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'title',\r\n label: 'Page Title',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{pages[dataIndex].isActive ? 'Yes' : 'No'}

\r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonTo=\"/cms/management/page\"\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(PageListingPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst TextAreaBlock = (props) => {\r\n const {\r\n containerClassName,\r\n className,\r\n backgroundColor,\r\n label,\r\n labelColor,\r\n inputLabel,\r\n placeholder,\r\n inputState,\r\n errorMessage,\r\n successMessage,\r\n warningMessage,\r\n isLabelLoading,\r\n isRequired,\r\n isDisabled,\r\n hasBorder,\r\n } = props;\r\n\r\n const errorMessageSuffix = 'is required';\r\n const inputStates = {\r\n error: 'error',\r\n warning: 'warning',\r\n success: 'success',\r\n disabled: 'disabled'\r\n };\r\n\r\n return (\r\n \r\n {\r\n inputLabel\r\n && (\r\n \r\n {inputLabel}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n {\r\n label\r\n && (\r\n \r\n {label}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n \r\n {\r\n inputState === 'error'\r\n && (\r\n \r\n {errorMessage || (inputLabel || label ? (inputLabel || `${label} ${errorMessageSuffix}`) : 'Error message undefined')}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'warning'\r\n && (\r\n \r\n {warningMessage}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'success'\r\n && (\r\n \r\n {successMessage}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nTextAreaBlock.propTypes = {\r\n // CONTAINER PROPS\r\n containerClassName: PropTypes.string,\r\n className: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n\r\n // LABEL PROPS\r\n label: PropTypes.string,\r\n labelColor: PropTypes.string,\r\n inputLabel: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n\r\n // STATE PROPS\r\n inputState: PropTypes.string,\r\n errorMessage: PropTypes.string,\r\n successMessage: PropTypes.string,\r\n warningMessage: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isLabelLoading: PropTypes.bool,\r\n isRequired: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n hasBorder: PropTypes.bool,\r\n};\r\n\r\nTextAreaBlock.defaultProps = {\r\n // CONTAINER PROPS\r\n containerClassName: '',\r\n className: '',\r\n backgroundColor: 'light--sbg',\r\n\r\n // LABEL PROPS\r\n label: '',\r\n labelColor: '',\r\n inputLabel: '',\r\n placeholder: '',\r\n\r\n // STATE PROPS\r\n inputState: '',\r\n errorMessage: '',\r\n successMessage: '',\r\n warningMessage: '',\r\n\r\n // BOOLEAN PROPS\r\n isLabelLoading: false,\r\n isRequired: false,\r\n isDisabled: false,\r\n hasBorder: false,\r\n};\r\n\r\nexport default TextAreaBlock;","// DEPENDENCIES\r\nimport React, { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FilePond, registerPlugin } from 'react-filepond';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport 'filepond/dist/filepond.min.css';\r\nimport 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css';\r\n// import _ from 'lodash';\r\n// COMPONENTS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nregisterPlugin(FilePondPluginImageExifOrientation, FilePondPluginImagePreview);\r\n\r\nconst FileUploadBlock = forwardRef((props, ref) => {\r\n const { containerClassName, labelIdle } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n\r\nFileUploadBlock.propTypes = {\r\n containerClassName: PropTypes.string,\r\n labelIdle: PropTypes.string,\r\n};\r\n\r\nFileUploadBlock.defaultProps = {\r\n containerClassName: '',\r\n labelIdle: 'Drag & Drop your files or Browse',\r\n};\r\n\r\nexport default FileUploadBlock;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'ContentSection/';\r\n\r\nconst getAllContentSections = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllContentSections?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getContentSectionById = async (contentSectionId) => axiosInstance.get(`${ENDPOINTORIGIN}GetContentSectionById?contentSectionId=${contentSectionId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createContentSection = async (contentSection) => axiosInstance.post(`${ENDPOINTORIGIN}CreateContentSection`, contentSection, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateContentSection = async (contentSection) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateContentSection`, contentSection, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteContentSection = async (contentSectionId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteContentSection?id=${contentSectionId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getContentSectionOptions = async (pageId, type) => axiosInstance.get(`${ENDPOINTORIGIN}GetContentSectionOptions?pageId=${pageId}&type=${type}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getContentSectionOptionsForBlog = async (blogId, type) => axiosInstance.get(`${ENDPOINTORIGIN}GetContentSectionOptionsForBlog?blogId=${blogId}&type=${type}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllContentSections,\r\n getContentSectionById,\r\n createContentSection,\r\n updateContentSection,\r\n deleteContentSection,\r\n getContentSectionOptions,\r\n getContentSectionOptionsForBlog\r\n};","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Page Name is required').max(250),\r\n title: Yup.string().nullable().max(250),\r\n url: Yup.string().required().max(250),\r\n isBannerVisible: Yup.bool().nullable(),\r\n bannerImageFilePath: Yup.string().nullable(),\r\n bannerColor: Yup.string().max(10),\r\n keywords: Yup.string().nullable().max(1500),\r\n description: Yup.string().nullable(),\r\n isActive: Yup.bool(),\r\n});","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-alert */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport { useParams } from 'react-router-dom';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { SwatchesPicker } from 'react-color';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\nimport { MdOutlinePlaylistAdd } from 'react-icons/md';\r\nimport { FaSquare } from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Button from '../../../../components/Button';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Image from '../../../../components/Image';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\n// ASSETS\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as pageService from '../../../../services/cms/pageService';\r\nimport * as contentSectionService from '../../../../services/cms/contentSectionService';\r\nimport PageValidator from '../../../../helpers/validators/cms/page/pageValidator';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nconst intialPageModel = {\r\n id: 0,\r\n name: '',\r\n title: '',\r\n url: '',\r\n isBannerVisible: true,\r\n bannerImageFilePath: '',\r\n bannerColor: '#000000',\r\n keywords: '',\r\n description: '',\r\n isActive: true,\r\n bannerImage: null,\r\n contentSections: []\r\n};\r\n\r\nconst typeSelectionOptions = [\r\n {\r\n label: 'Banner',\r\n value: 'BANNER'\r\n },\r\n {\r\n label: 'Content Section',\r\n value: 'CONTENTSECTION'\r\n }\r\n];\r\n\r\nconst PageManagementPage = (props) => {\r\n const { showAlert, history, showConfirmModal, hideConfirmModal } = props;\r\n const { pageId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [file, setFile] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState(null);\r\n const [contentBannerTypeOption, setContentBannerTypeOption] = useState([]);\r\n const [selectedContentBannerTypeOption, setSelectedContentBannerTypeOption] = useState(null);\r\n const [pageModel, setPageModel] = useState(intialPageModel);\r\n const [sortList, setSortList] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n loadOptionsAndPopulateForm();\r\n setContentBannerTypeOption([]);\r\n setSelectedContentBannerTypeOption([]);\r\n }, [pageId]);\r\n\r\n useEffect(() => {\r\n setSelectedContentBannerTypeOption(null);\r\n setContentBannerTypeOption([]);\r\n if (selectedOption) {\r\n getOptions(selectedOption.value);\r\n }\r\n }, [selectedOption]);\r\n\r\n useEffect(() => {\r\n setSortList(pageModel.contentSections.sort((a, b) => a - b));\r\n }, [pageModel.contentSections]);\r\n\r\n const formik = useFormik({\r\n initialValues: pageModel,\r\n validationSchema: PageValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (pageId) {\r\n updatePage(values);\r\n } else {\r\n createPage(values);\r\n }\r\n },\r\n });\r\n\r\n const loadOptionsAndPopulateForm = async () => {\r\n if (pageId > 0) {\r\n getPage();\r\n }\r\n };\r\n\r\n const getOptions = (type) => {\r\n setIsLoading(true);\r\n\r\n contentSectionService.getContentSectionOptions(pageId, type).then((res) => {\r\n setContentBannerTypeOption(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getPage = async () => {\r\n setIsLoading(true);\r\n\r\n pageService.getPageById(pageId).then((res) => {\r\n setPageModel(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const createPage = (model) => {\r\n setIsLoading(true);\r\n\r\n pageService.createPage(helper.convertJsonToFormData(\r\n {\r\n ...model,\r\n bannerImage: file.length > 0 ? file[0].file : null\r\n }\r\n )).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push(`/cms/management/page/edit/${res.id}`);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updatePage = (model) => {\r\n setIsLoading(true);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, bannerImage: file[0].file };\r\n }\r\n pageService.updatePage(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/pages');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const hideContentSectionModal = () => {\r\n setSelectedOption(null);\r\n setSelectedContentBannerTypeOption(null);\r\n setContentBannerTypeOption([]);\r\n\r\n setIsModalVisible(false);\r\n };\r\n\r\n const addContentSection = () => {\r\n if (selectedContentBannerTypeOption && selectedOption) {\r\n setIsLoading(true);\r\n\r\n pageService.assignContentSectionToPage(pageId, selectedContentBannerTypeOption.value, selectedOption.value).then((res) => {\r\n getPage();\r\n showAlert({ text: res.message, state: 'success' });\r\n hideContentSectionModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n } else {\r\n showAlert({ text: 'Please select both type & component', state: 'warning' });\r\n }\r\n };\r\n\r\n const deletePageContent = (id) => {\r\n setIsLoading(true);\r\n\r\n pageService.unassignContentSection(id).then((res) => {\r\n getPage();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const sortPageContents = () => {\r\n setIsLoading(true);\r\n\r\n pageService.sortPageContentSections(sortList).then((res) => {\r\n getPage();\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: false\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: false,\r\n print: false,\r\n };\r\n\r\n const deleteBannerImage = () => {\r\n pageService.deleteBannerImage(pageId).then((res) => {\r\n getPage();\r\n showAlert({ text: res.message, state: 'success' });\r\n hideConfirmModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n const model = pageModel.contentSections[dataIndex];\r\n history.push(`/cms/management/${(model.bannerId > 0) ? 'banner' : 'content-section'}/edit/${(model.bannerId > 0) ? model.bannerId : model.contentSectionId}`);\r\n }}\r\n />\r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Page Content',\r\n text: 'Are you sure you want to remove this content?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deletePageContent(pageModel.contentSections[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'type',\r\n label: 'Type',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (

{helper.mapContentSectionName(pageModel.contentSections[dataIndex].type)}

)\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n {/* BASIC INFORMATION */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {/* PAGE BANNER */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n pageModel.bannerImageFilePath\r\n ? (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n showConfirmModal(\r\n {\r\n title: 'Remove Banner Image',\r\n text: 'Are you sure you want to remove this banner Image?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteBannerImage();\r\n }\r\n }\r\n )}\r\n />\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n\r\n \r\n\r\n \r\n }\r\n errorMessage={formik.errors.bannerColor}\r\n inputState={`${helper.getInputClasses(formik, 'bannerColor')}`}\r\n {...formik.getFieldProps('bannerColor')}\r\n />\r\n\r\n \r\n {\r\n formik.setFieldValue('bannerColor', c.hex);\r\n }}\r\n className=\"w-100\"\r\n />\r\n \r\n \r\n
\r\n\r\n {/* SEO INFORMATION */}\r\n
\r\n \r\n \r\n \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 pageId\r\n && (\r\n
\r\n \r\n }\r\n primaryButtonOnClick={() => setIsModalVisible(true)}\r\n secondaryButtonText=\"Sort Items\"\r\n secondaryButtonOnClick={() => setIsSortModalOpen(true)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n {/* PAGE ACTIONS */}\r\n 0 ? 'Save Changes' : 'Create Page'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/cms/management/pages\"\r\n optionalActionText={pageId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/cms/management/pages\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n {/* ADD Content Section MODAL */}\r\n {\r\n if (selectedOption !== null) {\r\n history.push(`/cms/management/${(selectedOption.value === 'BANNER') ? 'banner' : 'content-section'}/pageId/${pageId}`);\r\n } else {\r\n showAlert({ text: 'Please select type of Component you want to create', state: 'warning' });\r\n }\r\n }}\r\n onHide={hideContentSectionModal}\r\n >\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n {\r\n sortList.length > 0\r\n ? (\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.name}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n

No Items Available

\r\n
\r\n )\r\n }\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(PageManagementPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Banner/';\r\n\r\nconst getAllBanners = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllBanners?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getBannerById = async (bannerId) => axiosInstance.get(`${ENDPOINTORIGIN}GetBannerById?bannerId=${bannerId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createBanner = async (banner) => axiosInstance.post(`${ENDPOINTORIGIN}CreateBanner`, banner, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateBanner = async (banner) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateBanner`, banner, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteBanner = async (bannerId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteBanner?id=${bannerId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllBanners,\r\n getBannerById,\r\n createBanner,\r\n updateBanner,\r\n deleteBanner\r\n};","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Button from '../../../../components/Button';\r\n// SERVICES AND HELPERS\r\nimport * as contentSectionService from '../../../../services/cms/contentSectionService';\r\n// REDUX\r\nimport constants from '../../../../constants/constants';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\nimport * as bannerService from '../../../../services/cms/bannerService';\r\n\r\nconst ContentSectionListingPage = (props) => {\r\n const { showAlert, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [contentSections, setContentSections] = useState([]);\r\n const [isConfirmDeleteModalVisible, setIsConfirmDeleteModalVisible] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getContentSections();\r\n }, []);\r\n\r\n const getContentSections = () => {\r\n setIsLoading(true);\r\n contentSectionService.getAllContentSections('').then((res) => {\r\n setContentSections(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const deleteContentSection = (contentSectionId) => {\r\n setIsLoading(true);\r\n\r\n contentSectionService.deleteContentSection(contentSectionId).then((res) => {\r\n getContentSections();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const deleteBanner = (bannerId) => {\r\n setIsLoading(true);\r\n\r\n bannerService.deleteBanner(bannerId).then((res) => {\r\n getContentSections();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: true,\r\n print: false,\r\n jumpToPage: true,\r\n textLabels: { pagination: { jumpToPage: 'Page No:' } }\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n \r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove content section',\r\n text: 'Are you sure you want to remove this content section?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n if (contentSections[dataIndex].type === constants.CONTENT_SECTION.ContentSectionDynamicBanner) {\r\n deleteBanner(contentSections[dataIndex].id);\r\n } else {\r\n deleteContentSection(contentSections[dataIndex].id);\r\n }\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'title',\r\n label: 'Title',\r\n options: columnOptions\r\n },\r\n {\r\n name: 'type',\r\n label: 'Type',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{helper.mapContentSectionName(contentSections[dataIndex].type)}

\r\n )\r\n }\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{contentSections[dataIndex].isActive ? 'Yes' : 'No'}

\r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonTo=\"/cms/management/content-section\"\r\n secondaryButtonText=\"New Banner\"\r\n secondaryButtonIconLeft={}\r\n secondaryButtonTo=\"/cms/management/banner\"\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* CONFIRM DELETE MODAL */}\r\n { }}\r\n secondaryModalActionText=\"Cancel\"\r\n secondaryModalActionColor=\"grey--bg\"\r\n onHide={() => {\r\n setIsConfirmDeleteModalVisible(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(ContentSectionListingPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Image from './Image';\r\nimport TextBlock from './TextBlock';\r\n\r\nconst SelectablePreview = (props) => {\r\n const {\r\n title,\r\n titleColor,\r\n imageSource,\r\n onClick,\r\n isSelected,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSelectablePreview.propTypes = {\r\n // MAIN PROPS\r\n title: PropTypes.string,\r\n titleColor: PropTypes.string,\r\n imageSource: PropTypes.number.isRequired,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isSelected: PropTypes.bool\r\n};\r\n\r\nSelectablePreview.defaultProps = {\r\n // MAIN PROPS\r\n title: '',\r\n titleColor: '',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isSelected: false\r\n};\r\n\r\nexport default SelectablePreview;","export default __webpack_public_path__ + \"static/media/content-section_default.04b94dd3.svg\";","export default __webpack_public_path__ + \"static/media/content-section_reversed.881e8c07.svg\";","export default __webpack_public_path__ + \"static/media/content-section_full-width.7919dac7.svg\";","export default __webpack_public_path__ + \"static/media/content-section_full-width-padded.3fb3d653.svg\";","export default __webpack_public_path__ + \"static/media/content-section_text-only.d952709d.svg\";","export default __webpack_public_path__ + \"static/media/content-section_floating-card.7b425d5c.svg\";","export default __webpack_public_path__ + \"static/media/banner-section_dynamic.e70b2b3d.svg\";","export default __webpack_public_path__ + \"static/media/content-section_custom.3c559fd4.svg\";","import * as Yup from 'yup';\r\nimport constants from '../../../../constants/constants';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Content Section Name is required').max(150),\r\n type: Yup.string().required(),\r\n // title: Yup.string().required('Title is required').max(1000),\r\n title: Yup.string().when('type', {\r\n is: (type) => type === constants.CONTENT_SECTION.ContentSectionCustom,\r\n then: Yup.string().nullable(),\r\n otherwise: Yup.string().required('Title is required').max(1000)\r\n }),\r\n rawHTML: Yup.string().nullable(),\r\n description: Yup.string().when('type', {\r\n is: (type) => ![\r\n constants.CONTENT_SECTION.ContentSectionTypeBanner,\r\n constants.CONTENT_SECTION.ContentSectionCustom\r\n ].includes(type),\r\n then: Yup.string().nullable().required('Content Details is required'),\r\n otherwise: Yup.string().nullable()\r\n }),\r\n alignment: Yup.string().required(),\r\n imagePath: Yup.string().nullable(),\r\n isPadded: Yup.bool(),\r\n isFloatingCard: Yup.bool(),\r\n hasRoundedCorners: Yup.bool(),\r\n isTextOnly: Yup.bool(),\r\n primaryButtonText: Yup.string().nullable().max(50),\r\n primaryButtonActionType: Yup.string().nullable().when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Type is required')\r\n }),\r\n primaryButtonLink: Yup.string().nullable().max(500).when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Link is required')\r\n }),\r\n secondaryButtonText: Yup.string().nullable().max(50),\r\n secondaryButtonActionType: Yup.string().nullable().when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Type is required')\r\n }),\r\n secondaryButtonLink: Yup.string().nullable().max(500).when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Link is required')\r\n }),\r\n}, [['title', 'description', 'type', 'primaryButtonText', 'secondaryButtonActionText']]);","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-return-await */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable prefer-const */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, {\r\n useState,\r\n useEffect,\r\n useRef\r\n} from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport ReactQuill, { Quill } from 'react-quill';\r\nimport ImageResize from 'quill-image-resize-module-react';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Image from '../../../../components/Image';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\nimport SelectablePreview from '../../../../components/SelectablePreview';\r\n// ASSETS\r\nimport ContentSectionDefaultImage from '../../../../assets/img/content-section_default.svg';\r\nimport ContentSectionReversedImage from '../../../../assets/img/content-section_reversed.svg';\r\nimport ContentSectionFulWidthImage from '../../../../assets/img/content-section_full-width.svg';\r\nimport ContentSectionFulWidthPaddedImage from '../../../../assets/img/content-section_full-width-padded.svg';\r\nimport ContentSectionTextOnlyImage from '../../../../assets/img/content-section_text-only.svg';\r\nimport ContentSectionFloatingCardImage from '../../../../assets/img/content-section_floating-card.svg';\r\nimport DynamicBannerSectionImage from '../../../../assets/img/banner-section_dynamic.svg';\r\nimport CustomSectionImage from '../../../../assets/img/content-section_custom.svg';\r\n// SERVICES AND HELPERS\r\nimport constants from '../../../../constants/constants';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport ContentSectionValidator from '../../../../helpers/validators/cms/contentSection/ContentSectionValidator';\r\nimport * as contentSectionService from '../../../../services/cms/contentSectionService';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nQuill.register('modules/imageResize', ImageResize);\r\n\r\nconst initialContentSectionModel = {\r\n id: 0,\r\n pageId: 0,\r\n bannerId: 0,\r\n name: '',\r\n rawHTML: '',\r\n type: constants.CONTENT_SECTION.ContentSectionTypeDefault,\r\n isActive: true,\r\n title: '',\r\n description: '',\r\n alignment: 'LEFT',\r\n imagePath: '',\r\n image: null,\r\n isPadded: false,\r\n isFloatingCard: false,\r\n hasRoundedCorners: false,\r\n isTextOnly: false,\r\n primaryButtonText: '',\r\n primarButtonLink: '',\r\n primaryButtonActionType: null,\r\n secondaryButtonText: '',\r\n secondaryButtonLink: '',\r\n secondaryButtonActionType: null,\r\n};\r\n\r\n/*\r\nORIGINAL MODULES OBJECT\r\nconst modules = {\r\n toolbar: [\r\n [{ header: '1' }, { header: '2' }, { font: [] }],\r\n [{ size: [] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [\r\n { list: 'ordered' },\r\n { list: 'bullet' },\r\n { indent: '-1' },\r\n { indent: '+1' }\r\n ],\r\n ['link', 'image', 'video'],\r\n ['clean'],\r\n ],\r\n clipboard: { matchVisual: false },\r\n imageResize: {\r\n parchment: Quill.import('parchment'),\r\n modules: ['Resize', 'DisplaySize']\r\n },\r\n};\r\n*/\r\n\r\nconst format = [\r\n 'header',\r\n 'font',\r\n 'size',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'blockquote',\r\n 'list',\r\n 'bullet',\r\n 'indent',\r\n 'link',\r\n 'image',\r\n 'video',\r\n 'width',\r\n 'height',\r\n 'style',\r\n];\r\n\r\nconst linkTypes = [\r\n { value: constants.CONTENT_SECTION.ButtonActionTypePage, label: 'Page' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypeLink, label: 'Link (New Tab)' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypePhoneNumber, label: 'Phone Number' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypeEmail, label: 'Email Address' },\r\n];\r\n\r\nconst alignmentOptions = [\r\n { value: constants.CONTENT_SECTION.LeftAlignment, label: 'Left (Default)' },\r\n { value: constants.CONTENT_SECTION.CenterAlignment, label: 'Center' },\r\n { value: constants.CONTENT_SECTION.RightAlignment, label: 'Right' },\r\n];\r\n\r\nconst components = [\r\n {\r\n id: 0,\r\n title: 'Custom',\r\n image: CustomSectionImage,\r\n type: constants.CONTENT_SECTION.ContentSectionCustom\r\n },\r\n {\r\n id: 1,\r\n title: 'Content Section (Default)',\r\n image: ContentSectionDefaultImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeDefault\r\n },\r\n {\r\n id: 2,\r\n title: 'Content Section (Reversed)',\r\n image: ContentSectionReversedImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeReversed\r\n },\r\n {\r\n id: 3,\r\n title: 'Content Section Full Width',\r\n image: ContentSectionFulWidthImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeFullWidth\r\n },\r\n {\r\n id: 4,\r\n title: 'Content Section Full Width (Padded)',\r\n image: ContentSectionFulWidthPaddedImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeFullWidthPadded\r\n },\r\n {\r\n id: 5,\r\n title: 'Content Section (Text Only)',\r\n image: ContentSectionTextOnlyImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeTextOnly\r\n },\r\n {\r\n id: 6,\r\n title: 'Content Card',\r\n image: ContentSectionFloatingCardImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeCard\r\n },\r\n {\r\n id: 7,\r\n title: 'Content Banner',\r\n image: DynamicBannerSectionImage,\r\n type: constants.CONTENT_SECTION.ContentSectionTypeBanner\r\n },\r\n];\r\n\r\nconst ContentSectionManagementPage = (props) => {\r\n const { showAlert, history } = props;\r\n const { contentSectionId, pageId, blogId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [contentSectionModel, setContentSectionModel] = useState({\r\n ...initialContentSectionModel,\r\n pageId: pageId || 0,\r\n blogId: blogId || 0\r\n });\r\n const [alignment, setAlignment] = useState([{ label: 'Left (Default)', value: 'LEFT' }]);\r\n const [primaryActionType, setPrimaryActionType] = useState(null);\r\n const [secondaryActionType, setSecondaryActionType] = useState(null);\r\n const [file, setFile] = useState([]);\r\n const quillRef = useRef(null);\r\n const [modules, setModules] = useState({\r\n toolbar: {\r\n container: [\r\n [{ header: '1' }, { header: '2' }, { font: [] }],\r\n [{ size: [] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { indent: '-1' }, { indent: '+1' }],\r\n ['link', 'image', 'video'],\r\n ['clean']\r\n ],\r\n handlers: {} // INITIALLY EMPTY, TO BE UPDATED VIA USE EFFECT\r\n },\r\n clipboard: { matchVisual: false },\r\n imageResize: {\r\n parchment: Quill.import('parchment'),\r\n modules: ['Resize', 'DisplaySize']\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n const imageHandler = () => {\r\n const input = document.createElement('input');\r\n input.setAttribute('type', 'file');\r\n input.setAttribute('accept', 'image/svg+xml, image/png, image/jpeg');\r\n input.click();\r\n\r\n input.onchange = async () => {\r\n const file = input.files[0];\r\n if (file) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n const quillEditor = quillRef.current.getEditor();\r\n const range = quillEditor.getSelection();\r\n const index = range ? range.index : quillEditor.getLength();\r\n quillEditor.insertEmbed(index, 'image', e.target.result);\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n };\r\n };\r\n\r\n // Update the modules state\r\n setModules((prevModules) => ({\r\n ...prevModules,\r\n toolbar: {\r\n ...prevModules.toolbar,\r\n handlers: { ...prevModules.toolbar.handlers, image: imageHandler }\r\n }\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (contentSectionId > 0) {\r\n getContentSection();\r\n }\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: contentSectionModel,\r\n validationSchema: ContentSectionValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (contentSectionId) {\r\n updateContentSection(values);\r\n } else {\r\n createContentSection(values);\r\n }\r\n },\r\n });\r\n\r\n const getContentSection = async () => {\r\n setIsLoading(true);\r\n\r\n contentSectionService.getContentSectionById(contentSectionId).then((res) => {\r\n setContentSectionModel(res);\r\n fillSelectedOptions(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fillSelectedOptions = (res) => {\r\n let selectedAlignment = alignmentOptions.find((x) => x.value === res.alignment);\r\n let selectedPrimaryActionType = linkTypes.find((x) => x.value === res.primaryButtonActionType);\r\n let selectedSecondaryActionType = linkTypes.find((x) => x.value === res.secondaryButtonActionType);\r\n\r\n if (selectedAlignment) {\r\n setAlignment(selectedAlignment);\r\n }\r\n\r\n if (selectedPrimaryActionType) {\r\n setPrimaryActionType(selectedPrimaryActionType);\r\n }\r\n\r\n if (selectedSecondaryActionType) {\r\n setSecondaryActionType(selectedSecondaryActionType);\r\n }\r\n };\r\n\r\n const createContentSection = (model) => {\r\n if (file.length === 0 && ![constants.CONTENT_SECTION.ContentSectionTypeTextOnly, constants.CONTENT_SECTION.ContentSectionCustom].includes(formik.values.type)) {\r\n showAlert({ text: 'Error! Please upload an image', state: 'warning' });\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n\r\n contentSectionService.createContentSection(helper.convertJsonToFormData(\r\n {\r\n ...model,\r\n image: file.length > 0 ? file[0].file : null\r\n }\r\n )).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n if (model.blogId > 0) {\r\n history.push(`/cms/management/blog/edit/${model.blogId}`);\r\n } else if (model.pageId > 0) {\r\n history.push(`/cms/management/page/edit/${model.pageId}`);\r\n } else {\r\n history.push(`/cms/management/content-section/edit/${res.id}`);\r\n }\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateContentSection = (model) => {\r\n setIsLoading(true);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, image: file[0].file };\r\n }\r\n contentSectionService.updateContentSection(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/content-sections');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const showOrHideFields = (type) => {\r\n let floatingCardProp = false;\r\n let isTextOnlyProp = false;\r\n let isPaddedProp = false;\r\n let alignmentProp = 'LEFT';\r\n\r\n switch (type) {\r\n case constants.CONTENT_SECTION.ContentSectionTypeDefault:\r\n setAlignment({ label: 'Left (Default)', value: 'LEFT' });\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeReversed:\r\n setAlignment({ label: 'Right', value: 'RIGHT' });\r\n alignmentProp = 'RIGHT';\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidth:\r\n case constants.CONTENT_SECTION.ContentSectionTypeBanner:\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidthPadded:\r\n isPaddedProp = true;\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeTextOnly:\r\n isTextOnlyProp = true;\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeCard:\r\n floatingCardProp = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n formik.setFieldValue('isFloatingCard', floatingCardProp);\r\n formik.setFieldValue('isTextOnly', isTextOnlyProp);\r\n formik.setFieldValue('isPadded', isPaddedProp);\r\n formik.setFieldValue('alignment', alignmentProp);\r\n };\r\n\r\n /*\r\n const modules = {\r\n toolbar: {\r\n container: [\r\n [{ header: '1' }, { header: '2' }, { font: [] }],\r\n [{ size: [] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { indent: '-1' }, { indent: '+1' }],\r\n ['link', 'image', 'video'],\r\n ['clean']\r\n ],\r\n handlers: { image: imageHandler }\r\n },\r\n clipboard: { matchVisual: false },\r\n imageResize: {\r\n parchment: Quill.import('parchment'),\r\n modules: ['Resize', 'DisplaySize']\r\n },\r\n };\r\n\r\n const imageHandler = () => {\r\n const input = document.createElement('input');\r\n input.setAttribute('type', 'file');\r\n input.setAttribute('accept', 'image/svg+xml, image/png, image/jpeg');\r\n input.click();\r\n \r\n input.onchange = async () => {\r\n const file = input.files[0];\r\n if (file) {\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n const quillEditor = quillRef.current.getEditor();\r\n const range = quillEditor.getSelection();\r\n const index = range ? range.index : quillEditor.getLength();\r\n quillEditor.insertEmbed(index, 'image', e.target.result);\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n };\r\n };\r\n */\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n components.map((item) => (\r\n {\r\n formik.setFieldValue('type', item.type);\r\n showOrHideFields(item.type);\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {/* BASIC INFORMATION */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {\r\n formik.values.type !== constants.CONTENT_SECTION.ContentSectionCustom\r\n && (\r\n <>\r\n {/* CONTENT DETAILS */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n setAlignment(opt);\r\n formik.setFieldValue('alignment', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n formik.values.type !== constants.CONTENT_SECTION.ContentSectionTypeTextOnly\r\n && (\r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {\r\n formik.values.id === 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 )\r\n }\r\n\r\n \r\n\r\n {/* ACTIONS */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n formik.setFieldTouched('primaryButtonActionType', true)}\r\n value={primaryActionType}\r\n onChange={(opt) => {\r\n opt = opt === null ? [] : opt;\r\n setPrimaryActionType(opt);\r\n formik.setFieldValue('primaryButtonActionType', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n formik.setFieldTouched('secondaryButtonActionType', true)}\r\n value={secondaryActionType}\r\n onChange={(opt) => {\r\n opt = opt === null ? [] : opt;\r\n setSecondaryActionType(opt);\r\n formik.setFieldValue('secondaryButtonActionType', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n }\r\n\r\n {\r\n formik.values.type === constants.CONTENT_SECTION.ContentSectionCustom\r\n && (\r\n \r\n \r\n \r\n \r\n \r\n {\r\n formik.setFieldValue('rawHTML', val);\r\n }}\r\n modules={modules}\r\n formats={format}\r\n />\r\n \r\n \r\n )\r\n }\r\n\r\n {/* PAGE ACTIONS */}\r\n {\r\n history.goBack();\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(ContentSectionManagementPage);","export default __webpack_public_path__ + \"static/media/banner-section.bd810172.svg\";","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Banner Name is required').max(150),\r\n});","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n type: Yup.string().required(),\r\n title: Yup.string().nullable().max(1000),\r\n name: Yup.string().nullable().max(1000),\r\n description: Yup.string().nullable(),\r\n alignment: Yup.string().required(),\r\n imagePath: Yup.string(),\r\n isPadded: Yup.bool(),\r\n isFloatingCard: Yup.bool(),\r\n hasRoundedCorners: Yup.bool(),\r\n isActive: Yup.bool(),\r\n isTextOnly: Yup.bool(),\r\n primaryButtonText: Yup.string().nullable().max(50),\r\n primaryButtonActionType: Yup.string().nullable().when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Type is required')\r\n }),\r\n primaryButtonLink: Yup.string().nullable().max(500).when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Link is required')\r\n }),\r\n secondaryButtonText: Yup.string().nullable().max(50),\r\n secondaryButtonActionType: Yup.string().nullable().when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Type is required')\r\n }),\r\n secondaryButtonLink: Yup.string().nullable().max(500).when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Link is required')\r\n }),\r\n}, [['type', 'primaryButtonText', 'secondaryButtonActionText']]);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'BannerItem/';\r\n\r\nconst getBannerItemById = async (bannerItemId) => axiosInstance.get(`${ENDPOINTORIGIN}GetBannerItemById?bannerItemId=${bannerItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createBannerItem = async (bannerItem) => axiosInstance.post(`${ENDPOINTORIGIN}CreateBannerItem`, bannerItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateBannerItem = async (bannerItem) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateBannerItem`, bannerItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteBannerItem = async (bannerItemId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteBannerItem?id=${bannerItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortBannerItems = async (bannerItems) => axiosInstance.put(`${ENDPOINTORIGIN}SortBannerItems`, bannerItems, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getBannerItemById,\r\n createBannerItem,\r\n updateBannerItem,\r\n deleteBannerItem,\r\n sortBannerItems\r\n};","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-return-await */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable prefer-const */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable object-shorthand */\r\n/* eslint-disable no-return-assign */\r\n/* eslint-disable react/no-this-in-sfc */\r\n/* eslint-disable no-const-assign */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Image from '../../../../components/Image';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Button from '../../../../components/Button';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\nimport SelectablePreview from '../../../../components/SelectablePreview';\r\n// ASSETS\r\nimport DynamicBannerSectionImage from '../../../../assets/img/banner-section.svg';\r\n// SERVICES AND HELPERS\r\nimport constants from '../../../../constants/constants';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport BannerValidator from '../../../../helpers/validators/cms/banner/BannerValidator';\r\nimport BannerItemValidator from '../../../../helpers/validators/cms/banner/BannerItemValidator';\r\nimport * as bannerService from '../../../../services/cms/bannerService';\r\nimport * as bannerItemService from '../../../../services/cms/bannerItemService';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialBannerModel = {\r\n id: 0,\r\n pageId: 0,\r\n bannerId: 0,\r\n name: '',\r\n isActive: true,\r\n bannerItems: []\r\n};\r\n\r\nconst linkTypes = [\r\n { value: constants.CONTENT_SECTION.ButtonActionTypePage, label: 'Page' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypeLink, label: 'Link (New Tab)' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypePhoneNumber, label: 'Phone Number' },\r\n { value: constants.CONTENT_SECTION.ButtonActionTypeEmail, label: 'Email Address' },\r\n];\r\n\r\nconst alignmentOptions = [\r\n { value: constants.CONTENT_SECTION.LeftAlignment, label: 'Left (Default)' },\r\n { value: constants.CONTENT_SECTION.CenterAlignment, label: 'Center' },\r\n { value: constants.CONTENT_SECTION.RightAlignment, label: 'Right' },\r\n];\r\n\r\nconst components = [\r\n {\r\n id: 1,\r\n title: 'Banner',\r\n image: DynamicBannerSectionImage,\r\n type: constants.CONTENT_SECTION.BannerDynamicBanner\r\n },\r\n];\r\n\r\nconst BannerManagementPage = (props) => {\r\n const { showAlert, history, showConfirmModal, hideConfirmModal } = props;\r\n const { bannerId, pageId, blogId } = useParams();\r\n const filePondRef = useRef(null);\r\n const initialBannerItemModel = {\r\n id: 0,\r\n bannerId: bannerId,\r\n isActive: true,\r\n type: constants.CONTENT_SECTION.ContentSectionDynamicBanner,\r\n title: '',\r\n name: '',\r\n description: '',\r\n alignment: 'LEFT',\r\n imagePath: '',\r\n image: null,\r\n isPadded: false,\r\n isFloatingCard: false,\r\n hasRoundedCorners: false,\r\n isTextOnly: false,\r\n primaryButtonText: '',\r\n primaryButtonLink: '',\r\n primaryButtonActionType: null,\r\n secondaryButtonText: '',\r\n secondaryButtonLink: '',\r\n secondaryButtonActionType: null,\r\n };\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [bannerModel, setBannerModel] = useState({\r\n ...initialBannerModel,\r\n pageId: pageId || 0,\r\n blogId: blogId || 0\r\n });\r\n const [bannerItemModel, setBannerItemModel] = useState(initialBannerItemModel);\r\n const [alignment, setAlignment] = useState([{ label: 'Left (Default)', value: 'LEFT' }]);\r\n const [primaryActionType, setPrimaryActionType] = useState(null);\r\n const [secondaryActionType, setSecondaryActionType] = useState(null);\r\n const [file, setFile] = useState([]);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [sortList, setSortList] = useState([]);\r\n\r\n useEffect(() => {\r\n if (bannerId > 0) {\r\n getBanner();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSortList(bannerModel.bannerItems.sort((a, b) => a - b));\r\n }, [bannerModel.bannerItems]);\r\n\r\n const formik = useFormik({\r\n initialValues: bannerModel,\r\n validationSchema: BannerValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (bannerId) {\r\n updateBanner(values);\r\n } else {\r\n createBanner(values);\r\n }\r\n },\r\n });\r\n\r\n const formik_bannerItem = useFormik({\r\n initialValues: bannerItemModel,\r\n validationSchema: BannerItemValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (values.id > 0) {\r\n updateBannerItem(values);\r\n } else {\r\n createBannerItem(values);\r\n }\r\n },\r\n });\r\n\r\n const getBanner = async () => {\r\n setIsLoading(true);\r\n\r\n bannerService.getBannerById(bannerId).then((res) => {\r\n setBannerModel(res);\r\n fillSelectedOptions(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fillSelectedOptions = (res) => {\r\n let selectedAlignment = alignmentOptions.find((x) => x.value === res.alignment);\r\n let selectedPrimaryActionType = linkTypes.find((x) => x.value === res.primaryButtonActionType);\r\n let selectedSecondaryActionType = linkTypes.find((x) => x.value === res.secondaryButtonActionType);\r\n\r\n if (selectedAlignment) {\r\n setAlignment(selectedAlignment);\r\n }\r\n\r\n if (selectedPrimaryActionType) {\r\n setPrimaryActionType(selectedPrimaryActionType);\r\n }\r\n\r\n if (selectedSecondaryActionType) {\r\n setSecondaryActionType(selectedSecondaryActionType);\r\n }\r\n };\r\n\r\n const createBanner = (model) => {\r\n setIsLoading(true);\r\n\r\n bannerService.createBanner(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push(`/cms/management/banner/edit/${res.id}`);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateBanner = (model) => {\r\n setIsLoading(true);\r\n\r\n bannerService.updateBanner(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/content-sections');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const createBannerItem = (model) => {\r\n if (file.length === 0) {\r\n showAlert({ text: 'Error! Please upload an image', state: 'warning' });\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n bannerItemService.createBannerItem(helper.convertJsonToFormData(\r\n {\r\n ...model,\r\n image: file.length > 0 ? file[0].file : null\r\n }\r\n )).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n resetBannerItemForm();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateBannerItem = (model) => {\r\n setIsLoading(true);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, image: file[0].file };\r\n }\r\n bannerItemService.updateBannerItem(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n resetBannerItemForm();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const resetBannerItemForm = () => {\r\n getBanner();\r\n resetBannerItemEditFormFields();\r\n };\r\n\r\n const resetBannerItemEditFormFields = () => {\r\n setBannerItemModel(initialBannerItemModel);\r\n formik_bannerItem.resetForm();\r\n filePondRef.current.removeFiles();\r\n setPrimaryActionType(null);\r\n setSecondaryActionType(null);\r\n };\r\n\r\n const removeBannerItem = (id) => {\r\n bannerItemService.deleteBannerItem(id).then((res) => {\r\n hideConfirmModal();\r\n showAlert({ text: res.message, state: 'success' });\r\n resetBannerItemForm();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const sortBannerItems = () => {\r\n setIsLoading(true);\r\n\r\n bannerItemService.sortBannerItems(sortList).then((res) => {\r\n getBanner();\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n resetBannerItemEditFormFields();\r\n setTimeout(() => {\r\n setBannerItemModel(bannerModel.bannerItems[dataIndex]);\r\n fillSelectedOptions(bannerModel.bannerItems[dataIndex]);\r\n }, 0);\r\n }}\r\n />\r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Item',\r\n text: 'Are you sure you want to remove this banner item?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n removeBannerItem(bannerModel.bannerItems[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n },\r\n },\r\n {\r\n name: 'title',\r\n label: 'Title',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n },\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n customBodyRenderLite: (dataIndex) => {\r\n const { isActive } = bannerModel.bannerItems[dataIndex];\r\n\r\n return (\r\n

{isActive ? 'Yes' : 'No'}

\r\n );\r\n }\r\n },\r\n }\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n components.map((item) => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* BASIC INFORMATION */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n bannerId > 0\r\n && (\r\n <>\r\n {/* BANNER ITEM DETAILS */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n setAlignment(opt);\r\n formik_bannerItem.setFieldValue('alignment', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {\r\n formik_bannerItem.values.id === 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 {/* ACTIONS */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n formik_bannerItem.setFieldTouched('primaryButtonActionType', true)}\r\n value={primaryActionType}\r\n onChange={(opt) => {\r\n opt = opt === null ? [] : opt;\r\n setPrimaryActionType(opt);\r\n formik_bannerItem.setFieldValue('primaryButtonActionType', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n formik_bannerItem.setFieldTouched('secondaryButtonActionType', true)}\r\n value={secondaryActionType}\r\n onChange={(opt) => {\r\n opt = opt === null ? [] : opt;\r\n setSecondaryActionType(opt);\r\n formik_bannerItem.setFieldValue('secondaryButtonActionType', opt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n setIsSortModalOpen(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 {/* PAGE ACTIONS */}\r\n history.push('/cms/management/content-sections')}\r\n optionalActionText=\"Go to HomePage\"\r\n optionalActionTo=\"/home\"\r\n />\r\n \r\n \r\n \r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n {\r\n sortList.length > 0\r\n ? (\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.title}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n

No Items Available

\r\n
\r\n )\r\n }\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(BannerManagementPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Asset/';\r\n\r\nconst getAsset = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAsset`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateAsset = async (menuItem) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateAsset`, menuItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAsset,\r\n updateAsset\r\n};","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n companyName: Yup.string().required('Company Name is required').max(250),\r\n emailAddress: Yup.string().email().required('Email is required').max(150),\r\n phoneNumber: Yup.string().nullable().max(20),\r\n streetAddress1: Yup.string().nullable().max(150),\r\n streetAddress2: Yup.string().nullable().max(150),\r\n city: Yup.string().nullable().max(100),\r\n state: Yup.string().nullable().max(20),\r\n zipCode: Yup.string().nullable().max(10),\r\n primaryWeekDayHours: Yup.string().nullable().max(150),\r\n primaryWeekEndHours: Yup.string().nullable().max(150),\r\n secondaryWeekDayHours: Yup.string().nullable().max(150),\r\n secondaryWeekEndHours: Yup.string().nullable().max(150),\r\n facebookLink: Yup.string().nullable().max(500),\r\n instagramLink: Yup.string().nullable().max(500),\r\n twitterLink: Yup.string().nullable().max(500),\r\n linkedInLink: Yup.string().nullable().max(500),\r\n tiktokLink: Yup.string().nullable().max(500),\r\n youtubeLink: Yup.string().nullable().max(500),\r\n googleMapLink: Yup.string().nullable().max(500),\r\n appStoreLink: Yup.string().nullable().max(500),\r\n googlePlayStoreLink: Yup.string().nullable().max(500),\r\n googleAnalyticsId: Yup.string().nullable().max(500),\r\n});","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport Button from '../../../../components/Button';\r\nimport Image from '../../../../components/Image';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as assetService from '../../../../services/cms/assetService';\r\nimport AssetValidator from '../../../../helpers/validators/cms/asset/AssetValidator';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialAssetModel = {\r\n companyLogo: null,\r\n companyLogoPath: '',\r\n companyIcon: null,\r\n companyIconPath: '',\r\n companyName: '',\r\n emailAddress: '',\r\n phoneNumber: '',\r\n streetAddress1: '',\r\n streetAddress2: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n primaryWeekDayHours: '',\r\n primaryWeekEndHours: '',\r\n secondaryWeekDayHours: '',\r\n secondaryWeekEndHours: '',\r\n facebookLink: '',\r\n instagramLink: '',\r\n twitterLink: '',\r\n linkedInLink: '',\r\n youtubeLink: '',\r\n tiktokLink: '',\r\n googleMapLink: '',\r\n appStoreLink: '',\r\n googlePlayStoreLink: '',\r\n googleAnalyticsLink: '',\r\n seo: '',\r\n facebookPixelCode: ''\r\n};\r\n\r\nconst AssetsAndResourcesPage = (props) => {\r\n const { showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [assetModel, setAsset] = useState(initialAssetModel);\r\n const [logoFile, setLogoFile] = useState([]);\r\n const [iconFile, setIconFile] = useState([]);\r\n const logoRef = useRef(null);\r\n const iconRef = useRef(null);\r\n\r\n useEffect(() => {\r\n fetchAssets();\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: assetModel,\r\n validationSchema: AssetValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n saveAsset(values);\r\n },\r\n });\r\n\r\n const fetchAssets = () => {\r\n setIsLoading(true);\r\n\r\n assetService.getAsset().then((res) => {\r\n setAsset(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const saveAsset = (model) => {\r\n setIsLoading(true);\r\n\r\n if (logoFile.length > 0) {\r\n model = { ...model, companyLogo: logoFile[0].file };\r\n }\r\n if (iconFile.length > 0) {\r\n model = { ...model, companyIcon: iconFile[0].file };\r\n }\r\n assetService.updateAsset(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchAssets();\r\n setLogoFile([]);\r\n setIconFile([]);\r\n logoRef.current.removeFiles();\r\n iconRef.current.removeFiles();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n {/* RESOURCES */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* BASIC INFORMATION */}\r\n
\r\n \r\n \r\n \r\n\r\n {/* CONTACT DETAILS */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* LOCATION */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* HOURS */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n {/* SOCIAL MEDIA AND LINKS */}\r\n
\r\n \r\n \r\n \r\n\r\n {/* SOCIAL MEDIA AND OTHER LINKS */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {/* SEO TOOLS */}\r\n
\r\n \r\n \r\n \r\n\r\n {/* SEO ITEMS */}\r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n
\r\n\r\n {/* FIXED ACTIONS BAR */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(AssetsAndResourcesPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'FooterItem/';\r\n\r\nconst getAllFooterItems = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllFooterItems`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getFooterItemById = async (footerItemId) => axiosInstance.get(`${ENDPOINTORIGIN}GetFooterItemById?footerItemId=${footerItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createFooterItem = async (footerItem) => axiosInstance.post(`${ENDPOINTORIGIN}CreateFooterItem`, footerItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateFooterItem = async (footerItem) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateFooterItem`, footerItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteFooterItem = async (footerItemId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteFooterItem?footerItemId=${footerItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortFooterItems = async (sortOrders) => axiosInstance.put(`${ENDPOINTORIGIN}SortFooterItems`, sortOrders, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllFooterItems,\r\n getFooterItemById,\r\n createFooterItem,\r\n updateFooterItem,\r\n deleteFooterItem,\r\n sortFooterItems\r\n};","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n label: Yup.string().required('Footer label is required').max(250),\r\n to: Yup.string().required('Link is required').max(500),\r\n});","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Button from '../../../../components/Button';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\n// SERVICES AND HELPERS\r\nimport * as footerItemService from '../../../../services/cms/footerItemService';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport FooterItemValidator from '../../../../helpers/validators/cms/footerItem/FooterItemValidator';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialFooterItemModel = {\r\n id: 0,\r\n label: '',\r\n to: '',\r\n};\r\n\r\nconst FooterItemListingPage = (props) => {\r\n const { showAlert, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [footerItems, setFooterItems] = useState([]);\r\n const [sortList, setSortList] = useState([]);\r\n const [footerItemModel, setFooterItemModel] = useState(initialFooterItemModel);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getFooterItems();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSortList(footerItems.sort((a, b) => a - b));\r\n }, [footerItems]);\r\n\r\n const formik = useFormik({\r\n initialValues: footerItemModel,\r\n validationSchema: FooterItemValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (values.id === 0) {\r\n createFooterItem(values);\r\n } else {\r\n updateFooterItem(values);\r\n }\r\n },\r\n });\r\n\r\n const createFooterItem = (model) => {\r\n setIsLoading(true);\r\n footerItemService.createFooterItem(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getFooterItems();\r\n closeFooterItemModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const updateFooterItem = (model) => {\r\n setIsLoading(true);\r\n\r\n footerItemService.updateFooterItem(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getFooterItems();\r\n closeFooterItemModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getFooterItem = (id) => {\r\n setIsLoading(true);\r\n footerItemService.getFooterItemById(id).then((res) => {\r\n setFooterItemModel(res);\r\n setIsModalVisible(true);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getFooterItems = () => {\r\n setIsLoading(true);\r\n footerItemService.getAllFooterItems().then((res) => {\r\n setFooterItems(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const closeFooterItemModal = () => {\r\n setIsModalVisible(false);\r\n setTimeout(() => {\r\n formik.resetForm();\r\n setFooterItemModel(initialFooterItemModel);\r\n }, 250);\r\n };\r\n\r\n const deleteFooterItem = (footerItemId) => {\r\n setIsLoading(true);\r\n\r\n footerItemService.deleteFooterItem(footerItemId).then((res) => {\r\n getFooterItems();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const sortFooterItems = () => {\r\n setIsLoading(true);\r\n\r\n footerItemService.sortFooterItems(sortList).then((res) => {\r\n getFooterItems();\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: true,\r\n print: false,\r\n jumpToPage: true,\r\n textLabels: { pagination: { jumpToPage: 'Page No:' } }\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n getFooterItem(footerItems[dataIndex].id)}\r\n />\r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Footer Item',\r\n text: 'Are you sure you want to remove this menu item?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteFooterItem(footerItems[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'label',\r\n label: 'Label',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'to',\r\n label: 'Link To',\r\n options: columnOptions\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonOnClick={() => setIsModalVisible(true)}\r\n secondaryButtonText=\"Sort Items\"\r\n secondaryButtonOnClick={() => setIsSortModalOpen(true)}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.label}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n\r\n {/* VIEW/UPDATE MODAL */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(FooterItemListingPage);","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n// import Image from './Image';\r\nimport TextBlock from './TextBlock';\r\nimport Button from './Button';\r\n\r\nconst ContentSection = (props) => {\r\n const {\r\n backgroundColor,\r\n title,\r\n titleColor,\r\n description,\r\n descriptionColor,\r\n cardBackgroundColor,\r\n imageSource,\r\n primaryActionText,\r\n primaryActionColor,\r\n primaryActionTo,\r\n primaryActionOnClick,\r\n secondaryActionText,\r\n secondaryActionColor,\r\n secondaryActionTo,\r\n secondaryActionOnClick,\r\n isPrimaryActionTargetBlank,\r\n isSecondaryActionTargetBlank,\r\n isReversed,\r\n isCentered,\r\n isTitleUppercase,\r\n hasRoundCorners,\r\n hasCardBackgroundImage,\r\n isTextOnly,\r\n isFloatingCard,\r\n isFullWidth,\r\n isFullWidthUnpadded,\r\n } = props;\r\n\r\n const openInNewTab = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n return (\r\n \r\n {\r\n (!isTextOnly && !isFloatingCard)\r\n && (\r\n \r\n \r\n {/* */}\r\n \r\n )\r\n }\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n {\r\n (primaryActionText !== '' && primaryActionText !== null)\r\n && (\r\n openInNewTab(primaryActionTo) : primaryActionOnClick}\r\n />\r\n )\r\n }\r\n\r\n {\r\n (secondaryActionText !== '' && secondaryActionText !== null)\r\n && (\r\n openInNewTab(secondaryActionTo) : secondaryActionOnClick}\r\n />\r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nContentSection.propTypes = {\r\n // MAIN PROPS\r\n backgroundColor: PropTypes.string,\r\n cardBackgroundColor: PropTypes.string,\r\n\r\n // IMAGE PROPS\r\n imageSource: PropTypes.number.isRequired,\r\n\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n titleColor: PropTypes.string,\r\n\r\n // DESCRIPTION PROPS\r\n description: PropTypes.string,\r\n descriptionColor: PropTypes.string,\r\n\r\n // ACTION PROPS\r\n primaryActionText: PropTypes.string,\r\n primaryActionColor: PropTypes.string,\r\n primaryActionTo: PropTypes.string,\r\n primaryActionOnClick: PropTypes.func,\r\n\r\n secondaryActionText: PropTypes.string,\r\n secondaryActionColor: PropTypes.string,\r\n secondaryActionTo: PropTypes.string,\r\n secondaryActionOnClick: PropTypes.func,\r\n\r\n // FUNCTION PROPS\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryActionTargetBlank: PropTypes.bool,\r\n isSecondaryActionTargetBlank: PropTypes.bool,\r\n isReversed: PropTypes.bool,\r\n isCentered: PropTypes.bool,\r\n isTitleUppercase: PropTypes.bool,\r\n hasRoundCorners: PropTypes.bool,\r\n hasCardBackgroundImage: PropTypes.bool,\r\n isTextOnly: PropTypes.bool,\r\n isFloatingCard: PropTypes.bool,\r\n isFullWidth: PropTypes.bool,\r\n isFullWidthUnpadded: PropTypes.bool,\r\n};\r\n\r\nContentSection.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: '',\r\n cardBackgroundColor: '',\r\n\r\n // IMAGE PROPS\r\n\r\n // TITLE PROPS\r\n titleColor: 'primary--clr',\r\n\r\n // DESCRIPTION PROPS\r\n description: '',\r\n descriptionColor: 'dark--clr',\r\n\r\n // ACTION PROPS\r\n primaryActionText: '',\r\n primaryActionColor: 'primary--bg',\r\n primaryActionTo: '',\r\n primaryActionOnClick: null,\r\n\r\n secondaryActionText: '',\r\n secondaryActionColor: 'secondary--bg',\r\n secondaryActionTo: '',\r\n secondaryActionOnClick: null,\r\n\r\n // FUNCTION PROPS\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryActionTargetBlank: false,\r\n isSecondaryActionTargetBlank: false,\r\n isReversed: false,\r\n isCentered: false,\r\n isTitleUppercase: false,\r\n hasRoundCorners: false,\r\n hasCardBackgroundImage: false,\r\n isTextOnly: false,\r\n isFloatingCard: false,\r\n isFullWidth: false,\r\n isFullWidthUnpadded: false,\r\n};\r\n\r\nexport default ContentSection;","/* eslint-disable object-shorthand */\r\n/* eslint-disable import/no-unresolved */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport ContentSection from './ContentSection';\r\n\r\nconst Banner = (props) => {\r\n const {\r\n bannerBackgroundColor,\r\n title,\r\n titleColor,\r\n description,\r\n descriptionColor,\r\n imageSource,\r\n titlePosition,\r\n isDynamicBanner,\r\n isTitleUppercase,\r\n offset,\r\n className,\r\n primaryActionColor\r\n } = props;\r\n\r\n const textPositions = {\r\n left: 'left',\r\n center: 'center',\r\n right: 'right'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBanner.propTypes = {\r\n // MAIN PROPS\r\n imageSource: PropTypes.number.isRequired,\r\n titlePosition: PropTypes.string,\r\n bannerBackgroundColor: PropTypes.string,\r\n\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n titleColor: PropTypes.string,\r\n\r\n // DESCRIPTION PROPS\r\n description: PropTypes.string,\r\n descriptionColor: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isDynamicBanner: PropTypes.bool,\r\n isTitleUppercase: PropTypes.bool,\r\n};\r\n\r\nBanner.defaultProps = {\r\n // MAIN PROPS\r\n description: '',\r\n titlePosition: 'center',\r\n bannerBackgroundColor: '#213c63',\r\n\r\n // TITLE PROPS\r\n titleColor: 'white--clr',\r\n\r\n // DESCRIPTION PROPS\r\n descriptionColor: 'white--clr',\r\n\r\n // BOOLEAN PROPS\r\n isDynamicBanner: false,\r\n isTitleUppercase: false,\r\n};\r\n\r\nexport default Banner;","/* eslint-disable no-param-reassign */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Section from './Section';\r\nimport ContentBlock from './ContentBlock';\r\nimport FormBlock from './FormBlock';\r\nimport ContentHeader from './ContentHeader';\r\nimport InputBlock from './InputBlock';\r\nimport Button from './Button';\r\nimport TextAreaBlock from './TextAreaBlock';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../helpers/helper';\r\n\r\nconst ContactForm = ({ formConfig, onSubmit, title }) => {\r\n const formik = useFormik({\r\n initialValues: formConfig.reduce((prev, curr) => {\r\n prev[curr.name] = '';\r\n return prev;\r\n }, {}),\r\n validationSchema: Yup.object(\r\n formConfig.reduce((prev, curr) => {\r\n let validator = Yup.string();\r\n if (curr.required) {\r\n validator = validator.required(`${curr.label} is required`);\r\n }\r\n if (curr.max) {\r\n validator = validator.max(curr.max);\r\n }\r\n if (curr.email) {\r\n validator = validator.email();\r\n }\r\n prev[curr.name] = validator;\r\n return prev;\r\n }, {})\r\n ),\r\n onSubmit,\r\n });\r\n\r\n return (\r\n \r\n \r\n
\r\n {formConfig.map((field) => (\r\n \r\n {field.textarea ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nContactForm.propTypes = {\r\n showAlert: PropTypes.func,\r\n onSubmit: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n formConfig: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n required: PropTypes.bool,\r\n max: PropTypes.number,\r\n email: PropTypes.bool,\r\n textarea: PropTypes.bool,\r\n cols: PropTypes.number,\r\n })\r\n ).isRequired,\r\n};\r\n\r\nContactForm.defaultProps = {\r\n showAlert: () => { },\r\n title: 'Contact Form',\r\n};\r\n\r\nexport default ContactForm;","export default __webpack_public_path__ + \"static/media/banner-image_default.d591ce99.png\";","export default __webpack_public_path__ + \"static/media/background-decoration_dark-light-waves.24cf4bb8.svg\";","/* eslint-disable object-curly-newline */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Banner from '../../../components/Banner';\r\nimport Overlay from '../../../components/Overlay';\r\nimport ContactForm from '../../../components/ContactForm';\r\nimport Image from '../../../components/Image';\r\n// import ContentSection from '../../../components/ContentSection';\r\n// ASSETS - CONTACT PAGE\r\nimport BannerImage from '../../../assets/img/banner-image_default.png';\r\nimport BackgroundDecorationImage from '../../../assets/img/background-decoration_dark-light-waves.svg';\r\n// SERVICES AND HELPERS\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\nimport * as emailService from '../../../services/management/emailService';\r\n\r\nconst ContactPage = (props) => {\r\n const { showAlert, history, cmsInfo } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n // const getDirectionsLink = 'https://www.google.com/maps/place/142+Del+Norte+Ave,+Denham+Springs,+LA+70726/@30.4706975,-90.9551617,17z/data=!3m1!4b1!4m6!3m5!1s0x8626bef0ef5cd50d:0x915fc5c888dc7ba6!8m2!3d30.4706975!4d-90.9551617!16s%2Fg%2F11c28v5b_f?entry=ttu';\r\n const formConfig = [\r\n { name: 'firstName', label: 'First Name', required: true, placeholder: 'e.g. John', max: 100 },\r\n { name: 'lastName', label: 'Last Name', required: true, placeholder: 'e.g. Smith', max: 100 },\r\n { name: 'email', label: 'Email Address', required: true, placeholder: 'e.g. johnsmith@example.com', max: 100, email: true },\r\n { name: 'phoneNumber', label: 'Phone Number', placeholder: 'e.g. (555) 555-5555', max: 50 },\r\n { name: 'message', label: 'Message', required: true, placeholder: 'Provide your message here...', textarea: true, cols: 12 },\r\n ];\r\n\r\n const submitForm = async (values) => {\r\n setIsLoading(true);\r\n await emailService.sendEmail(values).then(() => {\r\n showAlert({ text: 'Success! Your message has been received.', state: 'success' });\r\n history.push('/contact');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n\r\n \r\n {/* window.open(getDirectionsLink, '_blank')}\r\n primaryActionColor=\"primary--sbg\"\r\n /> */}\r\n\r\n \r\n {/*

Transport Logics

*/}\r\n {/*

Transport Logics

*/}\r\n {/*
*/}\r\n\r\n

Location

\r\n

Physical Address

\r\n

{cmsInfo.streetAddress1}, {cmsInfo.streetAddress2}

\r\n

{cmsInfo.city}, {cmsInfo.state}, {cmsInfo.zipCode}

\r\n {/*

Mailing Address

*/}\r\n {/*

P.O. Box 448

*/}\r\n
\r\n\r\n

Contact

\r\n

Email: {cmsInfo.emailAddress}

\r\n

Phone: {cmsInfo.phoneNumber}

\r\n

Fax: (318) 212-0549

\r\n
\r\n {(cmsInfo.primaryWeekDayHours || cmsInfo.secondaryWeekDayHours || cmsInfo.primaryWeekEndHours || cmsInfo.secondaryWeekEndHours) && (\r\n <>\r\n

Hours of Operation

\r\n {(cmsInfo.primaryWeekDayHours || cmsInfo.secondaryWeekDayHours) && (\r\n \r\n

Weekdays

\r\n\r\n {cmsInfo.primaryWeekDayHours && (\r\n

{cmsInfo.primaryWeekDayHours}

\r\n )}\r\n {cmsInfo.secondaryWeekDayHours && (\r\n

{cmsInfo.secondaryWeekDayHours}

\r\n )}\r\n
\r\n )}\r\n {(cmsInfo.primaryWeekEndHours || cmsInfo.secondaryWeekEndHours) && (\r\n \r\n

Weekends

\r\n {cmsInfo.primaryWeekEndHours && (\r\n

{cmsInfo.primaryWeekEndHours}

\r\n )}\r\n {cmsInfo.secondaryWeekEndHours && (\r\n

{cmsInfo.secondaryWeekEndHours}

\r\n )}\r\n
\r\n )}\r\n \r\n )}\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n submitForm(values)}\r\n title={

Questions? We Have Answers

}\r\n className=\"mb-20\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alertToast.actions\r\n})(ContactPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Client/';\r\n\r\nconst getAll = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAll`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getById = async (id) => axiosInstance.get(`${ENDPOINTORIGIN}GetById?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst create = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}Create`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst update = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}Update`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst remove = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}Delete?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAll,\r\n getById,\r\n create,\r\n update,\r\n remove,\r\n};","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable no-param-reassign */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\n// HELPERS AND SERVICES\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as clientService from '../../../../services/management/clientService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n\r\nconst frequencyOptions = ['Monthly', 'Weekly', 'Bi-weekly', 'Every three weeks'];\r\n\r\nconst initialClientModel = {\r\n id: 0,\r\n isActive: true,\r\n name: '',\r\n contactName: '',\r\n contactPhone: '',\r\n contactEmail: '',\r\n address1: '',\r\n address2: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n reportFrequency: 'Monthly',\r\n};\r\n\r\nconst ClientManagementPage = (props) => {\r\n const { history, showAlert } = props;\r\n let { clientId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [client, setClient] = useState(initialClientModel);\r\n clientId = parseInt(clientId, 10);\r\n\r\n useEffect(() => {\r\n if (clientId) {\r\n fetchClient();\r\n }\r\n }, []);\r\n\r\n const fetchClient = () => {\r\n setIsLoading(true);\r\n clientService.getById(clientId).then((res) => {\r\n setClient(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: client,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n isActive: Yup.bool(),\r\n name: Yup.string().required('Name is required').max(1000),\r\n contactName: Yup.string().nullable().max(1000),\r\n contactPhone: Yup.string().nullable().max(150),\r\n contactEmail: Yup.string().nullable().email().max(1000),\r\n address1: Yup.string().nullable().max(500),\r\n address2: Yup.string().nullable().max(500),\r\n city: Yup.string().nullable().max(500),\r\n state: Yup.string().nullable().max(500),\r\n zipCode: Yup.string().nullable().max(500),\r\n reportFrequency: Yup.string().nullable().max(500),\r\n\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (clientId) {\r\n updateClient(values);\r\n } else {\r\n createClient(values);\r\n }\r\n },\r\n });\r\n\r\n const updateClient = (model) => {\r\n setIsLoading(true);\r\n clientService.update(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const createClient = (model) => {\r\n setIsLoading(true);\r\n\r\n clientService.create(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push(`/admin/management/client/${res.id}`);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n\r\n {/* CONTENT DETAILS */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* LOCATION */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* SCHEDULE */}\r\n \r\n \r\n \r\n\r\n \r\n helper.setToOptionModel(x, x))}\r\n isRequired\r\n errorMessage={formik.errors.reportFrequency}\r\n inputState={`${helper.getInputClasses(formik, 'reportFrequency')}`}\r\n value={\r\n formik.values.reportFrequency\r\n ? helper.setToOptionModel(formik.values.reportFrequency, formik.values.reportFrequency)\r\n : null\r\n }\r\n onChange={(opt) => {\r\n formik.setFieldValue('reportFrequency', opt ? opt.label : '');\r\n }}\r\n />\r\n \r\n
\r\n\r\n {/* PAGE ACTIONS */}\r\n 0 ? 'Save Changes' : 'Create Client'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/admin/management/clients\"\r\n optionalActionText={clientId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/admin/management/clients\"\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...auth.actions,\r\n ...alert.actions\r\n }\r\n)(ClientManagementPage);","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-array-index-key */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { BsBuildingAdd } from 'react-icons/bs';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\nimport OverLay from '../../../../components/Overlay';\r\n// HELPERS AND SERVICES\r\nimport * as clientService from '../../../../services/management/clientService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as authRedux from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst ClientListingPage = (props) => {\r\n const {\r\n history,\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [clients, setClients] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getAllClients();\r\n }, []);\r\n\r\n const getAllClients = () => {\r\n setIsLoading(true);\r\n clientService.getAll().then((res) => {\r\n setClients(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n history.push(`/admin/management/client/${clients[dataIndex].id}`);\r\n }}\r\n />\r\n\r\n {\r\n auth.isAdmin\r\n && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Client',\r\n text: 'Are you sure you want to remove this client?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteClient(clients[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n )\r\n }\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'contactName',\r\n label: 'Contact Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'address1',\r\n label: 'Address 1',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'address2',\r\n label: 'Address 2',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'city',\r\n label: 'City',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'state',\r\n label: 'State',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'zipCode',\r\n label: 'Zip',\r\n options: columnOptions,\r\n }\r\n\r\n ];\r\n\r\n const deleteClient = (clientId) => {\r\n setIsLoading(true);\r\n\r\n clientService.remove(clientId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getAllClients();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonOnClick={() => {\r\n history.push('/admin/management/client/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\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...authRedux.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n }\r\n)(ClientListingPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Bid/';\r\n\r\nconst getAll = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAll`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getById = async (id) => axiosInstance.get(`${ENDPOINTORIGIN}GetById?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllByClientId = async (clientId) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllByClientId?clientId=${clientId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst create = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}Create`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst update = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}Update`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst remove = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}Delete?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getBidItems = async (id) => axiosInstance.get(`${ENDPOINTORIGIN}GetBidItems?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst addBidItems = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}AddBidItems`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAll,\r\n getById,\r\n getAllByClientId,\r\n create,\r\n update,\r\n remove,\r\n getBidItems,\r\n addBidItems\r\n};","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-array-index-key */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { FaFileInvoiceDollar } from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\nimport OverLay from '../../../../components/Overlay';\r\n// HELPERS AND SERVICES\r\nimport * as bidService from '../../../../services/management/bidService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as authRedux from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst BidListingPage = (props) => {\r\n const {\r\n history,\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [bids, setBids] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getAllBids();\r\n }, []);\r\n\r\n const getAllBids = () => {\r\n setIsLoading(true);\r\n bidService.getAll().then((res) => {\r\n setBids(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true,\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n history.push(`/admin/management/bid/${bids[dataIndex].id}`);\r\n }}\r\n />\r\n\r\n {\r\n auth.isAdmin\r\n && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Bid',\r\n text: 'Are you sure you want to remove this bid?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteBid(bids[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n )\r\n }\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'id',\r\n label: 'Bid#',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'client',\r\n label: 'Client',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'type',\r\n label: 'Carrier',\r\n options: columnOptions,\r\n }\r\n ];\r\n\r\n const deleteBid = (bidId) => {\r\n setIsLoading(true);\r\n\r\n bidService.remove(bidId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getAllBids();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n primaryButtonOnClick={() => {\r\n history.push('/admin/management/bid/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\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...authRedux.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n }\r\n)(BidListingPage);","// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { useWizard } from 'react-use-wizard';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../../components/Overlay';\r\nimport ContentBlock from '../../../../../components/ContentBlock';\r\nimport Button from '../../../../../components/Button';\r\nimport Section from '../../../../../components/Section';\r\nimport FileUploadBlock from '../../../../../components/FileUploadBlock';\r\nimport TextHeader from '../../../../../components/TextHeader';\r\n// SERVICES AND HELPERS\r\nimport constants from '../../../../../constants/constants';\r\n\r\nconst Step1FileUploadWizard = (props) => {\r\n const { excelFileUpload, setExcelFileUpload } = props;\r\n const [isLoading] = useState(false);\r\n const { nextStep } = useWizard();\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n 0 ? 'teal--bg' : 'light-grey--sbg'}\r\n onClick={nextStep}\r\n isDisabled={excelFileUpload.length === 0}\r\n />\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Step1FileUploadWizard;","/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-continue */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useWizard } from 'react-use-wizard';\r\nimport readXlsxFile from 'read-excel-file';\r\nimport ReactTable from 'react-table';\r\nimport moment from 'moment';\r\nimport * as _ from 'lodash';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../../components/Overlay';\r\nimport ContentBlock from '../../../../../components/ContentBlock';\r\nimport Button from '../../../../../components/Button';\r\nimport Section from '../../../../../components/Section';\r\nimport TextHeader from '../../../../../components/TextHeader';\r\n// SERVICES AND HELPERS\r\nimport * as bidItemService from '../../../../../services/management/bidService';\r\n\r\nconst Step2LineItemListingWizard = (props) => {\r\n const {\r\n bidItemColumns,\r\n excelFileUpload,\r\n type,\r\n setIsLoading,\r\n handleModalClose,\r\n bidId,\r\n showAlert,\r\n fetchBid,\r\n isLoading\r\n } = props;\r\n const [tempExcelJson, setTempExcelJson] = useState([]);\r\n const { previousStep } = useWizard();\r\n\r\n useEffect(() => {\r\n readExcelFile();\r\n }, []);\r\n\r\n const readExcelFile = () => {\r\n setIsLoading(true);\r\n readXlsxFile(excelFileUpload[0].file).then((res) => {\r\n if (type === 'UPS') {\r\n fetchValuesForUps(res);\r\n } else {\r\n fetchValuesForFedEx(res);\r\n }\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fetchValuesForFedEx = (excelJson) => {\r\n const trackingNumberIndex = excelJson[0].indexOf('Express or Ground Tracking ID');\r\n const invoiceDateIndex = excelJson[0].indexOf('Invoice Date');\r\n const invoiceNumberIndex = excelJson[0].indexOf('Invoice Number');\r\n const serviceTypeIndex = excelJson[0].indexOf('Service Type');\r\n const actualWeightAmountIndex = excelJson[0].indexOf('Actual Weight Amount');\r\n const ratedWeightAmountIndex = excelJson[0].indexOf('Rated Weight Amount');\r\n const lengthIndex = excelJson[0].indexOf('Dim Length');\r\n const widthIndex = excelJson[0].indexOf('Dim Width');\r\n const heightIndex = excelJson[0].indexOf('Dim Height');\r\n const divisorIndex = excelJson[0].indexOf('Dim Divisor');\r\n const zoneCodeIndex = excelJson[0].indexOf('Zone Code');\r\n const multiWeightNumberIndex = excelJson[0].indexOf('Multiweight Number');\r\n const transportationChargeAmountIndex = excelJson[0].indexOf('Transportation Charge Amount');\r\n const netChargeAmountIndex = excelJson[0].indexOf('Net Charge Amount');\r\n const startIndexForTrackingID = excelJson[0].indexOf('Tracking ID Charge Description');\r\n let accesoryCharges = [];\r\n\r\n const tempArr = [];\r\n for (let i = 1; i < excelJson.length; i += 1) {\r\n if (String(excelJson[i][invoiceNumberIndex]).includes('Total')) {\r\n continue;\r\n }\r\n const invoiceDate = String(excelJson[i][invoiceDateIndex]);\r\n\r\n const fedExObj = {\r\n bidId,\r\n trackingNumber: excelJson[i][trackingNumberIndex],\r\n invoiceDate: invoiceDate.length >= 7 ? `${invoiceDate.substr(0, 4)}/${invoiceDate.substr(4, 2)}/${invoiceDate.substr(6, 2)} ` : '',\r\n invoiceNumber: excelJson[i][invoiceNumberIndex],\r\n serviceType: excelJson[i][serviceTypeIndex],\r\n actualWeightAmount: excelJson[i][actualWeightAmountIndex],\r\n ratedWeightAmount: excelJson[i][ratedWeightAmountIndex],\r\n length: excelJson[i][lengthIndex],\r\n width: excelJson[i][widthIndex],\r\n height: excelJson[i][heightIndex],\r\n divisor: excelJson[i][divisorIndex],\r\n zoneCode: excelJson[i][zoneCodeIndex],\r\n multiWeightNumber: excelJson[i][multiWeightNumberIndex],\r\n transportationChargeAmount: excelJson[i][transportationChargeAmountIndex],\r\n netChargeAmount: excelJson[i][netChargeAmountIndex],\r\n };\r\n\r\n if (startIndexForTrackingID > -1) {\r\n accesoryCharges = excelJson[i].splice(startIndexForTrackingID, excelJson[i].length);\r\n\r\n let arrIndex = 1;\r\n for (let j = 0; j <= accesoryCharges.length; j += 2) {\r\n if (accesoryCharges[j]) {\r\n fedExObj[`trackingIdChargeDescription${arrIndex}`] = accesoryCharges[j];\r\n fedExObj[`trackingIdChargeAmount${arrIndex}`] = accesoryCharges[j + 1];\r\n arrIndex += 1;\r\n }\r\n }\r\n // console.log(accesoryCharges, fedExObj);\r\n }\r\n tempArr.push(fedExObj);\r\n }\r\n\r\n setTempExcelJson(_.sortBy(tempArr, ['trackingNumber', 'invoiceDate', 'serviceType']));\r\n };\r\n\r\n const fetchValuesForUps = (excelJson) => {\r\n const trackingNumberIndex = excelJson[0].indexOf('Tracking Number');\r\n const invoiceDateIndex = excelJson[0].indexOf('Invoice Date');\r\n const invoiceNumberIndex = excelJson[0].indexOf('Invoice Number');\r\n const enteredWeightIndex = excelJson[0].indexOf('Entered Weight');\r\n const billedWeightIndex = excelJson[0].indexOf('Billed Weight');\r\n const zoneIndex = excelJson[0].indexOf('Zone');\r\n const chargeDescriptionIndex = excelJson[0].indexOf('Charge Description');\r\n const basisValueIndex = excelJson[0].indexOf('Basis Value');\r\n const incentiveAmountIndex = excelJson[0].indexOf('Incentive Amount');\r\n const netAmountIndex = excelJson[0].indexOf('Net Amount');\r\n const grossIndex = excelJson[0].indexOf('Gross');\r\n\r\n const tempArr = [];\r\n for (let i = 1; i < excelJson.length; i += 1) {\r\n if (invoiceNumberIndex >= 0) {\r\n // eslint-disable-next-line prefer-template\r\n if ((excelJson[i][invoiceNumberIndex] + '')?.includes('Total')) {\r\n continue;\r\n }\r\n }\r\n tempArr.push({\r\n bidId,\r\n trackingNumber: trackingNumberIndex >= 0 ? excelJson[i][trackingNumberIndex] : '',\r\n invoiceDate: invoiceDateIndex >= 0 ? moment(excelJson[i][invoiceDateIndex]).format('YYYY/MM/DD') : '',\r\n invoiceNumber: invoiceNumberIndex >= 0 ? excelJson[i][invoiceNumberIndex] : '',\r\n enteredWeight: enteredWeightIndex >= 0 ? excelJson[i][enteredWeightIndex] : '',\r\n billedWeight: billedWeightIndex >= 0 ? excelJson[i][billedWeightIndex] : '',\r\n Zone: zoneIndex >= 0 ? excelJson[i][zoneIndex] : '',\r\n chargeDescription: chargeDescriptionIndex >= 0 ? excelJson[i][chargeDescriptionIndex] : '',\r\n basisValue: basisValueIndex >= 0 ? excelJson[i][basisValueIndex] : '',\r\n incentiveAmount: incentiveAmountIndex >= 0 ? excelJson[i][incentiveAmountIndex] : '',\r\n netAmount: netAmountIndex >= 0 ? excelJson[i][netAmountIndex] : '',\r\n gross: grossIndex >= 0 ? excelJson[i][grossIndex] : '',\r\n });\r\n }\r\n\r\n setTempExcelJson(_.sortBy(tempArr, ['trackingNumber', 'invoiceDate', 'serviceType']));\r\n };\r\n\r\n const submitBidItems = () => {\r\n setIsLoading(true);\r\n\r\n bidItemService.addBidItems(tempExcelJson).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchBid().finally(() => setIsLoading(false));\r\n handleModalClose();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {(isLoading) && }\r\n
\r\n \r\n\r\n \r\n {\r\n (isLoading)\r\n ?

Loading...

\r\n : (\r\n \r\n )\r\n }\r\n\r\n
\r\n\r\n \r\n \r\n 0 ? 'teal--bg' : 'light-grey--sbg'}\r\n onClick={submitBidItems}\r\n isDisabled={bidItemColumns.length === 0}\r\n />\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Step2LineItemListingWizard;","/* eslint-disable react/no-this-in-sfc */\r\n/* eslint-disable react/destructuring-assignment */\r\n/* eslint-disable no-console */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable indent */\r\n/* eslint-disable function-paren-newline */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\nimport ReactTable from 'react-table';\r\nimport { Wizard } from 'react-use-wizard';\r\nimport * as _ from 'lodash';\r\n// COMPONENTS\r\n// ICONS\r\nimport Table from 'react-bootstrap/Table';\r\nimport { TbChecks } from 'react-icons/tb';\r\n// import { MdOutlineAttachMoney } from 'react-icons/md';\r\n// CUSTOM COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\nimport Button from '../../../../components/Button';\r\n// import InputBlock from '../../../../components/InputBlock';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\n// HELPERS AND SERVICES\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as bidService from '../../../../services/management/bidService';\r\nimport * as clientService from '../../../../services/management/clientService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n// CONSTANTS\r\nimport Step1FileUploadWizard from './wizard/Step1FileUploadWizard';\r\nimport Step2LineItemListingWizard from './wizard/Step2LineItemListingWizard';\r\n\r\nconst carrierOptions = ['FedEX', 'UPS'];\r\n\r\nconst initialBidModel = {\r\n id: 0,\r\n isActive: true,\r\n clientId: 0,\r\n type: '',\r\n client: ''\r\n};\r\n\r\nconst BidManagementPage = (props) => {\r\n const { history, showAlert } = props;\r\n let { bidId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [bid, setBid] = useState(initialBidModel);\r\n const [clients, setClients] = useState([]);\r\n const [bidItems, setBidItems] = useState([]);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [excelFileUpload, setExcelFileUpload] = useState([]);\r\n const [uniqueServiceTypes, setUniqueServiceTypes] = useState([]);\r\n\r\n bidId = parseInt(bidId, 10);\r\n\r\n useEffect(() => {\r\n fetchOptionsAndBid();\r\n }, [bidId]);\r\n\r\n const fetchOptionsAndBid = async () => {\r\n setIsLoading(true);\r\n\r\n try {\r\n if (bidId) {\r\n await Promise.all([\r\n fetchBid(),\r\n fetchClients()\r\n ]);\r\n } else {\r\n await Promise.all([\r\n fetchClients()\r\n ]);\r\n }\r\n } catch (error) {\r\n showAlert({ text: error.message, state: 'error' });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const fetchBid = async () => {\r\n try {\r\n const res = await bidService.getById(bidId);\r\n await fetchBidItems(res);\r\n setBid(res);\r\n } catch (error) {\r\n showAlert({ text: error.message, state: 'error' });\r\n }\r\n };\r\n\r\n const fetchBidItems = async (model) => {\r\n try {\r\n const res = await bidService.getBidItems(bidId);\r\n const groupedByServiceType = _.groupBy(res, model.type === 'UPS' ? 'chargeDescription' : 'serviceType');\r\n if (model.type === 'UPS') {\r\n setUniqueServiceTypes(_.map(groupedByServiceType, (group, serviceType) => ({\r\n name: serviceType || '-',\r\n count: group.length,\r\n totalCharge: 0,\r\n netChargeAmount: group.map((x) => parseFloat(x.netAmount || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n ratedWeightAmount: group.map((x) => parseFloat(x.billedWeight || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n totalDiscountAmount: group.map((x) => parseFloat(x.incentiveAmount || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n divisor: calculateDiscountPercentage(group)\r\n })));\r\n setBidItems(_.sortBy(res, ['trackingNumber', 'invoiceDate', 'serviceType']));\r\n } else {\r\n setUniqueServiceTypes(_.map(groupedByServiceType, (group, serviceType) => ({\r\n name: serviceType || '-',\r\n count: group.length,\r\n totalCharge: group.map((x) => parseFloat(x.transportationChargeAmount || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n netChargeAmount: group.map((x) => parseFloat(x.netChargeAmount || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n ratedWeightAmount: group.map((x) => parseFloat(x.ratedWeightAmount || 0, 10)).reduce((a, b) => a + b, 0).toFixed(2),\r\n totalDiscountAmount: _.flatten(group.map((x) => (\r\n [convertToFloat(x.trackingIdChargeAmount1), convertToFloat(x.trackingIdChargeAmount2), convertToFloat(x.trackingIdChargeAmount3), convertToFloat(x.trackingIdChargeAmount4), convertToFloat(x.trackingIdChargeAmount5),\r\n convertToFloat(x.trackingIdChargeAmount6), convertToFloat(x.trackingIdChargeAmount7), convertToFloat(x.trackingIdChargeAmount8), convertToFloat(x.trackingIdChargeAmount9), convertToFloat(x.trackingIdChargeAmount10),\r\n convertToFloat(x.trackingIdChargeAmount11), convertToFloat(x.trackingIdChargeAmount12), convertToFloat(x.trackingIdChargeAmount13), convertToFloat(x.trackingIdChargeAmount14), convertToFloat(x.trackingIdChargeAmount15),\r\n convertToFloat(x.trackingIdChargeAmount16), convertToFloat(x.trackingIdChargeAmount17), convertToFloat(x.trackingIdChargeAmount18), convertToFloat(x.trackingIdChargeAmount19), convertToFloat(x.trackingIdChargeAmount20)\r\n ]))).filter((x) => x < 0).reduce((a, b) => a + b, 0)\r\n })));\r\n setBidItems(_.sortBy(res, ['trackingNumber', 'invoiceDate', 'serviceType']));\r\n }\r\n } catch (error) {\r\n showAlert({ text: error.message, state: 'error' });\r\n }\r\n };\r\n\r\n const calculateDiscountPercentage = (group) => {\r\n const incentiveAmount_AZ = group.map((x) => parseFloat(x.incentiveAmount || 0, 10)).reduce((a, b) => a + b, 0);\r\n const netAmount_BA = group.map((x) => parseFloat(x.netAmount || 0, 10)).reduce((a, b) => a + b, 0);\r\n\r\n const divisor = (incentiveAmount_AZ + netAmount_BA);\r\n if (divisor === 0) return 0;\r\n const discount = incentiveAmount_AZ / divisor;\r\n const discountPercentage = (discount * 100).toFixed(2);\r\n\r\n return discountPercentage;\r\n };\r\n\r\n const convertToFloat = (amount) => parseFloat(amount || 0, 10);\r\n\r\n const fetchClients = async () => {\r\n try {\r\n const res = await clientService.getAll();\r\n setClients(res.map((option) => (helper.setToOptionModel(option.name, option.id))));\r\n } catch (error) {\r\n showAlert({ text: error.message, state: 'error' });\r\n }\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: bid,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n isActive: Yup.bool(),\r\n clientId: Yup.number().required('Name is required').nullable(),\r\n client: Yup.string().nullable(),\r\n type: Yup.string().required().nullable(),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (bidId) {\r\n updateBid(values);\r\n } else {\r\n createBid(values);\r\n }\r\n },\r\n });\r\n\r\n const updateBid = (model) => {\r\n setIsLoading(true);\r\n bidService.update(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const createBid = (model) => {\r\n setIsLoading(true);\r\n\r\n bidService.create(model).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push(`/admin/management/bid/${res.id}`);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const bidItemColumns = [\r\n {\r\n label: 'Invoice Number',\r\n name: 'invoiceNumber',\r\n options: { display: false }\r\n },\r\n {\r\n label: 'Tracking #',\r\n name: 'trackingNumber',\r\n minWidth: 180\r\n },\r\n {\r\n label: 'Invoice Date',\r\n name: 'invoiceDate',\r\n minWidth: 140\r\n },\r\n {\r\n label: 'Service Type',\r\n name: 'serviceType',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 140\r\n },\r\n {\r\n label: 'Total Transportation Charge Amount',\r\n name: 'transportationChargeAmount',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 140\r\n },\r\n {\r\n label: 'Net Charge Amount',\r\n name: 'netChargeAmount',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 140\r\n },\r\n {\r\n label: 'Entered Weight',\r\n name: 'enteredWeight',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Billed Weight',\r\n name: 'billedWeight',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Zone',\r\n name: 'zone',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 40\r\n },\r\n {\r\n label: 'Charge Description',\r\n name: 'chargeDescription',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 240\r\n },\r\n {\r\n label: 'Basis Value',\r\n name: 'basisValue',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 60\r\n },\r\n {\r\n label: 'Incentive Amount',\r\n name: 'incentiveAmount',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 60\r\n },\r\n {\r\n label: 'Net Amount',\r\n name: 'netAmount',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 60\r\n },\r\n {\r\n label: 'Gross',\r\n name: 'gross',\r\n options: { display: bid.type === 'UPS' },\r\n minWidth: 60\r\n },\r\n {\r\n label: 'Actual Weight Amount',\r\n name: 'actualWeightAmount',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Rated Weight Amount',\r\n name: 'ratedWeightAmount',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Length',\r\n name: 'length',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Width',\r\n name: 'width',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Height',\r\n name: 'height',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Divisor',\r\n name: 'divisor',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Zone Code',\r\n name: 'zoneCode',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 70\r\n },\r\n {\r\n label: 'Multiweight Number',\r\n name: 'multiWeightNumber',\r\n minWidth: 80,\r\n options: {\r\n display: bid.type === 'FedEX',\r\n customBodyRenderLite: (dataIndex, rowIndex, rowData) => {\r\n const multiWeightNumber = rowData?.original?.multiWeightNumber;\r\n if (multiWeightNumber && parseInt(multiWeightNumber.value, 10) > 0) {\r\n return ;\r\n }\r\n return null;\r\n }\r\n },\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription1',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount1',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription2',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount2',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription3',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount3',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription4',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount4',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription5',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount5',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription6',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount6',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription7',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount7',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription8',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount8',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription9',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount9',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription9',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount9',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription10',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount10',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription11',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount11',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription12',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount12',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription13',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount13',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription14',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount14',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription15',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount15',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription16',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount16',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription17',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount17',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription18',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount18',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription19',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount19',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n },\r\n {\r\n label: 'Tracking ID Charge Description',\r\n name: 'trackingIdChargeDescription20',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 200,\r\n },\r\n {\r\n label: 'Tracking ID Charge Amount',\r\n name: 'trackingIdChargeAmount20',\r\n options: { display: bid.type === 'FedEX' },\r\n minWidth: 100,\r\n }\r\n ];\r\n\r\n const bidItemColumnsReactTable = [\r\n {\r\n Header: 'Invoice Number',\r\n accessor: 'invoiceNumber',\r\n show: false\r\n },\r\n {\r\n Header: 'Tracking #',\r\n accessor: 'trackingNumber',\r\n minWidth: 180\r\n },\r\n {\r\n Header: 'Invoice Date',\r\n accessor: 'invoiceDate',\r\n minWidth: 140\r\n },\r\n {\r\n Header: 'Service Type',\r\n accessor: 'serviceType',\r\n show: bid.type === 'FedEX',\r\n minWidth: 140\r\n },\r\n {\r\n Header: 'Total Transportation Charge Amount',\r\n accessor: 'transportationChargeAmount',\r\n show: bid.type === 'FedEX',\r\n minWidth: 140\r\n },\r\n {\r\n Header: 'Net Charge Amount',\r\n accessor: 'netChargeAmount',\r\n show: bid.type === 'FedEX',\r\n minWidth: 140\r\n },\r\n {\r\n Header: 'Entered Weight',\r\n accessor: 'enteredWeight',\r\n show: bid.type === 'UPS',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Billed Weight',\r\n accessor: 'billedWeight',\r\n show: bid.type === 'UPS',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Zone',\r\n accessor: 'zone',\r\n show: bid.type === 'UPS',\r\n minWidth: 40\r\n },\r\n {\r\n Header: 'Charge Description',\r\n accessor: 'chargeDescription',\r\n show: bid.type === 'UPS',\r\n minWidth: 240\r\n },\r\n {\r\n Header: 'Basis Value',\r\n accessor: 'basisValue',\r\n show: bid.type === 'UPS',\r\n minWidth: 60\r\n },\r\n {\r\n Header: 'Incentive Amount',\r\n accessor: 'incentiveAmount',\r\n show: bid.type === 'UPS',\r\n minWidth: 60\r\n },\r\n {\r\n Header: 'Net Amount',\r\n accessor: 'netAmount',\r\n show: bid.type === 'UPS',\r\n minWidth: 60\r\n },\r\n {\r\n Header: 'Gross',\r\n accessor: 'gross',\r\n show: bid.type === 'UPS',\r\n minWidth: 60\r\n },\r\n {\r\n Header: 'Actual Weight Amount',\r\n accessor: 'actualWeightAmount',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Rated Weight Amount',\r\n accessor: 'ratedWeightAmount',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Length',\r\n accessor: 'length',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Width',\r\n accessor: 'width',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Height',\r\n accessor: 'height',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Divisor',\r\n accessor: 'divisor',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Zone Code',\r\n accessor: 'zoneCode',\r\n show: bid.type === 'FedEX',\r\n minWidth: 70\r\n },\r\n {\r\n Header: 'Multiweight Number',\r\n accessor: 'multiWeightNumber',\r\n show: bid.type === 'FedEX',\r\n minWidth: 80,\r\n Cell: (cellProps) => {\r\n const { original } = cellProps;\r\n\r\n return (\r\n

{parseInt(original.multiWeightNumber, 10) > 0 ? : ''}

\r\n );\r\n }\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription1',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount1',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription2',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount2',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription3',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount3',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription4',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount4',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription5',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount5',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription6',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount6',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription7',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount7',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription8',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount8',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription9',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount9',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription9',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount9',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription10',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount10',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription11',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount11',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription12',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount12',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription13',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount13',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription14',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount14',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription15',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount15',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription16',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount16',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription17',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount17',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription18',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount18',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription19',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount19',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Description',\r\n accessor: 'trackingIdChargeDescription20',\r\n show: bid.type === 'FedEX',\r\n minWidth: 200,\r\n },\r\n {\r\n Header: 'Tracking ID Charge Amount',\r\n accessor: 'trackingIdChargeAmount20',\r\n show: bid.type === 'FedEX',\r\n minWidth: 100,\r\n }\r\n ];\r\n\r\n const handleModalClose = () => {\r\n setIsModalOpen(false);\r\n setExcelFileUpload([]);\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n\r\n {/* CONTENT DETAILS */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n formik.setFieldValue('client', opt ? opt.label : '');\r\n formik.setFieldValue('clientId', opt ? opt.value : '');\r\n }}\r\n />\r\n \r\n \r\n helper.setToOptionModel(x, x))}\r\n isRequired\r\n errorMessage={formik.errors.type}\r\n inputState={bidId ? 'disabled' : `${helper.getInputClasses(formik, 'type')}`}\r\n value={\r\n formik.values.type\r\n ? helper.setToOptionModel(formik.values.type, formik.values.type)\r\n : null\r\n }\r\n onChange={(opt) => {\r\n formik.setFieldValue('type', opt ? opt.label : '');\r\n }}\r\n />\r\n \r\n
\r\n {\r\n bidItems.length > 0 && (\r\n \r\n {\r\n history.push('/bid/report', { uniqueServiceTypes, bid, type: formik.values.type });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n\r\n {\r\n bidItems?.length > 0 && (\r\n \r\n {\r\n bid.type !== 'UPS' ? (\r\n \r\n \r\n \r\n \r\n Service Type\r\n Occurance\r\n Rated Weight\r\n Transportation Charge Amount\r\n Net Charge Amount\r\n Discount Amount\r\n Discount %\r\n Total Accessorial Charges\r\n \r\n \r\n \r\n {\r\n uniqueServiceTypes.map((data) => (\r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n {data.count}\r\n {`${data.ratedWeightAmount}`}\r\n {`$${data.totalCharge}`}\r\n {`$${data.netChargeAmount}`}\r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n {`${(Math.abs(data.totalDiscountAmount) / Math.abs(data.totalCharge)).toFixed(3)}% (${((Math.abs(data.totalDiscountAmount) / Math.abs(data.totalCharge)).toFixed(3) * 100).toFixed(1)}%)`}\r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n ))\r\n }\r\n \r\n Total\r\n {' '}\r\n \r\n {bid.totalRatedWeight}\r\n \r\n \r\n $\r\n {bid.totalTransportationCharge}\r\n \r\n \r\n $\r\n {bid.totalNetCharge}\r\n \r\n \r\n

\r\n $\r\n {Math.abs(uniqueServiceTypes.map((x) => x.totalDiscountAmount).reduce((a, b) => parseFloat(a) + parseFloat(b), 0).toFixed(2))}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n Transportation Charge\r\n Occurance\r\n Rated Weight\r\n Net Charge Amount\r\n Discount Amount\r\n Discount %\r\n Gross Amount\r\n \r\n \r\n \r\n {\r\n uniqueServiceTypes.filter((x) => (x.ratedWeightAmount > 0)).map((data) => (\r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n {data.count}\r\n {`${data.ratedWeightAmount}`}\r\n {`$${data.netChargeAmount}`}\r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n \r\n {`${parseFloat(data.divisor).toFixed(2)}%`}\r\n \r\n \r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n \r\n ))\r\n }\r\n \r\n Total\r\n {' '}\r\n \r\n {bid.totalRatedWeight}\r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount > 0).map((x) => parseFloat(x.netChargeAmount).toFixed(2)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0).toFixed(2)\r\n }\r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount > 0).map((x) => Math.abs(parseFloat(x.totalDiscountAmount)).toFixed(2)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0).toFixed(2)\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Accessorial Charge\r\n Occurance\r\n Net Charge Amount\r\n Discount Amount\r\n Discount %\r\n Gross Amount\r\n \r\n \r\n \r\n {\r\n uniqueServiceTypes.filter((x) => (x.ratedWeightAmount <= 0)).map((data) => (\r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n {data.count}\r\n {`$${data.netChargeAmount}`}\r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n \r\n {`${parseFloat(data.divisor).toFixed(2)}%`}\r\n \r\n \r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n \r\n ))\r\n }\r\n \r\n Total\r\n {' '}\r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount <= 0).map((x) => parseFloat(x.netChargeAmount)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0)\r\n?.toFixed(2)\r\n }\r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount <= 0).map((x) => Math.abs(parseFloat(x.totalDiscountAmount))).reduce((a, b) => parseFloat(a) + parseFloat(b), 0)?.toFixed(2)\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n \r\n )\r\n }\r\n {\r\n bidId > 0 && (\r\n \r\n \r\n 0 ? '' : 'Add Bid'}\r\n primaryButtonOnClick={() => setIsModalOpen(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 {/* PAGE ACTIONS */}\r\n 0 ? 'Save Changes' : 'Create Bid'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/cms/management/bids\"\r\n optionalActionText={bidId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/cms/management/bids\"\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...auth.actions,\r\n ...alert.actions\r\n }\r\n)(BidManagementPage);","/* eslint-disable max-len */\r\n/* eslint-disable jsx-quotes */\r\n/* eslint-disable quotes */\r\n/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\n// COMPONENTS\r\nimport {\r\n Document,\r\n Page,\r\n StyleSheet,\r\n Text,\r\n View,\r\n PDFViewer,\r\n Image,\r\n} from '@react-pdf/renderer';\r\n// LOGO\r\nimport Logo from '../../../../assets/img/logo.png';\r\n\r\nconst columnHeaders = [\r\n 'Service Type',\r\n 'Occurrence',\r\n 'Rated Weight',\r\n 'Transportation Charge Amount',\r\n 'Net Charge Amount',\r\n 'Discount Amount',\r\n 'Discount %',\r\n 'Total Accessorial Charges',\r\n];\r\n\r\nconst upsFirstTableColumnHeaders = [\r\n 'Transportation Charge',\r\n 'Occurance',\r\n 'Rated Weight',\r\n 'Net Charge Amount',\r\n 'Discount Amount',\r\n 'Discount %',\r\n 'Gross Amount'\r\n];\r\n\r\nconst upsSecondTableColumnHeaders = [\r\n 'Accessorial Charge',\r\n 'Occurance',\r\n 'Net Charge Amount',\r\n 'Discount Amount',\r\n 'Discount %',\r\n 'Gross Amount'\r\n];\r\n\r\nconst headerStyles = StyleSheet.create({\r\n header: {\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginBottom: 10,\r\n },\r\n logo: {\r\n width: 200,\r\n height: 'auto',\r\n marginBottom: 5,\r\n marginRight: 740\r\n },\r\n companyName: {\r\n fontSize: 24,\r\n marginRight: 100,\r\n marginBottom: 10,\r\n marginTop: -50,\r\n fontWeight: 'bolder',\r\n },\r\n});\r\n\r\nconst Header = () => (\r\n \r\n \r\n \r\n Transport Logics\r\n Bid Items Report\r\n \r\n \r\n);\r\n\r\nconst BidReportPage = (props) => {\r\n const { history } = props;\r\n // console.log(history.location.state);\r\n const { uniqueServiceTypes, bid, type } = history.location.state;\r\n\r\n const styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n backgroundColor: '#E4E4E4',\r\n padding: 10,\r\n },\r\n section: {\r\n margin: 10,\r\n padding: 10,\r\n flexGrow: 1,\r\n },\r\n\r\n reportText: {\r\n fontSize: 16,\r\n marginLeft: 5,\r\n fontWeight: 800,\r\n },\r\n table: {\r\n marginTop: 15,\r\n display: 'table',\r\n width: type === 'UPS' ? 1100 : 975,\r\n borderStyle: 'solid',\r\n borderWidth: 'auto',\r\n borderLeft: 1,\r\n borderTop: 1,\r\n borderTopWidth: 0,\r\n borderRightWidth: 0,\r\n borderBottomWidth: 0,\r\n },\r\n tableRow: { flexDirection: 'row' },\r\n tableCell: {\r\n width: '10%', // 7 columns, each taking 14.28% width\r\n height: 60,\r\n borderStyle: 'solid',\r\n borderWidth: 1,\r\n borderLeftWidth: 0,\r\n borderTopWidth: 1,\r\n // padding: 5,\r\n textAlign: 'center', // Center align text in all cells\r\n fontWeight: 'bold', // Bold font for header cells\r\n },\r\n columnHeader: {\r\n backgroundColor: '#0162a8', // Background color of column headers\r\n color: '#FFFFFF', // Text color of column headers\r\n textDecoration: 'none',\r\n },\r\n cellText: { fontSize: 12 }, // Smaller font size\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {/* HEADER */}\r\n
\r\n {/* TABLE */}\r\n {\r\n type !== 'UPS' ? (\r\n \r\n \r\n {columnHeaders.map((header, index) => (\r\n \r\n {header}\r\n \r\n ))}\r\n \r\n {\r\n uniqueServiceTypes.map((data) => (\r\n \r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n \r\n \r\n {data.count}\r\n \r\n \r\n {data.ratedWeightAmount}\r\n \r\n \r\n {`$${data.totalCharge}`}\r\n \r\n \r\n {`$${data.netChargeAmount}`}\r\n \r\n \r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n \r\n \r\n {`${(Math.abs(data.totalDiscountAmount) / Math.abs(data.totalCharge)).toFixed(3)}% (${((Math.abs(data.totalDiscountAmount) / Math.abs(data.totalCharge)).toFixed(3) * 100).toFixed(1)}%)`}\r\n \r\n \r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n \r\n ))\r\n }\r\n\r\n \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n {bid.totalRatedWeight}\r\n \r\n \r\n \r\n \r\n $\r\n {bid.totalTransportationCharge}\r\n \r\n \r\n \r\n \r\n $\r\n {bid.totalNetCharge}\r\n \r\n \r\n \r\n \r\n $\r\n {(bid.totalTransportationCharge - bid.totalNetCharge).toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {upsFirstTableColumnHeaders.map((header, index) => (\r\n \r\n {header}\r\n \r\n ))}\r\n \r\n {\r\n uniqueServiceTypes.filter((x) => (x.ratedWeightAmount > 0)).map((data) => (\r\n \r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n \r\n \r\n {data.count}\r\n \r\n \r\n {data.ratedWeightAmount}\r\n \r\n \r\n {`$${data.netChargeAmount}`}\r\n \r\n \r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n \r\n \r\n {`${parseFloat(data.divisor).toFixed(2)}%`}\r\n \r\n \r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n {bid.totalRatedWeight}\r\n \r\n \r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount > 0).map((x) => parseFloat(x.netChargeAmount).toFixed(2)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0).toFixed(2)\r\n }\r\n \r\n \r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount > 0).map((x) => Math.abs(parseFloat(x.totalDiscountAmount)).toFixed(2)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0).toFixed(2)\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {upsSecondTableColumnHeaders.map((header, index) => (\r\n \r\n {header}\r\n \r\n ))}\r\n \r\n {\r\n uniqueServiceTypes.filter((x) => (x.ratedWeightAmount <= 0)).map((data) => (\r\n \r\n \r\n {data.name !== 'null' ? data.name : ' - '}\r\n \r\n \r\n {data.count}\r\n \r\n \r\n {`$${data.netChargeAmount}`}\r\n \r\n \r\n {`$${(Math.abs(data.totalDiscountAmount)).toFixed(2)}`}\r\n \r\n \r\n {`${parseFloat(data.divisor).toFixed(2)}%`}\r\n \r\n \r\n {`$${(data.netChargeAmount - (data.totalCharge - Math.abs(data.totalDiscountAmount))).toFixed(2)}`}\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount <= 0).map((x) => parseFloat(x.netChargeAmount)).reduce((a, b) => parseFloat(a) + parseFloat(b), 0)\r\n }\r\n \r\n \r\n \r\n \r\n $\r\n {\r\n uniqueServiceTypes.filter((x) => x.ratedWeightAmount <= 0).map((x) => Math.abs(parseFloat(x.totalDiscountAmount))).reduce((a, b) => parseFloat(a) + parseFloat(b), 0)?.toFixed(2)\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\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 BidReportPage;","export default \"data:image/png;base64,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\"","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Benchmark/';\r\n\r\nconst getAll = async (clientId) => axiosInstance.get(`${ENDPOINTORIGIN}GetAll?clientId=${clientId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst saveChanges = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}Save`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAll,\r\n saveChanges\r\n};","/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable no-param-reassign */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\nimport * as _ from 'lodash';\r\n// COMPONENTS\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\nimport Table from 'react-bootstrap/Table';\r\n// ICONS\r\nimport {\r\n TbPercentage, TbCurrencyDollar, TbPlus\r\n} from 'react-icons/tb';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\n// HELPERS AND SERVICES\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as benchmarkService from '../../../../services/management/benchmarkService';\r\nimport * as bidService from '../../../../services/management/bidService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n\r\nconst BenchmarkPage = (params) => {\r\n const { showAlert } = params;\r\n const { clientId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [benchmarks, setBenchmarks] = useState([]);\r\n const initialGroupModel = {\r\n id: 0, group: '', benchmarkId: 0, min: '', bm: '', benchmarkName: ''\r\n };\r\n const [groupModel, setGroupModel] = useState(initialGroupModel);\r\n\r\n useEffect(() => {\r\n fetchBenchmarks();\r\n }, []);\r\n\r\n const fetchBenchmarks = async () => {\r\n setIsLoading(true);\r\n try {\r\n const res = await benchmarkService.getAll(clientId);\r\n setBenchmarks(res);\r\n } catch (ex) {\r\n showAlert({ text: ex.message, state: 'error' });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const upsBMTransportationCharges = [\r\n { id: 1, name: '2nd Day Air A.M. Commercial Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 2, name: '2nd Day Air Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 3, name: '2nd Day Air Commercial Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 4, name: '2nd Day Air Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 5, name: '2nd Day Air Residential Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 6, name: '3 Day Select Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 7, name: '3 Day Select Commercial Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 8, name: '3 Day Select Commercial Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 9, name: '3 Day Select Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 10, name: '3 Day Select Residential Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 11, name: '3 Day Select Residential Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 12, name: '3 Day Select Undeliverable Return', minCharge: '', benchmarkDiscount: '' },\r\n { id: 13, name: 'Commercial Adjustment', minCharge: '', benchmarkDiscount: '' },\r\n { id: 14, name: 'Ground Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 15, name: 'Ground Commercial Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 16, name: 'Ground Commercial Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 17, name: 'Ground Hundredweight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 18, name: 'Ground Hundredweight Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 19, name: 'Ground Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 20, name: 'Ground Residential Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 21, name: 'Ground Residential Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 22, name: 'Ground Return to Sender Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 23, name: 'Ground Undeliverable Return', minCharge: '', benchmarkDiscount: '' },\r\n { id: 24, name: 'GSR Next Day Air Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 25, name: 'Next Day Air Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 26, name: 'Next Day Air Commercial Collect', minCharge: '', benchmarkDiscount: '' },\r\n { id: 27, name: 'Next Day Air Commercial Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 28, name: 'Next Day Air Early Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 29, name: 'Next Day Air Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 30, name: 'Next Day Air Residential Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 31, name: 'Next Day Air Saver Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 32, name: 'Next Day Air Saver Residential Third Party', minCharge: '', benchmarkDiscount: '' },\r\n { id: 33, name: 'Not Previously Billed Ground Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 34, name: 'Not Previously Billed Ground Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 35, name: 'Not Previously Billed Next Day Air Commercial', minCharge: '', benchmarkDiscount: '' },\r\n { id: 36, name: 'Not Previously Billed Next Day Air Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 37, name: 'Residential Adjustment', minCharge: '', benchmarkDiscount: '' },\r\n { id: 38, name: 'Shipping Charge Correction', minCharge: '', benchmarkDiscount: '' },\r\n { id: 39, name: 'Shipping Charge Correction 2nd Day Air', minCharge: '', benchmarkDiscount: '' },\r\n { id: 40, name: 'Shipping Charge Correction 2nd Day Air A.M.', minCharge: '', benchmarkDiscount: '' },\r\n { id: 41, name: 'Shipping Charge Correction 3 Day Select', minCharge: '', benchmarkDiscount: '' },\r\n { id: 42, name: 'Shipping Charge Correction 3 Day Select Undeliverable Return', minCharge: '', benchmarkDiscount: '' },\r\n { id: 43, name: 'Shipping Charge Correction Ground', minCharge: '', benchmarkDiscount: '' },\r\n { id: 44, name: 'Shipping Charge Correction Next Day Air', minCharge: '', benchmarkDiscount: '' },\r\n { id: 45, name: 'Shipping Charge Correction Next Day Air Early', minCharge: '', benchmarkDiscount: '' },\r\n { id: 46, name: 'Shipping Charge Correction Next Day Air Saver', minCharge: '', benchmarkDiscount: '' },\r\n { id: 47, name: 'Worldwide Expedited', minCharge: '', benchmarkDiscount: '' },\r\n { id: 48, name: 'WW Saver', minCharge: '', benchmarkDiscount: '' }\r\n ];\r\n\r\n const upsAccessorialCharges = [\r\n { id: 1, name: 'Additional Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 2, name: 'Additional Handling - Length+Girth', minCharge: '', benchmarkDiscount: '' },\r\n { id: 3, name: 'Additional Handling Charge - Package', minCharge: '', benchmarkDiscount: '' },\r\n { id: 4, name: 'Addl. Handling longest side', minCharge: '', benchmarkDiscount: '' },\r\n { id: 5, name: 'Addl. Handling weight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 6, name: 'Address Correction Ground', minCharge: '', benchmarkDiscount: '' },\r\n { id: 7, name: 'Declared Value', minCharge: '', benchmarkDiscount: '' },\r\n { id: 8, name: 'Delivery Area Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 9, name: 'Delivery Area Surcharge - Extended', minCharge: '', benchmarkDiscount: '' },\r\n { id: 10, name: 'Delivery Area Surcharge - Extended Adjustment', minCharge: '', benchmarkDiscount: '' },\r\n { id: 11, name: 'Demand Surcharge-Addl Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 12, name: 'Demand Surcharge-Com', minCharge: '', benchmarkDiscount: '' },\r\n { id: 13, name: 'Dimensional', minCharge: '', benchmarkDiscount: '' },\r\n { id: 14, name: 'Disbursement Fee', minCharge: '', benchmarkDiscount: '' },\r\n { id: 15, name: 'Early Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 16, name: 'Fuel Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 17, name: 'Fuel Surcharge Adjustment', minCharge: '', benchmarkDiscount: '' },\r\n { id: 18, name: 'Future Day Pickup - Alternate Address - Web Request', minCharge: '', benchmarkDiscount: '' },\r\n { id: 19, name: 'Future Day Pickup - Web Request', minCharge: '', benchmarkDiscount: '' },\r\n { id: 20, name: 'HazMat Ground Fully Reg', minCharge: '', benchmarkDiscount: '' },\r\n { id: 21, name: 'Late Payment Fee', minCharge: '', benchmarkDiscount: '' },\r\n { id: 22, name: 'Not Previously Billed Additional Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 23, name: 'Not Previously Billed Delivery Area Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 24, name: 'Not Previously Billed Delivery Area Surcharge - Extended', minCharge: '', benchmarkDiscount: '' },\r\n { id: 25, name: 'Not Previously Billed Demand Surcharge-Addl Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 26, name: 'Not Previously Billed Fuel Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 27, name: 'Not Previously Billed Missing PLD Fee', minCharge: '', benchmarkDiscount: '' },\r\n { id: 28, name: 'Not Previously Billed Remote Area Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 29, name: 'Not Previously Billed Residential Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 30, name: 'Print Return Label', minCharge: '', benchmarkDiscount: '' },\r\n { id: 31, name: 'Remote Area Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 32, name: 'Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 33, name: 'Residential Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 34, name: 'Residential Surcharge Adjustment', minCharge: '', benchmarkDiscount: '' },\r\n { id: 35, name: 'Same Day Pickup - Alternate Address - Web Request', minCharge: '', benchmarkDiscount: '' },\r\n { id: 36, name: 'Same Day Pickup - Web Request', minCharge: '', benchmarkDiscount: '' },\r\n { id: 37, name: 'Service Charge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 38, name: 'Shipping Charge Correction Additional Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 39, name: 'Shipping Charge Correction Addl. Handling longest side', minCharge: '', benchmarkDiscount: '' },\r\n { id: 40, name: 'Shipping Charge Correction Demand Surcharge-Addl Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 41, name: 'Shipping Charge Correction Fuel Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 42, name: 'Third Party Billing Service', minCharge: '', benchmarkDiscount: '' },\r\n { id: 43, name: 'UPS carbon neutral', minCharge: '', benchmarkDiscount: '' },\r\n { id: 44, name: 'Weekly Service Chg', minCharge: '', benchmarkDiscount: '' }\r\n ];\r\n\r\n const fedexAccessorialCharge = [\r\n { id: 1, name: 'Fuel Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 2, name: 'AHS - Dimensions', minCharge: '', benchmarkDiscount: '' },\r\n { id: 3, name: 'AHS - Weight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 4, name: 'Courier Pickup Charge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 5, name: 'DAS Comm', minCharge: '', benchmarkDiscount: '' },\r\n { id: 6, name: 'DAS Extended Comm', minCharge: '', benchmarkDiscount: '' },\r\n { id: 7, name: 'DAS Remote Resi', minCharge: '', benchmarkDiscount: '' },\r\n { id: 8, name: 'DAS Resi', minCharge: '', benchmarkDiscount: '' },\r\n { id: 9, name: 'Residential', minCharge: '', benchmarkDiscount: '' },\r\n { id: 10, name: 'Earned Discount', minCharge: '', benchmarkDiscount: '' },\r\n { id: 11, name: 'Discount', minCharge: '', benchmarkDiscount: '' },\r\n { id: 12, name: 'Address Correction', minCharge: '', benchmarkDiscount: '' },\r\n { id: 13, name: 'Direct Signature', minCharge: '', benchmarkDiscount: '' },\r\n { id: 14, name: 'Peak - AHS Charge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 15, name: 'Peak Surcharge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 16, name: 'Performance Pricing', minCharge: '', benchmarkDiscount: '' },\r\n { id: 17, name: 'Saturday Delivery', minCharge: '', benchmarkDiscount: '' },\r\n { id: 18, name: 'Additional Handling', minCharge: '', benchmarkDiscount: '' },\r\n { id: 19, name: 'Oversize Charge', minCharge: '', benchmarkDiscount: '' },\r\n { id: 20, name: 'Tracking ID Charge Description', minCharge: '', benchmarkDiscount: '' },\r\n { id: 21, name: 'Additional Handling Charge - Package', minCharge: '', benchmarkDiscount: '' },\r\n { id: 22, name: 'Disbursement Fee', minCharge: '', benchmarkDiscount: '' },\r\n { id: 23, name: 'Merchandise Processing Fee', minCharge: '', benchmarkDiscount: '' },\r\n { id: 24, name: 'Original VAT', minCharge: '', benchmarkDiscount: '' },\r\n { id: 25, name: 'Customs Duty', minCharge: '', benchmarkDiscount: '' },\r\n { id: 26, name: 'Weekly Service Chg', minCharge: '', benchmarkDiscount: '' },\r\n { id: 27, name: 'Additional Handling Charge - Weight', minCharge: '', benchmarkDiscount: '' }\r\n ];\r\n\r\n const fedexTransportationCharges = [\r\n { id: 1, name: 'FedEx 2Day', minCharge: '', benchmarkDiscount: '' },\r\n { id: 2, name: 'FedEx 2Day A.M.', minCharge: '', benchmarkDiscount: '' },\r\n { id: 3, name: 'FedEx 2Day Freight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 4, name: 'FedEx Express Saver', minCharge: '', benchmarkDiscount: '' },\r\n { id: 5, name: 'FedEx FedEx Intl Connect Plus', minCharge: '', benchmarkDiscount: '' },\r\n { id: 6, name: 'FedEx First Overnight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 7, name: 'FedEx International Priority', minCharge: '', benchmarkDiscount: '' },\r\n { id: 8, name: 'FedEx Intl Economy', minCharge: '', benchmarkDiscount: '' },\r\n { id: 9, name: 'FedEx Priority Overnight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 10, name: 'FedEx Standard Overnight', minCharge: '', benchmarkDiscount: '' },\r\n { id: 11, name: 'Ground', minCharge: '', benchmarkDiscount: '' },\r\n { id: 12, name: 'Home Delivery', minCharge: '', benchmarkDiscount: '' },\r\n { id: 13, name: 'FedEx Intl Priority Express', minCharge: '', benchmarkDiscount: '' }\r\n ];\r\n\r\n const handleValueUpdate = (name, key, value) => {\r\n const findBenchmark = benchmarks.find((x) => x.name === name);\r\n if (findBenchmark) {\r\n findBenchmark[key] = value;\r\n setBenchmarks([...benchmarks]);\r\n } else {\r\n setBenchmarks([...benchmarks, { id: 0, clientId, name, [key]: value }]);\r\n }\r\n };\r\n\r\n const getValueByName = (name, key) => {\r\n const findBenchmark = benchmarks.find((x) => x.name === name);\r\n if (findBenchmark) {\r\n return findBenchmark[key];\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const handleSaveChanges = async () => {\r\n setIsLoading(true);\r\n try {\r\n const res = await benchmarkService.saveChanges(benchmarks);\r\n showAlert({ text: res.message, state: 'success' });\r\n } catch (ex) {\r\n showAlert({ text: ex.message, state: 'error' });\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const addGroup = (shouldCloseModal) => {\r\n const findBenchmark = benchmarks.find((x) => x.name === groupModel.benchmarkName);\r\n if (findBenchmark) {\r\n findBenchmark.benchmarkGroups.push(groupModel);\r\n setBenchmarks([...benchmarks]);\r\n } else {\r\n setBenchmarks([...benchmarks, { id: 0, clientId, name: groupModel.benchmarkName, benchmarkGroups: [groupModel] }]);\r\n }\r\n\r\n setGroupModel({ ...initialGroupModel, benchmarkName: groupModel.benchmarkName, benchmarkId: groupModel.benchmarkId });\r\n\r\n if (shouldCloseModal) {\r\n setIsModalVisible(false);\r\n }\r\n };\r\n\r\n const handleInLineChange = (name, order, key, value) => {\r\n const findBenchmark = benchmarks.find((x) => x.name === name);\r\n if (findBenchmark) {\r\n findBenchmark.benchmarkGroups[order][key] = value;\r\n setBenchmarks([...benchmarks]);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {upsBMTransportationCharges.map((item) => (\r\n \r\n
\r\n \r\n }\r\n inputRightButtonOnClick={() => {\r\n setGroupModel({ ...initialGroupModel, benchmarkName: item.name, benchmarkId: item.id });\r\n setIsModalVisible(true);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'min', target.value)}\r\n value={getValueByName(item.name, 'min')}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'bm', target.value)}\r\n value={getValueByName(item.name, 'bm')}\r\n />\r\n \r\n
\r\n {benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.length > 0 && (\r\n \r\n \r\n

{item.name}

\r\n {\r\n benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.map((groupItem, index) => (\r\n
\r\n \r\n handleInLineChange(item.name, index, 'group', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'min', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'bm', target.value)}\r\n />\r\n \r\n
\r\n ))\r\n }\r\n
\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n\r\n {upsAccessorialCharges.map((item) => (\r\n \r\n
\r\n \r\n }\r\n inputRightButtonOnClick={() => {\r\n setGroupModel({ ...initialGroupModel, benchmarkName: item.name, benchmarkId: item.id });\r\n setIsModalVisible(true);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'min', target.value)}\r\n value={getValueByName(item.name, 'min')}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'bm', target.value)}\r\n value={getValueByName(item.name, 'bm')}\r\n />\r\n \r\n
\r\n {benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.length > 0 && (\r\n \r\n \r\n

{item.name}

\r\n {\r\n benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.map((groupItem, index) => (\r\n
\r\n \r\n handleInLineChange(item.name, index, 'group', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'min', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'bm', target.value)}\r\n />\r\n \r\n
\r\n ))\r\n }\r\n
\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n )}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {fedexTransportationCharges.map((item) => (\r\n \r\n
\r\n \r\n }\r\n inputRightButtonOnClick={() => {\r\n setGroupModel({ ...initialGroupModel, benchmarkName: item.name, benchmarkId: item.id });\r\n setIsModalVisible(true);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'min', target.value)}\r\n value={getValueByName(item.name, 'min')}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'bm', target.value)}\r\n value={getValueByName(item.name, 'bm')}\r\n />\r\n \r\n
\r\n {benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.length > 0 && (\r\n \r\n \r\n

{item.name}

\r\n {\r\n benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.map((groupItem, index) => (\r\n
\r\n \r\n handleInLineChange(item.name, index, 'group', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'min', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'bm', target.value)}\r\n />\r\n \r\n
\r\n ))\r\n }\r\n
\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n\r\n {fedexAccessorialCharge.map((item) => (\r\n \r\n
\r\n \r\n }\r\n inputRightButtonOnClick={() => {\r\n setGroupModel({ ...initialGroupModel, benchmarkName: item.name, benchmarkId: item.id });\r\n setIsModalVisible(true);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'min', target.value)}\r\n value={getValueByName(item.name, 'min')}\r\n />\r\n \r\n\r\n \r\n \r\n )}\r\n onChange={({ target }) => handleValueUpdate(item.name, 'bm', target.value)}\r\n value={getValueByName(item.name, 'bm')}\r\n />\r\n \r\n
\r\n {benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.length > 0 && (\r\n \r\n \r\n

{item.name}

\r\n {\r\n benchmarks.find((x) => x.name === item.name)?.benchmarkGroups?.map((groupItem, index) => (\r\n
\r\n \r\n handleInLineChange(item.name, index, 'group', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'min', target.value)}\r\n />\r\n \r\n\r\n \r\n handleInLineChange(item.name, index, 'bm', target.value)}\r\n />\r\n \r\n
\r\n ))\r\n }\r\n
\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n addGroup(false)}\r\n thirdModalActionText=\"Save & Close\"\r\n thirdModalActionOnClick={() => addGroup(true)}\r\n onHide={() => {\r\n setIsModalVisible(false);\r\n }}\r\n >\r\n \r\n
\r\n \r\n setGroupModel({ ...groupModel, group: target.value })}\r\n />\r\n \r\n \r\n setGroupModel({ ...groupModel, min: target.value })}\r\n />\r\n \r\n \r\n setGroupModel({ ...groupModel, bm: target.value })}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...auth.actions,\r\n ...alert.actions\r\n }\r\n)(BenchmarkPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Blog/';\r\n\r\nconst getAllBlogs = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllBlogs?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getBlogById = async (blogId) => axiosInstance.get(`${ENDPOINTORIGIN}GetBlogById?blogId=${blogId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createBlog = async (blog) => axiosInstance.post(`${ENDPOINTORIGIN}CreateBlog`, blog, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateBlog = async (blog) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateBlog`, blog, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteBlog = async (blogId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteBlog?id=${blogId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst assignContentSectionToBlog = async (blogId, contentSectionId, type) => axiosInstance.post(`${ENDPOINTORIGIN}AssignContentSectionToBlog?blogId=${blogId}&contentSectionId=${contentSectionId}&type=${type}`, {}, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst unassignContentSection = async (contentSectionBannerId) => axiosInstance.delete(`${ENDPOINTORIGIN}UnassignContentSection?contentSectionBannerId=${contentSectionBannerId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortBlogContentSections = async (sortOrders) => axiosInstance.put(`${ENDPOINTORIGIN}SortBlogContentSections`, sortOrders, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteBannerImage = async (blogId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteBannerImage?blogId=${blogId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllBlogs,\r\n getBlogById,\r\n createBlog,\r\n updateBlog,\r\n deleteBlog,\r\n assignContentSectionToBlog,\r\n unassignContentSection,\r\n sortBlogContentSections,\r\n deleteBannerImage\r\n};","/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoMdAddCircle } from 'react-icons/io';\r\n// CUSTOM COMPONENTS\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\n// SERVICES AND HELPERS\r\nimport * as blogService from '../../../../services/cms/blogService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst BlogListingPage = (props) => {\r\n const { showAlert, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [blogs, setBlogs] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n getBlogs();\r\n }, []);\r\n\r\n const getBlogs = () => {\r\n setIsLoading(true);\r\n blogService.getAllBlogs('').then((res) => {\r\n setBlogs(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const deleteBlog = (blogId) => {\r\n setIsLoading(true);\r\n\r\n blogService.deleteBlog(blogId).then((res) => {\r\n getBlogs();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: true\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: true,\r\n print: false,\r\n jumpToPage: true,\r\n textLabels: { pagination: { jumpToPage: 'Page No:' } }\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n \r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove blog',\r\n text: 'Are you sure you want to remove this blog?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteBlog(blogs[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Blog Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'addedBy',\r\n label: 'Added By',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'addedOn',\r\n label: 'Added On',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'isActive',\r\n label: 'Is Active?',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{blogs[dataIndex].isActive ? 'Yes' : 'No'}

\r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonTo=\"/cms/management/blog\"\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(BlogListingPage);","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Menu Item Name is required').max(250),\r\n url: Yup.string().required().max(250),\r\n isBannerVisible: Yup.bool().nullable(),\r\n bannerImageFilePath: Yup.string().nullable(),\r\n bannerColor: Yup.string().max(10),\r\n keywords: Yup.string().nullable().max(1500),\r\n description: Yup.string().nullable(),\r\n isActive: Yup.bool(),\r\n});","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-alert */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport { useParams } from 'react-router-dom';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { SwatchesPicker } from 'react-color';\r\nimport {\r\n DragDropContext,\r\n Droppable,\r\n Draggable\r\n} from 'react-beautiful-dnd';\r\n// ICONS\r\nimport { MdOutlinePlaylistAdd } from 'react-icons/md';\r\nimport { FaSquare } from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Button from '../../../../components/Button';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Image from '../../../../components/Image';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\n// ASSETS\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as blogService from '../../../../services/cms/blogService';\r\nimport * as contentSectionService from '../../../../services/cms/contentSectionService';\r\nimport BlogValidator from '../../../../helpers/validators/cms/blog/BlogValidator';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n\r\nconst intialBlogModel = {\r\n id: 0,\r\n name: '',\r\n url: '',\r\n isBannerVisible: true,\r\n bannerImageFilePath: '',\r\n bannerColor: '#000000',\r\n keywords: '',\r\n description: '',\r\n isActive: true,\r\n bannerImage: null,\r\n contentSections: []\r\n};\r\n\r\nconst typeSelectionOptions = [\r\n {\r\n label: 'Banner',\r\n value: 'BANNER'\r\n },\r\n {\r\n label: 'Content Section',\r\n value: 'CONTENTSECTION'\r\n }\r\n];\r\n\r\nconst BlogManagementPage = (props) => {\r\n const { showAlert, history, showConfirmModal, hideConfirmModal } = props;\r\n const { blogId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [isSortModalOpen, setIsSortModalOpen] = useState(false);\r\n const [file, setFile] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState(null);\r\n const [contentBannerTypeOption, setContentBannerTypeOption] = useState([]);\r\n const [selectedContentBannerTypeOption, setSelectedContentBannerTypeOption] = useState(null);\r\n const [blogModel, setBlogModel] = useState(intialBlogModel);\r\n const [sortList, setSortList] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n loadOptionsAndPopulateForm();\r\n setContentBannerTypeOption([]);\r\n setSelectedContentBannerTypeOption([]);\r\n }, [blogId]);\r\n\r\n useEffect(() => {\r\n setSelectedContentBannerTypeOption(null);\r\n setContentBannerTypeOption([]);\r\n if (selectedOption) {\r\n getOptions(selectedOption.value);\r\n }\r\n }, [selectedOption]);\r\n\r\n useEffect(() => {\r\n setSortList(blogModel.contentSections.sort((a, b) => a - b));\r\n }, [blogModel.contentSections]);\r\n\r\n const formik = useFormik({\r\n initialValues: blogModel,\r\n validationSchema: BlogValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (blogId) {\r\n updateBlog(values);\r\n } else {\r\n createBlog(values);\r\n }\r\n },\r\n });\r\n\r\n const loadOptionsAndPopulateForm = async () => {\r\n if (blogId > 0) {\r\n getBlog();\r\n }\r\n };\r\n\r\n const getOptions = (type) => {\r\n setIsLoading(true);\r\n\r\n contentSectionService.getContentSectionOptionsForBlog(blogId, type).then((res) => {\r\n setContentBannerTypeOption(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getBlog = async () => {\r\n setIsLoading(true);\r\n\r\n blogService.getBlogById(blogId).then((res) => {\r\n setBlogModel(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const createBlog = (model) => {\r\n setIsLoading(true);\r\n\r\n blogService.createBlog(helper.convertJsonToFormData(\r\n {\r\n ...model,\r\n bannerImage: file.length > 0 ? file[0].file : null\r\n }\r\n )).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push(`/cms/management/blog/edit/${res.id}`);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateBlog = (model) => {\r\n setIsLoading(true);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, bannerImage: file[0].file };\r\n }\r\n blogService.updateBlog(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/blogs');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const hideContentSectionModal = () => {\r\n setSelectedOption(null);\r\n setSelectedContentBannerTypeOption(null);\r\n setContentBannerTypeOption([]);\r\n\r\n setIsModalVisible(false);\r\n };\r\n\r\n const addContentSection = () => {\r\n if (selectedContentBannerTypeOption && selectedOption) {\r\n setIsLoading(true);\r\n\r\n blogService.assignContentSectionToBlog(blogId, selectedContentBannerTypeOption.value, selectedOption.value).then((res) => {\r\n getBlog();\r\n showAlert({ text: res.message, state: 'success' });\r\n hideContentSectionModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n } else {\r\n showAlert({ text: 'Please select both type & component', state: 'warning' });\r\n }\r\n };\r\n\r\n const deleteBlogContent = (id) => {\r\n setIsLoading(true);\r\n\r\n blogService.unassignContentSection(id).then((res) => {\r\n getBlog();\r\n showAlert({ text: res.message, state: 'success' });\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const sortBlogContents = () => {\r\n setIsLoading(true);\r\n\r\n blogService.sortBlogContentSections(sortList).then((res) => {\r\n getBlog();\r\n showAlert({ text: res.message, state: 'success' });\r\n setIsSortModalOpen(false);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const onDragEnd = (result) => {\r\n if (!result.destination) {\r\n return;\r\n }\r\n\r\n const tempArr = helper.reOrderDnd(\r\n sortList,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n setSortList(tempArr);\r\n };\r\n\r\n const deleteBannerImage = () => {\r\n blogService.deleteBannerImage(blogId).then((res) => {\r\n getBlog();\r\n showAlert({ text: res.message, state: 'success' });\r\n hideConfirmModal();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const columnOptions = {\r\n filter: true,\r\n sort: true,\r\n print: false,\r\n download: false\r\n };\r\n\r\n const options = {\r\n selectableRows: 'none',\r\n download: false,\r\n print: false,\r\n };\r\n\r\n const columns = [\r\n {\r\n name: 'id',\r\n label: 'Actions',\r\n options: {\r\n filter: false,\r\n sort: false,\r\n print: false,\r\n download: false,\r\n customBodyRenderLite: (dataIndex) => (\r\n \r\n {\r\n const model = blogModel.contentSections[dataIndex];\r\n history.push(`/cms/management/${(model.bannerId > 0) ? 'banner' : 'content-section'}/edit/${(model.bannerId > 0) ? model.bannerId : model.contentSectionId}`);\r\n }}\r\n />\r\n\r\n {\r\n showConfirmModal({\r\n title: 'Remove Blog Content',\r\n text: 'Are you sure you want to remove this content?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteBlogContent(blogModel.contentSections[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'name',\r\n label: 'Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'type',\r\n label: 'Type',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (

{helper.mapContentSectionName(blogModel.contentSections[dataIndex].type)}

)\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n {/* BASIC INFORMATION */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {/* PAGE BANNER */}\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n blogModel.bannerImageFilePath\r\n ? (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n showConfirmModal(\r\n {\r\n title: 'Remove Banner Image',\r\n text: 'Are you sure you want to remove this banner Image?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteBannerImage();\r\n }\r\n }\r\n )}\r\n />\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n\r\n \r\n\r\n \r\n }\r\n errorMessage={formik.errors.bannerColor}\r\n inputState={`${helper.getInputClasses(formik, 'bannerColor')}`}\r\n {...formik.getFieldProps('bannerColor')}\r\n />\r\n\r\n \r\n {\r\n formik.setFieldValue('bannerColor', c.hex);\r\n }}\r\n className=\"w-100\"\r\n />\r\n \r\n \r\n
\r\n\r\n {/* SEO INFORMATION */}\r\n
\r\n \r\n \r\n \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 blogId\r\n && (\r\n
\r\n \r\n }\r\n primaryButtonOnClick={() => setIsModalVisible(true)}\r\n secondaryButtonText=\"Sort Items\"\r\n secondaryButtonOnClick={() => setIsSortModalOpen(true)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n {/* PAGE ACTIONS */}\r\n 0 ? 'Save Changes' : 'Create Blog'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/cms/management/blogs\"\r\n optionalActionText={blogId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/cms/management/blogs\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n {/* ADD Content Section MODAL */}\r\n {\r\n if (selectedOption !== null) {\r\n history.push(`/cms/management/${(selectedOption.value === 'BANNER') ? 'banner' : 'content-section'}/blogId/${blogId}`);\r\n } else {\r\n showAlert({ text: 'Please select type of Component you want to create', state: 'warning' });\r\n }\r\n }}\r\n onHide={hideContentSectionModal}\r\n >\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n {/* SORT MODAL */}\r\n {\r\n setIsSortModalOpen(false);\r\n }}\r\n >\r\n
\r\n {\r\n sortList.length > 0\r\n ? (\r\n \r\n \r\n {(droppableProvided) => (\r\n \r\n {sortList.map((item, index) => (\r\n \r\n {(draggableProvided) => (\r\n \r\n

{item.name}

\r\n \r\n\r\n )}\r\n \r\n ))}\r\n {droppableProvided.placeholder}\r\n \r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n

No Items Available

\r\n
\r\n )\r\n }\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModalRedux.actions\r\n})(BlogManagementPage);","/* eslint-disable react/self-closing-comp */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport TextBlock from './TextBlock';\r\n\r\nconst ContentStrip = (props) => {\r\n const {\r\n badgeBackgroundColor,\r\n badgeText,\r\n imageSource,\r\n title,\r\n leftBlockText,\r\n rightBlockText,\r\n onClick,\r\n isFullWidth\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n badgeText !== ''\r\n && (\r\n \r\n

{badgeText}

\r\n
\r\n )\r\n }\r\n
\r\n\r\n \r\n\r\n \r\n \r\n

{leftBlockText}

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

{rightBlockText}

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nContentStrip.propTypes = {\r\n // MAIN PROPS\r\n imageSource: PropTypes.number,\r\n title: PropTypes.string,\r\n leftBlockText: PropTypes.string,\r\n rightBlockText: PropTypes.string,\r\n\r\n // BADGE PROPS\r\n badgeText: PropTypes.string,\r\n badgeBackgroundColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isFullWidth: PropTypes.bool\r\n};\r\n\r\nContentStrip.defaultProps = {\r\n // MAIN PROPS\r\n imageSource: null,\r\n title: '',\r\n leftBlockText: '',\r\n rightBlockText: '',\r\n\r\n // BADGE PROPS\r\n badgeText: '',\r\n badgeBackgroundColor: 'danger--sbg',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isFullWidth: false\r\n};\r\n\r\nexport default ContentStrip;","/* eslint-disable react/self-closing-comp */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\n// COMPONENTS\r\n// ICONS\r\nimport { HiSearch } from 'react-icons/hi';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../components/Section';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport ContentStrip from '../../../components/ContentStrip';\r\n// ASSETS - BLOG\r\n\r\nconst BlogsAndReviewsListingPage = (props) => {\r\n const { cmsInfo, history } = props;\r\n const [isLoading] = useState(false);\r\n const [filteredBlogs, setFilteredBlogs] = useState(cmsInfo.pages.filter((x) => x.isBlog));\r\n\r\n const today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n\r\n const search = (searchTerm) => {\r\n setFilteredBlogs(cmsInfo.pages\r\n .filter((x) => x.isBlog)\r\n .filter((x) => x.name.toLowerCase().includes(searchTerm.toLowerCase())));\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n \r\n \r\n\r\n {/* FILTERS BLOCK */}\r\n
\r\n \r\n \r\n }\r\n onChange={(e) => search(e.target.value)}\r\n />\r\n \r\n \r\n
\r\n\r\n {/* BLOGS */}\r\n \r\n {\r\n filteredBlogs.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n />\r\n ))\r\n }\r\n {\r\n filteredBlogs.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\nexport default BlogsAndReviewsListingPage;","export default __webpack_public_path__ + \"static/media/illustration_carrier-contract-negotiation.c1d4a549.svg\";","export default __webpack_public_path__ + \"static/media/illustration_shipping-optimization.cc5ed639.svg\";","export default __webpack_public_path__ + \"static/media/illustration_carrier-bid-management.f22d1c86.svg\";","/* eslint-disable max-len */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, {\r\n useState,\r\n useEffect,\r\n useRef\r\n} from 'react';\r\n// COMPONENTS\r\n// ICONS\r\nimport { BiRefresh } from 'react-icons/bi';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Overlay from './Overlay';\r\n// ASSETS\r\nimport '../assets/custom/AnimatedLogoStyles.css';\r\n\r\nconst AnimatedLogo = (props) => {\r\n const {\r\n onClick,\r\n width,\r\n height,\r\n } = props;\r\n\r\n const [isLoading] = useState(false);\r\n const [isAnimating, setIsAnimating] = useState(null);\r\n const [animationKey, setAnimationKey] = useState(0);\r\n const svgRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (isAnimating == null) {\r\n handleLogoAnimation();\r\n }\r\n }, []);\r\n\r\n const handleLogoAnimation = () => {\r\n setIsAnimating(true);\r\n setAnimationKey((prevKey) => prevKey + 1);\r\n };\r\n\r\n return (\r\n <>\r\n {(isLoading) && }\r\n \r\n \r\n {/* eslint-disable react/jsx-max-props-per-line, react/self-closing-comp, react/no-unknown-property */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* eslint-enable react/jsx-max-props-per-line, react/self-closing-comp, react/no-unknown-property */}\r\n \r\n\r\n {onClick && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AnimatedLogo;","export default __webpack_public_path__ + \"static/media/homepage-banner-image_default.74646cc3.png\";","export default __webpack_public_path__ + \"static/media/background-texture-1.2547e0e1.svg\";","/* eslint-disable max-len */\r\n/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\n// COMPONENTS\r\nimport Slider from 'react-slick';\r\n// ICONS\r\nimport { LiaShippingFastSolid } from 'react-icons/lia';\r\nimport CarrierContractNegotiation from '../../../assets/img/illustration_carrier-contract-negotiation.svg';\r\nimport ShippingOptimization from '../../../assets/img/illustration_shipping-optimization.svg';\r\nimport CarrierBidManagement from '../../../assets/img/illustration_carrier-bid-management.svg';\r\n// import CarrierSelection from '../../../assets/img/illustration_carrier-selection.svg';\r\n// import CarrierCompliance from '../../../assets/img/illustration_carrier-compliance-monitoring.svg';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Banner from '../../../components/Banner';\r\nimport AnimatedLogo from '../../../components/AnimatedLogo';\r\nimport Image from '../../../components/Image';\r\nimport Button from '../../../components/Button';\r\n// import ContentStrip from '../../../components/ContentStrip';\r\n// ASSETS - APP LINKS\r\n// import AppStoreBadge from '../../../assets/img/app-store-badge.svg';\r\n// import GooglePlayBadge from '../../../assets/img/google-play-badge.svg';\r\nimport BannerImage from '../../../assets/img/homepage-banner-image_default.png';\r\nimport BackgroundDecorationImage from '../../../assets/img/background-decoration_dark-light-waves.svg';\r\nimport BackgroundTexture from '../../../assets/img/background-texture-1.svg';\r\n// HELPERS\r\nimport constants from '../../../constants/constants';\r\n// SERVICES\r\n\r\nconst HomePage = (props) => {\r\n // const { dynamicPageModel, buttonAction, cmsInfo, history } = props;\r\n const { dynamicPageModel, buttonAction, history } = props;\r\n const [isLoading] = useState(false);\r\n const [banners, setBanners] = useState([]);\r\n const [offset, setOffset] = useState(0);\r\n\r\n const today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n\r\n const servicesOverview = [\r\n {\r\n title: 'Rate Negotiation',\r\n illustration: CarrierContractNegotiation,\r\n description: 'Unlock cost-saving shipping rates with our expert negotiators. We use deep industry knowledge to secure deals that cut costs and boost your savings.',\r\n },\r\n {\r\n title: 'Streamlined Shipping',\r\n illustration: ShippingOptimization,\r\n description: 'Our customized shipping strategies enhance your operational efficiency, ensuring reliable delivery without overspending.',\r\n },\r\n {\r\n title: 'Contract Monitoring',\r\n illustration: CarrierBidManagement,\r\n description: 'We keep a watchful eye on your shipping contracts, ensuring full compliance and persistent savings.',\r\n },\r\n // {\r\n // title: 'Carrier Selection',\r\n // illustration: CarrierSelection,\r\n // description: '',\r\n // },\r\n // {\r\n // title: 'Carrier Compliance and Monitoring',\r\n // illustration: CarrierCompliance,\r\n // description: '',\r\n // },\r\n ];\r\n\r\n useEffect(() => {\r\n const rotatingBanners = dynamicPageModel.pageContentSectionBanners.find((x) => x.bannerId > 0);\r\n if (rotatingBanners) {\r\n setBanners(rotatingBanners.banner.bannerItems);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => setOffset(window.pageYOffset);\r\n\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n }, []);\r\n\r\n const bannerSliderSettings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n autoplay: true,\r\n autoplaySpeed: 5000,\r\n\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n settings: { dots: false }\r\n }\r\n ]\r\n };\r\n\r\n // const navigateToLink = (link) => {\r\n // window.open(link, '_blank');\r\n // };\r\n\r\n return (\r\n <>\r\n {(isLoading) && }\r\n \r\n {/* BANNER SECTION */}\r\n \r\n \r\n {/* CUSTOM BANNER INSERT */}\r\n \r\n \r\n
\r\n

Ship Smarter, Grow Faster

\r\n
\r\n
\r\n )}\r\n imageSource={BannerImage}\r\n description={(\r\n

Save on shipping, expand your business.
Simple, effective logistics with Transport Logics.

\r\n )}\r\n // primaryActionText=\"Start Saving Now\"\r\n primaryActionText={(\r\n <>\r\n \r\n Start Saving Now\r\n \r\n )}\r\n primaryActionOnClick={() => {\r\n history.push('/transport-logics-services');\r\n }}\r\n primaryActionColor=\"primary--sbg light--clr\"\r\n // secondaryActionText={banner.secondaryButtonText}\r\n // secondaryActionOnClick={() => {\r\n // buttonAction(banner.secondaryButtonActionType, banner.secondaryButtonLink);\r\n // }}\r\n offset={offset}\r\n />\r\n
\r\n {\r\n banners.map((banner) => (\r\n {\r\n buttonAction(banner.primaryButtonActionType, banner.primaryButtonLink);\r\n }}\r\n secondaryActionText={banner.secondaryButtonText}\r\n secondaryActionOnClick={() => {\r\n buttonAction(banner.secondaryButtonActionType, banner.secondaryButtonLink);\r\n }}\r\n offset={offset}\r\n />\r\n ))\r\n }\r\n \r\n
\r\n\r\n {/* WEBSITE INTRO */}\r\n \r\n \r\n \r\n \r\n \r\n

Shipment Savings, Delivered!

\r\n
\r\n
\r\n\r\n {/* INTRO TO ABOUT */}\r\n \r\n \r\n

More Than Parcel Consultants

\r\n

At Transport Logics, we're more than just consultants; we're industry pioneers dedicated to optimizing your parcel shipping experience.

\r\n
\r\n

With over three decades of specialized insight, we empower your business to navigate the complexities of carrier contracts and logistics with ease. Our strategic analysis and customized solutions ensure your shipping processes are not just efficient but also cost-effective.

\r\n openInNewTab(primaryActionTo) : primaryActionOnClick}\r\n className=\"secondary--sbg\"\r\n />\r\n
\r\n
\r\n\r\n {/* INTROS TO SERVICES */}\r\n \r\n \r\n\r\n \r\n

How We Help You

\r\n

Experience the benefits of smarter shipping. Our approach focuses on finding real savings and making your shipping process smoother and more cost-effective.

\r\n \r\n {\r\n servicesOverview.map((item) => (\r\n history.push('/transport-logics-services')}>\r\n \r\n {`${item.title}\r\n {/* */}\r\n \r\n

{item.title}

\r\n {/*
*/}\r\n

{item.description}

\r\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 HomePage;","/* eslint-disable import/prefer-default-export */\r\n\r\nimport axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Home/';\r\n\r\nconst getCMSInfo = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetCMSInfo`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getDynamicPage = async (dynamicPageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetDynamicPage?dynamicPageId=${dynamicPageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getDynamicBlog = async (dynamicPageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetDynamicBlog?dynamicPageId=${dynamicPageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst searchProduct = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}SearchProduct`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst searchProductByKeyword = async (keyword) => axiosInstance.get(`${ENDPOINTORIGIN}SearchProductByKeyword?keyword=${keyword}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getCMSInfo,\r\n getDynamicPage,\r\n getDynamicBlog,\r\n searchProduct,\r\n searchProductByKeyword\r\n};","/* eslint-disable max-len */\r\n/* eslint-disable no-use-before-define */\r\n\r\n// DEPENDENCIES\r\n// import React, { useEffect, useState } from 'react';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\n// COMPONENTS\r\nimport Slider from 'react-slick';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\n// import TextBlock from '../../../components/TextBlock';\r\n// CMS COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport HomePage from './HomePage';\r\n// SERVICES AND HELPERS\r\nimport * as homeService from '../../../services/cms/homeService';\r\nimport constants from '../../../constants/constants';\r\nimport 'slick-carousel/slick/slick.css';\r\nimport 'slick-carousel/slick/slick-theme.css';\r\n\r\nconst initialDynamicPageModel = {\r\n bannerColor: '#ffffff',\r\n bannerImageFilePath: '',\r\n description: null,\r\n id: 0,\r\n isBannerVisible: false,\r\n keywords: '',\r\n name: '',\r\n pageContentSectionBanners: [],\r\n title: null,\r\n url: '',\r\n};\r\n\r\nconst DynamicCMSPage = (props) => {\r\n const { dynamicPageId, history, location, isBlog } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [dynamicPageModel, setDynamicPageModel] = useState(initialDynamicPageModel);\r\n\r\n useEffect(() => {\r\n if (isBlog) {\r\n getDynamicBlogContent();\r\n } else {\r\n getDynamicPageContent();\r\n }\r\n }, [location]);\r\n\r\n const getDynamicPageContent = () => {\r\n setIsLoading(true);\r\n homeService.getDynamicPage(dynamicPageId).then((res) => {\r\n setDynamicPageModel(res);\r\n }).catch().finally(() => setIsLoading(false));\r\n };\r\n\r\n const getDynamicBlogContent = () => {\r\n setIsLoading(true);\r\n homeService.getDynamicBlog(dynamicPageId).then((res) => {\r\n setDynamicPageModel(res);\r\n }).catch().finally(() => setIsLoading(false));\r\n };\r\n\r\n const buttonAction = (actionType, link) => {\r\n switch (actionType) {\r\n case constants.CONTENT_SECTION.ButtonActionTypeLink:\r\n window.open(link, '_blank');\r\n break;\r\n case constants.CONTENT_SECTION.ButtonActionTypeEmail:\r\n window.location.href = `mailto:${link}`;\r\n break;\r\n case constants.CONTENT_SECTION.ButtonActionTypePage:\r\n history.push(link);\r\n break;\r\n case constants.CONTENT_SECTION.ButtonActionTypePhoneNumber:\r\n window.location.href = `tel:${link}`;\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const generateContent = (model) => {\r\n switch (model.type) {\r\n case constants.CONTENT_SECTION.ContentSectionTypeDefault:\r\n case constants.CONTENT_SECTION.ContentSectionTypeReversed:\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidth:\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidthPadded:\r\n case constants.CONTENT_SECTION.ContentSectionTypeTextOnly:\r\n return (\r\n buttonAction(model.primaryButtonActionType, model.primaryButtonLink)}\r\n secondaryActionText={model.secondaryButtonText}\r\n secondaryActionOnClick={() => buttonAction(model.secondaryButtonActionType, model.secondaryButtonLink)}\r\n />\r\n );\r\n case constants.CONTENT_SECTION.ContentSectionTypeCard:\r\n return (\r\n buttonAction(model.primaryButtonActionType, model.primaryButtonLink)}\r\n primaryActionColor=\"dark--clr white--bg\"\r\n secondaryActionText={model.secondaryButtonText}\r\n secondaryActionColor=\"white--clr warning--bg\"\r\n secondaryActionOnClick={() => buttonAction(model.secondaryButtonActionType, model.secondaryButtonLink)}\r\n />\r\n );\r\n case constants.CONTENT_SECTION.ContentSectionTypeBanner:\r\n return (\r\n buttonAction(model.primaryButtonActionType, model.primaryButtonLink)}\r\n secondaryActionText={model.secondaryButtonText}\r\n secondaryActionOnClick={() => buttonAction(model.secondaryButtonActionType, model.secondaryButtonLink)}\r\n />\r\n );\r\n case constants.CONTENT_SECTION.ContentSectionCustom:\r\n return (\r\n \r\n );\r\n case constants.CONTENT_SECTION.ContentSectionDynamicBanner:\r\n if (dynamicPageModel.url === '/home') {\r\n return '';\r\n }\r\n return (\r\n \r\n {\r\n model.bannerItems.map((item) => (\r\n buttonAction(model.primaryButtonActionType, model.primaryButtonLink)}\r\n secondaryActionText={item.secondaryButtonText}\r\n secondaryActionOnClick={() => buttonAction(model.secondaryButtonActionType, model.secondaryButtonLink)}\r\n />\r\n ))\r\n }\r\n \r\n );\r\n default:\r\n return

Loading...

;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {dynamicPageModel.title || dynamicPageModel.name}\r\n \r\n \r\n \r\n {isLoading && }\r\n \r\n \r\n {/* PAGE SPECIFICS */}\r\n {\r\n dynamicPageModel.url === '/home' && (\r\n \r\n )\r\n }\r\n {\r\n dynamicPageModel.isBannerVisible && !(dynamicPageModel.addedBy && dynamicPageModel.addedOn)\r\n && (\r\n \r\n )\r\n }\r\n {\r\n dynamicPageModel.pageContentSectionBanners\r\n ? (\r\n dynamicPageModel.pageContentSectionBanners.map((section) => (\r\n generateContent((section.bannerId) ? { ...section.banner, type: constants.CONTENT_SECTION.ContentSectionDynamicBanner } : section.contentSection)\r\n ))\r\n )\r\n : (\r\n dynamicPageModel.blogContentSectionBanners.map((section) => (\r\n generateContent((section.bannerId) ? { ...section.banner, type: constants.CONTENT_SECTION.ContentSectionDynamicBanner } : section.contentSection)\r\n ))\r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DynamicCMSPage;","/* eslint-disable prefer-const */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, {\r\n useEffect,\r\n useState\r\n} from 'react';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { Helmet } from 'react-helmet';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n Switch,\r\n Route,\r\n Redirect,\r\n useLocation,\r\n} from 'react-router-dom';\r\nimport { enableBodyScroll } from 'body-scroll-lock';\r\n// ROUTES\r\nimport PrivateRoute from './routes/PrivateRoute';\r\nimport CMSRoute from './routes/CMSRoute';\r\n// CUSTOM COMPONENTS\r\nimport ConfirmModal from './components/ConfirmModal';\r\nimport AlertToast from './components/AlertToast';\r\n// AUTHENTICATION\r\nimport LoginPage from './pages/admin/authentication/LoginPage';\r\n// MANAGEMENT PAGES - SYSTEM\r\nimport UserListingPage from './pages/admin/management/user/UserListingPage';\r\n// PROJECT\r\n// CMS\r\n// -- MENU ITEMS\r\nimport MenuItemListingPage from './pages/cms/management/menu-item/MenuItemListingPage';\r\nimport MenuItemManagementPage from './pages/cms/management/menu-item/MenuItemManagementPage';\r\n// -- CONTENT PAGES\r\nimport PageListingPage from './pages/cms/management/page/PageListingPage';\r\nimport PageManagementPage from './pages/cms/management/page/PageManagementPage';\r\n// -- CONTENT SECTIONS\r\nimport ContentSectionListingPage from './pages/cms/management/content-section/ContentSectionListingPage';\r\nimport ContentSectionManagementPage from './pages/cms/management/content-section/ContentSectionManagementPage';\r\nimport BannerManagementPage from './pages/cms/management/content-section/BannerManagementPage';\r\n// ASSETS AND RESOURCES\r\nimport AssetsAndResourcesPage from './pages/cms/management/resources/AssetsAndResourcesPage';\r\n// FOOTER ITEMS\r\nimport FooterItemListingPage from './pages/cms/management/footer-items/FooterItemListingPage';\r\n// EVENT LISTING PAGE\r\n// import EventListingPage from './pages/admin/management/event/EventListingPage';\r\n// import EventManagementPage from './pages/admin/management/event/EventManagementPage';\r\n// import EventsPage from './pages/cms/pages/EventsPage';\r\n// import EventsPage from './pages/cms/pages/EventsPage';\r\n// import EventDetailPage from './pages/cms/pages/EventDetailPage';\r\n// CMS PAGES\r\n// import AboutPage from './pages/cms/pages/AboutPage';\r\n// import BoardOfDirectorsPage from './pages/cms/pages/BoardOfDirectorsPage';\r\n// import TeamMembersPage from './pages/cms/pages/TeamMembersPage';\r\n// import EconomicDevelopmentPage from './pages/cms/pages/EconomicDevelopmentPage';\r\nimport ContactPage from './pages/cms/pages/ContactPage';\r\nimport ClientManagementPage from './pages/admin/management/client/ClientManagementPage';\r\nimport ClientListingPage from './pages/admin/management/client/ClientListingPage';\r\nimport BidListingPage from './pages/admin/management/bid/BidListingPage';\r\nimport BidManagementPage from './pages/admin/management/bid/BidManagementPage';\r\nimport BidReportPage from './pages/admin/management/bid/BidReportPage';\r\nimport BenchmarkPage from './pages/admin/management/client/BenchmarkPage';\r\n// import SmallBusinessResourcesPage from './pages/cms/pages/SmallBusinessResourcesPage';\r\n// import EducationPage from './pages/cms/pages/EducationPage';\r\n// import LifestyleAndCommunityPage from './pages/cms/pages/LifestyleAndCommunityPage';\r\n// BLOGS\r\nimport BlogListingPage from './pages/cms/management/blog/BlogListingPage';\r\nimport BlogManagementPage from './pages/cms/management/blog/BlogManagementPage';\r\nimport BlogsAndReviewsListingPage from './pages/cms/pages/BlogsAndReviewsListingPage';\r\nimport DynamicCMSPage from './pages/cms/pages/DynamicCMSPage';\r\nimport Overlay from './components/Overlay';\r\n// SERVICES\r\nimport * as homeService from './services/cms/homeService';\r\n\r\nconst initialCMSInfo = {\r\n appStoreLink: '',\r\n city: '',\r\n companyIconPath: '',\r\n companyLogoPath: '',\r\n companyName: '',\r\n emailAddress: '',\r\n facebookLink: '',\r\n googleMapLink: '',\r\n googlePlayStoreLink: '',\r\n instagramLink: '',\r\n linkedInLink: '',\r\n menuItems: [],\r\n pages: [],\r\n footerItems: [],\r\n phoneNumber: '',\r\n primaryWeekDayHours: '',\r\n primaryWeekEndHours: '',\r\n secondaryWeekDayHours: '',\r\n secondaryWeekEndHours: '',\r\n state: '',\r\n streetAddress1: '',\r\n streetAddress2: '',\r\n twitterLink: '',\r\n youtubeLink: '',\r\n zipCode: '',\r\n};\r\n\r\nconst Routes = (props) => {\r\n const { auth } = props;\r\n const [isAuthorized, setIsAuthorized] = useState(true);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [cmsInfo, setCmsInfo] = useState(initialCMSInfo);\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n fetchCMSInfoAndValidate();\r\n }, [auth]);\r\n\r\n const fetchCMSInfoAndValidate = async () => {\r\n setIsLoading(true);\r\n validateAccess();\r\n\r\n await homeService.getCMSInfo().then((res) => {\r\n setCmsInfo(res);\r\n }).catch().finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const validateAccess = () => {\r\n if (auth.authToken !== '') {\r\n try {\r\n let decodedToken = jwt_decode(auth.authToken);\r\n setIsAuthorized(!!decodedToken);\r\n } catch (ex) {\r\n setIsAuthorized(false);\r\n }\r\n } else {\r\n setIsAuthorized(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const body = document.querySelector('body');\r\n window.scrollTo(0, 0);\r\n enableBodyScroll(body);\r\n }, [pathname]);\r\n\r\n return (\r\n <>\r\n {\r\n cmsInfo.googleAnalyticsId && (\r\n \r\n \r\n \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 {/* CMS PAGES */}\r\n {/* DYNAMIC CMS ROUTING */}\r\n {\r\n cmsInfo.pages.map((page) => (\r\n \r\n ))\r\n }\r\n\r\n \r\n\r\n {/* */}\r\n\r\n \r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* ECONOMIC DEVELOPMENT PAGES */}\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* \r\n\r\n */}\r\n\r\n {\r\n isAuthorized\r\n ? (\r\n <>\r\n {/* USERS */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n {/* CMS */}\r\n\r\n {/* MENU ITEMS */}\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 \r\n\r\n {/* BLOGS */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* CONTENT SECTIONS */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* BANNER */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* ASSETS AND RESOURCES */}\r\n \r\n\r\n {/* FOOTER ITEMS */}\r\n \r\n\r\n \r\n\r\n {/* EVENTS */}\r\n {/* \r\n\r\n \r\n\r\n */}\r\n \r\n )\r\n : \r\n }\r\n \r\n )\r\n }\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, null)(Routes);","/* eslint-disable import/no-unresolved */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport HttpsRedirect from 'react-https-redirect';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport Routes from './Routes';\r\n// CUSTOM COMPONENTS\r\n// STYLESHEETS\r\nimport 'react-table/react-table.css';\r\nimport './assets/css/main.css';\r\nimport './assets/custom/custom.css';\r\n\r\nconst App = () => (\r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default App;","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({\r\n getCLS,\r\n getFID,\r\n getFCP,\r\n getLCP,\r\n getTTFB\r\n }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\nimport App from './app/App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport store, { persistor } from './app/redux/store';\r\n\r\nconst { PUBLIC_URL } = process.env;\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\nreportWebVitals();"],"sourceRoot":""}