{"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/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/Section.js","app/components/ContentBlock.js","app/components/FormBlock.js","app/components/DotIndicator.js","app/components/TextHeader.js","app/components/ContentHeader.js","app/components/ModalBlock.js","app/components/InputBlock.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/management/userService.js","app/helpers/helper.js","app/components/LoginPasswordRecoveryModal.js","app/helpers/validators/user/LoginValidator.js","app/components/HeaderNavigation.js","app/assets/img/app-store-badge.svg","app/assets/img/google-play-badge.svg","app/components/FooterBlock.js","app/routes/CMSRoute.js","app/routes/MemberRoute.js","app/components/ConfirmModal.js","app/components/AlertToast.js","app/assets/img/logo_original-recreation.png","app/pages/admin/authentication/LoginPage.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/components/TextAreaBlock.js","app/services/management/membershipService.js","app/pages/admin/management/member/MemberListingPage.js","app/services/management/donationService.js","app/pages/admin/management/donation/DonationListingPage.js","app/services/management/brickService.js","app/pages/admin/management/brick/BrickListingPage.js","app/services/management/galleryService.js","app/pages/admin/management/gallery/GalleryListingPage.js","app/components/FileUploadBlock.js","app/components/FixedActionsBar.js","app/services/management/galleryImageService.js","app/pages/admin/management/gallery/GalleryManagementPage.js","app/services/management/newsletterService.js","app/pages/admin/management/newsletter/NewsletterListingPage.js","app/services/cms/menuItemService.js","app/pages/cms/management/menu-item/MenuItemListingPage.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/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/assets/img/banner-image_brick-project.png","app/pages/cms/pages/BrickProject.js","app/assets/img/banner-image_membership.jpg","app/pages/cms/pages/MembershipPage.js","app/pages/cms/pages/RegistrationPage.js","app/pages/cms/pages/tabs/AccountDetailsTab.js","app/pages/cms/pages/tabs/BrickProjectTab.js","app/pages/cms/pages/tabs/DontationTab.js","app/pages/cms/pages/tabs/MembershipTab.js","app/services/management/familyMemberService.js","app/pages/cms/pages/tabs/FamilyMemberTab.js","app/pages/cms/pages/AccountDetailsPage.js","app/assets/img/banner-image_donation.png","app/pages/cms/pages/DonationPage.js","app/pages/cms/pages/GalleryPage.js","app/pages/cms/pages/NewsletterPage.js","app/pages/cms/pages/GalleryImagePage.js","app/components/ContentStrip.js","app/pages/cms/pages/BlogsAndReviewsListingPage.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/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","_objectSpread","concat","defaultProps","Button","text","size","type","to","onClick","isTextUppercase","isBadge","isLoading","isDisabled","buttonSubActions","isSubActionsVisible","iconLeft","iconRight","history","useHistory","_jsxs","_Fragment","path","push","lg","md","sm","xs","xxs","disabled","AiOutlineLoading","TextBlock","link","containerClassName","position","color","actionText","actionTextColor","actionBackgroundColor","actionSize","actionIconRight","isTargetBlank","isPadded","isUppercase","hasAction","left","center","right","href","target","rel","e","preventDefault","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","IoClose","SideSheet","ListBlock","titleColor","tooltipText","tooltipTextColor","tooltipBackgroundColor","iconLeftBadgeText","iconLeftBadgeTextColor","iconLeftBadgeBackgroundColor","iconRightText","iconRightTextColor","iconRightBackgroundColor","badgeText","badgeTextColor","badgeColor","onDoubleClick","isCollapsed","hasRoundIconRight","_useState","useState","_useState2","_slicedToArray","isTooltipVisible","setIsTooltipVisible","onMouseEnter","onMouseLeave","width","actionTypes","initialAuthState","user","firstName","lastName","username","authToken","refreshToken","isAdmin","accessLevel","reducer","persistReducer","storage","key","whitelist","state","arguments","length","undefined","action","token","payload","userDetail","decodedToken","jwt_decode","IsAdmin","AccessLevel","actions","login","logout","connect","auth","_ref","Component","component","rest","_objectWithoutProperties","_excluded","companyIconPath","cmsInfo","isDrawerOpen","setIsDrawerOpen","_useState3","_useState4","navigationTitleVisible","setNavigationTitleVisible","_useState5","_useState6","subMenuVisible","setSubMenuVisible","_useState7","_useState8","sideSheetOpen","setSideSheetOpen","_useState9","_useState10","sideSheetDonationProgramsOpen","setSideSheetDonationProgramsOpen","body","document","querySelector","iconSize","menuIconColor","iconColor","toggleDrawer","setTimeout","navigateToPath","enableBodyScroll","toggleSideSheet","disableBodyScroll","toggleSideSheetDonationPrograms","id","BsPeopleFill","isVisible","MdGroups","FaMoneyBillWave","RiLayout5Fill","FiLogOut","websiteManagementItems","IoList","CgCopy","BiPencil","IoImagesOutline","IoNewspaperOutline","RiListCheck2","IoLinkSharp","CgWebsite","donationProgramsManagementItems","FaDonate","GiBrickWall","Route","render","HiMenuAlt4","filter","x","map","item","index","rotateIconRight","subMenuItems","hasSubMenu","HiChevronRight","window","open","rightItemPrimaryButtonColor","rightItemPrimaryButtonOnClick","rightItemSecondaryButtonText","rightItemSecondaryButtonColor","DrawerNavigation","SelectBlock","label","labelColor","inputLabel","inputState","errorMessage","successMessage","warningMessage","placeholder","isAsync","isCreatable","isLabelLoading","isMulti","isRequired","inputStates","error","warning","success","tabIndex","marginTop","display","marginBottom","Async","classNamePrefix","CreatableSelect","Select","Chip","Section","hasNoContainer","isFullWidth","containerStyle","rowClassName","rowStyle","ContentBlock","cols","FormBlock","onSubmit","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","isActionsCentered","isEnterKeydownEnabled","useEffect","handleKeyDown","event","addEventListener","removeEventListener","Modal","show","centered","InputBlock","mask","inputRightButtonText","inputRightButtonBackgroundColor","inputRightButtonTextColor","iconLeftOnClick","iconRightOnClick","inputRightButtonOnClick","isAutoFocus","Flatpickr","autoFocus","paddingLeft","InputMask","autoComplete","initialAlertState","visible","showAlert","model","hideAlert","initialConfirmModalState","btnAction","console","log","closeBtnAction","rightBtnText","isProcessing","showConfirmModal","hideConfirmModal","setProcessing","appReducer","combineReducers","alertToast","confirmModal","sagaMiddleware","createSagaMiddleware","middleware","_toConsumableArray","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","store","configureStore","devTools","enhancers","reduxBatch","persistor","persistStore","isEnabled","config","property","hasOwnProperty","requestHandler","_asyncToGenerator","_regeneratorRuntime","mark","_callee","request","_store$getState","wrap","_context","prev","next","getState","headers","Authorization","abrupt","stop","_x","apply","errorHandler","_ref2","_callee2","err","originalConfig","_store$getState2","rs","_context2","url","response","status","_retry","axiosInstance","post","sent","data","dispatch","Error","message","t0","defaultErrorHandler","_x2","_ref3","_callee3","_context3","Promise","resolve","then","res","Message","localStorage","removeItem","location","origin","_x3","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","PAYPAL_CLIENT_ID","axios","create","baseURL","interceptors","use","successHandler","ENDPOINTORIGIN","register","getUserById","userId","get","getAllUsers","_ref4","_callee4","_context4","updateUser","_ref5","_callee5","_context5","put","_x4","changeUserPassword","_ref6","_callee6","newPassword","oldPassword","_context6","_x5","_x6","deleteUser","_ref7","_callee7","_context7","delete","_x7","sendPasswordRecoveryEmail","_ref8","_callee8","userEmail","_context8","_x8","resetPassword","_ref9","_callee9","_context9","_x9","getInputClasses","formik","fieldname","touched","errors","convertJsonToFormData","json","form_data","FormData","_loop","Array","isArray","forEach","append","setToOptionModel","name","value","reOrderDnd","list","startIndex","endIndex","result","_result$splice","splice","removed","i","sortOrder","mapContentSectionName","currencyFormat","Intl","NumberFormat","currency","format","LoginPasswordRecoveryModal","onLoginSuccess","setIsVisible","loginPasswordVisible","setLoginPasswordVisible","recoverAccountPanel","setRecoverAccountPanel","resetPasswordPanel","setResetPasswordPanel","resetPasswordVisible","setResetPasswordVisible","resetPasswordConfirmVisible","setResetPasswordConfirmVisible","loginFormik","useFormik","initialValues","email","password","validationSchema","Yup","shape","required","min","values","setSubmitting","userService","pathname","UserId","catch","ex","finally","recoveryEmailFormik","resetPasswordFormik","resetCode","confirmPassword","oneOf","_onSubmit","_ex$response","_ex$response$data","setAlert","finish","handleLoginModalClose","handleSubmit","isSubmitting","helper","getFieldProps","HiOutlineMail","FiUser","FiLock","initialModel","HeaderNavigation","emailAddress","menuItemsBlockBackgroundColor","menuItemColor","menuToggleIconColor","menuToggleIconSize","mobileMenuItemColor","submenuBlockBackgroundColor","submenuItemColor","fixedNavigationBarBackgroundColor","logo","icon","iconAppearance","socialIconColor","socialIconBackgroundColor","primarySocialMediaLink","secondarySocialMediaLink","hasSearchBlock","menuItems","hasChipFilter","isMobileSubmenuVisible","setIsMobileSubmenuVisible","scroll","setScroll","isLoginModalOpen","setIsLoginModalOpen","onScroll","scrollCheck","scrollY","getProfileIcon","iconAppearanceOptions","square","round","circle","handleMenuItemClick","menuItem","pageUrl","customLink","navigateToPage","page","loginUser","LoginValidator","mobile","targetProfileIcon","adminEditorIcon","RiShieldUserFill","RiShieldUserLine","defaultIcon","RiUserFill","RiUserLine","userInitials","memberIcon","fullName","split","word","join","toUpperCase","RiShoppingCart2Fill","FiMenu","onKeyDown","predefinedFilter","sortBy","priceRange","categories","searchTerm","productTypes","featuredSections","skip","blur","autoBlur","defaultOptions","noOptionsMessage","inputValue","formatOptionLabel","option","filePath","onChange","FiFacebook","RiInstagramLine","MdMailOutline","assignedMenuItems","submenuItem","RiShoppingCart2Line","RiLoginBoxLine","TiArrowSortedDown","authRedux","FooterBlock","phoneNumber","imageSource","bottomFooterBackgroundColor","subheaderColor","subheaderClassName","companyName","copyrightTextColor","footerHeaderTextColor","appStoreLink","googlePlayLink","facebookLink","instagramLink","twitterLink","linkedInLink","youtubeLink","tiktokLink","hasSocialMediaIconColor","hasEmailSignUp","hasContactBlock","navigateToLink","includes","tel","AppStoreBadge","GooglePlayBadge","RiFacebookFill","RiTwitterFill","RiLinkedinFill","RiYoutubeLine","IoLogoTiktok","Date","getFullYear","CMSRoute","dynamicPageId","isBlog","companyLogoPath","isSubmenuFullWidth","hasSubmenu","destination","stores","googlePlayStoreLink","tikTokLink","MemberRoute","redirectPath","hasAccess","Redirect","handleCloseBtn","padded","static","contentDescriptionClassName","info","FiThumbsUp","HiOutlineEmojiSad","BiShocked","HiOutlineLightBulb","passwordVisible","setPasswordVisible","isValid","Logo","CheckboxBlock","labelClassName","isChecked","checked","for","max","phone","isActive","nullable","isEditor","userRegisterModel","initialUpdatePasswordModel","initialEditModel","alert","registerModalVisible","setRegisterModalVisible","updatePasswordModalVisible","setUpdatePasswordRegisterModalVisible","editModalVisible","setEditModalVisible","isPasswordVisible","setIsPasswordVisible","isConfirmPasswordVisible","setIsConfirmPasswordVisible","_useState11","_useState12","userList","setUserList","_useState13","_useState14","setIsLoading","_useState15","_useState16","updatePasswordModel","setUpdatePasswordModel","_useState17","_useState18","editUserModel","setEditUserModel","register_user_formik","RegisterUserValidator","registerUser","update_password_user_formik","UpdatePasswordValidator","enableReinitialize","updateUserPassword","edit_user_formik","EditUserValidator","editUser","closeRegisterModal","resetForm","closeEditModal","columnOptions","sort","print","download","columns","options","customBodyRenderLite","dataIndex","OverLay","IoPersonSharp","MUIDataTable","selectableRows","jumpToPage","textLabels","pagination","submitForm","FiEye","FiEyeOff","setFieldValue","TextAreaBlock","getMemberships","createMembership","updateUserMembership","buyMembership","getLoggedInUserMembership","getMemberInfo","memberId","deleteMember","businessName","addressLine1","addressLine2","city","zipCode","notes","members","setMembers","nonMembers","setNonMembers","memberToEdit","setMemberToEdit","memberInfo","setMemberInfo","donations","setDonations","bricks","setBricks","detailsModalVisibility","setDetailsModalVisibility","memberModalVisibility","setMemberModalVisibility","_useState19","fetchMembers","tempPassword","toLowerCase","updatedValues","updateForm","membershipService","activeMemberships","nonActiveMemberships","hasActiveMembership","fetchMemberDetails","fetchMemberEdit","setValues","toggleMemberModal","prevState","memberColumns","membershipDateTime","today","moment","dateRenewed","daysSinceRenewal","diff","nonMemberColumns","AccordionBlock","eventKey","Card","Accordion","Toggle","as","Header","FaChevronDown","Collapse","Body","rowsPerPage","defaultActiveKey","MdCardMembership","membershipTier","Table","striped","borderless","amount","brick","dateOrdered","line1","line2","line3","donation","MdFamilyRestroom","getDonations","submitDonation","getAllDonations","updateDonation","updatedDonation","removeDonation","donationId","paymentType","isEditing","setIsEditing","memberOptions","setMemberOptions","selectedMember","setSelectedMember","donationModalVisibility","setDonationModalVisibility","fetchDonations","fetchMemberOptions","donationService","member","toggleDonationModal","donationWithParsedDate","toDate","find","opt","fetchDonationEdit","targetDonation","orderedBy","customBodyRender","selectedOpt","date","maskChar","replace","parseFloat","getBricks","getAllBricks","submitBrick","BrickListingPage","fetchBricks","brickService","getAllGalleries","getGalleryById","galleryId","createGallery","updateGallery","deleteGallery","initialGalleryModel","galleries","setGalleries","isAddGalleryModalOpen","setIsAddGalleryModalOpen","fetchGalleries","galleryService","imageCount","galleryImages","toggleAddGalleryModal","registerPlugin","FilePondPluginImageExifOrientation","FilePondPluginImagePreview","FileUploadBlock","forwardRef","ref","labelIdle","FilePond","FixedActionsBar","primaryActionText","primaryActionColor","primaryActionTo","isPrimaryActionDisabled","primaryActionOnClick","secondaryActionText","secondaryActionColor","secondaryActionTo","isSecondaryActionDisabled","secondaryActionOnClick","optionalActionText","optionalActionColor","optionalActionTo","optionalActionOnClick","addImage","updateImage","deleteImage","imageId","initialGalleryImageModel","imageFilePath","useParams","gallery","setGallery","setGalleryImages","galleryImage","setGalleryImage","file","setFile","isAddImageModalOpen","setIsAddImageModalOpen","fetchGallery","formikGalleryImage","image","galleryImageService","toggleAddImageModal","imageUrl","background","height","IoImageOutline","onupdatefiles","getAllNewsletters","createNewsletter","updateNewsletter","deleteNewsletter","newsletterId","initialNewsletterModel","month","year","newsletters","setNewsletters","newsletterModel","setNewsletterModel","selectedMonth","setSelectedMonth","selectedYear","setSelectedYear","isAddNewsletterModalOpen","setIsAddNewsletterModalOpen","yearOptions","currentYear","_","toString","reverse","monthOptions","fetchNewsletters","newsletterService","toggleAddNewsletterModal","selected","getAllMenuItems","getMenuItemsById","menuItemId","getMenuItemsWithNoParentOrChild","createMenuItem","deleteMenuItem","updateMenuItems","removeParentMenuItem","assignParentMenuItem","sortMenuItems","sortChildMenuItems","_ref10","_callee10","_context10","isSortModalOpen","setIsSortModalOpen","setMenuItems","sortList","setSortList","getMenuItems","a","b","menuItemService","IoMdAddCircle","DragDropContext","onDragEnd","tempArr","Droppable","droppableId","droppableProvided","innerRef","Draggable","draggableId","draggableProvided","draggableProps","dragHandleProps","getAllPages","getPageById","pageId","createPage","updatePage","deletePage","assignContentSectionToPage","contentSectionId","unassignContentSection","contentSectionBannerId","sortPageContentSections","sortOrders","_x10","deleteBannerImage","_x11","parentMenuItemId","intialMenuItemModel","confirmModalRedux","menuItemModel","setMenuItemModel","parentMenuItem","selectedOptions","setSelectedOptions","pageOptions","setPageOptions","menuItemOptions","setMenuItemOptions","isModalVisible","setIsModalVisible","assignmentMenuItemOptions","setAssignmentMenuItemOptions","selectedAssignmentMenuItem","setSelectedAssignmentMenuItem","_useState20","loadOptionsAndPopulateForm","MenuItemValidator","updateMenuItem","pages","getPageOptions","getMenuItemOptions","getMenuItem","getMenuItemForAssignments","selectedOptionsFromApi","selectedPage","selectedMenuItem","pageService","pageList","assignmentlist","Number","menuItemList","isClearable","parentId","childMenuItemIds","closeMenuOnSelect","setPages","getPages","getAllContentSections","getContentSectionById","createContentSection","contentSection","updateContentSection","deleteContentSection","getContentSectionOptions","getContentSectionOptionsForBlog","blogId","isBannerVisible","bannerImageFilePath","bannerColor","keywords","description","intialPageModel","bannerImage","contentSections","typeSelectionOptions","selectedOption","setSelectedOption","contentBannerTypeOption","setContentBannerTypeOption","selectedContentBannerTypeOption","setSelectedContentBannerTypeOption","pageModel","setPageModel","getOptions","PageValidator","getPage","contentSectionService","hideContentSectionModal","bannerId","FaSquare","SwatchesPicker","onChangeComplete","c","hex","MdOutlinePlaylistAdd","getBannerById","createBanner","banner","updateBanner","deleteBanner","setContentSections","isConfirmDeleteModalVisible","setIsConfirmDeleteModalVisible","getContentSections","bannerService","SelectablePreview","isSelected","when","is","otherwise","rawHTML","alignment","imagePath","isFloatingCard","hasRoundedCorners","isTextOnly","primaryButtonActionType","primaryButtonLink","secondaryButtonActionType","secondaryButtonLink","Quill","ImageResize","htmlEditButton","initialContentSectionModel","primarButtonLink","modules","toolbar","header","font","indent","clipboard","matchVisual","imageResize","parchment","import","linkTypes","alignmentOptions","components","CustomSectionImage","ContentSectionDefaultImage","ContentSectionReversedImage","ContentSectionFulWidthImage","ContentSectionFulWidthPaddedImage","ContentSectionTextOnlyImage","ContentSectionFloatingCardImage","DynamicBannerSectionImage","_useParams","contentSectionModel","setContentSectionModel","setAlignment","primaryActionType","setPrimaryActionType","secondaryActionType","setSecondaryActionType","getContentSection","ContentSectionValidator","fillSelectedOptions","selectedAlignment","selectedPrimaryActionType","selectedSecondaryActionType","floatingCardProp","isTextOnlyProp","isPaddedProp","alignmentProp","showOrHideFields","onMenuOpen","setFieldTouched","ReactQuill","theme","val","formats","createBannerItem","bannerItem","updateBannerItem","deleteBannerItem","bannerItemId","sortBannerItems","bannerItems","initialBannerModel","BannerDynamicBanner","filePondRef","useRef","initialBannerItemModel","bannerModel","setBannerModel","bannerItemModel","setBannerItemModel","getBanner","BannerValidator","formik_bannerItem","BannerItemValidator","bannerItemService","resetBannerItemForm","resetBannerItemEditFormFields","current","removeFiles","getAsset","updateAsset","streetAddress1","streetAddress2","primaryWeekDayHours","primaryWeekEndHours","secondaryWeekDayHours","secondaryWeekEndHours","googleMapLink","googleAnalyticsId","initialAssetModel","companyLogo","companyIcon","googleAnalyticsLink","seo","facebookPixelCode","assetModel","setAsset","logoFile","setLogoFile","iconFile","setIconFile","logoRef","iconRef","fetchAssets","AssetValidator","saveAsset","assetService","getAllFooterItems","getFooterItemById","footerItemId","createFooterItem","footerItem","updateFooterItem","deleteFooterItem","sortFooterItems","initialFooterItemModel","setFooterItems","footerItemModel","setFooterItemModel","getFooterItems","FooterItemValidator","footerItemService","closeFooterItemModal","ContentSection","descriptionColor","cardBackgroundColor","isPrimaryActionTargetBlank","isSecondaryActionTargetBlank","isReversed","isTitleUppercase","hasCardBackgroundImage","isFullWidthUnpadded","backgroundImage","Banner","bannerBackgroundColor","titlePosition","isDynamicBanner","payPalTransactionId","isPaymentModalOpen","setIsPaymentModalOpen","handleModalClose","BannerImage","PayPalButton","onSuccess","details","JSON","stringify","onError","clientId","membershipTierOptions","membershipAmountPlaceholderRef","Member","Supporter","Sponsor","Patron","Benefactor","selectedMembership","setSelectedMembership","payPalTransaction","passwordConfirmVisible","setPasswordConfirmVisible","alertRedux","membership","BrickProjectTab","getUserBricks","DontationsTab","getUserDonations","MembershipTab","setMembership","getUserMembership","ENDPOINT","getAllFamilyMembers","getAllRelativeFamilyMembers","createFamilyMember","deleteFamilyMember","familyMemberId","familyMembers","setFamilyMembers","relativeFamilyMembers","setRelativeFamilyMembers","selectedFamilyMember","setSelectedFamilyMember","isAddFamilyMemberModal","setIsAddFamilyMemberModal","getFamilyMembers","getMemberOptions","getRelativeFamilyMembers","familyMemberServivce","ignoreMemberIds","filteredOptions","relativeId","relation","toggleIsAddFamilyMemberModal","responsive","hover","valign","familyMember","fromName","fromCity","fromState","getMembership","Tabs","Tab","tabClassName","AccountDetailsTab","FamilyMemberTab","donationOptions","selectedAmount","setSelectedAmount","isPaymentByCheck","setIsPaymentByCheck","isPaymentByCheckSection","setIsPaymentByCheckSection","isPaymentByCheckInstructions","setIsPaymentByCheckInstructions","onCancel","groupedNewsletters","unix","reduce","acc","newsletter","Object","keys","localeCompare","FaRegFilePdf","documentFilePath","clickedImage","setClickedImage","isImageModalOpen","setIsImageModalOpen","toggleImageModal","handleImageClick","ContentStrip","badgeBackgroundColor","leftBlockText","rightBlockText","BlogsAndReviewsListingPage","filteredBlogs","setFilteredBlogs","setHours","HiSearch","addedOn","addedBy","getTime","getAllBlogs","getBlogById","createBlog","blog","updateBlog","deleteBlog","assignContentSectionToBlog","sortBlogContentSections","blogs","setBlogs","getBlogs","blogService","intialBlogModel","blogModel","setBlogModel","BlogValidator","getBlog","HomePage","dynamicPageModel","buttonAction","banners","setBanners","rotatingBanners","pageContentSectionBanners","Slider","dots","infinite","speed","slidesToShow","slidesToScroll","arrows","autoplay","autoplaySpeed","breakpoint","settings","getCMSInfo","getDynamicPage","getDynamicBlog","initialDynamicPageModel","DynamicCMSPage","setDynamicPageModel","getDynamicBlogContent","getDynamicPageContent","homeService","actionType","generateContent","dangerouslySetInnerHTML","__html","Helmet","content","section","blogContentSectionBanners","initialCMSInfo","isAuthorized","setIsAuthorized","setCmsInfo","useLocation","fetchCMSInfoAndValidate","validateAccess","scrollTo","async","AlertToast","ConfirmModal","Switch","exact","LoginPage","RegistrationPage","GalleryPage","GalleryImagePage","BrickProject","parseInt","DonationPage","MembershipPage","AccountDetailsPage","NewsletterPage","PrivateRoute","UserListingPage","MemberListingPage","DonationListingPage","MenuItemListingPage","MenuItemManagementPage","PageListingPage","PageManagementPage","BlogListingPage","BlogManagementPage","ContentSectionListingPage","ContentSectionManagementPage","BannerManagementPage","AssetsAndResourcesPage","FooterItemListingPage","GalleryListingPage","GalleryManagementPage","NewsletterListingPage","App","HttpsRedirect","BrowserRouter","Routes","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","React","StrictMode","Provider","PersistGate","basename","getElementById"],"mappings":"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","file":"static/js/main.af0567e2.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 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 };\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 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 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 const handleClick = (e) => {\r\n if (onClick) {\r\n e.preventDefault();\r\n onClick(e);\r\n }\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;","// 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\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 accessLevel: 0,\r\n};\r\n\r\nexport const reducer = persistReducer(\r\n { storage, key: 'auth', whitelist: ['user', 'authToken', 'refreshToken', 'isAdmin', 'accessLevel'] },\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 {\r\n user: userDetail,\r\n authToken: token,\r\n isAdmin: decodedToken.IsAdmin === 'True',\r\n refreshToken: userDetail.refreshToken,\r\n accessLevel: decodedToken.AccessLevel\r\n };\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 {\r\n user: userDetail,\r\n authToken: token,\r\n isAdmin: decodedToken.IsAdmin === 'True',\r\n refreshToken: userDetail.refreshToken,\r\n accessLevel: decodedToken.AccessLevel\r\n };\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\nimport { BiPencil } from 'react-icons/bi';\r\nimport { FiLogOut } from 'react-icons/fi';\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 { MdGroups } from 'react-icons/md';\r\nimport {\r\n IoClose,\r\n IoList,\r\n IoLinkSharp,\r\n IoImagesOutline,\r\n IoNewspaperOutline\r\n} from 'react-icons/io5';\r\nimport { BsPeopleFill } from 'react-icons/bs';\r\nimport { GiBrickWall } from 'react-icons/gi';\r\nimport { FaDonate, FaMoneyBillWave } from 'react-icons/fa';\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 const [sideSheetDonationProgramsOpen, setSideSheetDonationProgramsOpen] = 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 toggleSideSheet = () => {\r\n if (sideSheetDonationProgramsOpen) {\r\n setSideSheetDonationProgramsOpen(false);\r\n enableBodyScroll(body);\r\n }\r\n\r\n setSideSheetOpen(!sideSheetOpen);\r\n\r\n if (!sideSheetOpen) {\r\n disableBodyScroll(body);\r\n } else {\r\n enableBodyScroll(body);\r\n }\r\n };\r\n\r\n const toggleSideSheetDonationPrograms = () => {\r\n if (sideSheetOpen) {\r\n setSideSheetOpen(false);\r\n enableBodyScroll(body);\r\n }\r\n\r\n setSideSheetDonationProgramsOpen(!sideSheetDonationProgramsOpen);\r\n\r\n if (!sideSheetDonationProgramsOpen) {\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: 'Admin Management',\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: 2,\r\n iconLeft: ,\r\n title: 'Entry Management',\r\n to: '/admin/management/members',\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: 'Donations Management',\r\n // to: '/admin/management/donations',\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: 'Donation Programs Management',\r\n // to: '#',\r\n action: () => setSideSheetDonationProgramsOpen(!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 // id: 4,\r\n // iconLeft: ,\r\n // title: 'Brick Management',\r\n // to: '/admin/management/brick-project',\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: 4,\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: 'Blogs',\r\n to: '/cms/management/blogs',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 3,\r\n title: 'Image Gallery',\r\n to: '/cms/management/galleries',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 4,\r\n title: 'Newsletters',\r\n to: '/cms/management/newsletters',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 5,\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: 6,\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: 7,\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 const donationProgramsManagementItems = [\r\n {\r\n id: 0,\r\n title: 'Membership Donations',\r\n to: '/admin/management/donations',\r\n action: () => { },\r\n iconLeft: ,\r\n },\r\n {\r\n id: 1,\r\n title: 'Purchased Bricks',\r\n to: '/admin/management/brick-project',\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 {/* DONATION PROGRAMS MANAGEMENT SIDESHEET */}\r\n toggleSideSheetDonationPrograms()}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {/* DONATION PROGRAMS MANAGEMENT */}\r\n \r\n

