{"version":3,"sources":["app/components/CustomBlock.js","app/components/Button.js","app/components/TextBlock.js","app/components/Image.js","app/components/MobileHeader.js","app/components/HeaderBlock.js","app/components/Overlay.js","app/assets/client/logo_default.svg","app/components/Drawer.js","app/components/SideSheet.js","app/components/ListBlock.js","app/redux/authRedux.js","app/routes/PrivateRoute.js","app/components/DrawerNavigation.js","app/components/SelectBlock.js","app/components/Chip.js","app/components/DotIndicator.js","app/components/TextHeader.js","app/components/ContentHeader.js","app/components/ModalBlock.js","app/components/Section.js","app/components/SocialIcons/SocialIconButton.js","app/components/SocialIcons/SocialIconSet.js","app/constants/constants.js","app/redux/alertToastRedux.js","app/redux/confirmModalRedux.js","app/redux/rootReducer.js","app/redux/store.js","app/services/interceptor/axiosInterceptor.js","app/services/apiService.js","app/services/cms/menuItemService.js","app/components/HeaderNavigation.js","app/components/InputBlock.js","app/assets/img/app-store-badge.svg","app/assets/img/google-play-badge.svg","app/components/FooterBlock.js","app/assets/client/logo_light.svg","app/routes/CMSRoute.js","app/components/ConfirmModal.js","app/components/AlertToast.js","app/components/ContentSection.js","app/components/Banner.js","app/assets/client/default-banner.png","app/pages/development/FluidTypographyTest.js","app/pages/development/DevelopmentReferencePage.js","app/components/FormBlock.js","app/pages/admin/authentication/_partials/ForgotPasswordBlock.js","app/helpers/validators/user/LoginValidator.js","app/helpers/helper.js","app/services/management/userService.js","app/pages/admin/authentication/LoginPage.js","app/components/ContentBlock.js","app/components/CheckboxBlock.js","app/helpers/validators/user/RegisterUserValidator.js","app/helpers/validators/user/UpdatePasswordValidator.js","app/helpers/validators/user/EditUserValidator.js","app/pages/admin/management/user/UserListingPage.js","app/services/management/meetingService.js","app/pages/admin/management/meeting/MeetingListingPage.js","app/components/TextAreaBlock.js","app/components/FileUploadBlock.js","app/components/FixedActionsBar.js","app/pages/admin/management/meeting/MeetingManagementPage.js","app/services/management/settingService.js","app/services/cms/pageService.js","app/pages/admin/management/settings/SettingsListingPage.js","app/pages/cms/management/menu-item/MenuItemListingPage.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/ContactForm.js","app/services/management/emailService.js","app/pages/cms/pages/ContactPage.js","app/components/MasonryGrid.js","app/pages/cms/pages/ServiceGalleryImagesPage.js","app/services/cms/blogService.js","app/pages/cms/management/blog/BlogListingPage.js","app/helpers/validators/cms/blog/BlogValidator.js","app/pages/cms/management/blog/BlogManagementPage.js","app/components/ContentStrip.js","app/pages/cms/pages/BlogsAndReviewsListingPage.js","app/assets/client/hero-banner-image.jpg","app/components/CustomBannerInsert.js","app/components/Accordion.js","app/pages/cms/tabs/ContactUsTab.js","app/pages/cms/tabs/ReportIssueTab.js","app/pages/cms/pages/HomePage/ContentSections/HomepageIntro.js","app/pages/cms/pages/HomePage/ContentSections/HomepageServicesIntro.js","app/pages/cms/pages/HomePage/ContentSections/ProductTabsSection.js","app/pages/cms/pages/HomePage/ContentSections/ServicesIntro.js","app/pages/cms/pages/HomePage/HomePage.js","app/services/cms/homeService.js","app/pages/cms/pages/DynamicCMSPage.js","app/Routes.js","app/App.js","reportWebVitals.js","index.js"],"names":["CustomBlock","props","className","style","children","_jsx","concat","defaultProps","Button","text","size","type","to","onClick","isTextUppercase","isBadge","isLoading","isDisabled","buttonSubActions","isSubActionsVisible","iconLeft","iconRight","hasRoundCorners","history","useHistory","_jsxs","_Fragment","navigateToPath","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","Image","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","Logo","IoClose","SideSheet","ListBlock","titleColor","tooltipText","tooltipTextColor","tooltipBackgroundColor","iconLeftBadgeText","iconLeftBadgeTextColor","iconLeftBadgeBackgroundColor","iconRightText","iconRightTextColor","iconRightBackgroundColor","badgeText","badgeTextColor","badgeColor","onDoubleClick","isCollapsed","hasRoundIconRight","isTooltipVisible","setIsTooltipVisible","useState","onMouseEnter","onMouseLeave","width","actionTypes","initialAuthState","user","firstName","lastName","username","authToken","refreshToken","isAdmin","reducer","persistReducer","storage","key","whitelist","state","arguments","length","undefined","action","token","payload","userDetail","decodedToken","jwt_decode","IsAdmin","actions","login","logout","connect","auth","_ref","userInfo","component","Component","rest","companyIconPath","cmsInfo","currentUser","setCurrentUser","isDrawerOpen","setIsDrawerOpen","navigationTitleVisible","setNavigationTitleVisible","subMenuVisible","setSubMenuVisible","sideSheetOpen","setSideSheetOpen","body","document","querySelector","iconSize","menuIconColor","iconColor","useEffect","toggleDrawer","setTimeout","enableBodyScroll","toggleSideSheet","disableBodyScroll","id","BsPeopleFill","isVisible","RiLayout5Fill","IoMdSettings","FaSignOutAlt","websiteManagementItems","IoList","CgCopy","RiListCheck2","IoLinkSharp","CgWebsite","Route","render","HiMenuAlt4","filter","x","map","item","index","rotateIconRight","subMenuItems","hasSubMenu","HiChevronRight","window","open","rightItemPrimaryButtonColor","rightItemPrimaryButtonOnClick","rightItemSecondaryButtonText","rightItemSecondaryButtonColor","DrawerNavigation","headerItems","SelectBlock","label","labelColor","inputLabel","inputState","errorMessage","successMessage","warningMessage","placeholder","isAsync","isCreatable","isLabelLoading","isMulti","isRequired","inputStates","error","warning","success","tabIndex","marginTop","display","marginBottom","Async","classNamePrefix","CreatableSelect","Select","Chip","DotIndicator","hasDotIndicator","dotIndicatorColor","TextHeader","subtitle","subtitleSize","subtitleClassName","isCentered","iconLeftClassName","textSize","xl","mdlg","ContentHeader","headerSize","primaryButtonBackgroundColor","primaryButtonIconLeft","secondaryButtonBackgroundColor","secondaryButtonIconLeft","buttonSize","headerIcon","headerIconContainerClass","headerIconTo","headerIconOnClick","isPrimaryLinkTargetBlank","isSecondaryLinkTargetBlank","isButtonTextUppercase","isPrimaryButtonLoading","isPrimaryButtonDisabled","isSecondaryButtonLoading","isSecondaryButtonDisabled","isTitleCentered","openInNewTab","uppercaseText","Link","ModalBlock","closeIconColor","contentHeader","contentDescription","buttonActionsContainerClassName","primaryModalActionType","primaryModalActionText","primaryModalActionColor","secondaryModalActionType","secondaryModalActionText","secondaryModalActionColor","onHide","primaryModalActionOnClick","secondaryModalActionOnClick","hasCloseAction","isPrimaryActionHidden","isSecondaryActionHidden","isActionsCentered","modalClassName","Modal","show","centered","Section","hasNoContainer","isFullWidth","containerStyle","rowClassName","rowStyle","SocialIconButton","displayIf","buttonColor","buttonText","socialIcon","onClickAction","useRef","OverlayTrigger","placement","onEntering","node","classList","remove","add","onExiting","overlay","Tooltip","ref","SocialIconSet","location","phoneNumber","emailAddress","contactPageURL","menuItems","find","menuItem","name","customLink","icons","setIcons","socialIconColor","locationConfig","headerNav","mobileNav","drawerNav","footer","navigateToPage","useCallback","page","sendEmail","email","callPhoneNumber","tel","socialIconConfig","platform","youtubeLink","FaYoutube","twitterLink","FaTwitter","googleMapLink","height","viewBox","fill","xmlns","d","tikTokLink","fillRule","clipRule","instagramLink","RiInstagramLine","linkedInLink","FaLinkedinIn","facebookLink","FaFacebookF","FaPhoneAlt","TbMailFilled","RiQuestionAnswerFill","FiMenu","RiSettings3Fill","console","log","iconSet","includes","constants","API_URL","RECAPTCHA_SITE_KEY","RECAPTCHA_SECRET_KEY","REQUIRE_INTERCEPTORS","requestHandlerEnabled","responseHandlerEnabled","CONTENT_SECTION","ContentSectionTypeDefault","ContentSectionTypeReversed","ContentSectionTypeFullWidth","ContentSectionTypeFullWidthPadded","ContentSectionTypeTextOnly","ContentSectionTypeCard","ContentSectionTypeBanner","ContentSectionDynamicBanner","ContentSectionCustom","LeftAlignment","RightAlignment","CenterAlignment","ButtonActionTypePage","ButtonActionTypeLink","ButtonActionTypePhoneNumber","ButtonActionTypeEmail","EXCEL_FILE_TYPES","initialAlertState","visible","showAlert","model","hideAlert","initialConfirmModalState","btnAction","closeBtnAction","rightBtnText","isProcessing","showConfirmModal","hideConfirmModal","setProcessing","appReducer","combineReducers","alertToast","confirmModal","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","immutableCheck","serializableCheck","thunk","store","configureStore","rootReducer","devTools","enhancers","reduxBatch","persistor","persistStore","isEnabled","config","property","hasOwnProperty","defaultErrorHandler","async","message","Promise","resolve","response","then","res","data","Message","status","localStorage","removeItem","origin","Error","axiosInstance","axios","create","baseURL","interceptors","request","use","getState","headers","Authorization","requestHandler","successHandler","err","originalConfig","url","_retry","rs","post","dispatch","_error","errorHandler","ENDPOINTORIGIN","getAllMenuItems","get","isActive","getMenuItemsById","menuItemId","HeaderNavigation","menuItemsBlockBackgroundColor","menuItemColor","menuToggleIconColor","menuToggleIconSize","mobileMenuItemColor","submenuBlockBackgroundColor","submenuItemColor","fixedNavigationBarBackgroundColor","logo","logoAlt","icon","iconAppearance","socialIconBackgroundColor","primarySocialMediaLink","secondarySocialMediaLink","hasSearchBlock","hasChipFilter","companyLogos","expandedMenuId","setExpandedMenuId","scroll","setScroll","socialIconButtonProps","background","onScroll","scrollCheck","scrollY","addEventListener","removeEventListener","iconAppearanceOptions","square","round","circle","handleMenuItemClick","pageUrl","menuItemService","socialIconsRef","socialItemsHeaderNav","socialItemsMobileNav","socialItemsDrawerNav","light","default","onKeyDown","e","preventDefault","predefinedFilter","sortBy","priceRange","categories","searchTerm","value","productTypes","featuredSections","skip","blur","autoBlur","defaultOptions","noOptionsMessage","inputValue","formatOptionLabel","option","filePath","onChange","FiFacebook","MdMailOutline","assignedMenuItems","submenuItem","TiArrowSortedDown","menuId","InputBlock","mask","inputRightButtonText","inputRightButtonBackgroundColor","inputRightButtonTextColor","iconLeftOnClick","iconRightOnClick","inputRightButtonOnClick","isAutoFocus","Flatpickr","autoFocus","paddingLeft","InputMask","FooterBlock","imageSource","bottomFooterBackgroundColor","subheaderColor","subheaderClassName","companyName","copyrightTextColor","footerHeaderTextColor","appStoreLink","googlePlayLink","tiktokLink","hasSocialMediaIconColor","hasEmailSignUp","hasContactBlock","popoverBtnIconStrokeWidth","isPhonePopoverOpen","setIsPhonePopoverOpen","isEmailPopoverOpen","setIsEmailPopoverOpen","navigateToLink","handlePhonePopoverToggle","handleEmailPopoverToggle","phonePopover","Popover","navigator","clipboard","writeText","LuCopy","strokeWidth","LuSmartphone","emailPopover","LuMail","LuMessageSquare","trigger","onToggle","rootClose","onTouchStart","MdEmail","AppStoreBadge","GooglePlayBadge","Date","getFullYear","CMSRoute","cmsRouteProps","dynamicPageId","isBlog","LogoDefault","LogoLight","companyLogoPath","isSubmenuFullWidth","hasSubmenu","destination","stores","googlePlayStoreLink","handleConfirm","handleCloseBtn","handleEnterKey","event","keyCode","padded","static","contentDescriptionClassName","info","FiThumbsUp","HiOutlineEmojiSad","BiShocked","HiOutlineLightBulb","ContentSection","description","descriptionColor","cardBackgroundColor","primaryActionText","primaryActionColor","primaryActionTo","primaryActionOnClick","secondaryActionText","secondaryActionColor","secondaryActionTo","secondaryActionOnClick","isPrimaryActionTargetBlank","isSecondaryActionTargetBlank","isReversed","isTitleUppercase","hasCardBackgroundImage","isTextOnly","isFloatingCard","isFullWidthUnpadded","backgroundImage","Fade","delay","direction","Banner","bannerBackgroundColor","titlePosition","isDynamicBanner","offset","backgroundPositionY","initialValues","screenWidth","innerWidth","scrollPosition","pageYOffset","elementStyles","FluidTypographyTest","screenInfo","setScreenInfo","fontSizes","reverse","breakpoints","Mobile","min","max","Tablet","Laptop","Desktop","Infinity","breakpointIcons","FaMobileAlt","FaTabletAlt","BsLaptop","IoDesktopOutline","MdTv","getScreenInfo","currentBreakpointName","Object","entries","reduce","acc","element","computedStyle","getComputedStyle","fontSize","lineHeight","fontFamily","fontWeight","textAlign","letterSpacing","textTransform","breakpoint","DevelopmentReferencePage","cmsInfoStringified","setCmsInfoStringified","showFluidTypographyTest","setShowFluidTypographyTest","cmsInfoVisible","setCmsInfoVisible","setFontSizes","sizeClasses","refs","sizeClass","React","createRef","updateFontSizes","newFontSizes","forEach","current","JSON","stringify","BannerImage","whiteSpace","wordBreak","padding","overflow","maxHeight","bottom","zIndex","prev","FiInfo","GoTypography","FormBlock","onSubmit","ForgotPasswordBlock","returnActionOnClick","HiOutlineMail","Yup","shape","required","password","getInputClasses","formik","fieldname","touched","errors","convertJsonToFormData","json","form_data","FormData","Array","isArray","append","setToOptionModel","reOrderDnd","list","startIndex","endIndex","result","removed","splice","i","sortOrder","mapContentSectionName","initialModel","passwordVisible","setPasswordVisible","forgotPasswordBlockVisible","setForgotPasswordBlockVisible","loginUser","setSubmitting","userService","catch","ex","finally","useFormik","validationSchema","LoginValidator","values","helper","getFieldProps","FiUser","FiLock","isSubmitting","isValid","submitForm","ContentBlock","cols","CheckboxBlock","labelClassName","isChecked","checked","for","fullName","phone","confirmPassword","oneOf","nullable","oldPassword","userRegisterModel","initialUpdatePasswordModel","initialEditModel","alert","registerModalVisible","setRegisterModalVisible","updatePasswordModalVisible","setUpdatePasswordRegisterModalVisible","editModalVisible","setEditModalVisible","isPasswordVisible","setIsPasswordVisible","isConfirmPasswordVisible","setIsConfirmPasswordVisible","userList","setUserList","setIsLoading","updatePasswordModel","setUpdatePasswordModel","editUserModel","setEditUserModel","getAllUsers","regiser_user_formik","RegisterUserValidator","registerUser","update_password_user_formik","UpdatePasswordValidator","enableReinitialize","_ref2","updateUserPassword","edit_user_formik","EditUserValidator","_ref3","editUser","getUserDetails","userId","closeRegisterModal","resetForm","newPassword","put","closeEditModal","columnOptions","sort","print","download","columns","options","customBodyRenderLite","dataIndex","OverLay","IoPersonSharp","MUIDataTable","selectableRows","jumpToPage","textLabels","pagination","FiEye","FiEyeOff","authRedux","meetings","setMeetings","fetchMeetings","meetingService","handleDeleteMeeting","meetingId","delete","moment","date","format","startTime","endTime","minutesFilePath","agendasFilePath","minutesFileURL","agendasFileURL","FaRegFilePdf","meetingDate","now","isUpcoming","isAfter","borderRadius","FaCalendarPlus","rowsPerPage","TextAreaBlock","registerPlugin","FilePondPluginImageExifOrientation","FilePondPluginImagePreview","FileUploadBlock","forwardRef","labelIdle","FilePond","FixedActionsBar","isPrimaryActionDisabled","isSecondaryActionDisabled","optionalActionText","optionalActionColor","optionalActionTo","optionalActionOnClick","initialMeetingModel","useParams","meeting","setMeeting","minutesFile","setMinutesFile","agendasFile","setAgendasFile","selectedDate","setSelectedDate","hasMinutesFilePath","setHasMinutesFilePath","hasAgendasFilePath","setHasAgendasFilePath","timeInputOptions","enableTime","noCalendar","time_24hr","altInput","altFormat","dateFormat","minTime","maxTime","minuteIncrement","fetchMeeting","_minutesFile$","_agendasFile$","file","updateMeeting","createMeeting","handleSubmit","toISOString","setFieldValue","boxShadow","FaXmark","cursor","onupdatefiles","files","getSettingByKey","getAllPages","getPageById","pageId","isModalVisible","setIsModalVisible","settings","setSettings","selectedSetting","setSelectedSetting","isPageSEOModalVisible","setIsPageSEOModalVisible","pages","setPages","selectedPage","setSelectedPage","getPages","getSettings","settingService","pageService","detailedPages","all","pageDetails","updatedSetting","setting","handleModalClose","getSetting","setValues","settingsColumns","setCellProps","maxWidth","wordWrap","search","viewColumns","isSortModalOpen","setIsSortModalOpen","setMenuItems","sortList","setSortList","getMenuItems","a","b","deleteMenuItem","IoMdAddCircle","sortMenuItems","DragDropContext","onDragEnd","tempArr","Droppable","droppableId","droppableProvided","innerRef","Draggable","draggableId","draggableProvided","draggableProps","dragHandleProps","parentMenuItemId","intialMenuItemModel","confirmModalRedux","menuItemModel","setMenuItemModel","selectedOptions","setSelectedOptions","parentMenuItem","pageOptions","setPageOptions","menuItemOptions","setMenuItemOptions","assignmentMenuItemOptions","setAssignmentMenuItemOptions","selectedAssignmentMenuItem","setSelectedAssignmentMenuItem","loadOptionsAndPopulateForm","MenuItemValidator","updateMenuItem","createMenuItem","getPageOptions","getMenuItemOptions","getMenuItem","getMenuItemForAssignments","selectedOptionsFromApi","selectedMenuItem","pageList","assignmentlist","Number","menuItemList","removeAssignedMenuItem","isClearable","selectedOpt","assignMenuItem","parentId","childMenuItemIds","closeMenuOnSelect","sortChildMenuItems","deletePage","isBannerVisible","bannerImageFilePath","bannerColor","keywords","intialPageModel","bannerTitle","bannerImage","contentSections","typeSelectionOptions","setFile","selectedOption","setSelectedOption","contentBannerTypeOption","setContentBannerTypeOption","selectedContentBannerTypeOption","setSelectedContentBannerTypeOption","pageModel","setPageModel","getOptions","PageValidator","updatePage","createPage","getPage","contentSectionService","hideContentSectionModal","deletePageContent","contentSectionBannerId","deleteBannerImage","bannerId","contentSectionId","FaSquare","SwatchesPicker","onChangeComplete","c","hex","MdOutlinePlaylistAdd","xcontainerClassName","margin","addContentSection","sortPageContents","sortOrders","setContentSections","isConfirmDeleteModalVisible","setIsConfirmDeleteModalVisible","getContentSections","deleteContentSection","deleteBanner","bannerService","SelectablePreview","isSelected","when","is","otherwise","rawHTML","alignment","imagePath","hasRoundedCorners","primaryButtonActionType","primaryButtonLink","secondaryButtonActionType","secondaryButtonLink","Quill","register","ImageResize","initialContentSectionModel","image","primarButtonLink","linkTypes","alignmentOptions","components","CustomSectionImage","ContentSectionDefaultImage","ContentSectionReversedImage","ContentSectionFulWidthImage","ContentSectionFulWidthPaddedImage","ContentSectionTextOnlyImage","ContentSectionFloatingCardImage","DynamicBannerSectionImage","blogId","quillContainerRef","quillRef","contentSectionModel","setContentSectionModel","setAlignment","primaryActionType","setPrimaryActionType","secondaryActionType","setSecondaryActionType","modules","setModules","toolbar","container","header","font","align","indent","handlers","matchVisual","imageResize","parchment","import","initialTop","quillWidth","applyStyles","isFixed","top","transform","handleScroll","quill","offsetTop","offsetWidth","imageHandler","input","createElement","setAttribute","click","onchange","reader","FileReader","onload","quillEditor","getEditor","range","getSelection","getLength","insertEmbed","readAsDataURL","prevModules","getContentSection","ContentSectionValidator","updateContentSection","createContentSection","fillSelectedOptions","selectedAlignment","selectedPrimaryActionType","selectedSecondaryActionType","contentSection","floatingCardProp","isTextOnlyProp","isPaddedProp","alignmentProp","showOrHideFields","opt","onMenuOpen","setFieldTouched","ReactQuill","theme","val","formats","initialBannerModel","bannerItems","BannerDynamicBanner","filePondRef","initialBannerItemModel","bannerModel","setBannerModel","bannerItemModel","setBannerItemModel","getBanner","BannerValidator","updateBanner","createBanner","formik_bannerItem","BannerItemValidator","updateBannerItem","createBannerItem","banner","bannerItem","bannerItemService","resetBannerItemForm","resetBannerItemEditFormFields","removeFiles","removeBannerItem","bannerItemId","sortBannerItems","streetAddress1","streetAddress2","city","zipCode","primaryWeekDayHours","primaryWeekEndHours","secondaryWeekDayHours","secondaryWeekEndHours","googleAnalyticsId","initialAssetModel","companyLogo","companyIcon","googleAnalyticsLink","seo","facebookPixelCode","assetModel","setAsset","logoFile","setLogoFile","iconFile","setIconFile","logoRef","iconRef","fetchAssets","AssetValidator","saveAsset","assetService","initialFooterItemModel","setFooterItems","footerItemModel","setFooterItemModel","getFooterItems","FooterItemValidator","createFooterItem","updateFooterItem","footerItem","footerItemService","closeFooterItemModal","getFooterItem","footerItemId","deleteFooterItem","sortFooterItems","ContactForm","formConfig","submitButtonLabel","submitButtonClasses","captchaRef","captchaToken","setCaptchaToken","curr","validator","submissionValues","reCAPTCHAToken","reset","field","textarea","ReCAPTCHA","sitekey","googleMapURL","setGoogleMapURL","fetchGoogleMapURL","preserveAspectRatio","fillOpacity","x1","y1","x2","y2","gradientUnits","stopColor","split","MdLocalPhone","MdLocationPin","frameBorder","border","allowFullScreen","cascade","formattedValues","formType","emailService","styles","masonryGrid","flexWrap","masonryColumn","boxSizing","masonryItem","masonryImage","placeholderImage","alignItems","justifyContent","userSelect","imageError","setImageError","BsFillImageFill","onError","handleError","MasonryGrid","images","customInsert","setColumns","handleResize","columnWrapper","ServiceGalleryImagesPage","serviceImagesLength","setServiceImagesLength","beforeAfterImageSetLength","setBeforeAfterImageSetLength","beforeAfterImages","_","firstImage","imageUrl","secondImage","serviceImages","disableScroll","touchAction","passive","enableScroll","handleSliderModeChange","newMode","Container","fluid","Row","Col","img","ReactBeforeSliderComponent","onChangeMode","blogs","setBlogs","getBlogs","blogService","deleteBlog","intialBlogModel","blogModel","setBlogModel","BlogValidator","updateBlog","createBlog","getBlog","blog","deleteBlogContent","sortBlogContents","ContentStrip","badgeBackgroundColor","leftBlockText","rightBlockText","BlogsAndReviewsListingPage","filteredBlogs","setFilteredBlogs","today","setHours","HiSearch","toLowerCase","addedOn","addedBy","getTime","quickActions","CustomBannerInsert","offsetValue","heroBannerImage","backgroundBlendMode","backgroundSize","backgroundPosition","FaCheck","Accordion","headerClasses","bodyClasses","fetchedData","setFetchedData","openItemId","setOpenItemId","toggleItem","AiOutlineMinus","AiOutlinePlus","formData","submissionData","HomepageIntro","HomepageServicesIntro","ProductTabsSection","tabIconSize","tabsData","content","listStyle","activeKey","setActiveKey","Tabs","onSelect","k","tab","Tab","eventKey","ServicesIntro","HomePage","dynamicPageModel","buttonAction","banners","setBanners","setOffset","progress","setProgress","rotatingBanners","pageContentSectionBanners","parallaxContainers","querySelectorAll","scrollHandler","handleParallax","speed","yOffset","parallaxSpeed","Slider","dots","infinite","slidesToShow","slidesToScroll","arrows","autoplay","autoplaySpeed","responsive","initialDynamicPageModel","DynamicCMSPage","setDynamicPageModel","getDynamicBlogContent","getDynamicPageContent","homeService","actionType","generateContent","dangerouslySetInnerHTML","__html","Helmet","section","blogContentSectionBanners","initialCMSInfo","isAuthorized","setIsAuthorized","setCmsInfo","pathname","useLocation","fetchCMSInfoAndValidate","validateAccess","scrollTo","AlertToast","ConfirmModal","Switch","Redirect","exact","LoginPage","ContactPage","PrivateRoute","UserListingPage","MenuItemListingPage","MenuItemManagementPage","PageListingPage","PageManagementPage","BlogListingPage","BlogManagementPage","ContentSectionListingPage","ContentSectionManagementPage","BannerManagementPage","AssetsAndResourcesPage","FooterItemListingPage","MeetingListingPage","MeetingManagementPage","SettingsListingPage","App","HttpsRedirect","BrowserRouter","ParallaxProvider","Routes","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","PUBLIC_URL","ReactDOM","StrictMode","Provider","PersistGate","basename","getElementById"],"mappings":"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","file":"static/js/main.c5fb7c28.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 hasRoundCorners\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' : ''} ${hasRoundCorners && 'has-round-corners'}`}\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 return (\r\n \r\n \r\n {\r\n type === 'header'\r\n && (\r\n

\r\n {text}\r\n

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

\r\n {text}\r\n

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

{leftItemText}

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

{centerItemText}

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

{rightItemText}

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

\r\n {iconLeftBadgeText}\r\n

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

\r\n {tooltipText}\r\n

\r\n
\r\n )\r\n }\r\n
\r\n )\r\n }\r\n\r\n {\r\n title\r\n && (\r\n \r\n

\r\n {title}\r\n

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

{badgeText}

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

\r\n {iconRightText}\r\n

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

Website Management

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

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

\r\n {subtitle &&

{subtitle}

}\r\n
\r\n );\r\n};\r\n\r\nTextHeader.propTypes = {\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n className: PropTypes.string,\r\n size: PropTypes.string,\r\n\r\n // SUBTITLE PROPS\r\n subtitle: PropTypes.string,\r\n subtitleClassName: PropTypes.string,\r\n subtitleSize: PropTypes.string,\r\n\r\n // ICON PROPS\r\n iconLeft: PropTypes.element,\r\n iconLeftClassName: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isCentered: PropTypes.bool,\r\n};\r\n\r\nTextHeader.defaultProps = {\r\n // TITLE PROPS\r\n className: '',\r\n size: '',\r\n\r\n // SUBTITLE PROPS\r\n subtitle: '',\r\n subtitleClassName: '',\r\n subtitleSize: '',\r\n\r\n // ICON PROPS\r\n iconLeft: null,\r\n iconLeftClassName: '',\r\n\r\n // BOOLEAN PROPS\r\n isCentered: false,\r\n};\r\n\r\nexport default TextHeader;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\nimport { Link } from 'react-router-dom';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport TextHeader from './TextHeader';\r\nimport Button from './Button';\r\n\r\nconst ContentHeader = (props) => {\r\n const {\r\n containerClassName,\r\n title,\r\n subtitle,\r\n 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 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 modalClassName\r\n } = props;\r\n\r\n return (\r\n \r\n {\r\n hasCloseAction\r\n && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n \r\n \r\n\r\n {\r\n contentDescription\r\n && (\r\n \r\n

\r\n {contentDescription}\r\n

\r\n
\r\n )\r\n }\r\n\r\n {children}\r\n\r\n {\r\n primaryModalActionText\r\n && (\r\n \r\n {\r\n !isSecondaryActionHidden\r\n && (\r\n \r\n )\r\n }\r\n\r\n {\r\n !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};\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};\r\n\r\nexport default ModalBlock;","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Section = (props) => {\r\n const {\r\n hasNoContainer,\r\n isFullWidth,\r\n className,\r\n containerStyle,\r\n rowClassName,\r\n rowStyle,\r\n children\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nSection.propTypes = {\r\n // MAIN PROPS\r\n className: PropTypes.string,\r\n rowClassName: PropTypes.string,\r\n containerStyle: PropTypes.object,\r\n rowStyle: PropTypes.object,\r\n children: PropTypes.any,\r\n\r\n // BOOLEAN PROPS\r\n hasNoContainer: PropTypes.bool,\r\n isFullWidth: PropTypes.bool,\r\n};\r\n\r\nSection.defaultProps = {\r\n // SIZE AND APPEARANCE PROPS\r\n className: '',\r\n rowClassName: '',\r\n containerStyle: {},\r\n rowStyle: {},\r\n children: null,\r\n\r\n // BOOLEAN PROPS\r\n hasNoContainer: false,\r\n isFullWidth: false,\r\n};\r\n\r\nexport default Section;","import React, { useRef } from 'react';\r\n// COMPONENTS\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\r\nimport Tooltip from 'react-bootstrap/Tooltip';\r\n\r\nconst SocialIconButton = (props) => {\r\n const {\r\n displayIf, buttonColor, buttonText, socialIcon, onClickAction, className, title\r\n } = props;\r\n const target = useRef(null);\r\n\r\n if (!displayIf) return null;\r\n\r\n return (\r\n {\r\n node.classList.remove('hide');\r\n node.classList.add('show');\r\n }}\r\n onExiting={(node) => {\r\n node.classList.remove('show');\r\n node.classList.add('hide');\r\n }}\r\n overlay={(\r\n \r\n {title}\r\n \r\n )}\r\n >\r\n \r\n {socialIcon}\r\n {buttonText && (\r\n

\r\n {buttonText}\r\n

\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SocialIconButton;","/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\n// ASSETS\r\nimport {\r\n FaFacebookF, FaLinkedinIn,\r\n FaPhoneAlt,\r\n FaTwitter, FaYoutube\r\n} from 'react-icons/fa';\r\nimport { RiInstagramLine, RiQuestionAnswerFill, RiSettings3Fill } from 'react-icons/ri';\r\nimport { TbMailFilled } from 'react-icons/tb';\r\nimport { FiFacebook, FiMenu } from 'react-icons/fi';\r\n// COMPONENTS\r\n// import SocialIconButton from './SocialIconButton';\r\n// import SocialIconConfig from './SocialIconConfig';\r\nimport SocialIconButton from './SocialIconButton';\r\nimport CustomBlock from '../CustomBlock';\r\n// SERVICES & HELPERS\r\n\r\nconst SocialIconSet = (props) => {\r\n const { cmsInfo, history, location } = props;\r\n const { phoneNumber, emailAddress } = cmsInfo;\r\n const contactPageURL = cmsInfo.menuItems.find((menuItem) => menuItem.name === 'Contact').customLink;\r\n const [icons, setIcons] = useState([]);\r\n const socialIconColor = '#FFF';\r\n const iconSize = '23';\r\n \r\n const locationConfig = {\r\n headerNav: ['twitter', 'facebook', 'instagram', 'contactUs'],\r\n mobileNav: ['mobileMenuToggle'],\r\n drawerNav: ['contactUs', 'googleMap', 'facebook', 'instagram', 'admin'],\r\n footer: ['googleMap', 'instagram', 'linkedin', 'facebook', 'contactUs', 'admin'],\r\n };\r\n\r\n // useEffect(() => {\r\n // if (cmsInfo) {\r\n // console.log(cmsInfo);\r\n // }\r\n // }, []);\r\n\r\n const navigateToPage = useCallback((page) => {\r\n history.push(page);\r\n }, [history]);\r\n\r\n const openInNewTab = useCallback((link) => {\r\n window.open(link, '_blank');\r\n }, []);\r\n\r\n const sendEmail = useCallback((email) => {\r\n window.open(`mailto:${email}`, '_self');\r\n }, []);\r\n\r\n const callPhoneNumber = useCallback((tel) => {\r\n window.open(`tel:${tel}`, '_self');\r\n }, []);\r\n\r\n const socialIconConfig = [\r\n {\r\n platform: 'youtube',\r\n displayIf: cmsInfo.youtubeLink !== null,\r\n title: `YouTube | ${cmsInfo.youtubeLink}`,\r\n buttonColor: '#F52424',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.youtubeLink)\r\n },\r\n {\r\n platform: 'twitter',\r\n displayIf: cmsInfo.twitterLink !== null,\r\n title: `Twitter | ${cmsInfo.twitterLink}`,\r\n buttonColor: '#25A4EF',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.twitterLink)\r\n },\r\n {\r\n platform: 'googleMap',\r\n displayIf: cmsInfo.googleMapLink !== null,\r\n title: `Google Maps | ${cmsInfo.googleMapLink}`,\r\n buttonColor: '#FAFAFA',\r\n onClickAction: () => openInNewTab(cmsInfo.googleMapLink),\r\n socialIcon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n platform: 'tikTok',\r\n displayIf: cmsInfo.tikTokLink !== null,\r\n title: `TikTok | ${cmsInfo.tikTokLink}`,\r\n buttonColor: '#080808',\r\n onClickAction: () => openInNewTab(cmsInfo.tikTokLink),\r\n socialIcon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n platform: 'instagram',\r\n displayIf: cmsInfo.instagramLink !== null,\r\n title: `Instagram | ${cmsInfo.instagramLink}`,\r\n buttonColor: 'radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.instagramLink)\r\n },\r\n {\r\n platform: 'linkedin',\r\n displayIf: cmsInfo.linkedInLink !== null,\r\n title: `LinkedIn | ${cmsInfo.linkedInLink}`,\r\n buttonColor: '#0966C2',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.linkedInLink),\r\n },\r\n {\r\n platform: 'facebook',\r\n displayIf: cmsInfo.facebookLink !== null,\r\n title: `Facebook | ${cmsInfo.facebookLink}`,\r\n buttonColor: 'linear-gradient(to top, #0062E0, #19AFFF)',\r\n socialIcon: ,\r\n onClickAction: () => openInNewTab(cmsInfo.facebookLink),\r\n },\r\n {\r\n platform: 'phone',\r\n displayIf: phoneNumber !== null,\r\n title: `${phoneNumber}`,\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => callPhoneNumber(phoneNumber),\r\n },\r\n {\r\n platform: 'email',\r\n displayIf: emailAddress !== null,\r\n title: `${emailAddress}`,\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => sendEmail(emailAddress),\r\n },\r\n {\r\n platform: 'contactUs',\r\n displayIf: true,\r\n title: 'Contact Us',\r\n buttonColor: '#444444',\r\n socialIcon: ,\r\n onClickAction: () => navigateToPage(contactPageURL || '/'),\r\n },\r\n // {\r\n // platform: 'memberPortal',\r\n // displayIf: true,\r\n // buttonText: 'Members',\r\n // socialIcon: ,\r\n // onClickAction: () => setIsMembersModalOpen(true),\r\n // className: 'member-portal',\r\n // },\r\n {\r\n platform: 'mobileMenuToggle',\r\n displayIf: true,\r\n socialIcon: ,\r\n onClickAction: () => toggleDrawer(),\r\n className: 'mobile-menu-toggle',\r\n },\r\n {\r\n platform: 'admin',\r\n displayIf: true,\r\n title: 'Admin Login',\r\n buttonColor: '#004E8C',\r\n socialIcon: ,\r\n onClickAction: () => navigateToPage('/cms/management/pages'),\r\n className: 'admin',\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n if (cmsInfo) {\r\n console.log(cmsInfo, location);\r\n }\r\n }, []);\r\n\r\n // const socialIconConfig = [\r\n // {\r\n // platform: 'youtube',\r\n // displayIf: cmsInfo.youtubeLink !== null,\r\n // title: `YouTube | ${cmsInfo.youtubeLink}`,\r\n // buttonColor: '#F52424',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.youtubeLink)\r\n // },\r\n // {\r\n // platform: 'twitter',\r\n // displayIf: cmsInfo.twitterLink !== null,\r\n // title: `Twitter | ${cmsInfo.twitterLink}`,\r\n // buttonColor: '#25A4EF',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.twitterLink)\r\n // },\r\n // {\r\n // platform: 'googleMap',\r\n // displayIf: cmsInfo.googleMapLink !== null,\r\n // title: `Google Maps | ${cmsInfo.googleMapLink}`,\r\n // buttonColor: '#FAFAFA',\r\n // onClickAction: () => openInNewTab(cmsInfo.googleMapLink),\r\n // socialIcon: (\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // ),\r\n // },\r\n // {\r\n // platform: 'tikTok',\r\n // displayIf: cmsInfo.tikTokLink !== null,\r\n // title: `TikTok | ${cmsInfo.tikTokLink}`,\r\n // buttonColor: '#080808',\r\n // onClickAction: () => openInNewTab(cmsInfo.tikTokLink),\r\n // socialIcon: (\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // ),\r\n // },\r\n // {\r\n // platform: 'instagram',\r\n // displayIf: cmsInfo.instagramLink !== null,\r\n // title: `Instagram | ${cmsInfo.instagramLink}`,\r\n // buttonColor: 'radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%)',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.instagramLink)\r\n // },\r\n // {\r\n // platform: 'linkedin',\r\n // displayIf: cmsInfo.linkedInLink !== null,\r\n // title: `LinkedIn | ${cmsInfo.linkedInLink}`,\r\n // buttonColor: '#0966C2',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.linkedInLink),\r\n // },\r\n // {\r\n // platform: 'facebook',\r\n // displayIf: cmsInfo.facebookLink !== null,\r\n // title: `Facebook | ${cmsInfo.facebookLink}`,\r\n // buttonColor: 'linear-gradient(to top, #0062E0, #19AFFF)',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.facebookLink),\r\n // },\r\n // // {\r\n // // platform: 'phone',\r\n // // displayIf: phoneNumber !== null,\r\n // // title: `${phoneNumber}`,\r\n // // buttonColor: '#444444',\r\n // // socialIcon: ,\r\n // // onClickAction: () => callPhoneNumber(phoneNumber),\r\n // // },\r\n // // {\r\n // // platform: 'email',\r\n // // displayIf: emailAddress !== null,\r\n // // title: `${emailAddress}`,\r\n // // buttonColor: '#444444',\r\n // // socialIcon: ,\r\n // // onClickAction: () => sendEmail(emailAddress),\r\n // // },\r\n // {\r\n // platform: 'contactUs',\r\n // displayIf: true,\r\n // title: 'Contact Us',\r\n // buttonColor: '#444444',\r\n // socialIcon: ,\r\n // onClickAction: () => navigateToPage('/contact-sip-225'),\r\n // },\r\n // // {\r\n // // platform: 'memberPortal',\r\n // // displayIf: true,\r\n // // buttonText: 'Members',\r\n // // socialIcon: ,\r\n // // onClickAction: () => setIsMembersModalOpen(true),\r\n // // className: 'member-portal',\r\n // // },\r\n // {\r\n // platform: 'mobileMenuToggle',\r\n // displayIf: true,\r\n // socialIcon: ,\r\n // onClickAction: () => toggleDrawer(),\r\n // className: 'mobile-menu-toggle',\r\n // },\r\n // {\r\n // platform: 'admin',\r\n // displayIf: true,\r\n // title: 'Admin Login',\r\n // buttonColor: '#004E8C',\r\n // socialIcon: ,\r\n // onClickAction: () => navigateToPage('/cms/management/pages'),\r\n // },\r\n // ];\r\n\r\n useEffect(() => {\r\n if (location) {\r\n const iconSet = socialIconConfig.filter((item) => locationConfig[location].includes(item.platform));\r\n setIcons(iconSet);\r\n }\r\n }, [location]);\r\n\r\n return (\r\n \r\n {icons.map((item) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default SocialIconSet;","const constants = {\r\n API_URL: process.env.REACT_APP_API_URL,\r\n RECAPTCHA_SITE_KEY: process.env.RECAPTCHA_SITE_KEY,\r\n RECAPTCHA_SECRET_KEY: process.env.RECAPTCHA_SECRET_KEY,\r\n REQUIRE_INTERCEPTORS: {\r\n requestHandlerEnabled: true,\r\n responseHandlerEnabled: true\r\n },\r\n CONTENT_SECTION: {\r\n ContentSectionTypeDefault: 'CONTENT_SECTION_DEFAULT',\r\n ContentSectionTypeReversed: 'CONTENT_SECTION_REVERSED',\r\n ContentSectionTypeFullWidth: 'CONTENT_SECTION_FULLWIDTH',\r\n ContentSectionTypeFullWidthPadded: 'CONTENT_SECTION_FULLWIDTH_PADDED',\r\n ContentSectionTypeTextOnly: 'CONTENT_SECTION_TEXTONLY',\r\n ContentSectionTypeCard: 'CONTENT_SECTION_CARD',\r\n ContentSectionTypeBanner: 'CONTENT_SECTION_BANNER',\r\n ContentSectionDynamicBanner: 'CONTENT_SECTION_DYNAMIC_BANNER',\r\n ContentSectionCustom: 'CONTENT_SECTION_CUSTOM',\r\n LeftAlignment: 'LEFT',\r\n RightAlignment: 'RIGHT',\r\n CenterAlignment: 'CENTER',\r\n ButtonActionTypePage: 'PAGE',\r\n ButtonActionTypeLink: 'LINK_NEW_TAB',\r\n ButtonActionTypePhoneNumber: 'PHONENUMBER',\r\n ButtonActionTypeEmail: 'EMAIL',\r\n },\r\n EXCEL_FILE_TYPES: [\r\n 'application/vnd.ms-excel',\r\n 'application/msexcel',\r\n 'application/x-msexcel',\r\n 'application/x-ms-excel',\r\n 'application/x-excel',\r\n 'application/x-dos_ms_excel',\r\n 'application/xls',\r\n 'application/x-xls',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'text/csv'\r\n ]\r\n};\r\n\r\nexport default constants;","/* eslint-disable 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};","/* eslint-disable import/no-cycle */\r\nimport axios from 'axios';\r\nimport constants from '../constants/constants';\r\nimport { errorHandler, requestHandler, successHandler } from './interceptor/axiosInterceptor';\r\n\r\nconst axiosInstance = axios.create({ baseURL: constants.API_URL });\r\n\r\naxiosInstance.interceptors.request.use(\r\n (request) => requestHandler(request)\r\n);\r\n\r\naxiosInstance.interceptors.response.use(\r\n (response) => successHandler(response),\r\n (err) => errorHandler(err)\r\n);\r\n\r\nexport default axiosInstance;","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'MenuItem/';\r\n\r\nconst getAllMenuItems = async (isActive) => axiosInstance.get(`${ENDPOINTORIGIN}GetAllMenuItems?isActive=${isActive}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMenuItemsById = async (menuItemId) => axiosInstance.get(`${ENDPOINTORIGIN}GetMenuItemById?menuItemId=${menuItemId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMenuItemsWithNoParentOrChild = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetMenuItemsWithNoParentOrChild`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createMenuItem = async (menuItem) => axiosInstance.post(`${ENDPOINTORIGIN}CreateMenuItem`, menuItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteMenuItem = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteMenuItem?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateMenuItems = async (menuItem) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateMenuItems`, menuItem, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst removeParentMenuItem = async (id) => axiosInstance.delete(`${ENDPOINTORIGIN}RemoveParentMenuItem?menuItemId=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst assignParentMenuItem = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}AssignParentMenuItem`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortMenuItems = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}SortMenuItems`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sortChildMenuItems = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}SortChildMenuItems`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllMenuItems,\r\n getMenuItemsById,\r\n createMenuItem,\r\n deleteMenuItem,\r\n updateMenuItems,\r\n removeParentMenuItem,\r\n assignParentMenuItem,\r\n getMenuItemsWithNoParentOrChild,\r\n sortMenuItems,\r\n sortChildMenuItems\r\n};","/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable max-len */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable arrow-body-style */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\n// ICONS\r\nimport { FiFacebook, FiMenu } from 'react-icons/fi';\r\nimport { TiArrowSortedDown } from 'react-icons/ti';\r\nimport { RiInstagramLine, RiQuestionAnswerFill } from 'react-icons/ri';\r\nimport { MdMailOutline, MdSupervisedUserCircle } from 'react-icons/md';\r\nimport { TbMailFilled } from 'react-icons/tb';\r\nimport {\r\n FaPhoneAlt,\r\n FaFacebookF,\r\n FaLinkedinIn,\r\n FaTwitter,\r\n FaYoutube\r\n} from 'react-icons/fa';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\nimport Image from './Image';\r\nimport DrawerNavigation from './DrawerNavigation';\r\nimport SelectBlock from './SelectBlock';\r\nimport Chip from './Chip';\r\nimport Modal from './ModalBlock';\r\nimport Section from './Section';\r\nimport SocialIconSet from './SocialIcons/SocialIconSet';\r\n// ASSETS\r\n// SERVICES\r\nimport * as menuItemService from '../services/cms/menuItemService';\r\n\r\nconst HeaderNavigation = (props) => {\r\n const {\r\n auth,\r\n cmsInfo,\r\n // layout,\r\n phoneNumber,\r\n emailAddress,\r\n backgroundColor,\r\n menuItemsBlockBackgroundColor,\r\n menuItemColor,\r\n menuToggleIconColor,\r\n menuToggleIconSize,\r\n mobileMenuItemColor,\r\n submenuBlockBackgroundColor,\r\n submenuItemColor,\r\n fixedNavigationBarBackgroundColor,\r\n logo,\r\n logoAlt,\r\n icon,\r\n iconSize,\r\n iconAppearance,\r\n socialIconColor,\r\n socialIconBackgroundColor,\r\n primarySocialMediaLink,\r\n secondarySocialMediaLink,\r\n hasSearchBlock,\r\n menuItems,\r\n hasChipFilter,\r\n hasRoundCorners,\r\n history,\r\n companyLogos,\r\n } = props;\r\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\r\n const [expandedMenuId, setExpandedMenuId] = useState(null);\r\n // const [isMembersModalOpen, setIsMembersModalOpen] = useState(false);\r\n const [scroll, setScroll] = useState(1);\r\n\r\n // const SVGHeaderBackground = ({ fillColor, width, height, className }) => {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // };\r\n\r\n const SocialIconButton = (socialIconButtonProps) => {\r\n const {\r\n displayIf,\r\n buttonColor,\r\n buttonText,\r\n socialIcon,\r\n onClickAction,\r\n className,\r\n title\r\n } = socialIconButtonProps;\r\n return displayIf && (\r\n \r\n {socialIcon}\r\n {buttonText &&

{buttonText}

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

{option.label}

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

}\r\n primaryModalActionText=\"\"\r\n primaryModalActionOnClick=\"\"\r\n primaryModalActionColor=\"\"\r\n secondaryModalActionText=\"\"\r\n secondaryModalActionOnClick=\"\"\r\n secondaryModalActionColor=\"\"\r\n onHide={() => {\r\n setIsMembersModalOpen(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n {\r\n navigateToPage('/membership-benefits');\r\n setIsMembersModalOpen(false);\r\n }}\r\n // className=\"primary--sbg\"\r\n size=\"sm\"\r\n text=\"View Benefits\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n */}\r\n \r\n );\r\n};\r\n\r\nHeaderNavigation.propTypes = {\r\n // MAIN PROPS\r\n // layout: PropTypes.string.isRequired,\r\n logo: PropTypes.string.isRequired,\r\n icon: PropTypes.string.isRequired,\r\n backgroundColor: PropTypes.string,\r\n menuItemsBlockBackgroundColor: PropTypes.string,\r\n fixedNavigationBarBackgroundColor: PropTypes.string.isRequired,\r\n // to: PropTypes.string,\r\n\r\n // NAVIGATION PROPS\r\n menuItemColor: PropTypes.string,\r\n menuToggleIconColor: PropTypes.string,\r\n menuToggleIconSize: PropTypes.number,\r\n mobileMenuItemColor: PropTypes.string,\r\n\r\n // SUB MENU PROPS\r\n submenuBlockBackgroundColor: PropTypes.string,\r\n submenuItemColor: PropTypes.string,\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: PropTypes.number,\r\n iconAppearance: PropTypes.string.isRequired,\r\n socialIconBackgroundColor: PropTypes.string,\r\n socialIconColor: PropTypes.string,\r\n primarySocialMediaLink: PropTypes.string,\r\n secondarySocialMediaLink: PropTypes.string,\r\n\r\n // PRIMARY ICON PROPS\r\n // primaryActionIcon: PropTypes.any,\r\n // primaryActionIconText: PropTypes.string,\r\n\r\n // SECONDARY ICON PROPS\r\n // secondaryActionIcon: PropTypes.any,\r\n // secondaryActionIconText: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n // // primaryActionOnClick: PropTypes.func,\r\n // secondaryActionOnClick: PropTypes.func,\r\n\r\n // BOOLEANS PROPS\r\n hasSearchBlock: PropTypes.bool,\r\n\r\n // menuItems: PropTypes.array,\r\n hasChipFilter: PropTypes.bool,\r\n // hasFeaturedItems: PropTypes.bool,\r\n hasRoundCorners: PropTypes.bool,\r\n};\r\n\r\nHeaderNavigation.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: 'white--sbg',\r\n menuItemsBlockBackgroundColor: null,\r\n // to: '',\r\n\r\n // NAVIGATION PROPS\r\n menuItemColor: 'primary--clr',\r\n menuToggleIconColor: 'primary--clr',\r\n menuToggleIconSize: 35,\r\n mobileMenuItemColor: 'dark--clr',\r\n\r\n // SUB MENU PROPS\r\n submenuBlockBackgroundColor: 'white--sbg',\r\n submenuItemColor: 'primary--clr',\r\n\r\n // SOCIAL MEDIA PROPS\r\n iconSize: 23,\r\n socialIconColor: 'white--clr',\r\n socialIconBackgroundColor: 'primary-lighter--sbg',\r\n primarySocialMediaLink: '',\r\n secondarySocialMediaLink: '',\r\n\r\n // // BOOLEANS PROPS\r\n hasSearchBlock: false,\r\n hasChipFilter: false,\r\n // hasFeaturedItems: false,\r\n hasRoundCorners: false,\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, null)(HeaderNavigation);","/* eslint-disable max-len */\r\n/* eslint-disable no-nested-ternary */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport 'flatpickr/dist/themes/material_green.css';\r\nimport { useHistory } from 'react-router-dom';\r\n// COMPONENTS\r\nimport InputMask from 'react-input-mask';\r\nimport Flatpickr from 'react-flatpickr';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\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 type === 'date' ? (\r\n \r\n ) : type === 'time' ? (\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;","export default __webpack_public_path__ + \"static/media/app-store-badge.f0b8ebdc.svg\";","export default __webpack_public_path__ + \"static/media/google-play-badge.3263f5e2.svg\";","/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable react/no-unknown-property */\r\n// DEPENDENCIES\r\nimport PropTypes from 'prop-types';\r\nimport React, { useState } from 'react';\r\nimport { FaPhoneAlt } from 'react-icons/fa';\r\nimport { MdEmail } from 'react-icons/md';\r\nimport { LuCopy, LuSmartphone, LuMail, LuMessageSquare } from 'react-icons/lu';\r\n// COMPONENTS\r\nimport { OverlayTrigger, Popover } from 'react-bootstrap';\r\nimport SocialIconSet from './SocialIcons/SocialIconSet';\r\nimport Button from './Button';\r\nimport CustomBlock from './CustomBlock';\r\nimport Image from './Image';\r\nimport InputBlock from './InputBlock';\r\nimport TextBlock from './TextBlock';\r\n// ASSETS\r\nimport AppStoreBadge from '../assets/img/app-store-badge.svg';\r\nimport GooglePlayBadge from '../assets/img/google-play-badge.svg';\r\n\r\nconst FooterBlock = (props) => {\r\n const {\r\n history,\r\n to,\r\n phoneNumber,\r\n emailAddress,\r\n imageSource,\r\n backgroundColor,\r\n bottomFooterBackgroundColor,\r\n subheaderColor,\r\n subheaderClassName,\r\n companyName,\r\n copyrightTextColor,\r\n footerHeaderTextColor,\r\n footerItems,\r\n iconSize,\r\n iconAppearance,\r\n socialIconColor,\r\n socialIconBackgroundColor,\r\n appStoreLink,\r\n googlePlayLink,\r\n facebookLink,\r\n instagramLink,\r\n twitterLink,\r\n linkedInLink,\r\n youtubeLink,\r\n tiktokLink,\r\n // primaryActionOnClick,\r\n // secondaryActionOnClick,\r\n hasSocialMediaIconColor,\r\n hasEmailSignUp,\r\n hasContactBlock,\r\n cmsInfo,\r\n companyLogos\r\n } = props;\r\n const popoverBtnIconSize = 20;\r\n const popoverBtnIconStrokeWidth = 2.4;\r\n const [isPhonePopoverOpen, setIsPhonePopoverOpen] = useState(false);\r\n const [isEmailPopoverOpen, setIsEmailPopoverOpen] = useState(false);\r\n\r\n const iconAppearanceOptions = {\r\n square: 'square',\r\n round: 'round',\r\n circle: 'circle',\r\n };\r\n\r\n // const SocialIconButton = (socialIconButtonProps) => {\r\n // const {\r\n // displayIf,\r\n // buttonColor,\r\n // buttonText,\r\n // socialIcon,\r\n // onClickAction,\r\n // className,\r\n // title\r\n // } = socialIconButtonProps;\r\n // return displayIf && (\r\n // \r\n // {socialIcon}\r\n // {buttonText &&

{buttonText}

}\r\n // \r\n // );\r\n // };\r\n\r\n const openInNewTab = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n const navigateToPage = (page) => {\r\n history.push(page);\r\n };\r\n\r\n const navigateToLink = (link) => {\r\n window.open(link, '_blank');\r\n };\r\n\r\n const sendEmail = (email) => {\r\n window.open(`mailto:${email}`, '_self');\r\n };\r\n\r\n const callPhoneNumber = (tel) => {\r\n window.open(`tel:${tel}`, '_self');\r\n };\r\n\r\n // const socialItemsFooter = [\r\n // {\r\n // platform: 'googleMap',\r\n // displayIf: cmsInfo.googleMapLink !== null,\r\n // title: `Google Maps | ${cmsInfo.googleMapLink}`,\r\n // buttonColor: 'currentColor',\r\n // onClickAction: () => openInNewTab(cmsInfo.googleMapLink),\r\n // socialIcon: (\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // ),\r\n // },\r\n // {\r\n // platform: 'instagram',\r\n // displayIf: cmsInfo.instagramLink !== null,\r\n // title: `Instagram | ${cmsInfo.instagramLink}`,\r\n // buttonColor: 'radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%)',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.instagramLink)\r\n // },\r\n // {\r\n // platform: 'linkedin',\r\n // displayIf: cmsInfo.linkedInLink !== null,\r\n // title: `LinkedIn | ${cmsInfo.linkedInLink}`,\r\n // buttonColor: '#0966C2',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.linkedInLink),\r\n // },\r\n // {\r\n // platform: 'facebook',\r\n // displayIf: cmsInfo.facebookLink !== null,\r\n // title: `Facebook | ${cmsInfo.facebookLink}`,\r\n // buttonColor: 'linear-gradient(to top, #0062E0, #19AFFF)',\r\n // socialIcon: ,\r\n // onClickAction: () => openInNewTab(cmsInfo.facebookLink),\r\n // },\r\n // {\r\n // platform: 'contactUs',\r\n // displayIf: true,\r\n // title: 'Contact Us',\r\n // buttonColor: '#444444',\r\n // socialIcon: ,\r\n // onClickAction: () => navigateToPage('/contact-local-restoration'),\r\n // },\r\n // ];\r\n\r\n const handlePhonePopoverToggle = () => {\r\n setIsPhonePopoverOpen(!isPhonePopoverOpen);\r\n };\r\n\r\n const handleEmailPopoverToggle = () => {\r\n setIsEmailPopoverOpen(!isEmailPopoverOpen);\r\n };\r\n\r\n const phonePopover = (\r\n \r\n {\r\n navigator.clipboard.writeText(phoneNumber);\r\n setIsPhonePopoverOpen(false);\r\n }}\r\n >\r\n \r\n

\r\n Copy\r\n\r\n

\r\n
\r\n\r\n
\r\n\r\n {\r\n callPhoneNumber(phoneNumber);\r\n setIsPhonePopoverOpen(false);\r\n }}\r\n >\r\n \r\n

\r\n {`Call ${cmsInfo.companyName}`}\r\n

\r\n \r\n \r\n );\r\n\r\n const emailPopover = (\r\n \r\n {\r\n navigator.clipboard.writeText(emailAddress);\r\n setIsEmailPopoverOpen(false);\r\n }}\r\n >\r\n \r\n

\r\n Copy\r\n

\r\n \r\n\r\n
\r\n\r\n {\r\n sendEmail(emailAddress);\r\n setIsEmailPopoverOpen(false);\r\n }}\r\n >\r\n \r\n

\r\n {`Email ${cmsInfo.companyName}`}\r\n

\r\n \r\n\r\n
\r\n\r\n {\r\n const contactPageURL = cmsInfo.menuItems.find((item) => item.name === 'Contact').customLink;\r\n history.push(contactPageURL);\r\n setIsEmailPopoverOpen(false);\r\n }}\r\n >\r\n \r\n

\r\n Visit Contact Page\r\n

\r\n \r\n
\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n\r\n navigateToPage('/')}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 {hasEmailSignUp && (\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 {phoneNumber && (\r\n \r\n \r\n {/* \r\n

{phoneNumber}

*/}\r\n callPhoneNumber(phoneNumber)}\r\n iconLeft={}\r\n />\r\n
\r\n \r\n )}\r\n\r\n {emailAddress && (\r\n \r\n \r\n {/* \r\n

{emailAddress}

*/}\r\n sendEmail(emailAddress)}\r\n iconLeft={}\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 {appStoreLink && (\r\n navigateToLink(appStoreLink)}\r\n />\r\n )}\r\n\r\n {googlePlayLink && (\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 {/* */}\r\n \r\n

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

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

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

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ alertToast: state.alertToast });\r\n\r\nexport default connect(mapStateFromProps, alertToast.actions)(AlertToast);","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Fade } from 'react-awesome-reveal';\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 \r\n\r\n {(primaryActionText !== '' && primaryActionText !== null) || (secondaryActionText !== '' && secondaryActionText !== null) ? (\r\n \r\n {primaryActionText !== '' && primaryActionText !== null && (\r\n \r\n openInNewTab(primaryActionTo) : primaryActionOnClick}\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 ) : null}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nContentSection.propTypes = {\r\n // MAIN PROPS\r\n backgroundColor: PropTypes.string,\r\n cardBackgroundColor: PropTypes.string,\r\n\r\n // IMAGE PROPS\r\n imageSource: PropTypes.number.isRequired,\r\n\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n titleColor: PropTypes.string,\r\n\r\n // DESCRIPTION PROPS\r\n description: PropTypes.string,\r\n descriptionColor: PropTypes.string,\r\n\r\n // ACTION PROPS\r\n primaryActionText: PropTypes.string,\r\n primaryActionColor: PropTypes.string,\r\n primaryActionTo: PropTypes.string,\r\n primaryActionOnClick: PropTypes.func,\r\n\r\n secondaryActionText: PropTypes.string,\r\n secondaryActionColor: PropTypes.string,\r\n secondaryActionTo: PropTypes.string,\r\n secondaryActionOnClick: PropTypes.func,\r\n\r\n // FUNCTION PROPS\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryActionTargetBlank: PropTypes.bool,\r\n isSecondaryActionTargetBlank: PropTypes.bool,\r\n isReversed: PropTypes.bool,\r\n isCentered: PropTypes.bool,\r\n isTitleUppercase: PropTypes.bool,\r\n hasRoundCorners: PropTypes.bool,\r\n hasCardBackgroundImage: PropTypes.bool,\r\n isTextOnly: PropTypes.bool,\r\n isFloatingCard: PropTypes.bool,\r\n isFullWidth: PropTypes.bool,\r\n isFullWidthUnpadded: PropTypes.bool,\r\n};\r\n\r\nContentSection.defaultProps = {\r\n // MAIN PROPS\r\n backgroundColor: '',\r\n cardBackgroundColor: '',\r\n\r\n // IMAGE PROPS\r\n\r\n // TITLE PROPS\r\n titleColor: 'primary--clr',\r\n\r\n // DESCRIPTION PROPS\r\n description: '',\r\n descriptionColor: 'dark--clr',\r\n\r\n // ACTION PROPS\r\n primaryActionText: '',\r\n primaryActionColor: 'primary--bg',\r\n primaryActionTo: '',\r\n primaryActionOnClick: null,\r\n\r\n secondaryActionText: '',\r\n secondaryActionColor: 'secondary--bg',\r\n secondaryActionTo: '',\r\n secondaryActionOnClick: null,\r\n\r\n // FUNCTION PROPS\r\n\r\n // BOOLEAN PROPS\r\n isPrimaryActionTargetBlank: false,\r\n isSecondaryActionTargetBlank: false,\r\n isReversed: false,\r\n isCentered: false,\r\n isTitleUppercase: false,\r\n hasRoundCorners: false,\r\n hasCardBackgroundImage: false,\r\n isTextOnly: false,\r\n isFloatingCard: false,\r\n isFullWidth: false,\r\n isFullWidthUnpadded: false,\r\n};\r\n\r\nexport default ContentSection;","/* eslint-disable object-shorthand */\r\n/* eslint-disable import/no-unresolved */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// COMPONENTS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport ContentSection from './ContentSection';\r\n\r\nconst Banner = (props) => {\r\n const {\r\n bannerBackgroundColor,\r\n title,\r\n titleColor,\r\n description,\r\n descriptionColor,\r\n imageSource,\r\n titlePosition,\r\n isDynamicBanner,\r\n isTitleUppercase,\r\n offset,\r\n className,\r\n primaryActionColor\r\n } = props;\r\n\r\n const textPositions = {\r\n left: 'left',\r\n center: 'center',\r\n right: 'right'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBanner.propTypes = {\r\n // MAIN PROPS\r\n imageSource: PropTypes.number.isRequired,\r\n titlePosition: PropTypes.string,\r\n bannerBackgroundColor: PropTypes.string,\r\n\r\n // TITLE PROPS\r\n title: PropTypes.string.isRequired,\r\n titleColor: PropTypes.string,\r\n\r\n // DESCRIPTION PROPS\r\n description: PropTypes.string,\r\n descriptionColor: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isDynamicBanner: PropTypes.bool,\r\n isTitleUppercase: PropTypes.bool,\r\n};\r\n\r\nBanner.defaultProps = {\r\n // MAIN PROPS\r\n description: '',\r\n titlePosition: 'center',\r\n bannerBackgroundColor: '#213c63',\r\n\r\n // TITLE PROPS\r\n titleColor: 'white--clr',\r\n\r\n // DESCRIPTION PROPS\r\n descriptionColor: 'white--clr',\r\n\r\n // BOOLEAN PROPS\r\n isDynamicBanner: false,\r\n isTitleUppercase: false,\r\n};\r\n\r\nexport default Banner;","export default __webpack_public_path__ + \"static/media/default-banner.40d5e2b9.png\";","/* eslint-disable max-len */\r\n/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable arrow-parens */\r\n/* eslint-disable react/no-unescaped-entities */\r\n/* eslint-disable object-curly-newline */\r\nimport React, { useState, useEffect } from 'react';\r\n// ICONS\r\nimport { FaMobileAlt, FaTabletAlt } from 'react-icons/fa';\r\nimport { IoDesktopOutline } from 'react-icons/io5';\r\nimport { BsLaptop } from 'react-icons/bs';\r\nimport { MdDesktopWindows, MdTv } from 'react-icons/md';\r\n// COMPONENTS\r\nimport CustomBlock from '../../components/CustomBlock';\r\n\r\nconst initialValues = {\r\n screenWidth: window.innerWidth,\r\n scrollPosition: window.pageYOffset,\r\n elementStyles: [],\r\n};\r\n\r\nconst FluidTypographyTest = (props) => {\r\n const { className } = props;\r\n const [screenInfo, setScreenInfo] = useState(initialValues);\r\n const fontSizes = ['xxxl', 'xxl', 'xl', 'lg', 'mdlg', 'md', 'sm', 'xs', 'xxs', 'xxxs'].reverse();\r\n\r\n const breakpoints = {\r\n Mobile: { min: 320, max: 480 },\r\n Tablet: { min: 481, max: 768 },\r\n Laptop: { min: 769, max: 1024 },\r\n Desktop: { min: 1025, max: 1200 },\r\n 'Large Desktop': { min: 1201, max: Infinity }\r\n };\r\n\r\n const breakpointIcons = {\r\n Mobile: ,\r\n Tablet: ,\r\n Laptop: ,\r\n Desktop: ,\r\n 'Large Desktop': ,\r\n };\r\n\r\n useEffect(() => {\r\n getScreenInfo();\r\n\r\n // Setup event listeners for resize and scroll\r\n window.addEventListener('resize', getScreenInfo);\r\n window.addEventListener('scroll', getScreenInfo);\r\n\r\n // Cleanup function to remove event listeners\r\n return () => {\r\n window.removeEventListener('resize', getScreenInfo);\r\n window.removeEventListener('scroll', getScreenInfo);\r\n };\r\n }, []);\r\n\r\n const getScreenInfo = () => {\r\n // const sizes = ['giant', 'xxxxl', 'xxxl', 'xxl', 'xl', 'lg', 'mdlg', 'md', 'sm', 'xs', 'xxs', 'xxxs', 'xxxxs', 'xxxxxs', 'tiny'];\r\n const screenWidth = window.innerWidth;\r\n\r\n const currentBreakpointName = Object.entries(breakpoints).reduce((acc, [name, { min, max }]) => {\r\n if (screenWidth >= min && screenWidth <= max) return name;\r\n return acc;\r\n }, 'unknown');\r\n\r\n const elementStyles = fontSizes.reduce((acc, size) => {\r\n const element = document.querySelector(`.fluid-typography-test .typography-elements .size-${size}`);\r\n if (element) {\r\n const computedStyle = window.getComputedStyle(element);\r\n acc[size] = {\r\n fontSize: computedStyle.fontSize,\r\n lineHeight: computedStyle.lineHeight,\r\n fontFamily: computedStyle.fontFamily,\r\n fontWeight: computedStyle.fontWeight,\r\n color: computedStyle.color,\r\n textAlign: computedStyle.textAlign,\r\n letterSpacing: computedStyle.letterSpacing,\r\n textTransform: computedStyle.textTransform,\r\n };\r\n }\r\n return acc;\r\n }, {});\r\n\r\n const info = {\r\n screenWidth: window.innerWidth,\r\n scrollPosition: window.pageYOffset,\r\n currentBreakpointName,\r\n elementStyles,\r\n };\r\n\r\n // console.log('info', info);\r\n\r\n setScreenInfo(info);\r\n };\r\n\r\n const getBreakpointIcon = (breakpoint) => breakpointIcons[breakpoint] || null;\r\n\r\n return (\r\n \r\n

Fluid Typography Test

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

\r\n Screen Width: {screenInfo.screenWidth}px\r\n

\r\n\r\n

\r\n Scroll Position: {screenInfo.scrollPosition}px\r\n

\r\n
\r\n\r\n \r\n {getBreakpointIcon(screenInfo.currentBreakpointName)}\r\n

{screenInfo.currentBreakpointName}

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

Font Sizes

\r\n \r\n {fontSizes.map((fontSize) => (\r\n \r\n \r\n

{fontSize}

\r\n {screenInfo.elementStyles && screenInfo.elementStyles[fontSize] && (\r\n \r\n

{screenInfo.elementStyles[fontSize].fontSize}

\r\n

{screenInfo.elementStyles[fontSize].lineHeight}

\r\n

{screenInfo.elementStyles[fontSize].fontFamily}

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

{fontSize}

\r\n
\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nexport default FluidTypographyTest;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport { GoTypography } from 'react-icons/go';\r\nimport { FiInfo } from 'react-icons/fi';\r\nimport CustomBlock from '../../components/CustomBlock';\r\nimport Banner from '../../components/Banner';\r\nimport BannerImage from '../../assets/client/default-banner.png';\r\nimport FluidTypographyTest from './FluidTypographyTest';\r\n\r\nconst DevelopmentReferencePage = (props) => {\r\n const { cmsInfo } = props;\r\n const [cmsInfoStringified, setCmsInfoStringified] = useState('');\r\n const [showFluidTypographyTest, setShowFluidTypographyTest] = useState(false);\r\n const [cmsInfoVisible, setCmsInfoVisible] = useState(false);\r\n const [fontSizes, setFontSizes] = useState({});\r\n\r\n const sizeClasses = [\r\n 'xxxl',\r\n 'xxl',\r\n 'xl',\r\n 'lg',\r\n 'mdlg',\r\n 'md',\r\n 'sm',\r\n 'xs',\r\n 'xxs',\r\n 'xxxs',\r\n ];\r\n\r\n const refs = useRef(sizeClasses.reduce((acc, sizeClass) => {\r\n acc[sizeClass] = React.createRef();\r\n return acc;\r\n }, {}));\r\n\r\n const updateFontSizes = () => {\r\n const newFontSizes = {};\r\n sizeClasses.forEach((sizeClass) => {\r\n if (refs.current[sizeClass].current) {\r\n const computedStyle = getComputedStyle(refs.current[sizeClass].current);\r\n newFontSizes[sizeClass] = computedStyle.fontSize;\r\n }\r\n });\r\n setFontSizes(newFontSizes);\r\n };\r\n\r\n useEffect(() => {\r\n if (cmsInfo) {\r\n // console.log(cmsInfo);\r\n setCmsInfoStringified(JSON.stringify(cmsInfo, null, 2));\r\n }\r\n }, [cmsInfo]);\r\n\r\n useEffect(() => {\r\n updateFontSizes();\r\n window.addEventListener('resize', updateFontSizes);\r\n return () => window.removeEventListener('resize', updateFontSizes);\r\n }, []);\r\n\r\n useEffect(() => {\r\n updateFontSizes();\r\n }, [showFluidTypographyTest, cmsInfoVisible]);\r\n\r\n // STYLES FOR FORMATTED JSON DISPLAY\r\n const preStyle = {\r\n whiteSpace: 'pre-wrap',\r\n wordBreak: 'break-word',\r\n background: '#f5f5f5',\r\n padding: '40px',\r\n overflow: 'auto',\r\n maxHeight: '500px',\r\n fontSize: '0.9rem',\r\n lineHeight: '1.4',\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n {/* FLUID TYPOGRAPHY TEST */}\r\n {showFluidTypographyTest && (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* CMS INFO */}\r\n {cmsInfoVisible && (\r\n \r\n \r\n {cmsInfoStringified}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n

H1 Heading Tag

\r\n

H2 Heading Tag

\r\n

H3 Heading Tag

\r\n

H4 Heading Tag

\r\n
H5 Heading Tag
\r\n
H6 Heading Tag
\r\n
\r\n\r\n \r\n {sizeClasses.map((sizeClass) => (\r\n \r\n {sizeClass}\r\n \r\n {fontSizes[sizeClass] || 'Calculating...'}\r\n \r\n

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

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

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

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

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

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

)\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonOnClick={() => {\r\n setRegisterModalVisible(true);\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* REGISTER MODAL */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={regiser_user_formik.errors.password}\r\n inputState={`${helper.getInputClasses(regiser_user_formik, 'password')}`}\r\n {...regiser_user_formik.getFieldProps('password')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsConfirmPasswordVisible(!isConfirmPasswordVisible);\r\n }}\r\n errorMessage={regiser_user_formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(regiser_user_formik, 'confirmPassword')}`}\r\n {...regiser_user_formik.getFieldProps('confirmPassword')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n {/* RESET PASSWORD MODAL */}\r\n {\r\n setUpdatePasswordRegisterModalVisible(false);\r\n }}\r\n >\r\n \r\n
\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.oldPassword}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'oldPassword')}`}\r\n {...update_password_user_formik.getFieldProps('oldPassword')}\r\n isRequired\r\n />\r\n \r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsPasswordVisible(!isPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.password}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'password')}`}\r\n {...update_password_user_formik.getFieldProps('password')}\r\n isRequired\r\n />\r\n \r\n\r\n \r\n : }\r\n iconRightOnClick={() => {\r\n setIsConfirmPasswordVisible(!isConfirmPasswordVisible);\r\n }}\r\n errorMessage={update_password_user_formik.errors.confirmPassword}\r\n inputState={`${helper.getInputClasses(update_password_user_formik, 'confirmPassword')}`}\r\n {...update_password_user_formik.getFieldProps('confirmPassword')}\r\n isRequired\r\n />\r\n \r\n
\r\n
\r\n \r\n\r\n {/* EDIT MODAL */}\r\n {\r\n closeEditModal();\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, { ...auth.actions, ...alert.actions })(UserListingPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Meeting/';\r\n\r\nconst getAllMeetings = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllMeetings`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getAllActiveMeetings = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetAllActiveMeetings`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getMeetingById = async (meetingId) => axiosInstance.get(`${ENDPOINTORIGIN}GetMeetingById?meetingId=${meetingId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst createMeeting = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}CreateMeeting`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst updateMeeting = async (model) => axiosInstance.put(`${ENDPOINTORIGIN}UpdateMeeting`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst deleteMeeting = async (meetingId) => axiosInstance.delete(`${ENDPOINTORIGIN}DeleteMeeting?meetingId=${meetingId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getAllMeetings,\r\n getAllActiveMeetings,\r\n getMeetingById,\r\n createMeeting,\r\n updateMeeting,\r\n deleteMeeting\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 moment from 'moment';\r\n// COMPONENTS\r\nimport MUIDataTable from 'mui-datatables';\r\n// ICONS\r\nimport { FaCalendarPlus, FaRegFilePdf } from 'react-icons/fa6';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport Button from '../../../../components/Button';\r\nimport OverLay from '../../../../components/Overlay';\r\n// HELPERS AND SERVICES\r\nimport * as meetingService from '../../../../services/management/meetingService';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as authRedux from '../../../../redux/authRedux';\r\nimport * as confirmModal from '../../../../redux/confirmModalRedux';\r\n\r\nconst MeetingListingPage = (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 [meetings, setMeetings] = useState([]);\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n fetchMeetings();\r\n }, []);\r\n\r\n const fetchMeetings = () => {\r\n setIsLoading(true);\r\n meetingService.getAllMeetings().then((res) => {\r\n setMeetings(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 handleDeleteMeeting = (meetingId) => {\r\n setIsLoading(true);\r\n meetingService.deleteMeeting(meetingId).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n fetchMeetings();\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 rowsPerPage: 40,\r\n sortOrder: {\r\n name: 'date',\r\n direction: 'desc',\r\n },\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 history.push(`/admin/management/edit-meeting/${meetings[dataIndex].id}`);\r\n }}\r\n />\r\n {auth.isAdmin && (\r\n {\r\n showConfirmModal({\r\n title: 'Remove Meeting',\r\n text: `Are you sure you want to remove the ${moment(meetings[dataIndex].date).format('MMMM D, YYYY')} meeting?`,\r\n rightBtnText: 'Confirm',\r\n btnAction: () => {\r\n handleDeleteMeeting(meetings[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: 'date',\r\n label: 'Date',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => {\r\n const date = moment(meetings[dataIndex].date).format('MMMM D, YYYY');\r\n const startTime = meetings[dataIndex].startTime ? moment(meetings[dataIndex].startTime, 'HH:mm').format('h:mm A') : '';\r\n const endTime = meetings[dataIndex].endTime ? moment(meetings[dataIndex].endTime, 'HH:mm').format('h:mm A') : '';\r\n // const dotw = moment(meetings[dataIndex].date).format('dddd');\r\n\r\n return (\r\n \r\n

{date}

\r\n

{`${startTime}${startTime && endTime && ' - '}${endTime}`}

\r\n {/*

{dotw}

*/}\r\n
\r\n );\r\n }\r\n },\r\n },\r\n {\r\n name: 'minutesFilePath',\r\n label: 'Attachments',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => {\r\n const { minutesFilePath, agendasFilePath } = meetings[dataIndex];\r\n const minutesFileURL = `${process.env.REACT_APP_API_URL}Attachments/${minutesFilePath}`;\r\n const agendasFileURL = `${process.env.REACT_APP_API_URL}Attachments/${agendasFilePath}`;\r\n\r\n return (\r\n \r\n minutesFilePath && window.open(minutesFileURL, '_blank')}\r\n >\r\n \r\n

Minutes

\r\n
\r\n agendasFilePath && window.open(agendasFileURL, '_blank')}\r\n >\r\n \r\n

Agenda

\r\n \r\n \r\n );\r\n }\r\n },\r\n },\r\n {\r\n name: 'date',\r\n label: 'Status',\r\n options: {\r\n ...columnOptions,\r\n customBodyRenderLite: (dataIndex) => {\r\n const meetingDate = moment(meetings[dataIndex].date);\r\n const now = moment();\r\n const isUpcoming = meetingDate.isAfter(now);\r\n\r\n return (\r\n \r\n

{isUpcoming ? 'Upcoming' : 'Past'}

\r\n
\r\n );\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 } = meetings[dataIndex];\r\n\r\n return (\r\n \r\n

{isActive ? 'Yes' : 'No'}

\r\n \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 primaryButtonOnClick={() => {\r\n history.push('/admin/management/create-meeting');\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...authRedux.actions,\r\n ...alert.actions,\r\n ...confirmModal.actions\r\n }\r\n)(MeetingListingPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// ICONS\r\nimport { AiOutlineLoading } from 'react-icons/ai';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst TextAreaBlock = (props) => {\r\n const {\r\n containerClassName,\r\n className,\r\n backgroundColor,\r\n label,\r\n labelColor,\r\n inputLabel,\r\n placeholder,\r\n inputState,\r\n errorMessage,\r\n successMessage,\r\n warningMessage,\r\n isLabelLoading,\r\n isRequired,\r\n isDisabled,\r\n hasBorder,\r\n } = props;\r\n\r\n const errorMessageSuffix = 'is required';\r\n const inputStates = {\r\n error: 'error',\r\n warning: 'warning',\r\n success: 'success',\r\n disabled: 'disabled'\r\n };\r\n\r\n return (\r\n \r\n {\r\n inputLabel\r\n && (\r\n \r\n {inputLabel}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n {\r\n label\r\n && (\r\n \r\n {label}\r\n {isRequired && *}\r\n {\r\n isLabelLoading\r\n && (\r\n \r\n )\r\n }\r\n \r\n )\r\n }\r\n \r\n {\r\n inputState === 'error'\r\n && (\r\n \r\n {errorMessage || (inputLabel || label ? (inputLabel || `${label} ${errorMessageSuffix}`) : 'Error message undefined')}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'warning'\r\n && (\r\n \r\n {warningMessage}\r\n \r\n )\r\n }\r\n {\r\n inputState === 'success'\r\n && (\r\n \r\n {successMessage}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nTextAreaBlock.propTypes = {\r\n // CONTAINER PROPS\r\n containerClassName: PropTypes.string,\r\n className: PropTypes.string,\r\n backgroundColor: PropTypes.string,\r\n\r\n // LABEL PROPS\r\n label: PropTypes.string,\r\n labelColor: PropTypes.string,\r\n inputLabel: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n\r\n // STATE PROPS\r\n inputState: PropTypes.string,\r\n errorMessage: PropTypes.string,\r\n successMessage: PropTypes.string,\r\n warningMessage: PropTypes.string,\r\n\r\n // BOOLEAN PROPS\r\n isLabelLoading: PropTypes.bool,\r\n isRequired: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n hasBorder: PropTypes.bool,\r\n};\r\n\r\nTextAreaBlock.defaultProps = {\r\n // CONTAINER PROPS\r\n containerClassName: '',\r\n className: '',\r\n backgroundColor: 'light--sbg',\r\n\r\n // LABEL PROPS\r\n label: '',\r\n labelColor: '',\r\n inputLabel: '',\r\n placeholder: '',\r\n\r\n // STATE PROPS\r\n inputState: '',\r\n errorMessage: '',\r\n successMessage: '',\r\n warningMessage: '',\r\n\r\n // BOOLEAN PROPS\r\n isLabelLoading: false,\r\n isRequired: false,\r\n isDisabled: false,\r\n hasBorder: false,\r\n};\r\n\r\nexport default TextAreaBlock;","// DEPENDENCIES\r\nimport React, { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FilePond, registerPlugin } from 'react-filepond';\r\nimport FilePondPluginImageExifOrientation from 'filepond-plugin-image-exif-orientation';\r\nimport FilePondPluginImagePreview from 'filepond-plugin-image-preview';\r\nimport 'filepond/dist/filepond.min.css';\r\nimport 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css';\r\n// import _ from 'lodash';\r\n// COMPONENTS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n\r\nregisterPlugin(FilePondPluginImageExifOrientation, FilePondPluginImagePreview);\r\n\r\nconst FileUploadBlock = forwardRef((props, ref) => {\r\n const { containerClassName, labelIdle } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n\r\nFileUploadBlock.propTypes = {\r\n containerClassName: PropTypes.string,\r\n labelIdle: PropTypes.string,\r\n};\r\n\r\nFileUploadBlock.defaultProps = {\r\n containerClassName: '',\r\n labelIdle: 'Drag & Drop your files or Browse',\r\n};\r\n\r\nexport default FileUploadBlock;","// 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;","/* eslint-disable no-use-before-define */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable camelcase */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport * as Yup from 'yup';\r\nimport { connect } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\nimport moment from 'moment';\r\n// ICONS\r\nimport { FaXmark } from 'react-icons/fa6';\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\n// HELPERS AND SERVICES\r\nimport * as meetingService from '../../../../services/management/meetingService';\r\nimport * as helper from '../../../../helpers/helper';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\r\n\r\nconst initialMeetingModel = {\r\n id: 0,\r\n isActive: true,\r\n startTime: '',\r\n endTime: '',\r\n description: 'For details on our upcoming board meeting, including the agenda and how to participate, reach out to us at (225) 791-6509 or lpgdd2@outlook.com.',\r\n location: '8639 Springfield Rd, Watson, LA, 70786',\r\n};\r\n\r\nconst MeetingManagementPage = (props) => {\r\n const { history, showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const { meetingId } = useParams();\r\n const [meeting, setMeeting] = useState([]);\r\n // FORM STATE MANAGEMENT\r\n const [minutesFile, setMinutesFile] = useState([]);\r\n const [agendasFile, setAgendasFile] = useState([]);\r\n const [selectedDate, setSelectedDate] = useState('');\r\n const [hasMinutesFilePath, setHasMinutesFilePath] = useState('');\r\n const [hasAgendasFilePath, setHasAgendasFilePath] = useState('');\r\n\r\n const timeInputOptions = {\r\n enableTime: true,\r\n noCalendar: true,\r\n time_24hr: false,\r\n altInput: true,\r\n altFormat: 'h:i K',\r\n dateFormat: 'h:i K',\r\n minTime: '05:00',\r\n maxTime: '22:00',\r\n minuteIncrement: 10,\r\n };\r\n\r\n const dateInputOptions = {\r\n altInput: true,\r\n altFormat: 'F j, Y',\r\n };\r\n\r\n useEffect(() => {\r\n if (meetingId) {\r\n fetchMeeting();\r\n }\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: meetingId ? meeting : initialMeetingModel,\r\n validationSchema: Yup.object().shape({\r\n id: Yup.number(),\r\n isActive: Yup.bool(),\r\n startTime: Yup.string(),\r\n endTime: Yup.string(),\r\n description: Yup.string(),\r\n location: Yup.string(),\r\n }),\r\n enableReinitialize: true,\r\n onSubmit: (values) => {\r\n const model = {\r\n ...values,\r\n date: selectedDate,\r\n minutesFile: minutesFile.length > 0 ? minutesFile?.[0]?.file : null,\r\n minutesFilePath: hasMinutesFilePath,\r\n agendasFile: agendasFile.length > 0 ? agendasFile?.[0]?.file : null,\r\n agendasFilePath: hasAgendasFilePath,\r\n };\r\n\r\n if (meetingId) {\r\n updateMeeting(model);\r\n } else {\r\n createMeeting(model);\r\n }\r\n },\r\n });\r\n\r\n // FETCH MEETING\r\n const fetchMeeting = () => {\r\n setIsLoading(true);\r\n meetingService.getMeetingById(meetingId).then((res) => {\r\n setMeeting(res);\r\n setSelectedDate(res.date || '');\r\n setHasMinutesFilePath(res.minutesFilePath || '');\r\n setHasAgendasFilePath(res.agendasFilePath || '');\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 // UPDATE MEETING\r\n const updateMeeting = (model) => {\r\n setIsLoading(true);\r\n meetingService.updateMeeting(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/admin/management/meetings');\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 // CREATE MEETING\r\n const createMeeting = (model) => {\r\n setIsLoading(true);\r\n meetingService.createMeeting(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/admin/management/meetings');\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 \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* MEETING DETAILS */}\r\n
\r\n {/* DATE */}\r\n \r\n setSelectedDate(e.length > 0 && moment(e[0]).toISOString())}\r\n />\r\n \r\n\r\n {/* START TIME */}\r\n \r\n {\r\n formik.setFieldValue('startTime', e.target.value);\r\n }}\r\n />\r\n \r\n\r\n {/* END TIME */}\r\n \r\n {\r\n formik.setFieldValue('endTime', e.target.value);\r\n }}\r\n />\r\n \r\n
\r\n\r\n {/* DESCRIPTION */}\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 {/* IS MEETING ACTIVE */}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n {/* MINUTES UPLOAD */}\r\n \r\n \r\n \r\n {!meetingId ? (\r\n setMinutesFile(files)} />\r\n ) : (\r\n <>\r\n {hasMinutesFilePath ? (\r\n \r\n setHasMinutesFilePath('')}\r\n style={{ backgroundColor: 'red', borderRadius: '6px', cursor: 'pointer' }}\r\n />\r\n

Minutes Document ({`${moment(meeting.date).format('MMMM D, YYYY')}`})

\r\n
\r\n ) : (\r\n setMinutesFile(files)}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n\r\n {/* AGENDA UPLOAD */}\r\n \r\n \r\n \r\n {!meetingId ? (\r\n setAgendasFile(files)} />\r\n ) : (\r\n <>\r\n {hasAgendasFilePath ? (\r\n \r\n setHasAgendasFilePath('')}\r\n style={{ backgroundColor: 'red', borderRadius: '6px', cursor: 'pointer' }}\r\n />\r\n

Agenda Document ({`${moment(meeting.date).format('MMMM D, YYYY')}`})

\r\n \r\n ) : (\r\n setAgendasFile(files)}\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 Meeting'}\r\n primaryActionColor=\"primary--bg\"\r\n primaryActionOnClick={formik.handleSubmit}\r\n secondaryActionText=\"Cancel\"\r\n secondaryActionTo=\"/admin/management/meetings\"\r\n optionalActionText={meetingId > 0 ? 'Return to Listing' : ''}\r\n optionalActionTo=\"/admin/management/meetings\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(\r\n mapStateFromProps,\r\n {\r\n ...auth.actions,\r\n ...alert.actions,\r\n }\r\n)(MeetingManagementPage);","import axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Settings/';\r\n\r\nconst getSettings = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetSettings`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getSettingById = async (id) => axiosInstance.get(`${ENDPOINTORIGIN}GetSettingById?id=${id}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getSettingByKey = async (key) => axiosInstance.get(`${ENDPOINTORIGIN}GetSettingByKey?key=${key}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst saveSetting = async (setting) => axiosInstance.put(`${ENDPOINTORIGIN}SaveSetting`, setting, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getSettings,\r\n getSettingById,\r\n getSettingByKey,\r\n saveSetting,\r\n};","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};","/* 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-unused-vars */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-undef */\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\nimport Image from '../../../../components/Image';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\n// REDUX\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as auth from '../../../../redux/authRedux';\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\nimport * as settingService from '../../../../services/management/settingService';\r\nimport * as pageService from '../../../../services/cms/pageService';\r\n\r\nconst SettingsListingPage = (props) => {\r\n const { showAlert, cmsInfo, showConfirmModal, hideConfirmModal } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n // SETTINGS\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [settings, setSettings] = useState([]);\r\n const [selectedSetting, setSelectedSetting] = useState({});\r\n // PAGE SEO\r\n const [isPageSEOModalVisible, setIsPageSEOModalVisible] = useState(false);\r\n const [pages, setPages] = useState([]);\r\n const [selectedPage, setSelectedPage] = useState([]);\r\n // GENERAL\r\n const iconSize = 22;\r\n const iconColor = 'white--clr';\r\n\r\n useEffect(() => {\r\n if (!pages.length > 0) {\r\n getPages();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getSettings();\r\n }, []);\r\n\r\n const getSettings = () => {\r\n setIsLoading(true);\r\n settingService.getSettings().then((res) => {\r\n setSettings(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 getPages = async () => {\r\n setIsLoading(true);\r\n try {\r\n const res = await pageService.getAllPages(true);\r\n \r\n const detailedPages = await Promise.all(res.map(async (page) => {\r\n try {\r\n const pageDetails = await pageService.getPageById(page.id);\r\n return { ...page, ...pageDetails };\r\n } catch (ex) {\r\n showAlert({ text: `Error fetching details for page ${page.id}: ${ex.message}`, state: 'error' });\r\n return page;\r\n }\r\n }));\r\n \r\n setPages(detailedPages);\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: {\r\n key: '',\r\n value: ''\r\n },\r\n enableReinitialize: true,\r\n onSubmit: (values) => {\r\n const updatedSetting = { ...selectedSetting, value: values.value };\r\n\r\n settingService.saveSetting(updatedSetting)\r\n .then(() => {\r\n showAlert({ text: `${updatedSetting.key} updated successfully`, state: 'success' });\r\n getSettings();\r\n handleModalClose();\r\n })\r\n .catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n });\r\n },\r\n });\r\n\r\n // const formikPageSEO = useFormik({\r\n // initialValues: {\r\n // name: '',\r\n // title: '',\r\n // keywords: '',\r\n // description: '',\r\n // url: '',\r\n // },\r\n // enableReinitialize: true,\r\n // onSubmit: (values) => {\r\n // const updatedPage = { ...selectedPage, ...values };\r\n // console.log(updatedPage);\r\n // // pageService.getPageById(updatedPage.id).then((res) => {\r\n // // console.log(res)\r\n // // })\r\n // setIsLoading(true);\r\n // pageService.updatePage(updatedPage).then((res) => {\r\n // showAlert({ message: res.message, state: 'success' });\r\n // getPages();\r\n // handlePageModalClose();\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\r\n const getSetting = (id) => {\r\n setIsLoading(true);\r\n settingService.getSettingById(id).then((res) => {\r\n setSelectedSetting(res);\r\n formik.setValues({ key: res.key, value: res.value });\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 handleModalClose = () => {\r\n setSelectedSetting([]);\r\n setIsModalVisible(false);\r\n };\r\n\r\n const handlePageModalClose = () => {\r\n setSelectedPage([]);\r\n setIsPageSEOModalVisible(false);\r\n };\r\n\r\n const settingsColumns = [\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 getSetting(settings[dataIndex].id)}\r\n />\r\n \r\n )\r\n }\r\n },\r\n {\r\n name: 'key',\r\n label: 'Name',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n },\r\n },\r\n {\r\n name: 'value',\r\n label: 'Value',\r\n options: {\r\n filter: true,\r\n sort: true,\r\n setCellProps: () => ({\r\n style: {\r\n maxWidth: '500px',\r\n wordWrap: 'break-word',\r\n },\r\n }),\r\n },\r\n },\r\n ];\r\n\r\n // const pagesSEOColumns = [\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 pg = pages[dataIndex];\r\n // setSelectedPage(pg);\r\n // formikPageSEO.setValues({\r\n // name: pg.name,\r\n // title: pg.title,\r\n // keywords: pg.keywords,\r\n // description: pg.description,\r\n // url: pg.url\r\n // });\r\n // setIsPageSEOModalVisible(true);\r\n // }}\r\n // />\r\n // \r\n // )\r\n // }\r\n // },\r\n // {\r\n // name: 'name',\r\n // label: 'Page',\r\n // options: {\r\n // filter: true,\r\n // sort: true,\r\n // customBodyRenderLite: (dataIndex) => (\r\n // window.open(`${pages[dataIndex].url}`, '_blank')}\r\n // />\r\n // )\r\n // },\r\n // },\r\n // {\r\n // name: 'title',\r\n // label: 'Title Tag',\r\n // options: {\r\n // filter: true,\r\n // sort: true,\r\n // },\r\n // },\r\n // {\r\n // name: 'keywords',\r\n // label: 'Meta Keywords',\r\n // options: {\r\n // filter: true,\r\n // sort: true,\r\n // customBodyRenderLite: (dataIndex) => {\r\n // const keywordsString = pages[dataIndex]?.keywords || '';\r\n // const keywords = keywordsString.split(',').filter(Boolean);\r\n \r\n // return (\r\n //
\r\n // {keywords.length > 0 ? (\r\n // <>\r\n // {keywords.map((keyword) => (\r\n // \r\n // {keyword.trim()}\r\n // \r\n\r\n // // \r\n // // {keyword.trim()}\r\n // // \r\n // ))}\r\n // {/*

{keywordsString}

*/}\r\n // \r\n // ) : (\r\n // -\r\n // )}\r\n //
\r\n // );\r\n // }\r\n // },\r\n // },\r\n // {\r\n // name: 'description',\r\n // label: 'Meta Description',\r\n // options: {\r\n // filter: true,\r\n // sort: true,\r\n // customBodyRenderLite: (dataIndex) => (\r\n // pages[dataIndex].description || -\r\n // )\r\n // },\r\n // },\r\n // ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n\r\n {/* SETTINGS */}\r\n \r\n
\r\n \r\n \r\n \r\n

Settings

\r\n

View and Manage Website Settings

\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* PAGES SEO */}\r\n {/* \r\n
\r\n \r\n \r\n \r\n

Content Pages SEO

\r\n

View and Manage SEO for Defined Pages

\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
*/}\r\n\r\n {/* UPDATE SETTINGS 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 {/* UPDATE PAGE SEO 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 \r\n \r\n \r\n
\r\n
\r\n */}\r\n\r\n {/* FEATURES */}\r\n {/* \r\n
\r\n \r\n \r\n\r\n \r\n

Features

\r\n

Manage Accessibility of Website Features

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

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

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

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

\r\n )\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n
\r\n \r\n \r\n }\r\n primaryButtonTo=\"/cms/management/content-section\"\r\n secondaryButtonText=\"New Banner\"\r\n secondaryButtonIconLeft={}\r\n secondaryButtonTo=\"/cms/management/banner\"\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* CONFIRM DELETE MODAL */}\r\n { }}\r\n secondaryModalActionText=\"Cancel\"\r\n secondaryModalActionColor=\"grey--bg\"\r\n onHide={() => {\r\n setIsConfirmDeleteModalVisible(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\nexport default connect(mapStateFromProps, { ...alert.actions, ...confirmModal.actions })(ContentSectionListingPage);","// DEPENDENCIES\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Image from './Image';\r\nimport TextBlock from './TextBlock';\r\n\r\nconst SelectablePreview = (props) => {\r\n const {\r\n title,\r\n titleColor,\r\n imageSource,\r\n onClick,\r\n isSelected,\r\n } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSelectablePreview.propTypes = {\r\n // MAIN PROPS\r\n title: PropTypes.string,\r\n titleColor: PropTypes.string,\r\n imageSource: PropTypes.number.isRequired,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isSelected: PropTypes.bool\r\n};\r\n\r\nSelectablePreview.defaultProps = {\r\n // MAIN PROPS\r\n title: '',\r\n titleColor: '',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isSelected: false\r\n};\r\n\r\nexport default SelectablePreview;","export default __webpack_public_path__ + \"static/media/content-section_default.04b94dd3.svg\";","export default __webpack_public_path__ + \"static/media/content-section_reversed.881e8c07.svg\";","export default __webpack_public_path__ + \"static/media/content-section_full-width.7919dac7.svg\";","export default __webpack_public_path__ + \"static/media/content-section_full-width-padded.3fb3d653.svg\";","export default __webpack_public_path__ + \"static/media/content-section_text-only.d952709d.svg\";","export default __webpack_public_path__ + \"static/media/content-section_floating-card.7b425d5c.svg\";","export default __webpack_public_path__ + \"static/media/banner-section_dynamic.e70b2b3d.svg\";","export default __webpack_public_path__ + \"static/media/content-section_custom.3c559fd4.svg\";","import * as Yup from 'yup';\r\nimport constants from '../../../../constants/constants';\r\n\r\nexport default Yup.object().shape({\r\n id: Yup.number(),\r\n name: Yup.string().required('Content Section Name is required').max(150),\r\n type: Yup.string().required(),\r\n // title: Yup.string().required('Title is required').max(1000),\r\n title: Yup.string().when('type', {\r\n is: (type) => type === constants.CONTENT_SECTION.ContentSectionCustom,\r\n then: Yup.string().nullable(),\r\n otherwise: Yup.string().required('Title is required').max(1000)\r\n }),\r\n rawHTML: Yup.string().nullable(),\r\n description: Yup.string().when('type', {\r\n is: (type) => ![\r\n constants.CONTENT_SECTION.ContentSectionTypeBanner,\r\n constants.CONTENT_SECTION.ContentSectionCustom\r\n ].includes(type),\r\n then: Yup.string().nullable().required('Content Details is required'),\r\n otherwise: Yup.string().nullable()\r\n }),\r\n alignment: Yup.string().required(),\r\n imagePath: Yup.string().nullable(),\r\n isPadded: Yup.bool(),\r\n isFloatingCard: Yup.bool(),\r\n hasRoundedCorners: Yup.bool(),\r\n isTextOnly: Yup.bool(),\r\n primaryButtonText: Yup.string().nullable().max(50),\r\n primaryButtonActionType: Yup.string().nullable().when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Type is required')\r\n }),\r\n primaryButtonLink: Yup.string().nullable().max(500).when('primaryButtonText', {\r\n is: (primaryButtonText) => !primaryButtonText || primaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Primary Action Link is required')\r\n }),\r\n secondaryButtonText: Yup.string().nullable().max(50),\r\n secondaryButtonActionType: Yup.string().nullable().when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Type is required')\r\n }),\r\n secondaryButtonLink: Yup.string().nullable().max(500).when('secondaryButtonText', {\r\n is: (secondaryButtonText) => !secondaryButtonText || secondaryButtonText.length === 0,\r\n then: Yup.string().nullable().max(500),\r\n otherwise: Yup.string().nullable().max(500).required('Secondary Action Link is required')\r\n }),\r\n}, [['title', 'description', 'type', 'primaryButtonText', 'secondaryButtonActionText']]);","/* eslint-disable max-len */\r\n/* eslint-disable react/no-unstable-nested-components */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable react/no-array-index-key */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-return-await */\r\n/* eslint-disable no-shadow */\r\n/* eslint-disable prefer-const */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, {\r\n useState,\r\n useEffect,\r\n useRef\r\n} from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useFormik } from 'formik';\r\n// COMPONENTS\r\nimport ReactQuill, { Quill } from 'react-quill';\r\nimport ImageResize from 'quill-image-resize-module-react';\r\n// ICONS\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../../components/Section';\r\nimport ContentBlock from '../../../../components/ContentBlock';\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport FormBlock from '../../../../components/FormBlock';\r\nimport ContentHeader from '../../../../components/ContentHeader';\r\nimport InputBlock from '../../../../components/InputBlock';\r\nimport TextAreaBlock from '../../../../components/TextAreaBlock';\r\nimport SelectBlock from '../../../../components/SelectBlock';\r\nimport CheckboxBlock from '../../../../components/CheckboxBlock';\r\nimport Image from '../../../../components/Image';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport FileUploadBlock from '../../../../components/FileUploadBlock';\r\nimport FixedActionsBar from '../../../../components/FixedActionsBar';\r\nimport SelectablePreview from '../../../../components/SelectablePreview';\r\n// ASSETS\r\nimport ContentSectionDefaultImage from '../../../../assets/img/content-section_default.svg';\r\nimport ContentSectionReversedImage from '../../../../assets/img/content-section_reversed.svg';\r\nimport ContentSectionFulWidthImage from '../../../../assets/img/content-section_full-width.svg';\r\nimport ContentSectionFulWidthPaddedImage from '../../../../assets/img/content-section_full-width-padded.svg';\r\nimport ContentSectionTextOnlyImage from '../../../../assets/img/content-section_text-only.svg';\r\nimport ContentSectionFloatingCardImage from '../../../../assets/img/content-section_floating-card.svg';\r\nimport DynamicBannerSectionImage from '../../../../assets/img/banner-section_dynamic.svg';\r\nimport CustomSectionImage from '../../../../assets/img/content-section_custom.svg';\r\n// SERVICES AND HELPERS\r\nimport constants from '../../../../constants/constants';\r\nimport * as helper from '../../../../helpers/helper';\r\nimport ContentSectionValidator from '../../../../helpers/validators/cms/contentSection/ContentSectionValidator';\r\nimport * as contentSectionService from '../../../../services/cms/contentSectionService';\r\n// REDUX\r\nimport * as auth from '../../../../redux/authRedux';\r\nimport * as alert from '../../../../redux/alertToastRedux';\r\nimport * as confirmModalRedux from '../../../../redux/confirmModalRedux';\r\n// QUILL\r\n/*\r\n// TO REPLACE QUILL P WITH DIV\r\nconst Block = Quill.import('blots/block');\r\nBlock.tagName = 'DIV';\r\n// Block.tagName = 'P'; // SET BACK TO P\r\nQuill.register(Block, true);\r\n*/\r\n\r\nQuill.register('modules/imageResize', ImageResize);\r\n\r\nconst initialContentSectionModel = {\r\n id: 0,\r\n pageId: 0,\r\n bannerId: 0,\r\n name: '',\r\n rawHTML: '',\r\n type: constants.CONTENT_SECTION.ContentSectionTypeDefault,\r\n isActive: true,\r\n title: '',\r\n description: '',\r\n alignment: 'LEFT',\r\n imagePath: '',\r\n image: null,\r\n isPadded: false,\r\n isFloatingCard: false,\r\n hasRoundedCorners: false,\r\n isTextOnly: false,\r\n primaryButtonText: '',\r\n primarButtonLink: '',\r\n primaryButtonActionType: null,\r\n secondaryButtonText: '',\r\n secondaryButtonLink: '',\r\n secondaryButtonActionType: null,\r\n};\r\n\r\nconst format = [\r\n 'header',\r\n 'font',\r\n 'size',\r\n 'bold',\r\n 'italic',\r\n 'underline',\r\n 'strike',\r\n 'blockquote',\r\n 'list',\r\n 'bullet',\r\n 'indent',\r\n 'link',\r\n 'image',\r\n 'video',\r\n 'width',\r\n 'height',\r\n 'style',\r\n 'align',\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 quillContainerRef = useRef(null);\r\n const quillRef = useRef(null);\r\n const [contentSectionModel, setContentSectionModel] = useState({\r\n ...initialContentSectionModel,\r\n pageId: pageId || 0,\r\n blogId: blogId || 0\r\n });\r\n const [alignment, setAlignment] = useState([{ label: 'Left (Default)', value: 'LEFT' }]);\r\n const [primaryActionType, setPrimaryActionType] = useState(null);\r\n const [secondaryActionType, setSecondaryActionType] = useState(null);\r\n const [file, setFile] = useState([]);\r\n const [modules, setModules] = useState({\r\n toolbar: {\r\n container: [\r\n [{ header: '1' }, { header: '2' }, { font: [] }],\r\n [{ size: [] }],\r\n ['bold', 'italic', 'underline', 'strike', 'blockquote'],\r\n [\r\n { align: '' },\r\n { align: 'center' },\r\n { align: 'right' },\r\n { align: 'justify' },\r\n ],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { indent: '-1' }, { indent: '+1' }],\r\n ['link', 'image', 'video'],\r\n ['clean']\r\n ],\r\n handlers: {} // INITIALLY EMPTY, TO BE UPDATED VIA USE EFFECT\r\n },\r\n clipboard: { matchVisual: false },\r\n imageResize: {\r\n parchment: Quill.import('parchment'),\r\n modules: ['Resize', 'DisplaySize']\r\n },\r\n });\r\n\r\n // useEffect(() => {\r\n // let initialTop = 0;\r\n // let quillWidth = 0;\r\n\r\n // const handleScroll = () => {\r\n // if (quillContainerRef.current) {\r\n // const toolbar = quillContainerRef.current.querySelector('.ql-toolbar');\r\n // const quill = quillContainerRef.current.querySelector('.quill');\r\n\r\n // // console.log('window.scrollY', window.scrollY);\r\n\r\n // // SET INITIAL VALUES ON FIRST SCROLL\r\n // if (initialTop === 0 || quillWidth === 0) {\r\n // initialTop = toolbar.offsetTop + window.scrollY;\r\n // console.log('initialTop', initialTop);\r\n // quillWidth = quill.offsetWidth;\r\n // console.log('quillWidth', quillWidth);\r\n // }\r\n\r\n // const isFixed = window.scrollY >= initialTop;\r\n\r\n // // APPLY STYLES BASED ON SCROLL POSITION\r\n // toolbar.style.position = isFixed ? 'fixed' : '';\r\n // toolbar.style.top = isFixed ? '0' : '';\r\n // toolbar.style.width = isFixed ? '100%' : '';\r\n // toolbar.style.zIndex = isFixed ? '1000' : '';\r\n // toolbar.style.backgroundColor = '#FFFFFF';\r\n // toolbar.style.boxShadow = isFixed ? '#CCC 1px 2px 4px' : 'none';\r\n // // SET MAX WIDTH OUTSIDE CONDITIONAL TO AVOID RESET\r\n // toolbar.style.maxWidth = `${quillWidth}px`;\r\n // }\r\n // };\r\n\r\n // window.addEventListener('scroll', handleScroll); // LISTEN FOR SCROLL EVENTS\r\n\r\n // return () => window.removeEventListener('scroll', handleScroll); // CLEAN UP ON COMPONENT UNMOUNT\r\n // }, []);\r\n\r\n useEffect(() => {\r\n let initialTop = 0;\r\n let quillWidth = 0;\r\n\r\n // FUNCTION TO APPLY STYLES BASED ON SCROLL POSITION\r\n const applyStyles = (isFixed) => {\r\n const toolbar = quillContainerRef.current.querySelector('.ql-toolbar');\r\n toolbar.style.position = isFixed ? 'fixed' : '';\r\n toolbar.style.top = isFixed ? '0' : '';\r\n toolbar.style.width = isFixed ? '100%' : '';\r\n toolbar.style.marginTop = isFixed ? '5px' : '';\r\n toolbar.style.zIndex = isFixed ? '1000' : '';\r\n toolbar.style.backgroundColor = '#FFFFFF';\r\n toolbar.style.boxShadow = isFixed ? '#66666694 0px 4px 6px' : 'none';\r\n toolbar.style.borderRadius = isFixed ? '6px' : '6px 6px 0 0';\r\n toolbar.style.transform = isFixed ? 'scale(1.05)' : '';\r\n toolbar.style.maxWidth = `${quillWidth}px`;\r\n };\r\n\r\n const handleScroll = () => {\r\n if (quillContainerRef.current) {\r\n const toolbar = quillContainerRef.current.querySelector('.ql-toolbar');\r\n const quill = quillContainerRef.current.querySelector('.quill');\r\n\r\n // SET INITIAL VALUES IF NOT ALREADY SET\r\n if (initialTop === 0 || quillWidth === 0) {\r\n initialTop = toolbar.offsetTop;\r\n quillWidth = quill.offsetWidth;\r\n\r\n // IMMEDIATELY APPLY STYLES BASED ON CURRENT SCROLL POSITION\r\n applyStyles(window.scrollY >= initialTop);\r\n } else {\r\n // APPLY STYLES BASED ON SCROLL POSITION\r\n applyStyles(window.scrollY >= initialTop);\r\n }\r\n }\r\n };\r\n\r\n // IMMEDIATELY CHECK SCROLL POSITION AND APPLY STYLES\r\n handleScroll();\r\n\r\n // LISTEN FOR SCROLL EVENTS\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n // CLEAN UP ON COMPONENT UNMOUNT\r\n return () => window.removeEventListener('scroll', handleScroll);\r\n }, []);\r\n\r\n useEffect(() => {\r\n // [+ SVG SUPPORT] HANDLES THE IMAGE UPLOAD PROCESS FOR THE QUILL EDITOR\r\n const imageHandler = () => {\r\n // CREATE AN INPUT ELEMENT TO ACCEPT IMAGE FILES\r\n const input = document.createElement('input');\r\n input.setAttribute('type', 'file');\r\n input.setAttribute('accept', 'image/svg+xml, image/png, image/jpeg');\r\n input.click(); // TRIGGER THE FILE INPUT DIALOG\r\n\r\n // LISTEN FOR FILE SELECTION\r\n input.onchange = async () => {\r\n const file = input.files[0]; // GET THE SELECTED FILE\r\n if (file) {\r\n // READ THE FILE AS A DATA URL FOR EMBEDDING\r\n const reader = new FileReader();\r\n reader.onload = (e) => {\r\n const quillEditor = quillRef.current.getEditor();\r\n const range = quillEditor.getSelection();\r\n const index = range ? range.index : quillEditor.getLength();\r\n // INSERT THE IMAGE AT THE CURRENT SELECTION OR AT THE END OF THE EDITOR CONTENT\r\n quillEditor.insertEmbed(index, 'image', e.target.result);\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n };\r\n };\r\n\r\n // UPDATE MODULES STATE\r\n setModules((prevModules) => ({\r\n ...prevModules,\r\n toolbar: {\r\n ...prevModules.toolbar,\r\n handlers: {\r\n ...prevModules.toolbar.handlers,\r\n image: imageHandler\r\n },\r\n },\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (contentSectionId > 0) {\r\n getContentSection();\r\n }\r\n }, []);\r\n\r\n const formik = useFormik({\r\n initialValues: contentSectionModel,\r\n validationSchema: ContentSectionValidator,\r\n enableReinitialize: true,\r\n onSubmit: (values, { setSubmitting }) => {\r\n setSubmitting(true);\r\n if (contentSectionId) {\r\n updateContentSection(values);\r\n } else {\r\n createContentSection(values);\r\n }\r\n },\r\n });\r\n\r\n const getContentSection = async () => {\r\n setIsLoading(true);\r\n\r\n contentSectionService.getContentSectionById(contentSectionId).then((res) => {\r\n setContentSectionModel(res);\r\n fillSelectedOptions(res);\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'error' });\r\n }).finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const fillSelectedOptions = (res) => {\r\n let selectedAlignment = alignmentOptions.find((x) => x.value === res.alignment);\r\n let selectedPrimaryActionType = linkTypes.find((x) => x.value === res.primaryButtonActionType);\r\n let selectedSecondaryActionType = linkTypes.find((x) => x.value === res.secondaryButtonActionType);\r\n\r\n if (selectedAlignment) {\r\n setAlignment(selectedAlignment);\r\n }\r\n\r\n if (selectedPrimaryActionType) {\r\n setPrimaryActionType(selectedPrimaryActionType);\r\n }\r\n\r\n if (selectedSecondaryActionType) {\r\n setSecondaryActionType(selectedSecondaryActionType);\r\n }\r\n };\r\n\r\n const createContentSection = (model) => {\r\n if (file.length === 0 && ![constants.CONTENT_SECTION.ContentSectionTypeTextOnly, constants.CONTENT_SECTION.ContentSectionCustom].includes(formik.values.type)) {\r\n showAlert({ text: 'Error! Please upload an image', state: 'warning' });\r\n return;\r\n }\r\n\r\n setIsLoading(true);\r\n\r\n contentSectionService.createContentSection(helper.convertJsonToFormData(\r\n {\r\n ...model,\r\n image: file.length > 0 ? file[0].file : null\r\n }\r\n )).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n if (model.blogId > 0) {\r\n history.push(`/cms/management/blog/edit/${model.blogId}`);\r\n } else if (model.pageId > 0) {\r\n history.push(`/cms/management/page/edit/${model.pageId}`);\r\n } else {\r\n history.push(`/cms/management/content-section/edit/${res.id}`);\r\n }\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const updateContentSection = (model) => {\r\n setIsLoading(true);\r\n\r\n if (file.length > 0) {\r\n model = { ...model, image: file[0].file };\r\n }\r\n contentSectionService.updateContentSection(helper.convertJsonToFormData(model)).then((res) => {\r\n showAlert({ text: res.message, state: 'success' });\r\n history.push('/cms/management/content-sections');\r\n }).catch((ex) => {\r\n showAlert({ text: ex.message, state: 'warning' });\r\n }).finally(() => setIsLoading(false));\r\n };\r\n\r\n const showOrHideFields = (type) => {\r\n let floatingCardProp = false;\r\n let isTextOnlyProp = false;\r\n let isPaddedProp = false;\r\n let alignmentProp = 'LEFT';\r\n\r\n switch (type) {\r\n case constants.CONTENT_SECTION.ContentSectionTypeDefault:\r\n setAlignment({ label: 'Left (Default)', value: 'LEFT' });\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeReversed:\r\n setAlignment({ label: 'Right', value: 'RIGHT' });\r\n alignmentProp = 'RIGHT';\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidth:\r\n case constants.CONTENT_SECTION.ContentSectionTypeBanner:\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeFullWidthPadded:\r\n isPaddedProp = true;\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeTextOnly:\r\n isTextOnlyProp = true;\r\n break;\r\n case constants.CONTENT_SECTION.ContentSectionTypeCard:\r\n floatingCardProp = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n formik.setFieldValue('isFloatingCard', floatingCardProp);\r\n formik.setFieldValue('isTextOnly', isTextOnlyProp);\r\n formik.setFieldValue('isPadded', isPaddedProp);\r\n formik.setFieldValue('alignment', alignmentProp);\r\n };\r\n\r\n 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/* eslint-disable no-unused-vars */\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-param-reassign */\r\n// DEPENDENCIES\r\nimport React, { useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useFormik } from 'formik';\r\nimport * as Yup from 'yup';\r\n// COMPONENTS\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Section from './Section';\r\nimport ContentBlock from './ContentBlock';\r\nimport FormBlock from './FormBlock';\r\nimport ContentHeader from './ContentHeader';\r\nimport InputBlock from './InputBlock';\r\nimport Button from './Button';\r\nimport TextAreaBlock from './TextAreaBlock';\r\n// SERVICES AND HELPERS\r\nimport * as helper from '../helpers/helper';\r\n\r\nconst ContactForm = (props) => {\r\n const {\r\n formConfig,\r\n title,\r\n onSubmit,\r\n isSubmitting,\r\n submitButtonLabel,\r\n submitButtonClasses\r\n } = props;\r\n const captchaRef = useRef();\r\n const [captchaToken, setCaptchaToken] = useState(null);\r\n const siteKey = process.env.NODE_ENV === 'development' ? '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI' : process.env.REACT_APP_RECAPTCHA_SITE_KEY;\r\n\r\n const formik = useFormik({\r\n initialValues: formConfig.reduce((prev, curr) => {\r\n prev[curr.name] = '';\r\n return prev;\r\n }, {}),\r\n validationSchema: Yup.object(\r\n formConfig.reduce((prev, curr) => {\r\n let validator = Yup.string();\r\n if (curr.required) {\r\n validator = validator.required(`${curr.label} is required`);\r\n }\r\n if (curr.max) {\r\n validator = validator.max(curr.max);\r\n }\r\n if (curr.email) {\r\n validator = validator.email();\r\n }\r\n prev[curr.name] = validator;\r\n return prev;\r\n }, {})\r\n ),\r\n onSubmit: (values, { setSubmitting, resetForm }) => {\r\n if (!captchaToken) {\r\n setSubmitting(false);\r\n return;\r\n }\r\n\r\n const submissionValues = {\r\n ...values,\r\n reCAPTCHAToken: captchaToken,\r\n };\r\n\r\n onSubmit(submissionValues, { setSubmitting, resetForm });\r\n\r\n captchaRef.current.reset();\r\n setCaptchaToken(null);\r\n },\r\n });\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n )}\r\n
\r\n {formConfig.map((field) => (\r\n \r\n {field.textarea ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n\r\n \r\n {captchaToken == null ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nContactForm.propTypes = {\r\n showAlert: PropTypes.func,\r\n onSubmit: PropTypes.func.isRequired,\r\n title: PropTypes.string,\r\n formConfig: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n required: PropTypes.bool,\r\n max: PropTypes.number,\r\n email: PropTypes.bool,\r\n textarea: PropTypes.bool,\r\n cols: PropTypes.number,\r\n })\r\n ).isRequired,\r\n};\r\n\r\nContactForm.defaultProps = {\r\n showAlert: () => { },\r\n title: '',\r\n};\r\n\r\nexport default ContactForm;","/* eslint-disable no-console */\r\n/* eslint-disable max-len */\r\nimport axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Email/';\r\n\r\nconst sendEmail = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}SendEmail`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst sendEmailWithTemplate = () => console.log('New Feature');\r\n\r\nexport {\r\n sendEmail,\r\n sendEmailWithTemplate,\r\n};","/* eslint-disable object-curly-newline */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable max-len */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-max-props-per-line */\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 { Fade } from 'react-awesome-reveal';\r\n// ICONS\r\nimport {\r\n MdEmail,\r\n MdLocalPhone,\r\n MdLocationPin,\r\n} from 'react-icons/md';\r\n// COMPONENTS\r\nimport Slider from 'react-slick';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Banner from '../../../components/Banner';\r\nimport Overlay from '../../../components/Overlay';\r\nimport ContactForm from '../../../components/ContactForm';\r\nimport Image from '../../../components/Image';\r\n// import TabbedInterface from '../../../components/TabbedInterface';\r\n// ASSETS\r\nimport Logo from '../../../assets/client/logo_default.svg';\r\nimport BannerImage from '../../../assets/client/default-banner.png';\r\n// SERVICES AND HELPERS\r\nimport constants from '../../../constants/constants';\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\nimport * as settingService from '../../../services/management/settingService';\r\nimport * as emailService from '../../../services/management/emailService';\r\n\r\nconst RotatingImageSlider = (props) => {\r\n const { containerClassName } = props;\r\n const rotatingImages = Array.from({ length: 5 }, (_, i) => `${constants.API_URL}Attachments/RotatingImages/image-${i + 1}.png`);\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n // customPaging: customPagingElement,\r\n dotsClass: 'slick-dots custom-dots'\r\n };\r\n\r\n return (\r\n \r\n {rotatingImages.map((imageUrl, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst ContactPage = (props) => {\r\n const { showAlert, history, cmsInfo } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [googleMapURL, setGoogleMapURL] = useState([]);\r\n const formConfig = [\r\n { name: 'firstName', label: 'First Name', required: true, placeholder: 'John', max: 100 },\r\n { name: 'lastName', label: 'Last Name', required: true, placeholder: 'Smith', max: 100 },\r\n { name: 'email', label: 'Email Address', required: true, placeholder: 'john.smith@example.com', max: 100, email: true },\r\n { name: 'phoneNumber', label: 'Phone Number', placeholder: '(555) 555-5555', max: 50 },\r\n { name: 'message', label: 'Message', required: true, placeholder: 'Provide your message here...', textarea: true, cols: 12 },\r\n ];\r\n\r\n useEffect(() => {\r\n fetchGoogleMapURL('GoogleMapURL');\r\n }, []);\r\n\r\n const fetchGoogleMapURL = (key) => {\r\n setIsLoading(true);\r\n settingService.getSettingByKey(key).then((res) => {\r\n setGoogleMapURL(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 submitForm = async (values) => {\r\n setIsLoading(true);\r\n\r\n const formattedValues = {\r\n ...values,\r\n formType: 'contact-form',\r\n };\r\n\r\n await emailService.sendEmail(formattedValues).then(() => {\r\n showAlert({ text: 'Success! Your message has been received.', state: 'success' });\r\n history.push('/contact-local-restoration');\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 {/* COMPANY LOGO SECTION */}\r\n \r\n \r\n {/* */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* COMPANY DETAILS SECTION */}\r\n \r\n \r\n

Contact

\r\n
\r\n \r\n {cmsInfo.emailAddress && (\r\n \r\n \r\n \r\n \r\n {/*

\r\n {cmsInfo.emailAddress.split('@')[0]}\r\n @\r\n {cmsInfo.emailAddress.split('@')[1]}\r\n

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

{cmsInfo.emailAddress.split('@')[0]}

\r\n

@{cmsInfo.emailAddress.split('@')[1].split('.com')[0]}

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

{cmsInfo.phoneNumber}

\r\n
\r\n )}\r\n
\r\n\r\n {(cmsInfo.streetAddress1 || cmsInfo.streetAddress2 || cmsInfo.city || cmsInfo.state || cmsInfo.zipCode) && (\r\n \r\n \r\n

Location

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

\r\n {cmsInfo.streetAddress1 && `${cmsInfo.streetAddress1}`}\r\n {cmsInfo.streetAddress1 && cmsInfo.streetAddress2 && ', '}\r\n {cmsInfo.streetAddress2 && `${cmsInfo.streetAddress2}`}\r\n {(cmsInfo.streetAddress1 || cmsInfo.streetAddress2) && (cmsInfo.city || cmsInfo.state || cmsInfo.zipCode) &&
}\r\n {cmsInfo.city && `${cmsInfo.city}`}\r\n {cmsInfo.city && cmsInfo.state && ', '}\r\n {cmsInfo.state && `${cmsInfo.state}`}\r\n {(cmsInfo.city || cmsInfo.state) && ' '}\r\n {cmsInfo.zipCode && `${cmsInfo.zipCode}`}\r\n

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

Hours of Operation

\r\n
\r\n

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

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

{cmsInfo.primaryWeekEndHours}

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

{cmsInfo.secondaryWeekEndHours}

\r\n )}\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n\r\n {/* GOOGLE MAPS SECTION */}\r\n {googleMapURL.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {/* FORM */}\r\n \r\n \r\n {/* FORM HEADER */}\r\n \r\n \r\n

Have Questions?

\r\n

We're Here To Help

\r\n
\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n\r\n {/* FORM */}\r\n {\r\n submitForm(values);\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 ...alertToast.actions\r\n})(ContactPage);","/* eslint-disable max-len */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable arrow-body-style */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable react/jsx-no-undef */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-plusplus */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\n// ICONS\r\nimport { BsFillImageFill } from 'react-icons/bs';\r\n// COMPONENTS\r\nimport { Fade } from 'react-awesome-reveal';\r\nimport CustomBlock from './CustomBlock';\r\n\r\nconst styles = {\r\n masonryGrid: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n margin: '-10px',\r\n },\r\n masonryColumn: {\r\n padding: '0 10px',\r\n boxSizing: 'border-box',\r\n },\r\n masonryItem: {\r\n marginBottom: '20px',\r\n boxSizing: 'border-box',\r\n },\r\n masonryImage: {\r\n display: 'block',\r\n width: '100%',\r\n height: 'auto',\r\n borderRadius: '10px',\r\n boxShadow: 'rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px',\r\n },\r\n placeholderImage: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: '100%',\r\n height: '200px',\r\n backgroundColor: '#f0f0f0',\r\n borderRadius: '10px',\r\n color: '#666',\r\n fontSize: '14px',\r\n boxShadow: 'rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px',\r\n userSelect: 'none',\r\n },\r\n};\r\n\r\nconst Image = ({ src, alt, style }) => {\r\n const [imageError, setImageError] = useState(false);\r\n\r\n const handleError = () => {\r\n setImageError(true);\r\n };\r\n\r\n if (imageError) {\r\n return (\r\n \r\n \r\n

\r\n Image Not Found\r\n

\r\n
\r\n );\r\n }\r\n\r\n return {alt};\r\n};\r\n\r\nconst MasonryGrid = (props) => {\r\n const { images, customInsert } = props;\r\n const [columns, setColumns] = useState(4);\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n if (window.innerWidth > 1100) setColumns(4);\r\n else if (window.innerWidth > 700) setColumns(3);\r\n else if (window.innerWidth > 500) setColumns(2);\r\n else setColumns(1);\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n const columnWrapper = {};\r\n const result = [];\r\n // const insertPosition = Math.ceil(images.length / 3);\r\n const insertPosition = 2;\r\n\r\n // Create column arrays\r\n for (let i = 0; i < columns; i++) {\r\n columnWrapper[`column${i}`] = [];\r\n }\r\n\r\n // Distribute images into columns\r\n for (let i = 0; i < images.length; i++) {\r\n if (i === insertPosition) {\r\n columnWrapper[`column${i % columns}`].push(\r\n \r\n \r\n {customInsert}\r\n \r\n \r\n );\r\n }\r\n const columnIndex = i % columns;\r\n columnWrapper[`column${columnIndex}`].push(\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n // Wrap each column in a div\r\n for (let i = 0; i < columns; i++) {\r\n result.push(\r\n \r\n {columnWrapper[`column${i}`]}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {result}\r\n \r\n );\r\n};\r\n\r\nexport default MasonryGrid;","/* eslint-disable no-unused-vars */\r\n/* eslint-disable max-len */\r\n/* eslint-disable arrow-body-style */\r\n/* eslint-disable react/jsx-boolean-value */\r\n/* eslint-disable object-curly-newline */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect, useCallback } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n// COMPONENTS\r\nimport { Fade } from 'react-awesome-reveal';\r\nimport ReactBeforeSliderComponent from 'react-before-after-slider-component';\r\nimport {\r\n Container,\r\n Row,\r\n Col\r\n} from 'react-bootstrap';\r\nimport Banner from '../../../components/Banner';\r\nimport MasonryGrid from '../../../components/MasonryGrid';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\n// ASSETS\r\nimport Button from '../../../components/Button';\r\nimport BannerImage from '../../../assets/client/default-banner.png';\r\nimport 'react-before-after-slider-component/dist/build.css';\r\n// SERVICES & HELPERS\r\nimport constants from '../../../constants/constants';\r\nimport * as settingService from '../../../services/management/settingService';\r\n\r\nconst ServiceGalleryImagesPage = () => {\r\n const history = useHistory();\r\n const [serviceImagesLength, setServiceImagesLength] = useState(null);\r\n const [beforeAfterImageSetLength, setBeforeAfterImageSetLength] = useState(null);\r\n\r\n const beforeAfterImages = Array.from({ length: beforeAfterImageSetLength }, (_, i) => ({\r\n id: i,\r\n firstImage: {\r\n imageUrl: `${constants.API_URL}Attachments/ServiceImages/BeforeAfterSlider/image-${i + 1}-before.png`,\r\n alt: `Before Image ${i + 1}`\r\n },\r\n secondImage: {\r\n imageUrl: `${constants.API_URL}Attachments/ServiceImages/BeforeAfterSlider/image-${i + 1}-after.png`,\r\n alt: `After Image ${i + 1}`\r\n }\r\n }));\r\n\r\n const serviceImages = Array.from({ length: serviceImagesLength }, (_, i) => ({\r\n id: i,\r\n src: `${constants.API_URL}Attachments/ServiceImages/image-${i + 1}.png`,\r\n alt: `Local Restoration Service Image ${i + 1}`\r\n }));\r\n\r\n const getSettings = () => {\r\n const serviceImagesKey = 'ServicesGallery_ImagesLength';\r\n const beforeAfterImagesKey = 'ServicesGallery_BeforeAfterImageSetLength';\r\n\r\n settingService.getSettingByKey(serviceImagesKey).then((res) => {\r\n setServiceImagesLength(res);\r\n });\r\n\r\n settingService.getSettingByKey(beforeAfterImagesKey).then((res) => {\r\n setBeforeAfterImageSetLength(res);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!serviceImagesLength || !beforeAfterImageSetLength) {\r\n getSettings();\r\n }\r\n }, []);\r\n\r\n const preventDefault = useCallback((e) => {\r\n e.preventDefault();\r\n }, []);\r\n\r\n const disableScroll = useCallback(() => {\r\n document.body.style.overflow = 'hidden';\r\n document.body.style.touchAction = 'none';\r\n document.addEventListener('touchmove', preventDefault, { passive: false });\r\n }, [preventDefault]);\r\n\r\n const enableScroll = useCallback(() => {\r\n document.body.style.overflow = '';\r\n document.body.style.touchAction = '';\r\n document.removeEventListener('touchmove', preventDefault);\r\n }, [preventDefault]);\r\n\r\n const handleSliderModeChange = useCallback((newMode) => {\r\n if (newMode === 'move') {\r\n disableScroll();\r\n } else {\r\n enableScroll();\r\n }\r\n }, [disableScroll, enableScroll]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n enableScroll();\r\n };\r\n }, [enableScroll]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {/* INTRO */}\r\n \r\n \r\n \r\n

Our Restoration Work

\r\n

\r\n Browse our gallery showcasing Local Restoration's work in water, fire, and mold remediation. As a veteran-owned and community-focused business, we are dedicated to restoring your property with integrity and honesty.\r\n

\r\n history.push('/local-restoration-services')}\r\n className=\"secondary-lighter--bg size-xs mt-30\"\r\n style={{ width: 'fit-content' }}\r\n />\r\n
\r\n
\r\n
\r\n\r\n {/* BEFORE AND AFTER SLIDERS */}\r\n \r\n \r\n \r\n \r\n \r\n

Transformations

\r\n

See the dramatic changes we've achieved with our restoration services.

\r\n
\r\n \r\n {beforeAfterImages.map((img) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n\r\n {/* MASONRY GRID */}\r\n \r\n \r\n

Our Work in Action

\r\n

Browse our gallery to see the exceptional results we deliver and how we can restore your property.

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

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

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

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

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

{item.name}

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

No Items Available

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

{badgeText}

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

{leftBlockText}

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

{rightBlockText}

\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nContentStrip.propTypes = {\r\n // MAIN PROPS\r\n imageSource: PropTypes.number,\r\n title: PropTypes.string,\r\n leftBlockText: PropTypes.string,\r\n rightBlockText: PropTypes.string,\r\n\r\n // BADGE PROPS\r\n badgeText: PropTypes.string,\r\n badgeBackgroundColor: PropTypes.string,\r\n\r\n // FUNCTION PROPS\r\n onClick: PropTypes.func,\r\n\r\n // BOOLEAN PROPS\r\n isFullWidth: PropTypes.bool\r\n};\r\n\r\nContentStrip.defaultProps = {\r\n // MAIN PROPS\r\n imageSource: null,\r\n title: '',\r\n leftBlockText: '',\r\n rightBlockText: '',\r\n\r\n // BADGE PROPS\r\n badgeText: '',\r\n badgeBackgroundColor: 'danger--sbg',\r\n\r\n // FUNCTION PROPS\r\n onClick: null,\r\n\r\n // BOOLEAN PROPS\r\n isFullWidth: false\r\n};\r\n\r\nexport default ContentStrip;","/* eslint-disable react/self-closing-comp */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\n// COMPONENTS\r\n// ICONS\r\nimport { HiSearch } from 'react-icons/hi';\r\n// CUSTOM COMPONENTS\r\nimport Section from '../../../components/Section';\r\nimport ContentBlock from '../../../components/ContentBlock';\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport Overlay from '../../../components/Overlay';\r\nimport TextBlock from '../../../components/TextBlock';\r\nimport InputBlock from '../../../components/InputBlock';\r\nimport ContentStrip from '../../../components/ContentStrip';\r\n// ASSETS - BLOG\r\n\r\nconst BlogsAndReviewsListingPage = (props) => {\r\n const { cmsInfo, history } = props;\r\n const [isLoading] = useState(false);\r\n const [filteredBlogs, setFilteredBlogs] = useState(cmsInfo.pages.filter((x) => x.isBlog));\r\n\r\n const today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n\r\n const search = (searchTerm) => {\r\n setFilteredBlogs(cmsInfo.pages\r\n .filter((x) => x.isBlog)\r\n .filter((x) => x.name.toLowerCase().includes(searchTerm.toLowerCase())));\r\n };\r\n\r\n return (\r\n <>\r\n {isLoading && }\r\n \r\n \r\n \r\n\r\n {/* FILTERS BLOCK */}\r\n
\r\n \r\n \r\n }\r\n onChange={(e) => search(e.target.value)}\r\n />\r\n \r\n \r\n
\r\n\r\n {/* BLOGS */}\r\n \r\n {\r\n filteredBlogs.map((item) => (\r\n {\r\n history.push(item.url);\r\n }}\r\n />\r\n ))\r\n }\r\n {\r\n filteredBlogs.length === 0\r\n && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BlogsAndReviewsListingPage;","export default __webpack_public_path__ + \"static/media/hero-banner-image.f2bcd5b1.jpg\";","/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable react/no-unknown-property */\r\n/* eslint-disable max-len */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// ICONS\r\nimport { FaCheck } from 'react-icons/fa6';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\nimport Button from './Button';\r\n// ASSETS\r\nimport heroBannerImage from '../assets/client/hero-banner-image.jpg';\r\n\r\nconst quickActions = [\r\n {\r\n text: 'View Services',\r\n to: '/local-restoration-services',\r\n className: 'light--clr fw-600 hover-2',\r\n isTextUppercase: true,\r\n type: 'button',\r\n },\r\n {\r\n text: 'Get A Quote',\r\n to: '/contact-local-restoration',\r\n className: 'light--clr fw-600 hover-1',\r\n isTextUppercase: true,\r\n type: 'button',\r\n },\r\n];\r\n\r\nconst CustomBannerInsert = (props) => {\r\n const { offsetValue } = 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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n

Comprehensive Water & Fire Restoration

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

Mold Remediation & Bio Hazard Cleanup

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

Reducing Size of Claims for Customers

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

Serving Livingston, Ascension, Thibodaux, Houma, Hammond, Baton Rouge

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {quickActions.map((action) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n\r\n
\r\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 CustomBannerInsert;","/* eslint-disable no-unused-vars */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// ICONS\r\nimport { AiOutlineMinus, AiOutlinePlus } from 'react-icons/ai';\r\n// COMPONENTS\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from './CustomBlock';\r\n// HERLPERS & SERVICES\r\n\r\nconst Accordion = (props) => {\r\n const {\r\n containerClassName,\r\n className,\r\n headerClasses,\r\n bodyClasses,\r\n data\r\n } = props;\r\n const [fetchedData, setFetchedData] = useState([]);\r\n const [openItemId, setOpenItemId] = useState(null);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setFetchedData(data);\r\n }\r\n }, []);\r\n\r\n const toggleItem = (id) => {\r\n setOpenItemId(openItemId === id ? null : id);\r\n };\r\n\r\n return (\r\n \r\n {fetchedData.map((item) => (\r\n \r\n \r\n {/* HEADER */}\r\n toggleItem(item.id)}\r\n >\r\n

\r\n {item.header}\r\n

\r\n\r\n {openItemId === item.id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n {/* BODY */}\r\n \r\n

{item.body}

\r\n
\r\n
\r\n\r\n {/* ACCORDION ITEM SPACER */}\r\n
\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nAccordion.propTypes = {\r\n containerClassName: PropTypes.string,\r\n className: PropTypes.string,\r\n headerClasses: PropTypes.string,\r\n bodyClasses: PropTypes.string,\r\n data: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n header: PropTypes.string.isRequired,\r\n body: PropTypes.string.isRequired,\r\n })\r\n ).isRequired,\r\n};\r\n\r\nAccordion.defaultProps = {\r\n containerClassName: '',\r\n className: '',\r\n headerClasses: '',\r\n bodyClasses: '',\r\n};\r\n\r\nexport default Accordion;","/* eslint-disable object-curly-newline */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport ContactForm from '../../../components/ContactForm';\r\n// SERVICES AND HELPERS\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\nimport * as emailService from '../../../services/management/emailService';\r\n\r\nconst ContactUsTab = (props) => {\r\n const { showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const formConfig = [\r\n { name: 'firstName', label: 'First Name', required: true, placeholder: 'John', max: 100 },\r\n { name: 'lastName', label: 'Last Name', required: true, placeholder: 'Smith', max: 100 },\r\n { name: 'email', label: 'Email Address', required: true, placeholder: 'johnsmith@example.com', max: 100, email: true },\r\n { name: 'phoneNumber', label: 'Phone Number', placeholder: '(555) 555-5555', max: 50 },\r\n { name: 'message', label: 'Message', required: true, placeholder: 'Provide your message here...', textarea: true, cols: 12 },\r\n ];\r\n\r\n const submitForm = async (values, { resetForm }) => {\r\n setIsLoading(true);\r\n\r\n const { reCAPTCHAToken, ...formData } = values;\r\n\r\n const submissionData = {\r\n ...formData,\r\n formType: 'contact-form',\r\n reCAPTCHAToken,\r\n };\r\n\r\n await emailService.sendEmail(submissionData).then(() => {\r\n showAlert({ text: 'Success! Your message has been received.', state: 'success' });\r\n resetForm();\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

Get In Touch

\r\n

Use the form below to send a message to Livingston Parish Gravity Drainage District â„– 2.

\r\n
\r\n\r\n {/* CONTACT US FORM */}\r\n submitForm(values, actions)}\r\n isSubmitting={isLoading}\r\n submitButtonLabel=\"Send Message\"\r\n />\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alertToast.actions\r\n})(ContactUsTab);","/* eslint-disable object-curly-newline */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../components/CustomBlock';\r\nimport ContactForm from '../../../components/ContactForm';\r\n// SERVICES AND HELPERS\r\nimport * as auth from '../../../redux/authRedux';\r\nimport * as alertToast from '../../../redux/alertToastRedux';\r\nimport * as emailService from '../../../services/management/emailService';\r\n\r\nconst ReportIssueTab = (props) => {\r\n const { showAlert } = props;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const formConfig = [\r\n { name: 'firstName', label: 'First Name', required: true, placeholder: 'John', max: 100 },\r\n { name: 'lastName', label: 'Last Name', required: true, placeholder: 'Smith', max: 100 },\r\n { name: 'email', label: 'Email Address', required: true, placeholder: 'johnsmith@example.com', max: 100, email: true },\r\n { name: 'phoneNumber', label: 'Phone Number', placeholder: '(555) 555-5555', max: 50 },\r\n { name: 'address', label: 'Address', placeholder: 'location of Issue', max: 50 },\r\n { name: 'waterway', label: 'Waterway', placeholder: 'Name of Waterway (If Known)', max: 50 },\r\n { name: 'message', label: 'Issue Description', required: true, placeholder: 'Provide details about the problem or issue here...', textarea: true, cols: 12 },\r\n ];\r\n\r\n const submitForm = async (values, { resetForm }) => {\r\n setIsLoading(true);\r\n\r\n const submissionData = {\r\n ...values,\r\n formType: 'report-issue-form',\r\n };\r\n\r\n await emailService.sendEmail(submissionData).then(() => {\r\n showAlert({ text: 'Success! Your message has been received.', state: 'success' });\r\n resetForm();\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

Report An Issue

\r\n

Use the form below to report any drainage problem or issue to Livingston Parish Gravity Drainage District â„– 2.

\r\n
\r\n\r\n {/* REPORT ISSUE FORM */}\r\n submitForm(values, actions)}\r\n isSubmitting={isLoading}\r\n submitButtonLabel=\"Send Report\"\r\n submitButtonClasses=\"primary--sbg\"\r\n />\r\n \r\n );\r\n};\r\n\r\nconst mapStateFromProps = (state) => ({ auth: state.auth });\r\n\r\nexport default connect(mapStateFromProps, {\r\n ...auth.actions,\r\n ...alertToast.actions\r\n})(ReportIssueTab);","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-return-assign */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/no-unknown-property */\r\n// DEPENDENCIES\r\nimport React from 'react';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// COMPONENTS\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport CustomBlock from '../../../../../components/CustomBlock';\r\nimport Button from '../../../../../components/Button';\r\nimport Image from '../../../../../components/Image';\r\n// ASSETS\r\nimport LogoLight from '../../../../../assets/client/logo_light.svg';\r\n\r\nconst HomepageIntro = () => {\r\n const remove = '';\r\n\r\n return (\r\n \r\n\r\n \r\n {/* \r\n \r\n */}\r\n\r\n \r\n

Integrity & Honesty

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

Over Services

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

Dedicated to Our People, Community, and Employees

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

District 2

\r\n

\r\n At Livingston Parish Gravity Drainage District 2, our focus extends beyond simple upkeep. We're wholeheartedly committed to ensuring smooth, sustainable water management for the well-being and prosperity of our communities.\r\n

\r\n \r\n \r\n \r\n
*/}\r\n \r\n );\r\n};\r\n\r\nexport default HomepageIntro;","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-return-assign */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/no-unknown-property */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// COMPONENTS\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport CustomBlock from '../../../../../components/CustomBlock';\r\nimport Button from '../../../../../components/Button';\r\n// import { IoFilter } from 'react-icons/io5';\r\n\r\nconst MeetingFilter = ({ selectedFilter, onFilterChange, filterOptions }) => {\r\n const remove = '';\r\n\r\n return (\r\n \r\n \r\n

Filter Meetings

\r\n
\r\n\r\n \r\n {filterOptions.map((option) => (\r\n onFilterChange(option)}\r\n />\r\n ))}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst items = [\r\n {\r\n header: 'Water Restoration',\r\n to: '/water-restoration',\r\n icon: (\r\n \r\n \r\n \r\n ),\r\n description: 'Description for Water Restoration',\r\n },\r\n {\r\n header: 'Fire Restoration',\r\n to: '/fire-restoration',\r\n icon: (\r\n \r\n \r\n \r\n \r\n ),\r\n description: 'Description for Fire Restoration',\r\n },\r\n // {\r\n // header: 'Mold Remediation',\r\n // to: '/mold-remediation',\r\n // icon: (\r\n // \r\n // {/* SVG PATH FOR MOLD ICON */}\r\n // \r\n // ),\r\n // description: 'Description for Mold Remediation',\r\n // },\r\n {\r\n header: 'Bio Hazard Cleanup',\r\n to: '/bio-hazard-cleanup',\r\n icon: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n description: 'Description for Bio Hazard Cleanup',\r\n },\r\n {\r\n header: 'Content Evaluation',\r\n to: '/content-evaluation',\r\n icon: (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n description: 'Description for Content Evaluation',\r\n },\r\n];\r\n\r\nconst HomepageServicesIntro = () => {\r\n const [selectedFilter, setSelectedFilter] = useState('water');\r\n const filterOptions = ['water', 'fire', 'bio'];\r\n\r\n const handleFilterChange = (filterType) => {\r\n setSelectedFilter(filterType);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {items.map((item, index) => (\r\n \r\n \r\n \r\n \r\n {item.icon}\r\n \r\n
{item.header}
\r\n

{item.description}

\r\n {/* Learn More */}\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default HomepageServicesIntro;","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-return-assign */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/no-unknown-property */\r\n// DEPENDENCIES\r\nimport React, { useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// COMPONENTS\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport CustomBlock from '../../../../../components/CustomBlock';\r\nimport Button from '../../../../../components/Button';\r\nimport Image from '../../../../../components/Image';\r\n// ASSETS\r\nimport LogoLight from '../../../../../assets/client/logo_light.svg';\r\n\r\nconst ProductTabsSection = () => {\r\n const history = useHistory();\r\n // const backgroundColor = '#E1EDFF';\r\n const backgroundColor = '#f4e9d7';\r\n const tabIconSize = 30;\r\n\r\n // DEFINE TABS AND CONTENT\r\n const tabsData = [\r\n {\r\n key: 'water',\r\n title: (\r\n \r\n \r\n \r\n \r\n Water Restoration\r\n \r\n ),\r\n content: (\r\n \r\n

Water Restoration

\r\n\r\n

Services

\r\n
    \r\n
  • Immediate water extraction and drying
  • \r\n
  • Mold prevention and remediation
  • \r\n
\r\n\r\n

\r\n Our veteran-owned team ensures a swift response to water damage, minimizing disruption and reducing the size of claims for our customers. We serve Livingston, Ascension, Thibodaux, Houma, Hammond, and Baton Rouge.\r\n

\r\n\r\n \r\n \r\n history.push('/local-restoration-services')}\r\n className=\"primary--bg size-xs pl-30 pr-30\"\r\n // iconLeft={}\r\n style={{ width: 'fit-content' }}\r\n />\r\n {/* history.push('/contact-local-restoration')}\r\n className=\"teal--bg size-xs pl-30 pr-30\"\r\n // iconLeft={}\r\n style={{ width: 'fit-content' }}\r\n /> */}\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'fire',\r\n title: (\r\n \r\n \r\n \r\n \r\n \r\n Fire Restoration\r\n \r\n ),\r\n content: (\r\n \r\n

Fire Restoration

\r\n\r\n

Services

\r\n
    \r\n
  • Immediate fire damage assessment and containment
  • \r\n
  • Smoke and soot removal
  • \r\n
\r\n\r\n

\r\n We manage every step of the fire recovery process with integrity and honesty, ensuring your property is restored efficiently. Our team is dedicated to helping you recover quickly and safely.\r\n

\r\n\r\n \r\n \r\n history.push('/local-restoration-services')}\r\n className=\"primary--bg size-xs pl-30 pr-30\"\r\n // iconLeft={}\r\n />\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'bio-mold',\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\n \r\n Bio Hazard & Mold Remediation\r\n \r\n ),\r\n content: (\r\n \r\n

Bio Hazard & Mold Remediation

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

Mold Remediation

\r\n

\r\n Effective mold removal and prevention services to protect your health and property.\r\n

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

Bio Hazard Cleanup

\r\n

\r\n Safe handling and disposal of biohazardous materials, following strict protocols to ensure a safe and healthy environment.\r\n

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

\r\n Our expert team provides thorough and safe remediation services, ensuring the well-being of your family and community.\r\n

\r\n\r\n \r\n \r\n history.push('/local-restoration-services')}\r\n className=\"primary--bg size-xs pl-30 pr-30\"\r\n // iconLeft={}\r\n />\r\n \r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'content-evaluation',\r\n title: (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Evaluation\r\n \r\n ),\r\n content: (\r\n \r\n

Content Evaluation

\r\n\r\n

\r\n We provide thorough assessment of damaged belongings, determining the best course of action for restoration or replacement. Our team works diligently to salvage valuable items and minimize losses, helping you recover both emotionally and financially.\r\n

\r\n\r\n

\r\n Our goal is to reduce the impact of damage on your life, ensuring a comprehensive evaluation process tailored to your needs.\r\n

\r\n\r\n \r\n \r\n history.push('/local-restoration-services')}\r\n className=\"primary--bg size-xs pl-30 pr-30\"\r\n // iconLeft={}\r\n />\r\n \r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n // STATE FOR ACTIVE TAB\r\n const [activeKey, setActiveKey] = useState(tabsData[0].key);\r\n\r\n return (\r\n \r\n \r\n\r\n {/* INTRO */}\r\n \r\n

Restoration You Can Trust

\r\n

\r\n Local Restoration delivers expert water, fire, and mold remediation with integrity and honesty. Veteran-owned and community-focused, we restore your peace of mind.\r\n

\r\n
\r\n\r\n {/* MAIN CONTENT */}\r\n \r\n setActiveKey(k)}\r\n className=\"w-100 mb-3\"\r\n // justify\r\n // fill\r\n >\r\n {tabsData.map((tab) => (\r\n {tab.icon} {tab.title}}\r\n title={tab.title}\r\n key={tab.key}\r\n className=\"\"\r\n >\r\n {tab.content}\r\n \r\n ))}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ProductTabsSection;","/* eslint-disable max-len */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n/* eslint-disable object-curly-newline */\r\n/* eslint-disable no-return-assign */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable arrow-body-style */\r\n/* eslint-disable react/jsx-boolean-value */\r\n// DEPENDENCIES\r\nimport React, { useEffect, useCallback } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n// COMPONENTS\r\nimport { Fade } from 'react-awesome-reveal';\r\nimport ReactBeforeSliderComponent from 'react-before-after-slider-component';\r\nimport {\r\n Container,\r\n Row,\r\n Col\r\n} from 'react-bootstrap';\r\nimport CustomBlock from '../../../../../components/CustomBlock';\r\nimport Button from '../../../../../components/Button';\r\n// ASSETS\r\nimport 'react-before-after-slider-component/dist/build.css';\r\n// SERVICES & HELPERS\r\nimport constants from '../../../../../constants/constants';\r\n\r\nconst ServicesIntro = () => {\r\n const history = useHistory();\r\n const beforeAfterImageSetLength = 2;\r\n\r\n const beforeAfterImages = Array.from({ length: beforeAfterImageSetLength }, (_, i) => ({\r\n id: i,\r\n firstImage: {\r\n imageUrl: `${constants.API_URL}Attachments/ServiceImages/BeforeAfterSlider/image-${i + 1}-before.png`,\r\n alt: `Before Image ${i + 1}`\r\n },\r\n secondImage: {\r\n imageUrl: `${constants.API_URL}Attachments/ServiceImages/BeforeAfterSlider/image-${i + 1}-after.png`,\r\n alt: `After Image ${i + 1}`\r\n }\r\n }));\r\n\r\n const preventDefault = useCallback((e) => {\r\n e.preventDefault();\r\n }, []);\r\n\r\n const disableScroll = useCallback(() => {\r\n document.body.style.overflow = 'hidden';\r\n document.body.style.touchAction = 'none';\r\n document.addEventListener('touchmove', preventDefault, { passive: false });\r\n }, [preventDefault]);\r\n\r\n const enableScroll = useCallback(() => {\r\n document.body.style.overflow = '';\r\n document.body.style.touchAction = '';\r\n document.removeEventListener('touchmove', preventDefault);\r\n }, [preventDefault]);\r\n\r\n const handleSliderModeChange = useCallback((newMode) => {\r\n if (newMode === 'move') {\r\n disableScroll();\r\n } else {\r\n enableScroll();\r\n }\r\n }, [disableScroll, enableScroll]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n enableScroll();\r\n };\r\n }, [enableScroll]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n