Donation Programs Management

\r\n
\r\n \r\n {\r\n donationProgramsManagementItems.map((item, index) => (\r\n }\r\n // onClick={item.to ? () => navigateToPath(item.to) : item.action}\r\n onClick={() => {\r\n toggleSideSheetDonationPrograms();\r\n\r\n if (item.to) {\r\n navigateToPath(item.to);\r\n } else if (item.action) {\r\n item.action();\r\n }\r\n }}\r\n />\r\n ))\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 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\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 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 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\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;","// 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;","// 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\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 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 secondaryButtonText !== ''\r\n && (\r\n \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 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 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 headerSize: '',\r\n\r\n // BUTTON PROPS - PRIMARY\r\n primaryButtonText: '',\r\n primaryButtonBackgroundColor: 'primary--bg',\r\n primaryButtonIconLeft: null,\r\n\r\n // BUTTON PROPS - SECONDARY\r\n secondaryButtonText: '',\r\n secondaryButtonBackgroundColor: 'secondary--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, { useEffect } 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 buttonSize,\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 isCentered,\r\n hasCloseAction,\r\n isTitleCentered,\r\n isPrimaryActionHidden,\r\n isSecondaryActionHidden,\r\n isActionsCentered,\r\n isEnterKeydownEnabled,\r\n isLoading\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (!isEnterKeydownEnabled) return '';\r\n\r\n const handleKeyDown = (event) => event.key === 'Enter' && primaryModalActionOnClick();\r\n if (isVisible) {\r\n window.addEventListener('keydown', handleKeyDown);\r\n }\r\n\r\n return () => window.removeEventListener('keydown', handleKeyDown);\r\n }, [isVisible, primaryModalActionOnClick, isEnterKeydownEnabled]);\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n primaryModalActionOnClick();\r\n };\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 !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 buttonSize: PropTypes.string,\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 isCentered: PropTypes.bool,\r\n hasCloseAction: PropTypes.bool,\r\n isTitleCentered: PropTypes.bool,\r\n isPrimaryActionHidden: PropTypes.bool,\r\n isSecondaryActionHidden: PropTypes.bool,\r\n isActionsCentered: PropTypes.bool,\r\n isEnterKeydownEnabled: 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: 'Delete',\r\n primaryModalActionColor: 'primary--bg',\r\n secondaryModalActionType: '',\r\n secondaryModalActionText: 'Cancel',\r\n secondaryModalActionColor: 'danger--bg',\r\n buttonSize: 'xs',\r\n\r\n // FUNCTION PROPS\r\n onHide: () => { },\r\n closeActionOnClick: () => { },\r\n primaryModalActionOnClick: () => { },\r\n secondaryModalActionOnClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isVisible: false,\r\n isCentered: true,\r\n hasCloseAction: false,\r\n isTitleCentered: false,\r\n isPrimaryActionHidden: false,\r\n isSecondaryActionHidden: false,\r\n isActionsCentered: false,\r\n isEnterKeydownEnabled: false,\r\n};\r\n\r\nexport default ModalBlock;","// 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\n\r\nconst InputBlock = (props) => {\r\n const {\r\n id,\r\n containerClassName,\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 inputRightButtonTextColor,\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 } = 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 className={`input-right-button ${inputRightButtonBackgroundColor} ${inputRightButtonTextColor}`}\r\n >\r\n {inputRightButtonText}\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 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 inputRightButtonTextColor: PropTypes.string,\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 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: '',\r\n inputRightButtonTextColor: 'grey--clr',\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;","/* 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: () => console.log('Action not defined'),\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 PAYPAL_CLIENT_ID: 'AWC-M7PJ0dKQzObA3lKocRfI4_6DMmirrohj7x0EP4Kd7pk6FWMU3WO-33E_ORMksyk9F8PWPK-KQk_d'\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 = '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\nconst deleteUser = async (userId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteUser?userId=${userId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sendPasswordRecoveryEmail = async (userEmail) => axiosInstance.get(`${ENDPOINTORIGIN}SendPasswordRecoveryEmail?userEmail=${userEmail}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst resetPassword = async (data) => axiosInstance.put(`${ENDPOINTORIGIN}ResetPassword`, data, 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 deleteUser,\r\n sendPasswordRecoveryEmail,\r\n resetPassword\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\nconst currencyFormat = (value) => {\r\n const formatter = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n });\r\n\r\n return formatter.format(value);\r\n};\r\n\r\nconst getYearOptions = () => {\r\n const currentYear = new Date().getFullYear();\r\n return Array.from({ length: currentYear - 2009 }, (_, i) => {\r\n const year = 2010 + i;\r\n return { value: year, label: year.toString() };\r\n }).reverse();\r\n};\r\n\r\nconst getMonthOptions = () => {\r\n const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n\r\n return monthNames.map((month) => ({\r\n value: month,\r\n label: month\r\n }));\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 currencyFormat,\r\n getYearOptions,\r\n getMonthOptions\r\n};","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable object-curly-newline */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// eslint-disable-next-line camelcase\r\nimport jwt_decode from 'jwt-decode';\r\nimport { FiLock, FiUser } from 'react-icons/fi';\r\nimport { HiOutlineMail } from 'react-icons/hi';\r\n// CUSTOM COMPONENTS\r\nimport Button from './Button';\r\nimport InputBlock from './InputBlock';\r\nimport ModalBlock from './ModalBlock';\r\n// SERVICES AND HELPERS\r\nimport * as userService from '../services/management/userService';\r\nimport * as helper from '../helpers/helper';\r\n\r\nconst LoginPasswordRecoveryModal = (props) => {\r\n const {\r\n showAlert,\r\n history,\r\n login,\r\n iconSize,\r\n onLoginSuccess,\r\n isVisible,\r\n setIsVisible,\r\n } = props;\r\n // LOGIN\r\n const [loginPasswordVisible, setLoginPasswordVisible] = useState(false);\r\n // RECOVER ACCOUNT\r\n const [recoverAccountPanel, setRecoverAccountPanel] = useState(false);\r\n // RESET PASSWORD\r\n const [resetPasswordPanel, setResetPasswordPanel] = useState(false);\r\n const [resetPasswordVisible, setResetPasswordVisible] = useState(false);\r\n const [resetPasswordConfirmVisible, setResetPasswordConfirmVisible] = useState(false);\r\n\r\n const loginFormik = useFormik({\r\n initialValues: {\r\n email: '',\r\n password: '',\r\n },\r\n validationSchema: Yup.object().shape({\r\n email: Yup.string().required('Email is required').email('Invalid email format'),\r\n password: Yup.string().required('Password is required').min(8, 'Minimum password length must be at least 8 characters'),\r\n }),\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n userService.login(values).then((res) => {\r\n const decodedToken = jwt_decode(res.token);\r\n login(res);\r\n if (onLoginSuccess) onLoginSuccess(decodedToken);\r\n if (decodedToken.AccessLevel >= 40) {\r\n history.push('/admin/management/users');\r\n } else {\r\n history.push({\r\n pathname: '/account-details',\r\n state: { userId: decodedToken.UserId },\r\n });\r\n }\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\r\n const recoveryEmailFormik = useFormik({\r\n initialValues: {\r\n email: '',\r\n },\r\n validationSchema: Yup.object().shape({\r\n email: Yup.string().required('Email is required').email('Invalid email format'),\r\n }),\r\n onSubmit: (values, { setSubmitting }) => {\r\n userService.sendPasswordRecoveryEmail(values.email).then((res) => {\r\n showAlert({ text: 'Password recovery email sent.', state: 'success' });\r\n setRecoverAccountPanel(false);\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\r\n const resetPasswordFormik = useFormik({\r\n initialValues: {\r\n resetCode: '',\r\n newPassword: '',\r\n confirmPassword: '',\r\n },\r\n validationSchema: Yup.object().shape({\r\n resetCode: Yup.string().required('Reset code is required'),\r\n newPassword: Yup.string().required('New password is required').min(8, 'Minimum password length must be at least 8 characters'),\r\n confirmPassword: Yup.string().required('Confirm your new password').oneOf([Yup.ref('newPassword')], 'Passwords do not match'),\r\n }),\r\n onSubmit: async (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n try {\r\n await userService.resetPassword({\r\n email: values.email,\r\n resetCode: values.resetCode,\r\n newPassword: values.newPassword,\r\n });\r\n showAlert({ text: 'Password reset successful.', state: 'success' });\r\n setResetPasswordPanel(false);\r\n } catch (ex) {\r\n setAlert({ text: ex.response?.data?.message || ex.message, state: 'error' });\r\n } finally {\r\n setSubmitting(false);\r\n }\r\n },\r\n });\r\n\r\n const handleLoginModalClose = () => {\r\n setIsVisible(false);\r\n setRecoverAccountPanel(false);\r\n setResetPasswordPanel(false);\r\n };\r\n\r\n const handleSecondaryActionClick = () => {\r\n if (resetPasswordPanel) {\r\n setResetPasswordPanel(false);\r\n setRecoverAccountPanel(true);\r\n } else if (recoverAccountPanel) {\r\n setRecoverAccountPanel(false);\r\n } else {\r\n handleLoginModalClose();\r\n }\r\n };\r\n\r\n const handleResetPasswordPanelView = () => {\r\n setRecoverAccountPanel(false);\r\n setResetPasswordPanel(true);\r\n };\r\n\r\n return (\r\n \r\n {\r\n // LOGIN PANEL\r\n !recoverAccountPanel && !resetPasswordPanel\r\n ? (\r\n <>\r\n
\r\n }\r\n className=\"input-block light--sbg padded\"\r\n />\r\n }\r\n inputRightButtonText={loginPasswordVisible ? 'Hide' : 'Show'}\r\n inputRightButtonOnClick={() => setLoginPasswordVisible(!loginPasswordVisible)}\r\n {...loginFormik.getFieldProps('password')}\r\n errorMessage={loginFormik.errors.password}\r\n inputState={`${helper.getInputClasses(loginFormik, 'password')}`}\r\n className=\"input-block light--sbg padded\"\r\n />\r\n \r\n\r\n
\r\n Not a member? Create Account

}\r\n className=\"animate-onhover-primary dark--clr p-0\"\r\n onClick={() => {\r\n history.push('/register-user');\r\n handleLoginModalClose();\r\n }}\r\n />\r\n setRecoverAccountPanel(true)}\r\n />\r\n
\r\n \r\n )\r\n // RECOVER ACCOUNT PANEL\r\n : recoverAccountPanel\r\n ? (\r\n <>\r\n
\r\n

\r\n Enter your membership email to receive a reset code. Use the code and the link below to reset your password.\r\n

\r\n Already have a reset code? Reset Password

}\r\n className=\"animate-onhover-primary dark--clr p-0\"\r\n onClick={() => handleResetPasswordPanelView()}\r\n />\r\n
\r\n\r\n
\r\n }\r\n />\r\n \r\n \r\n )\r\n : (\r\n // RESET PASSWORD PANEL\r\n
\r\n \r\n setResetPasswordVisible(!resetPasswordVisible)}\r\n errorMessage={resetPasswordFormik.errors.newPassword}\r\n inputState={`${helper.getInputClasses(resetPasswordFormik, 'newPassword')}`}\r\n {...resetPasswordFormik.getFieldProps('newPassword')}\r\n />\r\n setResetPasswordConfirmVisible(!resetPasswordConfirmVisible)}\r\n errorMessage={resetPasswordFormik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(resetPasswordFormik, 'confirmPassword')}`}\r\n {...resetPasswordFormik.getFieldProps('confirmPassword')}\r\n />\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default LoginPasswordRecoveryModal;","import * as Yup from 'yup';\r\n\r\nexport default Yup.object().shape({\r\n email: Yup.string().required('Username is required').email(),\r\n password: Yup.string().required('Password is required'),\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-use-before-define */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-max-props-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\nimport { useFormik } from 'formik';\r\n// eslint-disable-next-line camelcase\r\nimport jwt_decode from 'jwt-decode';\r\n// ICONS\r\nimport { TiArrowSortedDown } from 'react-icons/ti';\r\nimport {\r\n RiInstagramLine,\r\n RiShoppingCart2Line,\r\n RiShoppingCart2Fill,\r\n RiUserLine,\r\n RiUserFill,\r\n RiLoginBoxLine,\r\n // RiLoginBoxFill,\r\n RiShieldUserLine,\r\n RiShieldUserFill\r\n} from 'react-icons/ri';\r\nimport { MdMailOutline } from 'react-icons/md';\r\n// import { HiMail } from 'react-icons/hi';\r\nimport {\r\n FiFacebook,\r\n FiMenu,\r\n FiLock,\r\n FiUser\r\n} from 'react-icons/fi';\r\n// import { FaFacebookF } 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 Section from './Section';\r\nimport ContentBlock from './ContentBlock';\r\nimport FormBlock from './FormBlock';\r\nimport ModalBlock from './ModalBlock';\r\nimport InputBlock from './InputBlock';\r\nimport TextBlock from './TextBlock';\r\nimport LoginPasswordRecoveryModal from './LoginPasswordRecoveryModal';\r\n// REDUX\r\nimport * as alertToast from '../redux/alertToastRedux';\r\nimport * as authRedux from '../redux/authRedux';\r\n// SERVICES & HELPERS\r\nimport LoginValidator from '../helpers/validators/user/LoginValidator';\r\nimport * as userService from '../services/management/userService';\r\nimport * as helper from '../helpers/helper';\r\n\r\nconst initialModel = {\r\n email: '',\r\n password: ''\r\n};\r\n\r\nconst HeaderNavigation = (props) => {\r\n const {\r\n auth,\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 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 showAlert,\r\n login,\r\n logout\r\n } = props;\r\n\r\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\r\n const [isMobileSubmenuVisible, setIsMobileSubmenuVisible] = useState(false);\r\n const [scroll, setScroll] = useState(1);\r\n const [isLoginModalOpen, setIsLoginModalOpen] = useState(false);\r\n const [passwordVisible, setPasswordVisible] = useState(false);\r\n\r\n const handleLoginModalClose = () => {\r\n setIsLoginModalOpen(false);\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 useEffect(() => {\r\n getProfileIcon();\r\n }, [auth]);\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 && 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 = () => {\r\n setIsMobileSubmenuVisible(!isMobileSubmenuVisible);\r\n };\r\n\r\n const sendEmail = (email) => {\r\n window.open(`mailto:${email}`, '_self');\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 const loginUser = (model, setSubmitting) => {\r\n userService.login(model).then((res) => {\r\n const decodedToken = jwt_decode(res.token);\r\n login(res);\r\n if (decodedToken.AccessLevel >= 40) {\r\n history.push('/admin/management/users');\r\n } else {\r\n history.push({\r\n pathname: '/account-details',\r\n state: { userId: decodedToken.UserId },\r\n });\r\n }\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 getProfileIcon = (mobile) => {\r\n let targetProfileIcon = '';\r\n\r\n const adminEditorIcon = mobile ? : ;\r\n const memberIcon = (userInitials) =>

{userInitials}

;\r\n const defaultIcon = mobile ? : ;\r\n\r\n if (auth.accessLevel && auth.accessLevel >= 40) {\r\n targetProfileIcon = adminEditorIcon;\r\n } else if (auth.accessLevel > 0) {\r\n const userInitials = auth.user.fullName.split(' ').map((word) => word[0]).join('').toUpperCase();\r\n targetProfileIcon = memberIcon(userInitials);\r\n } else {\r\n targetProfileIcon = defaultIcon;\r\n }\r\n\r\n return targetProfileIcon;\r\n };\r\n\r\n return (\r\n <>\r\n {/* MOBILE NAVIGATION */}\r\n \r\n \r\n {/* LOGO */}\r\n \r\n \r\n \r\n\r\n {/* ICONS */}\r\n \r\n {/* SOCIAL ICONS */}\r\n {/* openInNewTab(primarySocialMediaLink)}\r\n className=\"social-icon icon\"\r\n >\r\n \r\n \r\n\r\n {\r\n sendEmail(emailAddress);\r\n }}\r\n className=\"social-icon icon\"\r\n >\r\n \r\n */}\r\n {\r\n setIsLoginModalOpen(true);\r\n }}\r\n className=\"social-icon icon\"\r\n >\r\n \r\n \r\n\r\n {\r\n if (auth.accessLevel) {\r\n if (auth.accessLevel <= 30) {\r\n history.push('/account-details');\r\n } else if (auth.accessLevel > 30) {\r\n history.push('/admin/management/users');\r\n }\r\n } else {\r\n setIsLoginModalOpen(true);\r\n }\r\n }}\r\n className=\"social-icon icon\"\r\n >\r\n {getProfileIcon('mobile')}\r\n \r\n\r\n {/* {\r\n auth.accessLevel > 0 && (\r\n {\r\n logout();\r\n history.push('/');\r\n }}\r\n className=\"social-icon icon\"\r\n >\r\n \r\n \r\n )\r\n } */}\r\n\r\n {/* MENU TOGGLE */}\r\n {\r\n toggleDrawer();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* HEADER NAVIGATION */}\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 openInNewTab(primarySocialMediaLink)}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \r\n \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 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 openInNewTab(`${auth.authToken ? '/cms/management/pages' : '/login'}`);\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 !hasSearchBlock\r\n && (\r\n \r\n \r\n \r\n )\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 !hasSearchBlock\r\n && (\r\n \r\n {\r\n setIsLoginModalOpen(true);\r\n }}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n \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 // eslint-disable-next-line no-console\r\n // console.log(auth);\r\n if (auth.accessLevel) {\r\n if (auth.accessLevel <= 30) {\r\n history.push('/account-details');\r\n } else if (auth.accessLevel > 30) {\r\n history.push('/admin/management/users');\r\n }\r\n } else {\r\n setIsLoginModalOpen(true);\r\n }\r\n }}\r\n className={`social-icon ${socialIconBackgroundColor} ${iconAppearance ? iconAppearanceOptions[iconAppearance] : 'square'}`}\r\n >\r\n {getProfileIcon()}\r\n \r\n\r\n {\r\n auth.accessLevel > 0 && (\r\n {\r\n logout();\r\n history.push('/');\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 )\r\n }\r\n
\r\n
\r\n\r\n {/* DRAWER NAVIGATION */}\r\n {\r\n toggleDrawer();\r\n }}\r\n >\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();\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 auth.accessLevel > 0 ? (\r\n {\r\n logout();\r\n history.push('/');\r\n }}\r\n className={`menu-item menu-item hover-animation--underline ${mobileMenuItemColor}`}\r\n />\r\n ) : (\r\n {\r\n navigateToPage('/login');\r\n }}\r\n />\r\n )\r\n }\r\n
  • \r\n
\r\n \r\n\r\n {/* LOGIN 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 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 */}\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: 22,\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, { ...authRedux.actions, ...alertToast.actions })(HeaderNavigation);","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// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\nimport { IoLogoTiktok } from 'react-icons/io5';\r\nimport {\r\n RiFacebookFill,\r\n RiInstagramLine,\r\n RiTwitterFill,\r\n RiLinkedinFill,\r\n RiYoutubeLine,\r\n} from 'react-icons/ri';\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 } = 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 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 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 {\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

{`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;","/* 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\n// import Icon from '../assets/img/icon.svg';\r\n\r\nconst CMSRoute = ({\r\n component: Component,\r\n cmsInfo, dynamicPageId,\r\n isBlog,\r\n ...rest\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;","import React from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\n// ROUTES\r\nimport CMSRoute from './CMSRoute';\r\n\r\nconst MemberRoute = (props) => {\r\n const { hasAccess, accessLevel } = props;\r\n let redirectPath;\r\n\r\n if (!hasAccess) {\r\n if (accessLevel === 0) {\r\n redirectPath = '/register-user';\r\n } else if (accessLevel === '30') {\r\n redirectPath = '/account-details';\r\n } else if (accessLevel >= '40') {\r\n redirectPath = '/admin/management/users';\r\n }\r\n }\r\n\r\n return (\r\n hasAccess ? (\r\n \r\n ) : (\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default MemberRoute;","/* eslint-disable import/extensions */\r\n/* eslint-disable no-shadow */\r\n// DEPENDENCIES\r\nimport React 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 handleCloseBtn = () => {\r\n hideConfirmModal();\r\n if (confirmModal.closeBtnAction) { confirmModal.closeBtnAction(); }\r\n };\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 />\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 }, 7000);\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);","export default __webpack_public_path__ + \"static/media/logo_original-recreation.40befe85.png\";","// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\n// eslint-disable-next-line camelcase\r\nimport jwt_decode from 'jwt-decode';\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\nimport TextBlock from '../../../components/TextBlock';\r\n// PARTIALS\r\n// import ForgotPasswordBlock from './_partials/ForgotPasswordBlock';\r\n// ASSETS\r\n// import Logo from '../../../assets/img/logo.svg';\r\nimport Logo from '../../../assets/img/logo_original-recreation.png';\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 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 loginUser = (model, setSubmitting) => {\r\n userService.login(model).then((res) => {\r\n const decodedToken = jwt_decode(res.token);\r\n login(res);\r\n if (decodedToken.AccessLevel >= 40) {\r\n history.push('/admin/management/users');\r\n } else {\r\n history.push({\r\n pathname: '/account-details',\r\n state: { userId: decodedToken.UserId },\r\n });\r\n }\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 \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 />\r\n \r\n \r\n \r\n \r\n \r\n {/* setForgotPasswordBlockVisible(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 Copyright ©\r\n {' '}\r\n {new Date().getFullYear()}\r\n {' '}\r\n Hungarian Settlement Museum. 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);","/* 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 isEditor: 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/* eslint-disable jsx-a11y/label-has-associated-control */\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\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\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 isEditor: true\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 isEditor: true\r\n};\r\n\r\nconst UserListingPage = (props) => {\r\n const {\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = 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 register_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 deleteUser = (userId) => {\r\n hideConfirmModal();\r\n setIsLoading(true);\r\n\r\n userService.deleteUser(userId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\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 closeRegisterModal = () => {\r\n setRegisterModalVisible(false);\r\n register_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 getUserDetails(userList[dataIndex].id);\r\n }}\r\n />\r\n )\r\n }\r\n {\r\n auth.isAdmin ? (\r\n {\r\n setUpdatePasswordRegisterModalVisible(true);\r\n }}\r\n />\r\n ) : auth.user.id === userList[dataIndex].id && (\r\n {\r\n setUpdatePasswordRegisterModalVisible(true);\r\n }}\r\n />\r\n )\r\n }\r\n {\r\n auth.isAdmin && (\r\n {\r\n showConfirmModal({\r\n title: 'Delete User',\r\n text: 'Are you sure you want to delete this user?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteUser(userList[dataIndex].id);\r\n hideConfirmModal();\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: '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 name: 'isEditor',\r\n label: 'Is User Editor?',\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].isEditor ? '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={register_user_formik.errors.password}\r\n inputState={`${helper.getInputClasses(register_user_formik, 'password')}`}\r\n {...register_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={register_user_formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(register_user_formik, 'confirmPassword')}`}\r\n {...register_user_formik.getFieldProps('confirmPassword')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n \r\n {\r\n register_user_formik.setFieldValue('isEditor', false);\r\n register_user_formik.setFieldValue('isAdmin', true);\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n register_user_formik.setFieldValue('isAdmin', false);\r\n register_user_formik.setFieldValue('isEditor', true);\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n {/* 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 edit_user_formik.setFieldValue('isEditor', false);\r\n edit_user_formik.setFieldValue('isAdmin', true);\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n edit_user_formik.setFieldValue('isAdmin', false);\r\n edit_user_formik.setFieldValue('isEditor', true);\r\n }}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n})(UserListingPage);","// 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;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Membership/';\r\n\r\nconst getMemberships = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetMemberships`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createMembership = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}CreateUserMembership`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateUserMembership = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateUserMembership`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst buyMembership = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}BuyMembership`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getLoggedInUserMembership = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetLoggedInUserMembership`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMemberInfo = async (memberId) => axiosInstance.get(`${ENDPOINTORIGIN}getMemberInfo?memberId=${memberId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteMember = async (memberId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteMember?id=${memberId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getMemberships,\r\n createMembership,\r\n updateUserMembership,\r\n buyMembership,\r\n getLoggedInUserMembership,\r\n getMemberInfo,\r\n deleteMember\r\n};","/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { useFormik } from 'formik';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\nimport {\r\n Accordion,\r\n Card,\r\n Table\r\n} from 'react-bootstrap';\r\n// ICONS\r\nimport { IoPersonSharp } from 'react-icons/io5';\r\nimport { FaChevronDown, FaDonate } from 'react-icons/fa';\r\nimport { GiBrickWall } from 'react-icons/gi';\r\nimport { RiShoppingCart2Fill } from 'react-icons/ri';\r\nimport { MdCardMembership, MdFamilyRestroom } from 'react-icons/md';\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 OverLay from '../../../../components/Overlay';\r\nimport Button from '../../../../components/Button';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport TextBlock from '../../../../components/TextBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\n// SERVICES AND HELPERS\r\nimport * as membershipService from '../../../../services/management/membershipService';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\n// import * as auth from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialModel = {\r\n id: 0,\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n emailAddress: '',\r\n businessName: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n notes: '',\r\n // password: '',\r\n // confirmPassword: '',\r\n isActive: true,\r\n};\r\n\r\nconst MemberListingPage = (props) => {\r\n const {\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [members, setMembers] = useState([]);\r\n const [nonMembers, setNonMembers] = useState([]);\r\n const [memberToEdit, setMemberToEdit] = useState(initialModel);\r\n const [memberInfo, setMemberInfo] = useState([]);\r\n const [donations, setDonations] = useState([]);\r\n const [bricks, setBricks] = useState([]);\r\n const [detailsModalVisibility, setDetailsModalVisibility] = useState(false);\r\n const [memberModalVisibility, setMemberModalVisibility] = useState(false);\r\n // const [passwordVisible, setPasswordVisible] = useState(false);\r\n // const [passwordConfirmVisible, setPasswordConfirmVisible] = useState(false);\r\n const [model] = useState(initialModel);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n fetchMembers();\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n // id: Yup.number(),\r\n firstName: Yup.string().required().max(100),\r\n lastName: Yup.string().nullable().required().max(100),\r\n phoneNumber: Yup.string().nullable().required(),\r\n businessName: Yup.string().nullable().max(500),\r\n emailAddress: Yup.string().nullable().required().max(100)\r\n .email(),\r\n addressLine1: Yup.string().nullable().required().max(100),\r\n addressLine2: Yup.string().nullable().max(100),\r\n city: Yup.string().nullable().required().max(100),\r\n state: Yup.string().nullable().required().max(100),\r\n zipCode: Yup.string().nullable().required().max(100),\r\n notes: Yup.string().nullable().max(1000),\r\n isActive: Yup.bool(),\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 }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (values.id === 0) {\r\n const tempPassword = `MemberP@$$_${values.lastName.toLowerCase()}`;\r\n const updatedValues = { ...values, password: tempPassword, confirmPassword: tempPassword };\r\n submitForm(updatedValues);\r\n } else {\r\n updateForm(values);\r\n }\r\n },\r\n });\r\n\r\n const fetchMembers = () => {\r\n setIsLoading(true);\r\n membershipService.getMemberships().then((res) => {\r\n const activeMemberships = [];\r\n const nonActiveMemberships = [];\r\n\r\n res.forEach((item) => {\r\n if (item.hasActiveMembership) {\r\n activeMemberships.push(item);\r\n } else {\r\n nonActiveMemberships.push(item);\r\n }\r\n });\r\n\r\n setMembers(activeMemberships);\r\n setNonMembers(nonActiveMemberships);\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 fetchMemberDetails = (memberId) => {\r\n setIsLoading(true);\r\n\r\n membershipService.getMemberInfo(memberId).then((res) => {\r\n setMemberInfo(res);\r\n setDonations(res.donations);\r\n setBricks(res.bricks);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n setDetailsModalVisibility(true);\r\n });\r\n };\r\n\r\n const fetchMemberEdit = (memberId) => {\r\n setIsLoading(true);\r\n\r\n membershipService.getMemberInfo(memberId).then((res) => {\r\n setMemberToEdit(res);\r\n formik.setValues(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleMemberModal(true);\r\n });\r\n };\r\n\r\n const submitForm = (values) => {\r\n setIsLoading(true);\r\n membershipService.createMembership(values).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchMembers();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleMemberModal();\r\n });\r\n };\r\n\r\n const updateForm = (values) => {\r\n setIsLoading(true);\r\n membershipService.updateUserMembership(values).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchMembers();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleMemberModal();\r\n });\r\n };\r\n\r\n const deleteMember = (memberId) => {\r\n setIsLoading(true);\r\n membershipService.deleteMember(memberId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchMembers();\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 toggleDetailsModal = () => setDetailsModalVisibility((prevState) => !prevState);\r\n\r\n const toggleMemberModal = () => {\r\n setMemberModalVisibility((prevState) => {\r\n if (prevState) {\r\n setMemberToEdit(initialModel);\r\n formik.resetForm();\r\n }\r\n return !prevState;\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 memberColumns = [\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 fetchMemberDetails(members[dataIndex].id)}\r\n />\r\n fetchMemberEdit(members[dataIndex].id)}\r\n />\r\n {auth.isAdmin && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Member',\r\n text: `Are you sure you want to remove ${members[dataIndex].firstName} ${members[dataIndex].lastName}?`,\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteMember(members[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: 'lastName',\r\n label: 'Last Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'firstName',\r\n label: 'First Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'emailAddress',\r\n label: 'Email Address',\r\n options: columnOptions,\r\n },\r\n // {\r\n // name: 'address',\r\n // label: 'Address',\r\n // },\r\n // {\r\n // name: 'membershipTier',\r\n // label: 'Membership',\r\n // options: columnOptions,\r\n // },\r\n // {\r\n // name: 'isActive',\r\n // label: 'Is Active?',\r\n // },\r\n {\r\n name: 'membershipDateTime',\r\n label: 'Membership Renewed On',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => {\r\n const { membershipDateTime } = members[dataIndex];\r\n\r\n const today = moment();\r\n const dateRenewed = moment(membershipDateTime);\r\n const daysSinceRenewal = today.diff(dateRenewed, 'days');\r\n\r\n return (\r\n \r\n