Transformations

\r\n

See the dramatic changes we've achieved with our restoration services.

\r\n history.push('/services-gallery')}\r\n className=\"secondary-lighter--bg size-xs mt-30\"\r\n style={{ width: 'fit-content' }}\r\n />\r\n
\r\n
\r\n\r\n \r\n \r\n {beforeAfterImages.map((img) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ServicesIntro;","/* eslint-disable max-len */\r\n/* eslint-disable react/self-closing-comp */\r\n/* eslint-disable no-use-before-define */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable react/jsx-max-props-per-line */\r\n// DEPENDENCIES\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Fade } from 'react-awesome-reveal';\r\n// COMPONENTS\r\nimport Slider from 'react-slick';\r\n// ICONS\r\nimport { FaRegFilePdf } from 'react-icons/fa6';\r\nimport { IoSearch } from 'react-icons/io5';\r\n// CUSTOM COMPONENTS\r\nimport CustomBlock from '../../../../components/CustomBlock';\r\nimport Overlay from '../../../../components/Overlay';\r\nimport Banner from '../../../../components/Banner';\r\nimport Image from '../../../../components/Image';\r\nimport Button from '../../../../components/Button';\r\nimport CustomBannerInsert from '../../../../components/CustomBannerInsert';\r\nimport Accordion from '../../../../components/Accordion';\r\nimport TabbedInterface from '../../../../components/TabbedInterface';\r\n// CONTENT SECTIONS\r\nimport OurServiceRegions from './ContentSections/OurServiceRegions';\r\nimport HomepageIntro from './ContentSections/HomepageIntro';\r\nimport HomepageServicesIntro from './ContentSections/HomepageServicesIntro';\r\nimport ProductTabsSection from './ContentSections/ProductTabsSection';\r\nimport ServicesIntro from './ContentSections/ServicesIntro';\r\n// ASSETS\r\n// import IllustrationBackgroundPattern1 from '../../../assets/img/illustration_texture-pattern-1.png';\r\n// import IllustrationParishMap from '../../../assets/img/illustration_district-map.svg';\r\n// import PatternTypography from '../../../assets/img/pattern_topography.png';\r\n// HELPERS & SERVICES\r\nimport constants from '../../../../constants/constants';\r\n\r\nconst HomePage = (props) => {\r\n const { dynamicPageModel, buttonAction } = props;\r\n const [isLoading] = useState(false);\r\n const [banners, setBanners] = useState([]);\r\n const [offset, setOffset] = useState(0);\r\n const [progress, setProgress] = useState(0);\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 useEffect(() => {\r\n const handleScroll = () => setOffset(window.pageYOffset);\r\n\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n const parallaxContainers = document.querySelectorAll('.parallax-container');\r\n\r\n const scrollHandler = () => {\r\n parallaxContainers.forEach((container) => {\r\n handleParallax(container);\r\n });\r\n };\r\n\r\n window.addEventListener('scroll', scrollHandler);\r\n\r\n // CLEAN UP ON COMPONENT UNMOUNT\r\n return () => window.removeEventListener('scroll', scrollHandler);\r\n }, []);\r\n\r\n const handleParallax = (element, speed = 0.1) => {\r\n const yOffset = window.pageYOffset;\r\n const parallaxSpeed = yOffset * speed;\r\n element.style.backgroundPositionY = `calc(20% - ${parallaxSpeed}px)`;\r\n };\r\n\r\n const navigateToLink = (link) => {\r\n window.open(link, '_blank');\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 return (\r\n <>\r\n {(isLoading) && }\r\n \r\n {/* BANNER SECTION */}\r\n \r\n \r\n {/* CUSTOM BANNER INSERT */}\r\n \r\n {\r\n banners.map((banner) => (\r\n {\r\n buttonAction(banner.primaryButtonActionType, banner.primaryButtonLink);\r\n }}\r\n secondaryActionText={banner.secondaryButtonText}\r\n secondaryActionOnClick={() => {\r\n buttonAction(banner.secondaryButtonActionType, banner.secondaryButtonLink);\r\n }}\r\n offset={offset}\r\n />\r\n ))\r\n }\r\n \r\n \r\n\r\n \r\n\r\n \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 SECTION - CONTACT TABS */}\r\n {/* \r\n \r\n \r\n \r\n */}\r\n\r\n {/* CONTENT SECTION - CAREER OPPORTUNITIES */}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Career Opportunities

\r\n

Contribute to community safety and environmental integrity. Apply to be part of our team.

\r\n \r\n window.open('/API/Attachments/Documents/employment-application.pdf', '_blank')}\r\n className=\"secondary--sbg size-xs pl-30 pr-30\"\r\n iconLeft={}\r\n />\r\n \r\n
\r\n
\r\n
*/}\r\n\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default HomePage;","/* eslint-disable import/prefer-default-export */\r\n\r\nimport axiosInstance from '../apiService';\r\nimport constants from '../../constants/constants';\r\n\r\nconst ENDPOINTORIGIN = 'Home/';\r\n\r\nconst getCMSInfo = async () => axiosInstance.get(`${ENDPOINTORIGIN}GetCMSInfo`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getDynamicPage = async (dynamicPageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetDynamicPage?dynamicPageId=${dynamicPageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst getDynamicBlog = async (dynamicPageId) => axiosInstance.get(`${ENDPOINTORIGIN}GetDynamicBlog?dynamicPageId=${dynamicPageId}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst searchProduct = async (model) => axiosInstance.post(`${ENDPOINTORIGIN}SearchProduct`, model, constants.REQUIRE_INTERCEPTORS);\r\n\r\nconst searchProductByKeyword = async (keyword) => axiosInstance.get(`${ENDPOINTORIGIN}SearchProductByKeyword?keyword=${keyword}`, constants.REQUIRE_INTERCEPTORS);\r\n\r\nexport {\r\n getCMSInfo,\r\n getDynamicPage,\r\n getDynamicBlog,\r\n searchProduct,\r\n searchProductByKeyword\r\n};","/* eslint-disable max-len */\r\n/* eslint-disable no-use-before-define */\r\n\r\n// DEPENDENCIES\r\n// import React, { useEffect, useState } from 'react';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { Fade } from 'react-awesome-reveal';\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/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 \r\n \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 \r\n {dynamicPageModel.bannerImageFilePath && (\r\n \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 {\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\n\r\nexport default DynamicCMSPage;","/* eslint-disable prefer-const */\r\n/* eslint-disable camelcase */\r\n/* eslint-disable no-use-before-define */\r\n// DEPENDENCIES\r\nimport React, {\r\n useEffect,\r\n useState\r\n} from 'react';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { Helmet } from 'react-helmet';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n Switch,\r\n Route,\r\n Redirect,\r\n useLocation,\r\n} from 'react-router-dom';\r\nimport { enableBodyScroll } from 'body-scroll-lock';\r\n// ROUTES\r\nimport PrivateRoute from './routes/PrivateRoute';\r\nimport CMSRoute from './routes/CMSRoute';\r\n// CUSTOM COMPONENTS\r\nimport ConfirmModal from './components/ConfirmModal';\r\nimport AlertToast from './components/AlertToast';\r\n// DEVELOPMENT\r\nimport DevelopmentReferencePage from './pages/development/DevelopmentReferencePage';\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 MeetingListingPage from './pages/admin/management/meeting/MeetingListingPage';\r\nimport MeetingManagementPage from './pages/admin/management/meeting/MeetingManagementPage';\r\nimport SettingsListingPage from './pages/admin/management/settings/SettingsListingPage';\r\n// PROJECT\r\n// CMS\r\n// -- MENU ITEMS\r\nimport MenuItemListingPage from './pages/cms/management/menu-item/MenuItemListingPage';\r\nimport MenuItemManagementPage from './pages/cms/management/menu-item/MenuItemManagementPage';\r\n// -- CONTENT PAGES\r\nimport PageListingPage from './pages/cms/management/page/PageListingPage';\r\nimport PageManagementPage from './pages/cms/management/page/PageManagementPage';\r\n// -- CONTENT SECTIONS\r\nimport ContentSectionListingPage from './pages/cms/management/content-section/ContentSectionListingPage';\r\nimport ContentSectionManagementPage from './pages/cms/management/content-section/ContentSectionManagementPage';\r\nimport BannerManagementPage from './pages/cms/management/content-section/BannerManagementPage';\r\n// ASSETS AND RESOURCES\r\nimport AssetsAndResourcesPage from './pages/cms/management/resources/AssetsAndResourcesPage';\r\n// FOOTER ITEMS\r\nimport FooterItemListingPage from './pages/cms/management/footer-items/FooterItemListingPage';\r\n// EVENT LISTING PAGE\r\n// CMS PAGES\r\nimport ContactPage from './pages/cms/pages/ContactPage';\r\nimport ServiceGalleryImagesPage from './pages/cms/pages/ServiceGalleryImagesPage';\r\n// BLOGS\r\nimport BlogListingPage from './pages/cms/management/blog/BlogListingPage';\r\nimport BlogManagementPage from './pages/cms/management/blog/BlogManagementPage';\r\nimport BlogsAndReviewsListingPage from './pages/cms/pages/BlogsAndReviewsListingPage';\r\nimport DynamicCMSPage from './pages/cms/pages/DynamicCMSPage';\r\nimport Overlay from './components/Overlay';\r\n// SERVICES\r\nimport * as homeService from './services/cms/homeService';\r\n\r\nconst initialCMSInfo = {\r\n appStoreLink: '',\r\n city: '',\r\n companyIconPath: '',\r\n companyLogoPath: '',\r\n companyName: '',\r\n emailAddress: '',\r\n facebookLink: '',\r\n googleMapLink: '',\r\n googlePlayStoreLink: '',\r\n instagramLink: '',\r\n linkedInLink: '',\r\n menuItems: [],\r\n pages: [],\r\n footerItems: [],\r\n phoneNumber: '',\r\n primaryWeekDayHours: '',\r\n primaryWeekEndHours: '',\r\n secondaryWeekDayHours: '',\r\n secondaryWeekEndHours: '',\r\n state: '',\r\n streetAddress1: '',\r\n streetAddress2: '',\r\n twitterLink: '',\r\n youtubeLink: '',\r\n zipCode: '',\r\n};\r\n\r\nconst Routes = (props) => {\r\n const { auth } = props;\r\n const [isAuthorized, setIsAuthorized] = useState(true);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [cmsInfo, setCmsInfo] = useState(initialCMSInfo);\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n fetchCMSInfoAndValidate();\r\n }, [auth]);\r\n\r\n const fetchCMSInfoAndValidate = async () => {\r\n setIsLoading(true);\r\n validateAccess();\r\n\r\n await homeService.getCMSInfo().then((res) => {\r\n setCmsInfo(res);\r\n }).catch().finally(() => {\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const validateAccess = () => {\r\n if (auth.authToken !== '') {\r\n try {\r\n let decodedToken = jwt_decode(auth.authToken);\r\n setIsAuthorized(!!decodedToken);\r\n } catch (ex) {\r\n setIsAuthorized(false);\r\n }\r\n } else {\r\n setIsAuthorized(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const body = document.querySelector('body');\r\n window.scrollTo(0, 0);\r\n enableBodyScroll(body);\r\n }, [pathname]);\r\n\r\n return (\r\n <>\r\n {\r\n cmsInfo.googleAnalyticsId && (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n <>\r\n {\r\n isLoading ? \r\n : (\r\n \r\n \r\n \r\n\r\n {/* CMS PAGES */}\r\n {/* DYNAMIC CMS ROUTING */}\r\n {\r\n cmsInfo.pages.map((page) => (\r\n \r\n ))\r\n }\r\n\r\n \r\n\r\n {/* CONTACT PAGE */}\r\n \r\n\r\n {/* SERVICE GALLERY IMAGES */}\r\n \r\n\r\n {/* */}\r\n\r\n {/* ECONOMIC DEVELOPMENT PAGES */}\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* */}\r\n\r\n {/* \r\n\r\n */}\r\n\r\n {\r\n isAuthorized\r\n ? (\r\n <>\r\n {/* USERS */}\r\n \r\n\r\n {/* \r\n\r\n */}\r\n\r\n {/* \r\n\r\n */}\r\n {/* 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 {/* MEETINGS */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* SETTINGS */}\r\n {auth && auth.user.id === 1 && auth.user.username === 'admin' && (\r\n <>\r\n \r\n \r\n {/* */}\r\n\r\n \r\n \r\n )}\r\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 { ParallaxProvider } from 'react-scroll-parallax';\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\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":""}