{dateRenewed.format('MMMM DD, YYYY')}

\r\n

{`${daysSinceRenewal} days ago`}

\r\n
\r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n const nonMemberColumns = [\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 fetchMemberDetails(nonMembers[dataIndex].id)}\r\n />\r\n fetchMemberEdit(nonMembers[dataIndex].id)}\r\n />\r\n {auth.isAdmin && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Member',\r\n text: `Are you sure you want to remove ${nonMembers[dataIndex].firstName} ${nonMembers[dataIndex].lastName}?`,\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteMember(nonMembers[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: 'lastName',\r\n label: 'Last Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'firstName',\r\n label: 'First Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'emailAddress',\r\n label: 'Email Address',\r\n options: columnOptions,\r\n },\r\n // {\r\n // name: 'address',\r\n // label: 'Address',\r\n // },\r\n // {\r\n // name: 'membershipTier',\r\n // label: 'Membership',\r\n // options: columnOptions,\r\n // },\r\n // {\r\n // name: 'isActive',\r\n // label: 'Is Active?',\r\n // },\r\n ];\r\n\r\n const AccordionBlock = ({ title, icon, eventKey, children }) => (\r\n \r\n \r\n
\r\n {icon}\r\n {' '}\r\n {title}\r\n
\r\n \r\n
\r\n \r\n \r\n {children}\r\n \r\n \r\n
\r\n );\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n\r\n {/* MEMBER LISTING */}\r\n
\r\n \r\n \r\n \r\n }\r\n primaryButtonOnClick={() => toggleMemberModal()}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* NON MEMBER LISTING */}\r\n
\r\n \r\n \r\n }\r\n // primaryButtonOnClick={() => toggleMemberModal()}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {memberInfo && (\r\n { }}\r\n onHide={() => toggleDetailsModal()}\r\n >\r\n
\r\n\r\n \r\n\r\n }\r\n eventKey=\"0\"\r\n >\r\n {!memberInfo.membershipTier ? (\r\n

No membership found.

\r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Membership
\r\n \r\n \r\n
Amount
\r\n \r\n \r\n \r\n \r\n \r\n 1\r\n {moment(memberInfo.membershipDateTime).format('MMMM D, YYYY')}\r\n {memberInfo.membershipTier}\r\n {helper.currencyFormat(memberInfo.amount)}\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n }\r\n eventKey=\"1\"\r\n >\r\n {bricks.length === 0 ? (\r\n

No brick purchases found.

\r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Line 1
\r\n \r\n \r\n
Line 2
\r\n \r\n \r\n
Line 3
\r\n \r\n \r\n \r\n \r\n {bricks.map((brick, index) => (\r\n \r\n {index + 1}\r\n {moment(brick.dateOrdered).format('MMMM D, YYYY')}\r\n {brick.line1}\r\n {brick.line2}\r\n {brick.line3}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n\r\n }\r\n eventKey=\"2\"\r\n >\r\n {donations.length === 0 ? (\r\n

No donations found.

\r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Amount
\r\n \r\n \r\n \r\n \r\n {donations.map((donation, index) => (\r\n \r\n {index + 1}\r\n {moment(donation.dateOrdered).format('MMMM D, YYYY')}\r\n {helper.currencyFormat(donation.amount)}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n\r\n }\r\n eventKey=\"3\"\r\n >\r\n No Purchases found.\r\n \r\n\r\n }\r\n eventKey=\"4\"\r\n >\r\n No Family Contacts found.\r\n \r\n\r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* MEMBER MODAL */}\r\n toggleMemberModal()}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\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 ...confirmModal.actions\r\n})(MemberListingPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Donation/';\r\n\r\nconst getDonations = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetDonations`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst submitDonation = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}SubmitDonation`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllDonations = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllDonations`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateDonation = async (updatedDonation) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateDonation`, updatedDonation, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst removeDonation = async (donationId) => axiosInstance.delete(`${ENDPOINTORIGIN}RemoveDonation?id=${donationId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getDonations,\r\n submitDonation,\r\n getAllDonations,\r\n updateDonation,\r\n removeDonation\r\n};","/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { useFormik } from 'formik';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\n// ICONS\r\nimport { FaDonate } from 'react-icons/fa';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\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 OverLay from '../../../../components/Overlay';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport Button from '../../../../components/Button';\r\n// SERVICES AND HELPERS\r\nimport * as donationService from '../../../../services/management/donationService';\r\nimport * as membershipService from '../../../../services/management/membershipService';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst model = {\r\n id: 0,\r\n memberId: '',\r\n amount: '',\r\n dateOrdered: '',\r\n notes: '',\r\n paymentType: '',\r\n};\r\n\r\nconst DonationListingPage = (props) => {\r\n const {\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [isEditing, setIsEditing] = useState(false);\r\n const [donations, setDonations] = useState([]);\r\n const [memberOptions, setMemberOptions] = useState([]);\r\n const [selectedMember, setSelectedMember] = useState('');\r\n const [donationModalVisibility, setDonationModalVisibility] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n fetchDonations();\r\n fetchMemberOptions();\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n amount: Yup.string().required().max(100),\r\n paymentType: Yup.string().nullable().max(100),\r\n dateOrdered: Yup.date().required(),\r\n notes: Yup.string().nullable().max(1000),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (values.id === 0) {\r\n submitDonation(values);\r\n } else {\r\n updateDonation(values);\r\n }\r\n },\r\n });\r\n\r\n const fetchDonations = () => {\r\n setIsLoading(true);\r\n donationService.getAllDonations().then((res) => {\r\n setDonations(res);\r\n }).catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fetchMemberOptions = () => {\r\n setIsLoading(true);\r\n\r\n membershipService.getMemberships().then((res) => {\r\n const options = res.map((member) => ({\r\n value: member.id,\r\n label: `${member.firstName} ${member.lastName} (${member.city}, ${member.state})`\r\n }));\r\n\r\n setMemberOptions(options);\r\n }).catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fetchDonationEdit = (donation) => {\r\n setIsEditing(true);\r\n\r\n const donationWithParsedDate = {\r\n ...donation,\r\n dateOrdered: moment(donation.dateOrdered, 'MM/DD/YYYY hh:mm:ss a').toDate(),\r\n };\r\n\r\n formik.setValues(donationWithParsedDate);\r\n\r\n setSelectedMember(memberOptions.find((opt) => opt.value === donation.memberId));\r\n setDonationModalVisibility(true);\r\n };\r\n\r\n const submitDonation = (values) => {\r\n setIsLoading(true);\r\n donationService.submitDonation(values).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchDonations();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleDonationModal();\r\n });\r\n };\r\n\r\n const updateDonation = (values) => {\r\n setIsLoading(true);\r\n donationService.updateDonation(values).then((res) => {\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 toggleDonationModal();\r\n fetchDonations();\r\n });\r\n };\r\n\r\n const removeDonation = (donationId) => {\r\n setIsLoading(true);\r\n donationService.removeDonation(donationId).then((res) => {\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 fetchDonations();\r\n });\r\n };\r\n\r\n const toggleDonationModal = () => {\r\n formik.resetForm();\r\n setSelectedMember('');\r\n setIsEditing(false);\r\n setDonationModalVisibility((prevState) => !prevState);\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 {auth.isAdmin && (\r\n \r\n fetchDonationEdit(donations[dataIndex])}\r\n />\r\n {\r\n const targetDonation = donations[dataIndex];\r\n showConfirmModal({\r\n title: 'Remove Donation',\r\n text: `Are you sure you want to remove ${targetDonation.orderedBy}'s ${helper.currencyFormat(targetDonation.amount)} donation?`,\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n removeDonation(donations[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: 'orderedBy',\r\n label: 'Ordered By',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'dateOrdered',\r\n label: 'Date Ordered',\r\n options: {\r\n ...columnOptions,\r\n customBodyRender: (value) => moment(value).format('MMMM D, YYYY'),\r\n },\r\n },\r\n {\r\n name: 'amount',\r\n label: 'Amount',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => (\r\n

{helper.currencyFormat(donations[dataIndex].amount)}

\r\n )\r\n },\r\n },\r\n {\r\n name: 'paymentType',\r\n label: 'Payment Type',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'notes',\r\n label: 'Notes',\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={() => toggleDonationModal()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* MEMBER MODAL */}\r\n toggleDonationModal()}\r\n >\r\n \r\n
\r\n \r\n {\r\n setSelectedMember(selectedOpt);\r\n formik.setFieldValue('memberId', selectedOpt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n formik.setFieldValue('dateOrdered', moment(date[0]).format('MM/DD/YYYY hh:mm:ss a'));\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n // eslint-disable-next-line no-useless-escape\r\n const value = e.target.value.replace(/[^\\d]/g, '');\r\n formik.setFieldValue('amount', parseFloat(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\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n // ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n})(DonationListingPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Brick/';\r\n\r\nconst getBricks = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetBricks`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllBricks = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllBricks`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst submitBrick = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}SubmitBrick`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getBricks,\r\n getAllBricks,\r\n submitBrick\r\n};","/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport moment from 'moment';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\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 OverLay from '../../../../components/Overlay';\r\n// SERVICES AND HELPERS\r\nimport * as brickService from '../../../../services/management/brickService';\r\n\r\nconst BrickListingPage = () => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [bricks, setBricks] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchBricks();\r\n }, []);\r\n\r\n const fetchBricks = () => {\r\n setIsLoading(true);\r\n\r\n brickService.getAllBricks().then((res) => {\r\n setBricks(res);\r\n }).catch(() => {\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: 'orderedBy',\r\n label: 'Ordered By',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'email',\r\n label: 'Email',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'dateOrdered',\r\n label: 'Date Ordered',\r\n options: {\r\n ...columnOptions,\r\n customBodyRender: (value) => moment(value).format('MMMM D, YYYY'),\r\n },\r\n },\r\n {\r\n name: 'line1',\r\n label: 'Line 1',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'line2',\r\n label: 'Line 2',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'line3',\r\n label: 'Line 3',\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\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 BrickListingPage;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Gallery/';\r\n\r\nconst getAllGalleries = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllGalleries`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getGalleryById = async (galleryId) => axiosInstance.get(`${ENDPOINTORIGIN}GetGalleryById?galleryId=${galleryId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createGallery = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}CreateGallery`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateGallery = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateGallery`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteGallery = async (galleryId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteGallery?galleryId=${galleryId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllGalleries,\r\n getGalleryById,\r\n createGallery,\r\n updateGallery,\r\n deleteGallery\r\n};","/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoImagesOutline } from 'react-icons/io5';\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 OverLay from '../../../../components/Overlay';\r\nimport Button from '../../../../components/Button';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\n// SERVICES AND HELPERS\r\nimport * as galleryService from '../../../../services/management/galleryService';\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 initialGalleryModel = {\r\n id: 0,\r\n isActive: true,\r\n name: '',\r\n};\r\n\r\nconst GalleryListingPage = (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 [isLoading, setIsLoading] = useState(false);\r\n const [galleries, setGalleries] = useState([]);\r\n const [isAddGalleryModalOpen, setIsAddGalleryModalOpen] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n fetchGalleries();\r\n }, []);\r\n\r\n const fetchGalleries = () => {\r\n setIsLoading(true);\r\n galleryService.getAllGalleries().then((res) => {\r\n setGalleries(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: initialGalleryModel,\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(250),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n createGallery(values);\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 history.push(`/cms/management/gallery/${galleries[dataIndex].id}`)}\r\n />\r\n\r\n {\r\n auth.isAdmin\r\n && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Gallery',\r\n text: 'Are you sure you want to remove this image gallery?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteGallery(galleries[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: 'Gallery Name',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'galleryImages',\r\n label: 'Image Count',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => {\r\n const imageCount = galleries[dataIndex].galleryImages.length;\r\n return

{imageCount}

;\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 const { isActive } = galleries[dataIndex];\r\n return

{isActive ? 'Yes' : 'No'}

;\r\n }\r\n },\r\n }\r\n ];\r\n\r\n const createGallery = (model) => {\r\n setIsLoading(true);\r\n galleryService.createGallery(helper.convertJsonToFormData(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(() => {\r\n setIsLoading(false);\r\n toggleAddGalleryModal();\r\n });\r\n };\r\n\r\n const deleteGallery = (id) => {\r\n setIsLoading(true);\r\n galleryService.deleteGallery(id).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchGalleries();\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 toggleAddGalleryModal = () => setIsAddGalleryModalOpen((prevState) => !prevState);\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonOnClick={toggleAddGalleryModal}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n {/* ADD GALLERY 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, {\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n})(GalleryListingPage);","// 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;","// 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 = 'GalleryImage/';\r\n\r\nconst getImageById = async (imageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetImageById?imageId=${imageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllImagesByGalleryId = async (galleryId) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllImagesByGalleryId?galleryId=${galleryId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst addImage = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}AddImage`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateImage = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateImage`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteImage = async (imageId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteImage?imageId=${imageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getImageById,\r\n getAllImagesByGalleryId,\r\n addImage,\r\n updateImage,\r\n deleteImage\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/* 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\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoImageOutline } from 'react-icons/io5';\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 CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Button from '../../../../components/Button';\r\nimport Image from '../../../../components/Image';\r\n// HELPERS AND SERVICES\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as galleryService from '../../../../services/management/galleryService';\r\nimport * as galleryImageService from '../../../../services/management/galleryImageService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialGalleryModel = {\r\n id: 0,\r\n isActive: true,\r\n name: '',\r\n};\r\n\r\nconst initialGalleryImageModel = {\r\n id: 0,\r\n galleryId: 0,\r\n title: '',\r\n subtitle: '',\r\n imageFilePath: '',\r\n};\r\n\r\nconst GalleryManagementPage = (props) => {\r\n const {\r\n history,\r\n showAlert,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const { galleryId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [gallery, setGallery] = useState(initialGalleryModel);\r\n const [galleryImages, setGalleryImages] = useState([]);\r\n const [galleryImage, setGalleryImage] = useState(initialGalleryImageModel);\r\n const [file, setFile] = useState([]);\r\n const [isAddImageModalOpen, setIsAddImageModalOpen] = useState(false);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n if (galleryId) {\r\n fetchGallery();\r\n }\r\n }, []);\r\n\r\n const fetchGallery = () => {\r\n setIsLoading(true);\r\n galleryService.getGalleryById(galleryId).then((res) => {\r\n setGallery(res);\r\n setGalleryImages(res.galleryImages);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: gallery,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n isActive: Yup.bool(),\r\n name: Yup.string().required('Gallery name is required').max(250),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n updateGallery(values);\r\n },\r\n });\r\n\r\n const formikGalleryImage = useFormik({\r\n initialValues: galleryImage,\r\n validationSchema: Yup.object().shape({ subtitle: Yup.string().required('Image caption is required').max(250) }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (!galleryImage.id) {\r\n addImage(values);\r\n } else {\r\n updateImage(values);\r\n }\r\n },\r\n });\r\n\r\n const updateGallery = (model) => {\r\n setIsLoading(true);\r\n\r\n galleryService.updateGallery(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/galleries');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const addImage = (model) => {\r\n setIsLoading(true);\r\n setGalleryImage(initialGalleryImageModel);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, image: file.length > 0 ? file[0].file : null, galleryId };\r\n }\r\n\r\n galleryImageService.addImage(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchGallery();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleAddImageModal();\r\n });\r\n };\r\n\r\n const updateImage = (model) => {\r\n setIsLoading(true);\r\n\r\n galleryImageService.updateImage(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchGallery();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n toggleAddImageModal();\r\n });\r\n };\r\n\r\n const deleteImage = (imageId) => {\r\n setIsLoading(true);\r\n galleryImageService.deleteImage(imageId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchGallery();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n // history.push(`/cms/management/gallery/${res.id}`);\r\n hideConfirmModal();\r\n });\r\n };\r\n\r\n const toggleAddImageModal = () => setIsAddImageModalOpen((prevState) => !prevState);\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 setGalleryImage(galleryImages[dataIndex]);\r\n toggleAddImageModal();\r\n }}\r\n />\r\n {\r\n showConfirmModal({\r\n title: 'Remove Image',\r\n text: 'Are you sure you want to remove this image?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n deleteImage(galleryImages[dataIndex].id);\r\n }\r\n });\r\n }}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'imageUrl',\r\n label: 'Preview',\r\n options: {\r\n customBodyRenderLite: (dataIndex) => {\r\n const imageUrl = galleryImages[dataIndex].imageFilePath;\r\n return (\r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n name: 'subtitle',\r\n label: 'Image Caption',\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 {/* 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 {/* IMAGES */}\r\n {galleryId && (\r\n \r\n \r\n \r\n )}\r\n primaryButtonOnClick={() => {\r\n setGalleryImage(initialGalleryImageModel);\r\n toggleAddImageModal();\r\n }}\r\n />\r\n \r\n\r\n {galleryImages.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {/* PAGE ACTIONS */}\r\n 0 ? 'Save Changes' : 'Create Gallery'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/cms/management/galleries\"\r\n optionalActionText={galleryId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/cms/management/galleries\"\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n {/* ADD IMAGE MODAL */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {galleryImage.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 \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 ...confirmModal.actions\r\n})(GalleryManagementPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Newsletter/';\r\n\r\nconst getAllNewsletters = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllNewsletters`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getNewsletterById = async (newsletterId) => axiosInstance.get(`${ENDPOINTORIGIN}GetNewsletterById?newsletterId=${newsletterId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createNewsletter = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}CreateNewsletter`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateNewsletter = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateNewsletter`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteNewsletter = async (newsletterId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteNewsletter?newsletterId=${newsletterId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllNewsletters,\r\n getNewsletterById,\r\n createNewsletter,\r\n updateNewsletter,\r\n deleteNewsletter\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/* 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 { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { IoNewspaperOutline } from 'react-icons/io5';\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 Overlay from '../../../../components/Overlay';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport Button from '../../../../components/Button';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\n// HELPERS AND SERVICES\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as newsletterService from '../../../../services/management/newsletterService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst initialNewsletterModel = {\r\n id: 0,\r\n name: '',\r\n month: '',\r\n year: ''\r\n};\r\n\r\nconst NewsletterListingPage = (props) => {\r\n const {\r\n showAlert,\r\n auth,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [newsletters, setNewsletters] = useState([]);\r\n const [newsletterModel, setNewsletterModel] = useState(initialNewsletterModel);\r\n const [selectedMonth, setSelectedMonth] = useState('');\r\n const [selectedYear, setSelectedYear] = useState('');\r\n const [file, setFile] = useState([]);\r\n const [isAddNewsletterModalOpen, setIsAddNewsletterModalOpen] = useState(false);\r\n const yearOptions = helper.getYearOptions();\r\n const monthOptions = helper.getMonthOptions();\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n fetchNewsletters();\r\n }, []);\r\n\r\n const fetchNewsletters = () => {\r\n setIsLoading(true);\r\n\r\n newsletterService.getAllNewsletters().then((res) => {\r\n setNewsletters(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: newsletterModel,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Newsletter name is required').max(500),\r\n month: Yup.string().required('Newletter month is required'),\r\n year: Yup.string().required('Newletter year is required'),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (!newsletterModel.id) {\r\n createNewsletter(values);\r\n } else {\r\n updateNewsletter(values);\r\n }\r\n },\r\n });\r\n\r\n const createNewsletter = (model) => {\r\n setIsLoading(true);\r\n if (file.length > 0) {\r\n model = { ...model, document: file.length > 0 ? file[0].file : null };\r\n }\r\n\r\n newsletterService.createNewsletter(helper.convertJsonToFormData(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(() => {\r\n setIsLoading(false);\r\n setSelectedMonth('');\r\n setSelectedYear('');\r\n toggleAddNewsletterModal();\r\n fetchNewsletters();\r\n });\r\n };\r\n\r\n const updateNewsletter = (model) => {\r\n setIsLoading(true);\r\n\r\n newsletterService.updateNewsletter(helper.convertJsonToFormData(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(() => {\r\n setIsLoading(false);\r\n toggleAddNewsletterModal();\r\n fetchNewsletters();\r\n });\r\n };\r\n\r\n const deleteNewsletter = (newsletterId) => {\r\n setIsLoading(true);\r\n\r\n newsletterService.deleteNewsletter(newsletterId).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(() => {\r\n setIsLoading(false);\r\n hideConfirmModal();\r\n fetchNewsletters();\r\n });\r\n };\r\n\r\n const toggleAddNewsletterModal = () => {\r\n setIsAddNewsletterModalOpen((prevState) => {\r\n if (prevState) {\r\n setNewsletterModel(initialNewsletterModel);\r\n formik.resetForm();\r\n setSelectedMonth(null);\r\n setSelectedYear(null);\r\n }\r\n return !prevState;\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 const selected = newsletters[dataIndex];\r\n toggleAddNewsletterModal();\r\n setNewsletterModel(selected);\r\n setSelectedMonth({ label: selected.month, value: selected.month });\r\n setSelectedYear({ label: selected.year, value: selected.year });\r\n }}\r\n />\r\n {\r\n showConfirmModal({\r\n title: 'Remove Newsletter',\r\n text: 'Are you sure you want to remove this newsletter?',\r\n rightBtnText: 'Confirm',\r\n btnAction: () => deleteNewsletter(newsletters[dataIndex].id)\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: 'month',\r\n label: 'Month',\r\n options: columnOptions,\r\n },\r\n {\r\n name: 'year',\r\n label: 'Year',\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={toggleAddNewsletterModal}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* ADD NEWSLETTER MODAL */}\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 setSelectedMonth(selectedOpt);\r\n formik.setFieldValue('month', selectedOpt.value);\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n selectedOpt = selectedOpt === null ? [] : selectedOpt;\r\n setSelectedYear(selectedOpt);\r\n formik.setFieldValue('year', selectedOpt.value);\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\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n})(NewsletterListingPage);","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/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);","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);","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, { useState, useEffect } 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\nimport htmlEditButton from 'quill-html-edit-button';\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({\r\n 'modules/imageResize': ImageResize,\r\n 'modules/htmlEditButton': htmlEditButton\r\n});\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\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', 'Toolbar']\r\n },\r\n htmlEditButton: {}\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];\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\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 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 } = 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;","export default __webpack_public_path__ + \"static/media/banner-image_brick-project.c19dfe0e.png\";","/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { PayPalButton } from 'react-paypal-button-v2';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport Button from '../../../components/Button';\r\nimport Section from '../../../components/Section';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport FormBlock from '../../../components/FormBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport ModalBlock from '../../../components/ModalBlock';\r\n// CMS COMPONENTS\r\n// ASSETS - BRICK PROJECT\r\nimport BannerImage from '../../../assets/img/banner-image_brick-project.png';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../helpers/helper';\r\nimport * as brickService from '../../../services/management/brickService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\nimport constants from '../../../constants/constants';\r\n\r\nconst initialModel = {\r\n line1: '',\r\n line2: '',\r\n line3: '',\r\n amount: 100,\r\n payPalTransactionId: ''\r\n};\r\n\r\nconst BrickProject = (props) => {\r\n const { showAlert, history } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [model] = useState(initialModel);\r\n const [isPaymentModalOpen, setIsPaymentModalOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n line1: Yup.string().required().max(20),\r\n line2: Yup.string().max(20),\r\n line3: Yup.string().max(20),\r\n amount: Yup.number(),\r\n payPalTransactionId: Yup.string().nullable().max(100),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: () => setIsPaymentModalOpen(true),\r\n });\r\n\r\n const submitForm = (values, payPalTransactionId) => {\r\n setIsLoading(true);\r\n brickService.submitBrick({\r\n ...values,\r\n payPalTransactionId\r\n })\r\n .then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/account-details');\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 handleModalClose = () => {\r\n setIsPaymentModalOpen(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 \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n { }}\r\n onHide={handleModalClose}\r\n >\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n showAlert({ text: 'Success! Payment went through. Please wait while we record your payment', state: 'success' });\r\n setIsLoading();\r\n handleModalClose();\r\n submitForm(formik.values, JSON.stringify(details));\r\n }}\r\n onError={(err) => {\r\n showAlert({ text: err.message, state: 'error' });\r\n }}\r\n options={{ clientId: constants.PAYPAL_CLIENT_ID }}\r\n />\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default connect(null, { ...alert.actions })(BrickProject);","export default __webpack_public_path__ + \"static/media/banner-image_membership.1aae040b.jpg\";","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { PayPalButton } from 'react-paypal-button-v2';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport Button from '../../../components/Button';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport FormBlock from '../../../components/FormBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport ModalBlock from '../../../components/ModalBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Section from '../../../components/Section';\r\nimport SelectBlock from '../../../components/SelectBlock';\r\nimport TextBlock from '../../../components/TextBlock';\r\n// CMS COMPONENTS\r\n// ASSETS - MEMBERSHIP PAGE\r\nimport BannerImage from '../../../assets/img/banner-image_membership.jpg';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../helpers/helper';\r\nimport * as membershipService from '../../../services/management/membershipService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\nimport constants from '../../../constants/constants';\r\n\r\nconst membershipTierOptions = [\r\n { value: 'Member', label: 'Member' },\r\n { value: 'Supporter', label: 'Supporter' },\r\n { value: 'Sponsor', label: 'Sponsor' },\r\n { value: 'Patron', label: 'Patron' },\r\n { value: 'Benefactor', label: 'Benefactor' },\r\n];\r\n\r\nconst membershipAmountPlaceholderRef = {\r\n Member: 'e.g. 10 - 49',\r\n Supporter: 'e.g. 50 - 99',\r\n Sponsor: 'e.g. 100 - 499',\r\n Patron: 'e.g. 500 - 999',\r\n Benefactor: 'e.g. 1000 or more'\r\n};\r\n\r\nconst initialModel = {\r\n membershipTier: '',\r\n amount: '',\r\n payPalTransactionId: ''\r\n};\r\n\r\nconst MembershipPage = (props) => {\r\n const { showAlert, history, auth } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [model] = useState(initialModel);\r\n const [isPaymentModalOpen, setIsPaymentModalOpen] = useState(false);\r\n const [selectedMembership, setSelectedMembership] = useState(null);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n membershipTier: Yup.string().required().max(100),\r\n payPalTransactionId: Yup.string().nullable().max(100),\r\n amount: Yup.number()\r\n .when('membershipTier', {\r\n is: (val) => val === 'Member',\r\n then: Yup.number().required().min(10).max(49),\r\n })\r\n .when('membershipTier', {\r\n is: (val) => val === 'Supporter',\r\n then: Yup.number().required().min(50).max(99),\r\n })\r\n .when('membershipTier', {\r\n is: (val) => val === 'Sponsor',\r\n then: Yup.number().required().min(100).max(499),\r\n })\r\n .when('membershipTier', {\r\n is: (val) => val === 'Patron',\r\n then: Yup.number().required().min(500).max(999),\r\n })\r\n .when('membershipTier', {\r\n is: (val) => val === 'Benefactor',\r\n then: Yup.number().required().min(1000),\r\n }),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setIsPaymentModalOpen(true);\r\n // eslint-disable-next-line no-console\r\n console.log(submitForm, setSubmitting, values);\r\n },\r\n });\r\n\r\n const submitForm = (values, payPalTransaction) => {\r\n setIsLoading(true);\r\n\r\n membershipService.buyMembership({\r\n ...values,\r\n payPalTransactionId: payPalTransaction\r\n }).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/account-details');\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 handleModalClose = () => {\r\n setIsPaymentModalOpen(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 \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n opt = opt === null ? [] : opt;\r\n setSelectedMembership(opt);\r\n formik.setFieldValue('membershipTier', 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 onHide={handleModalClose}\r\n >\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n showAlert({ text: 'Success! Payment went through. Please wait while we record your payment', state: 'success' });\r\n setIsLoading();\r\n handleModalClose();\r\n submitForm(formik.values, JSON.stringify(details));\r\n }}\r\n onError={(err) => {\r\n showAlert({ text: err.message, state: 'error' });\r\n }}\r\n options={{ clientId: constants.PAYPAL_CLIENT_ID }}\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, { ...alert.actions })(MembershipPage);","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// COMPONENTS\r\nimport { FiUser } from 'react-icons/fi';\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport Button from '../../../components/Button';\r\nimport Section from '../../../components/Section';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport FormBlock from '../../../components/FormBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport LoginPasswordRecoveryModal from '../../../components/LoginPasswordRecoveryModal';\r\n// ASSETS - REGISTRATION PAGE\r\nimport BannerImage from '../../../assets/img/banner-image_membership.jpg';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../helpers/helper';\r\nimport * as membershipService from '../../../services/management/membershipService';\r\n// REDUX\r\nimport * as authRedux from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\n\r\nconst initialModel = {\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n emailAddress: '',\r\n businessName: '',\r\n addressLine1: '',\r\n addressLine2: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n password: '',\r\n confirmPassword: '',\r\n};\r\n\r\nconst RegistrationPage = (props) => {\r\n const { showAlert, history, login, iconSize } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [model] = useState(initialModel);\r\n // const [loginPasswordConfirmVisible, setLoginPasswordConfirmVisible] = useState(false);\r\n // USER REGISTRATION\r\n const [passwordVisible, setPasswordVisible] = useState(false);\r\n const [passwordConfirmVisible, setPasswordConfirmVisible] = useState(false);\r\n // LOGIN\r\n const [isLoginModalOpen, setIsLoginModalOpen] = useState(false);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n firstName: Yup.string().required().max(100),\r\n lastName: Yup.string().required().max(100),\r\n phoneNumber: Yup.string().required(),\r\n businessName: Yup.string().max(500),\r\n emailAddress: Yup.string().required().max(100).email(),\r\n addressLine1: Yup.string().required().max(100),\r\n addressLine2: Yup.string().nullable().max(100),\r\n city: Yup.string().required().max(100),\r\n state: Yup.string().required().max(100),\r\n zipCode: Yup.string().required().max(100),\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 }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n submitForm(values);\r\n },\r\n });\r\n\r\n const submitForm = (values) => {\r\n setIsLoading(true);\r\n membershipService.createMembership(values).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/account-details');\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 handleLoginModalOpen = () => {\r\n setIsLoginModalOpen(true);\r\n };\r\n\r\n const handleLoginModalClose = () => {\r\n setIsLoginModalOpen(false);\r\n // setForgotPasswordBlockVisible(false);\r\n // setRecoveryEmail('');\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 {/* GENERAL 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 setPasswordVisible(!passwordVisible)}\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 setPasswordConfirmVisible(!passwordConfirmVisible)}\r\n errorMessage={formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(formik, 'confirmPassword')}`}\r\n {...formik.getFieldProps('confirmPassword')}\r\n />\r\n \r\n
\r\n\r\n {/* ADDRESS 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 \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* LOGIN MODAL */}\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 { ...authRedux.actions, ...alertToast.actions }\r\n)(RegistrationPage);","/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport Button from '../../../../components/Button';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\n// CMS COMPONENTS\r\n// ASSETS - ACCOUNT DETAILS TAB\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../../helpers/helper';\r\nimport * as membershipService from '../../../../services/management/membershipService';\r\nimport * as alertRedux from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n\r\nconst AccountDetailsTab = (props) => {\r\n const {\r\n membership,\r\n showAlert,\r\n setIsLoading\r\n } = props;\r\n\r\n const formik = useFormik({\r\n initialValues: membership,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n firstName: Yup.string().required().max(100),\r\n lastName: Yup.string().required().max(100),\r\n phoneNumber: Yup.string().required(),\r\n emailAddress: Yup.string().required().max(100).email(),\r\n businessName: Yup.string().nullable().max(500),\r\n addressLine1: Yup.string().required().max(100),\r\n addressLine2: Yup.string().nullable().max(100),\r\n city: Yup.string().required().max(100),\r\n state: Yup.string().required().max(100),\r\n zipCode: Yup.string().required().max(100),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n submitForm(values);\r\n },\r\n });\r\n\r\n const submitForm = (values) => {\r\n setIsLoading(true);\r\n membershipService.updateUserMembership(values).then((res) => {\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 return (\r\n \r\n
\r\n

Account 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 \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\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 ...alertRedux.actions\r\n})(AccountDetailsTab);","/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\n// COMPONENTS\r\nimport { Table } from 'react-bootstrap';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Button from '../../../../components/Button';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\n// CMS COMPONENTS\r\n// ASSETS - BRICK PROJECT TAB\r\n// SERVICES AND HELPERS\r\nimport * as brickService from '../../../../services/management/brickService';\r\n\r\nconst BrickProjectTab = (props) => {\r\n const { history, setIsLoading } = props;\r\n const [bricks, setBricks] = useState([]);\r\n\r\n useEffect(() => {\r\n getUserBricks();\r\n }, []);\r\n\r\n const getUserBricks = () => {\r\n setIsLoading(true);\r\n\r\n brickService.getBricks()\r\n .then((res) => {\r\n setBricks(res);\r\n })\r\n .catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Purchase History

\r\n
\r\n \r\n {bricks.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Line 1
\r\n \r\n \r\n
Line 2
\r\n \r\n \r\n
Line 3
\r\n \r\n \r\n \r\n \r\n {bricks.map((brick, index) => (\r\n \r\n {index + 1}\r\n {moment(brick.dateOrdered).format('MMMM D, YYYY')}\r\n {brick.line1}\r\n {brick.line2}\r\n {brick.line3}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n {\r\n history.push('/brick-project-form');\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BrickProjectTab;","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\n// COMPONENTS\r\nimport Table from 'react-bootstrap/Table';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Button from '../../../../components/Button';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\n// CMS COMPONENTS\r\n// ASSETS - DONTATIONS TAB\r\n// SERVICES AND HELPERS\r\nimport * as donationService from '../../../../services/management/donationService';\r\nimport * as helper from '../../../../helpers/helper';\r\n\r\nconst DontationsTab = (props) => {\r\n const { history, setIsLoading } = props;\r\n const [donations, setDonations] = useState([]);\r\n\r\n useEffect(() => {\r\n getUserDonations();\r\n }, []);\r\n\r\n const getUserDonations = () => {\r\n setIsLoading(true);\r\n\r\n donationService.getDonations()\r\n .then((res) => {\r\n setDonations(res);\r\n })\r\n .catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Donation History

\r\n
\r\n\r\n \r\n {donations.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Amount
\r\n \r\n \r\n
Payment Type
\r\n \r\n \r\n \r\n \r\n {donations.map((donation, index) => (\r\n \r\n {index + 1}\r\n {moment(donation.dateOrdered).format('MMMM D, YYYY')}\r\n {helper.currencyFormat(donation.amount)}\r\n {donation.paymentType}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n {\r\n history.push('/donation-form');\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DontationsTab;","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\n// COMPONENTS\r\nimport { Table } from 'react-bootstrap';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Button from '../../../../components/Button';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\n// CMS COMPONENTS\r\n// ASSETS - MEMBERSHIP TAB\r\n// SERVICES AND HELPERS\r\nimport * as membershipService from '../../../../services/management/membershipService';\r\nimport * as helper from '../../../../helpers/helper';\r\n\r\nconst MembershipTab = (props) => {\r\n const { history, setIsLoading } = props;\r\n const [membership, setMembership] = useState([]);\r\n\r\n useEffect(() => {\r\n getUserMembership();\r\n }, []);\r\n\r\n const getUserMembership = () => {\r\n setIsLoading(true);\r\n\r\n membershipService.getLoggedInUserMembership()\r\n .then((res) => {\r\n setMembership(res);\r\n })\r\n .catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Membership Details

\r\n
\r\n \r\n {!membership.membershipTier ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n
Item
\r\n \r\n \r\n
Date Ordered
\r\n \r\n \r\n
Membership
\r\n \r\n \r\n
Amount
\r\n \r\n \r\n \r\n \r\n \r\n 1\r\n {moment(membership.membershipDateTime).format('MMMM d, yyyy')}\r\n {membership.membershipTier}\r\n {helper.currencyFormat(membership.amount)}\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n {!membership.membershipTier && (\r\n \r\n {\r\n history.push('/membership-form');\r\n }}\r\n />\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default MembershipTab;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINT = 'FamilyMember/';\r\n\r\nconst getAllFamilyMembers = async () => axiosInstance.get(`${ENDPOINT}GetAllFamilyMembers`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllRelativeFamilyMembers = async (memberId) => axiosInstance.get(`${ENDPOINT}GetAllRelativeFamilyMembers/?memberId=${memberId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getFamilyMemberById = async (familyMemberId) => axiosInstance.get(`${ENDPOINT}GetFamilyMemberById/${familyMemberId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createFamilyMember = async (model) => axiosInstance.post(`${ENDPOINT}CreateFamilyMember`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteFamilyMember = async (familyMemberId) => axiosInstance.delete(`${ENDPOINT}DeleteFamilyMember/?familyMemberId=${familyMemberId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllFamilyMembers,\r\n getAllRelativeFamilyMembers,\r\n getFamilyMemberById,\r\n createFamilyMember,\r\n deleteFamilyMember\r\n};","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as Yup from 'yup';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport Table from 'react-bootstrap/Table';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Button from '../../../../components/Button';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ModalBlock from '../../../../components/ModalBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\n// CMS COMPONENTS\r\n// ASSETS - FAMILY MEMBER TAB\r\n// SERVICES AND HELPERS\r\nimport * as membershipService from '../../../../services/management/membershipService';\r\nimport * as familyMemberServivce from '../../../../services/management/familyMemberService';\r\nimport * as helper from '../../../../helpers/helper';\r\n// REDUX\r\nimport * as alertRedux from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst FamilyMemberTab = (props) => {\r\n const {\r\n membership,\r\n showAlert,\r\n setIsLoading,\r\n showConfirmModal,\r\n hideConfirmModal\r\n } = props;\r\n const [memberOptions, setMemberOptions] = useState([]);\r\n const [familyMembers, setFamilyMembers] = useState([]);\r\n const [relativeFamilyMembers, setRelativeFamilyMembers] = useState([]);\r\n const [selectedFamilyMember, setSelectedFamilyMember] = useState([]);\r\n const [isAddFamilyMemberModal, setIsAddFamilyMemberModal] = useState(false);\r\n\r\n useEffect(() => {\r\n getFamilyMembers();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (membership.id > 0) {\r\n getMemberOptions();\r\n getRelativeFamilyMembers(membership.id);\r\n }\r\n }, [membership]);\r\n\r\n const getFamilyMembers = () => {\r\n setIsLoading(true);\r\n\r\n familyMemberServivce.getAllFamilyMembers().then((res) => {\r\n setFamilyMembers(res);\r\n }).catch()\r\n .finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const getRelativeFamilyMembers = (memberId) => {\r\n setIsLoading(true);\r\n\r\n familyMemberServivce.getAllRelativeFamilyMembers(memberId).then((res) => {\r\n setRelativeFamilyMembers(res);\r\n }).catch()\r\n .finally(() => setIsLoading(false));\r\n };\r\n\r\n const getMemberOptions = () => {\r\n setIsLoading(true);\r\n\r\n membershipService.getMemberships().then((res) => {\r\n const options = res.map((member) => ({\r\n value: member.id,\r\n label: `${member.firstName} ${member.lastName} (${member.city}, ${member.state})`\r\n }));\r\n const ignoreMemberIds = [...(familyMembers || []).map((member) => member.memberId), membership.id];\r\n const filteredOptions = options.filter((opt) => !ignoreMemberIds.includes(opt.value));\r\n\r\n setMemberOptions(filteredOptions);\r\n }).catch()\r\n .finally(() => setIsLoading(false));\r\n };\r\n\r\n const formik = useFormik({\r\n initialValues: familyMembers,\r\n validationSchema: Yup.object().shape({\r\n userId: Yup.number(),\r\n relativeId: Yup.number(),\r\n relation: Yup.string().required('Family member relationship is required').max(250),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n createFamilyMember(values);\r\n },\r\n });\r\n\r\n const createFamilyMember = (model) => {\r\n setIsLoading(true);\r\n model = { ...model, relativeId: selectedFamilyMember.value };\r\n\r\n familyMemberServivce.createFamilyMember(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n toggleIsAddFamilyMemberModal();\r\n getFamilyMembers();\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const deleteFamilyMember = (familyMemberId) => {\r\n setIsLoading(true);\r\n\r\n familyMemberServivce.deleteFamilyMember(familyMemberId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n getFamilyMembers();\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 toggleIsAddFamilyMemberModal = () => setIsAddFamilyMemberModal((prevState) => !prevState);\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Added Members

\r\n
\r\n\r\n \r\n {familyMembers.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n
Actions
\r\n \r\n \r\n
Name
\r\n \r\n \r\n
Location
\r\n \r\n \r\n
Relationship
\r\n \r\n \r\n \r\n \r\n {familyMembers.length > 0 && (\r\n familyMembers.map((familyMember) => (\r\n \r\n \r\n {\r\n showConfirmModal({\r\n title: 'Remove Family Member',\r\n text: `Are you sure you want to remove ${familyMember.firstName} ${familyMember.lastName} from your family members?`,\r\n rightBtnText: 'Confirm',\r\n btnAction: () => deleteFamilyMember(familyMember.id)\r\n });\r\n }}\r\n />\r\n \r\n {`${familyMember.firstName} ${familyMember.lastName}`}\r\n {`${familyMember.city}, ${familyMember.state}`}\r\n {familyMember.relation}\r\n \r\n ))\r\n )}\r\n \r\n \r\n )}\r\n \r\n toggleIsAddFamilyMemberModal()}\r\n />\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n

Connected Members

\r\n
\r\n\r\n \r\n {relativeFamilyMembers.length === 0 ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {/* \r\n
Actions
\r\n */}\r\n \r\n
Added By
\r\n \r\n \r\n
Name
\r\n \r\n \r\n
Location
\r\n \r\n \r\n
Relationship
\r\n \r\n \r\n \r\n \r\n {relativeFamilyMembers.length > 0 && (\r\n relativeFamilyMembers.map((member) => (\r\n \r\n {/* \r\n \r\n handlePendingRelationAction()}\r\n />\r\n handlePendingRelationAction()}\r\n />\r\n \r\n */}\r\n {/* eslint-disable-next-line react/jsx-one-expression-per-line */}\r\n {member.fromName} ({member.fromCity}, {member.fromState})\r\n {`${member.firstName} ${member.lastName}`}\r\n {`${member.city}, ${member.state}`}\r\n {member.relation}\r\n \r\n ))\r\n )}\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n {/* ADD FAMILY MEMBER 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\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alertRedux.actions,\r\n ...confirmModal.actions\r\n})(FamilyMemberTab);","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\nimport Tab from 'react-bootstrap/Tab';\r\nimport Tabs from 'react-bootstrap/Tabs';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport AccountDetailsTab from './tabs/AccountDetailsTab';\r\nimport Banner from '../../../components/Banner';\r\nimport BrickProjectTab from './tabs/BrickProjectTab';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport DontationsTab from './tabs/DontationTab';\r\nimport MembershipTab from './tabs/MembershipTab';\r\n// import OnlineStoreTab from './tabs/OnlineStoreTab';\r\nimport FamilyMemberTab from './tabs/FamilyMemberTab';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Section from '../../../components/Section';\r\nimport TextBlock from '../../../components/TextBlock';\r\n// CMS COMPONENTS\r\n// ASSETS - ACCOUNT DETAILS PAGE\r\nimport BannerImage from '../../../assets/img/banner-image_membership.jpg';\r\n// SERVICES AND HELPERS\r\nimport * as membershipService from '../../../services/management/membershipService';\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertRedux from '../../../redux/alertToastRedux';\r\n\r\nconst AccountDetailsPage = (props) => {\r\n const { showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [membership, setMembership] = useState({\r\n firstName: '',\r\n lastName: '',\r\n membershipTier: '',\r\n membershipDateTime: ''\r\n });\r\n\r\n useEffect(() => {\r\n getMembership();\r\n }, []);\r\n\r\n const getMembership = () => {\r\n setIsLoading(true);\r\n membershipService.getLoggedInUserMembership().then((res) => {\r\n setMembership(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\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
\r\n \r\n {/* eslint-disable-next-line react/jsx-one-expression-per-line */}\r\n

Welcome, {membership.firstName} {membership.lastName}

\r\n {membership.membershipTier && membership.membershipDateTime ? (\r\n

\r\n {/* eslint-disable-next-line react/jsx-one-expression-per-line */}\r\n {membership.membershipTier} Since {moment(membership.membershipDateTime).format('MMMM YYYY')}\r\n

\r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n \r\n \r\n {/* ACCOUNT SUMMARY TAB */}\r\n \r\n \r\n \r\n\r\n {/* FAMILY MEMBER TAB */}\r\n \r\n \r\n \r\n\r\n {/* MEMBERSHIP TAB */}\r\n \r\n \r\n \r\n\r\n {/* BRICK PROJECT */}\r\n \r\n \r\n \r\n\r\n {/* DONATIONS */}\r\n \r\n \r\n \r\n\r\n {/* PURCHASES */}\r\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, ...alertRedux.actions })(AccountDetailsPage);","export default __webpack_public_path__ + \"static/media/banner-image_donation.520f2852.png\";","/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport { PayPalButton } from 'react-paypal-button-v2';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport Button from '../../../components/Button';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport FormBlock from '../../../components/FormBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport ModalBlock from '../../../components/ModalBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Section from '../../../components/Section';\r\n// CMS COMPONENTS\r\n// ASSETS - DONATION PAGE\r\nimport BannerImage from '../../../assets/img/banner-image_donation.png';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../../../helpers/helper';\r\nimport * as donationService from '../../../services/management/donationService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\nimport constants from '../../../constants/constants';\r\n\r\nconst donationOptions = [\r\n { value: 10, label: '$10' },\r\n { value: 25, label: '$25' },\r\n { value: 50, label: '$50' },\r\n { value: 100, label: '$100' },\r\n { value: '', label: 'Other' },\r\n];\r\n\r\nconst initialModel = {\r\n amount: '',\r\n payPalTransactionId: ''\r\n};\r\n\r\nconst DonationPage = (props) => {\r\n const { showAlert, history } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [model] = useState(initialModel);\r\n const [isPaymentModalOpen, setIsPaymentModalOpen] = useState(false);\r\n const [selectedAmount, setSelectedAmount] = useState(null);\r\n const [isPaymentByCheck, setIsPaymentByCheck] = useState(false);\r\n const [isPaymentByCheckSection, setIsPaymentByCheckSection] = useState(true);\r\n const [isPaymentByCheckInstructions, setIsPaymentByCheckInstructions] = useState(false);\r\n\r\n const formik = useFormik({\r\n initialValues: model,\r\n validationSchema: Yup.object().shape({\r\n amount: Yup.number().required('Please provide a donation amount.').min(1),\r\n payPalTransactionId: Yup.string().nullable().max(100),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: () => setIsPaymentModalOpen(true),\r\n });\r\n\r\n const submitForm = (values, payPalTransactionId) => {\r\n setIsLoading(true);\r\n donationService.submitDonation({\r\n ...values,\r\n payPalTransactionId\r\n })\r\n .then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/account-details');\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 handleModalClose = () => {\r\n setIsPaymentModalOpen(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 \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n {donationOptions.map((opt) => (\r\n {\r\n setSelectedAmount(opt.value);\r\n formik.setFieldValue('amount', opt.value);\r\n }}\r\n />\r\n ))}\r\n \r\n\r\n {selectedAmount === '' && (\r\n \r\n {\r\n // eslint-disable-next-line no-useless-escape\r\n const value = e.target.value.replace(/[^\\d]/g, '');\r\n formik.setFieldValue('amount', +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 onHide={() => {\r\n handleModalClose();\r\n setIsPaymentByCheck(false);\r\n setIsPaymentByCheckInstructions(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n\r\n {isPaymentByCheckSection && !isPaymentByCheckInstructions && (\r\n <>\r\n \r\n {\r\n setIsPaymentByCheck(true);\r\n setIsPaymentByCheckInstructions(true);\r\n }}\r\n className=\"secondary--bg\"\r\n />\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n\r\n {isPaymentByCheckInstructions && (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n )}\r\n\r\n {!isPaymentByCheck && (\r\n \r\n {\r\n showAlert({ text: 'Success! Payment went through. Please wait while we record your payment', state: 'success' });\r\n setIsLoading();\r\n handleModalClose();\r\n submitForm(formik.values, JSON.stringify(details));\r\n }}\r\n onError={(err) => {\r\n showAlert({ text: err.message, state: 'error' });\r\n }}\r\n options={{ clientId: constants.PAYPAL_CLIENT_ID }}\r\n onClick={() => setIsPaymentByCheckSection(false)}\r\n onCancel={() => setIsPaymentByCheckSection(true)}\r\n />\r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default connect(null, { ...alert.actions })(DonationPage);","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Section from '../../../components/Section';\r\nimport ContentSection from '../../../components/ContentSection';\r\n// CMS COMPONENTS\r\n// ASSETS - GALLERY PAGE\r\n// SERVICES AND HELPERS\r\nimport * as galleryService from '../../../services/management/galleryService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\n\r\nconst GalleryPage = (props) => {\r\n const { showAlert, history } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [galleries, setGalleries] = useState([]);\r\n const bannerImage = 'https://images.pexels.com/photos/296649/pexels-photo-296649.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1';\r\n\r\n useEffect(() => {\r\n fetchGalleries();\r\n }, []);\r\n\r\n const fetchGalleries = () => {\r\n setIsLoading(true);\r\n galleryService.getAllGalleries().then((res) => {\r\n setGalleries(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 return (\r\n <>\r\n {isLoading && }\r\n \r\n\r\n \r\n \r\n
\r\n {galleries && (\r\n galleries.map((gallery) => (\r\n 0 && `${process.env.REACT_APP_API_URL}Attachments${gallery.galleryImages[0].imageFilePath}`}\r\n description=\"\"\r\n hasRoundCorners\r\n isFullWidthUnpadded\r\n primaryActionText=\"View Gallery\"\r\n primaryActionOnClick={() => history.push(`/gallery-images/${gallery.id}`)}\r\n isCentered\r\n isFloatingCard\r\n hasCardBackgroundImage\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, { ...alert.actions })(GalleryPage);","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\n// COMPONENTS\r\n// ICONS\r\nimport { FaRegFilePdf } from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport ContentSection from '../../../components/ContentSection';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Button from '../../../components/Button';\r\n// CMS COMPONENTS\r\n// ASSETS - NEWSLETTER PAGE\r\n// SERVICES AND HELPERS\r\nimport * as newsletterService from '../../../services/management/newsletterService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\n\r\nconst NewsletterPage = (props) => {\r\n const { showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [newsletters, setNewsletters] = useState([]);\r\n const bannerImage = 'https://images.pexels.com/photos/518543/pexels-photo-518543.jpeg';\r\n\r\n useEffect(() => {\r\n fetchNewsletters();\r\n }, []);\r\n\r\n const fetchNewsletters = () => {\r\n setIsLoading(true);\r\n newsletterService.getAllNewsletters().then((res) => {\r\n const sortedNewsletters = res.sort((a, b) => {\r\n const aTimestamp = moment(`${a.year}-${a.month}`, 'YYYY-MMMM').unix();\r\n const bTimestamp = moment(`${b.year}-${b.month}`, 'YYYY-MMMM').unix();\r\n\r\n return aTimestamp - bTimestamp;\r\n });\r\n\r\n const groupedNewsletters = sortedNewsletters.reduce((acc, newsletter) => {\r\n const { year } = newsletter;\r\n if (!acc[year]) {\r\n acc[year] = [];\r\n }\r\n acc[year].push(newsletter);\r\n return acc;\r\n }, {});\r\n\r\n setNewsletters(groupedNewsletters);\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 \r\n {newsletters && (\r\n Object.keys(newsletters).sort((a, b) => b.localeCompare(a)).map((year) => (\r\n \r\n \r\n \r\n {newsletters[year].map((newsletter) => (\r\n }\r\n onClick={() => {\r\n window.open(`${process.env.REACT_APP_API_URL}Attachments${newsletter.documentFilePath}`, '_blank');\r\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, { ...alert.actions })(NewsletterPage);","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\n\r\n// COMPONENTS\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Banner from '../../../components/Banner';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport Section from '../../../components/Section';\r\nimport TextHeader from '../../../components/TextHeader';\r\nimport ModalBlock from '../../../components/ModalBlock';\r\n// CMS COMPONENTS\r\n// ASSETS - GALLERY IMAGE PAGE\r\n// SERVICES AND HELPERS\r\nimport * as galleryService from '../../../services/management/galleryService';\r\nimport * as alert from '../../../redux/alertToastRedux';\r\n\r\nconst GalleryImagePage = (props) => {\r\n const { showAlert } = props;\r\n const { galleryId } = useParams();\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [gallery, setGallery] = useState([]);\r\n const [clickedImage, setClickedImage] = useState([]);\r\n const [isImageModalOpen, setIsImageModalOpen] = useState(false);\r\n const bannerImage = 'https://images.pexels.com/photos/296649/pexels-photo-296649.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1';\r\n\r\n useEffect(() => {\r\n if (galleryId) {\r\n fetchGallery();\r\n }\r\n }, []);\r\n\r\n const fetchGallery = () => {\r\n setIsLoading(true);\r\n galleryService.getGalleryById(galleryId).then((res) => {\r\n setGallery(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 handleImageClick = (image) => {\r\n setClickedImage(image);\r\n toggleImageModal();\r\n };\r\n\r\n const toggleImageModal = () => setIsImageModalOpen((prevState) => !prevState);\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 {gallery.galleryImages && (\r\n gallery.galleryImages.map((image) => (\r\n handleImageClick(image)}>\r\n \r\n

{image.subtitle}

\r\n
\r\n ))\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* EXPAND IMAGE MODAL */}\r\n \r\n {clickedImage && (\r\n
\r\n {clickedImage.subtitle}\r\n

{clickedImage.subtitle}

\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, { ...alert.actions })(GalleryImagePage);","/* 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;","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 max-len */\r\n/* eslint-disable react/self-closing-comp */\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\n// COMPONENTS\r\nimport Slider from 'react-slick';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\n// import Section from '../../../components/Section';\r\n// import ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\n// import TextBlock from '../../../components/TextBlock';\r\n// import Image from '../../../components/Image';\r\nimport Banner from '../../../components/Banner';\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\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 } = props;\r\n const [isLoading] = useState(false);\r\n const [banners, setBanners] = useState([]);\r\n\r\n const today = new Date();\r\n today.setHours(0, 0, 0, 0);\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 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 \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 />\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\nimport MemberRoute from './routes/MemberRoute';\r\n// CUSTOM COMPONENTS\r\nimport ConfirmModal from './components/ConfirmModal';\r\nimport AlertToast from './components/AlertToast';\r\nimport Overlay from './components/Overlay';\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\nimport MemberListingPage from './pages/admin/management/member/MemberListingPage';\r\nimport DonationListingPage from './pages/admin/management/donation/DonationListingPage';\r\nimport BrickListingPage from './pages/admin/management/brick/BrickListingPage';\r\nimport GalleryListingPage from './pages/admin/management/gallery/GalleryListingPage';\r\nimport GalleryManagementPage from './pages/admin/management/gallery/GalleryManagementPage';\r\nimport NewsletterListingPage from './pages/admin/management/newsletter/NewsletterListingPage';\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// CMS PAGES\r\nimport BrickProject from './pages/cms/pages/BrickProject';\r\nimport MembershipPage from './pages/cms/pages/MembershipPage';\r\nimport RegistrationPage from './pages/cms/pages/RegistrationPage';\r\nimport AccountDetailsPage from './pages/cms/pages/AccountDetailsPage';\r\nimport DonationPage from './pages/cms/pages/DonationPage';\r\nimport GalleryPage from './pages/cms/pages/GalleryPage';\r\nimport NewsletterPage from './pages/cms/pages/NewsletterPage';\r\nimport GalleryImagePage from './pages/cms/pages/GalleryImagePage';\r\n// BLOGS\r\nimport BlogsAndReviewsListingPage from './pages/cms/pages/BlogsAndReviewsListingPage';\r\nimport BlogListingPage from './pages/cms/management/blog/BlogListingPage';\r\nimport BlogManagementPage from './pages/cms/management/blog/BlogManagementPage';\r\nimport DynamicCMSPage from './pages/cms/pages/DynamicCMSPage';\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 {/* 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 = 20}\r\n accessLevel={auth.accessLevel}\r\n />\r\n\r\n = 20}\r\n accessLevel={auth.accessLevel}\r\n />\r\n\r\n \r\n\r\n = 20 && parseInt(auth.accessLevel, 10) <= 30\r\n }\r\n accessLevel={auth.accessLevel}\r\n />\r\n\r\n \r\n {\r\n isAuthorized\r\n ? (\r\n\r\n <>\r\n {/* USERS */}\r\n \r\n\r\n {/* MEMBERS */}\r\n \r\n\r\n {/* BRICK PROJECT */}\r\n \r\n\r\n {/* DONATIONS */}\r\n \r\n\r\n {/* NEWSLETTERS */}\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 {/* GALLERY */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* NEWSLETTERS */}\r\n \r\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":""}