{"version":3,"sources":["logo.svg","assets/Images/logo.png","utility/constant.js","utility/apiCall.js","assets/Images/homeBg.png","components/CustomToster/CustomToaster.js","utility/CustomLoader.js","components/OTPVerification/OTPVerification.js","utility/VerifyLoginExistOrNot.js","utility/EncodeAndDecodeUrl.js","utility/GetPath.js","components/Header/Header.js","assets/Images/footer-App-Store.png","assets/Images/footer-Google-Play.png","assets/Images/DownloadArrowGold.svg","components/Footer/Footer.js","components/Login/Login.js","components/CreateAccount/CreateAccount.js","assets/Images/avatar.png","utility/colors.js","components/CompleteProfile/CompleteProfile.js","components/ForgotPassword/ForgotPassword.js","components/ResetPassword/ResetPassword.js","components/FirstAlbumMessage/FirstAlbumMessage.js","assets/Images/close.png","assets/Images/uploadImage1.png","assets/Images/uploadMusic2.png","assets/Images/music.png","assets/Images/upload.png","assets/Images/video.png","components/CreateAlbum/CreateAlbum.js","components/Support/Support.js","components/Aboutus/Aboutus.js","components/Privacy/Privacy.js","components/VideoModal/VideoModal.js","assets/Images/bigstageBanner.png","components/HomeBigStage/HomeBigStage.js","components/CommentsModal/CommentsModal.js","assets/Images/mike.svg","assets/Images/mikeFill.svg","components/HomeBigStageList/HomeBigStageList.js","components/HomeFeaturedArtistsList/HomeFeaturedArtistsList.js","components/HomeEventsList/HomeEventsList.js","components/UploadHere/UploadHere.js","assets/Images/line.png","components/HomeNewsList/HomeNewsList.js","components/HomePodcastsList/HomePodcastsList.js","pages/Home/Home.js","pages/BigStage/BigStage.js","assets/Images/communitybg.png","components/TopArtists/TopArtists.js","components/AllArtists/AllArtists.js","pages/CommunityRoom/CommunityRoom.js","assets/Images/featuredArtist.png","pages/FeaturedArtists/FeaturedArtists.js","assets/Images/podcastBanner.png","components/Categories/Categories.js","pages/Podcast/Podcast.js","pages/UploadMusic/UploadMusic.js","assets/Images/newzBanner.png","components/ShareModal/ShareModal.js","pages/News/News.js","assets/Images/eventsBanner.png","pages/Events/Events.js","assets/Images/user.png","redux/Counter/counter.types.js","redux/Counter/counter.actions.js","components/AudioPlayer/AudioPlayer.js","assets/Images/addSquare.png","components/AddPlayListModal/AddPlayListModal.js","components/Musics/Musics.js","components/Comments/Comments.js","assets/Images/Location.svg","assets/Images/Call.svg","assets/Images/Mail.svg","assets/Images/blackmike.svg","assets/Images/blackmikefill.svg","assets/Images/facebook.svg","assets/Images/youtube.svg","assets/Images/twitterIcon.svg","assets/Images/itune.svg","assets/Images/shopify.svg","assets/Images/titktok.svg","assets/Images/applemusic.svg","assets/Images/instagram.svg","assets/Images/podcaste.svg","pages/FeaturedArtistDetails/FeaturedArtistDetails.js","pages/News/NewsDetails.js","pages/FeaturedArtistDetails/MoreInfo.js","assets/Images/location.png","assets/Images/mail.png","assets/Images/phone.png","assets/Images/facebook.png","assets/Images/social.png","assets/Images/twitter.png","pages/News/CreateNews.js","assets/Images/map.jpg","pages/Events/EventsDetails.js","pages/Events/CreateEvents.js","assets/Images/send.svg","assets/Images/Lata-Mangeshkar.jpg","assets/Images/hqdefault.jpg","components/CommentsModal/CommentsModal1.js","components/ShareModal/ShareModal1.js","pages/VideoPlayer/VideoPlayer.js","components/Follows/Follows.js","pages/Profile/Profile.js","assets/Images/download.png","assets/Images/likeSquare.png","assets/Images/plus.png","components/AddEditPlaylist/AddEditPlaylist.js","assets/Images/minus.png","components/ConfirmDeleteModal/ConfirmDeleteModal.js","components/MyItems/MyItems.js","assets/Images/add.png","pages/Albums/MyAlbums.js","pages/Playlist/MyPlaylists.js","pages/Playlist/PlaylistDetails.js","pages/News/MyNews.js","pages/Events/MyEvents.js","assets/Images/episode-img.png","pages/Podcast/PodcastDetails.js","pages/Podcast/MyPodcasts.js","pages/Podcast/UploadPodcast.js","pages/Podcast/Addepisode.js","components/ScrollToTop/ScrollToTop.js","assets/Images/smily.svg","pages/404Page/PageNotFound.js","pages/Albums/MyAlbumsDetails.js","App.js","reportWebVitals.js","redux/Counter/counter.reducer.js","redux/rootReducer.js","redux/store.js","index.js"],"names":["cdnURL","process","url","isAWS","constant","baseURL","isAws","siteURL","uplFileParameter","musicFileUploadURL","podcastFileUploadURL","podcastepisodeFileUploadURL","newsFileUplodaURL","eventsFileUploadURL","profileFileUploadURL","albumFileUploadURL","downloadURL","userImageURL","artistImageURL","musicURL","videoURL","profileURL","bigStageThumbnailURL","bigStageVideoURL","albumFileURL","musicFileURL","podcastFileURL","podcastcategorythumbnailFileURL","podcastepisodeFileURL","newsFileURL","podcastCategoryURL","eventsFileURL","appStoreURL","playStoreURL","loginBackgroundImageURL","validateToken","updateEmail","deletePodcast","deleteNews","deleteAlbum","deletePlaylist","deleteEvent","deleteEpisode","facebookURL","instagramURL","twitterURL","acceptedAudio","acceptedVideo","supportedImageFiles","supportedVideoFiles","supportedAudioFiles","supportedAudioVideoFiles","passwordReg","createAccountTitle","loginTitle","loginSubtitle","invalidCredentials","invalidEmailAddress","emailRequired","passwordRequired","firstNameRequired","lastNameRequired","passwordValidationMsg","passwordShouldSame","emailRegistered","otpSubject","unableToValidateEmail","createAnAccountTitle","createAnAccountSubtitle","tickOnTermCondition","onlyAlphanumericAllowed","invalidText","phoneRequired","titleRequired","biographyRequired","streetRequired","cityRequired","stateRequired","countryRequired","phoneLength","titleLength","biographyLength","streetLength","typeRequired","categoryRequired","completeProfileTitle","completedProfileSubtitle","invalidURL","currentPasswordRequired","newPasswordRequired","confirmPasswordRequired","currentPasswordValidation","newConfirmPasswordSame","enterCorrectCurrentPwd","passwordChanged","notificationUpdated","profileUpdated","errorWhileProfileUpdate","addressRequired","emailUpdated","commonUserNameRequired","onlyNumbersAllowed","mic","unmic","myMusicLabel","myPlaylistsLabel","myPodcastsLabel","myNewsLabel","myEventsLabel","profileLabel","logoutLabel","loginLabel","homeLabel","supportLabel","aboutusLabel","privacyLabel","theBigStageLabel","communityRoomLabel","featuredArtistLabel","uploadMusicLabel","podcastLabel","newsLabel","eventsLabel","requiredLabel","showMoreLabel","noDataFoundLabel","profilePictureRequiredLabel","youTubeSubscribeURL","getDataApi","URL","a","fetch","then","response","json","getDataApiWithBlob","blob","postDataApi","data","header","axios","post","catch","error","patchDataApi","patch","deleteDataApi","delete","toast","configure","addSuccessMesage","props","success","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","undefined","addErrorMesage","addLoader","ReactDOM","render","Modal","centered","fullscreen","show","contentClassName","style","justifyContent","alignItems","background","backgroundColor","type","color","height","width","document","getElementById","removeLoader","reactDom","unmountComponentAtNode","DisableButtonLoader","marginRight","OTPVerification","useState","input1","input2","input3","input4","input5","inputVal","setInputVal","input1Ref","useRef","input2Ref","input3Ref","input4Ref","input5Ref","isOtpErrorShow","OTPError","setError","OTPErrormsg","setOTPErrorMsg","history","useHistory","createAccountData","otpDetails","localStorage","getItem","JSON","parse","useEffect","action","push","getInputVal","e","text","target","value","name","inputType","nativeEvent","numReg","RegExp","test","length","current","blur","focus","createUser","property","firstName","lastName","userName","email","phone","password","usertype","subscribeYouTubeChannel","isAdminManaged","urlImage","formBody","encodedKey","encodeURIComponent","encodedValue","join","authHeader","Accept","responseUser","status","setItem","stringify","clear","resendOTP","otpCode","Math","floor","random","jsonData","code","subject","body","responseOTP","className","src","homeBg","alt","onChange","maxLength","ref","textAlign","onClick","otCode","toString","VerifyLoginExistOrNot","verifyLoginUserType","require","hashCodeUrl","base64url","String","hashCodeUrlDecode","datatodecode","decode","GetPath","path","useLocation","pathname","Header","currentUserInfo","rememberMe","loginVal","mScroll","setMScroll","location","showPlayStorePopup","setShowPlayStorePopup","onLogOut","window","replace","setTimeout","reload","addEventListener","scrollCheck","scrollY","Navbar","collapseOnSelect","expand","zIndex","isMobile","Nav","id","NavDropdown","top","title","borderRadius","Item","to","textDecoration","Divider","state","prevPath","marginLeft","logo","Toggle","Collapse","Link","eventKey","as","activeClassName","fontSize","fontWeight","padding","isAndroid","open","Footer","display","cursor","GooglePlayButton","Date","getFullYear","AppStoreButton","DownloadArrowGold","Login","prevLocation","prevUserId","userId","isPasswordShow","setPasswordShow","isRememberMe","setRememberMe","isUserNameErrorShow","isPasswordErrorShow","userNameErrorMsg","passwordErrMsg","errorMessage","userNameRef","passwordRef","signIn","responseData","accessToken","user","resAlbums","from","placeholder","required","checked","htmlFor","validator","isEmail","CreateAccount","isCreatePasswordShow","isRepeatPasswordShow","passwordShow","audience","setAudience","subscribe","setSubscribe","firstNameErr","setFirstNameErr","firstNameErrMsg","setFirstNameErrMsg","lastNameErr","setLastNameErr","lastNameErrMsg","setLastNameErrMsg","emailErr","setEmailErr","emailErrMsg","setEmailErrMsg","createPasswordErr","setCreatePasswordErr","createPasswordErrMsg","setCreatePasswordErrMsg","phoneNoErr","setPhoneNoErr","phoneErrorMsg","setphoneErrorMsg","commonUserNameErr","setcommonUserNameErr","commonUserNameErrMsg","setcommonUserNameErrMsg","repeatPasswordErr","setRepeatPsswordErr","repeatPasswordErrMsg","setRepeatPasswordErrMsg","termConditions","setTermConditions","termConditionsErr","setTermConditionsErr","nextPage","setnextPage","selectedUserPictue","setSelectedUserPicture","profilePictureErrMsg","setProfilePictureErrMsg","profilePictureErr","setProfilePictureErr","subscribeText","setSubscribeText","phoneNo","createPassword","repeatPassword","commonUserName","verifyEmailAndSendOTP","allowToCreateUser","respUser","jsonData0","onUploadProfilePicture","picture","customHeaders","Authorization","FormData","append","res","filename","createObjectURL","buttonClassName","buttonText","label","pic","imgExtension","singleImage","marginTop","minLength","prevState","flag","textRegex","onSignup","colors","CompleteProfile","newUser","multiSelectStyle","multiselectContainer","option","chips","paddingLeft","paddingRight","paddingTop","paddingBottom","searchBox","border","minHeight","showProfile1","setShowProfile1","showProfile2","setShowProfile2","city","country","biography","facebookUrl","youtubeUrl","instagramUrl","ituneUrl","spotifyUrl","tiktokUrl","appleUrl","applePodcastURL","selectedTypes","setTypes","selectedCategory","setCategory","typesErr","setTypesErr","categoryErr","setCategoryErr","biographyErr","setBiographyErr","cityErr","setCityErr","stateErr","setStateErr","countryErr","setCountryErr","categories","setCategories","subcategories","setSubcategories","selectedCountry","setSelectedCountry","countries","setCountries","selectedState","setSelectedState","states","setStates","selectedCity","setSelectedCity","cities","setCities","CityErrorMsg","stateErrMsg","countryErrMsg","biographyErrMsg","typesErrMsg","categoryErrMsg","facebookUrlErrMsg","youtubeUrlErrMsg","ituneUrlErrMsg","spotifyUrlErrMsg","tiktokUrlErrMsg","appleUrlErrMsg","applePodcastURLErrMsg","instagramUrlErrMsg","ErrorMsg","setErrorMsg","trim","sCountry","filter","f","getStates","sState","getCities","loadSubcategoriesByCategory","arrCategories","getSubcategories","onCompleteProfile","street","fltCountries","c","fltStates","fltCities","fullAddress","countryId","stateId","cityId","youtubeURL","iTunesURL","spotifyURL","tikTokURL","appleMusicURL","setSelectedTypesAndCategoriesForUser","objUser","promises_array","map","catItem","Promise","resolve","reject","fltCategory","category","subcategory","callSetSelectedTypesAndCategoriesForUser","all","getCategories","resCategories","resSubcategories","getCountries","resCountries","resStates","resCities","options","onSelect","selectValArr","onRemove","removedValArr","i","splice","selectedValues","displayValue","customCloseIcon","typeCondition","catCondition","selected","ForgotPassword","allowToSendOTP","onSendOTP","ResetPassword","newPassword","confirmPassword","newPasswordErr","setnewPasswordErr","newPasswordErrMsg","setnewPasswordErrMsg","confirmPasswordErr","setconfirmPasswordErr","confirmPasswordErrMsg","setconfirmPasswordErrMsg","setRepeatPasswordErr","savePasswordUpdate","sendLogin","FirstAlbumMessage","CreateAlbum","showAlbumSection","setShowAlbumSection","showMusicSection","setShowMusicSection","audioReg","videoReg","coverImg","setCoverImg","setMusicCategories","albumCoverImg","setAlbumCoverImg","disableImgDelete","setDisableImgDelete","uploadProgress","setUploadProgress","setDragNDropText","isMusicImgeErrShow","setisMusicImgeErrShow","albumName","item","albumType","albumurlImage","categoryList","selectedCategoryList","existingCategoryList","existingMusicList","albumDetails","setAlbumDetails","isAlbumNameErrShow","setAlbumNameErr","isAddCategoryErrShow","setAddCategoryErr","setUploadSongsSection","songsList","setSongsList","removeSongsList","setRemoveSongsList","songsListIDCount","setSongsListIDCount","isUploadSong","setUploadSong","onDrop","file","fileValidation","onUploadImg","exec","imageSrc","getMusicsByAlbum","resMusics","itms","m","size","isExists","itemId","onNext","onSelectMusicOrVideoFileValidate","fromFun","loadFileDuration","resp","addSongFileToSongList","newFiles","song_upload_input","count","songsitems","getAlbumCategories","sItems","p","fltCategories","uploadCoverImage","createAlbum","getAlbumByName","resAlbum","coverImageName","sStatus","respAlbum","uploadMusicFiles","albumId","saveAllMusics","saveAlbumCategories","goBack","resetUploadMusic","progressValue","uplFiles","reader","FileReader","onload","event","AudioContext","webkitAudioContext","decodeAudioData","result","buffer","duration","onerror","console","readAsArrayBuffer","uploadedMusicFiles","fItem","originalname","split","album","musicType","createAlbumMusic","deleteAlbumMusic","resDel","createAlbumCategories","x","deleteAlbumCategories","onUploadSonglist","respName","FileDrop","onDragOver","onDragLeave","uploadImage1","withIcon","maxValue","minValue","disabled","for","selectedList","uploadMusic2","files","alert","onSelectMusicOrVideoFile","accept","multiple","overflowX","overflowY","song","fileName","fileSizeInMB","musicImg","videoImg","newArr","fltDelSong","dSong","onDeleteSongList","close","toFixed","Support","isSupportDescErrShow","setSupportDescErr","isSupportNameErrShow","setSupportNameErr","supportDescription","supportDetails","setSupportDetails","onUpload","description","respSupport","rows","CreateEvents","calldata","resNews","innerHTML","VideoModal","handleClose","onHide","backdrop","keyboard","dialogClassName","closeButton","Title","Body","controls","playing","config","attributes","disablepictureinpicture","HomeBigStage","homeBigStageItem","setHomeBigStageItem","playVideo","setPlayVideo","getBigStageList","apiURL","resBigStages","backgroundImage","encodeURI","thumbnailURL","bigstageBanner","variant","CommentsModal","currentUserId","inputText","setInputText","setUpdate","update","isModel","isComment","isInputTextErrShow","setInputTextErr","inputTextErrMessage","setInputTextErrMessage","buttonDisable","setbuttonDisable","commentsList","setCommentsList","showViewMore","setShowViewMore","pageNumber","setPageNumber","onSubmit","executeAPI","reporteduser","artist","comment","music","podcasts","bigstage","episode","news","events","comments","getCommentApiUrl","commentDataApi","resArtistComments","img","address","date","moment","created","format","page","pageCount","message","respAPI","viewMoreComments","renderismodel","index","HomeBigStageList","showCommentBigStageModal","setShowCommentBigStageModal","commentBigStageInputText","setCommentBigStageInputText","mode","setmode","showReportBigStageModal","setShowReportBigStageModal","reportBigStageInputText","setReportBigStageInputText","selectedBigStage","setSelectedBigStage","bigStageList","setBigStageList","bigStage20List","setBigStage20List","bigStageResetCount","setBigStageResetCount","bigStageResetCount20","setBigStageResetCount20","bgId","setBgId","disableItem","setDisableItem","top10Settings","items","loop","nav","mouseDrag","gutter","responsiveClass","preventScrollOnTouch","nested","responsive","top20Settings","getTop10BigStageList","setLikes","likeId","bgItems","itm","userlike","likes","lkitm","index0","getTop20BigStageList","resBigStages20","createBigStageLike","bigStageId","resBigStageLike","resetBigStageLike","renderBigStageList","isTop20","settings","likeData","mikeFill","mike","val","HomeFeaturedArtistsList","showCommentHomeArtistModal","setShowCommentHomeArtistModal","commentHomeArtistInputText","setCommentHomeArtistInputText","selectedHomeArtist","setSelectedHomeArtist","homeArtistList","setHomeArtistList","commentsCount","setCommentsCount","artistResetCount","arId","setArId","getArtists","resArtists","createArtistLike","artistId","respArtistLike","resetArtistLike","indexItem","scrollTo","navigateToArtistDetails","HomeEventsList","showCommentHomeEventModal","setShowCommentHomeEventModal","commentHomeEventInputText","setCommentHomeEventInputText","selectedHomeEvent","setSelectedHomeEvent","eventsList","setEventsList","eventsResetCount","setEventsResetCount","eId","setEId","getEvents","resEvents","eventDate","eventdate","createEventsLikes","eventsId","respEventsLike","resetEventsLike","borderTopLeftRadius","borderTopRightRadius","navigateToEventsDetails","bottom","UploadHere","pageName","onButtonClick","HomeNewsList","showCommentTopNewsModal","setShowCommentTopNewsModal","commentTopNewsInputText","setCommentTopNewsInputText","selectedTopNews","setselectedTopNews","newsList","setNewsList","newsResetCount","setNewsResetCount","nId","setNId","getNews","subtitle","artistName","createNewsLikes","newsId","respNewsLike","resetNewsLike","navigateToNewsDetails","HomePodcastsList","podcastDetails","podcast","showCommentHomePodcastModal","setShowCommentHomePodcastModal","commentHomePodcastInputText","setCommentHomePodcastInputText","selectedHomePodcast","setSelectedHomePodcast","podcastsList","setPodcastsList","pId","setPId","getPodcasts","apiurl","resPodcasts","dfltURL","podcastType","urlPodcast","createPodcastLike","podcastId","respPodcastLike","resetPodcastLike","renderPodcastItems","podcastItem","navigateToPodcastDetails","Home","idd","isDeleted","isShowOnHome","BigStage","setPage","setPageCount","limit","playVideo1","indexext","artisitName","bigStageItem","setBigStageItem","getHomeBigStage","getBigStageList1","playBigStageVideo","isFirst","renderLikes","mainBigstage","DropdownButton","Dropdown","TopArtists","topTenArtists","setTopTenArtists","topTwentyArtists","setTopTwentyArtists","selectedArtistItem","setSelectedArtistItem","getTop1020Artists","resTop10","apiURL1","jsonData1","resTop20","log","renderTopArtists","height10","albums","updated","AllArtists","setUpdated","artistList","setArtistList","isFeatured","resAllArtists","totalCount","isMainArtist","CommunityRoom","mainArtist","setMainArtist","getMainArtist","resMainArtist","communitybg","user_id","href","width10","user_firstName","user_lastName","FeaturedArtists","featuredArtist","Categories","dataList","setDataList","Podcast","pageCategory","setPageCategory","podcastList","setPodcastlist","categoryName","setCategoryName","categoryId","setCategoryId","latestPodcastList","setLatestPodcastList","commentTopPodcastsInputText","setCommentTopPodcastsInputText","setPodcastsResetCount","selectedPodcasts","setSelectedPodcasts","showCommentTopPodcastsModal","setShowCommentTopPodcastsModal","podcastsResetCountByCategory","commentsCountByCategory","setCommentsCountByCategory","mId","setMId","createPodcastsLikes","podcastsId","resppodcastsLike","resetPodcastsLike","getPodcastsByCategory","resPodcastsByCategory","round","renderPodcasts","marginBottom","podcastBanner","loadPodCastByCategory","UploadMusic","ShareModal","uniqeid","searchData","useParams","shareUrl","setshareUrl","desc","setDesc","getArtistDetails","resArtist","getEventDetails","resEvent","getNewsDetails","getPodcastDeatils","resPodcast","getAlbumDeatils","musicData","resAlbumData","textField","createElement","innerText","appendChild","select","execCommand","remove","copylink","FacebookShareButton","quote","hashtag","FacebookIcon","TwitterShareButton","TwitterIcon","WhatsappShareButton","WhatsappIcon","News","showShareToModal","setShowShareToModal","selectedNews","setSelectedNews","latestNewsItem","setLatestNewsItem","getLatestNews","resLatestNews","nItem","newzBanner","Events","setuniqeid","eventsBanner","eventlink","eventItem","setEventItem","getLatestEvent","events_id","events_name","events_description","events_address","events_eventdate","events_urlImage","events_eventlink","INCREMENT","DECREMENT","increaseCounter","q","r","s","t","AudioPlayer","musicList","playIndex","onAudioPlay","onAudioPause","setShowAudioPlayer","getAudioInstance","setplayOrPauseMusicindex","setPlayIndex","setcount","onAudioPlayTrackChange","currentPlayId","audioLists","audioInfo","findIndex","object","__PLAYER_KEY__","quietUpdate","clearPriorAudioLists","theme","showMiniModeCover","showDestroy","onBeforeDestroy","onAudioReload","onDestroyed","showDownload","defaultProps","AddPlayListModal","extra","selectedPlaylist","setSelectedPlaylist","playlistName","setPlaylistName","playlistType","setplaylistType","isPlaylistNameErrShow","setPlaylistNameErr","isCreatePlaylistInputShow","setCreatePlaylistInputShow","playlistData","setPlaylistData","albumActiveId","setalbumActiveId","onCreateAddPlaylist","createPlaylists","getPlaylistsByUser","resUserPlaylists","respCreatePlayList","newPlaylistItem","AddMusicToPlaylists","playlists","flexWrap","AddSongToSelectedPlaylist","renderPlaylist","Musics","showAudioPlayer","musicAlbumSongList","setmusicAlbumList","playOrPauseShow","setplayOrPauseShow","setmusicList","currentMusic","setcurrentMusic","audioInstance","setAudioInstance","playOrPauseMusic","setplayOrPauseMusic","barHide","setbarHide","playOrPauseMusicindex","showCommentSongModal","setShowCommentSongModal","commentSongInputText","setCommentSongInputText","showReportSongModal","setShowReportSongModal","reportSongInputText","setReportSongInputText","showAddPlayListModal","setShowAddPlayListModal","selectedSong","setSelectedSong","selectedMusicItem","setSelectedMusicItem","commentindex","setcommentindex","itemCount","resetShowAudioPlayer","funsetcurrentPlaymusic","playMusic","onPlay","increasecounter","musicSrc","list","details","downloadMusic","respFile","link","Blob","download","click","revokeObjectURL","createMusicDownload","musicId","respMusicDownload","updatecomment","extra1","createMusicLike","respMusicLike","resetMusicLike","formatTime","second","h","parseInt","zero","v","concat","currentALbumDetails","currentPlayMusic","countData","setcountData","play","pause","showMusicLike","albumname","time","NaN","instance","connect","counter","dispatch","Comments","createComments","respComments","setComments","setCommentError","setCommentInputVal","onChangeCommentText","commentInputVal","errorCommentMessage","maxHeight","FeaturedArtistDetails","buttonfollowDisable","setbuttonfollowDisable","setidd","setCurrentPlayMusic","setcurrentALbumDetails","albumIndex","showLoader","setshowLoader","albumList","setAlbumList","selectedAlbumMusics","setSelectedAlbumMusics","showMusics","setShowMusics","commentsPage","setCommentsPage","artistLikes","setArtistLikes","artistFollow","setArtistFollow","showReportArtistModal","setShowReportArtistModal","reportArtistInputText","setReportArtistInputText","musicLikesList","setLikesList","setMusicList","selectedAlbum","setSelectedAlbum","setAlbumLikesList","setAlbumLikesData","albumResetCount","albumResetCount1","setAlbumResetCount1","albmId","setAlbmId","artistLiked","callingCodes","followed","image","like","faceookURL","artistData","setArtistData","settingsArtist","margin","albumSettings","albumActive","setalbumActive","AlbumClass","classNames","wd260","wd239","ext1","ext2","getAlbumsByArtist","musicsData","musics","singer","cover","albumIds","getMusicsByAlbumUrlId","getAlbumLikesByUser","substr","lastIndexOf","objAlbumUrl","j","musicIds","arrMusics","getMusicLikesByUser","objAlbum","mItems","mitem","rank","onClickAlbum","getLikesByArtist","resArtistLikes","str","resMusicsLikes","mlikeIds","getFollowByArtist","resArtistFollow","createFollow","follower","respFollow","resetFollow","displayReportArtistModal","getCommentsByArtist","resAlbumLikes","albumLikeItems","createAlbumLike","respAlbumLike","setLikes1","resetAlbumLike","renderAlbumLikes","navigateToExternalLink","indexOf","blackmikefill","blackmike","apple","podcaste","facebookIcon","instagramIcon","itune","spotify","tiktok","youtube","loadSelectedArtist","ArtistUserId","NewsDetails","disable","setdisable","newsData","setNewsData","likesList","setNewsComments","getNewsComments","resNewsComments","getNewsLikes","resNewsLikes","flt","MoreInfo","loginUserId","setCurrentUserInfo","setMusicType","getCategoriesByArtist","resUserTypes","typeItems","renderMusicType","album_albumType","album_urlImage","album_name","substring","renderAlbumList","CreateNews","newsFiles","setNewsFiles","setNewsCategories","newsTitle","newsSubtitle","newsDescription","newsurlImage","newsDetails","setNewsDetails","setUploadNews","isNewsTitleErrShow","setNewsTitleErr","isNewsSubTitleErrShow","setNewsSubTitleErr","isNewsDescErrShow","setNewsDescErr","isNewsImgeErrShow","setisNewsImgeErrShow","fileItem","getNewsByName","uploadNewsFiles","saveNews","resetNews","coverFileName","respNews","saveNewsCategories","getNewsSubcategories","createNewsCategories","deleteNewsCategory","EventsDetails","eventsLikes","setEventsLikes","liked","getEventDetailsById","getEventCategoriesByEventId","resCategory","getEventsLikes","eventId","resEventsLikes","createEventsLike","renderCategories","podFiles","setPodFiles","setEventCategories","eventName","eventLink","eventDescription","eventurlImage","eventAddress","eventDetails","setEventDetails","setUploadEvents","isEventNameErrShow","setEventNameErr","isEventAddressErrShow","setEventAddressErr","isEventDateErrShow","setEventDateErr","isEventLinkErrShow","setEventLinkErr","isEventDescErrShow","setEventDescErr","isEventImgeErrShow","setisEventImgeErrShow","getEventsByName","uploadEventsFiles","createEvents","resetEvents","respEvents","saveEventsCategories","getEventsSubcategories","createEventsCategories","deleteEventCategory","showTimeSelect","minDate","dateFormat","CommentsModal1","send","ShareModal1","getBigstageDetails","VideoPlayer","currentVideo","setcurrentVideo","currentVideoList","setcurrentVideoList","currentItem","setcurrentItem","webview","setwebview","setshow","reportshow","setreportshow","reportshow1","setreportshow1","commentshow","setcommentshow","setvariant","varient","setvarient","artistlikes","setartistlikes","artistfollow","setartistfollow","artistlikesId","setartistlikesId","artistfollowId","setartistfollowId","getMusicByAlbumId","resAlbumVideos","musicAlbumByData","createLike","Id","apicom","callbigsatge","thumb","callpodcast","resEpisodes","thumbnailUrlImage","callnewsong","idValue","queryString","search","screen","variant1","onProgress","played","commentimg","row","Follows","activeTab","followedData","followingData","refreshData","followItem","Tabs","defaultActiveKey","transition","Tab","Profile","profileReadOnly","setprofileReadOnly","showFollows","setShowFollows","setActiveTab","artistsFollowedData","setArtistsFollowedData","showConfirmModal","setShowConfirmModal","artistsFollowingData","setArtistsFollowingData","profilImg","avatarImg","profilePicture","subscribed","countryCode","cityList","stateList","countryList","personalInfoData","setPersonalInfoData","fullName","playlist","followers","following","basicInfo","setBasicInfo","emailConfirmDialog","setEmailConfirmDialog","setPersonalTabMode","existingUserCategoryList","setExistingUserCategoryList","validate","otpScreenHideOrShow","setOtpScreenHideOrShow","OTPEmailVerifyDetails","setOTPEmailVerifyDetails","userNameErr","setuserNameErr","userNameErrMsg","setuserNameErrMsg","phoneNoErrMsg","setPhoneNoErrMsg","setTitleErrMsg","setBiographyErrMsg","setTypesErrMsg","setCategoryErrMsg","isPasswordShow1","setPasswordShow1","isPasswordShow2","setPasswordShow2","React","switch1","switch2","switch3","switch4","switchState","setSwitchState","streamingQualityList","downloadQualityList","selectedStreamingQuality","selectedDownloadQuality","downloadUsingCellular","offlineMode","compressAllMyTracks","isPasswordChangeSecShow","isCurrentPasswordShow","isNewPasswordShow","isConfirmPasswordShow","currentPassword","settingsTabState","setSettingsTabState","isCurrentPasswordErrShow","currentPasswordErrMsg","currentPasswordErr","setCurrentPasswordErr","isNewPasswordErrShow","setNewPasswordErr","isConfirmPasswordErrShow","seConfirmPasswordErr","facebook","instagram","socialMediaProfileVal","setSocialMediaProfileVal","setcountryId","setstateId","getUserMiniDashBoard","resUseInfo","fUserCountry","countryName","fUserState","fUserCity","subTypeItems","getSubcategoriesByCategories","key","validCurrentPassword","respChangePassword","changePassword","enableDisableNotification","enableNotification","respUpdateNotification","refreshUserInfoLocalStorage","enableDisableRecommendedMusic","recommendedMusic","respUpdateRecoMusic","enableDisablePlaylistUpdates","playlistUpdates","respPlayListUpdates","enableDisableArtistUpdates","artistUpdates","respArtistUpdates","userInfo","removeItem","updatedUserInfo","getEmailChangeInput","updateEmailByUser","respUpdate","updatePersonalProfileInfo","profileImageName","apiName","deleteSetSelectedTypesAndCategoriesForUser","respDelete","citems","deleteUserCategories","cancelUploadProfilePic","uploadProfileImage","selPicture","updateUserProfilePicture","getArtistFollowers","resFollowed","getArtistFollowing","resFollowing","minWidth","readOnly","autoFocus","saveChanges","isValid","AddEditPlaylist","refreshItems","itemName","playlistTypeext","showNewPlaylistModal","setShowNewPlaylistModal","showAddSongsModal","setShowAddSongsModal","setIsAddSongsSectionShow","selectedSongs","songsListState","setSongsListState","selectedSongID","setSelectedSongID","exitingSongID","setExitingSongID","newPlaylist","setNewPlayList","showConfirmSongEmptyBox","setShowConfirmSongEmptyBox","getAllMusics","songName","getMusicsByPlayList","playlistId","resPlayListsMusics","selecteditms","exItem","musics_id","musicplaylists_id","getPlaylistByName","resPlaylist","createUpdatePlaylists","respPlayList","saveSongToPlayList","promise","callSaveSongToPlayList","rsp","resetPlayListModal","deleteExistingMusicFromPlayList","deleteMusicFromPlaylist","renderPlusMinusImg","includes","plusImg","arr","addSongID","ConfirmDeleteModal","setdeleteModal","deleteModal","onconfirmDelete","MyItems","headerTitle","showLikes","showDownloads","setData","showAddEditPlaylistModal","setShowAddEditPlaylistModal","setItemName","setItemId","setLiked","downloads","setDownloads","deleteItemIndex","setdeleteItemIndex","getMyData","selectedItem","deleteResponse","statusText","getMusicLikes","resMusicLikes","getMusicDownloads","resMusicDownloads","getPodcastLikes","resPodcastsLikes","getEventLikes","onCreate","likeSquareImg","downloadImg","sItem","stateObj","onClickItem","sObj","onEdit","onDelete","MyAlbums","MyPlaylists","PlaylistDetails","setPlayListItemObj","CurrentPlayMusic","typeext","settype","musicDownloadList","playlistInfo","setPlaylistInfo","getMusicsByPlayLists","playListname","getMusicDownloadsByUser","resMusicsDownloads","mdonwloadIds","getPlaylistsById","obj","MyNews","MyEvents","PodcastDetails","setvideostate","idf","setidf","setPodcastLikes","setalldata","setartist","setpage","setepisode","ismore","setismore","setPodcastItem","callepisode","episodeType","createEpisodeLike","episodeId","respEpisodeLike","resetEpisodeLike","getPodcastDeatilsById","itmMusic","getPodcastSubcategories","getPodcastComments","commentItemId","resPodcastComments","resPodcastLikes","MyPodcasts","UploadPodcast","podFiles1","setPodFiles1","setPodCastCategories","podcastTitle","podcasturlPodcast","podcastDescription","podcasturlImage","uploadedPodcast","setPodcastDetails","isUploadPodcast","setUploadPodcast","isPodcastTitleErrShow","setPodcastTitleErr","isPodcastDescErrShow","setPodcastDescErr","getPodcastByName","uploadPodcastFiles1","createPodcast","resetUploadPodcast","podcastTypeType","podcastFileName","originalAudioVideoFileName","respPodcast","savePodcastCategories","resSubcategories0","createPodcastCategories","deletePodcastCategory","Addepisode","showSelectedPodcastFile","setShowSelectedPodcastFile","uploadPodcastFiles","getVideoDuration","media","Audio","onloadedmetadata","readAsDataURL","renderUploadedPodcast","ScrollToTop","PageNotFound","class","smily","albumImage","setalbumImage","setalbumName","setalbumtype1","AlbumIdByUser","resAlbumId","textTransform","App","exact","component","FeaturedArtist","Aboutus","Privacy","MyAlbumsDetails","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","INITIAL_STATE","reducer","rootReducer","combineReducers","counterReducer","store","createStore","StrictMode"],"mappings":"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","file":"static/js/main.758a4266.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo.6ce24c58.svg\";","export default __webpack_public_path__ + \"static/media/logo.673c0fc2.png\";","import dotenv from 'dotenv'\r\n// // const url = 'http://192.168.29.211:3000/';\r\n// const prod = \"https://api.multimusicmoguls.com/\";\r\n// const dev = \"http://45.80.152.23:4527/\";\r\nconst cdnURL = process.env.REACT_APP_CDN_URL;//\"https://cdn.multimusicmoguls.com/\";\r\nconst url = process.env.REACT_APP_API_BASE_URL;//process.env.REACT_APP_NODE_ENV === \"development\" ? dev : prod;\r\nconst isAWS = process.env.REACT_APP_ISAWS === \"Yes\" ? true : false;\r\n\r\n// console.log(\"constants - process.env.REACT_APP_ISAWS: \", process.env.REACT_APP_ISAWS)\r\n// console.log(\"constants - isAWS: \", isAWS)\r\n\r\nconst siteURL = process.env.REACT_APP_SITEURL; //Hitendra\r\n\r\nexport const constant = {\r\n baseURL: url, //process.env.REACT_APP_NODE_ENV === \"development\" ? dev : prod,\r\n isAws: isAWS,\r\n siteURL: siteURL, //Hitendra\r\n // uplFileParameter: isAWS ? 'image' : 'file',\r\n uplFileParameter: 'file',\r\n musicFileUploadURL: isAWS ? url + 'awsmusicfiles' : url + 'musicfiles/uploadMultipleFiles',\r\n podcastFileUploadURL: isAWS ? url + 'awspodcastfiles' : url + 'podcastfiles/uploadMultipleFiles',\r\n podcastepisodeFileUploadURL: isAWS ? url + 'awsepisodefiles' : url + 'episodefiles/uploadMultipleFiles',\r\n newsFileUplodaURL: isAWS ? url+'awsnewsfiles' : url+'newsfiles',\r\n eventsFileUploadURL: isAWS ? url+'awseventsfiles' : url+'eventsfiles',\r\n profileFileUploadURL: isAWS ? url+'awsprofilefiles' : url+'profilefiles',\r\n albumFileUploadURL: isAWS ? url+'awsalbumfiles' : url+'albumfiles',\r\n\r\n\r\n downloadURL: url + \"files/\",\r\n userImageURL: isAWS ? cdnURL + \"uploads/profile/user.png\" : url + \"files/user.png\",\r\n artistImageURL: isAWS ? cdnURL + \"uploads/profile/artist.png\" : url + \"files/artist.png\",\r\n musicURL: isAWS ? cdnURL + \"uploads/music.png\" : url + \"files/music.png\",\r\n videoURL: isAWS ? cdnURL + \"uploads/video.png\" : url + \"files/video.png\",\r\n profileURL: isAWS ? cdnURL + \"uploads/profile/\" : url + \"profilefiles/\",\r\n bigStageThumbnailURL: isAWS ? cdnURL + \"uploads/bigstage/thumbnails/\" : url + \"bigstagethumbnailfiles/\",\r\n bigStageVideoURL: isAWS ? cdnURL + \"uploads/bigstage/videos/\" : url + \"bigstagevideofiles/\",\r\n albumFileURL: isAWS ? cdnURL + \"uploads/album/\" : url + \"albumfiles/\",\r\n musicFileURL: isAWS ? cdnURL + \"uploads/music/\" : url + \"musicfiles/\",\r\n podcastFileURL: isAWS ? cdnURL + \"uploads/podcast/\" : url + \"podcastfiles/\",\r\n podcastcategorythumbnailFileURL: isAWS ? cdnURL + \"uploads/subcategory/\" : url + \"subcategoryfiles/\",\r\n podcastepisodeFileURL: isAWS ? cdnURL + \"uploads/episode/\" : url + \"episodefiles/\",\r\n newsFileURL: isAWS ? cdnURL + \"uploads/news/\" : url + \"newsfiles/\",\r\n podcastCategoryURL: isAWS ? cdnURL + \"uploads/podcastcategory.png\" : url + \"files/podcastcategory.png\",\r\n eventsFileURL: isAWS ? cdnURL + \"uploads/events/\" : url + \"eventsfiles/\",\r\n \r\n\r\n appStoreURL: \"https://apps.apple.com/us/app/multimusicmoguls/id1627684377\",\r\n playStoreURL: \"https://play.google.com/store/apps/details?id=com.mmm.app\",\r\n \r\n //static image path\r\n loginBackgroundImageURL: cdnURL + \"uploads/images/loginbackground.png\",\r\n \r\n validateToken: url + \"auth/validateToken\",\r\n updateEmail: url + \"user/updateUserEmailAddress/\",\r\n // satyam Start 16/09/2021\r\n deletePodcast: url + \"podcasts/deletePodcast\",\r\n deleteNews: url + \"news/deleteNews\",\r\n deleteAlbum: url + \"albums/deleteAlbum\",\r\n deletePlaylist: url + \"playlists/deletePlaylists\",\r\n deleteEvent: url + \"events/deleteEvents\",\r\n deleteEpisode: url + \"episode/deleteEpisode\",\r\n // satyam End 16/09/2021\r\n facebookURL: \"https://www.facebook.com/\",\r\n instagramURL: \"https://www.instagram.com/\",\r\n twitterURL: \"https://twitter.com/\",\r\n\r\n acceptedAudio:\r\n \"audio/opus,audio/flac,audio/webm,audio/weba,audio/wav,audio/ogg,audio/m4a,audio/mp3,audio/oga,audio/mid,audio/amr,audio/aiff,audio/wma,audio/au,audio/aac,audio/mp4,audio/avi,audio/mov,audio/*\",\r\n acceptedVideo:\r\n \"video/mp3,video/mpeg,video/ogm,video/mpg,video/wmv,video/webm,video/mp4,video/avi,video/mov,video/x-m4v,video/*\",\r\n supportedImageFiles: [\".jpg\", \".jpeg\", \".png\"],\r\n supportedVideoFiles: [\r\n \".ogm\",\r\n \".wmv\",\r\n \".mpg\",\r\n \".webm\",\r\n \".ogv\",\r\n \".mov\",\r\n \".asx\",\r\n \".mpeg\",\r\n \".mp4\",\r\n \".m4v\",\r\n \".avi\",\r\n ],\r\n supportedAudioFiles: [\r\n \".opus\",\r\n \".flac\",\r\n \".webm\",\r\n \".weba\",\r\n \".wav\",\r\n \".ogg\",\r\n \".m4a\",\r\n \".mp3\",\r\n \".oga\",\r\n \".mid\",\r\n \".amr\",\r\n \".aiff\",\r\n \".wma\",\r\n \".au\",\r\n \".aac\",\r\n \".mp4\",\r\n \".avi\",\r\n \".mov\",\r\n ],\r\n supportedAudioVideoFiles: [\r\n \".opus\",\r\n \".flac\",\r\n \".weba\",\r\n \".oga\",\r\n \".mid\",\r\n \".amr\",\r\n \".aiff\",\r\n \".au\",\r\n \".ogm\",\r\n \".wmv\",\r\n \".mpg\",\r\n \".webm\",\r\n \".ogv\",\r\n \".mp4\",\r\n \".mp3\",\r\n \".avi\",\r\n \".mov\",\r\n \".wav\",\r\n \".wma\",\r\n \".aac\",\r\n \".ogg\",\r\n \".flv\",\r\n \".m4v\",\r\n \".m4p\",\r\n ],\r\n\r\n //Messages\r\n passwordReg: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{6,20}$/,\r\n createAccountTitle: \"Please tell us what you want to be.\",\r\n loginTitle: \"Welcome\",\r\n loginSubtitle: \"Enter your email and password to play your music\",\r\n invalidCredentials: \"Invalid Credentials\",\r\n invalidEmailAddress: \"Invalid email\",\r\n emailRequired: \"Email Required\",\r\n passwordRequired: \"Password Required\",\r\n firstNameRequired: \"FirstName Required\",\r\n lastNameRequired: \"LastName Required\",\r\n passwordValidationMsg: \"Password must be at least 8 characters long, contain at least one special character, number and have a mixture of uppercase and lowercase letters.\",\r\n //\"Password should be min-8, max-20 characters long including(digits, special characters)\",\r\n passwordShouldSame: \"Password should be same\",\r\n emailRegistered: \"Email is already registered\",\r\n otpSubject: \"OTP For Email Verification\",\r\n unableToValidateEmail: \"Unable to validate email\",\r\n createAnAccountTitle: \"Create An Account\",\r\n createAnAccountSubtitle: \"Join us and Listen to your favourite music\",\r\n tickOnTermCondition: \"Please Tick on Terms and Condition\",\r\n onlyAlphanumericAllowed: \"Only alphanumeric chars are allowed\",\r\n invalidText: \"Invalid Text\",\r\n phoneRequired: \"Phone Required\",\r\n titleRequired: \"Title Required\",\r\n biographyRequired: \"Biography Required\",\r\n streetRequired: \"Street Required\",\r\n cityRequired: \"City Required\",\r\n stateRequired: \"State Required\",\r\n countryRequired: \"Country Required\",\r\n phoneLength: \"Phone should be 10 chars long.\",\r\n titleLength: \"Title should be 255 chars long\",\r\n biographyLength: \"Biography should be 255 chars long\",\r\n streetLength: \"Street should be 255 chars long\",\r\n typeRequired: \"Type Required\",\r\n categoryRequired: \"Category Required\",\r\n completeProfileTitle: \"Complete Profile\",\r\n completedProfileSubtitle:\r\n \"Please fill below details to complete your profile.\",\r\n invalidURL: \"Invalid URL. (type url like http://www.sample.com)\", //Invalid URL. (Start URL with http:// or https://)\r\n currentPasswordRequired: \"Current password required\",\r\n newPasswordRequired: \"New password required\",\r\n confirmPasswordRequired: \"Confirm password required\",\r\n currentPasswordValidation:\"Your password must be at least 8 characters long, contain at least one special character, number and have a mixture of uppercase and lowercase letters.\",\r\n //\"Your password must be at least 8 characters long, contain at least one special character(excluding @), number and have a mixture of uppercase and lowercase letters.\",\r\n newConfirmPasswordSame: \"New and confirm password should be same\",\r\n enterCorrectCurrentPwd: \"Please enter correct current password\",\r\n passwordChanged: \"Password Changed\",\r\n notificationUpdated: \"Notification Updated\",\r\n profileUpdated: \"Profile Updated\",\r\n errorWhileProfileUpdate: \"Error in profile update\",\r\n addressRequired: \"Address Required\",\r\n emailUpdated: \"Email Updated\",\r\n commonUserNameRequired:\"User Name Required\",\r\n onlyNumbersAllowed: \"Only Numbers Allowed\",\r\n mic: \"Mic\",\r\n unmic: \"Unmic\",\r\n\r\n myMusicLabel: \"My Music\",\r\n myPlaylistsLabel: \"My Playlists\",\r\n myPodcastsLabel: \"My Podcasts\",\r\n myNewsLabel: \"My News\",\r\n myEventsLabel: \"My Events\",\r\n profileLabel: \"Profile\",\r\n logoutLabel: \"Logout\",\r\n loginLabel: \"Login\",\r\n homeLabel: \"Home\",\r\n supportLabel: \"Support\",\r\n aboutusLabel: \"About us\",\r\n privacyLabel: \"Privacy Policy\",\r\n theBigStageLabel: \"The Big Stage\",\r\n communityRoomLabel: \"Community Room\",\r\n featuredArtistLabel: \"Featured Artist\",\r\n uploadMusicLabel: \"Upload Music\",\r\n podcastLabel: \"Podcast\",\r\n newsLabel: \"News\",\r\n eventsLabel: \"Events\",\r\n requiredLabel: \"Required\",\r\n showMoreLabel: \"Show More\",\r\n noDataFoundLabel: \"Coming Soon...\",\r\n profilePictureRequiredLabel: \"Profile picture required\",\r\n youTubeSubscribeURL: \"https://m.youtube.com/channel/UC6xoVqjS4cw-XpSEQl-ydig?sub_confirmation=1\",\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport async function getDataApi(URL) {\r\n //console.log(URL);\r\n try {\r\n let response = await fetch(URL).then((response) => response.json());\r\n return response;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n\r\nexport async function getDataApiWithBlob(URL) {\r\n try {\r\n let response = await fetch(URL).then((response) => response.blob());\r\n return response;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n\r\nexport async function postDataApi(URL, data, header) {\r\n //console.log(URL, header);\r\n try {\r\n let response = await axios\r\n .post(URL, data, header)\r\n .then((response) => {\r\n //console.log(response);\r\n return response;\r\n })\r\n .catch((error) => {\r\n //console.log(\"error:\", error);\r\n });\r\n return response;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n\r\nexport async function patchDataApi(URL, data, header) {\r\n //console.log(URL, header);\r\n try {\r\n let response = await axios\r\n .patch(URL, data, header)\r\n .then((response) => {\r\n //console.log(response);\r\n return response;\r\n })\r\n .catch((error) => error);\r\n return response;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n\r\nexport async function deleteDataApi(URL, header) {\r\n //console.log(URL, header);\r\n try {\r\n let response = await axios\r\n .delete(URL, header)\r\n .then((response) => {\r\n //console.log(response);\r\n return response;\r\n })\r\n .catch((error) => error);\r\n return response;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/homeBg.2958bc13.png\";","import React from \"react\";\r\nimport { ToastContainer, toast, Zoom } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\ntoast.configure();\r\nexport const addSuccessMesage = (props) => {\r\n //console.log(props);\r\n toast.success(props, {\r\n position: \"top-right\",\r\n autoClose: 2000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n};\r\n\r\nexport const addErrorMesage = (props) => {\r\n //console.log(props);\r\n toast.error(props, {\r\n position: \"top-right\",\r\n autoClose: 2000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n};\r\n","import ModalDialog from \"react-bootstrap/ModalDialog\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport reactDom from \"react-dom\";\r\nimport ReactDOM from \"react-dom\";\r\nimport Loader from \"react-loader-spinner\";\r\nexport function addLoader() {\r\n ReactDOM.render(\r\n \r\n {/*
hello
*/}\r\n \r\n {/* */}\r\n ,\r\n document.getElementById(\"loader\")\r\n );\r\n}\r\nexport function removeLoader() {\r\n reactDom.unmountComponentAtNode(document.getElementById(\"loader\"));\r\n}\r\n\r\nexport function DisableButtonLoader() {\r\n return (\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { postDataApi } from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\n// import {\r\n// addErrorMessage,\r\n// addLoader,\r\n// addSuccessMessage,\r\n// removeLoader,\r\n// } from \"../../utility/LoadingContent\";\r\n\r\nconst OTPVerification = () => {\r\n const [inputVal, setInputVal] = useState({\r\n input1: \"\",\r\n input2: \"\",\r\n input3: \"\",\r\n input4: \"\",\r\n input5: \"\",\r\n });\r\n const input1Ref = useRef();\r\n const input2Ref = useRef();\r\n const input3Ref = useRef();\r\n const input4Ref = useRef();\r\n const input5Ref = useRef();\r\n const [OTPError, setError] = useState({ isOtpErrorShow: false });\r\n const [OTPErrormsg, setOTPErrorMsg] = useState(\"\");\r\n var history = useHistory();\r\n\r\n //let userEmail = localStorage.getItem('userEmail');\r\n let createAccountData = {};\r\n let otpDetails = {};\r\n \r\n\r\n if (localStorage.getItem(\"createAccountData\") !== null) {\r\n createAccountData = JSON.parse(localStorage.getItem(\"createAccountData\"));\r\n //console.log(\"createAccountData: \", createAccountData);\r\n }\r\n\r\n if (localStorage.getItem(\"OTPDetails\") !== null) {\r\n otpDetails = JSON.parse(localStorage.getItem(\"OTPDetails\"));\r\n //console.log(\"otpDetails: \", otpDetails);\r\n }\r\n\r\n useEffect(() => {\r\n if (history.action === \"POP\") {\r\n return history.push(\"/login\");\r\n }\r\n }, []);\r\n\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n //console.log(input1Ref);\r\n let inputType = e.nativeEvent.inputType;\r\n let numReg = new RegExp(\"^[0-9]$\");\r\n if (text === \"\" || (numReg.test(text) && text.length <= 1)) {\r\n setInputVal({ ...inputVal, [name]: text });\r\n // console.log(text)\r\n if (name === \"input1\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input1Ref.current.blur();\r\n } else {\r\n input1Ref.current.blur();\r\n input2Ref.current.focus();\r\n }\r\n }\r\n if (name === \"input2\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input2Ref.current.blur();\r\n input1Ref.current.focus();\r\n } else {\r\n input2Ref.current.blur();\r\n input3Ref.current.focus();\r\n }\r\n }\r\n if (name === \"input3\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input3Ref.current.blur();\r\n input2Ref.current.focus();\r\n }\r\n input3Ref.current.blur();\r\n input4Ref.current.focus();\r\n }\r\n if (name === \"input4\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input4Ref.current.blur();\r\n input3Ref.current.focus();\r\n }\r\n input4Ref.current.blur();\r\n input5Ref.current.focus();\r\n }\r\n if (name === \"input5\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input5Ref.current.blur();\r\n input4Ref.current.focus();\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onSubmit = () => {\r\n //addLoader();\r\n const { input1, input2, input3, input4, input5 } = inputVal;\r\n if ((!input1 && !input2 && !input3, !input4 && !input5)) {\r\n setError({ isOtpErrorShow: true });\r\n //removeLoader();\r\n }\r\n if (!input1) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input2) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input3) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input4) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input5) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if ((input1 && input2 && input3, input4 && input5)) {\r\n setError({ isOtpErrorShow: false });\r\n //console.log(localStorage.getItem(\"fromComponent\") === \"Login\");\r\n\r\n if (localStorage.getItem(\"fromComponent\") === \"Login\") {\r\n //console.log(\"hiiiii\");\r\n let otCode = input1 + input2 + input3 + input4 + input5;\r\n if (otpDetails !== undefined && otpDetails.data !== undefined) {\r\n if (otCode.toString() == otpDetails.data.code.toString()) {\r\n //dispatch(showHomePageRightCont('ResetPassword'));\r\n // console.log(\"hello\");\r\n //addSuccessMessage(\"OTP Verified\");\r\n history.push(\"resetpassword\");\r\n addSuccessMesage(\"OTP verified\");\r\n } else {\r\n //removeLoader();\r\n // input1Ref.innerText = \"\";\r\n setInputVal({\r\n input1: \"\",\r\n input2: \"\",\r\n input3: \"\",\r\n input4: \"\",\r\n input5: \"\",\r\n });\r\n // setInputVal((prevState) => {\r\n // return {\r\n // ...prevState,\r\n\r\n // };\r\n // });\r\n addErrorMesage(\"Entered code is not valid\");\r\n // addErrorMessage(\"Entered code is not valid\");\r\n //console.log(\"Entered code is not valid\");\r\n }\r\n }\r\n } else {\r\n //dispatch(showHomePageRightCont('CompleteProfile'));\r\n let otCode = input1 + input2 + input3 + input4 + input5;\r\n if (otpDetails !== undefined && otpDetails.data !== undefined) {\r\n if (otCode.toString() == otpDetails.data.code.toString()) {\r\n //addSuccessMessage(\"OTP Verified\");\r\n\r\n //console.log(\"Verified User By User\");\r\n createUser();\r\n } else {\r\n //console.log(\"Entered code is not valid\");\r\n setInputVal({\r\n input1: \"\",\r\n input2: \"\",\r\n input3: \"\",\r\n input4: \"\",\r\n input5: \"\",\r\n });\r\n //console.log(\"otp incorrect\");\r\n // setInputVal((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // input1: \"\",\r\n // input2: \"\",\r\n // input3: \"\",\r\n // input4: \"\",\r\n // input5: \"\",\r\n // };\r\n // });\r\n setOTPErrorMsg(\"Entered code is not valid.\");\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n// //upload profile picture\r\n// const onUploadProfilePictureAndCreateUser = async () => {\r\n// console.log(\"Selected Profile Image: \", createAccountData.urlImage);\r\n// addLoader();\r\n// if (createAccountData.urlImage.length > 0) {\r\n// let customHeaders = {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"multipart/form-data\",\r\n// Authorization: \"Bearer \",\r\n// };\r\n// let data = new FormData();\r\n// data.append(\"image\", createAccountData.urlImage[0]);\r\n// let res = await postDataApi(\r\n// constant.baseURL + \"profilefiles\",\r\n// data,\r\n// customHeaders\r\n// );\r\n// console.log(\"res\", res);\r\n// if (res.data.status === 200) {\r\n// createUser(res.data.data.filename);\r\n// }else{\r\n// removeLoader();\r\n// }\r\n// }\r\n// };\r\n\r\n\r\n const createUser = async () => {\r\n addLoader();\r\n let jsonData = {\r\n firstName: createAccountData.firstName,\r\n lastName: createAccountData.lastName,\r\n userName: createAccountData.userName,\r\n email: createAccountData.email,\r\n phone: createAccountData.phone,\r\n password: createAccountData.password,\r\n usertype: createAccountData.usertype,\r\n subscribeYouTubeChannel: createAccountData.subscribeYouTubeChannel,\r\n isAdminManaged:0,\r\n urlImage: createAccountData.urlImage\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in createAccountData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(createAccountData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\", //\"none\",\r\n };\r\n let responseUser = await postDataApi(\r\n constant.baseURL + \"auth/signup\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"responseUser: \", responseUser);\r\n if (\r\n responseUser !== undefined &&\r\n responseUser.status !== undefined &&\r\n responseUser.status === 201\r\n ) {\r\n //dispatch(setUserObject(responseUser));\r\n localStorage.setItem(\"newUser\", JSON.stringify(responseUser.data));\r\n removeLoader();\r\n // addSuccessMessage(\"Account Created!\");\r\n history.push(\"completeProfile\");\r\n addSuccessMesage(\"Account Created!\");\r\n // enqueueSnackbar('Account Created!', {\r\n // variant: 'success', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n if (\r\n responseUser.data !== undefined &&\r\n responseUser.data.usertype === \"Artist\"\r\n ) {\r\n removeLoader();\r\n //addSuccessMessage(\"Account Created!\");\r\n history.push(\"completeProfile\");\r\n //dispatch(showHomePageRightCont('CompleteProfile'));\r\n } else {\r\n //dispatch(showHomePageRightCont('Login'));\r\n localStorage.clear();\r\n history.push(\"login\");\r\n }\r\n }\r\n };\r\n const resendOTP = async () => {\r\n addLoader();\r\n // let jsonData0 = {\r\n // email: createAccountData.email,\r\n // };\r\n // console.log(jsonData0);\r\n // localStorage.setItem(\"userEmail\", inputVal.email);\r\n // localStorage.setItem(\"createAccountData\", JSON.stringify(jsonData0));\r\n\r\n let otpCode = Math.floor(10000 + Math.random() * 90000);\r\n let jsonData = {\r\n email: createAccountData.email,\r\n code: otpCode,\r\n subject: \"OTP For Email Verification\",\r\n body:\r\n \"You requested for a Open Your account, kindly use this code \" +\r\n otpCode +\r\n \" to Open your account.\",\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let responseOTP = await postDataApi(\r\n constant.baseURL + \"user/verifyEmailAndSendOTP\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseOTP: \", responseOTP);\r\n if (\r\n responseOTP !== undefined &&\r\n responseOTP.data !== undefined &&\r\n responseOTP.data.status !== undefined &&\r\n responseOTP.data.status == true\r\n ) {\r\n localStorage.setItem(\"OTPDetails\", JSON.stringify(responseOTP));\r\n removeLoader();\r\n addSuccessMesage(\"OTP Sent Successfully\");\r\n // addSuccessMessage(\"OTP Sent Successfully\");\r\n history.push(\"otpverification\");\r\n // dispatch(showHomePageRightCont('OTPVerification'));\r\n } else {\r\n //console.log(\"Please Not\");\r\n removeLoader();\r\n //addErrorMessage(\"Unable to Validate email\");\r\n //unable to send otp code\r\n addErrorMesage(\"Unable to validate email!\");\r\n // addErrorMesage(\"Unable to validate email!\");\r\n // enqueueSnackbar('Unable to validate email!', {\r\n // variant: 'error', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
OTP Verification
\r\n
\r\n We have sent you One Time Password on{\" \"}\r\n \r\n {createAccountData.email}\r\n {\" \"}\r\n to verify your email id.\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Submit\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {OTPError.isOtpErrorShow === true ? (\r\n
\r\n Please Fill OTP Details.\r\n
\r\n ) : (\r\n
\r\n {OTPErrormsg.length !== 0 ? (\r\n
{OTPErrormsg}
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n )}\r\n Didn't receive the OTP?{\" \"}\r\n \r\n Resend\r\n \r\n
\r\n
\r\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 OTPVerification;\r\n","import { useEffect } from \"react\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nimport OTPVerification from \"../components/OTPVerification/OTPVerification\";\r\nimport { getDataApi, postDataApi } from \"./apiCall\";\r\nimport { constant } from \"./constant\";\r\nexport const VerifyLoginExistOrNot = () => {\r\n\r\n //console.log(\"jayraj1\",localStorage.getItem(\"UserToken\"))\r\n if (\r\n localStorage.getItem(\"UserToken\") === undefined ||\r\n localStorage.getItem(\"UserToken\") === null ||\r\n localStorage.getItem(\"UserToken\") === \"\"\r\n ) {\r\n //console.log(\"jayraj2\")\r\n // window.alert(\"user exist\");\r\n return false;\r\n } else {\r\n //console.log(\"jayraj3\")\r\n return true;\r\n }\r\n // const getVerifyToken = async () => {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // var userToken = localStorage.getItem(\"UserToken\");\r\n // var userdata = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n // let jsonData = {\r\n // token: userToken,\r\n // id: userdata.id,\r\n // };\r\n // console.log(jsonData);\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // let responseData = await Promise.resolve(\r\n // postDataApi(\r\n // \"http://45.80.152.23:4527/auth/validateToken\",\r\n // jsonData,\r\n // authHeader\r\n // )\r\n // .then((response) => {\r\n // console.log(\"responseData: \", responseData);\r\n // console.log(\r\n // responseData.data === true &&\r\n // responseData.status === 201 &&\r\n // responseData.statusText === \"Created\"\r\n // );\r\n // if (\r\n // responseData.data === true &&\r\n // responseData.status === 201 &&\r\n // responseData.statusText === \"Created\"\r\n // ) {\r\n // console.log(\r\n // \"hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\"\r\n // );\r\n // return true;\r\n // } else {\r\n // console.log(\r\n // \"hellloiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\"\r\n // );\r\n // return false;\r\n // }\r\n // })\r\n // .catch(() => {})\r\n // );\r\n // };\r\n // return getVerifyToken();\r\n // }\r\n};\r\nexport const verifyLoginUserType = () => {\r\n // const [currentUserInfo, setCurrentUserInfo] = useState(\r\n // localStorage.getItem(\"UserInfo\") !== null\r\n // ? )\r\n // : undefined\r\n // );\r\n if (\r\n localStorage.getItem(\"UserToken\") === undefined ||\r\n localStorage.getItem(\"UserToken\") === null ||\r\n localStorage.getItem(\"UserToken\") === \"\"\r\n ) {\r\n return false;\r\n } else {\r\n let data = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n if (data !== null && data.usertype === \"Artist\") return true;\r\n else return false;\r\n }\r\n};\r\n\r\n// export const openCompleteProfile = () => {\r\n// let data = JSON.parse(localStorage.getItem(\"newUser\"));\r\n// console.log(data);\r\n// if (data !== null) {\r\n// console.log(\"hiii-------------------------------\");\r\n// return true;\r\n// } else {\r\n// // redirect to login page\r\n// return false;\r\n// }\r\n// };\r\n\r\n// export const openOtpPage = () => {\r\n// let data = JSON.parse(localStorage.getItem(\"userEmail\"));\r\n// console.log(data);\r\n// if (data !== null) {\r\n// console.log(\"hiii-------------------------------\");\r\n// return ;\r\n// } else {\r\n// // redirect to login page\r\n// return ;\r\n// }\r\n// };\r\n// OTPDetails\r\n","import base64url from \"base64url\";\r\nvar urlencode = require(\"urlencode\");\r\nexport function encodeURL(data) {\r\n let data1 = urlencode(data, \"gbk\");\r\n return data1;\r\n}\r\nexport function decodeURL(data) {\r\n return urlencode.decode(data);\r\n}\r\nexport function hashCodeUrl(data) {\r\n let data1 = base64url(String(data));\r\n return data1;\r\n}\r\nexport function hashCodeUrlDecode(datatodecode) {\r\n if(datatodecode !== undefined && datatodecode !== null && datatodecode !== \"\"){\r\n let data = base64url.decode(datatodecode);\r\n return data !== undefined ? data : \"\";\r\n }else{\r\n return \"\";\r\n }\r\n \r\n}\r\n","import { useLocation } from \"react-router-dom\";\r\nimport { hashCodeUrl } from \"./EncodeAndDecodeUrl\";\r\n\r\nexport function GetPath() {\r\n const path = useLocation();\r\n if (\r\n path.pathname === \"/login\" ||\r\n path.pathname === \"/createAccount\" ||\r\n path.pathname === \"/otpverification\" ||\r\n path.pathname === \"/completeProfile\" ||\r\n path.pathname === \"/forgotpassword\" ||\r\n path.pathname === \"/resetpassword\" ||\r\n path.pathname === \"/completeprofile\" ||\r\n path.pathname === \"/firstAlbumMessage\" ||\r\n path.pathname === \"/createAlbum\"\r\n )\r\n return false;\r\n return true;\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link, NavLink, useHistory, useLocation } from \"react-router-dom\";\r\nimport logo from \"../../assets/Images/logo.png\";\r\nimport icon from \"../../assets/Images/icon.png\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n Navbar,\r\n Nav,\r\n NavDropdown,\r\n} from \"react-bootstrap\";\r\nimport {\r\n VerifyLoginExistOrNot,\r\n verifyLoginUserType,\r\n} from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { GetPath } from \"../../utility/GetPath\";\r\n\r\nimport { BrowserView, MobileView, isBrowser, isMobile, IOSView, isAndroid } from 'react-device-detect'\r\n\r\n\r\nconst Header = () => {\r\n //console.log(\"--isMobile--\", isMobile, \"--isBrowser--\", isBrowser, \"--isAndroid--\", isAndroid);\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [loginVal, setLoginVal] = useState({\r\n rememberMe:\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\"))\r\n : false,\r\n userName:\r\n localStorage.getItem(\"userName\") !== null &&\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\")) === true\r\n ? localStorage.getItem(\"userName\")\r\n : \"\"\r\n : \"\",\r\n password:\r\n localStorage.getItem(\"pwd\") !== null &&\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\")) === true\r\n ? localStorage.getItem(\"pwd\")\r\n : \"\"\r\n : \"\",\r\n });\r\n const [open, setOpen] = useState(false);\r\n const [mScroll, setMScroll] = useState(0);\r\n\r\n var history = useHistory();\r\n var location = useLocation();\r\n\r\n\r\n const [showPlayStorePopup, setShowPlayStorePopup] = useState(true);\r\n const hidePlayStorePopup = () => {\r\n setShowPlayStorePopup(false);\r\n }\r\n const onClickInstallNow = () => {\r\n if (isAndroid) {\r\n window.open(constant.playStoreURL, \"_blank\");\r\n } else {\r\n window.open(constant.appStoreURL, \"_blank\");\r\n }\r\n }\r\n\r\n const onLogOut = () => {\r\n localStorage.clear();\r\n if (loginVal.rememberMe === true) {\r\n localStorage.setItem(\"RememberMe\", loginVal.rememberMe);\r\n localStorage.setItem(\"userName\", loginVal.userName);\r\n localStorage.setItem(\"pwd\", loginVal.password);\r\n }\r\n window.location.replace(\"/\");\r\n setTimeout(() => {\r\n window.location.reload()\r\n }, 500);\r\n\r\n };\r\n useEffect(() => {\r\n document.addEventListener(\"scroll\", () => {\r\n const scrollCheck = window.scrollY > 100;\r\n if (scrollCheck !== mScroll) {\r\n setMScroll(scrollCheck);\r\n }\r\n });\r\n });\r\n return (\r\n <>\r\n {GetPath() && (\r\n
\r\n \r\n
\r\n \r\n {VerifyLoginExistOrNot() ? (\r\n \r\n }\r\n >\r\n \r\n \r\n {constant.myPlaylistsLabel}\r\n \r\n \r\n {currentUserInfo !== undefined &&\r\n currentUserInfo.usertype == \"Artist\" && (\r\n <>\r\n \r\n \r\n {constant.myMusicLabel}\r\n \r\n \r\n \r\n \r\n {constant.myPodcastsLabel}\r\n \r\n \r\n \r\n \r\n {constant.myNewsLabel}\r\n \r\n \r\n \r\n \r\n {constant.myEventsLabel}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {constant.profileLabel}\r\n \r\n \r\n \r\n onLogOut()}\r\n style={{ color: \"white\", textDecoration: \"none\" }}\r\n >\r\n {constant.logoutLabel}\r\n \r\n \r\n {/* */}\r\n \r\n ) : (\r\n {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: location.pathname,\r\n },\r\n });\r\n }}\r\n >\r\n {constant.loginLabel}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \"logo\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Multi Music Moguls App
\r\n
A digital music, podcast & video serice app
\r\n
\r\n
hidePlayStorePopup()}>X
\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 Header;\r\n","export default __webpack_public_path__ + \"static/media/footer-App-Store.78c9894e.png\";","export default __webpack_public_path__ + \"static/media/footer-Google-Play.29c1af95.png\";","export default __webpack_public_path__ + \"static/media/DownloadArrowGold.21807b77.svg\";","import React, { useState } from \"react\";\r\nimport logo from \"../../assets/Images/logo.png\";\r\nimport { Link, NavLink } from \"react-router-dom\";\r\nimport { verifyLoginUserType } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { GetPath } from \"../../utility/GetPath\";\r\nimport { constant } from \"../../utility/constant\";\r\n// import AppStoreButton from \"../../assets/Images/AppStoreButton.svg\";\r\n// import GooglePlayButton from \"../../assets/Images/GooglePlayButton.svg\";\r\nimport AppStoreButton from \"../../assets/Images/footer-App-Store.png\";\r\nimport GooglePlayButton from \"../../assets/Images/footer-Google-Play.png\";\r\nimport DownloadArrowGold from \"../../assets/Images/DownloadArrowGold.svg\"\r\nimport { BrowserView, MobileView, isBrowser, isMobile, IOSView, isAndroid } from 'react-device-detect'\r\n\r\nconst Footer = () => {\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const onClickGooglePlayStore = () => {\r\n window.open(constant.playStoreURL, \"_blank\");\r\n }\r\n const onClickAppStore = () => {\r\n window.open(constant.appStoreURL, \"_blank\");\r\n }\r\n const onClickDownloadApp = () => {\r\n if (isAndroid) {\r\n window.open(constant.playStoreURL, \"_blank\");\r\n } else {\r\n window.open(constant.appStoreURL, \"_blank\");\r\n }\r\n }\r\n return (\r\n <>\r\n {GetPath() && (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {constant.homeLabel} (current)\r\n \r\n \r\n {constant.theBigStageLabel}\r\n \r\n \r\n {constant.communityRoomLabel}\r\n \r\n \r\n {constant.featuredArtistLabel}\r\n \r\n {verifyLoginUserType() && (\r\n \r\n {constant.uploadMusicLabel}\r\n \r\n )}\r\n\r\n \r\n {constant.podcastLabel}\r\n \r\n \r\n {constant.newsLabel}\r\n \r\n \r\n {constant.eventsLabel}\r\n \r\n\r\n
\r\n
\r\n \r\n {constant.aboutusLabel}\r\n \r\n \r\n {constant.privacyLabel}\r\n \r\n {currentUserInfo ? \r\n {constant.supportLabel}\r\n : null}\r\n
\r\n
\r\n
\r\n onClickGooglePlayStore()} alt=\"Google Play Store\" />\r\n
\r\n
\r\n Copyright {new Date().getFullYear()} By Multi Music Moguls\r\n
\r\n
\r\n \"App onClickAppStore()} />\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

Download the Multi Moguls App

\r\n

A digital music, podcast & video serice app

\r\n
\r\n
\r\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 Footer;\r\n","import React, { useState, useRef, } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { postDataApi, getDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport { addErrorMesage } from \"../CustomToster/CustomToaster\";\r\nimport { BsEyeFill, BsEyeSlashFill } from \"react-icons/bs\";\r\nimport {\r\n hashCodeUrl,\r\n hashCodeUrlDecode,\r\n} from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport validator from \"validator\";\r\n\r\nconst Login = (props) => {\r\n const prevLocation =\r\n props.location.state === undefined ? \"/\" : props.location.state.prevPath;\r\n const prevUserId =\r\n props.location.state === undefined ? \"/\" : props.location.state.userId;\r\n const [isPasswordShow, setPasswordShow] = useState(true);\r\n const [isRememberMe, setRememberMe] = useState(\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\"))\r\n : false\r\n );\r\n const [inputVal, setInputVal] = useState({\r\n userName:\r\n localStorage.getItem(\"userName\") !== null &&\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\")) === true\r\n ? hashCodeUrlDecode(localStorage.getItem(\"userName\"))\r\n : \"\"\r\n : \"\",\r\n password:\r\n localStorage.getItem(\"pwd\") !== null &&\r\n localStorage.getItem(\"RememberMe\") !== null\r\n ? JSON.parse(localStorage.getItem(\"RememberMe\")) === true\r\n ? hashCodeUrlDecode(localStorage.getItem(\"pwd\"))\r\n : \"\"\r\n : \"\",\r\n });\r\n const [errorMessage, setError] = useState({\r\n isUserNameErrorShow: false,\r\n isPasswordErrorShow: false,\r\n userNameErrorMsg: \"\",\r\n passwordErrMsg: \"\",\r\n });\r\n const [emailErrMsg, setEmailErrMsg] = useState(\"\");\r\n const userNameRef = useRef();\r\n const passwordRef = useRef();\r\n var history = useHistory();\r\n //Called on change of email and password input box\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n setInputVal({ ...inputVal, [name]: text });\r\n if (name === \"userName\") {\r\n setError({ ...errorMessage, isUserNameErrorShow: false });\r\n }\r\n if (name === \"password\") {\r\n setError({ ...errorMessage, isPasswordErrorShow: false });\r\n }\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text });\r\n }\r\n };\r\n const onLogin = () => {\r\n if (!inputVal.userName && !inputVal.password) {\r\n setError({\r\n ...errorMessage, isUserNameErrorShow: true, isPasswordErrorShow: true,\r\n userNameErrorMsg: constant.emailRequired, passwordErrMsg: constant.passwordRequired,\r\n });\r\n } else if (!inputVal.userName) {\r\n setError({ ...errorMessage, isUserNameErrorShow: true, userNameErrorMsg: constant.emailRequired });\r\n } else if (!inputVal.password) {\r\n setError({ isPasswordErrorShow: true, passwordErrMsg: constant.passwordRequired, });\r\n } else if (validator.isEmail(inputVal.userName) === false) {\r\n setError({ ...errorMessage, isUserNameErrorShow: true, userNameErrorMsg: constant.invalidEmailAddress });\r\n } else {\r\n signIn();\r\n addLoader();\r\n }\r\n };\r\n const signIn = async () => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let jsonData = { email: inputVal.userName, password: inputVal.password };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n let responseData = await postDataApi(\r\n constant.baseURL + \"auth/signin\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseData: \", responseData);\r\n // console.log(\r\n // responseData !== undefined &&\r\n // responseData.data !== undefined &&\r\n // responseData.data.accessToken !== \"\"\r\n // );\r\n if (\r\n responseData !== undefined &&\r\n responseData.data !== undefined &&\r\n responseData.data.accessToken !== \"\"\r\n ) {\r\n \r\n\r\n //set remember me options\r\n //console.log(\"RemeberMe: \", isRememberMe);\r\n if (isRememberMe === true) {\r\n localStorage.setItem(\"RememberMe\", isRememberMe);\r\n localStorage.setItem(\"userName\", hashCodeUrl(inputVal.userName));\r\n localStorage.setItem(\"pwd\", hashCodeUrl(inputVal.password));\r\n } else {\r\n localStorage.setItem(\"RememberMe\", isRememberMe);\r\n localStorage.setItem(\"userName\", \"\");\r\n localStorage.setItem(\"pwd\", \"\");\r\n }\r\n removeLoader();\r\n ///Hitendra\r\n // history.push({\r\n // pathname: prevUserId === undefined ? \"/\" : prevLocation,\r\n // state: {\r\n // id: prevUserId,\r\n // },\r\n // });\r\n // window.location.reload();\r\n\r\n\r\n ////Check if artist album created or not\r\n let resAlbums = await getDataApi(\r\n constant.baseURL + \"albums?filter=user.id||$eq||\" + responseData.data.user.id + \"&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(resAlbums)\r\n if ((resAlbums != undefined && resAlbums.length > 0) || responseData.data.user.usertype==\"User\"){\r\n localStorage.setItem(\"UserInfo\", JSON.stringify(responseData.data.user));\r\n localStorage.setItem(\"UserToken\", responseData.data.accessToken);\r\n //console.log(\"window.location: \", window.location);\r\n history.push({\r\n pathname: prevUserId === undefined ? \"/\" : prevLocation,\r\n state: {\r\n id: prevUserId,\r\n },\r\n });\r\n window.location.reload();\r\n } else {\r\n localStorage.setItem(\"newUser\", JSON.stringify(responseData.data.user));\r\n history.push({\r\n pathname: `firstAlbumMessage`,\r\n state: {\r\n from: \"Login\",\r\n prevUserId: prevUserId,\r\n prevLocation: prevLocation,\r\n },\r\n });\r\n }\r\n\r\n\r\n ////Hitendra\r\n\r\n } else {\r\n removeLoader();\r\n if (responseData?.data?.accessToken == \"\") {\r\n addErrorMesage(constant.invalidCredentials);\r\n } else {\r\n addErrorMesage(\"Something Network Issue\")\r\n }\r\n //addErrorMesage(\"Invalid Credentials!\");\r\n }\r\n };\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* \"Image\" */}\r\n \"Image\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{constant.loginTitle}
\r\n
\r\n {constant.loginSubtitle}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {errorMessage.isUserNameErrorShow && (\r\n {errorMessage.userNameErrorMsg}\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n {!isPasswordShow ? (\r\n {\r\n setPasswordShow(!isPasswordShow);\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow(!isPasswordShow);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n {errorMessage.isPasswordErrorShow && (\r\n \r\n {errorMessage.passwordErrMsg}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setRememberMe(!isRememberMe)}\r\n />\r\n \r\n Remember Me\r\n \r\n
\r\n
\r\n
\r\n {\r\n history.push(\"forgotpassword\");\r\n }}\r\n >\r\n Forgot Password?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Login\r\n \r\n
\r\n
\r\n
Or
\r\n
Don't have an Account?
\r\n
\r\n
\r\n {\r\n history.push(\"createAccount\");\r\n }}\r\n >\r\n Create Account\r\n \r\n
\r\n
\r\n
{\r\n history.push(\"/\");\r\n }}>\r\n Back To Home\r\n
\r\n {/*
\r\n
\r\n {\r\n history.push(\"/\");\r\n }}\r\n >\r\n Back To Home\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/* {\r\n errorMessage.isUserNameErrorShow &&\r\n \r\n } */}\r\n
\r\n );\r\n};\r\nexport default Login;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./CreateAccount.css\";\r\nimport { addErrorMesage, addSuccessMesage } from \"../CustomToster/CustomToaster\";\r\nimport { BsEyeFill, BsEyeSlashFill, BsPlus } from \"react-icons/bs\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport Loginprofile from \"../../assets/Images/avatar.png\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport { AiFillWarning, AiFillCloseSquare, AiFillEdit } from \"react-icons/ai\";\r\nimport validator from \"validator\";\r\n\r\n\r\nconst CreateAccount = () => {\r\n const [passwordShow, setPasswordShow] = useState({\r\n isCreatePasswordShow: true,\r\n isRepeatPasswordShow: true,\r\n });\r\n const [audience, setAudience] = useState(\"User\");\r\n const [subscribe, setSubscribe] = useState(false);\r\n const [firstNameErr, setFirstNameErr] = useState(false);\r\n const [firstNameErrMsg, setFirstNameErrMsg] = useState(\"\");\r\n const [lastNameErr, setLastNameErr] = useState(false);\r\n const [lastNameErrMsg, setLastNameErrMsg] = useState(\"\");\r\n const [emailErr, setEmailErr] = useState(false);\r\n\r\n const [emailErrMsg, setEmailErrMsg] = useState(\"\");\r\n\r\n const [createPasswordErr, setCreatePasswordErr] = useState(false);\r\n const [createPasswordErrMsg, setCreatePasswordErrMsg] = useState(\"\");\r\n const [phoneNoErr, setPhoneNoErr] = useState(false);\r\n const [phoneErrorMsg, setphoneErrorMsg] = useState(\"\");\r\n const [commonUserNameErr, setcommonUserNameErr] = useState(false);\r\n const [commonUserNameErrMsg, setcommonUserNameErrMsg] = useState(\"\");\r\n const [repeatPasswordErr, setRepeatPsswordErr] = useState(false);\r\n const [repeatPasswordErrMsg, setRepeatPasswordErrMsg] = useState(\"\");\r\n const [termConditions, setTermConditions] = useState(false);\r\n const [termConditionsErr, setTermConditionsErr] = useState(false);\r\n const [nextPage, setnextPage] = useState(false);\r\n\r\n const [selectedUserPictue, setSelectedUserPicture] = useState([]);\r\n const [profilePictureErrMsg, setProfilePictureErrMsg] = useState(\"\");\r\n const [profilePictureErr, setProfilePictureErr] = useState(false);\r\n const [subscribeText, setSubscribeText] = useState(\"Subscribe\");\r\n\r\n var history = useHistory();\r\n //console.log(\"history\", history);\r\n const [inputVal, setInputVal] = useState({\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n phoneNo: \"\",\r\n createPassword: \"\",\r\n repeatPassword: \"\",\r\n commonUserName: \"\",\r\n urlImage: \"\",\r\n });\r\n\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n setInputVal({ ...inputVal, [name]: text });\r\n if (name === \"firstName\") setFirstNameErr(false);\r\n if (name === \"lastName\") setLastNameErr(false);\r\n if (name === \"email\") setEmailErr(false);\r\n if (name === \"createPassword\") setCreatePasswordErr(false);\r\n if (name === \"repeatPassword\") setRepeatPsswordErr(false);\r\n if (name === \"phoneNo\") setPhoneNoErr(false);\r\n if (name === \"commonUserName\") setcommonUserNameErr(false);\r\n if (!text.replace(/\\s/g, \"\").length)\r\n setInputVal({ ...inputVal, [name]: text });\r\n };\r\n useEffect(() => {\r\n if (history.action === \"POP\") {\r\n return history.push(\"/login\");\r\n }\r\n }, []);\r\n\r\n const onSignup0 = () => { };\r\n const onSignup = () => {\r\n let flag = false;\r\n const emailReg =\r\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n //const passwordReg = /^(?=.*[0-9])[a-zA-Z0-9!@#$%^&*]{6,20}$/;\r\n const passwordReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/;\r\n const textRegex =\r\n /^[/\\a-zA-Z0-9\\s\\[\\]\\{\\}\\.\\`\\~\\!\\@\\$\\^\\&\\(\\)\\_\\+\\-\\=\\;\\,]*$/;\r\n let phonenoReg = /^[0-9]/;;\r\n\r\n const {\r\n firstName,\r\n lastName,\r\n email,\r\n createPassword,\r\n repeatPassword,\r\n phoneNo,\r\n commonUserName,\r\n } = inputVal;\r\n\r\n if (audience === \"Artist\" && selectedUserPictue.length === 0) {\r\n setProfilePictureErr(true);\r\n setProfilePictureErrMsg(constant.profilePictureRequiredLabel);\r\n flag = false;\r\n }\r\n\r\n if (\r\n !firstName &&\r\n !lastName &&\r\n !email &&\r\n !createPassword &&\r\n !repeatPassword &&\r\n !phoneNo &&\r\n !commonUserName\r\n ) {\r\n setFirstNameErr(true);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n setLastNameErr(true);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.emailRequired);\r\n setCreatePasswordErr(true);\r\n setCreatePasswordErrMsg(constant.passwordRequired);\r\n setRepeatPsswordErr(true);\r\n setRepeatPasswordErrMsg(constant.passwordRequired);\r\n setPhoneNoErr(true);\r\n setphoneErrorMsg(constant.phoneRequired);\r\n setcommonUserNameErr(true);\r\n setcommonUserNameErrMsg(constant.commonUserNameRequired);\r\n flag = false;\r\n } else {\r\n flag = true;\r\n if (audience === \"Artist\" && selectedUserPictue.length === 0) {\r\n setProfilePictureErr(true);\r\n setProfilePictureErrMsg(constant.profilePictureRequiredLabel);\r\n flag = false;\r\n } else {\r\n setProfilePictureErr(false);\r\n }\r\n if (!firstName) {\r\n setFirstNameErr(true);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n flag = false;\r\n } else if (textRegex.test(firstName) === false) {\r\n setFirstNameErr(true);\r\n setFirstNameErrMsg(constant.invalidText);\r\n flag = false;\r\n }\r\n if (!lastName) {\r\n setLastNameErr(true);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n flag = false;\r\n } else if (textRegex.test(lastName) === false) {\r\n setLastNameErr(true);\r\n setLastNameErrMsg(constant.invalidText);\r\n flag = false;\r\n }\r\n if (!commonUserName) {\r\n setcommonUserNameErr(true);\r\n setcommonUserNameErrMsg(constant.commonUserNameRequired);\r\n flag = false;\r\n } else if (textRegex.test(commonUserName) === false) {\r\n setcommonUserNameErr(true);\r\n setcommonUserNameErrMsg(constant.commonUserNameRequired);\r\n flag = false;\r\n }\r\n if (!phoneNo) {\r\n setPhoneNoErr(true);\r\n setphoneErrorMsg(constant.phoneRequired);\r\n flag = false;\r\n } else if (phonenoReg.test(phoneNo) === false) {\r\n setPhoneNoErr(true);\r\n setphoneErrorMsg(constant.onlyNumbersAllowed);\r\n flag = false;\r\n } else if (phoneNo.length !== 10) {\r\n setPhoneNoErr(true);\r\n setphoneErrorMsg(constant.phoneRequired);\r\n flag = false;\r\n }\r\n if (!email) {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.emailRequired);\r\n flag = false;\r\n } else if (!emailReg.test(email)) {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.invalidEmailAddress);\r\n flag = false;\r\n }\r\n if (!createPassword) {\r\n setCreatePasswordErr(true);\r\n setCreatePasswordErrMsg(constant.passwordRequired);\r\n flag = false;\r\n } else if (!passwordReg.test(createPassword)) {\r\n setCreatePasswordErr(true);\r\n setCreatePasswordErrMsg(constant.passwordValidationMsg);\r\n flag = false;\r\n }\r\n if (!repeatPassword) {\r\n setRepeatPsswordErr(true);\r\n setRepeatPasswordErrMsg(constant.passwordRequired);\r\n flag = false;\r\n }\r\n if (createPassword !== repeatPassword) {\r\n setRepeatPsswordErr(true);\r\n setRepeatPasswordErrMsg(constant.passwordShouldSame);\r\n flag = false;\r\n }\r\n if (!termConditions) {\r\n setTermConditionsErr(true);\r\n flag = false;\r\n }\r\n if (flag) {\r\n addLoader();\r\n verifyEmailAndSendOTP();\r\n }\r\n }\r\n };\r\n const verifyEmailAndSendOTP = async () => {\r\n //check if user email exists\r\n let allowToCreateUser = true;\r\n let respUser = await getDataApi(\r\n constant.baseURL + \"user?filter=email||$eq||\" + inputVal.email\r\n );\r\n if (respUser !== undefined && respUser.length > 0) {\r\n allowToCreateUser = false;\r\n setEmailErr(true);\r\n removeLoader();\r\n setEmailErrMsg(constant.emailRegistered);\r\n addErrorMesage(constant.emailRegistered);\r\n }\r\n if (allowToCreateUser === true) {\r\n let jsonData0 = {\r\n firstName: inputVal.firstName,\r\n lastName: inputVal.lastName,\r\n userName: inputVal.commonUserName,\r\n email: inputVal.email,\r\n phone:\r\n inputVal.phoneNo !== undefined ? inputVal.phoneNo.toString() : \"\",\r\n\r\n password: inputVal.createPassword,\r\n usertype: audience,\r\n subscribeYouTubeChannel: subscribe == true ? 1 : 0,\r\n urlImage: inputVal.urlImage,\r\n };\r\n //console.log(jsonData0);\r\n localStorage.setItem(\"userEmail\", inputVal.email);\r\n localStorage.setItem(\"createAccountData\", JSON.stringify(jsonData0));\r\n\r\n let otpCode = Math.floor(10000 + Math.random() * 90000);\r\n let jsonData = {\r\n firstName: inputVal.firstName,\r\n lastName: inputVal.lastName,\r\n email: inputVal.email,\r\n code: otpCode,\r\n subject: constant.otpSubject,\r\n body:\r\n \"You requested for a create account, kindly use this code \" +\r\n otpCode +\r\n \" to create your account.\",\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let responseOTP = await postDataApi(\r\n constant.baseURL + \"user/verifyEmailAndSendOTP\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseOTP: \", responseOTP);\r\n if (\r\n responseOTP !== undefined &&\r\n responseOTP.data !== undefined &&\r\n responseOTP.data.status !== undefined &&\r\n responseOTP.data.status === true\r\n ) {\r\n removeLoader();\r\n localStorage.setItem(\"OTPDetails\", JSON.stringify(responseOTP));\r\n localStorage.setItem(\"fromComponent\", \"Login1\");\r\n history.push(\"otpverification\");\r\n } else {\r\n removeLoader();\r\n addErrorMesage(constant.unableToValidateEmail);\r\n //history.push(\"otpverification\");\r\n }\r\n }\r\n };\r\n\r\n const onUploadProfilePicture = async (picture) => {\r\n //console.log(\"Selected Profile Image: \", picture);\r\n if (picture.length > 0) {\r\n setSelectedUserPicture(picture);\r\n setProfilePictureErr(false);\r\n setProfilePictureErrMsg(\"\");\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n data.append(constant.uplFileParameter, picture[0]);\r\n let res = await postDataApi(\r\n //constant.baseURL + \"profilefiles\",\r\n constant.profileFileUploadURL,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"res\", res);\r\n if (res.data.status === 200) {\r\n setInputVal({ ...inputVal, [\"urlImage\"]: res.data.data.filename });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {nextPage === true\r\n ? constant.createAnAccountTitle\r\n : constant.loginTitle}\r\n
\r\n\r\n
\r\n {nextPage === true\r\n ? constant.createAnAccountSubtitle\r\n : constant.createAccountTitle}\r\n
\r\n {nextPage &&\r\n
\r\n
\r\n 0 ? URL.createObjectURL(selectedUserPictue[0]) : Loginprofile}\r\n style={{\r\n height: 100,\r\n width: 100,\r\n borderRadius: 55,\r\n }}\r\n\r\n />\r\n
\r\n \r\n }\r\n label=\"\"\r\n onChange={(pic) => onUploadProfilePicture(pic)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n >\r\n
\r\n
\r\n
\r\n }\r\n
\r\n {profilePictureErr === true && (\r\n
\r\n {profilePictureErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n {nextPage && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {firstNameErr === true && (\r\n
\r\n {firstNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {lastNameErr && (\r\n
\r\n {lastNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n {nextPage && (\r\n <>\r\n {audience === \"User\" ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {commonUserNameErr && (\r\n
\r\n {commonUserNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {commonUserNameErr && (\r\n
\r\n {commonUserNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n \r\n )}\r\n\r\n {nextPage && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {emailErr && (\r\n
{emailErrMsg}
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n {nextPage && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {phoneNoErr === true && (\r\n
{phoneErrorMsg}
\r\n )}\r\n
\r\n )}\r\n {nextPage && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!passwordShow.isCreatePasswordShow ? (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isCreatePasswordShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isCreatePasswordShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {createPasswordErr && (\r\n
\r\n {createPasswordErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!passwordShow.isRepeatPasswordShow ? (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isRepeatPasswordShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isRepeatPasswordShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {repeatPasswordErr && (\r\n
\r\n {repeatPasswordErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {nextPage === false && (\r\n
\r\n
\r\n
\r\n I want be an user\r\n \r\n
\r\n setAudience(\"User\")}\r\n value=\"User\"\r\n name=\"inlineRadioOptions\"\r\n id=\"inlineRadio1\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n I want to be an Artist\r\n \r\n
\r\n setAudience(\"Artist\")}\r\n value=\"Artist\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {nextPage && (\r\n
\r\n
\r\n
\r\n Subscribe to our YouTube Channel\r\n
\r\n {\r\n setSubscribe(!subscribe);\r\n setSubscribeText(\"Subscribed\");\r\n window.open(constant.youTubeSubscribeURL);\r\n }}\r\n >\r\n {subscribeText}\r\n \r\n
\r\n {/* \r\n
\r\n setSubscribe(!subscribe)}\r\n />\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n )}\r\n {nextPage && (\r\n
\r\n
\r\n
\r\n {\r\n setTermConditions(!termConditions);\r\n }}\r\n />\r\n \r\n I agree with{\" \"}\r\n \r\n Terms & Condition\r\n \r\n \r\n
\r\n {termConditionsErr === true && (\r\n \r\n {constant.tickOnTermCondition}\r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n\r\n
\r\n {nextPage === true && (\r\n
\r\n {\r\n setProfilePictureErrMsg(\"\");\r\n setnextPage(false);\r\n }}\r\n >\r\n Back\r\n \r\n
\r\n )}\r\n
\r\n {\r\n nextPage === true\r\n ? onSignup()\r\n : setnextPage(true);\r\n }}\r\n >\r\n {nextPage === true ? \" Create Account\" : \"Continue\"}\r\n \r\n
\r\n
\r\n
Or
\r\n
\r\n I'm already a User.{\" \"}\r\n {\r\n history.push(\"login\");\r\n }}\r\n >\r\n Login\r\n \r\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 CreateAccount;\r\n","export default \"data:image/png;base64,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\"","export const colors = {\r\n color1: '#FFFFFF',\r\n color2: '#181A20',\r\n color3: '#E6E2EF',\r\n color4: '#A198B4',\r\n color5: 'rgba(49,49,56,.1)',\r\n color6: '#FFD874',\r\n color7: '#D8A318',\r\n color8: '#FFFFFF3B',\r\n color9: '#FFFFFF1C',\r\n color10: '#8186AF',\r\n color11: 'linear-gradient(#FFD874, #D8A318)',\r\n color12: '#262931',\r\n colors13: '#121216',\r\n colors14: '#707070',\r\n color15: '#3B5998',\r\n color16: '#FF543E',\r\n color17: '#FF6A22',\r\n color18: '#55ACEE',\r\n color19: '#212330',\r\n color20: '#5B5F81',\r\n}","import React, { useState, useEffect, useRef } from \"react\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, patchDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport validator from \"validator\";\r\nimport { Redirect } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\nconst CompleteProfile = () => {\r\n var history = useHistory();\r\n //console.log(\"history\", history);\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n fontSize: 15,\r\n minHeight: 40,\r\n },\r\n };\r\n const [showProfile1, setShowProfile1] = useState(true);\r\n const [showProfile2, setShowProfile2] = useState(false);\r\n let newUser;\r\n if (localStorage.getItem(\"newUser\") !== null) {\r\n newUser = JSON.parse(localStorage.getItem(\"newUser\"));\r\n }\r\n const [inputVal, setInputVal] = useState({\r\n // phoneNo: \"\",\r\n // street: \"\",\r\n city: \"\",\r\n state: \"\",\r\n country: \"\",\r\n // title: \"\",\r\n biography: \"\",\r\n facebookUrl: \"\",\r\n youtubeUrl: \"\",\r\n instagramUrl: \"\",\r\n ituneUrl: \"\",\r\n spotifyUrl: \"\",\r\n tiktokUrl: \"\",\r\n appleUrl: \"\",\r\n applePodcastURL:\"\",\r\n });\r\n const [selectedTypes, setTypes] = useState(false);\r\n const [selectedCategory, setCategory] = useState(false);\r\n const [typesErr, setTypesErr] = useState(false);\r\n const [categoryErr, setCategoryErr] = useState(false);\r\n // const [phoneNoErr, setPhoneNoErr] = useState(false);\r\n // const [titleErr, setTitleErr] = useState(false);\r\n const [biographyErr, setBiographyErr] = useState(false);\r\n // const [streetErr, setStreetErr] = useState(false);\r\n const [cityErr, setCityErr] = useState(false);\r\n const [stateErr, setStateErr] = useState(false);\r\n const [countryErr, setCountryErr] = useState(false);\r\n const [categories, setCategories] = useState([]);\r\n const [subcategories, setSubcategories] = useState([]);\r\n const [selectedCountry, setSelectedCountry] = useState(\"\");\r\n const [countries, setCountries] = useState([]);\r\n const [selectedState, setSelectedState] = useState(\"\");\r\n const [states, setStates] = useState([]);\r\n const [selectedCity, setSelectedCity] = useState(\"\");\r\n const [cities, setCities] = useState([]);\r\n const [facebookErr, setFacebookErr] = useState(false);\r\n const [TwitterErr, setTwitterErr] = useState(false);\r\n const [InstagramErr, setInstagramErr] = useState(false);\r\n var [ErrorMsg, setErrorMsg] = useState({\r\n // phoneErrorMsg: null,\r\n // titleErrorMsg: null,\r\n CityErrorMsg: null,\r\n // streetErrMsg: null,\r\n stateErrMsg: null,\r\n countryErrMsg: null,\r\n biographyErrMsg: null,\r\n typesErrMsg: null,\r\n categoryErrMsg: null,\r\n facebookUrlErrMsg: null,\r\n youtubeUrlErrMsg: null,\r\n ituneUrlErrMsg: null,\r\n spotifyUrlErrMsg: null,\r\n tiktokUrlErrMsg: null,\r\n appleUrlErrMsg: null,\r\n applePodcastURLErrMsg:null,\r\n instagramUrlErrMsg: null,\r\n });\r\n const onNext = () => {\r\n const textRegex =\r\n /^[/\\a-zA-Z0-9\\s\\[\\]\\{\\}\\.\\'\\`\\~\\!\\@\\$\\^\\&\\(\\)\\_\\+\\-\\=\\;\\,]*$/;\r\n const {\r\n // phoneNo,\r\n // street,\r\n // city,\r\n // state,\r\n // country,\r\n // title,\r\n biography,\r\n } = inputVal;\r\n // let phonenoReg = /^[789]\\d{9}$/;\r\n let typeCondition = !selectedTypes || selectedTypes.length === 0;\r\n let catCondition = !selectedCategory || selectedCategory.length === 0;\r\n\r\n if (\r\n // !phoneNo &&\r\n // !street &&\r\n //!city &&\r\n //!state &&\r\n //!country &&\r\n // !title &&\r\n !biography &&\r\n !typeCondition &&\r\n !catCondition\r\n ) {\r\n setTypesErr(true);\r\n setCategoryErr(true);\r\n setBiographyErr(true);\r\n setErrorMsg({\r\n // phoneErrorMsg: constant.phoneRequired,\r\n // titleErrorMsg: constant.titleRequired,\r\n biographyErrMsg: constant.biographyRequired,\r\n // streetErrMsg: constant.streetRequired,\r\n //CityErrorMsg: constant.cityRequired,\r\n //stateErrMsg: constant.stateRequired,\r\n //countryErrMsg: constant.countryRequired,\r\n });\r\n\r\n setErrorMsg({ typesErrMsg: constant.typeRequired });\r\n setErrorMsg({ categoryErrMsg: constant.categoryRequired });\r\n // setStreetErr(true);\r\n // setCityErr(true);\r\n // setStateErr(true);\r\n // setCountryErr(true);\r\n } else {\r\n // if (!phoneNo) {\r\n // setPhoneNoErr(true);\r\n // setErrorMsg({ phoneErrorMsg: constant.phoneRequired });\r\n // } else if (phoneNo.length !== 10) {\r\n // setPhoneNoErr(true);\r\n // setErrorMsg({ phoneErrorMsg: constant.phoneLength });\r\n // } else if (!title) {\r\n // setTitleErr(true);\r\n // setErrorMsg({ titleErrorMsg: constant.titleRequired });\r\n // }\r\n // else if (title.length > 255) {\r\n // setBiographyErr(true);\r\n // setErrorMsg({ titleErrorMsg: constant.titleLength });\r\n\r\n if (!biography) {\r\n setBiographyErr(true);\r\n setErrorMsg({ biographyErrMsg: constant.biographyRequired });\r\n } else if (biography.length > 255) {\r\n setBiographyErr(true);\r\n setErrorMsg({ biographyErrMsg: constant.biographyLength });\r\n } else if (textRegex.test(biography) === false) {\r\n setBiographyErr(true);\r\n setErrorMsg({ biographyErrMsg: constant.invalidText });\r\n } else if (typeCondition) {\r\n setTypesErr(true);\r\n setErrorMsg({ typesErrMsg: constant.typeRequired });\r\n } else if (catCondition) {\r\n setCategoryErr(true);\r\n setErrorMsg({ categoryErrMsg: constant.categoryRequired });\r\n }\r\n // else if (textRegex.test(title) === false) {\r\n // setTitleErr(true);\r\n // setErrorMsg({ titleErrorMsg: constant.invalidText });\r\n // } else if (!biography) {\r\n // setBiographyErr(true);\r\n // setErrorMsg({ biographyErrMsg: constant.biographyRequired });\r\n // } else if (biography.length > 255) {\r\n // setBiographyErr(true);\r\n // setErrorMsg({ biographyErrMsg: constant.biographyLength });\r\n // } else if (textRegex.test(biography) === false) {\r\n // setBiographyErr(true);\r\n // setErrorMsg({ biographyErrMsg: constant.invalidText });\r\n // }\r\n // else if (!street) {\r\n // setStreetErr(true);\r\n // setErrorMsg({ streetErrMsg: constant.streetRequired });\r\n\r\n // } else if (street.length > 255) {\r\n // setStreetErr(true);\r\n // setErrorMsg({ streetErrMsg: constant.streetLength });\r\n // }\r\n // else if (textRegex.test(street) === false) {\r\n // setStreetErr(true);\r\n // setErrorMsg({ streetErrMsg: constant.invalidText });\r\n // }\r\n // else if (selectedCity === \"\") {\r\n // setCityErr(true);\r\n // setErrorMsg({ CityErrorMsg: constant.cityRequired });\r\n // } else if (selectedState === \"\") {\r\n // setStateErr(true);\r\n // setErrorMsg({ stateErrMsg: constant.stateRequired });\r\n // } else if (selectedCountry === \"\") {\r\n // setCountryErr(true);\r\n // setErrorMsg({ countryErrMsg: constant.countryRequired });\r\n // }\r\n else {\r\n setShowProfile1(false);\r\n setShowProfile2(true);\r\n }\r\n }\r\n };\r\n const onBack = () => {\r\n setShowProfile1(true);\r\n setShowProfile2(false);\r\n };\r\n\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n // let phonenoReg = /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;\r\n if (name === \"biography\") {\r\n setBiographyErr(false);\r\n setInputVal({ ...inputVal, [name]: text });\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n } else {\r\n setInputVal({ ...inputVal, [name]: text });\r\n // if (name === \"title\") {\r\n // setTitleErr(false);\r\n // if (!text.replace(/\\s/g, \"\").length) {\r\n // setInputVal({ ...inputVal, [name]: text.trim() });\r\n // }\r\n // }\r\n if (name === \"facebookUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"youtubeUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"ituneUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }if (name === \"spotifyUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }if (name === \"tiktokUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }if (name === \"appleUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"applePodcastURL\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"instagramUrl\") {\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n\r\n // if (name === \"street\") {\r\n // setStreetErr(false);\r\n // if (!text.replace(/\\s/g, \"\").length) {\r\n // setInputVal({ ...inputVal, [name]: text.trim() });\r\n // }\r\n // }\r\n if (name === \"city\") {\r\n setCityErr(false);\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"state\") {\r\n setStateErr(false);\r\n if (!text.replace(/\\s/g, \"\").length) {\r\n setInputVal({ ...inputVal, [name]: text.trim() });\r\n }\r\n }\r\n if (name === \"country\") {\r\n setSelectedCountry(text);\r\n let sCountry = countries.filter((f) => f.name === text);\r\n if (sCountry.length > 0) {\r\n getStates(sCountry[0].id);\r\n setCities([]);\r\n }\r\n }\r\n if (name === \"state\") {\r\n setSelectedState(text);\r\n let sState = states.filter((f) => f.name === text);\r\n if (sState.length > 0) {\r\n getCities(sState[0].id);\r\n }\r\n }\r\n if (name === \"city\") {\r\n setSelectedCity(text);\r\n }\r\n }\r\n };\r\n const onSelectType = (selectValArr) => {\r\n setTypes(selectValArr);\r\n setTypesErr(false);\r\n loadSubcategoriesByCategory(selectValArr);\r\n };\r\n // changed By Hitebdra Sir\r\n // const onRemoveSelectedType = (removedValArr) => {\r\n // setTypes(removedValArr);\r\n // // console.log(removedArr)\r\n // loadSubcategoriesByCategory(removedValArr);\r\n // };\r\n const onRemoveSelectedType = (removedValArr) => {\r\n setTypes(removedValArr);\r\n loadSubcategoriesByCategory(removedValArr);\r\n //remove category if type is removed\r\n for (var i = 0; i < selectedCategory.length; i++) {\r\n let flt = removedValArr.filter(\r\n (f) => f.id === selectedCategory[i].category.id\r\n );\r\n if (flt.length === 0) {\r\n selectedCategory.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n };\r\n const loadSubcategoriesByCategory = (arrCategories) => {\r\n if (arrCategories.length > 0) {\r\n getSubcategories(arrCategories);\r\n } else {\r\n setSubcategories([]);\r\n }\r\n };\r\n const onSelectCat = (selectValArr) => {\r\n setCategory(selectValArr);\r\n setCategoryErr(false);\r\n };\r\n const onRemoveSelectedCat = (removedValArr) => {\r\n setCategory(removedValArr);\r\n };\r\n const onCompleteProfile = async () => {\r\n const urlRegex =\r\n /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/;\r\n const { phoneNo, street, city, state, country, title, biography } =\r\n inputVal;\r\n\r\n // let typeCondition = !selectedTypes || selectedTypes.length === 0;\r\n // let catCondition = !selectedCategory || selectedCategory.length === 0;\r\n if (!city && !state && !country) {\r\n setCityErr(true);\r\n setStateErr(true);\r\n setCountryErr(true);\r\n setErrorMsg({\r\n CityErrorMsg: constant.cityRequired,\r\n stateErrMsg: constant.stateRequired,\r\n countryErrMsg: constant.countryRequired,\r\n });\r\n } else {\r\n if (selectedCity === \"\") {\r\n setCityErr(true);\r\n setErrorMsg({ CityErrorMsg: constant.cityRequired });\r\n } else if (selectedState === \"\") {\r\n setStateErr(true);\r\n setErrorMsg({ stateErrMsg: constant.stateRequired });\r\n } else if (selectedCountry === \"\") {\r\n setCountryErr(true);\r\n setErrorMsg({ countryErrMsg: constant.countryRequired });\r\n }\r\n // else if (typeCondition) {\r\n // setTypesErr(true);\r\n // setErrorMsg({ typesErrMsg: constant.typeRequired });\r\n // } else if (catCondition) {\r\n // setCategoryErr(true);\r\n // setErrorMsg({ categoryErrMsg: constant.categoryRequired });\r\n // }\r\n // else if (inputVal.facebookUrl !== \"\" && urlRegex.test(inputVal.facebookUrl) === false) {\r\n // setFacebookErr(true);\r\n // setErrorMsg({ facebookUrlErrMsg: constant.invalidURL });\r\n // } else if (inputVal.instagramUrl !== \"\" && urlRegex.test(inputVal.instagramUrl) === false) {\r\n // setInstagramErr(true);\r\n // setErrorMsg({ instagramUrlErrMsg: constant.invalidURL });\r\n // } else if (inputVal.twitterUrl !== \"\" && urlRegex.test(inputVal.twitterUrl) === false) {\r\n // setTwitterErr(true);\r\n // setErrorMsg({ twitterUrlErrMsg: constant.invalidURL });\r\n // }\r\n else {\r\n //console.log(\"complete profile newUser: \", newUser);\r\n if (newUser !== undefined && newUser.length !== 0) {\r\n let fltCountries = countries.filter(\r\n (c) => c.name === selectedCountry\r\n );\r\n let fltStates = states.filter((c) => c.name === selectedState);\r\n let fltCities = cities.filter((c) => c.name === selectedCity);\r\n if (\r\n fltCountries.length > 0 &&\r\n fltCities.length > 0 &&\r\n fltStates.length > 0\r\n ) {\r\n let jsonData = {\r\n fullAddress: inputVal.street,\r\n countryId: fltCountries[0].id,\r\n stateId: fltStates[0].id,\r\n cityId: fltCities[0].id,\r\n biography: inputVal.biography,\r\n selectedCategory: selectedCategory,\r\n subcategories: subcategories,\r\n instagramURL: inputVal.instagramUrl,\r\n youtubeURL: inputVal.youtubeUrl,\r\n iTunesURL: inputVal.ituneUrl,\r\n spotifyURL: inputVal.spotifyUrl,\r\n tikTokURL: inputVal.tiktokUrl,\r\n appleMusicURL: inputVal.appleUrl,\r\n applePodcastURL: inputVal.applePodcastURL,\r\n facebookURL: inputVal.facebookUrl,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n // console.log(\r\n // constant.baseURL + \"user/completeProfile/\" + newUser.id\r\n // );\r\n addLoader();\r\n let responseUser = await patchDataApi(\r\n constant.baseURL + \"user/completeProfile/\" + newUser.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(responseUser);\r\n if (\r\n responseUser !== undefined &&\r\n responseUser.status !== undefined &&\r\n responseUser.status !== 201\r\n ) {\r\n //console.log(\"New User: \", responseUser);\r\n if (\r\n responseUser.data !== undefined &&\r\n responseUser.data.id !== undefined\r\n ) {\r\n return setSelectedTypesAndCategoriesForUser(\r\n responseUser.data\r\n ).then((response) => {\r\n if (\r\n response !== undefined &&\r\n response.length > 0 &&\r\n response[0] === true\r\n ) {\r\n ////Allow artist to create album - Hitendra\r\n\r\n // localStorage.clear();\r\n // removeLoader();\r\n // window.open(\"/login\", \"_self\");\r\n \r\n ////Allow artist to create album - Hitendra\r\n\r\n removeLoader();\r\n addSuccessMesage(\"Account Created\");\r\n //console.log(\"Account Created\");\r\n\r\n //Hitendra\r\n history.push({\r\n pathname: `firstAlbumMessage`,\r\n state: {\r\n from: \"CompleteProfile\",\r\n },\r\n });\r\n //Hitendra\r\n } else {\r\n removeLoader();\r\n localStorage.clear();\r\n window.open(\"/login\", \"_self\");\r\n }\r\n });\r\n } else {\r\n removeLoader();\r\n window.open(\"/login\", \"_self\");\r\n localStorage.clear();\r\n }\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error encountered while creating account!\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n const setSelectedTypesAndCategoriesForUser = async (objUser) => {\r\n let promises_array = [];\r\n selectedCategory.map((catItem) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fltCategory = subcategories.filter((f) => f.id == catItem.id);\r\n if (fltCategory.length > 0) {\r\n let jsonData = {\r\n user: objUser.id,\r\n category: fltCategory[0].category.id,\r\n subcategory: fltCategory[0].id,\r\n };\r\n return callSetSelectedTypesAndCategoriesForUser(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n return Promise.all(promises_array);\r\n };\r\n const callSetSelectedTypesAndCategoriesForUser = async (jsonData) => {\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedcategories?filter=category.id||$eq||\" +\r\n jsonData.category +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory +\r\n \"&filter=user.id||$eq||\" +\r\n jsonData.user\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response !== undefined &&\r\n response.status !== undefined &&\r\n response.status === 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const getCategories = async () => {\r\n let resCategories = await getDataApi(\r\n constant.baseURL + \"categories?filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(resCategories);\r\n if (resCategories !== undefined && resCategories.length > 0) {\r\n setCategories([...resCategories]);\r\n }\r\n };\r\n const getSubcategories = async (categories) => {\r\n let arrCategories = [];\r\n if (categories.length > 0) {\r\n categories.map((c) => {\r\n arrCategories.push(c.id);\r\n });\r\n }\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"subcategories?filter=isDeleted||$eq||0&filter=category.id||$in||\" +\r\n arrCategories\r\n );\r\n if (resSubcategories !== undefined && resSubcategories.length > 0) {\r\n setSubcategories([...resSubcategories]);\r\n }\r\n };\r\n const getCountries = async () => {\r\n let resCountries = await getDataApi(constant.baseURL + \"countries/getActiveCountries\");\r\n if (resCountries !== undefined && resCountries.length > 0) {\r\n // setSelectedCountry(resCountries[0].name);\r\n setCountries([...resCountries]);\r\n getStates(resCountries[0].id);\r\n }\r\n };\r\n const getStates = async (countryId) => {\r\n setStates([]);\r\n let resStates = await getDataApi(\r\n constant.baseURL + \"states/getActiveStatesByCountry/\" + countryId\r\n );\r\n if (resStates !== undefined && resStates.length > 0) {\r\n // setSelectedState(resStates[0].name);\r\n setStates([...resStates]);\r\n getCities(resStates[0].id);\r\n }\r\n };\r\n const getCities = async (stateId) => {\r\n setCities([]);\r\n let resCities = await getDataApi(\r\n constant.baseURL + \"cities/getActiveCitiesByState/\" + stateId\r\n );\r\n if (resCities !== undefined && resCities.length > 0) {\r\n // setSelectedCity(resCities[0].name);\r\n setCities([...resCities]);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // console.log(history.action === \"POP\");\r\n if (history.action === \"POP\") {\r\n return history.push(\"/login\");\r\n } else {\r\n getCategories();\r\n getCountries();\r\n }\r\n\r\n // getStates();\r\n // getCities();\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {/*
satyam
*/}\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{constant.completeProfileTitle}
\r\n
\r\n {constant.completedProfileSubtitle}\r\n
\r\n {showProfile1 === true && (\r\n
\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n {phoneNoErr === true && (\r\n
\r\n {ErrorMsg.phoneErrorMsg}\r\n
\r\n )}\r\n
*/}\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n {titleErr === true && (\r\n
\r\n {ErrorMsg.titleErrorMsg}\r\n
\r\n )}\r\n
*/}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {biographyErr === true && (\r\n
\r\n {ErrorMsg.biographyErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n {/* satyam Agarwal start 20/09/21 */}\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n {streetErr === true && (\r\n
\r\n {ErrorMsg.streetErrMsg}\r\n
\r\n )}\r\n
*/}\r\n {/* Satyam End 20/09/2021 */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n {typesErr === true && (\r\n \r\n {ErrorMsg.typesErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n
\r\n
\r\n {categoryErr === true && (\r\n \r\n {ErrorMsg.categoryErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Next\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {showProfile2 === true && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {countries.map((option) => (<>\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n {countryErr === true && (\r\n
\r\n {ErrorMsg.countryErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {states.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n {stateErr === true && (\r\n
\r\n {ErrorMsg.stateErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {cities.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n {cityErr === true && (\r\n
\r\n {ErrorMsg.CityErrorMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Social Media
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {facebookErr === true && (\r\n
\r\n {ErrorMsg.facebookUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {InstagramErr === true && (\r\n
\r\n {ErrorMsg.instagramUrlErrMsg}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Back\r\n \r\n
\r\n
\r\n onCompleteProfile()}\r\n >\r\n Submit\r\n \r\n
\r\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 CompleteProfile;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nexport default function ForgotPassword() {\r\n const [emailErr, setEmailErr] = useState(false);\r\n const [emailErrMsg, setEmailErrMsg] = useState(\"\");\r\n const [inputVal, setInputVal] = useState({\r\n email: \"\",\r\n });\r\n var history = useHistory();\r\n useEffect(() => {\r\n if (history.action === \"POP\") {\r\n return history.push(\"/login\");\r\n }\r\n }, []);\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n setInputVal({ ...inputVal, [name]: text });\r\n if (name === \"email\") setEmailErr(false);\r\n };\r\n\r\n const onSendOTP = () => {\r\n const { email } = inputVal;\r\n const emailReg =\r\n /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n let flag = false;\r\n\r\n if (!email) {\r\n setEmailErr(true);\r\n setEmailErrMsg(\"Enter email\");\r\n flag = false;\r\n } else if (!emailReg.test(email)) {\r\n setEmailErr(true);\r\n setEmailErrMsg(\"Invalid email address\");\r\n flag = false;\r\n } else {\r\n flag = true;\r\n addLoader();\r\n verifyEmailAndSendOTP();\r\n }\r\n };\r\n const verifyEmailAndSendOTP = async () => {\r\n //check if user email exists\r\n let allowToSendOTP = false;\r\n let respUser = await getDataApi(\r\n constant.baseURL + \"user?filter=email||$eq||\" + inputVal.email\r\n );\r\n if (respUser !== undefined && respUser.length > 0) {\r\n allowToSendOTP = true;\r\n } else {\r\n removeLoader();\r\n setEmailErr(true);\r\n //console.log(\"Email Id Already Exists.\");\r\n addErrorMesage(\"Please Enter Correct Email Id!\");\r\n }\r\n if (allowToSendOTP == true) {\r\n let jsonData0 = {\r\n email: inputVal.email,\r\n };\r\n //console.log(jsonData0);\r\n localStorage.setItem(\"userEmail\", inputVal.email);\r\n localStorage.setItem(\"createAccountData\", JSON.stringify(jsonData0));\r\n\r\n let otpCode = Math.floor(10000 + Math.random() * 90000);\r\n let jsonData = {\r\n email: inputVal.email,\r\n code: otpCode,\r\n subject: \"OTP For Email Verification\",\r\n body:\r\n \"You requested for a Open Your account, kindly use this code \" +\r\n otpCode +\r\n \" to Open your account.\",\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let responseOTP = await postDataApi(\r\n constant.baseURL + \"user/verifyEmailAndSendOTP\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseOTP: \", responseOTP);\r\n if (\r\n responseOTP !== undefined &&\r\n responseOTP.data !== undefined &&\r\n responseOTP.data.status !== undefined &&\r\n responseOTP.data.status === true\r\n ) {\r\n localStorage.setItem(\"OTPDetails\", JSON.stringify(responseOTP));\r\n localStorage.setItem(\"userId\", respUser[0].id);\r\n localStorage.setItem(\"fromComponent\", \"Login\");\r\n removeLoader();\r\n addSuccessMesage(\"OTP Sent Successfully\");\r\n //addSuccessMessage(\"OTP Sent Successfully\");\r\n //removeLoader();\r\n history.push(\"otpverification\");\r\n // dispatch(showHomePageRightCont('OTPVerification'));\r\n } else {\r\n removeLoader();\r\n //console.log(\"Please Not\");\r\n //unable to send otp code\r\n addErrorMesage(\"Unable to validate email!\");\r\n\r\n // enqueueSnackbar('Unable to validate email!', {\r\n // variant: 'error', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Forgot Password
\r\n
\r\n Please type your Email below and we will send you OTP to\r\n help you reset password\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {emailErr &&
{emailErrMsg}
}\r\n
\r\n\r\n
\r\n
\r\n onSendOTP()}\r\n >\r\n Send\r\n \r\n
\r\n\r\n
\r\n Back to{\" \"}\r\n {\r\n history.push(\"login\");\r\n }}\r\n >\r\n Login\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { patchDataApi } from \"../../utility/apiCall\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport { addSuccessMesage } from \"../CustomToster/CustomToaster\";\r\nimport { BsEyeFill, BsEyeSlashFill } from \"react-icons/bs\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport { Redirect, Route } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\nexport default function ResetPassword() {\r\n const [inputVal, setInputVal] = useState({\r\n newPassword: \"\",\r\n confirmPassword: \"\",\r\n });\r\n const [passwordShow, setPasswordShow] = useState({\r\n isCreatePasswordShow: true,\r\n isRepeatPasswordShow: true,\r\n });\r\n let history = useHistory();\r\n useEffect(() => {\r\n if (history.action === \"POP\") {\r\n return history.push(\"/login\");\r\n }\r\n }, []);\r\n const [newPasswordErr, setnewPasswordErr] = useState(false);\r\n const [newPasswordErrMsg, setnewPasswordErrMsg] = useState(\"\");\r\n const [confirmPasswordErr, setconfirmPasswordErr] = useState(false);\r\n const [confirmPasswordErrMsg, setconfirmPasswordErrMsg] = useState(\"\");\r\n const [repeatPasswordErr, setRepeatPasswordErr] = useState(false);\r\n const [repeatPasswordErrMsg, setRepeatPasswordErrMsg] = useState(\"\");\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n setInputVal({ ...inputVal, [name]: text });\r\n if (name === \"newPassword\") setnewPasswordErr(false);\r\n if (name === \"confirmPassword\") setconfirmPasswordErr(false);\r\n };\r\n\r\n const sendLogin = () => {\r\n //const passwordReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/;\r\n const passwordReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/;\r\n\r\n let flag = false;\r\n const { newPassword, confirmPassword } = inputVal;\r\n if (!newPassword && !confirmPassword) {\r\n setnewPasswordErr(true);\r\n setnewPasswordErrMsg(\"Enter password\");\r\n setconfirmPasswordErr(true);\r\n setconfirmPasswordErrMsg(\"Enter password\");\r\n flag = false;\r\n } else {\r\n flag = true;\r\n if (!newPassword) {\r\n setnewPasswordErr(true);\r\n setnewPasswordErrMsg(\"Enter password\");\r\n flag = false;\r\n } else if (!passwordReg.test(newPassword)) {\r\n setnewPasswordErr(true);\r\n setnewPasswordErrMsg(\r\n constant.passwordValidationMsg\r\n //\"Password should be min-6, max-20 characters long including(digits, special characters)\"\r\n );\r\n flag = false;\r\n }\r\n if (!confirmPassword) {\r\n setconfirmPasswordErr(true);\r\n setconfirmPasswordErrMsg(\"Enter password\");\r\n flag = false;\r\n }\r\n if (newPassword !== confirmPassword) {\r\n setRepeatPasswordErr(true);\r\n setRepeatPasswordErrMsg(\"Password should be same\");\r\n flag = false;\r\n }\r\n if (flag) {\r\n addLoader();\r\n savePasswordUpdate();\r\n }\r\n }\r\n };\r\n const savePasswordUpdate = async () => {\r\n let jsonData0 = {\r\n password: inputVal.newPassword,\r\n };\r\n //console.log(jsonData0);\r\n var formBody = [];\r\n for (var property in jsonData0) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData0[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\", //\"none\",\r\n };\r\n let respChangePassword = await patchDataApi(\r\n constant.baseURL +\r\n \"user/changePassword/\" +\r\n localStorage.getItem(\"userId\"),\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respChangePassword: \", respChangePassword);\r\n if (respChangePassword !== undefined) {\r\n localStorage.clear();\r\n history.push(\"login\");\r\n\r\n removeLoader();\r\n addSuccessMesage(\"Password Changed Successfully\");\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Reset Password
\r\n
\r\n Please create a new password\r\n
\r\n
\r\n
\r\n \r\n {!passwordShow.isCreatePasswordShow ? (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isCreatePasswordShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isCreatePasswordShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {newPasswordErr && (\r\n
{newPasswordErrMsg}
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {!passwordShow.isRepeatPasswordShow ? (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isRepeatPasswordShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow((prevState) => {\r\n return {\r\n ...prevState,\r\n isRepeatPasswordShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {confirmPasswordErr && (\r\n
{confirmPasswordErrMsg}
\r\n )}\r\n
\r\n {repeatPasswordErr && (\r\n
{repeatPasswordErrMsg}
\r\n )}\r\n
\r\n
\r\n {\r\n sendLogin();\r\n }}\r\n >\r\n Reset Password\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport homeBg from \"../../assets/Images/homeBg.png\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./FirstAlbumMessage.css\";\r\n\r\nconst FirstAlbumMessage = (props) => {\r\n //console.log(\"FirstAlbumMessage---\", props.location.state);\r\n var history = useHistory();\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 {/* Success */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Let's upload your first album to get started\r\n
\r\n
\r\n
\r\n
\r\n {\r\n history.push({\r\n pathname: `createAlbum`,\r\n state: {\r\n from: props.location.state.from,\r\n },\r\n });\r\n }}\r\n >\r\n {\"Upload\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default FirstAlbumMessage;\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/uploadMusic2.544d20b1.png\";","export default __webpack_public_path__ + \"static/media/music.4a38313b.png\";","export default __webpack_public_path__ + \"static/media/upload.3f15ed41.png\";","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport close from \"../../assets/Images/close.png\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport uploadMusic2 from \"../../assets/Images/uploadMusic2.png\";\r\nimport upload from \"../../assets/Images/upload.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\nimport videoImg from \"../../assets/Images/video.png\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { CircularProgressbar } from \"react-circular-progressbar\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport { propTypes } from \"react-bootstrap/esm/Image\";\r\n\r\nfunction CreateAlbum({ location }) {\r\n let history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : localStorage.getItem(\"newUser\") !== null ? JSON.parse(localStorage.getItem(\"newUser\")) : undefined\r\n );\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n\r\n //width: 395,\r\n },\r\n };\r\n const [showAlbumSection, setShowAlbumSection] = useState(true);\r\n const [showMusicSection, setShowMusicSection] = useState(false);\r\n let audioReg = /\\.(?:mp3|ogg|acc|wav|m4p)$/i;\r\n //let videoReg = /\\.(?:webm|flv|vob|mp4|mpeg|mpeg4)$/i;\r\n let videoReg = /\\.(?:ogm|wmv|flv|vob|mpg|webm|ogv|mov|asx|mpeg|mp4|m4v|avi|mpeg4)$/i;\r\n const [loginUser, setLoginUser] = useState(undefined);\r\n const [coverImg, setCoverImg] = useState(null);\r\n const [musicCategories, setMusicCategories] = useState([]);\r\n const [albumCoverImg, setAlbumCoverImg] = useState(\"\");\r\n const [disableImgDelete, setDisableImgDelete] = useState(false);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [dragNDropText, setDragNDropText] = useState(\r\n \"Drag & Drop your image here or browse\"\r\n );\r\n const [isMusicImgeErrShow, setisMusicImgeErrShow] = useState(false);\r\n\r\n const [albumDetails, setAlbumDetails] = useState({\r\n albumName:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.name\r\n : \"\",\r\n albumType:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.albumType\r\n : \"video\",\r\n albumurlImage:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.urlImage\r\n : \"\",\r\n categoryList: [],\r\n selectedCategoryList: [],\r\n existingCategoryList: [],\r\n id:\r\n location.state !== undefined && location.state !== null && location.state.id !== undefined\r\n ? location.state.id\r\n : 0,\r\n existingMusicList: [],\r\n });\r\n\r\n const [isAlbumNameErrShow, setAlbumNameErr] = useState(false);\r\n const [isAddCategoryErrShow, setAddCategoryErr] = useState(false);\r\n const [isUploadSongsSectionShow, setUploadSongsSection] = useState(false);\r\n const [songsList, setSongsList] = useState([]);\r\n const [removeSongsList, setRemoveSongsList] = useState([]);\r\n const [songsListIDCount, setSongsListIDCount] = useState(0);\r\n const [isUploadSong, setUploadSong] = useState(false);\r\n\r\n const onDrop = (file) => fileValidation(file[0]);\r\n\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n\r\n const fileValidation = (file) => {\r\n if (file !== undefined) {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n addErrorMesage(\"Please upload a image file!\");\r\n //enqueueSnackbar(\"Please upload a image file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n setAlbumCoverImg(file);\r\n }\r\n }\r\n };\r\n const getMusicsByAlbum = async () => {\r\n let resMusics = await getDataApi(\r\n constant.baseURL + \"musics?filter=album.id||$eq||\" + albumDetails.id\r\n ); //location.state.id\r\n //console.log(\"resMusics: \", resMusics);\r\n if (resMusics != undefined && resMusics.length > 0) {\r\n let itms = [];\r\n resMusics.map((m, i) => {\r\n itms.push({\r\n id: i + 1,\r\n file: {\r\n name: m.title,\r\n size:\r\n m.size !== undefined && m.size !== null && m.size !== \"\"\r\n ? m.size\r\n : 0,\r\n },\r\n isExists: true,\r\n itemId: m.id,\r\n });\r\n });\r\n setTimeout(() => {\r\n setSongsListIDCount(resMusics.length + 1);\r\n });\r\n setSongsList([...itms]);\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, existingMusicList: resMusics };\r\n });\r\n }\r\n };\r\n const onSelectCategory = (selectedList) => {\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n setAddCategoryErr(false);\r\n // console.log(\r\n // \"albumDetails.selectedCategoryList: \",\r\n // albumDetails.selectedCategoryList\r\n // );\r\n };\r\n const onRemoveSelectCategory = (selectedList) => {\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n };\r\n const onNext = () => {\r\n const { albumName, selectedCategoryList } = albumDetails;\r\n if (!albumName && selectedCategoryList.length === 0 && coverImg === null) {\r\n setAlbumNameErr(true);\r\n setAddCategoryErr(true);\r\n addErrorMesage(\"Upload a cover image!\");\r\n } else if (!albumName) {\r\n setAlbumNameErr(true);\r\n } else if (\r\n //albumCoverImg.length === 0\r\n albumDetails.id === 0\r\n ? albumCoverImg.length === 0\r\n : albumDetails.albumurlImage.length === 0\r\n ) {\r\n // console.log(albumCoverImg);\r\n // console.log(\"error in Music\");\r\n setisMusicImgeErrShow(true);\r\n } else if (selectedCategoryList.length === 0) {\r\n setAddCategoryErr(true);\r\n }\r\n else {\r\n setShowAlbumSection(false);\r\n setShowMusicSection(true);\r\n if (albumDetails.id !== 0) {\r\n getMusicsByAlbum();\r\n } else {\r\n setSongsList([]);\r\n }\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n };\r\n const onBack = () => {\r\n setShowAlbumSection(true);\r\n setShowMusicSection(false);\r\n\r\n setUploadSongsSection(false);\r\n setDragNDropText(\"Drag & Drop your image here or browse\");\r\n };\r\n const onSelectMusicOrVideoFileValidate = (file, fromFun) => {\r\n //console.log(\"jay3\")\r\n if (songsList.length === 0) {\r\n //console.log(\"jay4\")\r\n //console.log(\"Empty list...\");\r\n return loadFileDuration(file).then((resp) => {\r\n //console.log(\"resp: \", resp);\r\n //console.log(\"jay6\")\r\n addSongFileToSongList(resp, fromFun);\r\n });\r\n } else {\r\n let newFiles = [];\r\n return loadFileDuration(file).then((resp) => {\r\n //console.log(\"resp: \", resp);\r\n for (let i = 0; i < resp.length; i++) {\r\n let fileExits = songsList.filter((f) => f.file.name == file[i].name);\r\n if (fileExits.length == 0) {\r\n newFiles.push(file[i]);\r\n } else {\r\n addErrorMesage(file[i].name + \"already added\");\r\n }\r\n }\r\n //console.log(\"newFiles: \", newFiles);\r\n addSongFileToSongList(newFiles, fromFun);\r\n });\r\n }\r\n };\r\n const onSelectMusicOrVideoFileValidate_old = (file, fromFun) => {\r\n if (songsList.length === 0) {\r\n //console.log(\"Empty list...\");\r\n addSongFileToSongList(file, fromFun);\r\n } else {\r\n //console.log(\"Not empty list...\", file[0].name);\r\n //if(file.length > 0){\r\n let fileExits = songsList.filter((f) => f.file.name == file[0].name);\r\n //console.log(\"Song File Exists: \", fileExits);\r\n if (fileExits.length == 0) {\r\n addSongFileToSongList(file, fromFun);\r\n } else {\r\n addErrorMesage(\"Audio file already added\");\r\n }\r\n }\r\n };\r\n const addSongFileToSongList = (file, fromFun) => {\r\n //console.log(\"jayraj\",file)\r\n //console.log(\"jay7\")\r\n let song_upload_input = document.getElementById(\"song_upload_input\");\r\n let count = songsListIDCount;\r\n let songsitems = [];\r\n if (albumDetails.albumType === \"music\") {\r\n //console.log(\"jay8\")\r\n for (let i = 0; i < file.length; i++) {\r\n if (!audioReg.exec(file[i].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n //console.log(\"jay9\")\r\n count = count + 1;\r\n songsitems.push({ id: count, file: file[i] });\r\n }\r\n }\r\n setSongsListIDCount(count);\r\n setTimeout(() => {\r\n //console.log(\"jay10\")\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n setSongsList([...songsList, ...songsitems]);\r\n song_upload_input.value = \"\";\r\n });\r\n //console.log(\"jay11\")\r\n } else if (albumDetails.albumType === \"video\") {\r\n for (let i = 0; i < file.length; i++) {\r\n //uncomment this\r\n if (!videoReg.exec(file[i].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {//uncomment this\r\n count = count + 1;\r\n songsitems.push({ id: count, file: file[i] });\r\n }//uncomment this\r\n }\r\n setSongsListIDCount(count);\r\n setTimeout(() => {\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n setSongsList([...songsList, ...songsitems]);\r\n song_upload_input.value = \"\";\r\n });\r\n }\r\n //console.log(\"jay12\")\r\n };\r\n const addSongFileToSongList_old = (file, fromFun) => {\r\n let song_upload_input = document.getElementById(\"song_upload_input\");\r\n if (albumDetails.albumType === \"music\") {\r\n if (!audioReg.exec(file[0].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n //console.log(\"songsListIDCount: \", songsListIDCount);\r\n setSongsListIDCount(songsListIDCount + 1);\r\n setTimeout(() => {\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n if (file[0] != undefined) {\r\n setSongsList([\r\n ...songsList,\r\n { id: songsListIDCount, file: file[0] },\r\n ]);\r\n }\r\n song_upload_input.value = \"\";\r\n });\r\n }\r\n } else if (albumDetails.albumType === \"video\") {\r\n //uncomment this\r\n if (!videoReg.exec(file[0].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {//uncomment this\r\n setSongsListIDCount(songsListIDCount + 1);\r\n setTimeout(() => {\r\n setSongsList([...songsList, { id: songsListIDCount, file: file[0] }]);\r\n song_upload_input.value = \"\";\r\n });\r\n }//uncomment this\r\n }\r\n //console.log(\"jay1\")\r\n };\r\n const onSelectMusicOrVideoFile = (event) => {\r\n if (event) {\r\n if (albumDetails.albumType === \"music\") {\r\n //console.log(\"jay1\")\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n if (!audioReg.exec(event.target.files[i].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n return false;\r\n }\r\n }\r\n\r\n } else if (albumDetails.albumType === \"video\") {\r\n //uncomment this\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n if (!videoReg.exec(event.target.files[i].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n return false;\r\n }\r\n }\r\n //uncomment this\r\n }\r\n //console.log(\"jay2\")\r\n onSelectMusicOrVideoFileValidate(event.target.files);\r\n }\r\n };\r\n const onDeleteSongList = (id) => {\r\n if (songsList.length !== 0) {\r\n let newArr = songsList.filter((song) => song.id !== id);\r\n setSongsList(newArr);\r\n\r\n let fltDelSong = songsList.filter((song) => song.id === id);\r\n //console.log(\"Remvoed Existing Song: \", fltDelSong);\r\n if (\r\n fltDelSong.length > 0 &&\r\n fltDelSong[0].isExists != undefined &&\r\n fltDelSong[0].isExists == true\r\n ) {\r\n let dSong = albumDetails.existingMusicList.filter(\r\n (m) => m.id == fltDelSong[0].itemId\r\n );\r\n setRemoveSongsList([...removeSongsList, ...dSong]);\r\n }\r\n }\r\n };\r\n const getSubcategories = async () => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||1&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setMusicCategories([...resSubcategories]);\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories],\r\n };\r\n });\r\n if (albumDetails.id !== 0) {\r\n //location.state.id != undefined) {\r\n getAlbumCategories(resSubcategories);\r\n }\r\n }\r\n };\r\n const getAlbumCategories = async (categories) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"selectedalbumcategories?filter=album.id||$eq||\" +\r\n albumDetails.id\r\n ); //location.state.id\r\n //console.log(\"getAlbumCategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n sItems.push(fltCategories[0]);\r\n });\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const uploadCoverImage = async () => {\r\n addLoader();\r\n if (albumCoverImg != \"\") {\r\n //console.log(\"raj1\")\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n data.append(constant.uplFileParameter, albumCoverImg);\r\n let res = await postDataApi(\r\n //constant.baseURL + \"albumfiles\",\r\n constant.albumFileUploadURL,\r\n data,\r\n customHeaders\r\n );\r\n if (\r\n res != undefined &&\r\n res.data != undefined &&\r\n res.data.status != undefined &&\r\n res.data.status === 200\r\n ) {\r\n //console.log(\"raj2\")\r\n removeLoader();\r\n setAlbumCoverImg(\"\");\r\n setUploadProgress(25);\r\n createAlbum(res.data.data.filename);\r\n }\r\n } else {\r\n removeLoader();\r\n setUploadProgress(25);\r\n createAlbum(albumDetails.id !== 0 ? albumDetails.albumurlImage : \"\"); //createAlbum(location.state.id != undefined ? albumDetails.albumurlImage : \"\");\r\n }\r\n };\r\n const getAlbumByName = async () => {\r\n let resAlbum = await getDataApi(\r\n // constant.baseURL + \"albums?filter=name||$eq||\" + albumDetails.albumName\r\n constant.baseURL + \"albums?filter=name||$eq||\" + albumDetails.albumName + \"&filter=isDeleted||$eq||0\"\r\n );\r\n return resAlbum;\r\n }\r\n const createAlbum = async (coverImageName) => {\r\n if (currentUserInfo !== undefined) {\r\n //console.log(\"raj3\")\r\n addLoader();\r\n let jsonData = {\r\n name: albumDetails.albumName,\r\n user: currentUserInfo.id,\r\n albumType: albumDetails.albumType,\r\n urlImage: coverImageName,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respAlbum;\r\n let sStatus = \"\";\r\n if (albumDetails.id !== 0) {\r\n respAlbum = await patchDataApi(\r\n constant.baseURL + \"albums/\" + albumDetails.id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respAlbum != undefined &&\r\n respAlbum.status != undefined &&\r\n respAlbum.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n\r\n //console.log(\"raj4\")\r\n respAlbum = await postDataApi(\r\n constant.baseURL + \"albums\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respAlbum != undefined &&\r\n respAlbum.status != undefined &&\r\n respAlbum.status == 201\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n }\r\n //if (respAlbum != undefined && respAlbum.status != undefined && respAlbum.status == 201) {\r\n if (sStatus == \"Success\") {\r\n //console.log(\"raj5\")\r\n setUploadProgress(50);\r\n uploadMusicFiles(respAlbum.data.id);\r\n }\r\n }\r\n };\r\n const uploadMusicFiles = async (albumId) => {\r\n //console.log(\"raj6\")\r\n addLoader();\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n songsList.map((m) => {\r\n if (m.isExists === undefined || m.isExists === false) {\r\n data.append(constant.uplFileParameter, m.file);\r\n }\r\n });\r\n //console.log(\"----constant.uplFileParameter----\",constant.uplFileParameter);\r\n //console.log(\"---constant.musicFileUploadURL---\", constant.musicFileUploadURL);\r\n let res = await postDataApi(\r\n constant.musicFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"musicfiles/uploadMultipleFiles\" : constant.baseURL + \"musicfiles\" ,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Music Files: \", res);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"raj7\")\r\n setUploadProgress(75);\r\n return saveAllMusics(albumId, res.data.data.length >= 0 ? res.data.data : [res.data.data]).then((response) => {\r\n //console.log(\"FFFF\",response,location)\r\n if (\r\n (response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true) ||\r\n (location.state !== undefined && location.state.id !== undefined)\r\n ) {\r\n //console.log(\"PPPPPPPPPPPP\")\r\n return saveAlbumCategories(albumId).then((response) => {\r\n if (\r\n response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n //console.log(\"qqqqqqqqqq\")\r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(\r\n location?.state?.id != undefined\r\n ? \"Album Updated\"\r\n : \"Album Created\"\r\n );\r\n //console.log(\"raj12\")\r\n if (albumDetails.id !== 0) {\r\n history.goBack();\r\n } else {\r\n removeLoader();\r\n ////Hitendra\r\n if (location.state !== undefined && location.state.from !== undefined && location.state.from === \"CompleteProfile\") {\r\n localStorage.clear();\r\n removeLoader();\r\n window.open(\"/login\", \"_self\");\r\n } else if (location.state !== undefined && location.state.from !== undefined && location.state.from === \"Login\") {\r\n history.push({\r\n pathname: location.state.prevUserId === undefined ? \"/\" : location.state.prevLocation,\r\n state: {\r\n id: location.state.prevUserId,\r\n },\r\n });\r\n window.location.reload();\r\n } else {\r\n history.push(\"/MyAlbums\");\r\n }\r\n ////Hitendra\r\n }\r\n } else {\r\n resetUploadMusic(0);\r\n }\r\n });\r\n } else {\r\n resetUploadMusic(0);\r\n }\r\n });\r\n } else {\r\n resetUploadMusic(0);\r\n addErrorMesage(\"Error in uploading music in album\");\r\n }\r\n };\r\n const resetUploadMusic = (progressValue) => {\r\n setDisableImgDelete(false);\r\n setUploadProgress(progressValue);\r\n setUploadSongsSection(false);\r\n setCoverImg(null);\r\n setAlbumCoverImg(\"\");\r\n setUploadSong(false);\r\n //console.log(\"musicCategories: \", musicCategories);\r\n removeLoader();\r\n setAlbumDetails({\r\n albumName: \"\",\r\n albumType: \"music\",\r\n //categoryList: musicCategories,\r\n selectedCategoryList: [],\r\n });\r\n if (albumDetails.id !== 0) {\r\n //if (location.state.id != undefined) {\r\n history.goBack();\r\n } else {\r\n removeLoader();\r\n history.push(\"/MyAlbums\");\r\n }\r\n };\r\n const loadFileDuration = (uplFiles) => {\r\n let promises_array = [];\r\n //uplFiles.map((file) => {\r\n for (let i = 0; i < uplFiles.length; i++) {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n // Create instance of FileReader\r\n let reader = new FileReader();\r\n // When the file has been succesfully read\r\n reader.onload = (event) => {\r\n // Create an instance of AudioContext\r\n let audioContext = new (window.AudioContext ||\r\n window.webkitAudioContext)();\r\n // Asynchronously decode audio file data contained in an ArrayBuffer.\r\n audioContext.decodeAudioData(event.target.result, (buffer) => {\r\n // Obtain the duration in seconds of the audio file (with milliseconds as well, a float value)\r\n uplFiles[i][\"duration\"] = buffer.duration;\r\n resolve(uplFiles[i]);\r\n });\r\n };\r\n // In case that the file couldn't be read\r\n reader.onerror = (event) => {\r\n console.error(\"An error ocurred reading the file: \", event);\r\n reject(false);\r\n };\r\n //console.log(\"jay5\")\r\n // Read file as an ArrayBuffer, important !\r\n reader.readAsArrayBuffer(uplFiles[i]);\r\n })\r\n );\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const saveAllMusics = async (albumId, uploadedMusicFiles) => {\r\n\r\n //console.log(\"raj8\")\r\n let promises_array = [];\r\n uploadedMusicFiles.map((item) => {\r\n //console.log(\"raj9\")\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n //get file size\r\n let fItem = songsList.filter(\r\n (f) => f.file.name === item.originalname\r\n );\r\n //console.log(item)\r\n //prepare json\r\n let jsonData = {\r\n title: item.originalname.split(\".\")[0],\r\n album: albumId,\r\n musicType: albumDetails.albumType,\r\n urlImage: item.filename,\r\n size: fItem.length > 0 ? fItem[0].file.size : 0,\r\n duration: fItem.length > 0 ? fItem[0].file.duration : 0,\r\n };\r\n return createAlbumMusic(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n //Delete existing song if removed by user\r\n if (albumDetails.id !== 0 && removeSongsList.length > 0) {\r\n //if (location.state.id != undefined && removeSongsList.length > 0) {\r\n removeSongsList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n return deleteAlbumMusic(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n }\r\n\r\n //console.log(\"DDDDDDD\",promises_array)\r\n return Promise.all(promises_array);\r\n };\r\n const createAlbumMusic = async (jsonData) => {\r\n //console.log(\"raj10\")\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"musics?filter=album.id||$eq||\" +\r\n jsonData.album +\r\n \"&filter=title||$eq||\" +\r\n jsonData.title\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(constant.baseURL + \"musics\", formBody, authHeader)\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n //console.log(\"raj11\")\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteAlbumMusic = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(constant.baseURL + \"musics/\" + id, authHeader)\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const saveAlbumCategories = async (albumId) => {\r\n let promises_array = [];\r\n albumDetails.selectedCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { album: albumId, subcategory: item.id };\r\n return createAlbumCategories(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n //\r\n if (albumDetails.id !== 0 && albumDetails.existingCategoryList.length > 0) {\r\n // if (location.state.id != undefined && albumDetails.existingCategoryList.length > 0) {\r\n albumDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = albumDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteAlbumCategories(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const createAlbumCategories = async (jsonData) => {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedalbumcategories?filter=album.id||$eq||\" +\r\n jsonData.album +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedalbumcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteAlbumCategories = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedalbumcategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const onUploadSonglist = async () => {\r\n if (songsList.length === 0) {\r\n addErrorMesage(\"Upload atleast one music file!\");\r\n } else {\r\n //Check if album with same exists or not\r\n let respName = await getAlbumByName();\r\n //console.log(\"respName: \", respName ,albumDetails);\r\n if (albumDetails.id === 0 && respName.length > 0) {\r\n addErrorMesage(\"Album with the same name already exists!\");\r\n return;\r\n } else if (albumDetails.id !== 0 && respName.length > 0 && albumDetails.id !== respName[0].id) {\r\n addErrorMesage(\"Album with the same name already exists!\");\r\n return;\r\n }\r\n //Check if album with same exists or not\r\n setUploadSong(true);\r\n setDisableImgDelete(true);\r\n uploadCoverImage();\r\n }\r\n };\r\n const renderSongsList = () => {\r\n //console.log(\"songsList: \", songsList);\r\n if (songsList.length !== 0) {\r\n return songsList.map((song) => {\r\n let fileName = song.file.name.split(\".\")[0];\r\n let fileSizeInMB = song.file.size / 1024 / 1024;\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
{fileName}
\r\n
\r\n
\r\n {disableImgDelete == false && (\r\n onDeleteSongList(song.id)}\r\n src={close}\r\n alt=\"cover-image\"\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {fileSizeInMB.toFixed(1)}MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n } else {\r\n return (\r\n
\r\n Song list is empty! Please upload a song.\r\n
\r\n );\r\n }\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n return (\r\n
\r\n
\r\n {showAlbumSection == true && (\r\n
\r\n
\r\n
\r\n {/* \"Image\" */}\r\n \"Image\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n {isMusicImgeErrShow && (\r\n
\r\n Please Upload Image File\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Album Details
\r\n {isUploadSong ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n {\r\n setAlbumDetails({\r\n ...albumDetails,\r\n albumName: e.target.value,\r\n });\r\n setAlbumNameErr(false);\r\n }}\r\n value={albumDetails.albumName}\r\n required={true}\r\n />\r\n \r\n \r\n {isAlbumNameErrShow && (\r\n \r\n Enter Name\r\n
\r\n )}\r\n
\r\n
\r\n Join us and Listen to your favourite music\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n albumType: \"video\",\r\n };\r\n });\r\n }}\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n albumType: \"music\",\r\n };\r\n });\r\n }}\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow && (\r\n \r\n Add Category\r\n
\r\n )}\r\n {/* \r\n */}\r\n
\r\n
\r\n {albumDetails.id !== 0 ? (\r\n
\r\n
\r\n {\r\n history.goBack();\r\n }}\r\n >\r\n cancel\r\n \r\n
\r\n
\r\n onNext()}\r\n >\r\n Next\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n onNext()}\r\n >\r\n Next\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n {showMusicSection == true && (\r\n
\r\n
\r\n
\r\n {/* \"Image\" */}\r\n \"Image\"\r\n
\r\n
\r\n
\r\n
\r\n
{isUploadSong ? (\r\n
\r\n \r\n
\r\n ) : null}
\r\n
\r\n\r\n
\r\n {/* \"\"/ */}\r\n \r\n setDragNDropText(\"Drop your file here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drag & Drop your file here or browse\")\r\n }\r\n onDrop={(e) =>\r\n onSelectMusicOrVideoFileValidate(e, \"fromDragNDropFun\")\r\n }\r\n >\r\n
\r\n \r\n {\r\n if (event && event.target.files.length > 0) {\r\n if (event.target.files.length > 0 && event.target.files[0].type == \"video/quicktime\") {\r\n window.alert(\"Please use Choose Files instead of Photo Library option to select video.\");\r\n return false;\r\n } else {\r\n onSelectMusicOrVideoFile(event);\r\n }\r\n }\r\n }}\r\n className=\"custom-file-input\"\r\n type=\"file\"\r\n style={{ fontSize: 0, height: 350 }}\r\n id=\"song_upload_input\"\r\n accept={\r\n albumDetails.albumType === \"music\"\r\n ? constant.acceptedAudio\r\n : constant.acceptedVideo\r\n }\r\n multiple\r\n // accept={\r\n // albumDetails.albumType === \"music\"\r\n // ? \"audio/opus,audio/flac,audio/webm,audio/weba,audio/wav,audio/ogg,audio/m4a,audio/mp3,audio/oga,audio/mid,audio/amr,audio/aiff,audio/wma,audio/au,audio/aac,audio/mp4,audio/avi,audio/mov,audio/*\"\r\n // : \"video/mp3,video/mpeg,video/ogm,video/mpg,video/wmv,video/webm,video/mp4,video/avi,video/mov,video/x-m4v,video/*\"\r\n // }\r\n />\r\n\r\n {/*

{dragNDropText}

*/}\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Album Songs
\r\n\r\n
\r\n
\r\n \r\n {renderSongsList()}\r\n
\r\n
\r\n
\r\n onBack()}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n \r\n {albumDetails.id !== 0 ? \"Update\" : \"Save\"}\r\n \r\n
\r\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 CreateAlbum;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction Support(props) {\r\n var history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [isSupportDescErrShow, setSupportDescErr] = useState(false);\r\n const [isSupportNameErrShow, setSupportNameErr] = useState(false);\r\n const [supportDetails, setSupportDetails] = useState({\r\n title:\"\",\r\n supportDescription:\"\",\r\n });\r\n const onUpload = async () => {\r\n const {\r\n title,\r\n supportDescription\r\n } = supportDetails;\r\n if (\r\n !title &&\r\n !supportDescription\r\n ) {\r\n setSupportNameErr(true);\r\n setSupportDescErr(true);\r\n } else if (!title) {\r\n setSupportNameErr(true);\r\n } else if (!supportDescription) {\r\n setSupportDescErr(true);\r\n } else {\r\n let jsonData = {\r\n title: supportDetails.title,\r\n description: supportDetails.supportDescription,\r\n //user: currentUserInfo.id\r\n };\r\n if(currentUserInfo !== undefined){\r\n jsonData[\"user\"] = currentUserInfo.id;\r\n }\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respSupport = await postDataApi(\r\n constant.baseURL + \"support\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respSupport != undefined &&\r\n respSupport.status != undefined &&\r\n respSupport.status == 201\r\n ) {\r\n addSuccessMesage(\"Submitted your query successfully\")\r\n history.push(\"/Home\")\r\n }else{\r\n addErrorMesage(\"Something Error\")\r\n }\r\n // console.log(respSupport)\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Support
\r\n
\r\n {\r\n setSupportDetails({\r\n ...supportDetails,\r\n title: e.target.value,\r\n });\r\n setSupportNameErr(false);\r\n }}\r\n value={supportDetails.title}\r\n />\r\n \r\n \r\n {isSupportNameErrShow && (\r\n
\r\n Enter Title\r\n
\r\n )}\r\n
\r\n \r\n
\r\n {\r\n setSupportDetails({\r\n ...supportDetails,\r\n supportDescription: e.target.value,\r\n });\r\n setSupportDescErr(false);\r\n }}\r\n value={supportDetails.supportDescription}\r\n >\r\n \r\n \r\n {isSupportDescErrShow && (\r\n
\r\n Enter Descrition\r\n
\r\n )}\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n Submit\r\n \r\n
\r\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 Support;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction CreateEvents(props) {\r\n const calldata = async() => {\r\n let resNews = await getDataApi(constant.baseURL + \"aboutus\");\r\n //console.log(resNews)\r\n document.getElementById(\"demo\").innerHTML = resNews[0].title\r\n }\r\n useEffect(() => {\r\n calldata()\r\n \r\n }, [])\r\n \r\n \r\n return (\r\n
\r\n
\r\n
\r\n
{constant.aboutusLabel}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/*
With Latest Podcasts
\r\n

\r\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr\r\n

*/}\r\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 CreateEvents;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction CreateEvents(props) {\r\n const calldata = async() => {\r\n let resNews = await getDataApi(constant.baseURL + \"privacypolicy\");\r\n //console.log(resNews)\r\n document.getElementById(\"demo\").innerHTML = resNews[0].title\r\n }\r\n useEffect(() => {\r\n calldata()\r\n \r\n }, [])\r\n \r\n \r\n return (\r\n
\r\n
\r\n
\r\n
Privacy Policy
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/*
With Latest Podcasts
\r\n

\r\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr\r\n

*/}\r\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 CreateEvents;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Modal, ModalBody, Button,} from \"react-bootstrap\";\r\nimport { propTypes } from \"react-bootstrap/esm/Image\";\r\nimport ReactPlayer from 'react-player';\r\n\r\nconst VideoModal = ({url, show, handleClose, title,\r\n height,\r\n width,\r\n // getAudioInstance,\r\n}) => {\r\n const onEnablePIP = () => {\r\n //handleClose();\r\n }\r\n return (\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\nexport default VideoModal;","export default __webpack_public_path__ + \"static/media/bigstageBanner.4e22c7c4.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { FaRegPlayCircle } from 'react-icons/fa';\r\nimport { constant } from '../../utility/constant';\r\nimport { getDataApi, postDataApi, } from '../../utility/apiCall';\r\nimport ReactPlayer from 'react-player';\r\nimport VideoModal from \"../VideoModal/VideoModal\";\r\nimport bigstageBanner from \"../../assets/Images/bigstageBanner.png\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\nconst HomeBigStage = () => {\r\n let history = useHistory();\r\n const [homeBigStageItem, setHomeBigStageItem] = useState(undefined);\r\n const [playVideo, setPlayVideo] = useState(false);\r\n const getBigStageList = async () => {\r\n //let apiURL = constant.baseURL + \"bigstages/getTop10BigstagesWithUserLike\";\r\n let apiURL = constant.baseURL + \"bigstages/getMainBigstagesWithUserLike\";\r\n let jsonData = { userId: 0 }\r\n let resBigStages = await postDataApi(apiURL, jsonData);\r\n // let resBigStages = await getDataApi(constant.baseURL + 'bigstages?filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=order,ASC');\r\n //console.log(\"resBigStages: \", resBigStages);\r\n if (resBigStages !== undefined && resBigStages.data.length > 0) {\r\n //setHomeBigStageItem(resBigStages.data[resBigStages.data.length - 1]);\r\n setHomeBigStageItem(resBigStages.data[0]);\r\n }\r\n }\r\n //console.log(homeBigStageItem)\r\n const playBigStageVideo = () => {\r\n\r\n history.push({\r\n pathname: `Videoplayer`,\r\n state: { variant: \"homebigstagejs\", url: constant.bigStageVideoURL + homeBigStageItem.videoURL }\r\n });\r\n\r\n }\r\n const closeVideoModal = () => {\r\n setPlayVideo(false);\r\n }\r\n useEffect(() => {\r\n getBigStageList();\r\n }, []);\r\n return (\r\n
\r\n
\r\n {\r\n homeBigStageItem !== undefined && playVideo &&\r\n \r\n }\r\n {playVideo === undefined || playVideo === false &&\r\n
\r\n
\r\n {homeBigStageItem !== undefined ? String(homeBigStageItem.name) : \"\"}\r\n
\r\n {homeBigStageItem !== undefined &&\r\n
playBigStageVideo()}>\r\n \r\n
\r\n }\r\n
\r\n }\r\n
\r\n
\r\n //
\r\n // \r\n //
\r\n // {\r\n // homeBigStageItem !== undefined && playVideo &&\r\n // \r\n // }\r\n // {playVideo === undefined || playVideo === false &&\r\n //
\r\n //
\r\n // {homeBigStageItem !== undefined ? String(homeBigStageItem.name) : \"\"}\r\n //
\r\n // {homeBigStageItem !== undefined &&\r\n //
playBigStageVideo()}>\r\n // \r\n //
\r\n // }\r\n //
\r\n // }\r\n //
\r\n //
\r\n );\r\n};\r\nexport default HomeBigStage;","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\n\r\nconst CommentsModal = ({\r\n type,\r\n show,\r\n handleClose,\r\n title,\r\n id,\r\n currentUserId,\r\n inputText,\r\n setInputText,\r\n update,\r\n setUpdate,\r\n props,\r\n isModel,\r\n isComment\r\n}) => {\r\n var history = useHistory();\r\n const [isInputTextErrShow, setInputTextErr] = useState(false);\r\n const [inputTextErrMessage, setInputTextErrMessage] = useState(\"\");\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n var [pageNumber, setPageNumber] = useState(1);\r\n const onSubmit = () => {\r\n const textRegex =\r\n /^[/\\a-zA-Z0-9\\s\\[\\]\\{\\}\\.\\`\\~\\!\\@\\$\\^\\&\\(\\)\\_\\+\\-\\=\\;\\,]*$/;\r\n\r\n if (VerifyLoginExistOrNot()) {\r\n if (!inputText) {\r\n setInputTextErr(true);\r\n setInputTextErrMessage(constant.requiredLabel);\r\n return;\r\n } else if (inputText !== undefined && inputText !== null && inputText !== \"\" && inputText.trim() === \"\") {\r\n setInputTextErr(true);\r\n setInputTextErrMessage(constant.requiredLabel);\r\n return;\r\n } \r\n // else if ((type === \"ReportArtist\" || type === \"ReportSong\" || type === \"ReportPodcast\" || type === \"ReportBigStage\" || type == \"ReportEpisode\") && inputText !== undefined && inputText !== null && inputText !== \"\" ) {\r\n // console.log(\"fgdf\")\r\n // setInputTextErr(true);\r\n // setInputTextErrMessage(constant.invalidText);\r\n // return;\r\n // }\r\n else {\r\n if (type === \"ReportArtist\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, artist: id, comment: inputText },\r\n \"Artist Reported\",\r\n constant.baseURL + \"reportartists\"\r\n );\r\n }\r\n if (type === \"ReportSong\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, music: id, comment: inputText },\r\n \"Song Reported\",\r\n constant.baseURL + \"reportsongs\"\r\n );\r\n }\r\n if (type === \"CommentSong\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, music: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"musiccomments\"\r\n );\r\n }\r\n if (type === \"ReportPodcast\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, podcasts: id, comment: inputText },\r\n \"Podcast Reported\",\r\n constant.baseURL + \"reportpodcasts\"\r\n );\r\n }\r\n if (type === \"ReportBigStage\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, bigstage: id, comment: inputText },\r\n \"BigStage Reported\",\r\n constant.baseURL + \"reportbigstage\"\r\n );\r\n }\r\n if (type === \"ReportEpisode\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, episode: id, comment: inputText },\r\n \"Episode Reported\",\r\n constant.baseURL + \"reportepisode\"\r\n );\r\n }\r\n if (\r\n (type === \"CommentBigStage\" || type === \"CommentHomeBigStage\") &&\r\n id !== 0 &&\r\n currentUserId !== 0\r\n ) {\r\n executeAPI(\r\n { user: currentUserId, bigstage: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"bigstagecomments\"\r\n );\r\n }\r\n if (type === \"CommentTopNews\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, news: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"newscomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomePodcast\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, podcasts: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"podcastcomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomeEvents\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, events: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"eventscomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomeArtist\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, artist: id, comments: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"artistcomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentEpisode\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, episode: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"episodecomments\"\r\n );\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`\r\n });\r\n }\r\n }\r\n const calldata = () => {\r\n if (type === \"ReportArtist\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportartists?filter=artist.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportSong\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportsongs?filter=music.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentSong\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"musiccomments?filter=music.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportPodcast\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportpodcasts?filter=podcasts.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportBigStage\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportbigstage?filter=bigstage.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportEpisode\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportepisode?filter=episode.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (\r\n (type === \"CommentBigStage\" || type === \"CommentHomeBigStage\") &&\r\n id !== 0 &&\r\n currentUserId !== 0\r\n ) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"bigstagecomments?filter=bigstage.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentTopNews\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"newscomments?filter=news.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomePodcast\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"podcastcomments?filter=podcasts.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentHomeEvents\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"eventscomments?filter=events.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentHomeArtist\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"artistcomments?filter=artist.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentEpisode\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"episodecomments?filter=episode.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n calldata()\r\n }, [pageNumber, id]);\r\n\r\n const getCommentApiUrl = async (commentDataApi) => {\r\n //console.log(commentDataApi)\r\n let resArtistComments = await getDataApi(commentDataApi);\r\n //console.log(\"resArtistComments: \", commentDataApi, resArtistComments);\r\n if (\r\n resArtistComments !== undefined &&\r\n resArtistComments.data !== undefined &&\r\n resArtistComments.data.length > 0\r\n ) {\r\n let itms = [];\r\n resArtistComments.data.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img:\r\n c.user !== undefined && c.user !== null && c.user.urlImage !== undefined &&\r\n c.user.urlImage !== null &&\r\n c.user.urlImage !== \"\"\r\n ? constant.profileURL + c.user.urlImage\r\n : (c.reporteduser.urlImage !== undefined && c.reporteduser.urlImage !== null && c.reporteduser.urlImage !== \"user.png\") ? constant.profileURL + c.reporteduser.urlImage : c.reporteduser.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: c.user !== undefined && c.user !== null ? c.user.firstName + \" \" + c.user.lastName : (c.reporteduser !== undefined && c.reporteduser !== null) ? c.reporteduser.firstName + \" \" + c.reporteduser.lastName : \"\",\r\n location: c.user !== undefined && c.user !== null ? c.user.address : (c.reporteduser !== undefined && c.reporteduser !== null) ? c.reporteduser.address : \"\",\r\n comment: c.comments !== undefined && c.comments !== null && c.comments !== \"\" ? c.comments : c.comment,\r\n date: moment(c.created).format(\"DD MMM yyyy\"),\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setCommentsList(itms);\r\n } else {\r\n setCommentsList([...commentsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resArtistComments.page < resArtistComments.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n } else {\r\n setCommentsList([]);\r\n }\r\n };\r\n const handleClose1 = () => {\r\n setInputText(\"\");\r\n handleClose()\r\n }\r\n const executeAPI = async (jsonData, message, apiURL) => {\r\n // addLoader();\r\n setbuttonDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n let respAPI = await postDataApi(apiURL, formBody, authHeader);\r\n //console.log(\"respAPI: \", respAPI);\r\n if (\r\n respAPI !== undefined &&\r\n respAPI.status !== undefined &&\r\n respAPI.status === 201\r\n ) {\r\n setbuttonDisable(false);\r\n addSuccessMesage(message);\r\n if (isModel != \"videoplayer\") {\r\n setUpdate()\r\n } else {\r\n calldata()\r\n }\r\n\r\n } else {\r\n setbuttonDisable(false);\r\n addErrorMesage(\"Error encountered while submitting comment\");\r\n }\r\n setInputText(\"\");\r\n handleClose();\r\n };\r\n const renderComments = () => {\r\n if (commentsList.length !== 0) {\r\n return commentsList.map((item, index) => {\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
{item.name}
\r\n
{item.location}
\r\n
\r\n
\r\n {/* d-none d-md-block */}\r\n
{item.comment}
\r\n
\r\n
\r\n
\r\n
\r\n
{item.date}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n const viewMoreComments = () => {\r\n setPageNumber(pageNumber++);\r\n };\r\n const renderismodel = () => {\r\n return <>\r\n
\r\n\r\n
\r\n
\r\n { setInputText(e.target.value); setInputTextErrMessage(\"\") }}\r\n value={inputText}\r\n className=\"floating-input\"\r\n type=\"text\"\r\n placeholder=\" \"\r\n >\r\n \r\n \r\n
\r\n {isInputTextErrShow === true &&\r\n
\r\n {inputTextErrMessage}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n {buttonDisable && DisableButtonLoader()}\r\n Post Comments\r\n \r\n
\r\n
\r\n
\r\n {\r\n\r\n isComment === true &&\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n {/*
Comments
*/}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {renderComments()}\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {commentsList !== undefined &&\r\n commentsList.length > 0 &&\r\n showViewMore === true && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n }\r\n \r\n }\r\n //console.log(isModel)\r\n return (\r\n <>\r\n {isModel != \"videoplayer\"\r\n ?\r\n \r\n \r\n {title}\r\n \r\n \r\n {renderismodel()}\r\n\r\n \r\n \r\n : renderismodel()}\r\n \r\n );\r\n};\r\nexport default CommentsModal;","export default __webpack_public_path__ + \"static/media/mike.095fa406.svg\";","export default __webpack_public_path__ + \"static/media/mikeFill.33afd174.svg\";","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport { Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst HomeBigStageList = () => {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [showCommentBigStageModal, setShowCommentBigStageModal] =\r\n useState(false);\r\n const [commentBigStageInputText, setCommentBigStageInputText] = useState(\"\");\r\n const [mode, setmode] = useState(\"\");\r\n const [showReportBigStageModal, setShowReportBigStageModal] = useState(false);\r\n const [update, setUpdate] = useState(false);\r\n const [reportBigStageInputText, setReportBigStageInputText] = useState(\"\");\r\n const [selectedBigStage, setSelectedBigStage] = useState(undefined);\r\n const [bigStageList, setBigStageList] = useState([]);\r\n const [bigStage20List, setBigStage20List] = useState([]);\r\n const [bigStageLikesList, setBigStageLikesList] = useState([]);\r\n const [bigStageLikesData, setBigStageLikesData] = useState([]);\r\n const [bigStageResetCount, setBigStageResetCount] = useState(0);\r\n\r\n const [bigStageLikesList20, setBigStageLikesList20] = useState([]);\r\n const [bigStageLikesData20, setBigStageLikesData20] = useState([]);\r\n const [bigStageResetCount20, setBigStageResetCount20] = useState(0);\r\n\r\n const [bgId, setBgId] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const top10Settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.2,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 2,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 2.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const top20Settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 2,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 3.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n // const getTop10BigStageList = async () => {\r\n // let apiURL = constant.baseURL + \"bigstages/getTop10BigstagesWithUserLike\";\r\n // let jsonData = { userId: (userDetails.length > 0) ? userDetails[0].id : 0 }\r\n // let resBigStages = await getApiWithData(apiURL, jsonData);\r\n // console.log(\"----------resBigStages-----------\", resBigStages);\r\n // if (resBigStages !== undefined && resBigStages.length > 0) {\r\n // setBigStageList([...resBigStages]);\r\n // setHomeBigStageItem(resBigStages[0]);\r\n // } else {\r\n // setBigStageList([]);\r\n // setHomeBigStageItem(undefined);\r\n // }\r\n // };\r\n const getTop10BigStageList = async () => {\r\n let apiURL = constant.baseURL + \"bigstages/getTop10BigstagesWithUserLike\";\r\n let jsonData = { userId: (currentUserInfo) ? currentUserInfo.id : 0 }\r\n let resBigStages = await postDataApi(apiURL, jsonData);\r\n //console.log(\"Top 10:\", resBigStages);\r\n if (resBigStages !== undefined && resBigStages.data.length > 0) {\r\n setBigStageList([...resBigStages.data]);\r\n // let bigstageIds = \"\";\r\n // resBigStages.data.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n\r\n // getBigStageLikesByUser(\r\n // bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\")), \"Top10\"\r\n // );\r\n }\r\n };\r\n // const createEpisodeLike = async (episodeId, type) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, bigstage: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"bigstagelikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined, type);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId, type) => {\r\n // console.log(episodeId, likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"bigstagelikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId, type);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId, type) => {\r\n let bgItems\r\n // console.log(bigStageList20)\r\n if (type == \"Top20\") {\r\n bgItems = [...bigStage20List]\r\n }\r\n {\r\n bgItems = [...bigStageList]\r\n }\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n //console.log(bgItems)\r\n if (type == \"Top20\") {\r\n setBigStage20List(bgItems)\r\n } else {\r\n setBigStageList(bgItems)\r\n }\r\n };\r\n\r\n const getTop20BigStageList = async () => {\r\n // let resBigStages20 = await getDataApi(\r\n // constant.baseURL + \"bigstages/getTop20Bigstage\"\r\n // );\r\n let apiURL = constant.baseURL + \"bigstages/getTop20BigstagesWithUserLike\";\r\n let jsonData = { userId: (currentUserInfo) ? currentUserInfo.id : 0 }\r\n let resBigStages20 = await postDataApi(apiURL, jsonData);\r\n if (resBigStages20 !== undefined && resBigStages20.length > 0) {\r\n setBigStage20List([...resBigStages20.data]);\r\n // let bigstageIds = \"\";\r\n // resBigStages20.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // getBigStageLikesByUser(\r\n // bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\")), \"Top20\"\r\n // );\r\n }\r\n };\r\n\r\n const navigateBigStage = (index, i) => {\r\n //console.log(i)\r\n history.push({\r\n pathname: `Videoplayer`,\r\n state: { variant: \"homebigstagejs\", url: constant.bigStageVideoURL + i.url }\r\n });\r\n };\r\n // const getBigStageLikesByUser = async (str, type) => {\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resBigStageLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"bigstagelikes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=bigstage.id||$in||\" +\r\n // str\r\n // );\r\n // if (resBigStageLikes !== undefined) {\r\n // if (type === \"Top10\") {\r\n // setBigStageLikesList(resBigStageLikes);\r\n // setBigStageLikesData(resBigStageLikes);\r\n // } else if (type === \"Top20\") {\r\n // setTimeout(() => {\r\n // setBigStageLikesList20(resBigStageLikes);\r\n // setBigStageLikesData20(resBigStageLikes);\r\n // }, 200);\r\n\r\n // }\r\n // }\r\n // setDisableItem(false);\r\n // } else {\r\n // setDisableItem(false);\r\n // }\r\n // };\r\n\r\n const createBigStageLike = async (bigStageId, type) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setBgId(bigStageId);\r\n if (currentUserInfo !== undefined) {\r\n let jsonData = { user: currentUserInfo.id, bigstage: bigStageId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resBigStageLike = await postDataApi(\r\n constant.baseURL + \"bigstagelikes\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"resBigStageLike\", resBigStageLike);\r\n if (\r\n resBigStageLike != undefined &&\r\n resBigStageLike.status != undefined &&\r\n resBigStageLike.status == 201 && resBigStageLike.data !== undefined\r\n ) {\r\n setLikes(bigStageId, resBigStageLike.data, undefined, type);//setLikes(bigStageId, type);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n }\r\n };\r\n const resetBigStageLike = async (bigStageId, likeId, type) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setBgId(bigStageId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"bigstagelikes/\" + likeId,\r\n authHeader\r\n );\r\n //console.log(\"resp\", resp);\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(bigStageId, undefined, likeId, type);//setLikes(bigStageId, type);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n // const setLikes = (id, type) => {\r\n // //setBgId(id);\r\n // if (type === \"Top10\") {\r\n // setBigStageResetCount(bigStageResetCount + 1);\r\n // } else if (type === \"Top20\") {\r\n // setBigStageResetCount20(bigStageResetCount20 + 1);\r\n // }\r\n // };\r\n const renderLikes = (id, type, likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id, type)}\r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetBigStageLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id, type)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createBigStageLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n // if (likeData.length !== 0) {\r\n // let flt = likeData.filter(\r\n // (f) => f.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // resetBigStageLike(id, flt[0].id)}\r\n // onClick={() => {\r\n // if (VerifyLoginExistOrNot()) resetBigStageLike(id, flt[0].id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createBigStageLike(id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createBigStageLike(id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n };\r\n const renderBigStageList = (data, isTop20) => {\r\n if (data.length > 0) {\r\n return (\r\n \r\n {data.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateBigStage(index, item)}\r\n alt={\r\n item.user !== undefined && item.user !== null\r\n ? item.user.firstName + \" \" + item.user.lastName\r\n : \"\"\r\n }\r\n />\r\n
\r\n {/* {isTop20 === true && (\r\n <> */}\r\n
\r\n
\r\n \r\n {item.name !== undefined\r\n ? String(item.name)\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n \r\n {item?.artist !== undefined\r\n ? String(item?.artist)\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && bgId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item.id, isTop20 ? \"Top20\" : \"Top10\", item)}\r\n \r\n {\" \"}\r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowCommentBigStageModal(true);\r\n setmode(isTop20 ? \"Top20\" : \"Top10\")\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n )} */}\r\n {/* {isTop20 === false && (\r\n <>\r\n
\r\n
\r\n \r\n {item.name !== undefined\r\n ? item.name\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {renderLikes(item.id, \"Top10\")}\r\n \r\n {item.likes.length}\r\n \r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowCommentBigStageModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )} */}\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n const setBigsatgeUpdate = () => {\r\n if (mode === \"Top10\") {\r\n setBigStageResetCount(bigStageResetCount + 1);\r\n } else if (mode === \"Top20\") {\r\n setBigStageResetCount20(bigStageResetCount20 + 1);\r\n }\r\n }\r\n useEffect(() => {\r\n //console.log(\"useEffect - Top 10 refresh\");\r\n // let bigstageIds = \"\";\r\n // bigStageList.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // bigStage20List.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // getBigStageLikesByUser(bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\")));\r\n getTop10BigStageList();\r\n }, [bigStageResetCount]);\r\n\r\n useEffect(() => {\r\n //console.log(\"useEffect - Top 20 refresh\");\r\n getTop20BigStageList();\r\n }, [bigStageResetCount20]);\r\n\r\n useEffect(() => {\r\n getTop10BigStageList();\r\n getTop20BigStageList();\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
The Big Stage
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Top 10\r\n
\r\n
\r\n {renderBigStageList(bigStageList, false)}\r\n
\r\n
\r\n
\r\n {bigStage20List.length > 0 ?
\r\n
\r\n \r\n Top 20\r\n
\r\n
\r\n {renderBigStageList(bigStage20List, true)}\r\n
\r\n
\r\n : null}\r\n \r\n {showCommentBigStageModal === true && selectedBigStage !== undefined && (\r\n {\r\n setShowCommentBigStageModal(false);\r\n }}\r\n inputText={commentBigStageInputText}\r\n setInputText={(val) => {\r\n setCommentBigStageInputText(val);\r\n }}\r\n // setUpdate={() => { console.log(\"DONE\"); }}\r\n isComment={true}\r\n />\r\n )}\r\n {showReportBigStageModal === true && selectedBigStage !== undefined && (\r\n {\r\n setShowReportBigStageModal(false);\r\n }}\r\n inputText={reportBigStageInputText}\r\n setInputText={(val) => {\r\n setReportBigStageInputText(val);\r\n }}\r\n setUpdate={() => { \r\n //console.log(\"DONE\"); \r\n }}\r\n isComment={false}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default HomeBigStageList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst HomeFeaturedArtistsList = (props) => {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [showCommentHomeArtistModal, setShowCommentHomeArtistModal] =\r\n useState(false);\r\n const [commentHomeArtistInputText, setCommentHomeArtistInputText] =\r\n useState(\"\");\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [selectedHomeArtist, setSelectedHomeArtist] = useState(undefined);\r\n const [update, setUpdate] = useState(false);\r\n const [featuredArtistsList, setFeaturedArtistsList] = useState([]);\r\n const [homeArtistList, setHomeArtistList] = useState([]);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [artistLikesList, setArtistLikesList] = useState([]);\r\n const [artistLikesData, setArtistLikesData] = useState([]);\r\n const [artistResetCount, setArtistResetCount] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [arId, setArId] = useState(0);\r\n\r\n const settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n\r\n const getArtists = async () => {\r\n // let apiURL =\r\n // constant.baseURL +\r\n // \"user?filter=makeFeatured||$eq||1&filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&sort=id,DESC\";\r\n let apiURL = constant.baseURL + \"user/getHomeFeaturedArtistsWithUserLike\";\r\n let jsonData = { userId: (currentUserInfo) ? currentUserInfo.id : 0 }\r\n let resArtists = await postDataApi(apiURL, jsonData);\r\n\r\n\r\n // let apiURL = constant.baseURL + \"user/getFeaturedArtists\";\r\n // if (props.isShowOnHome == true) {\r\n // apiURL = constant.baseURL + \"user/getHomeArtists\";\r\n // }\r\n // //let resArtists = await getDataApi(constant.baseURL + 'user?filter=usertype||$eq||Artist&artistTypeId||$eq||2&showOnHome||$eq||1');\r\n // let resArtists = await getDataApi(apiURL);\r\n //console.log(\"resArtists\", resArtists);\r\n\r\n let artistIds = \"\";\r\n if (\r\n //props.isShowOnHome == true &&\r\n resArtists?.data !== undefined &&\r\n resArtists?.data?.data?.length > 0\r\n ) {\r\n //if(props.isShowOnHome == true){\r\n setHomeArtistList([...resArtists.data.data]);\r\n //}\r\n\r\n }\r\n\r\n };\r\n const getArtistLikesByUser = async (str) => {\r\n if (currentUserInfo !== undefined && str !== \"\") {\r\n let resArtistLikes = await getDataApi(\r\n constant.baseURL +\r\n \"likes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=artist.id||$in||\" +\r\n str\r\n );\r\n //console.log(\"resArtistLikes: \", resArtistLikes);\r\n let artistLikeItems = [];\r\n if (resArtistLikes !== undefined) {\r\n resArtistLikes.map((m) => {\r\n artistLikeItems.push(m.artist.id);\r\n });\r\n //console.log(\"likeItems: \", artistLikeItems);\r\n setArtistLikesList(resArtistLikes);\r\n setArtistLikesData(resArtistLikes);\r\n }\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n const createArtistLike = async (artistId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setArId(artistId);\r\n if (currentUserInfo !== undefined) {\r\n let jsonData = { user: currentUserInfo.id, artist: artistId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respArtistLike !== undefined &&\r\n respArtistLike.status !== undefined &&\r\n respArtistLike.status === 201 && respArtistLike.data\r\n ) {\r\n setLikes(artistId, respArtistLike.data, undefined);//setLikes(artistId,);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n }\r\n };\r\n\r\n const resetArtistLike = async (artistId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setArId(artistId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + likeId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setLikes(artistId, undefined, likeId);//setLikes(artistId);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n\r\n const navigateToArtistDetails = (index) => {\r\n let indexItem = homeArtistList[index];\r\n history.push({\r\n // pathname: `FeaturedArtistDetails/${hashCodeUrl(\r\n // indexItem.id \r\n // )}/${hashCodeUrl(indexItem.biography)}`,\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(indexItem.id)}/`,\r\n state: {\r\n id: indexItem.id,\r\n from: \"featureartistsh\"\r\n },\r\n });\r\n window.scrollTo(0, 0);\r\n };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, artist: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"likes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId,likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"likes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...homeArtistList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setHomeArtistList(bgItems)\r\n\r\n };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetArtistLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createArtistLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n // if (artistLikesList.length !== 0) {\r\n // let flt = artistLikesData.filter(\r\n // (f) => f.artist !== undefined && f.artist.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetArtistLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n };\r\n const renderFeaturedArtistList = () => {\r\n // if (props.isShowOnHome == true) {\r\n if (homeArtistList.length > 0) {\r\n return (\r\n \r\n {homeArtistList.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToArtistDetails(index)}\r\n src={\r\n item.urlImage !== undefined &&\r\n item.urlImage !== \"user.png\"\r\n ? constant.profileURL + item.urlImage\r\n : item.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL\r\n }\r\n alt={item.firstName + \" \" + item.lastName}\r\n />\r\n
\r\n\r\n
\r\n {item.firstName + \" \" + item.lastName}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && arId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedHomeArtist(item);\r\n setShowCommentHomeArtistModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n }\r\n else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n // } \r\n // else {\r\n // if (featuredArtistsList.length > 0) {\r\n // return (\r\n // \r\n // {featuredArtistsList.map((item, index) => {\r\n // return (\r\n // \r\n //
\r\n // navigateToArtistDetails(index)}\r\n // src={\r\n // item.urlImage !== undefined &&\r\n // item.urlImage !== \"user.png\"\r\n // ? constant.profileURL + item.urlImage\r\n // : constant.userImageURL\r\n // }\r\n // alt={item.firstName + \" \" + item.lastName}\r\n // />\r\n //
\r\n //
\r\n // {item.firstName + \" \" + item.lastName}\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // {renderLikes(item.id)}{\" \"}\r\n // \r\n // {item.likes.length}\r\n // \r\n //
\r\n //
\r\n // \r\n // \r\n // 45\r\n // \r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // );\r\n // })}\r\n //
\r\n // );\r\n // } else {\r\n // return
{constant.noDataFoundLabel}
;\r\n // }\r\n // }\r\n };\r\n useEffect(() => {\r\n setCommentsCount(0);\r\n getArtists();\r\n }, []);\r\n useEffect(() => {\r\n getArtists();\r\n }, [artistResetCount, commentsCount]);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Featured Artists\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderFeaturedArtistList()}\r\n
\r\n
\r\n
\r\n \r\n {showCommentHomeArtistModal === true && selectedHomeArtist !== undefined && (\r\n {\r\n setShowCommentHomeArtistModal(false);\r\n }}\r\n inputText={commentHomeArtistInputText}\r\n setInputText={(val) => {\r\n setCommentHomeArtistInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default HomeFeaturedArtistsList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst HomeEventsList = () => {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [showCommentHomeEventModal, setShowCommentHomeEventModal] =\r\n useState(false);\r\n const [commentHomeEventInputText, setCommentHomeEventInputText] =\r\n useState(\"\");\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [selectedHomeEvent, setSelectedHomeEvent] = useState(undefined);\r\n const [update, setUpdate] = useState(false);\r\n const [eventsList, setEventsList] = useState([]);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [eventsLikesList, setEventsLikesList] = useState([]);\r\n const [eventsLikesData, setEventsLikesData] = useState([]);\r\n const [eventsResetCount, setEventsResetCount] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [eId, setEId] = useState(0);\r\n const settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const navigateToEventsDetails = (index) => {\r\n let indexItem = eventsList[index];\r\n //console.log(indexItem, \"Events Data\");\r\n history.push({\r\n // pathname: `EventsDetails/${hashCodeUrl(indexItem.id)}/${hashCodeUrl(\r\n // indexItem.description\r\n // )}`,\r\n pathname: `EventsDetails/${hashCodeUrl(indexItem.id)}`,\r\n state: {\r\n id: indexItem.id,\r\n },\r\n });\r\n // history.push({\r\n // pathname: `EventsDetails`,\r\n // state: {\r\n // id: indexItem.id,\r\n // },\r\n // });\r\n };\r\n const getEvents = async () => {\r\n // let resEvents = await getDataApi(\r\n // constant.baseURL +\r\n // 'events?filter=status||$eq||1&filter=eventdate||$gt||\"' +\r\n // new Date()\r\n // .toISOString()\r\n // .substr(0, new Date().toISOString().indexOf(\"T\")) +\r\n // //new Date().toISOString() +\r\n // '\"&sort=eventdate,DESC'\r\n // );\r\n let apiURL = constant.baseURL + \"events/getUpcommingEventsWithUserLike\" + '?page=' + 1 +\r\n '&limit=' + 20;\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n\r\n let resEvents = await getDataApi(apiURL);\r\n //console.log(\"resEvents: \", resEvents);\r\n if (resEvents !== undefined && resEvents.data != undefined && resEvents.data.length > 0) {\r\n let itms = [];\r\n let eventsIds = \"\";\r\n resEvents.data.map((p, i) => {\r\n itms.push({\r\n id: p.id,\r\n img:\r\n p.urlImage !== undefined && p.urlImage !== null && p.urlImage !== \"\"\r\n ? constant.eventsFileURL + p.urlImage\r\n : \"\",\r\n address: p.address,\r\n eventDate:\r\n p.eventdate !== undefined &&\r\n p.eventdate !== null &&\r\n p.eventdate !== \"\"\r\n ? moment(p.eventdate).format(\"DD-MMM-yyyy\")\r\n : \"\",\r\n name: p.name,\r\n description: p.description,\r\n // artistName: p.artist.firstName + \" \" + p.artist.lastName,\r\n created: moment(p.created).format(\"DD-MMM-yyyy\"),\r\n likes: p.likes,\r\n comments: p.comments.length,\r\n userlike: p.userlike\r\n });\r\n });\r\n //console.log(itms)\r\n setEventsList(itms);\r\n\r\n // resEvents.map((item) => {\r\n // eventsIds += item.id + \",\";\r\n // });\r\n // getEventsLikes(\r\n // eventsIds.substr(0, eventsIds.lastIndexOf(\",\"))\r\n // );\r\n }\r\n };\r\n // const getEventsLikes = async (str) => {\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resEventsLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"eventslikes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=events.id||$in||\" +\r\n // str\r\n // );\r\n // //console.log(\"resEventsLikes: \", resEventsLikes);\r\n // if (resEventsLikes != undefined && resEventsLikes.length > 0) {\r\n // setEventsLikesList(resEventsLikes);\r\n // setEventsLikesData(resEventsLikes);\r\n // } else {\r\n // setEventsLikesList([]);\r\n // setEventsLikesData([]);\r\n // }\r\n // setDisableItem(false);\r\n // } else {\r\n // setDisableItem(false);\r\n // }\r\n // };\r\n const createEventsLikes = async (eventsId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setEId(eventsId);\r\n let jsonData = {\r\n user: currentUserInfo.id,\r\n events: eventsId,\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respEventsLike = await postDataApi(\r\n constant.baseURL + \"eventslikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respEventsLike != undefined &&\r\n respEventsLike.status != undefined &&\r\n respEventsLike.status == 201 && respEventsLike.data !== undefined\r\n ) {\r\n setLikes(eventsId, respEventsLike.data, undefined);//setLikes(eventsId);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n const resetEventsLike = async (eventsId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setEId(eventsId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"eventslikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(eventsId, undefined, likeId);//setLikes(eventsId);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (VerifyLoginExistOrNot()) {\r\n // let jsonData = { user: currentUserInfo.id, events: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"eventslikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // if (VerifyLoginExistOrNot()) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"eventslikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...eventsList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setEventsList(bgItems)\r\n\r\n };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetEventsLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)}\r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createEventsLikes(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n // console.log(\"1111\", eventsLikesList)\r\n // if (eventsLikesList.length !== 0) {\r\n // let flt = eventsLikesData.filter(\r\n // (f) => f.events.id !== undefined && f.events.id === id\r\n // );\r\n // console.log(\"2222\", flt)\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetEventsLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // console.log(\"3333\", flt)\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createEventsLikes(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createEventsLikes(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n };\r\n const renderEventsList = () => {\r\n if (eventsList.length > 0) {\r\n return (\r\n \r\n {eventsList.map((item, index) => {\r\n return (\r\n // \r\n \r\n
\r\n navigateToEventsDetails(index)}\r\n alt=\"Card image cap\"\r\n />\r\n
\r\n {item.eventDate}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {item.name !== undefined &&\r\n item.name !== null &&\r\n item.name !== \"\"\r\n ? String(item.name)\r\n : \"\"}\r\n \r\n \r\n {item.description !== undefined &&\r\n item.description !== null &&\r\n item.description !== \"\"\r\n ? String(item.description)\r\n : \"\"}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && eId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedHomeEvent(item);\r\n setShowCommentHomeEventModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments}\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n //
\r\n );\r\n })}\r\n
\r\n );\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n useEffect(() => {\r\n setEventsResetCount(0);\r\n setCommentsCount(0);\r\n getEvents();\r\n }, []);\r\n useEffect(() => {\r\n //console.log(\"UseEffect - refresh\");\r\n getEvents();\r\n }, [eventsResetCount, commentsCount]);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Upcoming Events\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderEventsList()}\r\n
\r\n
\r\n
\r\n \r\n {showCommentHomeEventModal === true && selectedHomeEvent !== undefined && (\r\n {\r\n setShowCommentHomeEventModal(false);\r\n }}\r\n inputText={commentHomeEventInputText}\r\n setInputText={(val) => {\r\n setCommentHomeEventInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default HomeEventsList;\r\n","import React, { useState } from \"react\";\r\nimport { Link, NavLink } from \"react-router-dom\";\r\nimport line from \"../../assets/Images/line.png\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\n\r\nconst UploadHere = (props) => {\r\n let history = useHistory();\r\n const onButtonClick = () => {\r\n let pageName = \"\";\r\n if (props.from === \"News\") {\r\n pageName = `CreateNews`;\r\n } else if (props.from === \"Events\") {\r\n pageName = `CreateEvents`;\r\n } else if (props.from === \"Podcast\") {\r\n pageName = `UploadPodcast`;\r\n }\r\n history.push({\r\n pathname: pageName,\r\n state: {\r\n id: 0,\r\n },\r\n });\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
{props.message}
\r\n
UPLOAD HERE
\r\n
\r\n \r\n
\r\n {\r\n onButtonClick();\r\n }}\r\n >\r\n {props.buttonText}\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default UploadHere;\r\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport UploadHere from \"../UploadHere/UploadHere\";\r\n\r\nconst HomeNewsList = () => {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [showCommentTopNewsModal, setShowCommentTopNewsModal] = useState(false);\r\n const [commentTopNewsInputText, setCommentTopNewsInputText] = useState(\"\");\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [selectedTopNews, setselectedTopNews] = useState(undefined);\r\n const [update, setUpdate] = useState(false);\r\n const [newsList, setNewsList] = useState([]);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [newsLikesList, setNewsLikesList] = useState([]);\r\n const [newsLikesData, setNewsLikesData] = useState([]);\r\n const [newsResetCount, setNewsResetCount] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [nId, setNId] = useState(0);\r\n\r\n const settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n\r\n const getNews = async () => {\r\n\r\n let apiURL = constant.baseURL + \"news/getLatestNewsWithUserLike\" + '?page=' + 1 +\r\n '&limit=' + 20;\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resNews = await getDataApi(apiURL);\r\n if (resNews !== undefined && resNews.data.length > 0) {\r\n //console.log(\"resNews\", resNews);\r\n let itms = [];\r\n let newsIds = \"\";\r\n resNews.data.map((p, i) => {\r\n itms.push({\r\n id: p.id,\r\n name: p.title,\r\n img:\r\n p.urlImage !== undefined &&\r\n p.urlImage !== null &&\r\n p.urlImage !== \"\"\r\n ? constant.newsFileURL + p.urlImage\r\n : constant.musicURL,\r\n title: p.title,\r\n subtitle: p.subtitle,\r\n description: p.description,\r\n urlImage: p.urlImage,\r\n created: moment(p.created).format(\"DD-MMM-yyyy\"),\r\n artistName:\r\n p.user !== undefined\r\n ? p.user.firstName + \" \" + p.user.lastName\r\n : \"\",\r\n likes: p.likes,\r\n comments: p.comments.length,\r\n userlike: p.userlike\r\n });\r\n });\r\n setNewsList(itms);\r\n\r\n }\r\n };\r\n const getNewsLikes = async (str) => {\r\n if (currentUserInfo !== undefined && str !== \"\") {\r\n let resNewsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"newslikes?filter=user.id||$eq||\" +\r\n currentUserInfo?.id +\r\n \"&filter=news.id||$in||\" +\r\n str\r\n );\r\n if (resNewsLikes != undefined && resNewsLikes.length > 0) {\r\n setNewsLikesList(resNewsLikes);\r\n setNewsLikesData(resNewsLikes);\r\n }\r\n else {\r\n setNewsLikesList([]);\r\n setNewsLikesData([]);\r\n }\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n const createNewsLikes = async (newsId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setNId(newsId);\r\n let jsonData = {\r\n user: currentUserInfo.id,\r\n news: newsId,\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respNewsLike = await postDataApi(\r\n constant.baseURL + \"newslikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respNewsLike != undefined &&\r\n respNewsLike.status != undefined &&\r\n respNewsLike.status == 201 && respNewsLike.data !== undefined\r\n ) {\r\n setLikes(newsId, respNewsLike.data, undefined);\r\n setDisableItem(false);\r\n // console.log(\"ffffff\")\r\n // setLikes(newsId);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n const resetNewsLike = async (newsId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setNId(newsId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"newslikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(newsId, undefined, likeId);\r\n setDisableItem(false);\r\n // setLikes(newsId);\r\n // console.log(\"ffffff1111111\")\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n // const setLikes = (id) => {\r\n // setNewsResetCount(newsResetCount + 1);\r\n // };\r\n const navigateToNewsDetails = (index) => {\r\n let indexItem = newsList[index];\r\n history.push({\r\n // pathname: `NewsDetails/${hashCodeUrl(indexItem.id)}/${hashCodeUrl(\r\n // indexItem.description\r\n // )}`,\r\n pathname: `NewsDetails/${hashCodeUrl(indexItem.id)}`,\r\n state: {\r\n id: indexItem.id,\r\n },\r\n });\r\n // history.push({\r\n // pathname: `NewsDetails`,\r\n // state: {\r\n // id: indexItem.id,\r\n // },\r\n // });\r\n };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, news: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"newslikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId,likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"newslikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...newsList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setNewsList(bgItems)\r\n\r\n };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)}\r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetNewsLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createNewsLikes(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const renderNewsList = () => {\r\n if (newsList.length > 0) {\r\n return (\r\n \r\n {newsList.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToNewsDetails(index)}\r\n src={item.img}\r\n alt=\"Card image cap\"\r\n />\r\n
\r\n {item.created}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {item.name !== undefined &&\r\n item.name !== null &&\r\n item.name !== \"\"\r\n ? String(item.name)\r\n : \"\"}\r\n \r\n \r\n {item.description !== undefined &&\r\n item.description !== null &&\r\n item.description !== \"\"\r\n ? String(item.description)\r\n : \"\"}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && nId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setselectedTopNews(item);\r\n setShowCommentTopNewsModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments}\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n } else {\r\n return
\r\n // { verifyLoginUserType() && \r\n\r\n // :
{constant.noDataFoundLabel}
} ;\r\n }\r\n };\r\n useEffect(() => {\r\n setNewsResetCount(0);\r\n setCommentsCount(0);\r\n getNews();\r\n }, []);\r\n useEffect(() => {\r\n getNews();\r\n }, [newsResetCount, commentsCount]);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Latest News\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderNewsList()}\r\n
\r\n
\r\n
\r\n
\r\n {showCommentTopNewsModal === true && selectedTopNews !== undefined && (\r\n {\r\n setShowCommentTopNewsModal(false);\r\n }}\r\n inputText={commentTopNewsInputText}\r\n setInputText={(val) => {\r\n setCommentTopNewsInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default HomeNewsList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst HomePodcastsList = (props) => {\r\n const { podcastDetails, podcast } = props;\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [showCommentHomePodcastModal, setShowCommentHomePodcastModal] =\r\n useState(false);\r\n const [commentHomePodcastInputText, setCommentHomePodcastInputText] =\r\n useState(\"\");\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [selectedHomePodcast, setSelectedHomePodcast] = useState(undefined);\r\n const [update, setUpdate] = useState(false);\r\n const [podcastsList, setPodcastsList] = useState([]);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [podcastsLikesList, setPodcastsLikesList] = useState([]);\r\n const [podcastsLikesData, setPodcastsLikesData] = useState([]);\r\n const [podcastsResetCount, setPodcastsResetCount] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [pId, setPId] = useState(0);\r\n\r\n\r\n const settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const navigateToPodcastDetails = (index) => {\r\n let podcastItem = podcastsList[index];\r\n if (podcast === \"podcast\") {\r\n // history.clear();\r\n history.push({\r\n pathname: `/PodcastDetails/${hashCodeUrl(podcastItem.id)}`,\r\n state: {\r\n id: podcastItem.id,\r\n item: podcastItem,\r\n },\r\n });\r\n return podcastDetails(podcastItem);\r\n } else {\r\n //console.log(podcastItem);\r\n if (podcastItem !== undefined) {\r\n // setchangePodcastById(podcastItem.id);\r\n history.push({\r\n // pathname: `PodcastDetails/${hashCodeUrl(\r\n // podcastItem.id\r\n // )}/${hashCodeUrl(podcastItem.title)}`,\r\n pathname: `PodcastDetails/${hashCodeUrl(podcastItem.id)}`,\r\n state: {\r\n id: podcastItem.id,\r\n item: podcastItem,\r\n },\r\n });\r\n // history.push({\r\n // pathname: `PodcastDetails`,\r\n // state: {\r\n // id: podcastItem.id,\r\n // item: podcastItem,\r\n // },\r\n // });\r\n }\r\n }\r\n };\r\n\r\n const getPodcasts = async () => {\r\n //console.log(constant.baseURL + \"podcasts/getLatestPodcasts/10\");\r\n let apiurl = constant.baseURL + \"podcasts/getPodcastsWithUserLike?page=1&limit=20&showLatest=Yes\"\r\n if (currentUserInfo) {\r\n apiurl += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resPodcasts = await getDataApi(apiurl);\r\n //console.log(resPodcasts)\r\n if (resPodcasts !== undefined && resPodcasts.data.length > 0) {\r\n let itms = [];\r\n if (resPodcasts !== undefined && resPodcasts.data.length > 0) {\r\n //console.log(\"resPodcast:\", resPodcasts);\r\n //let podcastsIds = \"\";\r\n resPodcasts.data.map((p) => {\r\n let dfltURL =\r\n p.podcastType == \"video\"\r\n ? constant.videoURL\r\n : constant.musicURL;\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n img:\r\n p.urlImage !== undefined &&\r\n p.urlImage !== null &&\r\n p.urlImage !== \"\"\r\n ? constant.podcastFileURL + p.urlImage\r\n : dfltURL,\r\n title: p.name,\r\n description: p.description,\r\n podcastType: p.podcastType,\r\n urlPodcast: p.urlPodcast,\r\n urlImage: p.urlImage,\r\n artistName:\r\n p.user !== undefined\r\n ? p.user.firstName + \" \" + p.user.lastName\r\n : \"\",\r\n // artistName: p.artist.firstName + \" \" + p.artist.lastName,\r\n likes: p.likes,\r\n comments: p.comments.length,\r\n userlike: p.userlike\r\n });\r\n });\r\n setPodcastsList(itms);\r\n }\r\n }\r\n };\r\n\r\n // const getPodcastLikes = async (str) => {\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resPodcastLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"podcastlikes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=podcasts.id||$in||\" +\r\n // str\r\n\r\n // );\r\n // if (resPodcastLikes != undefined && resPodcastLikes.length > 0) {\r\n // setPodcastsLikesList(resPodcastLikes);\r\n // setPodcastsLikesData(resPodcastLikes);\r\n // } else {\r\n // setPodcastsLikesList([]);\r\n // setPodcastsLikesData([]);\r\n // }\r\n // setDisableItem(false);\r\n // } else {\r\n // setDisableItem(false);\r\n // }\r\n // };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n const createPodcastLike = async (podcastId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setPId(podcastId);\r\n if (currentUserInfo != undefined) {\r\n let jsonData = { user: currentUserInfo.id, podcasts: podcastId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPodcastLike = await postDataApi(\r\n constant.baseURL + \"podcastlikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcastLike != undefined &&\r\n respPodcastLike.status != undefined &&\r\n respPodcastLike.status == 201 && respPodcastLike.data !== undefined\r\n ) {\r\n setLikes(podcastId, respPodcastLike.data, undefined);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n }\r\n\r\n };\r\n const resetPodcastLike = async (podcastId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setPId(podcastId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"podcastlikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(podcastId, undefined, likeId);//setLikes(podcastId);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, podcasts: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"podcastlikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId,likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"podcastlikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...podcastsList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n setPodcastsList(bgItems)\r\n };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetPodcastLike(likeData.id, likeData.userlike[0].id)}\r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetPodcastLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"mike\" createPodcastLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createPodcastLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const renderPodcastItems = () => {\r\n return podcastsList.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToPodcastDetails(index)}\r\n src={item.img}\r\n alt={item.name}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {item.name !== undefined && item.name !== null\r\n ? String(item.name)\r\n : \"\"}\r\n \r\n \r\n {String(item.artistName)}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && pId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedHomePodcast(item);\r\n setShowCommentHomePodcastModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n );\r\n })\r\n }\r\n const renderPodcastsList = () => {\r\n if (podcastsList.length > 0) {\r\n return (\r\n \r\n {\r\n renderPodcastItems()\r\n }\r\n \r\n );\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n useEffect(() => {\r\n setCommentsCount(0);\r\n getPodcasts();\r\n }, []);\r\n useEffect(() => {\r\n getPodcasts();\r\n }, [commentsCount]);\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Podcasts\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderPodcastsList()}\r\n
\r\n
\r\n
\r\n
\r\n {showCommentHomePodcastModal === true &&\r\n selectedHomePodcast !== undefined && (\r\n {\r\n setShowCommentHomePodcastModal(false);\r\n }}\r\n inputText={commentHomePodcastInputText}\r\n setInputText={(val) => {\r\n setCommentHomePodcastInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default HomePodcastsList;\r\n","import { Route, BrowserRouter, Redirect, Switch } from \"react-router-dom\";\r\nimport HomeBigStage from '../../components/HomeBigStage/HomeBigStage';\r\nimport HomeBigStageList from \"../../components/HomeBigStageList/HomeBigStageList\";\r\nimport HomeFeaturedArtistsList from '../../components/HomeFeaturedArtistsList/HomeFeaturedArtistsList';\r\nimport HomeEventsList from '../../components/HomeEventsList/HomeEventsList';\r\nimport HomeNewsList from '../../components/HomeNewsList/HomeNewsList';\r\nimport HomePodcastsList from '../../components/HomePodcastsList/HomePodcastsList';\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { useEffect } from \"react\";\r\nimport PlayStorePopup from \"../../components/PlayStorePopup/PlayStorePopup\";\r\n\r\nfunction Home() {\r\n var idd = JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n const getBigStageList = async () => {\r\n let resBigStages = await getDataApi(constant.baseURL + \"user/\" + idd?.id);\r\n //console.log(resBigStages)\r\n if (idd?.id && resBigStages.isDeleted) {\r\n localStorage.clear();\r\n window.location.replace(\"/\");\r\n setTimeout(() => {\r\n window.location.reload()\r\n }, 500);\r\n }\r\n }\r\n useEffect(() => {\r\n getBigStageList();\r\n }, [idd?.id])\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\nexport default Home;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { FaRegPlayCircle } from \"react-icons/fa\";\r\nimport VideoModal from \"../../components/VideoModal/VideoModal\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport bigstageBanner from \"../../assets/Images/bigstageBanner.png\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport ReactPlayer from 'react-player';\r\nfunction BigStage() {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [showCommentBigStageModal, setShowCommentBigStageModal] =\r\n useState(false);\r\n const [commentBigStageInputText, setCommentBigStageInputText] = useState(\"\");\r\n const [showReportBigStageModal, setShowReportBigStageModal] = useState(false);\r\n const [reportBigStageInputText, setReportBigStageInputText] = useState(\"\");\r\n const [selectedBigStage, setSelectedBigStage] = useState(undefined);\r\n const [page, setPage] = useState(1);\r\n const [pageCount, setPageCount] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [playVideo, setPlayVideo] = useState(false);\r\n const [playVideo1, setPlayVideo1] = useState(false);\r\n const [homeBigStageItem, setHomeBigStageItem] = useState(undefined);\r\n const [bigStageList, setBigStageList] = useState([]);\r\n const [indexext, setindex] = useState(null);\r\n const [bigStageItem, setBigStageItem] = useState({\r\n videoURL: \"\",\r\n thumbnailURL: bigstageBanner,\r\n name: \"\",\r\n artisitName: \"\",\r\n });\r\n \r\n const [bigStageLikesList, setBigStageLikesList] = useState([]);\r\n const [bigStageLikesData, setBigStageLikesData] = useState([]);\r\n const [bigStageResetCount, setBigStageResetCount] = useState(0);\r\n const [bgId, setBgId] = useState(0);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n\r\n\r\n // let apiURL = constant.baseURL +\r\n // 'bigstages/getAllActiveBigstageWithUserLike?page=' +\r\n // pageNumber +\r\n // '&limit=' +\r\n // limit +\r\n // '&sort=id,DESC';\r\n // if (userDetails.length > 0) {\r\n // apiURL += \"&userId=\" + userDetails[0].id;\r\n // }\r\n // let resBigStages = await getApi(apiURL);\r\n\r\n const getHomeBigStage = async () => {\r\n //let apiURL = constant.baseURL + \"bigstages/getTop10BigstagesWithUserLike\";\r\n let apiURL = constant.baseURL + \"bigstages/getMainBigstagesWithUserLike\";\r\n let jsonData = { userId: 0 }\r\n let resBigStages = await postDataApi(apiURL, jsonData);\r\n //console.log(\"resBigStages: \", resBigStages);\r\n if (resBigStages !== undefined && resBigStages.data.length > 0) {\r\n setHomeBigStageItem(resBigStages.data[0]);//setHomeBigStageItem(resBigStages.data[resBigStages.data.length - 1]);\r\n setBigStageItem((prevState) => {\r\n return {\r\n ...prevState,\r\n videoURL:\r\n constant.bigStageVideoURL +\r\n resBigStages.data[0].videoURL,\r\n thumbnailURL:\r\n constant.bigStageThumbnailURL +\r\n resBigStages.data[0].thumbnailURL,\r\n name: resBigStages.data[0].name,\r\n artisitName:\r\n resBigStages.data[0].user !== null\r\n ? resBigStages.data[0].user.firstName +\r\n \" \" +\r\n resBigStages.data[0].user.lastName\r\n : \"\",\r\n };\r\n });\r\n }\r\n }\r\n\r\n\r\n const getBigStageList = async (pageNumber) => {\r\n let apiURL = constant.baseURL +\r\n 'bigstages/getAllActiveBigstageWithUserLike?page=' +\r\n pageNumber +\r\n '&limit=' +\r\n limit +\r\n '&sort=id,DESC';\r\n if (currentUserInfo !== undefined) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resBigStages = await getDataApi(\r\n apiURL\r\n );\r\n\r\n // console.log(\r\n // \"resBigStages: \",\r\n // resBigStages,\r\n // constant.baseURL +\r\n // \"bigstages/getAll?filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n // pageNumber +\r\n // \"&limit=\" +\r\n // limit +\r\n // \"&sort=id,DESC\"\r\n // );\r\n // console.log(resBigStages)\r\n if (\r\n resBigStages !== undefined &&\r\n resBigStages.data !== undefined &&\r\n resBigStages.data.length > 0\r\n ) {\r\n setPageCount(resBigStages.pageCount);\r\n //let bigstageIds = \"\";\r\n if (pageNumber == 1) {\r\n //setHomeBigStageItem(resBigStages.data[0]);\r\n // setBigStageItem((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // videoURL:\r\n // constant.bigStageVideoURL +\r\n // resBigStages.data[0].videoURL,\r\n // thumbnailURL:\r\n // constant.bigStageThumbnailURL +\r\n // resBigStages.data[0].thumbnailURL,\r\n // name: resBigStages.data[0].name,\r\n // artisitName:\r\n // resBigStages.data[0].user !== null\r\n // ? resBigStages.data[0].user.firstName +\r\n // \" \" +\r\n // resBigStages.data[0].user.lastName\r\n // : \"\",\r\n // };\r\n // });\r\n // resBigStages.data.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n setBigStageList([...resBigStages.data]);\r\n // getBigStageLikesByUser(\r\n // bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\"))\r\n // );\r\n } else {\r\n setBigStageList([...bigStageList, ...resBigStages.data]);\r\n // resBigStages.data.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // bigStageList.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // getBigStageLikesByUser(\r\n // bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\"))\r\n // );\r\n }\r\n //show hide view more page\r\n if (resBigStages.page < resBigStages.pageCount) {\r\n setShowViewMore(true);\r\n setbuttonDisable(false);\r\n } else {\r\n setShowViewMore(false);\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setShowViewMore(false);\r\n setbuttonDisable(false);\r\n }\r\n };\r\n const getBigStageList1 = async (pageNumber) => {\r\n let apiURL = constant.baseURL +\r\n \"bigstages/getAllActiveBigstageWithUserLike?page=\" +\r\n 1 +\r\n \"&limit=\" +\r\n (limit * pageNumber) +\r\n '&sort=id,DESC';\r\n if (currentUserInfo !== undefined) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resBigStages = await getDataApi(\r\n apiURL\r\n );\r\n\r\n if (\r\n resBigStages !== undefined &&\r\n resBigStages.data !== undefined &&\r\n resBigStages.data.length > 0\r\n ) {\r\n setPageCount(resBigStages.pageCount);\r\n let bigstageIds = \"\";\r\n if (pageNumber == 1) {\r\n //setHomeBigStageItem(resBigStages.data[0]);\r\n // setBigStageItem((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // videoURL:\r\n // constant.bigStageVideoURL +\r\n // resBigStages.data[0].videoURL,\r\n // thumbnailURL:\r\n // constant.bigStageThumbnailURL +\r\n // resBigStages.data[0].thumbnailURL,\r\n // name: resBigStages.data[0].name,\r\n // artisitName:\r\n // resBigStages.data[0].user !== null\r\n // ? resBigStages.data[0].user.firstName +\r\n // \" \" +\r\n // resBigStages.data[0].user.lastName\r\n // : \"\",\r\n // };\r\n // });\r\n\r\n setBigStageList([...resBigStages.data]);\r\n\r\n }\r\n else {\r\n setBigStageList([...resBigStages.data]);\r\n\r\n }\r\n //show hide view more page\r\n // if (resBigStages.page < resBigStages.totalCount) {\r\n // setShowViewMore(true);\r\n // setbuttonDisable(false);\r\n // } else {\r\n // setShowViewMore(false);\r\n // setbuttonDisable(false);\r\n // }\r\n } else {\r\n setShowViewMore(false);\r\n setbuttonDisable(false);\r\n }\r\n };\r\n // const getBigStageLikesByUser = async (str) => {\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resBigStageLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"bigstagelikes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=bigstage.id||$in||\" +\r\n // str\r\n // );\r\n // if (resBigStageLikes !== undefined) {\r\n // setBigStageLikesList(resBigStageLikes);\r\n // setBigStageLikesData(resBigStageLikes);\r\n // }\r\n // setbuttonDisable(false);\r\n // } else {\r\n // setbuttonDisable(false);\r\n // }\r\n // };\r\n const playBigStageVideo = (item, isFirst, i) => {\r\n history.push({\r\n pathname: `Videoplayer`,\r\n state: { variant: \"homebigstagejs\", url: constant.bigStageVideoURL + item.videoURL }\r\n });\r\n // setPlayVideo(true);\r\n // setPlayVideo1(false);\r\n // setindex(i)\r\n // if (isFirst == true) {\r\n // setBigStageItem(item);\r\n // } else {\r\n // setBigStageItem({\r\n // videoURL: constant.bigStageVideoURL + item.videoURL,\r\n // thumbnailURL:\r\n // constant.bigStageThumbnailURL + item.thumbnailURL,\r\n // name: item.name,\r\n // artisitName:\r\n // item.user !== undefined && item.user !== null\r\n // ? item.user.firstName + \" \" + item.user.lastName\r\n // : \"\",\r\n // });\r\n // }\r\n };\r\n const playBigStageVideo1 = (item, isFirst) => {\r\n //console.log(item)\r\n history.push({\r\n pathname: `Videoplayer`,\r\n state: { variant: \"homebigstagejs\", url: item.videoURL }\r\n });\r\n // setPlayVideo1(true);\r\n // setPlayVideo(false);\r\n // if (isFirst == true) {\r\n // setBigStageItem(item);\r\n // } else {\r\n // setBigStageItem({\r\n // videoURL: constant.bigStageVideoURL + item.videoURL,\r\n // thumbnailURL:\r\n // constant.bigStageThumbnailURL + item.thumbnailURL,\r\n // name: item.name,\r\n // artisitName:\r\n // item.user !== undefined && item.user !== null\r\n // ? item.user.firstName + \" \" + item.user.lastName\r\n // : \"\",\r\n // });\r\n // }\r\n };\r\n const onClickViewMore = () => {\r\n setbuttonDisable(true);\r\n setPage(page + 1);\r\n getBigStageList(page + 1);\r\n };\r\n // const closeVideoModal = () => {\r\n // setPlayVideo(false);\r\n // };\r\n const createBigStageLike = async (bigStageId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setbuttonDisable(true);\r\n setBgId(bigStageId);\r\n if (currentUserInfo !== undefined) {\r\n let jsonData = { user: currentUserInfo.id, bigstage: bigStageId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resBigStageLike = await postDataApi(\r\n constant.baseURL + \"bigstagelikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n resBigStageLike != undefined &&\r\n resBigStageLike.status != undefined &&\r\n resBigStageLike.status == 201 && resBigStageLike.data !== undefined\r\n ) {\r\n setLikes(bigStageId, resBigStageLike.data, undefined);//setLikes(bigStageId, resBigStageLike.data);\r\n setbuttonDisable(false);\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n }\r\n };\r\n const resetBigStageLike = async (bigStageId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setbuttonDisable(true);\r\n setBgId(bigStageId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"bigstagelikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(bigStageId, undefined, likeId);//setLikes(bigStageId);\r\n setbuttonDisable(false);\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n };\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, bigstage: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"bigstagelikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId, likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"bigstagelikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...bigStageList]\r\n\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setBigStageList(bgItems)\r\n\r\n };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData?.userlike?.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetBigStageLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createBigStageLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n // if (likeData.length !== 0) {\r\n // let flt = likeData.filter(\r\n // (f) => f.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // resetBigStageLike(id, flt[0].id)}\r\n // onClick={() => {\r\n // if (VerifyLoginExistOrNot()) resetBigStageLike(id, flt[0].id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createBigStageLike(id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createBigStageLike(id, type);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n };\r\n const renderLatestBigStage = () => {\r\n if (bigStageList.length > 0) {\r\n return bigStageList.map((item, index) => {\r\n if (index <= 1 && (item.mainBigstage === undefined || item.mainBigstage === false)) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {bigStageItem !== undefined && playVideo && index === indexext ?\r\n \r\n \r\n // \r\n : }\r\n
\r\n {bigStageList.length > 0 && index !== indexext && (\r\n
\r\n
\r\n playBigStageVideo(item, false, index)}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {item.name}\r\n \r\n
\r\n {/*

{item.user !== null ? item.user.firstName + ' ' + item.user.lastName : ''}

*/}\r\n
\r\n
\r\n \r\n {item?.artist}\r\n \r\n
\r\n {/*

{item.user !== null ? item.user.firstName + ' ' + item.user.lastName : ''}

*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {buttonDisable && bgId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowCommentBigStageModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n }\r\n >\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowReportBigStageModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Report\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n });\r\n } else {\r\n return (\r\n
\r\n {constant.noDataFoundLabel}\r\n
\r\n );\r\n }\r\n };\r\n const renderBigStages = () => {\r\n return bigStageList.map((item, index) => {\r\n if (index > 1 && (item.mainBigstage === undefined || item.mainBigstage === false)) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {bigStageItem !== undefined && playVideo && index === indexext ?\r\n \r\n \r\n // \r\n : }\r\n\r\n
\r\n {bigStageList.length > 0 && index !== indexext && (\r\n
\r\n
\r\n playBigStageVideo(item, false, index)}\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {item.name}\r\n \r\n
\r\n {/*

{item.user !== null ? item.user.firstName + ' ' + item.user.lastName : ''}

*/}\r\n
\r\n
\r\n \r\n {item?.artist}\r\n \r\n
\r\n {/*

{item.user !== null ? item.user.firstName + ' ' + item.user.lastName : ''}

*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {buttonDisable && bgId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowCommentBigStageModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n >\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedBigStage(item);\r\n setShowReportBigStageModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Report\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n });\r\n };\r\n useEffect(() => {\r\n //setBigStageResetCount(0);\r\n setCommentsCount(0);\r\n getHomeBigStage();\r\n getBigStageList(page);\r\n }, []);\r\n useEffect(() => {\r\n //console.log(\"useEffect - refresh\");\r\n // let bigstageIds = \"\";\r\n // bigStageList.map((item) => {\r\n // bigstageIds += item.id + \",\";\r\n // });\r\n // getBigStageLikesByUser(bigstageIds.substr(0, bigstageIds.lastIndexOf(\",\"))); \r\n getBigStageList1(page);\r\n }, [commentsCount]);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n\r\n {playVideo1 === undefined ||\r\n playVideo1 === false ?\r\n
\r\n \r\n {bigStageItem !== undefined ? bigStageItem.name : \"\"}\r\n
\r\n {bigStageList.length > 0 && (\r\n playBigStageVideo1(bigStageItem, true)}\r\n >\r\n \r\n
\r\n )}\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Latest Video
\r\n
\r\n
\r\n
{renderLatestBigStage()}
\r\n
\r\n {renderBigStages(\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0\r\n )}\r\n
\r\n {bigStageList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n {showCommentBigStageModal === true && selectedBigStage !== undefined && (\r\n {\r\n setShowCommentBigStageModal(false);\r\n }}\r\n inputText={commentBigStageInputText}\r\n setInputText={(val) => {\r\n setCommentBigStageInputText(val);\r\n }}\r\n setUpdate={setCommentUpdate}\r\n isComment={true}\r\n />\r\n )}\r\n {showReportBigStageModal === true && selectedBigStage !== undefined && (\r\n {\r\n setShowReportBigStageModal(false);\r\n }}\r\n inputText={reportBigStageInputText}\r\n setInputText={(val) => {\r\n setReportBigStageInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { \r\n //console.log(\"DONE\"); \r\n }}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BigStage;\r\n","export default __webpack_public_path__ + \"static/media/communitybg.e41bbf40.png\";","import React, { useState, useEffect } from \"react\";\r\n// import {FaRegPlayCircle} from 'react-icons/fa';\r\n// import {Carousel} from 'react-bootstrap';\r\n// import { HiOutlineArrowNarrowLeft, HiOutlineArrowNarrowRight } from \"react-icons/hi\";\r\n// import podcast from '../../assets/Images/podcast.png';\r\n// import { colors } from '../../utility/colors';\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\n\r\nconst TopArtists = (props) => {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [topTenArtists, setTopTenArtists] = useState([]);\r\n const [topTwentyArtists, setTopTwentyArtists] = useState([]);\r\n const [artistLikesList, setLikesList] = useState([]);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [selectedArtistItem, setSelectedArtistItem] = useState(undefined);\r\n const [showCommentHomeArtistModal, setShowCommentHomeArtistModal] = useState(false);\r\n const [update, setUpdate] = useState(false);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [commentHomeArtistInputText, setCommentHomeArtistInputText] = useState(\"\");\r\n const [nId, setNId] = useState(0);\r\n const top10Settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.2,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 1,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4.5,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const top20Settings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 1,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 5.2,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const setCommentUpdate = () => {\r\n getTop1020Artists();\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n const getTop1020Artists = async () => {\r\n //let resTop10 = await getDataApi(constant.baseURL + 'user?filter=showOnTopTen||$eq||1&usertype||$eq||Artist&limit=1&sort=id,DESC');\r\n let apiURL = constant.baseURL + \"user/getTop10ArtistsWithUserLike\";\r\n let jsonData = { userId: (currentUserInfo) ? currentUserInfo.id : 0 }\r\n let resTop10 = await postDataApi(apiURL, jsonData);\r\n // let resTop10 = await getDataApi(constant.baseURL + \"user/getTop10Artists\");\r\n //console.log(\"Top 10:\", resTop10);\r\n if (\r\n resTop10 !== undefined &&\r\n resTop10.data !== undefined &&\r\n resTop10.data.data.length > 0\r\n ) {\r\n setTopTenArtists([...resTop10.data.data]);\r\n }\r\n // let resTop20 = await getDataApi(constant.baseURL + 'user?filter=showOnTopTwenty||$eq||1&usertype||$eq||Artist&limit=1&sort=id,DESC');\r\n let apiURL1 = constant.baseURL + \"user/getTop20ArtistsWithUserLike\";\r\n let jsonData1 = { userId: (currentUserInfo) ? currentUserInfo.id : 0 }\r\n let resTop20 = await postDataApi(apiURL1, jsonData1);\r\n //console.log(\"Top 20:\", resTop20);\r\n if (\r\n resTop20 !== undefined &&\r\n resTop20.data !== undefined &&\r\n resTop20.data.data.length > 0\r\n ) {\r\n setTopTwentyArtists([...resTop20.data.data]);\r\n }\r\n };\r\n const navigateToArtistDetails = (index, isTop20) => {\r\n let indexItem = undefined;\r\n if (isTop20 == true) {\r\n indexItem = topTwentyArtists[index];\r\n } else {\r\n indexItem = topTenArtists[index];\r\n }\r\n //console.log(indexItem);\r\n // history.push({\r\n // pathname: `FeaturedArtistDetails/${hashCodeUrl(\r\n // indexItem.id\r\n // )}/${hashCodeUrl(indexItem.biography)}`,\r\n // state: {\r\n // id: indexItem.id,\r\n // },\r\n // });\r\n history.push({\r\n // pathname: `FeaturedArtistDetails/${\r\n // indexItem !== undefined ? hashCodeUrl(indexItem.id) : 0\r\n // }/${\r\n // indexItem !== undefined ? hashCodeUrl(indexItem.biography) : \"\"\r\n // }`,\r\n pathname: `FeaturedArtistDetails/${indexItem !== undefined ? hashCodeUrl(indexItem.id) : 0\r\n }/`,\r\n state: {\r\n id: indexItem !== undefined ? indexItem.id : 0,\r\n from:isTop20==true?\"featureartists20\":\"featureartists10\"\r\n },\r\n });\r\n window.scrollTo(0, 0);\r\n };\r\n // const setLikes = (id) => {\r\n // if (artistLikesList.length !== 0) {\r\n // if (!artistLikesList.includes(id)) {\r\n // setLikesList([...artistLikesList, id]);\r\n // } else {\r\n // let newArr = artistLikesList.filter((i) => i !== id);\r\n // setLikesList(newArr);\r\n // }\r\n // } else {\r\n // let arr = [];\r\n // arr.push(id);\r\n // setLikesList(arr);\r\n // }\r\n // };\r\n const createArtistLike = async (artistId, type) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setNId(artistId);\r\n let jsonData = { user: currentUserInfo.id, artist: artistId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resBigStageLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n console.log(resBigStageLike)\r\n if (\r\n resBigStageLike?.data !== undefined\r\n ) {\r\n setLikes(artistId, resBigStageLike.data, undefined, type);\r\n setDisableItem(false);\r\n }\r\n }\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n });\r\n setDisableItem(false);\r\n }\r\n\r\n };\r\n\r\n const resetArtistLike = async (artistId, likeId, type) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setNId(artistId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + likeId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setLikes(artistId, undefined, likeId, type);\r\n setDisableItem(false);\r\n\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n });\r\n setDisableItem(false);\r\n\r\n }\r\n };\r\n const setLikes = (id, data, likeId, type) => {\r\n let bgItems\r\n // console.log(bigStageList20)\r\n if (type) {\r\n bgItems = [...topTwentyArtists]\r\n } else {\r\n bgItems = [...topTenArtists]\r\n }\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n //console.log(bgItems)\r\n if (type) {\r\n setTopTwentyArtists(bgItems)\r\n } else {\r\n setTopTenArtists(bgItems)\r\n }\r\n };\r\n const renderLikes = (likeData, type) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id, type)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetArtistLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id, type)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createArtistLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const renderTopArtists = (data, isTop20) => {\r\n if (data.length > 0) {\r\n return (\r\n \r\n {data.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToArtistDetails(index, isTop20)}\r\n src={\r\n item.urlImage !== undefined &&\r\n item.urlImage !== \"user.png\"\r\n ? constant.profileURL + item.urlImage\r\n : item.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL\r\n }\r\n alt={item.firstName + \" \" + item.lastName}\r\n />\r\n
\r\n
\r\n {item.firstName + \" \" + item.lastName}\r\n
\r\n

\r\n {item.albums.length} Albums\r\n

\r\n
\r\n
\r\n
\r\n {disableItem && nId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item, isTop20)}\r\n {item.likes !== undefined && item.likes !== null ? item.likes.length : 0}\r\n \r\n }\r\n
\r\n\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedArtistItem(item);\r\n setShowCommentHomeArtistModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }} />\r\n \r\n {item.comments !== undefined && item.comments !== null ? item.comments.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 } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n useEffect(() => {\r\n getTop1020Artists();\r\n }, []);\r\n useEffect(() => {\r\n getTop1020Artists();\r\n }, [props.updated]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Top 10 Artists
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderTopArtists(topTenArtists, false)}\r\n
\r\n
\r\n
\r\n {topTwentyArtists.length > 0 ? <>
\r\n
\r\n
Top 20 Artists
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {renderTopArtists(topTwentyArtists, true)}\r\n
\r\n
\r\n
: null}\r\n
\r\n {showCommentHomeArtistModal === true &&\r\n {\r\n setShowCommentHomeArtistModal(false);\r\n getTop1020Artists();\r\n }}\r\n inputText={commentHomeArtistInputText}\r\n setInputText={(val) => {\r\n setCommentHomeArtistInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n }\r\n
\r\n \r\n );\r\n};\r\nexport default TopArtists;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport CommentsModal from \"../CommentsModal/CommentsModal\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst AllArtists = (props) => {\r\n //console.log(props)\r\n let history = useHistory();\r\n let path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [arId, setArId] = useState(0);\r\n const [updated, setUpdated] = useState(false);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [page, setPage] = useState(1);\r\n //const [pageCount, setPageCount] = useState(0);\r\n const [limit, setLimit] = useState(18);\r\n const [artistList, setArtistList] = useState([]);\r\n const [artistLikesList, setArtistLikesList] = useState([]);\r\n const [artistLikesData, setArtistLikesData] = useState([]);\r\n const [artistResetCount, setArtistResetCount] = useState(0);\r\n //const [artId, setArtId] = useState(0);\r\n const [showCommentHomeArtistModal, setShowCommentHomeArtistModal] = useState(false);\r\n const [commentHomeArtistInputText, setCommentHomeArtistInputText] = useState(\"\");\r\n const [update, setUpdate] = useState(false);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [selectedArtistItem, setSelectedArtistItem] = useState(undefined);\r\n\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n // http://45.80.152.23:4527/user/getAllArtistsWithUserLike?page=1&limit=10&userId=1\r\n const getArtists = async (pageNumber) => {\r\n let apiURL\r\n if(props.isFeatured === true){\r\n apiURL = constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n pageNumber + '&limit=' +\r\n limit + '&isFeatured=' + 'Yes' + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n }else{\r\n apiURL = constant.baseURL + 'user/getAllArtistsWithUserLike?page=' +\r\n pageNumber + '&limit=' +\r\n limit + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n }\r\n \r\n\r\n let resAllArtists = await getDataApi(apiURL);\r\n //console.log(\"resAllArtists: \", resAllArtists);\r\n if (\r\n resAllArtists !== undefined &&\r\n resAllArtists.data !== undefined &&\r\n resAllArtists.data.length > 0\r\n ) {\r\n //let artistIds = \"\";\r\n if (pageNumber === 1) {\r\n\r\n setArtistList([...resAllArtists.data]);\r\n } else {\r\n setArtistList([...artistList, ...resAllArtists.data]);\r\n\r\n }\r\n\r\n if (\r\n resAllArtists.page < resAllArtists.totalCount &&\r\n resAllArtists.data.length === limit\r\n ) {\r\n setShowViewMore(true);\r\n setDisableItem(false);\r\n } else {\r\n setShowViewMore(false);\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setShowViewMore(false);\r\n setDisableItem(false);\r\n }\r\n };\r\n // const getArtists1 = async (pageNumber) => {\r\n // let apiURL\r\n // if(props.isFeatured === true){\r\n // apiURL = constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n // 1 + '&limit=' +\r\n // limit + '&isFeatured=' + 'Yes' + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n // }else{\r\n // apiURL = constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n // 1 + '&limit=' +\r\n // limit + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n // }\r\n // let apiURL = constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n // 1 + '&limit=' +\r\n // limit * pageNumber + '&isFeatured=' + ((props.isFeatured === true) ? 'Yes' : 'No') + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n // let resAllArtists = await getDataApi(apiURL);\r\n // console.log(\"resAllArtists: \", resAllArtists);\r\n // if (\r\n // resAllArtists !== undefined &&\r\n // resAllArtists.data !== undefined &&\r\n // resAllArtists.data.length > 0\r\n // ) {\r\n\r\n // setArtistList([...resAllArtists.data]);\r\n // // }\r\n // // else {\r\n // // setArtistList([...artistList, ...resAllArtists.data]);\r\n // // resAllArtists.data.map((item) => {\r\n // // artistIds += item.id + \",\";\r\n // // });\r\n // // artistList.map((item) => {\r\n // // artistIds += item.id + \",\";\r\n // // });\r\n // // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // // }\r\n\r\n // // if (\r\n // // resAllArtists.page < resAllArtists.totalCount &&\r\n // // resAllArtists.data.length === limit\r\n // // ) {\r\n // // setShowViewMore(true);\r\n // // setDisableItem(false);\r\n // // } else {\r\n // // setShowViewMore(false);\r\n // // setDisableItem(false);\r\n // // }\r\n // } else {\r\n // setShowViewMore(false);\r\n // setDisableItem(false);\r\n // }\r\n // };\r\n const onClickViewMore = () => {\r\n setDisableItem(true);\r\n setPage(page + 1);\r\n getArtists(page + 1);\r\n };\r\n const navigateToArtistDetails = (index, isMainArtist) => {\r\n\r\n let indexItem = artistList[index];\r\n // let featuredUserId = hashCodeUrl(indexItem.id);\r\n history.push({\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(indexItem.id)}/`,\r\n state: {\r\n id: indexItem.id,\r\n from:props.isFeatured==true?\"featureartists\":\"featureartistsc\"\r\n },\r\n });\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n const createEpisodeLike = async (episodeId) => {\r\n if (currentUserInfo.id) {\r\n let jsonData = { user: currentUserInfo.id, artist: episodeId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resBigStageLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(resBigStageLike)\r\n if (\r\n resBigStageLike?.data !== undefined\r\n ) {\r\n setLikes(episodeId, resBigStageLike.data, undefined);\r\n }\r\n }\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n });\r\n }\r\n };\r\n\r\n const resetEpisodeLike = async (episodeId, likeId) => {\r\n //console.log(episodeId, likeId)\r\n if (currentUserInfo.id) {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + likeId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setLikes(episodeId, undefined, likeId);\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n });\r\n }\r\n };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...artistList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setArtistList(bgItems)\r\n\r\n };\r\n // // ------------------------------------------satyam Agarwal\r\n // const getArtistLikesByUser = async (str) => {\r\n // // console.log(\"currentUserInfo\", currentUserInfo, \"str\", str);\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resArtistLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"likes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=artist.id||$in||\" +\r\n // str\r\n // );\r\n // // console.log(\"resArtistLikes: \", resArtistLikes);\r\n // let artistLikeItems = [];\r\n\r\n // if (resArtistLikes !== undefined) {\r\n // resArtistLikes.map((m) => {\r\n // artistLikeItems.push(m.artist.id);\r\n // });\r\n // setArtistLikesList(resArtistLikes);\r\n // setArtistLikesData(resArtistLikes);\r\n // }\r\n // setDisableItem(false);\r\n // } else {\r\n // setDisableItem(false);\r\n // }\r\n // };\r\n const createArtistLike = async (artistId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setArId(artistId);\r\n if (currentUserInfo !== undefined) {\r\n let jsonData = { user: currentUserInfo.id, artist: artistId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respArtistLike !== undefined &&\r\n respArtistLike.status !== undefined &&\r\n respArtistLike.status === 201\r\n ) {\r\n setUpdated(!updated);\r\n setLikes(artistId, respArtistLike.data, undefined);//setLikes(artistId, respArtistLike.data);\r\n setDisableItem(false);\r\n } else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n }\r\n };\r\n\r\n const resetArtistLike = async (artistId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setArId(artistId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + likeId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setUpdated(!updated);\r\n setLikes(artistId, undefined, likeId);//setLikes(artistId);\r\n setDisableItem(false);\r\n }\r\n else {\r\n setDisableItem(false);\r\n }\r\n } else {\r\n setDisableItem(false);\r\n }\r\n };\r\n // const setLikes = (id, data) => {\r\n // //setArtId(id);\r\n // setArtistResetCount(artistResetCount + 1);\r\n // };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData?.userlike?.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetArtistLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createArtistLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n\r\n const renderArtists = () => {\r\n if (artistList.length > 0) {\r\n return artistList.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n navigateToArtistDetails(index, false)}\r\n src={\r\n item.urlImage !== undefined &&\r\n item.urlImage !== null &&\r\n item.urlImage !== \"\" &&\r\n item.urlImage !== \"user.png\"\r\n ? constant.profileURL + item.urlImage\r\n : item.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL\r\n }\r\n alt=\"\"\r\n />\r\n
\r\n \r\n {String(item.firstName + \" \" + item.lastName)}\r\n \r\n

\r\n {item.albums.length} Albums\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && arId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedArtistItem(item);\r\n setShowCommentHomeArtistModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n }\r\n else {\r\n return (\r\n
\r\n {constant.noDataFoundLabel}\r\n
\r\n );\r\n }\r\n };\r\n useEffect(() => {\r\n setCommentsCount(0);\r\n getArtists(page);\r\n }, []);\r\n // useEffect(() => {\r\n // getArtists1(page);\r\n // },[]);\r\n return (\r\n
\r\n
\r\n
Artists
\r\n
{renderArtists()}
\r\n {artistList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n {disableItem && DisableButtonLoader()}\r\n {constant.showMoreLabel}\r\n \r\n
\r\n
\r\n )}\r\n
\r\n {showCommentHomeArtistModal === true &&\r\n {\r\n setShowCommentHomeArtistModal(false);\r\n }}\r\n inputText={commentHomeArtistInputText}\r\n setInputText={(val) => {\r\n setCommentHomeArtistInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n }\r\n
\r\n );\r\n};\r\nexport default AllArtists;\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport communitybg from \"../../assets/Images/communitybg.png\";\r\n// import HomeNewsList from '../../components/HomeNewsList/HomeNewsList';\r\nimport { FaHeart } from \"react-icons/fa\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport HomeEventsList from \"../../components/HomeEventsList/HomeEventsList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport TopArtists from \"../../components/TopArtists/TopArtists\";\r\nimport { encodeURL, hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { addSuccessMesage } from \"../../components/CustomToster/CustomToaster\";\r\nimport AnchorLink from \"react-anchor-link-smooth-scroll\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport AllArtists from \"../../components/AllArtists/AllArtists\";\r\n\r\nfunction CommunityRoom() {\r\n let history = useHistory();\r\n let path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [updated, setUpdated] = useState(false);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [page, setPage] = useState(1);\r\n const [pageCount, setPageCount] = useState(0);\r\n const [limit, setLimit] = useState(18);\r\n const [artistList, setArtistList] = useState([]);\r\n const [artistLikesList, setArtistLikesList] = useState([]);\r\n const [mainArtist, setMainArtist] = useState(undefined);\r\n const [artistLikesData, setArtistLikesData] = useState([]);\r\n const [artistResetCount, setArtistResetCount] = useState(0);\r\n const [artId, setArtId] = useState(0);\r\n const [likeUnlikeCount, setlikeUnlikeCount] = useState(null);\r\n\r\n const [showCommentHomeArtistModal, setShowCommentHomeArtistModal] = useState(false);\r\n const [commentHomeArtistInputText, setCommentHomeArtistInputText] = useState(\"\");\r\n const [update, setUpdate] = useState(false);\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [selectedArtistItem, setSelectedArtistItem] = useState(undefined);\r\n\r\n var artistCount = [];\r\n const getMainArtist = async (pageNumber) => {\r\n let resMainArtist = await getDataApi(\r\n constant.baseURL +\r\n \"user?filter=showMainArtist||$eq||1&filter=makeFeatured||$eq||0&filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=id,DESC\"\r\n );\r\n //console.log(\"resMainArtist: \", resMainArtist);\r\n if (resMainArtist !== undefined && resMainArtist.length > 0) {\r\n setMainArtist(resMainArtist[0]);\r\n }\r\n };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n const navigateToArtistDetails = (index, isMainArtist) => {\r\n if (isMainArtist === true && mainArtist !== undefined) {\r\n history.push({\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(mainArtist.id)}/`,\r\n state: {\r\n id: mainArtist.id,\r\n },\r\n });\r\n } else {\r\n if (artistList.length > 0) {\r\n let indexItem = artistList[index];\r\n history.push({\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(indexItem.user_id)}/`,\r\n state: {\r\n id: indexItem.user_id,\r\n },\r\n });\r\n }\r\n }\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n // const getArtists = async (pageNumber) => {\r\n // let resAllArtists = await getDataApi(\r\n // constant.baseURL +\r\n // \"user/getAllArtists?page=\" +\r\n // pageNumber +\r\n // \"&limit=\" +\r\n // limit +\r\n // \"&sort=id,DESC\"\r\n // );\r\n // console.log(\"resAllArtists: \", resAllArtists);\r\n // if (\r\n // resAllArtists !== undefined &&\r\n // resAllArtists.data !== undefined &&\r\n // resAllArtists.data.length > 0\r\n // ) {\r\n // let artistIds = \"\";\r\n // let artistCount = [];\r\n\r\n // if (pageNumber == 1) {\r\n // resAllArtists.data.map((item) => {\r\n // artistIds += item.user_id + \",\";\r\n // artistCount.push({\r\n // artistId: item.user_id,\r\n // totalCount: item.likes.length,\r\n // });\r\n // });\r\n // setlikeUnlikeCount(artistCount);\r\n // // console.log(\"artistCount\", artistCount);\r\n // setArtistList([...resAllArtists.data]);\r\n // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // } else {\r\n // setArtistList([...artistList, ...resAllArtists.data]);\r\n // resAllArtists.data.map((item) => {\r\n // artistIds += item.user_id + \",\";\r\n // artistCount.push({\r\n // artistId: item.user_id,\r\n // totalCount: item.likes.length,\r\n // });\r\n // });\r\n // artistList.map((item) => {\r\n // artistIds += item.user_id + \",\";\r\n // });\r\n // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // }\r\n // //show hide view more page\r\n // // console.log(\r\n // // Math.round(resAllArtists.totalCount / limit),\r\n // // \"showhide\",\r\n // // resAllArtists.page < Math.round(resAllArtists.totalCount / limit),\r\n // // resAllArtists.page\r\n // // );\r\n\r\n // if (\r\n // resAllArtists.page < resAllArtists.totalCount &&\r\n // resAllArtists.data.length === limit\r\n // ) {\r\n // setShowViewMore(true);\r\n // } else {\r\n // setShowViewMore(false);\r\n // }\r\n // } else {\r\n // setShowViewMore(false);\r\n // }\r\n // };\r\n // // const setLikes = (id) => {\r\n // // if (artistLikesList.length !== 0) {\r\n // // if (!artistLikesList.includes(id)) {\r\n // // setLikesList([...artistLikesList, id]);\r\n // // } else {\r\n // // let newArr = artistLikesList.filter((i) => i !== id);\r\n // // setLikesList(newArr);\r\n // // }\r\n // // } else {\r\n // // let arr = [];\r\n // // arr.push(id);\r\n // // setLikesList(arr);\r\n // // }\r\n // // };\r\n // const onClickViewMore = () => {\r\n // setPage(page + 1);\r\n // getArtists(page + 1);\r\n // };\r\n\r\n // // ------------------------------------------satyam Agarwal\r\n // const getArtistLikesByUser = async (str) => {\r\n // // console.log(\"currentUserInfo\", currentUserInfo, \"str\", str);\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resArtistLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"likes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=artist.id||$in||\" +\r\n // str\r\n // );\r\n // // console.log(\"resArtistLikes: \", resArtistLikes);\r\n // let artistLikeItems = [];\r\n\r\n // if (resArtistLikes !== undefined) {\r\n // resArtistLikes.map((m) => {\r\n // artistLikeItems.push(m.artist.id);\r\n // });\r\n // // console.log(\"likeItems: \", artistLikeItems);\r\n // setArtistLikesList(resArtistLikes);\r\n // setArtistLikesData(resArtistLikes);\r\n // }\r\n // }\r\n // };\r\n // const createArtistLike = async (artistId) => {\r\n // // console.log(artistId);\r\n // if (VerifyLoginExistOrNot()) {\r\n // if (currentUserInfo !== undefined) {\r\n // let jsonData = { user: currentUserInfo.id, artist: artistId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let respArtistLike = await postDataApi(\r\n // constant.baseURL + \"likes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // if (\r\n // respArtistLike !== undefined &&\r\n // respArtistLike.status !== undefined &&\r\n // respArtistLike.status === 201\r\n // ) {\r\n // setUpdated(!updated);\r\n // setLikes(artistId, respArtistLike.data);\r\n // }\r\n // }\r\n // }\r\n // };\r\n // const resetArtistLike = async (artistId, likeId) => {\r\n // if (VerifyLoginExistOrNot()) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"likes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setUpdated(!updated);\r\n // setLikes(artistId);\r\n // }\r\n // }\r\n // };\r\n // const setLikes = (id, data) => {\r\n // setArtId(id);\r\n // setArtistResetCount(artistResetCount + 1);\r\n // };\r\n // const renderLikes = (id) => {\r\n // // console.log(id);\r\n // // console.log(\"artistLikesList\", artistLikesList);\r\n // if (artistLikesList.length !== 0) {\r\n // let flt = artistLikesData.filter(\r\n // (f) => f.artist !== undefined && f.artist.id === id\r\n // );\r\n // // console.log(\"flt\", flt);\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetArtistLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // };\r\n // const renderLikesCount = (id) => {\r\n // // console.log(\"likeUnlikeCount\", likeUnlikeCount);\r\n // setTimeout(() => {\r\n // console.log(\"SetTimeout\");\r\n // if (likeUnlikeCount !== null) {\r\n // likeUnlikeCount.map((item, index) => {\r\n // if (item.artistId === id) {\r\n // return (\r\n //
\r\n // {console.log(\"right\", item.totalCount)}\r\n //
{item.totalCount}
\r\n //
\r\n // );\r\n // }\r\n // });\r\n // }\r\n // }, 5000);\r\n\r\n // };\r\n // const renderArtists = () => {\r\n // // console.log(\"artistList\", artistList);\r\n // if (artistList.length > 0 && likeUnlikeCount !== null) {\r\n // return artistList.map((item, index) => {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n // navigateToArtistDetails(index, false)}\r\n // src={\r\n // item.user_urlImage !== undefined &&\r\n // item.user_urlImage !== null &&\r\n // item.user_urlImage !== \"\"\r\n // ? constant.profileURL + item.user_urlImage\r\n // : constant.userImageURL\r\n // }\r\n // alt=\"\"\r\n // />\r\n //
\r\n //
\r\n //
\r\n // \r\n // {String(item.user_firstName + \" \" + item.user_lastName)}\r\n // \r\n //

\r\n // {item.albums.length} Albums\r\n //

\r\n //
\r\n //
\r\n //
\r\n\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {renderLikes(item.user_id)}\r\n // \r\n // {item.likes.length}\r\n\r\n // \r\n //
\r\n //
\r\n //
\r\n //
\r\n\r\n // {\r\n // if (VerifyLoginExistOrNot()) {\r\n // setSelectedArtistItem(item);\r\n // setShowCommentHomeArtistModal(true);\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined\r\n // ? currentUserInfo.id\r\n // : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // />\r\n // \r\n // {item.comments.length}\r\n // \r\n\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // );\r\n // });\r\n // } else {\r\n // return (\r\n //
\r\n // {constant.noDataFoundLabel}\r\n //
\r\n // );\r\n // }\r\n // };\r\n // const renderArtists1 = () => {\r\n // if (artistList.length > 0) {\r\n // return artistList.map((item, index) => {\r\n // return (\r\n // \r\n // navigateToArtistDetails(index, false)}\r\n // >\r\n //
\r\n // \r\n //
\r\n //
\r\n //
\r\n //
\r\n // {/* */}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // {String(item.user_firstName + \" \" + item.user_lastName)}\r\n // \r\n //

{item.albums.length} Albums

\r\n //
\r\n //
\r\n // {renderLikes(item.user_id)}\r\n // {item.likes.length}\r\n //
\r\n //
\r\n // {/* */}\r\n //
\r\n //
\r\n // \r\n // );\r\n // });\r\n // } else {\r\n // return
{constant.noDataFoundLabel}
;\r\n // }\r\n // };\r\n\r\n // useEffect(\r\n // () => {\r\n // getArtists(page);\r\n // },\r\n // [artistResetCount],\r\n // [artistList],\r\n // );\r\n useEffect(() => {\r\n setCommentsCount(0);\r\n getMainArtist();\r\n //getArtists(page);\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
Communicate With
\r\n
\r\n {mainArtist !== undefined ? mainArtist?.firstName+\" \"+mainArtist?.lastName : \"Your Favourite Artist\"}\r\n
\r\n

\r\n { mainArtist !== undefined ? mainArtist?.biography:`Multi Music Moguls is the only platform where you can communicate directly with your favorite artist. You can follow them and show your love by Likes (Mic) and comments. Stay tuned.`}\r\n

\r\n {mainArtist !== undefined && (\r\n navigateToArtistDetails(0, true)}\r\n >\r\n Explore Artist\r\n \r\n )}\r\n {mainArtist === undefined && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {/*
\r\n
\r\n
Artists
\r\n
{renderArtists()}
\r\n {artistList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
*/}\r\n {/* */}\r\n {/* */}\r\n {showCommentHomeArtistModal === true &&\r\n {\r\n setShowCommentHomeArtistModal(false);\r\n }}\r\n inputText={commentHomeArtistInputText}\r\n setInputText={(val) => {\r\n setCommentHomeArtistInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default CommunityRoom;\r\n","export default __webpack_public_path__ + \"static/media/featuredArtist.e6bbf4eb.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport featuredArtist from \"../../assets/Images/featuredArtist.png\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport HomeFeaturedArtistsList from \"../../components/HomeFeaturedArtistsList/HomeFeaturedArtistsList\";\r\nimport { NavLink, useHistory, useLocation } from \"react-router-dom\";\r\nimport { successToast } from \"../../utility/toastMessage\";\r\nimport AnchorLink from \"react-anchor-link-smooth-scroll\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { AiOutlineHeart, AiFillHeart, AiOutlineMore } from \"react-icons/ai\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport AllArtists from \"../../components/AllArtists/AllArtists\";\r\n\r\n\r\nfunction FeaturedArtists() {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [page, setPage] = useState(1);\r\n const [limit, setLimit] = useState(24);\r\n const [artistList, setArtistList] = useState([]);\r\n const [artistLikesList, setArtistLikesList] = useState([]);\r\n const [artistLikesData, setArtistLikesData] = useState([]);\r\n const [artistResetCount, setArtistResetCount] = useState(0);\r\n const [artId, setArtId] = useState(0);\r\n const [mainArtist, setMainArtist] = useState(undefined);\r\n // const getArtists = async (pageNumber) => {\r\n // let resArtists = await getDataApi(\r\n // constant.baseURL +\r\n // // \"user?filter=makeFeatured||$eq||1&filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n // \"user?filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n // pageNumber +\r\n // \"&limit=\" +\r\n // limit\r\n // );\r\n // // console.log(\r\n // // constant.baseURL +\r\n // // // \"user?filter=makeFeatured||$eq||1&filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n // // \"user?filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n // // pageNumber +\r\n // // \"&limit=\" +\r\n // // limit\r\n // // );\r\n // console.log(resArtists);\r\n // if (\r\n // resArtists !== undefined &&\r\n // resArtists.data !== undefined &&\r\n // resArtists.data.length > 0\r\n // ) {\r\n // let artistIds = \"\";\r\n\r\n // if (pageNumber == 1) {\r\n // resArtists.data.map((item) => {\r\n // artistIds += item.id + \",\";\r\n // });\r\n // setArtistList([...resArtists.data]);\r\n // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // } else {\r\n // setArtistList([...artistList, ...resArtists.data]);\r\n // resArtists.data.map((item) => {\r\n // artistIds += item.id + \",\";\r\n // });\r\n // artistList.map((item) => {\r\n // artistIds += item.id + \",\";\r\n // });\r\n // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // }\r\n // //show hide view more page\r\n // if (resArtists.page < resArtists.pageCount) {\r\n // setShowViewMore(true);\r\n // } else {\r\n // setShowViewMore(false);\r\n // }\r\n // }\r\n // };\r\n const navigateToArtistDetails = (index, isMainArtist) => {\r\n if (isMainArtist === true && mainArtist !== undefined) {\r\n history.push({\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(mainArtist.id)}/`,\r\n state: {\r\n id: mainArtist.id,\r\n from: \"featureartists\"\r\n },\r\n });\r\n } else {\r\n if (artistList.length > 0) {\r\n let indexItem = artistList[index];\r\n history.push({\r\n pathname: `FeaturedArtistDetails/${hashCodeUrl(indexItem.user_id)}/`,\r\n state: {\r\n id: indexItem.user_id,\r\n from: \"featureartists\"\r\n },\r\n });\r\n }\r\n }\r\n window.scrollTo(0, 0);\r\n };\r\n // const onClickViewMore = () => {\r\n // setPage(page + 1);\r\n // getArtists(page + 1);\r\n // };\r\n // const getArtistLikesByUser = async (str) => {\r\n // if (currentUserInfo !== undefined && str !== \"\") {\r\n // let resArtistLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"likes?filter=user.id||$eq||\" +\r\n // currentUserInfo.id +\r\n // \"&filter=artist.id||$in||\" +\r\n // str\r\n // );\r\n // console.log(\"resArtistLikes: \", resArtistLikes);\r\n // let artistLikeItems = [];\r\n // if (resArtistLikes !== undefined) {\r\n // resArtistLikes.map((m) => {\r\n // artistLikeItems.push(m.artist.id);\r\n // });\r\n // console.log(\"likeItems: \", artistLikeItems);\r\n // setArtistLikesList(resArtistLikes);\r\n // setArtistLikesData(resArtistLikes);\r\n // }\r\n // }\r\n // };\r\n // const createArtistLike = async (artistId) => {\r\n // if (VerifyLoginExistOrNot()) {\r\n // if (currentUserInfo !== undefined) {\r\n // let jsonData = { user: currentUserInfo.id, artist: artistId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let respArtistLike = await postDataApi(\r\n // constant.baseURL + \"likes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // if (\r\n // respArtistLike !== undefined &&\r\n // respArtistLike.status !== undefined &&\r\n // respArtistLike.status === 201\r\n // ) {\r\n // setLikes(artistId, respArtistLike.data);\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n // const resetArtistLike = async (artistId, likeId) => {\r\n // if (VerifyLoginExistOrNot()) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"likes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(artistId);\r\n // }\r\n // }\r\n // };\r\n // const setLikes = (id, data) => {\r\n // setArtId(id);\r\n // setArtistResetCount(artistResetCount + 1);\r\n // };\r\n // const renderLikes = (id) => {\r\n // if (artistLikesList.length !== 0) {\r\n // let flt = artistLikesData.filter(\r\n // (f) => f.artist !== undefined && f.artist.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetArtistLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createArtistLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // };\r\n // const renderArtists = () => {\r\n // if (artistList.length > 0) {\r\n // return artistList.map((item, index) => {\r\n // return (\r\n // \r\n // navigateToArtistDetails(index)}\r\n // src={\r\n // item.urlImage !== undefined && item.urlImage !== \"user.png\"\r\n // ? constant.profileURL + item.urlImage\r\n // : constant.userImageURL\r\n // }\r\n // alt={item.firstName + \" \" + item.lastName}\r\n // />\r\n // \r\n // {String(item.firstName + \" \" + item.lastName)}\r\n // \r\n\r\n //
\r\n //
\r\n // {item.country !== undefined && item.country !== null\r\n // ? item.country.name\r\n // : \"\"}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {renderLikes(item.id)}\r\n // 10\r\n //
\r\n //
\r\n // \r\n // \r\n // 45\r\n // \r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n // );\r\n // });\r\n // } else {\r\n // return (\r\n //
\r\n // {constant.noDataFoundLabel}\r\n //
\r\n // );\r\n // }\r\n // };\r\n // useEffect(() => {\r\n // //getArtists(page);\r\n // }, []);\r\n // useEffect(() => {\r\n // let artistIds = \"\";\r\n // artistList.map((item) => {\r\n // artistIds += item.id + \",\";\r\n // });\r\n // getArtistLikesByUser(artistIds.substr(0, artistIds.lastIndexOf(\",\")));\r\n // }, [artistResetCount]);\r\n const getMainArtist = async (pageNumber) => {\r\n let resMainArtist = await getDataApi(\r\n constant.baseURL +\r\n \"user?filter=showMainArtist||$eq||1&filter=makeFeatured||$eq||1&filter=usertype||$eq||Artist&filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=id,DESC\"\r\n );\r\n //console.log(\"resMainArtist: \", resMainArtist);\r\n if (resMainArtist !== undefined && resMainArtist.length > 0) {\r\n setMainArtist(resMainArtist[0]);\r\n }\r\n };\r\n useEffect(() => {\r\n getMainArtist();\r\n //getArtists(page);\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
Listen Your
\r\n
Favourite Artist
\r\n

\r\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed\r\n diam nonumy eirmod tempor invidunt ut labore et dolore magna\r\n aliquyam erat, sed diam voluptua. At vero eos et accusam et\r\n justo duo dolores et ea rebum. Stet clita kasd gubergren.\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n \r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
Communicate With
\r\n
\r\n {mainArtist !== undefined ? mainArtist?.firstName+\" \"+mainArtist?.lastName : \"Your Favourite Artist\"}\r\n
\r\n

\r\n { mainArtist !== undefined ? mainArtist?.biography:`Here you can view the Top rated and Popular Artists and you can access their songs and videos directly.`}\r\n

\r\n {mainArtist !== undefined && (\r\n navigateToArtistDetails(0, true)}\r\n >\r\n Explore Artist\r\n \r\n )}\r\n {mainArtist === undefined && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n\r\n {/*
\r\n
\r\n
\r\n
\r\n \r\n Artists\r\n
\r\n
\r\n \r\n
\r\n
{renderArtists()}
\r\n {artistList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default FeaturedArtists;\r\n","export default __webpack_public_path__ + \"static/media/podcastBanner.2c6e930d.png\";","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\n\r\nconst Categories = ({ onClick }) => {\r\n let history = useHistory();\r\n const [dataList, setDataList] = useState([]);\r\n const settings = {\r\n controls: false,\r\n items: 5,\r\n loop: true,\r\n nav: false,\r\n mouseDrag: true,\r\n margin: 10,\r\n responsiveClass: true,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 2.5,\r\n nav: false,\r\n loop: false,\r\n margin: 20,\r\n },\r\n },\r\n };\r\n const getSubcategories = async () => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||2&filter=isDeleted||$eq||0&filter=status||$eq||1\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let itms = [\r\n {\r\n id: 0,\r\n img: constant.podcastCategoryURL,\r\n category: \"Latest Podcasts\",\r\n },\r\n ];\r\n resSubcategories.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img: constant.podcastCategoryURL,\r\n category: c.name,\r\n url:c.urlImage\r\n });\r\n });\r\n setDataList(itms);\r\n }\r\n };\r\n const renderCategories = () => {\r\n if (dataList.length > 0) {\r\n return (\r\n //{\r\n dataList.map((item, index) => {\r\n return (\r\n //style={{width: 220, marginRight: 25}}\r\n onClick(item.category, item.id)}\r\n >\r\n
\r\n \r\n
{item.category}
\r\n
\r\n \r\n );\r\n })\r\n //}
\r\n );\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n // const renderCategories = () => {\r\n // if (dataList.length > 0) {\r\n // return( \r\n // { dataList.map((item, index) => {\r\n // return (\r\n //
\r\n //
\r\n // {item.artist}/\r\n //
{item.category}
\r\n //
\r\n //
\r\n // )\r\n // })\r\n // }\r\n //
);\r\n // }else{\r\n // return(
{constant.noDataFoundLabel}
)\r\n // }\r\n // }\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Categories
\r\n
\r\n {/*
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n
{renderCategories()}
\r\n
\r\n
\r\n );\r\n};\r\nexport default Categories;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport podcastBanner from \"../../assets/Images/podcastBanner.png\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport UploadHere from \"../../components/UploadHere/UploadHere\";\r\nimport HomeNewsList from \"../../components/HomeNewsList/HomeNewsList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NewsEventCard from \"../../components/NewsEventCard/NewsEventCard\";\r\nimport moment from \"moment\";\r\nimport Categories from \"../../components/Categories/Categories\";\r\nimport {\r\n VerifyLoginExistOrNot,\r\n verifyLoginUserType,\r\n} from \"../../utility/VerifyLoginExistOrNot\";\r\nimport AnchorLink from \"react-anchor-link-smooth-scroll\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction Podcast() {\r\n let history = useHistory();\r\n let path = useLocation();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [page, setPage] = useState(1);\r\n const [pageCategory, setPageCategory] = useState(1);\r\n const [limit, setLimit] = useState(20);\r\n const [podcastList, setPodcastlist] = useState([]);\r\n const [categoryName, setCategoryName] = useState(\"Latest Podcasts\");\r\n const [categoryId, setCategoryId] = useState(0);\r\n const [latestPodcastList, setLatestPodcastList] = useState([]);\r\n const [update, setUpdate] = useState(false);\r\n\r\n const [commentTopPodcastsInputText, setCommentTopPodcastsInputText] = useState(\"\");\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [podcastsLikesList, setPodcastsLikesList] = useState([]);\r\n const [podcastsLikesData, setPodcastsLikesData] = useState([]);\r\n const [podcastsResetCount, setPodcastsResetCount] = useState(0);\r\n const [selectedPodcasts, setSelectedPodcasts] = useState(undefined);\r\n const [showCommentTopPodcastsModal, setShowCommentTopPodcastsModal] = useState(false);\r\n\r\n const [podcastsResetCountByCategory, setPodcastsResetCountByCategory] = useState(0);\r\n const [commentsCountByCategory, setCommentsCountByCategory] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [mId, setMId] = useState(0);\r\n\r\n\r\n const getPodcasts = async (pageNumber) => {\r\n let apiurl = constant.baseURL +\r\n \"podcasts/getPodcastsWithUserLike?page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit\r\n if (currentUserInfo) {\r\n apiurl += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resPodcasts = await getDataApi(apiurl);\r\n //console.log(\"resPodcasts: \", resPodcasts);\r\n if (\r\n resPodcasts !== undefined &&\r\n resPodcasts.data !== undefined &&\r\n resPodcasts.data.length > 0\r\n ) {\r\n let itms = [];\r\n //let podcastsIds = \"\";\r\n resPodcasts.data.map((p) => {\r\n let dfltURL =\r\n p.podcastType == \"video\" ? constant.videoURL : constant.musicURL;\r\n itms.push({\r\n id: p.id,\r\n img:\r\n p.urlImage != undefined && p.urlImage != null && p.urlImage != \"\"\r\n ? constant.podcastFileURL + p.urlImage\r\n : dfltURL,\r\n title: p.name,\r\n artistName: p.artist.firstName + \" \" + p.artist.lastName,\r\n likes: p.likes,\r\n comments: p.comments,\r\n podcastType: p.podcastType,\r\n urlPodcast: p.urlPodcast,\r\n userlike: p.userlike\r\n });\r\n });\r\n if (pageNumber === 1) {\r\n setPodcastlist(itms);\r\n setLatestPodcastList(itms);\r\n } else {\r\n setPodcastlist([...podcastList, ...itms]);\r\n setLatestPodcastList([...latestPodcastList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resPodcasts.page < resPodcasts.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n\r\n }\r\n };\r\n const getPodcastsLikes = async (str) => {\r\n let resPodcastsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"podcastlikes?filter=user.id||$eq||\" +\r\n currentUserInfo?.id +\r\n \"&filter=podcasts.id||$in||\" +\r\n str\r\n );\r\n if (resPodcastsLikes != undefined && resPodcastsLikes.length > 0) {\r\n setTimeout(() => {\r\n setPodcastsLikesList(resPodcastsLikes);\r\n setPodcastsLikesData(resPodcastsLikes);\r\n }, 50);\r\n\r\n } else {\r\n setPodcastsLikesList([]);\r\n setPodcastsLikesData([]);\r\n }\r\n };\r\n const createPodcastsLikes = async (podcastsId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n let jsonData = {\r\n user: currentUserInfo.id,\r\n podcasts: podcastsId,\r\n };\r\n setDisableItem(true);\r\n setMId(podcastsId);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resppodcastsLike = await postDataApi(\r\n constant.baseURL + \"podcastlikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n resppodcastsLike != undefined &&\r\n resppodcastsLike.status != undefined &&\r\n resppodcastsLike.status == 201 && resppodcastsLike.data !== undefined\r\n ) {\r\n setLikes(podcastsId, resppodcastsLike.data, undefined);//setLikes(podcastsId);\r\n setDisableItem(false);\r\n }else{\r\n setDisableItem(false);\r\n }\r\n }\r\n setDisableItem(false);\r\n };\r\n const resetPodcastsLike = async (podcastsId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setMId(podcastsId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"podcastlikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(podcastsId, undefined, likeId);//setLikes(podcastsId);\r\n setDisableItem(false);\r\n }else{\r\n setDisableItem(false);\r\n }\r\n\r\n }\r\n setDisableItem(false);\r\n };\r\n\r\n const setCommentUpdate = () => {\r\n if (categoryId === 0) {\r\n setCommentsCount(commentsCount + 1);\r\n } else {\r\n setCommentsCountByCategory(commentsCountByCategory + 1);\r\n }\r\n }\r\n const getPodcastsByCategory = async (pageNumber, id) => {\r\n let apiURL = constant.baseURL +\r\n \"podcasts/getPodcastsByCategoryWithUserLike\" +\r\n \"?page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit + '&categoryId=' + id\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resPodcastsByCategory = await getDataApi(\r\n apiURL\r\n // constant.baseURL +\r\n // \"selectedPodcastcategories/getPodcastsByCategory/\" +\r\n // id +\r\n // \"?&page=\" +\r\n // pageNumber +\r\n // \"&limit=\" +\r\n // limit\r\n );\r\n //console.log(\"resPodcastsByCategory: \", resPodcastsByCategory);\r\n if (\r\n resPodcastsByCategory !== undefined &&\r\n resPodcastsByCategory.data !== undefined &&\r\n resPodcastsByCategory.data.length > 0\r\n ) {\r\n let itms = [];\r\n //let podcastsIds = \"\";\r\n resPodcastsByCategory.data.map((p) => {\r\n //c.podcasts.map((p) => {\r\n let dfltURL =\r\n p.podcastType == \"video\"\r\n ? constant.videoURL\r\n : constant.musicURL;\r\n itms.push({\r\n id: p.id,\r\n img:\r\n p.urlImage !== undefined &&\r\n p.urlImage !== null &&\r\n p.urlImage !== \"\"\r\n ? constant.podcastFileURL + p.urlImage\r\n : dfltURL,\r\n title: p.name,\r\n artistName:\r\n p.artist.firstName + \" \" + p.artist.lastName,\r\n likes: p.likes,\r\n comments: p.comments,\r\n podcastType: p.podcastType,\r\n urlPodcast: p.urlPodcast,\r\n userlike: p.userlike\r\n });\r\n //});\r\n });\r\n if (pageNumber == 1) {\r\n setPodcastlist(itms);\r\n } else {\r\n setPodcastlist([...podcastList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (\r\n resPodcastsByCategory.page <\r\n Math.round(resPodcastsByCategory.totalCount / limit)\r\n ) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n // let pItms = [...podcastList, ...itms];\r\n // pItms.map((item) => {\r\n // podcastsIds += item.id + \",\";\r\n // });\r\n // getPodcastsLikes(\r\n // podcastsIds.substr(0, podcastsIds.lastIndexOf(\",\"))\r\n // );\r\n } else {\r\n setPodcastlist([]);\r\n }\r\n };\r\n const onClickViewMore = () => {\r\n if (categoryId === 0) {\r\n setPage(page + 1);\r\n getPodcasts(page + 1);\r\n } else {\r\n setPageCategory(pageCategory + 1);\r\n getPodcastsByCategory(pageCategory + 1, categoryId);\r\n }\r\n };\r\n const loadPodCastByCategory = (category, id) => {\r\n window.scrollTo(0, 800);\r\n //console.log(\"Podcast Category: \", category);\r\n setCategoryName(category);\r\n setCategoryId(id);\r\n if (id === 0) {\r\n setPage(1);\r\n getPodcasts(1);\r\n } else {\r\n setPageCategory(1);\r\n getPodcastsByCategory(1, id);\r\n }\r\n };\r\n const navigateToPodcastDetails = (index) => {\r\n let indexItem;\r\n indexItem =\r\n categoryId !== 0 ? podcastList[index] : latestPodcastList[index];\r\n //console.log(indexItem)\r\n //console.log(indexItem, \"podcast\");\r\n history.push({\r\n // pathname: `PodcastDetails/${hashCodeUrl(indexItem.id)}/${hashCodeUrl(\r\n // indexItem.title\r\n // )}`,\r\n // indexItem.podcastType == \"video\" ? 'Videoplayer' : \r\n // indexItem.podcastType == \"video\" ? { variant: \"homepodcastjs\", url: constant.podcastFileURL + indexItem.urlPodcast } :\r\n pathname: `PodcastDetails/${hashCodeUrl(indexItem.id)}`,\r\n state: {\r\n id: indexItem.id,\r\n item: indexItem,\r\n },\r\n });\r\n };\r\n useEffect(() => {\r\n setPodcastsResetCount(0);\r\n setCommentsCount(0);\r\n getPodcasts(page);\r\n }, []);\r\n useEffect(() => {\r\n getPodcasts(page);\r\n }, [commentsCount]);\r\n\r\n useEffect(() => {\r\n getPodcastsByCategory(pageCategory, categoryId);\r\n }, [podcastsResetCountByCategory, commentsCountByCategory]);\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo) {\r\n // let jsonData = { user: currentUserInfo.id, podcasts: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"podcastlikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId, likeId)\r\n // if (currentUserInfo) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"podcastlikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...podcastList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n setPodcastlist(bgItems)\r\n };\r\n const renderLikes = (likeData) => {\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetPodcastsLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createPodcastsLikes(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const renderPodcasts = (data) => {\r\n if (data.length > 0) {\r\n return data.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToPodcastDetails(index)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {item.title}\r\n
\r\n

\r\n {item.artistName}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes !== undefined ? item.likes.length : 0}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedPodcasts(item);\r\n setShowCommentTopPodcastsModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments !== undefined ? item.comments.length : 0}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n });\r\n } else {\r\n return (\r\n
\r\n {constant.noDataFoundLabel}\r\n
\r\n );\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Update yourself
\r\n
With Latest Podcasts
\r\n

\r\n Listen to your favorite Podcast episodes with videos totally free. You can watch and listen to the podcasts full episodes anywhere and anytime.\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {verifyLoginUserType() && (\r\n \r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{categoryName}
\r\n
\r\n
\r\n
\r\n {categoryId === 1\r\n ? renderPodcasts(latestPodcastList)\r\n : renderPodcasts(podcastList)}\r\n
\r\n {podcastList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n loadPodCastByCategory(category, id)}\r\n />\r\n {showCommentTopPodcastsModal === true && selectedPodcasts !== undefined && (\r\n {\r\n setShowCommentTopPodcastsModal(false);\r\n }}\r\n inputText={commentTopPodcastsInputText}\r\n setInputText={(val) => {\r\n setCommentTopPodcastsInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default Podcast;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport close from \"../../assets/Images/close.png\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport uploadMusic2 from \"../../assets/Images/uploadMusic2.png\";\r\nimport upload from \"../../assets/Images/upload.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\nimport videoImg from \"../../assets/Images/video.png\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { CircularProgressbar } from \"react-circular-progressbar\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction UploadMusic({ location }) {\r\n let history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n\r\n //width: 395,\r\n },\r\n };\r\n const [showAlbumSection, setShowAlbumSection] = useState(true);\r\n const [showMusicSection, setShowMusicSection] = useState(false);\r\n let audioReg = /\\.(?:mp3|ogg|acc|wav|m4p)$/i;\r\n //let videoReg = /\\.(?:webm|flv|vob|mp4|mov|mpeg)$/i;\r\n let videoReg = /\\.(?:ogm|wmv|flv|vob|mpg|webm|ogv|mov|asx|mpeg|mp4|m4v|avi|mpeg4)$/i;\r\n const [loginUser, setLoginUser] = useState(undefined);\r\n const [coverImg, setCoverImg] = useState(null);\r\n const [musicCategories, setMusicCategories] = useState([]);\r\n const [albumCoverImg, setAlbumCoverImg] = useState(\"\");\r\n const [disableImgDelete, setDisableImgDelete] = useState(false);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [dragNDropText, setDragNDropText] = useState(\r\n \"Drag & Drop your image here or browse\"\r\n );\r\n const [isMusicImgeErrShow, setisMusicImgeErrShow] = useState(false);\r\n\r\n const [albumDetails, setAlbumDetails] = useState({\r\n albumName:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.name\r\n : \"\",\r\n albumType:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.albumType\r\n : \"music\",\r\n albumurlImage:\r\n location.state !== undefined && location.state !== null && location.state.item !== undefined\r\n ? location.state.item.urlImage\r\n : \"\",\r\n categoryList: [],\r\n selectedCategoryList: [],\r\n existingCategoryList: [],\r\n id:\r\n location.state !== undefined && location.state !== null && location.state.id !== undefined\r\n ? location.state.id\r\n : 0,\r\n existingMusicList: [],\r\n });\r\n\r\n const [isAlbumNameErrShow, setAlbumNameErr] = useState(false);\r\n const [isAddCategoryErrShow, setAddCategoryErr] = useState(false);\r\n const [isUploadSongsSectionShow, setUploadSongsSection] = useState(false);\r\n const [songsList, setSongsList] = useState([]);\r\n const [removeSongsList, setRemoveSongsList] = useState([]);\r\n const [songsListIDCount, setSongsListIDCount] = useState(0);\r\n const [isUploadSong, setUploadSong] = useState(false);\r\n\r\n const onDrop = (file) => fileValidation(file[0]);\r\n\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n\r\n const fileValidation = (file) => {\r\n if (file !== undefined) {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n addErrorMesage(\"Please upload a image file!\");\r\n //enqueueSnackbar(\"Please upload a image file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n setAlbumCoverImg(file);\r\n }\r\n }\r\n };\r\n const getMusicsByAlbum = async () => {\r\n let resMusics = await getDataApi(\r\n constant.baseURL + \"musics?filter=album.id||$eq||\" + albumDetails.id\r\n ); //location.state.id\r\n //console.log(\"resMusics: \", resMusics);\r\n if (resMusics != undefined && resMusics.length > 0) {\r\n let itms = [];\r\n resMusics.map((m, i) => {\r\n itms.push({\r\n id: i + 1,\r\n file: {\r\n name: m.title,\r\n size:\r\n m.size !== undefined && m.size !== null && m.size !== \"\"\r\n ? m.size\r\n : 0,\r\n },\r\n isExists: true,\r\n itemId: m.id,\r\n });\r\n });\r\n setTimeout(() => {\r\n setSongsListIDCount(resMusics.length + 1);\r\n });\r\n setSongsList([...itms]);\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, existingMusicList: resMusics };\r\n });\r\n }\r\n };\r\n const onSelectCategory = (selectedList) => {\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n setAddCategoryErr(false);\r\n // console.log(\r\n // \"albumDetails.selectedCategoryList: \",\r\n // albumDetails.selectedCategoryList\r\n // );\r\n };\r\n const onRemoveSelectCategory = (selectedList) => {\r\n setAlbumDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n };\r\n const onNext = () => {\r\n const { albumName, selectedCategoryList } = albumDetails;\r\n if (!albumName && selectedCategoryList.length === 0 && coverImg === null) {\r\n setAlbumNameErr(true);\r\n setAddCategoryErr(true);\r\n addErrorMesage(\"Upload a cover image!\");\r\n } else if (!albumName) {\r\n setAlbumNameErr(true);\r\n } else if (\r\n //albumCoverImg.length === 0\r\n albumDetails.id === 0\r\n ? albumCoverImg.length === 0\r\n : albumDetails.albumurlImage.length === 0\r\n ) {\r\n // console.log(albumCoverImg);\r\n // console.log(\"error in Music\");\r\n setisMusicImgeErrShow(true);\r\n } else if (selectedCategoryList.length === 0) {\r\n setAddCategoryErr(true);\r\n }\r\n else {\r\n setShowAlbumSection(false);\r\n setShowMusicSection(true);\r\n if (albumDetails.id !== 0) {\r\n getMusicsByAlbum();\r\n } else {\r\n setSongsList([]);\r\n }\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n };\r\n const onBack = () => {\r\n setShowAlbumSection(true);\r\n setShowMusicSection(false);\r\n\r\n setUploadSongsSection(false);\r\n setDragNDropText(\"Drag & Drop your image here or browse\");\r\n };\r\n const onSelectMusicOrVideoFileValidate = (file, fromFun) => {\r\n //console.log(\"jay3\")\r\n if (songsList.length === 0) {\r\n //console.log(\"jay4\")\r\n //console.log(\"Empty list...\");\r\n return loadFileDuration(file).then((resp) => {\r\n // console.log(\"resp: \", resp);\r\n // console.log(\"jay6\")\r\n addSongFileToSongList(resp, fromFun);\r\n });\r\n } else {\r\n let newFiles = [];\r\n return loadFileDuration(file).then((resp) => {\r\n //console.log(\"resp: \", resp);\r\n for (let i = 0; i < resp.length; i++) {\r\n let fileExits = songsList.filter((f) => f.file.name == file[i].name);\r\n if (fileExits.length == 0) {\r\n newFiles.push(file[i]);\r\n } else {\r\n addErrorMesage(file[i].name + \"already added\");\r\n }\r\n }\r\n //console.log(\"newFiles: \", newFiles);\r\n addSongFileToSongList(newFiles, fromFun);\r\n });\r\n }\r\n };\r\n const onSelectMusicOrVideoFileValidate_old = (file, fromFun) => {\r\n if (songsList.length === 0) {\r\n //console.log(\"Empty list...\");\r\n addSongFileToSongList(file, fromFun);\r\n } else {\r\n //console.log(\"Not empty list...\", file[0].name);\r\n //if(file.length > 0){\r\n let fileExits = songsList.filter((f) => f.file.name == file[0].name);\r\n //console.log(\"Song File Exists: \", fileExits);\r\n if (fileExits.length == 0) {\r\n addSongFileToSongList(file, fromFun);\r\n } else {\r\n addErrorMesage(\"Audio file already added\");\r\n }\r\n }\r\n };\r\n const addSongFileToSongList = (file, fromFun) => {\r\n //console.log(\"jayraj\",file)\r\n //console.log(\"jay7\")\r\n let song_upload_input = document.getElementById(\"song_upload_input\");\r\n let count = songsListIDCount;\r\n let songsitems = [];\r\n if (albumDetails.albumType === \"music\") {\r\n //console.log(\"jay8\")\r\n for (let i = 0; i < file.length; i++) {\r\n if (!audioReg.exec(file[i].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n //console.log(\"jay9\")\r\n count = count + 1;\r\n songsitems.push({ id: count, file: file[i] });\r\n }\r\n }\r\n setSongsListIDCount(count);\r\n setTimeout(() => {\r\n //console.log(\"jay10\")\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n setSongsList([...songsList, ...songsitems]);\r\n song_upload_input.value = \"\";\r\n });\r\n //console.log(\"jay11\")\r\n } else if (albumDetails.albumType === \"video\") {\r\n for (let i = 0; i < file.length; i++) {\r\n if (!videoReg.exec(file[i].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n count = count + 1;\r\n songsitems.push({ id: count, file: file[i] });\r\n }\r\n }\r\n setSongsListIDCount(count);\r\n setTimeout(() => {\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n setSongsList([...songsList, ...songsitems]);\r\n song_upload_input.value = \"\";\r\n });\r\n }\r\n //console.log(\"jay12\")\r\n };\r\n const addSongFileToSongList_old = (file, fromFun) => {\r\n let song_upload_input = document.getElementById(\"song_upload_input\");\r\n if (albumDetails.albumType === \"music\") {\r\n if (!audioReg.exec(file[0].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n //console.log(\"songsListIDCount: \", songsListIDCount);\r\n setSongsListIDCount(songsListIDCount + 1);\r\n setTimeout(() => {\r\n //console.log(\"file: \", songsListIDCount, \"--\", file);\r\n if (file[0] != undefined) {\r\n setSongsList([\r\n ...songsList,\r\n { id: songsListIDCount, file: file[0] },\r\n ]);\r\n }\r\n song_upload_input.value = \"\";\r\n });\r\n }\r\n } else if (albumDetails.albumType === \"video\") {\r\n if (!videoReg.exec(file[0].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n if (fromFun === \"fromDragNDropFun\") {\r\n setDragNDropText(\"Drag & Drop your file here or browse\");\r\n }\r\n return false;\r\n } else {\r\n setSongsListIDCount(songsListIDCount + 1);\r\n setTimeout(() => {\r\n setSongsList([...songsList, { id: songsListIDCount, file: file[0] }]);\r\n song_upload_input.value = \"\";\r\n });\r\n }\r\n }\r\n //console.log(\"jay1\")\r\n };\r\n const onSelectMusicOrVideoFile = (event) => {\r\n if (event) {\r\n if (albumDetails.albumType === \"music\") {\r\n //console.log(\"jay1\")\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n if (!audioReg.exec(event.target.files[i].name)) {\r\n addErrorMesage(\"Please upload a audio file!\");\r\n return false;\r\n }\r\n }\r\n\r\n } else if (albumDetails.albumType === \"video\") {\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n if (!videoReg.exec(event.target.files[i].name)) {\r\n addErrorMesage(\"Please upload a video file!\");\r\n return false;\r\n }\r\n }\r\n }\r\n //console.log(\"jay2\")\r\n onSelectMusicOrVideoFileValidate(event.target.files);\r\n }\r\n };\r\n const onDeleteSongList = (id) => {\r\n if (songsList.length !== 0) {\r\n let newArr = songsList.filter((song) => song.id !== id);\r\n setSongsList(newArr);\r\n\r\n let fltDelSong = songsList.filter((song) => song.id === id);\r\n //console.log(\"Remvoed Existing Song: \", fltDelSong);\r\n if (\r\n fltDelSong.length > 0 &&\r\n fltDelSong[0].isExists != undefined &&\r\n fltDelSong[0].isExists == true\r\n ) {\r\n let dSong = albumDetails.existingMusicList.filter(\r\n (m) => m.id == fltDelSong[0].itemId\r\n );\r\n setRemoveSongsList([...removeSongsList, ...dSong]);\r\n }\r\n }\r\n };\r\n const getSubcategories = async () => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||1&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setMusicCategories([...resSubcategories]);\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories],\r\n };\r\n });\r\n if (albumDetails.id !== 0) {\r\n //location.state.id != undefined) {\r\n getAlbumCategories(resSubcategories);\r\n }\r\n }\r\n };\r\n const getAlbumCategories = async (categories) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"selectedalbumcategories?filter=album.id||$eq||\" +\r\n albumDetails.id\r\n ); //location.state.id\r\n //console.log(\"getAlbumCategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n if(fltCategories.length>0){\r\n sItems.push(fltCategories[0]);\r\n\r\n }\r\n });\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const uploadCoverImage = async () => {\r\n addLoader();\r\n if (albumCoverImg != \"\") {\r\n //console.log(\"raj1\")\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n data.append(constant.uplFileParameter, albumCoverImg);\r\n let res = await postDataApi(\r\n //constant.baseURL + \"albumfiles\",\r\n constant.albumFileUploadURL,\r\n data,\r\n customHeaders\r\n );\r\n if (\r\n res != undefined &&\r\n res.data != undefined &&\r\n res.data.status != undefined &&\r\n res.data.status === 200\r\n ) {\r\n //console.log(\"raj2\")\r\n removeLoader();\r\n setAlbumCoverImg(\"\");\r\n setUploadProgress(25);\r\n createAlbum(res.data.data.filename);\r\n }\r\n } else {\r\n removeLoader();\r\n setUploadProgress(25);\r\n createAlbum(albumDetails.id !== 0 ? albumDetails.albumurlImage : \"\"); //createAlbum(location.state.id != undefined ? albumDetails.albumurlImage : \"\");\r\n }\r\n };\r\n const getAlbumByName = async () => {\r\n let resAlbum = await getDataApi(\r\n // constant.baseURL + \"albums?filter=name||$eq||\" + albumDetails.albumName\r\n constant.baseURL + \"albums?filter=name||$eq||\" + albumDetails.albumName+\"&filter=isDeleted||$eq||0\"\r\n );\r\n return resAlbum;\r\n }\r\n const createAlbum = async (coverImageName) => {\r\n if (currentUserInfo !== undefined) {\r\n //console.log(\"raj3\")\r\n addLoader();\r\n let jsonData = {\r\n name: albumDetails.albumName,\r\n user: currentUserInfo.id,\r\n albumType: albumDetails.albumType,\r\n urlImage: coverImageName,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respAlbum;\r\n let sStatus = \"\";\r\n if (albumDetails.id !== 0) {\r\n respAlbum = await patchDataApi(\r\n constant.baseURL + \"albums/\" + albumDetails.id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respAlbum != undefined &&\r\n respAlbum.status != undefined &&\r\n respAlbum.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n\r\n //console.log(\"raj4\")\r\n respAlbum = await postDataApi(\r\n constant.baseURL + \"albums\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respAlbum != undefined &&\r\n respAlbum.status != undefined &&\r\n respAlbum.status == 201\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n }\r\n //if (respAlbum != undefined && respAlbum.status != undefined && respAlbum.status == 201) {\r\n if (sStatus == \"Success\") {\r\n //console.log(\"raj5\")\r\n setUploadProgress(50);\r\n uploadMusicFiles(respAlbum.data.id);\r\n }\r\n }\r\n };\r\n const uploadMusicFiles = async (albumId) => {\r\n //console.log(\"raj6\")\r\n addLoader();\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n songsList.map((m) => {\r\n if (m.isExists == undefined || m.isExists == false) {\r\n data.append(constant.uplFileParameter, m.file);\r\n }\r\n });\r\n let res = await postDataApi(\r\n constant.musicFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"musicfiles/uploadMultipleFiles\" : constant.baseURL + \"musicfiles\" ,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Music Files: \", res);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"raj7\")\r\n setUploadProgress(75);\r\n return saveAllMusics(albumId, res.data.data.length>=0 ? res.data.data : [res.data.data]).then((response) => {\r\n //console.log(\"FFFF\",response,location)\r\n if (\r\n (response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true) ||\r\n (location.state !== undefined && location.state.id !== undefined)\r\n ) {\r\n //console.log(\"PPPPPPPPPPPP\")\r\n return saveAlbumCategories(albumId).then((response) => {\r\n if (\r\n response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n //console.log(\"qqqqqqqqqq\")\r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(\r\n location?.state?.id != undefined\r\n ? \"Album Updated\"\r\n : \"Album Created\"\r\n );\r\n //console.log(\"raj12\")\r\n if (albumDetails.id !== 0) {\r\n history.goBack();\r\n } else {\r\n removeLoader();\r\n history.push(\"/MyAlbums\");\r\n }\r\n } else {\r\n resetUploadMusic(0);\r\n }\r\n });\r\n } else {\r\n resetUploadMusic(0);\r\n }\r\n });\r\n } else {\r\n resetUploadMusic(0);\r\n addErrorMesage(\"Error in uploading music in album\");\r\n }\r\n };\r\n const resetUploadMusic = (progressValue) => {\r\n setDisableImgDelete(false);\r\n setUploadProgress(progressValue);\r\n setUploadSongsSection(false);\r\n setCoverImg(null);\r\n setAlbumCoverImg(\"\");\r\n setUploadSong(false);\r\n //console.log(\"musicCategories: \", musicCategories);\r\n removeLoader();\r\n setAlbumDetails({\r\n albumName: \"\",\r\n albumType: \"music\",\r\n //categoryList: musicCategories,\r\n selectedCategoryList: [],\r\n });\r\n if (albumDetails.id !== 0) {\r\n //if (location.state.id != undefined) {\r\n history.goBack();\r\n } else {\r\n removeLoader();\r\n history.push(\"/MyAlbums\");\r\n }\r\n };\r\n const loadFileDuration = (uplFiles) => {\r\n let promises_array = [];\r\n //uplFiles.map((file) => {\r\n for (let i = 0; i < uplFiles.length; i++) {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n // Create instance of FileReader\r\n let reader = new FileReader();\r\n // When the file has been succesfully read\r\n reader.onload = (event) => {\r\n // Create an instance of AudioContext\r\n let audioContext = new (window.AudioContext ||\r\n window.webkitAudioContext)();\r\n // Asynchronously decode audio file data contained in an ArrayBuffer.\r\n audioContext.decodeAudioData(event.target.result, (buffer) => {\r\n // Obtain the duration in seconds of the audio file (with milliseconds as well, a float value)\r\n uplFiles[i][\"duration\"] = buffer.duration;\r\n resolve(uplFiles[i]);\r\n });\r\n };\r\n // In case that the file couldn't be read\r\n reader.onerror = (event) => {\r\n console.error(\"An error ocurred reading the file: \", event);\r\n reject(false);\r\n };\r\n //console.log(\"jay5\")\r\n // Read file as an ArrayBuffer, important !\r\n reader.readAsArrayBuffer(uplFiles[i]);\r\n })\r\n );\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const saveAllMusics = async (albumId, uploadedMusicFiles) => {\r\n\r\n //console.log(\"raj8\")\r\n let promises_array = [];\r\n uploadedMusicFiles.map((item) => {\r\n //console.log(\"raj9\")\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n //get file size\r\n let fItem = songsList.filter(\r\n (f) => f.file.name === item.originalname\r\n );\r\n //console.log(item)\r\n //prepare json\r\n let jsonData = {\r\n title: item.originalname.split(\".\")[0],\r\n album: albumId,\r\n musicType: albumDetails.albumType,\r\n urlImage: item.filename,\r\n size: fItem.length > 0 ? fItem[0].file.size : 0,\r\n duration: fItem.length > 0 ? (fItem[0].file.duration != undefined) ? fItem[0].file.duration : 0 : 0, //Hitendra\r\n };\r\n return createAlbumMusic(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n //Delete existing song if removed by user\r\n if (albumDetails.id !== 0 && removeSongsList.length > 0) {\r\n //if (location.state.id != undefined && removeSongsList.length > 0) {\r\n removeSongsList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n return deleteAlbumMusic(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n }\r\n\r\n //console.log(\"DDDDDDD\",promises_array)\r\n return Promise.all(promises_array);\r\n };\r\n const createAlbumMusic = async (jsonData) => {\r\n //console.log(\"raj10\")\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"musics?filter=album.id||$eq||\" +\r\n jsonData.album +\r\n \"&filter=title||$eq||\" +\r\n jsonData.title\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(constant.baseURL + \"musics\", formBody, authHeader)\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n //console.log(\"raj11\")\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteAlbumMusic = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(constant.baseURL + \"musics/\" + id, authHeader)\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const saveAlbumCategories = async (albumId) => {\r\n let promises_array = [];\r\n albumDetails.selectedCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { album: albumId, subcategory: item.id };\r\n return createAlbumCategories(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n //\r\n if (albumDetails.id !== 0 && albumDetails.existingCategoryList.length > 0) {\r\n // if (location.state.id != undefined && albumDetails.existingCategoryList.length > 0) {\r\n albumDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = albumDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteAlbumCategories(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const createAlbumCategories = async (jsonData) => {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedalbumcategories?filter=album.id||$eq||\" +\r\n jsonData.album +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedalbumcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteAlbumCategories = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedalbumcategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const onUploadSonglist = async () => {\r\n if (songsList.length === 0) {\r\n addErrorMesage(\"Upload atleast one music file!\");\r\n } else {\r\n //Check if album with same exists or not\r\n let respName = await getAlbumByName();\r\n //console.log(\"respName: \", respName ,albumDetails);\r\n if (albumDetails.id === 0 && respName.length > 0) {\r\n addErrorMesage(\"Album with the same name already exists!\");\r\n return;\r\n } else if (albumDetails.id !== 0 && respName.length > 0 && albumDetails.id !== respName[0].id) {\r\n addErrorMesage(\"Album with the same name already exists!\");\r\n return;\r\n }\r\n //Check if album with same exists or not\r\n setUploadSong(true);\r\n setDisableImgDelete(true);\r\n uploadCoverImage();\r\n }\r\n };\r\n const renderSongsList = () => {\r\n //console.log(\"songsList: \", songsList);\r\n if (songsList.length !== 0) {\r\n return songsList.map((song) => {\r\n let fileName = song.file.name.split(\".\")[0];\r\n let fileSizeInMB = song.file.size / 1024 / 1024;\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
{fileName}
\r\n
\r\n
\r\n {disableImgDelete == false && (\r\n onDeleteSongList(song.id)}\r\n src={close}\r\n alt=\"cover-image\"\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {fileSizeInMB.toFixed(1)}MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n } else {\r\n return (\r\n
\r\n Song list is empty! Please upload a song.\r\n
\r\n );\r\n }\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n return (\r\n
\r\n
\r\n {showAlbumSection == true && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n \r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse \r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n {isMusicImgeErrShow && (\r\n
\r\n Please Upload Image File\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
Album Details
\r\n {isUploadSong ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n {\r\n setAlbumDetails({\r\n ...albumDetails,\r\n albumName: e.target.value,\r\n });\r\n setAlbumNameErr(false);\r\n }}\r\n value={albumDetails.albumName}\r\n required={true}\r\n />\r\n \r\n \r\n {isAlbumNameErrShow && (\r\n \r\n Enter Name\r\n
\r\n )}\r\n
\r\n
\r\n Join us and Listen your favourite music\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n albumType: \"video\",\r\n };\r\n });\r\n }}\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n setAlbumDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n albumType: \"music\",\r\n };\r\n });\r\n }}\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow && (\r\n \r\n Add Category\r\n
\r\n )}\r\n {/* \r\n */}\r\n
\r\n
\r\n {albumDetails.id !== 0 ? (\r\n
\r\n
\r\n {\r\n history.goBack();\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n onNext()}\r\n >\r\n Next\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n onNext()}\r\n >\r\n Next\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n {showMusicSection == true && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* \"\"/ */}\r\n \r\n setDragNDropText(\"Drop your file here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drag & Drop your file here or browse\")\r\n }\r\n onDrop={(e) =>\r\n onSelectMusicOrVideoFileValidate(e, \"fromDragNDropFun\")\r\n }\r\n >\r\n
\r\n \r\n {\r\n //window.alert(\"--event.target.files--\"+event.target.files.length);\r\n if(event && event.target.files.length > 0){\r\n //window.alert(\"--type--\"+event.target.files[0].type);\r\n if(event.target.files.length > 0 && event.target.files[0].type == \"video/quicktime\"){\r\n window.alert(\"Please use Choose Files instead of Photo Library option to select video.\");\r\n return false;\r\n }else{\r\n onSelectMusicOrVideoFile(event);\r\n }\r\n }\r\n }}\r\n className=\"custom-file-input\"\r\n type=\"file\"\r\n style={{ fontSize: 0, height: 350 }}\r\n id=\"song_upload_input\"\r\n accept={\r\n albumDetails.albumType === \"music\"\r\n ? constant.acceptedAudio\r\n : constant.acceptedVideo\r\n }\r\n multiple \r\n // accept={\r\n // albumDetails.albumType === \"music\"\r\n // ? \"audio/opus,audio/flac,audio/webm,audio/weba,audio/wav,audio/ogg,audio/m4a,audio/mp3,audio/oga,audio/mid,audio/amr,audio/aiff,audio/wma,audio/au,audio/aac,audio/mp4,audio/avi,audio/mov,audio/*\"\r\n // : \"video/mp3,video/mpeg,video/ogm,video/mpg,video/wmv,video/webm,video/mp4,video/avi,video/mov,video/x-m4v,video/*\"\r\n // }\r\n />\r\n\r\n {/*

{dragNDropText}

*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Album Songs
\r\n {isUploadSong ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n {renderSongsList()}\r\n
\r\n
\r\n
\r\n onBack()}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n \r\n {albumDetails.id !== 0 ? \"Update\" : \"Save\"}\r\n \r\n
\r\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 UploadMusic;\r\n","export default __webpack_public_path__ + \"static/media/newzBanner.b43d2632.png\";","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Link,\r\n NavLink,\r\n useHistory,\r\n useLocation,\r\n useParams,\r\n} from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { Modal, ModalBody, Button } from \"react-bootstrap\";\r\nimport twitter from \"../../assets/Images/twitter.png\";\r\nimport social from \"../../assets/Images/social.png\";\r\nimport facebook from \"../../assets/Images/facebook.png\";\r\nimport {\r\n FacebookIcon,\r\n FacebookShareButton,\r\n TwitterIcon,\r\n TwitterShareButton,\r\n InstapaperShareButton,\r\n InstapaperIcon,\r\n WhatsappIcon,\r\n WhatsappShareButton\r\n} from \"react-share\";\r\nimport { hashCodeUrlDecode ,hashCodeUrl} from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { addSuccessMesage } from \"../CustomToster/CustomToaster\";\r\nimport { BiLinkAlt } from \"react-icons/bi\";\r\nimport { propTypes } from \"react-bootstrap/esm/Image\";\r\n\r\nconst ShareModal = ({ show, handleClose, title, id, currentUserId, from,flag,uniqeid }) => {\r\n let location = useLocation();\r\n let searchData = useParams();\r\n const [shareUrl, setshareUrl] = useState(null)\r\n const [desc, setDesc] = useState(\"\");\r\n const getArtistDetails = async (id) => {\r\n let resArtist = await getDataApi(\r\n constant.baseURL + \"user/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n if (resArtist !== undefined) {\r\n setDesc(\r\n resArtist.biography !== undefined && resArtist.biography !== null\r\n ? resArtist.biography\r\n : \"\"\r\n );\r\n }\r\n //console.log(window.location.href)\r\n setshareUrl(window.location.href)\r\n };\r\n const getEventDetails = async () => {\r\n let resEvent = await getDataApi(\r\n constant.baseURL + \"events/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n //console.log(resEvent)\r\n if (resEvent !== undefined) {\r\n setDesc(\r\n resEvent.name !== undefined && resEvent.name !== null\r\n ? resEvent.name\r\n : \"\"\r\n );\r\n }\r\n if(flag==\"0\"){\r\n // http://localhost:4535/EventsDetails/MTU4\r\n // https://multimusicmoguls.com/EventsDetails/MzQ\r\n //console.log(uniqeid)\r\n setshareUrl(`https://multimusicmoguls.com/EventsDetails/${hashCodeUrl(uniqeid)}`)\r\n }else{\r\n setshareUrl(window.location.href)\r\n }\r\n };\r\n const getNewsDetails = async () => {\r\n let resNews = await getDataApi(\r\n constant.baseURL + \"news/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n if (resNews !== undefined) {\r\n setDesc(\r\n resNews.title !== undefined && resNews.title !== null\r\n ? resNews.title\r\n : \"\"\r\n );\r\n }\r\n setshareUrl(window.location.href)\r\n };\r\n const getPodcastDeatils = async () => {\r\n let resPodcast = await getDataApi(\r\n constant.baseURL + \"podcasts/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n if (resPodcast != undefined) {\r\n setDesc(\r\n resPodcast.name !== undefined &&\r\n resPodcast.name !== null &&\r\n resPodcast.name !== \"\"\r\n ? resPodcast.name\r\n : \"\"\r\n );\r\n }\r\n setshareUrl(window.location.href)\r\n };\r\n const getAlbumDeatils = async () => {\r\n\r\n let musicData = await getDataApi(constant.baseURL+\"musics/\"+id);\r\n //console.log(\"--musicData--\", musicData);\r\n\r\n let resAlbumData = await getDataApi(\r\n //constant.baseURL + \"albums/\" + hashCodeUrlDecode(searchData.albumId)\r\n constant.baseURL + \"albums/\" + musicData.album.id\r\n );\r\n //console.log(\"resAlbumData: \", resAlbumData);\r\n if (resAlbumData !== undefined) {\r\n setDesc(\r\n resAlbumData.name !== undefined &&\r\n resAlbumData.name !== null &&\r\n resAlbumData.name !== \"\"\r\n ? resAlbumData.name + \" #Type: \" + resAlbumData.albumType\r\n : \"\"\r\n );\r\n setshareUrl(`${constant.siteURL}FeaturedArtistDetails/${hashCodeUrl(resAlbumData.user.id)}/${hashCodeUrl(resAlbumData.id)}`);\r\n }\r\n else{\r\n setshareUrl(window.location.href)\r\n }\r\n };\r\n const copylink = () => {\r\n // const el = shareUrl\r\n // el.select()\r\n // document.execCommand(\"copy\")\r\n var textField = document.createElement('textarea')\r\n textField.innerText = shareUrl\r\n document.body.appendChild(textField)\r\n textField.select()\r\n document.execCommand('copy')\r\n textField.remove()\r\n addSuccessMesage(\"Link Copy Successfully\")\r\n\r\n }\r\n useEffect(() => {\r\n if (from === \"FeatureArtistDetails\") {\r\n getArtistDetails();\r\n } else if (from === \"Events\" || from === \"EventsDetails\") {\r\n getEventDetails();\r\n } else if (from === \"News\" || from === \"NewsDetails\") {\r\n getNewsDetails();\r\n } else if (from === \"Music\") {\r\n getAlbumDeatils();\r\n } else if (from === \"PodcastDetails\") {\r\n getPodcastDeatils();\r\n } else if (from === \"Episode\") {\r\n setshareUrl(window.location.href)\r\n }\r\n }, []);\r\n return (\r\n <>\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n
\r\n {/*
\r\n \"Facebook\"\r\n
*/}\r\n copylink()} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n */}\r\n {/*
\r\n \"Twitter\"\r\n
*/}\r\n {/*
\r\n \"Social\"\r\n
*/}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\nexport default ShareModal;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport newzBanner from \"../../assets/Images/newzBanner.png\";\r\nimport { AiFillRead } from \"react-icons/ai\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport UploadHere from \"../../components/UploadHere/UploadHere\";\r\nimport HomeNewsList from \"../../components/HomeNewsList/HomeNewsList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NewsEventCard from \"../../components/NewsEventCard/NewsEventCard\";\r\nimport moment from \"moment\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport {\r\n VerifyLoginExistOrNot,\r\n verifyLoginUserType,\r\n} from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction News() {\r\n let history = useHistory();\r\n var path = useLocation();\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [update, setUpdate] = useState(false);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [newsList, setNewsList] = useState([]);\r\n const [showCommentTopNewsModal, setShowCommentTopNewsModal] = useState(false);\r\n const [commentTopNewsInputText, setCommentTopNewsInputText] = useState(\"\");\r\n const [commentsCount, setCommentsCount] = useState(0);\r\n const [newsLikesList, setNewsLikesList] = useState([]);\r\n const [newsLikesData, setNewsLikesData] = useState([]);\r\n const [newsResetCount, setNewsResetCount] = useState(0);\r\n const [selectedNews, setSelectedNews] = useState(undefined);\r\n const [latestNewsItem, setLatestNewsItem] = useState({\r\n id: 0,\r\n name: \"No latest news found\",\r\n img: \"\",\r\n title: \"\",\r\n subtitle: \"\",\r\n description: \"\",\r\n urlImage: \"\",\r\n created: \"\",\r\n artistName: \"\",\r\n });\r\n const [page, setPage] = useState(1);\r\n const [limit, setLimit] = useState(20);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [mId, setMId] = useState(0);\r\n const getLatestNews = async () => {\r\n let resLatestNews = await getDataApi(\r\n constant.baseURL +\r\n \"news?filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=id,DESC\"\r\n );\r\n //console.log(\"Latest News\", resLatestNews);\r\n if (resLatestNews.length > 0) {\r\n let nItem = resLatestNews[0];\r\n setLatestNewsItem((prevState) => {\r\n return {\r\n ...prevState,\r\n id: nItem.id,\r\n name: nItem.title,\r\n img:\r\n nItem.urlImage != undefined &&\r\n nItem.urlImage != null &&\r\n nItem.urlImage != \"\"\r\n ? constant.newsFileURL + nItem.urlImage\r\n : constant.musicURL,\r\n title: nItem.title,\r\n subtitle: nItem.subtitle,\r\n description: nItem.description,\r\n urlImage: nItem.urlImage,\r\n created: moment(nItem.created).format(\"DD-MMM-yyyy\"),\r\n artistName:\r\n nItem.artist != undefined\r\n ? nItem.artist.firstName + \" \" + nItem.artist.lastName\r\n : \"\",\r\n };\r\n });\r\n }\r\n };\r\n const getNews = async (pageNumber) => {\r\n let apiurl = constant.baseURL +\r\n \"news/getLatestNewsWithUserLike?page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit\r\n\r\n if (currentUserInfo) {\r\n apiurl += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resNews = await getDataApi(\r\n apiurl\r\n );\r\n //console.log(\"resNews\", resNews);\r\n if (resNews !== undefined && resNews.data !== undefined) {\r\n let itms = [];\r\n let newsIds = \"\";\r\n resNews.data.map((p, i) => {\r\n itms.push({\r\n id: p.id,\r\n name: p.title,\r\n img:\r\n p.urlImage != undefined && p.urlImage != null && p.urlImage != \"\"\r\n ? constant.newsFileURL + p.urlImage\r\n : constant.musicURL,\r\n title: p.title,\r\n subtitle: p.subtitle,\r\n description: p.description,\r\n urlImage: p.urlImage,\r\n created: moment(p.created).format(\"DD-MMM-yyyy\"),\r\n artistName:\r\n p.artist != undefined\r\n ? p.artist.firstName + \" \" + p.artist.lastName\r\n : \"\",\r\n likes: p.likes,\r\n comments: p.comments,\r\n userlike: p.userlike\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setNewsList(itms);\r\n } else {\r\n setNewsList([...newsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resNews.page < resNews.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n\r\n }\r\n };\r\n // const getNewsLikes = async (str) => {\r\n // let resNewsLikes = await getDataApi(\r\n // constant.baseURL +\r\n // \"newslikes?filter=user.id||$eq||\" +\r\n // currentUserInfo?.id +\r\n // \"&filter=news.id||$in||\" +\r\n // str\r\n // );\r\n // if (resNewsLikes != undefined && resNewsLikes.length > 0) {\r\n // setTimeout(() => {\r\n // setNewsLikesList(resNewsLikes);\r\n // setNewsLikesData(resNewsLikes);\r\n // }, 100);\r\n\r\n // }\r\n // };\r\n const createNewsLikes = async (newsId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setMId(newsId);\r\n let jsonData = {\r\n user: currentUserInfo.id,\r\n news: newsId,\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respNewsLike = await postDataApi(\r\n constant.baseURL + \"newslikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respNewsLike != undefined &&\r\n respNewsLike.status != undefined &&\r\n respNewsLike.status == 201 && respNewsLike.data !== undefined\r\n ) {\r\n setLikes(newsId, respNewsLike.data, undefined);//setLikes(newsId);\r\n setDisableItem(false);\r\n \r\n }\r\n setDisableItem(false);\r\n\r\n }\r\n };\r\n const resetNewsLike = async (newsId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setDisableItem(true);\r\n setMId(newsId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"newslikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setLikes(newsId, undefined, likeId);//setLikes(newsId);\r\n setDisableItem(false);\r\n \r\n }\r\n setDisableItem(false);\r\n \r\n }\r\n };\r\n // const setLikes = (id) => {\r\n // setNewsResetCount(newsResetCount + 1);\r\n // };\r\n const setCommentUpdate = () => {\r\n setCommentsCount(commentsCount + 1);\r\n }\r\n const navigateToNewsDetails = (index) => {\r\n let indexItem = newsList[index];\r\n //console.log(indexItem, \"news Data\");\r\n history.push({\r\n // pathname: `NewsDetails/${hashCodeUrl(indexItem.id)}/${hashCodeUrl(\r\n // indexItem.description\r\n // )}`,\r\n pathname: `NewsDetails/${hashCodeUrl(indexItem.id)}`,\r\n state: {\r\n id: indexItem.id,\r\n },\r\n });\r\n };\r\n const renderNewsList = () => {\r\n if (newsList.length > 0) {\r\n return newsList.map((item, index) => {\r\n return (\r\n \r\n
\r\n navigateToNewsDetails(index)}\r\n src={item.img}\r\n alt=\"Card image cap\"\r\n />\r\n
\r\n {item.created}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {item.name !== undefined &&\r\n item.name !== null &&\r\n item.name !== \"\"\r\n ? String(item.name)\r\n : \"\"}\r\n \r\n \r\n {item.description !== undefined &&\r\n item.description !== null &&\r\n item.description !== \"\"\r\n ? String(item.description)\r\n : \"\"}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item)}{\" \"}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedNews(item);\r\n setShowCommentTopNewsModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {item.comments.length}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n );\r\n });\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n const onClickViewMore = () => {\r\n setPage(page + 1);\r\n getNews(page + 1);\r\n };\r\n // const createEpisodeLike = async (episodeId) => {\r\n // if (currentUserInfo.id) {\r\n // let jsonData = { user: currentUserInfo.id, news: episodeId };\r\n // var formBody = [];\r\n // for (var property in jsonData) {\r\n // var encodedKey = encodeURIComponent(property);\r\n // var encodedValue = encodeURIComponent(jsonData[property]);\r\n // formBody.push(encodedKey + \"=\" + encodedValue);\r\n // }\r\n // formBody = formBody.join(\"&\");\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resBigStageLike = await postDataApi(\r\n // constant.baseURL + \"newslikes\",\r\n // formBody,\r\n // authHeader\r\n // );\r\n // console.log(resBigStageLike)\r\n // if (\r\n // resBigStageLike?.data !== undefined\r\n // ) {\r\n // setLikes(episodeId, resBigStageLike.data, undefined);\r\n // }\r\n // }\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n\r\n // const resetEpisodeLike = async (episodeId, likeId) => {\r\n // console.log(episodeId,likeId)\r\n // if (currentUserInfo.id) {\r\n // var authHeader = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n // };\r\n // let resp = await deleteDataApi(\r\n // constant.baseURL + \"newslikes/\" + likeId,\r\n // authHeader\r\n // );\r\n // if (\r\n // resp !== undefined &&\r\n // resp.status !== undefined &&\r\n // resp.status === 200\r\n // ) {\r\n // setLikes(episodeId, undefined, likeId);\r\n // }\r\n // } else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // // state: {\r\n // // prevPath: path.pathname,\r\n // // userId: props.currentUserId,\r\n // // },\r\n // });\r\n // }\r\n // };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...newsList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setNewsList(bgItems)\r\n\r\n };\r\n const renderLikes = (likeData) => {\r\n // if (newsLikesList.length !== 0) {\r\n // let flt = newsLikesData.filter(\r\n // (f) => f.news.id !== undefined && f.news.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetNewsLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createNewsLikes(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createNewsLikes(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n //console.log(likeData)\r\n if (likeData.userlike.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetNewsLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createNewsLikes(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n useEffect(() => {\r\n setNewsResetCount(0);\r\n setCommentsCount(0);\r\n setTimeout(() => {\r\n getLatestNews();\r\n });\r\n getNews(page);\r\n }, []);\r\n useEffect(() => {\r\n getNews(page);\r\n }, [newsResetCount, commentsCount]);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {String(latestNewsItem.name)}\r\n
\r\n \r\n {String(latestNewsItem.subtitle)}\r\n
\r\n \r\n {String(latestNewsItem.description)}\r\n

\r\n
\r\n
\r\n {latestNewsItem.name !== \"\" && latestNewsItem.id !== 0 && (\r\n navigateToNewsDetails(0)}\r\n >\r\n \r\n Read More\r\n \r\n )}\r\n
\r\n
\r\n {latestNewsItem.name !== \"\" && latestNewsItem.id !== 0 && (\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n \r\n Share\r\n \r\n )}\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"News\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {verifyLoginUserType() && (\r\n \r\n )}\r\n\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n
News
\r\n
\r\n
\r\n
\r\n
\r\n
0 ? \"card-deck\" : \"\"}>\r\n {renderNewsList()}\r\n
\r\n {newsList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {showCommentTopNewsModal === true && selectedNews !== undefined && (\r\n {\r\n setShowCommentTopNewsModal(false);\r\n }}\r\n inputText={commentTopNewsInputText}\r\n setInputText={(val) => {\r\n setCommentTopNewsInputText(val);\r\n }}\r\n isComment={true}\r\n />\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default News;\r\n","export default __webpack_public_path__ + \"static/media/eventsBanner.1505bf75.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { MdEvent } from \"react-icons/md\";\r\nimport { AiFillRead } from \"react-icons/ai\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport UploadHere from \"../../components/UploadHere/UploadHere\";\r\nimport HomeEventsList from \"../../components/HomeEventsList/HomeEventsList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport moment from \"moment\";\r\nimport eventsBanner from \"../../assets/Images/eventsBanner.png\";\r\nimport {\r\n VerifyLoginExistOrNot,\r\n verifyLoginUserType,\r\n} from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\n\r\nfunction Events() {\r\n let history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [noEvent, setNoEvent] = useState(false);\r\n const [eventsList, setEventsList] = useState([]);\r\n const [uniqeid, setuniqeid] = useState(0);\r\n const [eventItem, setEventItem] = useState({\r\n id: 0,\r\n name: \"No upcoming events found\",\r\n description: \"\",\r\n address: \"\",\r\n eventDate: \"\",\r\n img: eventsBanner,\r\n eventlink: \"\",\r\n artist: \"\",\r\n categories: [],\r\n });\r\n //console.log(eventItem)\r\n const getLatestEvent = async () => {\r\n // let resp = await getDataApi(\r\n // constant.baseURL + \"events?filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=id,DESC\"\r\n // );\r\n let resp = await getDataApi(constant.baseURL + \"events/getUpcommingEvents/10\");\r\n //console.log(\"resEvent: \", resp);\r\n if (resp !== undefined && resp.length > 0) {\r\n setuniqeid(resp[resp.length - 1].id)\r\n let resEvent = resp[resp.length - 1];\r\n setEventItem((prevState) => {\r\n return {\r\n ...prevState,\r\n id: resEvent.events_id,\r\n name: resEvent.events_name,\r\n description:\r\n resEvent.events_description !== undefined ? resEvent.events_description : \"\",\r\n address: resEvent.events_address !== undefined ? resEvent.events_address : \"\",\r\n eventDate: resEvent.events_eventdate, // != undefined && resEvent.eventdate !== null && resEvent.eventdate !== \"\" ? moment(resEvent.eventdate).format('DD-MMM-yyyy hh:mm A') : \"\",\r\n img:\r\n resEvent.events_urlImage !== undefined &&\r\n resEvent.events_urlImage !== null &&\r\n resEvent.events_urlImage !== \"\"\r\n ? constant.eventsFileURL + resEvent.events_urlImage\r\n : \"\",\r\n eventlink: resEvent.events_eventlink,\r\n artist:\r\n resEvent.artist !== undefined\r\n ? resEvent.artist.firstName + \" \" + resEvent.artist.lastName\r\n : \"\",\r\n };\r\n });\r\n \r\n }\r\n };\r\n // const getLatestEvent = async () => {\r\n // let resp = await getDataApi(\r\n // constant.baseURL + \"events?filter=status||$eq||1&filter=isDeleted||$eq||0&limit=1&sort=id,DESC\"\r\n // );\r\n // console.log(\"resEvent: \", resp);\r\n // if (resp !== undefined && resp.length > 0) {\r\n // let resEvent = resp[0];\r\n // setEventItem((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // id: resEvent.id,\r\n // name: resEvent.name,\r\n // description:\r\n // resEvent.description !== undefined ? resEvent.description : \"\",\r\n // address: resEvent.address !== undefined ? resEvent.address : \"\",\r\n // eventDate: resEvent.eventdate, // != undefined && resEvent.eventdate !== null && resEvent.eventdate !== \"\" ? moment(resEvent.eventdate).format('DD-MMM-yyyy hh:mm A') : \"\",\r\n // img:\r\n // resEvent.urlImage !== undefined &&\r\n // resEvent.urlImage !== null &&\r\n // resEvent.urlImage !== \"\"\r\n // ? constant.eventsFileURL + resEvent.urlImage\r\n // : \"\",\r\n // eventlink: resEvent.eventlink,\r\n // artist:\r\n // resEvent.artist !== undefined\r\n // ? resEvent.artist.firstName + \" \" + resEvent.artist.lastName\r\n // : \"\",\r\n // };\r\n // });\r\n // }\r\n // };\r\n const navigateToEventDetails = () => {\r\n history.push({\r\n // pathname: `EventsDetails/${hashCodeUrl(eventItem.id)}/${hashCodeUrl(\r\n // eventItem.description\r\n // )}`,\r\n pathname: `EventsDetails/${hashCodeUrl(eventItem.id)}`,\r\n state: {\r\n id: eventItem.id,\r\n },\r\n });\r\n // history.push({\r\n // pathname: `EventsDetails`,\r\n // state: {\r\n // id: eventItem.id,\r\n // },\r\n // });\r\n };\r\n useEffect(() => {\r\n getLatestEvent();\r\n }, []);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eventItem.name}\r\n
\r\n
\r\n {eventItem.eventDate !== undefined &&\r\n eventItem.eventDate !== null &&\r\n eventItem.eventDate !== \"\"\r\n ? moment(eventItem.eventDate).format(\r\n \"dddd, MMM DD yyyy [at] hh:mmA\"\r\n )\r\n : \"\"}\r\n
\r\n

\r\n {eventItem.description}\r\n

\r\n
\r\n
\r\n {eventItem.name !== \"\" && eventItem.id !== 0 && (\r\n \r\n )}\r\n
\r\n
\r\n {eventItem.name !== \"\" && eventItem.id !== 0 && (\r\n \r\n \r\n Read More\r\n \r\n )}\r\n
\r\n
\r\n {eventItem.name !== \"\" && eventItem.id !== 0 && (\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n \r\n Share\r\n \r\n )}\r\n {eventItem.id>0? {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"Events\"\r\n flag=\"0\"\r\n uniqeid={eventItem.id}\r\n />:null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {verifyLoginUserType() && (\r\n \r\n )}\r\n\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Events;\r\n","export default \"data:image/png;base64,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\"","\r\n export const INCREMENT = 'INCREMENT';\r\n\r\n export const DECREMENT = 'DECREMENT';","import { INCREMENT, DECREMENT } from './counter.types';\r\n\r\n\r\nexport const increaseCounter = (p,q,r,s,t) => {\r\n\r\n return {\r\n\r\n type: INCREMENT,\r\n data:{p,q,r,s,t}\r\n\r\n };\r\n\r\n};\r\n\r\nexport const decreaseCounter = () => {\r\n\r\n return {\r\n\r\n type: DECREMENT,\r\n\r\n };\r\n\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport ReactJkMusicPlayer from \"react-jinke-music-player\";\r\nimport \"react-jinke-music-player/assets/index.css\";\r\n\r\nconst AudioPlayer = ({\r\n musicList,\r\n playIndex,\r\n onAudioPlay,\r\n onAudioPause,\r\n setShowAudioPlayer,\r\n getAudioInstance,\r\n setplayOrPauseMusicindex,\r\n close,\r\n setPlayIndex,\r\n //setIsPlayMusic,\r\n}) => {\r\n const [count, setcount] = useState(0);\r\n \r\n const onAudioPlayTrackChange = async(currentPlayId, audioLists, audioInfo) => {\r\n //console.log(playIndex,currentPlayId,audioLists,audioInfo)\r\n const index = audioLists.findIndex(object => {\r\n return object.__PLAYER_KEY__ === currentPlayId;\r\n });\r\n //console.log(index)\r\n await setplayOrPauseMusicindex(index);\r\n await setPlayIndex(index)\r\n// if((audioLists.length-1)==playIndex){\r\n// \r\n// }else{\r\n// await setplayOrPauseMusicindex(playIndex+1);\r\n// await setPlayIndex(playIndex+1)\r\n// }\r\n// let seti = audioInfo.playIndex + 1\r\n// console.log(typeof(seti))\r\n\r\nsetcount(count+1)\r\n }\r\n const onAudioReload = (audioInfo) =>{\r\n //console.log(audioInfo)\r\n }\r\n const onBeforeDestroy = (currentPlayId, audioLists, audioInfo) => {\r\n setShowAudioPlayer(false);\r\n //console.log(currentPlayId, audioLists, audioInfo)\r\n // if (close !== true) {\r\n // setplayOrPauseMusicindex(0);\r\n // }\r\n // return new Promise((resolve, reject) => {\r\n // // your custom validate\r\n // if (window.confirm('Are you confirm destroy the player?')) {\r\n // // if resolve, player destroyed\r\n // resolve()\r\n // } else {\r\n // // if reject, skip.\r\n // reject()\r\n // }\r\n // })\r\n };\r\n // console.log(playIndex)\r\n const onDestroyed = (currentPlayId, audioLists, audioInfo) => {\r\n //console.log('onDestroyed:', currentPlayId, audioLists, audioInfo);\r\n setShowAudioPlayer(false);\r\n if (close !== true) {\r\n setplayOrPauseMusicindex(null);\r\n }\r\n };\r\n // const onAudioPlay = () => {\r\n // setIsPlayMusic(false);\r\n // }\r\n // const onAudioPause = () => {\r\n // setIsPlayMusic(true);\r\n // }\r\n // const onPlay = () => {\r\n // if(audioInstance !== null){\r\n // audioInstance.play();\r\n // }\r\n // }\r\n // const onPause = () => {\r\n // if(audioInstance !== null){\r\n // audioInstance.pause();\r\n // }\r\n // }\r\n // const getAudioInstance = (instance) => {\r\n // setTimeout(() => {\r\n // setAudioInstance(instance);\r\n // }, 500);\r\n // }\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\nexport default AudioPlayer;\r\nAudioPlayer.defaultProps = {\r\n close: false,\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdYAAAHICAYAAADzxsuxAAAABHNCSVQICAgIfAhkiAAAHtVJREFUeF7t3U2MZNV5BuC6dat/8AAzsU1g59nBzuxgBztYRLFlRZEVRQFZUWxFUWxZkeKdO7tkB7uwg12yMzvYwSpGURSsKArsxrtxsJ2ZgYH+qVuVWz1MT3dPz3QXfW6fU995emFZTNe553veM3rnVldVN93//N3WyBcBAgQIECCQRKBRrEkcLUKAAAECBPYFFKuDQIAAAQIEEgoo1oSYliJAgAABAorVGSBAgAABAgkF+mL96VbC9SxFgAABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFlCsVcdveAIECBBILaBYU4tajwABAgSqFmi6//7pVtUChidAgAABAgkFFGtCTEsRIECAAIG+WH/ijtU5IECAAAECiQQUayJIyxAgQIAAgYWAYnUOCBAgQIBAQgHFmhDTUgQIECBAQLE6AwQIECBAIKGAYk2IaSkCBAgQIKBYnQECBAgQIJBQQLEmxLQUAQIECBBQrM4AAQIECBBIKKBYE2JaigABAgQIKFZngAABAgQIJBRQrAkxLUWAAAECBBSrM0CAAAECBBIKKNaEmJYiQIAAAQKK1RkgQIAAAQIJBRRrQkxLESBAgAABxeoMECBAgACBhAKKNSGmpQgQIECAgGJ1BggQIECAQEIBxZoQ01IECBAgQECxOgMECBAgQCChgGJNiGkpAgQIECCgWJ0BAgQIECCQUKAv1r/dSriepQgQIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkFFGtqUesRIECAQNUCirXq+A1PgAABAqkF+mL9m63Ui1qPAAECBAjUKqBYa03e3AQIECAwiIBiHYTVogQIECBQq4BirTV5cxMgQIDAIAKKdRBWixIgQIBArQKKtdbkzU2AAAECgwgo1kFYLUqAAAECtQoo1lqTNzcBAgQIDCKgWAdhtSgBAgQI1CqgWGtN3twECBAgMIiAYh2E1aIECBAgUKuAYq01eXMTIECAwCACinUQVosSIECAQK0CTfdfPoS/1vDNTYAAAQLpBRRrelMrEiBAgEDFAoq14vCNToAAAQLpBRRrelMrEiBAgEDFAoq14vCNToAAAQLpBRRrelMrEiBAgEDFAoq14vCNToAAAQLpBRRrelMrEiBAgEDFAoq14vCNToAAAQLpBRRrelMrEiBAgEDFAn2x/vVWxfMbnQABAgQIJBVQrEk5LUaAAAECtQso1tpPgPkJECBAIKmAYk3KaTECBAgQqF1AsdZ+AsxPgAABAkkFFGtSTosRIECAQO0CirX2E2B+AgQIEEgqoFiTclqMAAECBGoXUKy1nwDzEyBAgEBSAcWalNNiBAgQIFC7gGKt/QSYnwABAgSSCijWpJwWI0CAAIHaBRRr7SfA/AQIECCQVECxJuW0GAECBAjULqBYaz8B5idAgACBpAKKNSmnxQgQIECgdgHFWvsJMD8BAgQIJBVQrEk5LUaAAAECtQso1tpPgPkJECBAIKmAYk3KaTECBAgQqF1AsdZ+AsxPgAABAkkFFGtSTosRIECAQO0CirX2E2B+AgQIEEgq0Bfrj7aSrmgxAgQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8oxMgQIBAegHFmt7UigQIECBQsYBirTh8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\"","import React, { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport addSquareImg from \"../../assets/Images/addSquare.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\n\r\nconst AddPlayListModal = ({ show, handleClose, title, id, type, extra }) => {\r\n //console.log(extra)\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n\r\n const [selectedPlaylist, setSelectedPlaylist] = useState(undefined);\r\n // const [searchInputShow, setSearchInputShow] = useState(false);\r\n // const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [playlistName, setPlaylistName] = useState(\"\");\r\n const [playlistType, setplaylistType] = useState(type ? type : \"video\")\r\n const [isPlaylistNameErrShow, setPlaylistNameErr] = useState(false);\r\n const [isCreatePlaylistInputShow, setCreatePlaylistInputShow] =\r\n useState(null);\r\n const [playlistData, setPlaylistData] = useState([]);\r\n // const settings = {\r\n // controls: false,\r\n // items: 5,\r\n // loop: false,\r\n // nav: false,\r\n // mouseDrag: true,\r\n // margin: 2,\r\n // responsiveClass: true,\r\n // responsive: {\r\n // 0: {\r\n // items: 3,\r\n // nav: false,\r\n // },\r\n // 600: {\r\n // items: 3,\r\n // nav: false,\r\n // },\r\n // 1000: {\r\n // items: 5,\r\n // nav: false,\r\n // loop: false,\r\n // margin: 20,\r\n // },\r\n // },\r\n // };\r\n const [albumActiveId, setalbumActiveId] = useState(\"\");\r\n const onCreateAddPlaylist = async () => {\r\n if (!playlistName) return setPlaylistNameErr(true);\r\n await createPlaylists();\r\n };\r\n const getPlaylistsByUser = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resUserPlaylists = await getDataApi(\r\n constant.baseURL +\r\n \"playlists?filter=user.id||$eq||\" +\r\n currentUserInfo.id + \"&filter=playlistType||$eq||\" + type +\r\n \"&filter=isDeleted||$eq||0&sort=id,DESC\"\r\n );\r\n if (resUserPlaylists !== undefined && resUserPlaylists.length > 0) {\r\n resUserPlaylists.map((p) => {\r\n p[\"img\"] = constant.musicURL;\r\n });\r\n setPlaylistData([...resUserPlaylists]);\r\n setCreatePlaylistInputShow(false)\r\n }\r\n }\r\n };\r\n const createPlaylists = async () => {\r\n if (currentUserInfo != undefined) {\r\n let jsonData = { user: currentUserInfo.id, name: playlistName, playlistType: playlistType };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respCreatePlayList = await postDataApi(\r\n constant.baseURL + \"playlists\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respCreatePlayList: \", respCreatePlayList);\r\n if (\r\n respCreatePlayList !== undefined &&\r\n respCreatePlayList.status !== undefined &&\r\n respCreatePlayList.status == 201\r\n ) {\r\n addSuccessMesage(\"Playlist Created\");\r\n let newPlaylistItem = [...playlistData];\r\n respCreatePlayList.data[\"img\"] = type == \"music\" ? musicImg : constant.videoURL;\r\n newPlaylistItem.push(respCreatePlayList.data);\r\n setPlaylistData([...newPlaylistItem]);\r\n //console.log(newPlaylistItem);\r\n } else {\r\n addErrorMesage(\"Error encountered while creating new playlist\");\r\n }\r\n setCreatePlaylistInputShow(false);\r\n }\r\n };\r\n const AddMusicToPlaylists = async () => {\r\n if (selectedPlaylist != undefined && (extra != selectedPlaylist.id)) {\r\n let jsonData = { playlists: selectedPlaylist.id, music: id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await postDataApi(\r\n constant.baseURL + \"musicplaylists\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"Create MusicPlaylists: \", resp);\r\n if (resp !== undefined && resp.status !== undefined && resp.status === 201) {\r\n addSuccessMesage(\r\n \"Music added to \" + selectedPlaylist.name + \" playlist\"\r\n );\r\n } else {\r\n addErrorMesage(\"Error encountered while adding music to playlist\");\r\n }\r\n handleClose();\r\n } else {\r\n addErrorMesage(\"You can't add same playlist\");\r\n }\r\n };\r\n const AddSongToSelectedPlaylist = (item, index) => {\r\n setalbumActiveId(index);\r\n //console.log(\"Selected Playlist: \", item);\r\n setSelectedPlaylist(item);\r\n };\r\n const renderPlaylist = () => {\r\n if (playlistData.length > 0) {\r\n return (\r\n
\r\n {playlistData.map((item, index) => {\r\n return (\r\n AddSongToSelectedPlaylist(item, index)}\r\n style={{ cursor: \"pointer\", width: 125 }}\r\n >\r\n \r\n
{item.name}
\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n };\r\n useEffect(() => {\r\n getPlaylistsByUser();\r\n }, []);\r\n return (\r\n <>\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n
\r\n {isCreatePlaylistInputShow == false ?\r\n
\r\n
\r\n {\r\n setCreatePlaylistInputShow(true);\r\n }}\r\n >\r\n \r\n
Create Playlist
\r\n
\r\n \r\n {renderPlaylist()}\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n isCreatePlaylistInputShow === true\r\n ? onCreateAddPlaylist()\r\n : AddMusicToPlaylists()\r\n }\r\n >\r\n Add To Playlist\r\n \r\n
\r\n
\r\n \r\n\r\n : isCreatePlaylistInputShow == true ?
\r\n
\r\n
\r\n {\r\n setPlaylistName(e.target.value);\r\n setPlaylistNameErr(false);\r\n }}\r\n value={playlistName}\r\n />\r\n \r\n \r\n {isPlaylistNameErrShow === true && (\r\n
\r\n Enter Playlist Name\r\n
\r\n )}\r\n
\r\n
\r\n Select Type\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n // if (\r\n // podcastDetails.uploadedPodcast ===\r\n // null\r\n // ) {\r\n setplaylistType(\"video\");\r\n }\r\n // }\r\n }\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n // if (\r\n // podcastDetails.uploadedPodcast ===\r\n // null\r\n // ) {\r\n setplaylistType(\"music\");\r\n }\r\n }\r\n // }\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n isCreatePlaylistInputShow === true\r\n ? onCreateAddPlaylist()\r\n : AddMusicToPlaylists()\r\n }\r\n >\r\n Add To Playlist\r\n \r\n
\r\n
\r\n
: null}\r\n {/* {isCreatePlaylistInputShow === false ? \r\n \r\n :null} */}\r\n \r\n\r\n
\r\n \r\n \r\n );\r\n};\r\nexport default AddPlayListModal;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n increaseCounter,\r\n decreaseCounter,\r\n} from \"../../redux/Counter/counter.actions\"\r\nimport { connect } from \"react-redux\"\r\nimport {\r\n postDataApi,\r\n getDataApiWithBlob,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { NavLink, useHistory, useLocation } from \"react-router-dom\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport AudioPlayer from \"../AudioPlayer/AudioPlayer\";\r\nimport {\r\n FaRegCommentDots,\r\n} from \"react-icons/fa\";\r\nimport { BiPlay, BiPause } from \"react-icons/bi\";\r\nimport { Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport AddPlayListModal from \"../../components/AddPlayListModal/AddPlayListModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport VideoModal from \"../../components/VideoModal/VideoModal\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport { GetPath } from \"../../utility/GetPath\";\r\n\r\nconst Musics = (props) => {\r\n //console.log(\"props: \", props)\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\r\n const [musicAlbumSongList, setmusicAlbumList] = useState(null);\r\n const [playOrPauseShow, setplayOrPauseShow] = useState(false);\r\n const [musicList, setmusicList] = useState(null);\r\n const [currentMusic, setcurrentMusic] = useState(false);\r\n const [audioInstance, setAudioInstance] = useState(null);\r\n const [playOrPauseMusic, setplayOrPauseMusic] = useState(false);\r\n const [barHide, setbarHide] = useState(false);\r\n const [currentIndex, setcurrentIndex] = useState(false);\r\n const [playOrPauseMusicindex, setplayOrPauseMusicindex] = useState(null);\r\n const [showCommentSongModal, setShowCommentSongModal] = useState(false);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [commentSongInputText, setCommentSongInputText] = useState(\"\");\r\n const [showReportSongModal, setShowReportSongModal] = useState(false);\r\n const [reportSongInputText, setReportSongInputText] = useState(\"\");\r\n const [showAddPlayListModal, setShowAddPlayListModal] = useState(false);\r\n const [selectedSong, setSelectedSong] = useState(\"\");\r\n const [selectedMusicItem, setSelectedMusicItem] = useState(undefined);\r\n const [playIndex, setPlayIndex] = useState(0);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [commentindex, setcommentindex] = useState(null);\r\n //console.log(playIndex)\r\n const [mId, setMId] = useState(0);\r\n var history = useHistory();\r\n var itemCount = 0;\r\n var path = useLocation();\r\n\r\n const resetShowAudioPlayer = () => {\r\n setShowAudioPlayer(false);\r\n props.funsetcurrentPlaymusic()\r\n setplayOrPauseShow(false);\r\n setplayOrPauseMusic(false)\r\n //console.log(props.from)\r\n if (props.from == \"playlistdetails\") {\r\n setcurrentMusic(false)\r\n }\r\n // props.currentPlayMusic=false;\r\n };\r\n //console.log(props);\r\n const playMusic = (index) => {\r\n // console.log(\"jay2\")\r\n if (musicAlbumSongList !== null) {\r\n setmusicList(props.data);\r\n itemCount = 0;\r\n }\r\n\r\n let item = props.data[index];\r\n // console.log(\"selected song item: \", item);\r\n setSelectedSong(item);\r\n if (props.albumType === \"music\") {\r\n setTimeout(() => {\r\n if (\r\n props.showAudioPlayer === undefined ||\r\n props.showAudioPlayer === false\r\n ) {\r\n setPlayIndex(index);\r\n setShowAudioPlayer(true);\r\n // satyam Agarwal\r\n setcurrentMusic(true);\r\n setplayOrPauseMusic(true);\r\n setplayOrPauseShow(true);\r\n itemCount = itemCount + 1;\r\n\r\n setplayOrPauseMusicindex(index);\r\n } else {\r\n setTimeout(() => {\r\n setShowAudioPlayer(true);\r\n setPlayIndex(index);\r\n // satyam Agarwal\r\n setcurrentMusic(true);\r\n setplayOrPauseMusic(true);\r\n setplayOrPauseShow(true);\r\n setplayOrPauseMusicindex(index);\r\n });\r\n }\r\n onPlay();\r\n }, 10);\r\n } else if (props.albumType === \"video\") {\r\n // setShowAudioPlayer(true);\r\n if (props.variant === \"MyAlbum\") {\r\n props.increasecounter(true, item.musicSrc, item.name, 790, 790)\r\n\r\n }\r\n //console.log(item)\r\n history.push({ pathname: \"/VideoPlayer\", state: { variant: \"musicjs\", url: item.musicSrc, list: props.data, details: item } })\r\n // show={showAudioPlayer}\r\n // url={selectedSong.musicSrc}\r\n // title={selectedSong.name}\r\n // height={790}\r\n // width={790}\r\n }\r\n };\r\n const downloadMusic = async (item) => {\r\n //console.log(item);\r\n if (item.urlImage !== \"\") {\r\n let respFile = await getDataApiWithBlob(\r\n constant.musicFileURL + item.urlImage\r\n );\r\n // console.log(respFile);\r\n var link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(\r\n new Blob([respFile], { type: \"application/octet-stream\" })\r\n );\r\n link.download = item.urlImage;\r\n document.body.appendChild(link);\r\n link.click();\r\n setTimeout(() => {\r\n window.URL.revokeObjectURL(link);\r\n createMusicDownload(item.id);\r\n }, 200);\r\n }\r\n };\r\n const createMusicDownload = async (musicId) => {\r\n let jsonData = { user: props.currentUserId, music: musicId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respMusicDownload = await postDataApi(\r\n constant.baseURL + \"musicdownloads\",\r\n formBody,\r\n authHeader\r\n );\r\n // console.log(\"respMusicDownload: \", respMusicDownload);\r\n if (\r\n respMusicDownload !== undefined &&\r\n respMusicDownload.status !== undefined &&\r\n respMusicDownload.status === 201\r\n ) {\r\n // console.log(\"Music download recorded..\");\r\n }\r\n };\r\n const updatecomment = () => {\r\n //console.log(commentindex)\r\n if (props.data[commentindex].extra1) {\r\n props.data[commentindex].extra1 = props.data[commentindex].extra1 + 1\r\n } else {\r\n props.data[commentindex].extra1 = props.data[commentindex].comments.length + 1\r\n }\r\n\r\n }\r\n const createMusicLike = async (musicId, i) => {\r\n // if (props.data[i].extra) {\r\n // props.data[i].extra = props.data[i].extra + 1\r\n // }\r\n // else {\r\n // props.data[i].extra = props.data[i].likes.length + 1\r\n // }\r\n\r\n setDisableItem(true);\r\n setMId(musicId);\r\n let jsonData = { user: props.currentUserId, music: musicId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respMusicLike = await postDataApi(\r\n constant.baseURL + \"musiclikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respMusicLike != undefined &&\r\n respMusicLike.status != undefined &&\r\n respMusicLike.status == 201\r\n ) {\r\n props.setLikes(musicId, respMusicLike.data, undefined);\r\n }\r\n setDisableItem(false);\r\n };\r\n // console.log( props.data)\r\n const resetMusicLike = async (musicId, likeId, i) => {\r\n // if (props.data[i].extra) {\r\n // props.data[i].extra = props.data[i].extra - 1\r\n // } else {\r\n // props.data[i].extra = props.data[i].likes.length - 1\r\n // }\r\n\r\n setDisableItem(true);\r\n setMId(musicId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"musiclikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n props.setLikes(musicId, undefined, likeId);\r\n }\r\n setDisableItem(false);\r\n };\r\n const renderLikes = (likeData, i) => {\r\n //console.log(\"props.musicLikesList: \", props.musicLikesList, id);\r\n // if (props.musicLikesList.length !== 0) {\r\n // let flt = props.musicLikesList.filter(\r\n // (f) => f.music !== undefined && f.music.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetMusicLike(id, flt[0].id, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createMusicLike(id, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.currentUserId,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createMusicLike(id, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.ArtistUserId,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n if (likeData?.userlike?.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetMusicLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createMusicLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const onPlay = () => {\r\n // console.log(\"Musics: On PLay\");\r\n };\r\n const formatTime = (second) => {\r\n var i = 0;\r\n var h = 0;\r\n var s = parseInt(second);\r\n if (s >= 60) {\r\n i = parseInt(s / 60);\r\n s = parseInt(s % 60);\r\n\r\n if (i >= 60) {\r\n h = parseInt(i / 60);\r\n i = parseInt(i % 60);\r\n }\r\n }\r\n if (h > 0) return [zero(h), zero(i), zero(s)].join(\":\");\r\n return [zero(i), zero(s)].join(\":\");\r\n //console.log(\"formatTime- \",[zero(i), zero(s)].join(':'));\r\n };\r\n const zero = (v) => {\r\n return v >> 0 < 10 ? \"0\".concat(v) : v;\r\n };\r\n // const updateDurationInMusics = () => {\r\n // let promises_array = [];\r\n // props.data.map((item) => {\r\n // promises_array.push(\r\n // new Promise((resolve, reject) => {\r\n // \t\t return loadFileDuration(item.musicSrc)\r\n // .then((resp) => {\r\n // item[\"time\"] = resp;\r\n // //console.log(\"new music item: \", item);\r\n // resolve(true);\r\n // })\r\n // .catch((error) => {\r\n // reject(false);\r\n // });\r\n // })\r\n // );\r\n // });\r\n // console.log(\"Completed: \", props.data);\r\n // }\r\n // const loadFileDuration = async (url) => {\r\n // let audioCtx = new (window.AudioContext || window.webkitAudioContext)();\r\n // const response = await fetch(url);\r\n // //console.log(response);\r\n // const arrayBuffer = await response.arrayBuffer();\r\n // if (arrayBuffer) {\r\n // let audioBuffer = await audioCtx.decodeAudioData(arrayBuffer);\r\n // //console.log('url: ', url , '-- audioBuffer.duration:', audioBuffer.duration);\r\n // return audioBuffer.duration;\r\n // }else{\r\n // return \"0:00\";\r\n // }\r\n // };\r\n // useEffect(() => {\r\n // console.log(\"Musics - useEffect - \", props.data);\r\n // setTimeout(() => {\r\n // updateDurationInMusics();\r\n // }, 200);\r\n // //loadFileDuration(props.data[0].musicSrc);\r\n // }, [props.data]);\r\n\r\n // ----------------Satyam Agarwal\r\n //console.log(\"44444455858\", currentMusic)\r\n useEffect(() => {\r\n //console.log(props.currentPlayMusic)\r\n //console.log(\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaa\")\r\n if (props.currentALbumDetails === true && currentMusic === false) {\r\n //console.log(\"jay1\")\r\n playMusic(0)\r\n setShowAudioPlayer(true);\r\n setcurrentMusic(true);\r\n setPlayIndex(0);\r\n // satyam Agarwal\r\n setcurrentMusic(true);\r\n setplayOrPauseMusic(true);\r\n setplayOrPauseShow(true);\r\n setplayOrPauseMusicindex(0);\r\n if (props.variant !== \"MyAlbum\") {\r\n window.scrollTo(0, 1200);\r\n }\r\n\r\n }\r\n if (props.currentPlayMusic === true && currentMusic === true) {\r\n //console.log(\"jay6\")\r\n playMusic(0)\r\n setShowAudioPlayer(true);\r\n setcurrentMusic(true);\r\n setPlayIndex(0);\r\n // satyam Agarwal\r\n setcurrentMusic(true);\r\n setplayOrPauseMusic(true);\r\n setplayOrPauseShow(true);\r\n setplayOrPauseMusicindex(0);\r\n if (props.variant !== \"MyAlbum\") {\r\n window.scrollTo(0, 1200);\r\n }\r\n }\r\n if (props.currentALbumDetails === true && currentMusic === true) {\r\n //console.log(\"jay2\")\r\n setmusicAlbumList(props.data);\r\n if (props.countData > 1) {\r\n //console.log(\"jay3\")\r\n itemCount = 0;\r\n props.setcountData(1);\r\n setplayOrPauseMusicindex(null);\r\n }\r\n } else {\r\n //(\"jay4\")\r\n // console.log(\"datta not found\");\r\n setmusicList(props.data);\r\n }\r\n //console.log(\"jay5\")\r\n }, [\r\n props.currentPlayMusic,\r\n props.currentALbumDetails,\r\n musicList,\r\n currentMusic,\r\n itemCount,\r\n props.countData,\r\n playOrPauseMusicindex,\r\n ]);\r\n\r\n\r\n const getAudioInstance = (instance) => {\r\n // console.log(\"Getting audio instance\", instance);\r\n setAudioInstance(instance);\r\n };\r\n\r\n const onAudioPlay = () => {\r\n audioInstance.play();\r\n setplayOrPauseShow(true);\r\n setbarHide(false);\r\n };\r\n const onAudioPause = () => {\r\n audioInstance.pause();\r\n setplayOrPauseShow(false);\r\n setbarHide(true);\r\n };\r\n const renderMusics = () => {\r\n if (props.data.length > 0) {\r\n return props.data.map((item, index) => {\r\n let mItem = item;\r\n //console.log(index)\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {playOrPauseMusic === false ? (\r\n playMusic(index)}\r\n />\r\n ) : (\r\n
\r\n {playOrPauseMusicindex === index && itemCount === 0 ? (\r\n
\r\n {playOrPauseShow === true ? (\r\n {\r\n // console.log(\"pause Circle\");\r\n onAudioPause(index);\r\n }}\r\n />\r\n ) : (\r\n {\r\n // console.log(\"play Circle\");\r\n onAudioPlay(index);\r\n }}\r\n />\r\n )}\r\n
\r\n ) : (\r\n playMusic(index)}\r\n />\r\n )}\r\n
\r\n )}\r\n
\r\n {props.showMusicLike === true && (\r\n
\r\n
\r\n {String(item.title)}\r\n
\r\n
\r\n )}\r\n {props.showMusicLike === false && (\r\n
\r\n
\r\n {String(item.title)}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n {String(item.albumname)}\r\n
\r\n
\r\n
\r\n {showAudioPlayer === false &&
 
}\r\n {showAudioPlayer === true &&\r\n playOrPauseMusicindex === index\r\n &&\r\n itemCount === 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 {item.time !== undefined &&\r\n item.time !== null &&\r\n item.time !== NaN\r\n ? formatTime(item.time)\r\n : \"0:00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item, index)}\r\n \r\n {item.extra == undefined ? item?.likes?.length : item?.extra}\r\n \r\n \r\n }\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setcommentindex(index)\r\n setSelectedMusicItem(item);\r\n setShowCommentSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {/* {item.comments !== undefined ? item.comments.length : 0} */}\r\n {item.extra1 == undefined ? item?.comments?.length : item?.extra1}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n }\r\n >\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedMusicItem(item);\r\n setShowAddPlayListModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Add To Playlist\r\n \r\n {\r\n if (VerifyLoginExistOrNot()) downloadMusic(item);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Download Song\r\n \r\n {props.variant !== \"MyAlbum\" && (\r\n {\r\n setSelectedMusicItem(item);\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n Share\r\n \r\n )}\r\n {/* Share */}\r\n\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedMusicItem(item);\r\n setShowReportSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Report Song\r\n \r\n \r\n
\r\n {showCommentSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowCommentSongModal(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={true}\r\n setUpdate={() => updatecomment()}\r\n />\r\n )}\r\n\r\n {showShareToModal === true &&\r\n selectedMusicItem !== undefined && (\r\n <>\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"Music\"\r\n uniqeid={props.extra}\r\n />\r\n \r\n )}\r\n\r\n {showReportSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowReportSongModal(false);\r\n }}\r\n inputText={reportSongInputText}\r\n setInputText={(val) => {\r\n setReportSongInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { \r\n //console.log(\"DONE\"); \r\n }}\r\n />\r\n )}\r\n {showAddPlayListModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowAddPlayListModal(false);\r\n }}\r\n extra={props.extra}\r\n >\r\n )}\r\n
\r\n
\r\n {/* {showAudioPlayer === false &&
 
} */}\r\n {showAudioPlayer === false &&
 
}\r\n {showAudioPlayer === true &&\r\n playOrPauseMusicindex === index &&\r\n itemCount === 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 {playOrPauseMusic === false ? (\r\n playMusic(index)}\r\n />\r\n ) : (\r\n
\r\n {playOrPauseMusicindex === index && itemCount === 0 ? (\r\n
\r\n {playOrPauseShow === true ? (\r\n {\r\n // console.log(\"pause Circle\");\r\n onAudioPause(index);\r\n }}\r\n />\r\n ) : (\r\n {\r\n // console.log(\"play Circle\");\r\n onAudioPlay(index);\r\n }}\r\n />\r\n )}\r\n
\r\n ) : (\r\n playMusic(index)}\r\n />\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {props.showMusicLike === true && (\r\n
\r\n
\r\n {String(item.title)}\r\n
\r\n
\r\n )}\r\n {props.showMusicLike === false && (\r\n
\r\n
\r\n {String(item.title)}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n {String(item.albumname)}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(item, index)}\r\n \r\n {item.extra == undefined ? item?.likes?.length : item?.extra}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setcommentindex(index)\r\n setSelectedMusicItem(item);\r\n setShowCommentSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n \r\n {/* {item.comments !== undefined ? item.comments.length : 0} */}\r\n {item.extra1 == undefined ? item?.comments?.length : item?.extra1}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n >\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedMusicItem(item);\r\n setShowAddPlayListModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Add To Playlist\r\n \r\n {\r\n if (VerifyLoginExistOrNot()) downloadMusic(item);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Download Song\r\n \r\n {props.variant !== \"MyAlbum\" && (\r\n {\r\n setSelectedMusicItem(item);\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n Share\r\n \r\n )}\r\n {/* Share */}\r\n\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedMusicItem(item);\r\n setShowReportSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Report Song\r\n \r\n \r\n
\r\n {showCommentSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowCommentSongModal(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={true}\r\n setUpdate={() => updatecomment()}\r\n />\r\n )}\r\n\r\n {showShareToModal === true &&\r\n selectedMusicItem !== undefined && (\r\n <>\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"Music\"\r\n uniqeid={props.extra}\r\n />\r\n \r\n )}\r\n\r\n {showReportSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowReportSongModal(false);\r\n }}\r\n inputText={reportSongInputText}\r\n setInputText={(val) => {\r\n setReportSongInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { \r\n //console.log(\"DONE\"); \r\n }}\r\n />\r\n )}\r\n {showAddPlayListModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowAddPlayListModal(false);\r\n }}\r\n extra={props.extra}\r\n >\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n {showAudioPlayer === false &&
 
}\r\n {showAudioPlayer === true &&\r\n playOrPauseMusicindex === index\r\n &&\r\n itemCount === 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 });\r\n } else {\r\n return (\r\n
\r\n {constant.noDataFoundLabel}\r\n
\r\n );\r\n }\r\n };\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Title
\r\n
\r\n\r\n \r\n
Album
\r\n
\r\n\r\n
\r\n
\r\n
Time
\r\n
\r\n
\r\n
\r\n
{renderMusics()}
\r\n {showAudioPlayer === true && props.albumType === \"music\" && (\r\n \r\n )}\r\n {selectedSong !== undefined && props.albumType === \"video\" && props.variant !== \"MyAlbum\" && (\r\n\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n count: state.counter.count,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n increasecounter: (p, q, r, s, t) => dispatch(increaseCounter(p, q, r, s, t)),\r\n\r\n // decreaseCounter: () => dispatch(decreaseCounter()),\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Musics);\r\nMusics.defaultProps = {\r\n showMusicLike: false,\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Link, NavLink, useHistory, useLocation } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { postDataApi } from \"../../utility/apiCall\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport {\r\n addLoader,\r\n DisableButtonLoader,\r\n removeLoader,\r\n} from \"../../utility/CustomLoader\";\r\nimport Loader from \"react-loader-spinner\";\r\n\r\nconst Comments = (props) => {\r\n var history = useHistory();\r\n var path = useLocation();\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const postComment = () => {\r\n const textRegex =\r\n /^[/\\a-zA-Z0-9\\s\\[\\]\\{\\}\\.\\`\\~\\!\\@\\$\\^\\&\\(\\)\\_\\+\\-\\=\\;\\,]*$/;\r\n //console.log(\"button Disable\");\r\n if (VerifyLoginExistOrNot()) {\r\n //console.log(\"jayrajjjjjjjk\", props.commentInputVal, props.commentInputVal.trim(), textRegex.test(props.commentInputVal))\r\n if (!props.commentInputVal || !props.commentInputVal.trim()) {\r\n //console.log(\"jjjjjo0oojj\", props.commentInputVal)\r\n props.setCommentError();\r\n } else {\r\n if (props.type === \"podcast\" && props.id !== undefined) {\r\n createComments(constant.baseURL + \"podcastcomments\", {\r\n user: props.currentUserId,\r\n podcasts: props.id,\r\n comment: props.commentInputVal,\r\n });\r\n } else if (props.type === \"artist\" && props.id !== undefined) {\r\n createComments(constant.baseURL + \"artistcomments\", {\r\n user: props.currentUserId,\r\n artist: props.id,\r\n comments: props.commentInputVal,\r\n });\r\n } else if (props.type === \"news\" && props.id !== undefined) {\r\n createComments(constant.baseURL + \"newscomments\", {\r\n user: props.currentUserId,\r\n news: props.id,\r\n comment: props.commentInputVal,\r\n });\r\n }\r\n }\r\n } else {\r\n // window.alert(\"Please Login FIrst\");\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.id,\r\n },\r\n });\r\n }\r\n };\r\n const createComments = async (apiURL, jsonData) => {\r\n if (props.currentUserId !== undefined) {\r\n // addLoader();\r\n setbuttonDisable(true);\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respComments = await postDataApi(apiURL, formBody, authHeader);\r\n //console.log(\"respComments: \", respComments);\r\n if (\r\n respComments !== undefined &&\r\n respComments.status !== undefined &&\r\n respComments.status == 201\r\n ) {\r\n // removeLoader();\r\n setbuttonDisable(false);\r\n addSuccessMesage(\"Comments Submitted!\");\r\n // props.enqueueSnackbar('Comments Submitted!', {\r\n // variant: 'success', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n props.setComments(respComments.data);\r\n } else {\r\n // removeLoader();\r\n setbuttonDisable(false);\r\n addErrorMesage(\"Error encountered while submitting comment!\");\r\n // props.enqueueSnackbar('Error encountered while submitting comment!', {\r\n // variant: 'error', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n }\r\n }\r\n };\r\n const onChangeCommentText = (e) => {\r\n if (e.target.value == \"\") {\r\n props.setCommentError(true);\r\n }\r\n props.setCommentInputVal(e.target.value);\r\n };\r\n const renderComments = () => {\r\n if (props.data.length !== 0) {\r\n return props.data.map((item, index) => {\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
{item.name}
\r\n
{item.location}
\r\n
\r\n
\r\n {/* d-none d-md-block */}\r\n
{item.comment}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{item.date}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n });\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n
{props.data.length > 0 ? props.data.length + \" Comments\" : \"Comments\"}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeCommentText(e)}\r\n value={props.commentInputVal}\r\n >\r\n {props.errorCommentMessage === true && (\r\n \r\n Please enter comment\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n postComment()}\r\n >\r\n {buttonDisable && DisableButtonLoader()}\r\n Post Comment\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n \r\n {/* cus-comment-sm */}\r\n
\r\n
\r\n {renderComments()}\r\n
\r\n
\r\n
\r\n
\r\n {props.data !== undefined &&\r\n props.data.length > 0 &&\r\n props.showViewMore === true && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n
\r\n
\r\n
\r\n
Leave A Comment
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeCommentText(e)}\r\n value={props.commentInputVal}\r\n >\r\n {props.errorCommentMessage === true && (\r\n \r\n Please enter comment\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n postComment()}\r\n >\r\n {buttonDisable && DisableButtonLoader()}\r\n Post Comment\r\n \r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n \r\n );\r\n};\r\nexport default Comments;","export default __webpack_public_path__ + \"static/media/Location.5f265819.svg\";","export default __webpack_public_path__ + \"static/media/Call.9dc2e46f.svg\";","export default __webpack_public_path__ + \"static/media/Mail.9232ae59.svg\";","export default __webpack_public_path__ + \"static/media/blackmike.ac24bd9e.svg\";","export default __webpack_public_path__ + \"static/media/blackmikefill.b7b35d83.svg\";","export default __webpack_public_path__ + \"static/media/facebook.a3fc34c8.svg\";","export default __webpack_public_path__ + \"static/media/youtube.882d3586.svg\";","export default __webpack_public_path__ + \"static/media/twitterIcon.86b73518.svg\";","export default __webpack_public_path__ + \"static/media/itune.8bcdc248.svg\";","export default __webpack_public_path__ + \"static/media/shopify.3f5d9270.svg\";","export default __webpack_public_path__ + \"static/media/titktok.fba457d1.svg\";","export default __webpack_public_path__ + \"static/media/applemusic.d79fd44a.svg\";","export default __webpack_public_path__ + \"static/media/instagram.9ab1f7fe.svg\";","export default __webpack_public_path__ + \"static/media/podcaste.fffcbd72.svg\";","import React, { useState, useEffect, useContext } from \"react\";\r\nimport { BsPlayFill, BiPauseCircle, BsPauseFill } from \"react-icons/bs\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { AiOutlineHeart, AiFillHeart, AiOutlineMore } from \"react-icons/ai\";\r\nimport { MdReport } from \"react-icons/md\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport user from \"../../assets/Images/user.png\";\r\nimport Musics from \"../../components/Musics/Musics\";\r\nimport AudioPlayer from \"../../components/AudioPlayer/AudioPlayer\";\r\nimport Comments from \"../../components/Comments/Comments\";\r\nimport moment from \"moment\";\r\nimport { Dropdown, DropdownButton, NavDropdown } from \"react-bootstrap\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport { useHistory, useLocation, useParams, Link } from \"react-router-dom\";\r\nimport twitter from \"../../assets/Images/twitter.png\";\r\nimport social from \"../../assets/Images/social.png\";\r\nimport facebook from \"../../assets/Images/facebook.png\";\r\nimport location from \"../../assets/Images/Location.svg\";\r\nimport phone from \"../../assets/Images/Call.svg\";\r\nimport mail from \"../../assets/Images/Mail.svg\";\r\nimport { FaShareAlt, FaPlay } from \"react-icons/fa\";\r\nimport { RiUserFollowLine, RiUserUnfollowLine } from \"react-icons/ri\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport Loader from \"react-loader-spinner\";\r\nimport classNames from \"classnames\";\r\nimport {\r\n hashCodeUrl,\r\n hashCodeUrlDecode,\r\n} from \"../../utility/EncodeAndDecodeUrl\";\r\nimport blackmike from \"../../assets/Images/blackmike.svg\";\r\nimport blackmikefill from \"../../assets/Images/blackmikefill.svg\";\r\n// import {\r\n// FacebookIcon,\r\n// FacebookShareButton,\r\n// TwitterIcon,\r\n// TwitterShareButton,\r\n// InstapaperShareButton,\r\n// InstapaperIcon,\r\n// } from \"react-share\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport facebookIcon from \"../../assets/Images/facebook.svg\";\r\nimport twitterIcon from \"../../assets/Images/twitterIcon.svg\";\r\nimport youtube from \"../../assets/Images/youtube.svg\";\r\nimport itune from \"../../assets/Images/itune.svg\";\r\nimport spotify from \"../../assets/Images/shopify.svg\";\r\nimport tiktok from \"../../assets/Images/titktok.svg\";\r\nimport apple from \"../../assets/Images/applemusic.svg\";\r\nimport instagramIcon from \"../../assets/Images/instagram.svg\";\r\nimport podcaste from \"../../assets/Images/podcaste.svg\";\r\nfunction FeaturedArtistDetails(props) {\r\n //console.log(props);\r\n let history = useHistory();\r\n let path = useLocation();\r\n let searchData = useParams();\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [buttonfollowDisable, setbuttonfollowDisable] = useState(false);\r\n let shareUrl = \"google.com\" + location.pathname;\r\n //console.log(searchData, \"Search Data\", searchData);\r\n const { id } = hashCodeUrlDecode(searchData.itemId);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [idd, setidd] = useState(hashCodeUrlDecode(searchData.itemId));\r\n\r\n // const { id } = hashCodeUrlDecode(searchData.itemId);\r\n\r\n\r\n // satyam Start\r\n const [currentPlayMusic, setCurrentPlayMusic] = useState(false);\r\n const [currentALbumDetails, setcurrentALbumDetails] = useState(false);\r\n const [albumIndex, setAlbumIndex] = useState(null);\r\n // satyam End\r\n const [showLoader, setshowLoader] = useState(false);\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [artistList, setArtistList] = useState([]);\r\n const [albumList, setAlbumList] = useState([]);\r\n const [selectedAlbumMusics, setSelectedAlbumMusics] = useState([]);\r\n const [showMusics, setShowMusics] = useState(false);\r\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\r\n const [playIndex, setPlayIndex] = useState(0);\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [commentInputVal, setCommentInputVal] = useState(\"\");\r\n const [errorCommentMessage, setCommentError] = useState(false);\r\n const [commentsPage, setCommentsPage] = useState(1);\r\n const [limit, setLimit] = useState(5);\r\n const [artistLikes, setArtistLikes] = useState(undefined);\r\n const [artistFollow, setArtistFollow] = useState(undefined);\r\n const [showReportArtistModal, setShowReportArtistModal] = useState(false);\r\n const [reportArtistInputText, setReportArtistInputText] = useState(\"\");\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [musicLikesList, setLikesList] = useState([]);\r\n const [musicList, setMusicList] = useState([]);\r\n const [selectedAlbum, setSelectedAlbum] = useState(undefined);\r\n const [albumLikesList, setAlbumLikesList] = useState([]);\r\n const [albumLikesData, setAlbumLikesData] = useState([]);\r\n const [albumResetCount, setAlbumResetCount] = useState(0);\r\n const [albumResetCount1, setAlbumResetCount1] = useState(0);\r\n const [albmId, setAlbmId] = useState(0);\r\n // satyam\r\n var [countData, setcountData] = useState(0);\r\n // const [isPlayMusic, setIsPlayMusic] = useState(true);\r\n const [artistData, setArtistData] = useState({\r\n id: id !== undefined ? id : 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n artistLiked: false,\r\n biography: \"\",\r\n location: \"\",\r\n email: \"\",\r\n phoneNo: \"\",\r\n title: \"\",\r\n country: \"\",\r\n callingCodes: \"\",\r\n followed: false,\r\n image: \"\",\r\n like: false,\r\n faceookURL: \"\",\r\n twitterURL: \"\",\r\n instagramURL: \"\",\r\n appleMusicURL: \"\",\r\n applePodcastURL: \"\",\r\n iTunesURL: \"\",\r\n spotifyURL: \"\",\r\n tikTokURL: \"\",\r\n youtubeURL: \"\"\r\n\r\n });\r\n // satyam\r\n var count = 0;\r\n const settingsArtist = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 2,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 5,\r\n nav: false,\r\n loop: false,\r\n margin: 20,\r\n },\r\n },\r\n };\r\n\r\n const albumSettings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n\r\n const [albumActive, setalbumActive] = useState(false);\r\n const [albumActiveId, setalbumActiveId] = useState(\"\");\r\n const AlbumClass = classNames({\r\n wd260: albumActive === false,\r\n wd239: albumActive === true,\r\n });\r\n const navigateToMoreInfo = () => {\r\n history.push({\r\n pathname: `MoreInfo`,\r\n state: {\r\n id: id,\r\n },\r\n });\r\n };\r\n const getArtistDetails = async (id) => {\r\n let resArtist = await getDataApi(constant.baseURL + \"user/\" + id);\r\n //console.log(resArtist)\r\n if (resArtist !== undefined) {\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n id: resArtist.id,\r\n firstName:\r\n resArtist.firstName !== undefined && resArtist.firstName !== null\r\n ? resArtist.firstName\r\n : \"\",\r\n lastName:\r\n resArtist.lastName !== undefined && resArtist.lastName !== null\r\n ? resArtist.lastName\r\n : \"\",\r\n email:\r\n resArtist.email !== undefined && resArtist.email !== null\r\n ? resArtist.email\r\n : \"\",\r\n phoneNo:\r\n resArtist.phone !== undefined && resArtist.phone !== null\r\n ? resArtist.phone\r\n : \"\",\r\n title:\r\n resArtist.title !== undefined && resArtist.title !== null\r\n ? resArtist.title\r\n : \"\",\r\n biography:\r\n resArtist.biography !== undefined && resArtist.biography !== null\r\n ? resArtist.biography\r\n : \"\",\r\n location:\r\n resArtist.fullAddress !== undefined &&\r\n resArtist.fullAddress !== null\r\n ? resArtist.fullAddress\r\n : \"\",\r\n country:\r\n resArtist.country !== undefined && resArtist.country != null\r\n ? resArtist.country.name\r\n : \"\",\r\n callingCodes:\r\n resArtist.country !== undefined && resArtist.country != null\r\n ? \"+\" + resArtist.country.callingCodes\r\n : \"\",\r\n image:\r\n resArtist.urlImage !== undefined &&\r\n resArtist.urlImage !== null &&\r\n resArtist.urlImage !== \"\" &&\r\n resArtist.urlImage !== \"user.png\"\r\n ? constant.profileURL + resArtist.urlImage\r\n : resArtist.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n faceookURL:\r\n resArtist.facebookURL !== undefined &&\r\n resArtist.facebookURL !== null\r\n ? resArtist.facebookURL\r\n : \"\",\r\n twitterURL:\r\n resArtist.twitterURL !== undefined && resArtist.twitterURL !== null\r\n ? resArtist.twitterURL\r\n : \"\",\r\n instagramURL:\r\n resArtist.instagramURL !== undefined &&\r\n resArtist.instagramURL !== null\r\n ? resArtist.instagramURL\r\n : \"\",\r\n appleMusicURL:\r\n resArtist.appleMusicURL !== undefined &&\r\n resArtist.appleMusicURL !== null\r\n ? resArtist.appleMusicURL\r\n : \"\",\r\n applePodcastURL:\r\n resArtist.applePodcastURL !== undefined &&\r\n resArtist.applePodcastURL !== null\r\n ? resArtist.applePodcastURL\r\n : \"\",\r\n iTunesURL:\r\n resArtist.iTunesURL !== undefined &&\r\n resArtist.iTunesURL !== null\r\n ? resArtist.iTunesURL\r\n : \"\",\r\n spotifyURL:\r\n resArtist.spotifyURL !== undefined &&\r\n resArtist.spotifyURL !== null\r\n ? resArtist.spotifyURL\r\n : \"\",\r\n tikTokURL:\r\n resArtist.tikTokURL !== undefined &&\r\n resArtist.tikTokURL !== null\r\n ? resArtist.tikTokURL\r\n : \"\",\r\n youtubeURL:\r\n resArtist.youtubeURL !== undefined &&\r\n resArtist.youtubeURL !== null\r\n ? resArtist.youtubeURL\r\n : \"\",\r\n };\r\n });\r\n }\r\n };\r\n const getArtists = async () => {\r\n let resArtists\r\n //console.log(props?.location?.state?.from)\r\n if (props?.location?.state?.from == \"featureartistsh\") {\r\n let ext1 = await getDataApi(\r\n constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n 1 + '&limit=' +\r\n 100 + '&isFeatured=Yes' + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n resArtists = ext1.data\r\n // let apiURL = constant.baseURL + \"user/getHomeFeaturedArtistsWithUserLike\";\r\n // let jsonData = { userId: 0 }\r\n // let ext = await postDataApi(apiURL, jsonData);\r\n // resArtists = ext.data.data\r\n }\r\n else if (props?.location?.state?.from == \"featureartists\") {\r\n let ext1 = await getDataApi(\r\n constant.baseURL + 'user/getArtistsWithUserLike?page=' +\r\n 1 + '&limit=' +\r\n 100 + '&isFeatured=Yes' + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n resArtists = ext1.data\r\n }\r\n else if (props?.location?.state?.from == \"featureartists10\") {\r\n let ext2 = await getDataApi(constant.baseURL + 'user/getAllArtistsWithUserLike?page=' +\r\n 1 + '&limit=' +\r\n 100 + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n resArtists = ext2.data\r\n }\r\n else if (props?.location?.state?.from == \"featureartists20\") {\r\n let ext2 = await getDataApi(constant.baseURL + 'user/getAllArtistsWithUserLike?page=' +\r\n 1 + '&limit=' +\r\n 100 + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n resArtists = ext2.data\r\n }\r\n else {\r\n let ext2 = await getDataApi(constant.baseURL + 'user/getAllArtistsWithUserLike?page=' +\r\n 1 + '&limit=' +\r\n 100 + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n resArtists = ext2.data\r\n }\r\n //console.log(resArtists)\r\n if (resArtists !== undefined && resArtists.length > 0) {\r\n setArtistList([...resArtists]);\r\n }\r\n };\r\n const getAlbumsByArtist = async (id) => {\r\n //console.log(\"aaa\")\r\n let resAlbums = await getDataApi(\r\n constant.baseURL + \"albums/getByArtistWithUserLike/\" + id + \"?page=1&limit=100\" + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n //console.log(\"resAlbums: \", resAlbums);\r\n if (resAlbums !== undefined && resAlbums.data !== undefined) {\r\n setAlbumList([...resAlbums.data]);\r\n if (resAlbums.data.length > 0) {\r\n setSelectedAlbum(resAlbums.data[0]);\r\n let musicsData = [];\r\n resAlbums.data[0].musics.map((item) => {\r\n musicsData.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n singer:\r\n resAlbums.data[0].user.firstName +\r\n \" \" +\r\n resAlbums.data[0].user.lastName,\r\n cover: constant.musicURL,\r\n albumname: resAlbums.data[0].name,\r\n albumId: resAlbums.data[0].id,\r\n urlImage:\r\n item.urlImage !== undefined ? item.urlImage : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n user: resAlbums.data[0]?.user,\r\n userlike: item.userlike\r\n });\r\n });\r\n let albumIds = \"\";\r\n resAlbums.data.map((item) => {\r\n albumIds += item.id + \",\";\r\n });\r\n\r\n if (searchData.albumId !== undefined) {\r\n resAlbums.data.map((item, index) => {\r\n if (\r\n item.id.toString() === hashCodeUrlDecode(searchData.albumId)\r\n ) {\r\n getMusicsByAlbumUrlId(resAlbums.data[index], resAlbums.data[index].user);\r\n setSelectedAlbum(resAlbums.data[index]);\r\n setalbumActiveId(index);\r\n setShowMusics(true);\r\n //window.scrollTo(0, 1000);\r\n }\r\n });\r\n } else {\r\n setcountData(countData + 1);\r\n setSelectedAlbumMusics([...musicsData]);\r\n setShowMusics(true);\r\n getMusicsByAlbum(resAlbums.data[0]);\r\n setshowLoader(false);\r\n getAlbumLikesByUser(albumIds.substr(0, albumIds.lastIndexOf(\",\")));\r\n }\r\n } else {\r\n setSelectedAlbumMusics([]);\r\n setShowMusics(false);\r\n setLikesList([]);\r\n }\r\n }\r\n };\r\n\r\n const getMusicsByAlbumUrlId = async (objAlbumUrl, j) => {\r\n //console.log(\"bbb\", j,)\r\n let mItems = [];\r\n let count = 0;\r\n let musicIds = \"\";\r\n let arrMusics = [];\r\n if (objAlbumUrl.musics !== undefined) {\r\n arrMusics = [...objAlbumUrl.musics];\r\n } else {\r\n arrMusics = [...objAlbumUrl];\r\n }\r\n\r\n let musicsData = [];\r\n arrMusics.map((item) => {\r\n musicIds +=\r\n item.id !== undefined ? item.id + \",\" : item.id + \",\";\r\n musicsData.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n singer: objAlbumUrl.user.firstName + \" \" + objAlbumUrl.user.lastName,\r\n cover: constant.musicURL,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n albumname: objAlbumUrl.name,\r\n albumId: objAlbumUrl.id,\r\n urlImage:\r\n item.urlImage !== undefined ? item.urlImage : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n user: j,\r\n userlike: item.userlike\r\n });\r\n count++;\r\n });\r\n setcountData(countData + 1);\r\n setSelectedAlbumMusics([...musicsData]);\r\n setcurrentALbumDetails(true);\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n };\r\n\r\n const getMusicsByAlbum = async (objAlbum) => {\r\n //console.log(\"objAlbum: \", objAlbum);\r\n let mItems = [];\r\n let count = 0;\r\n let musicIds = \"\";\r\n let arrMusics = [];\r\n if (objAlbum.musics !== undefined) {\r\n arrMusics = [...objAlbum.musics];\r\n } else {\r\n arrMusics = [...objAlbum];\r\n }\r\n //console.log(\"arrMusics\", arrMusics);\r\n arrMusics.map((mitem) => {\r\n musicIds +=\r\n mitem.id !== undefined ? mitem.id + \",\" : mitem.id + \",\";\r\n mItems.push({\r\n id: mitem.id !== undefined ? mitem.id : mitem.id,\r\n rank: count + 1,\r\n title:\r\n mitem.title !== undefined ? mitem.title : mitem.title,\r\n album:\r\n objAlbum.name !== undefined\r\n ? objAlbum.name\r\n : mitem.album.name,\r\n albumId:\r\n objAlbum.id !== undefined\r\n ? objAlbum.id\r\n : mitem.album.id,\r\n time: mitem.duration,\r\n size:\r\n mitem.size !== undefined && mitem.size !== null\r\n ? mitem.size\r\n : 0,\r\n like: false,\r\n musicType: mitem.musicType,\r\n urlImage:\r\n mitem.urlImage !== undefined\r\n ? mitem.urlImage\r\n : mitem.urlImage,\r\n musicSrc:\r\n mitem.urlImage !== undefined\r\n ? constant.musicFileURL + mitem.urlImage\r\n : \"\",\r\n likes: mitem.likes,\r\n comments: mitem.comments,\r\n user: mitem?.user,\r\n userlike: mitem.userlike\r\n });\r\n count++;\r\n });\r\n //console.log(\"Musiclist: \", mItems);\r\n setalbumActiveId(0);\r\n setalbumActive(true);\r\n\r\n setMusicList([...mItems]);\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n };\r\n const loadSelectedArtist = (index) => {\r\n let itm = artistList[index];\r\n if (itm !== undefined) {\r\n\r\n getArtistDetails(itm.id);\r\n getAlbumsByArtist(itm.id);\r\n getCommentsByArtist(itm.id, commentsPage);\r\n getLikesByArtist(itm.id);\r\n getFollowByArtist(itm.id);\r\n setidd(itm.id)\r\n history.push({\r\n pathname: `/FeaturedArtistDetails/${hashCodeUrl(itm.id)}`,\r\n // pathname: `/FeaturedArtistDetails/${hashCodeUrl(itm.id)}/${hashCodeUrl(\r\n // itm.biography\r\n // )}`,\r\n });\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n const onClickAlbum = (index) => {\r\n //console.log(\"ccc\")\r\n setalbumActiveId(index);\r\n setalbumActive(true);\r\n //setShowAudioPlayer(false);\r\n //setshowLoader(true);\r\n setTimeout(() => {\r\n let itm = albumList[index];\r\n //console.log(\"New songs\", itm);\r\n setSelectedAlbum(itm);\r\n let musicIds = \"\";\r\n if (itm !== undefined) {\r\n let musicsData = [];\r\n itm.musics.map((item) => {\r\n musicIds +=\r\n item.id !== undefined ? item.id + \",\" : item.id + \",\";\r\n musicsData.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n singer: itm.user.firstName + \" \" + itm.user.lastName,\r\n cover: constant.musicURL,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n albumname: itm.name,\r\n albumId: itm.id,\r\n urlImage:\r\n item.urlImage !== undefined ? item.urlImage : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n user: itm?.user,\r\n userlike: item.userlike\r\n\r\n });\r\n });\r\n setcountData(countData + 1);\r\n setSelectedAlbumMusics([...musicsData]);\r\n // setCurrentPlayMusic(true);\r\n // setShowAudioPlayer(false);\r\n setcurrentALbumDetails(true);\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n //console.log(\"item\", itm);\r\n history.push(`${hashCodeUrl(itm.id)}`);\r\n }\r\n setShowMusics(true);\r\n }, 300);\r\n };\r\n const funsetcurrentPlaymusic = () => {\r\n setCurrentPlayMusic(false)\r\n }\r\n const updateDurationInMusics = async (musicItems) => {\r\n let promises_array = [];\r\n musicItems.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n return loadFileDuration(item.musicSrc)\r\n .then((resp) => {\r\n item[\"time\"] = resp;\r\n resolve(item);\r\n })\r\n .catch((error) => {\r\n reject(undefined);\r\n });\r\n })\r\n );\r\n });\r\n return Promise.all(promises_array);\r\n //console.log(\"updateDurationInMusics: \", selectedAlbumMusics)\r\n // return musicItems;\r\n };\r\n const loadFileDuration = async (url) => {\r\n let audioCtx = new (window.AudioContext || window.webkitAudioContext)();\r\n const response = await fetch(url);\r\n //console.log(response);\r\n const arrayBuffer = await response.arrayBuffer();\r\n if (arrayBuffer) {\r\n let audioBuffer = await audioCtx.decodeAudioData(arrayBuffer);\r\n return audioBuffer.duration;\r\n } else {\r\n return \"0:00\";\r\n }\r\n };\r\n\r\n const playAlbum = () => {\r\n // setShowMusics(false)\r\n // setCurrentPlayMusic(false);\r\n //console.log(\"dffffsdfdfsdf\", selectedAlbumMusics)\r\n\r\n if (selectedAlbumMusics.length > 0) {\r\n //console.log(\"Play1\")\r\n //setIsPlayMusic(false);\r\n //console.log(showLoader, showMusics, \"uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\")\r\n // satyam Changed\r\n // setShowAudioPlayer(true);\r\n setShowMusics(true);\r\n setcurrentALbumDetails(true)\r\n // setShowAudioPlayer(true);\r\n // setCurrentPlayMusic(true);\r\n\r\n }\r\n setAlbumResetCount1(albumResetCount1 + 1)\r\n // else{\r\n // setIsPlayMusic(true);\r\n // }\r\n };\r\n\r\n //console.log(showLoader, showMusics, \"uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\")\r\n // const pauseAlbum = () => {\r\n // setIsPlayMusic(true);\r\n // }\r\n const resetShowAudioPlayer = () => {\r\n setShowAudioPlayer(false);\r\n //setIsPlayMusic(true);\r\n };\r\n // const resetIsPlayMusic = (flag) => {\r\n // setIsPlayMusic(flag);\r\n // }\r\n\r\n //Likes - START\r\n const getLikesByArtist = async (id) => {\r\n //console.log(\"getLikesByArtist - currentUserInfo: \", currentUserInfo);\r\n if (currentUserInfo !== undefined) {\r\n let resArtistLikes = await getDataApi(\r\n constant.baseURL +\r\n \"likes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=artist.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"getLikesByArtist - resArtistLikes: \", resArtistLikes);\r\n if (resArtistLikes !== undefined && resArtistLikes.length > 0) {\r\n setArtistLikes(resArtistLikes[0]);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n artistLiked: true,\r\n };\r\n });\r\n } else {\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n artistLiked: false,\r\n };\r\n });\r\n }\r\n }\r\n };\r\n const createArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentUserInfo !== undefined) {\r\n setbuttonDisable(true);\r\n let jsonData = { user: currentUserInfo.id, artist: artistData.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respArtistLike !== undefined &&\r\n respArtistLike.status !== undefined &&\r\n respArtistLike.status === 201\r\n ) {\r\n setbuttonDisable(false);\r\n setArtistLikes(respArtistLike.data);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n artistLiked: true,\r\n };\r\n });\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: artistData.id,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const resetArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (artistLikes !== undefined) {\r\n setbuttonDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + artistLikes.id,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setbuttonDisable(false);\r\n setArtistLikes(undefined);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n artistLiked: false,\r\n };\r\n });\r\n }\r\n }\r\n } else {\r\n }\r\n };\r\n const getMusicLikesByUser = async (str) => {\r\n if (currentUserInfo !== undefined && str !== \"\") {\r\n let resMusicsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"musiclikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=music.id||$in||\" +\r\n str\r\n );\r\n if (resMusicsLikes !== undefined && resMusicsLikes.length > 0) {\r\n let mlikeIds = [];\r\n resMusicsLikes.map((m) => {\r\n mlikeIds.push(m.music.id);\r\n });\r\n setLikesList(resMusicsLikes);\r\n }\r\n }\r\n };\r\n const setLikes = (id, data, likeId) => {\r\n // if (musicLikesList.length !== 0) {\r\n // let fltLikes = musicLikesList.filter(\r\n // (f) => f.music !== undefined && f.music.id === id\r\n // );\r\n // if (fltLikes.length == 0) {\r\n // setLikesList([...musicLikesList, data]);\r\n // } else {\r\n // let newArr = musicLikesList.filter(\r\n // (i) => i.music !== undefined && i.music.id !== id\r\n // );\r\n // setLikesList(newArr);\r\n // }\r\n // } else {\r\n // let arr = [];\r\n // arr.push(data);\r\n // setLikesList(arr);\r\n // }\r\n let bgItems = [...selectedAlbumMusics]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setSelectedAlbumMusics(bgItems)\r\n };\r\n //Likes - END\r\n //Follow - START\r\n const getFollowByArtist = async (id) => {\r\n if (currentUserInfo !== undefined) {\r\n let resArtistFollow = await getDataApi(\r\n constant.baseURL +\r\n \"follows?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=follower.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"resArtistFollow: \", resArtistFollow);\r\n if (resArtistFollow !== undefined && resArtistFollow.length > 0) {\r\n setArtistFollow(resArtistFollow[0]);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n followed: true,\r\n };\r\n });\r\n }\r\n }\r\n };\r\n // satyam Add Condition\r\n const createFollow = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentUserInfo !== undefined) {\r\n setbuttonfollowDisable(true);\r\n let jsonData = { user: currentUserInfo.id, follower: artistData.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n //console.log(jsonData);\r\n let respFollow = await postDataApi(\r\n constant.baseURL + \"follows\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respFollow: \", respFollow);\r\n if (\r\n respFollow !== undefined &&\r\n respFollow.status !== undefined &&\r\n respFollow.status == 201\r\n ) {\r\n setbuttonfollowDisable(false);\r\n setArtistFollow(respFollow.data);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n followed: true,\r\n };\r\n });\r\n } else {\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n followed: false,\r\n };\r\n });\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: artistData.id,\r\n },\r\n });\r\n }\r\n };\r\n // satyam End\r\n const resetFollow = async () => {\r\n if (artistFollow !== undefined) {\r\n setbuttonfollowDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"follows/\" + artistFollow.id,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setbuttonfollowDisable(false);\r\n setArtistFollow(undefined);\r\n setArtistData((prevState) => {\r\n return {\r\n ...prevState,\r\n followed: false,\r\n };\r\n });\r\n }\r\n }\r\n };\r\n //Follow - END\r\n //Report Artist - START\r\n const displayReportArtistModal = () => {\r\n if (VerifyLoginExistOrNot()) setShowReportArtistModal(true);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: artistData.id,\r\n },\r\n });\r\n }\r\n };\r\n const hideReportArtistModal = () => {\r\n setShowReportArtistModal(false);\r\n };\r\n //Report Artist - END\r\n\r\n const getCommentsByArtist = async (id, pageNumber) => {\r\n let resArtistComments = await getDataApi(\r\n constant.baseURL +\r\n \"artistcomments?filter=artist.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\"\r\n );\r\n //console.log(\"resArtistComments: \", resArtistComments);\r\n if (\r\n resArtistComments !== undefined &&\r\n resArtistComments.data !== undefined &&\r\n resArtistComments.data.length > 0\r\n ) {\r\n let itms = [];\r\n resArtistComments.data.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img:\r\n c.user.urlImage !== undefined &&\r\n c.user.urlImage !== null &&\r\n c.user.urlImage !== \"\" &&\r\n c.user.urlImage !== \"user.png\"\r\n ? constant.profileURL + c.user.urlImage\r\n : c.user.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: c.user.firstName + \" \" + c.user.lastName,\r\n location: c.user.address,\r\n comment: c.comments,\r\n date: moment(c.created).format(\"DD MMM yyyy\"),\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setCommentsList(itms);\r\n } else {\r\n setCommentsList([...commentsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resArtistComments.page < resArtistComments.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n } else {\r\n setCommentsList([]);\r\n }\r\n //}\r\n };\r\n const setComments = (data) => {\r\n setCommentsList([\r\n {\r\n id: data.id,\r\n img:\r\n data.user.urlImage !== undefined &&\r\n data.user.urlImage !== null &&\r\n data.user.urlImage !== \"\" &&\r\n data.user.urlImage !== \"user.png\"\r\n ? constant.profileURL + data.user.urlImage\r\n : data.user.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: data.user.firstName + \" \" + data.user.lastName,\r\n location: data.user.address,\r\n comment: data.comments,\r\n date: moment(data.created).format(\"DD MMM yyyy\"),\r\n },\r\n ...commentsList,\r\n ]);\r\n setCommentInputVal(\"\");\r\n };\r\n const viewMoreComments = () => {\r\n setCommentsPage(commentsPage + 1);\r\n getCommentsByArtist(artistData.id, commentsPage + 1);\r\n };\r\n\r\n const getAlbumLikesByUser = async (str) => {\r\n if (currentUserInfo !== undefined && str !== undefined && str !== \"\") {\r\n let resAlbumLikes = await getDataApi(\r\n constant.baseURL +\r\n \"albumlikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=album.id||$in||\" +\r\n str\r\n );\r\n //console.log(\"resAlbumLikes: \", resAlbumLikes);\r\n let albumLikeItems = [];\r\n if (resAlbumLikes !== undefined) {\r\n resAlbumLikes.map((m) => {\r\n albumLikeItems.push(m.album.id);\r\n });\r\n //console.log(\"likeItems: \", albumLikeItems);\r\n //setTimeout(() => {\r\n setAlbumLikesList(resAlbumLikes);\r\n setAlbumLikesData(resAlbumLikes);\r\n setbuttonDisable(false);\r\n //}, 100);\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n };\r\n const createAlbumLike = async (albumId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setbuttonDisable(true);\r\n setAlbmId(albumId);\r\n if (currentUserInfo !== undefined) {\r\n let jsonData = { user: currentUserInfo.id, album: albumId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respAlbumLike = await postDataApi(\r\n constant.baseURL + \"albumlikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respAlbumLike !== undefined &&\r\n respAlbumLike.status !== undefined &&\r\n respAlbumLike.status === 201\r\n ) {\r\n setLikes1(albumId, respAlbumLike.data, undefined);//setLikes(artistId, respArtistLike.data);\r\n setbuttonDisable(false);\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n };\r\n const resetAlbumLike = async (albumId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setbuttonDisable(true);\r\n setAlbmId(albumId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"albumlikes/\" + likeId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setLikes1(albumId, undefined, likeId);//setLikes(artistId);\r\n setbuttonDisable(false);\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n } else {\r\n setbuttonDisable(false);\r\n }\r\n };\r\n const setLikes1 = (id, data, likeId) => {\r\n let bgItems = [...albumList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setAlbumList(bgItems)\r\n\r\n };\r\n const onSetAlbumLikes = (id, data) => {\r\n //setAlbmId(id);\r\n setAlbumResetCount(albumResetCount + 1);\r\n };\r\n const renderAlbumLikes = (likeData) => {\r\n //console.log(likeData)\r\n // if (albumLikesList.length !== 0) {\r\n // let flt = albumLikesData.filter(\r\n // (f) => f.album !== undefined && f.album.id === id\r\n // );\r\n // if (flt.length > 0) {\r\n // return (\r\n // <>\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetAlbumLike(id, flt[0].id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 20 }}\r\n // />\r\n // {/*  {flt.length} */}\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // <>\r\n // {\r\n // if (VerifyLoginExistOrNot()) createAlbumLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 20 }}\r\n // />\r\n // {/*  0 */}\r\n // \r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // <>\r\n // {\r\n // if (VerifyLoginExistOrNot()) createAlbumLike(id);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId:\r\n // currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 20 }}\r\n // />\r\n // {/*  0 */}\r\n // \r\n // );\r\n // }\r\n if (likeData?.userlike?.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetAlbumLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createAlbumLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n };\r\n const renderArtistList = () => {\r\n if (artistList.length > 0) {\r\n return (\r\n \r\n {artistList.map((item, index) => {\r\n return (\r\n item?.id != idd ? loadSelectedArtist(index)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n : <>\r\n );\r\n })}\r\n \r\n );\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n const renderAlbums = () => {\r\n return (\r\n \r\n {albumList.map((item, index) => {\r\n return (\r\n \r\n
\r\n {item.albumType === \"music\" && (\r\n onClickAlbum(index)}\r\n className={\r\n AlbumClass + (albumActiveId === index && \" albumActive\")\r\n }\r\n style={{\r\n height: 193,\r\n cursor: \"pointer\",\r\n width: \"-webkit-fill-available\",\r\n }}\r\n src={\r\n item.urlImage !== undefined &&\r\n item.urlImage !== \"\"\r\n ? constant.albumFileURL + item.urlImage\r\n : constant.musicURL\r\n }\r\n alt={item.name}\r\n />\r\n )}\r\n {item.albumType === \"video\" && (\r\n onClickAlbum(index)}\r\n style={{\r\n height: 193,\r\n cursor: \"pointer\",\r\n width: \"-webkit-fill-available\",\r\n }}\r\n className={\r\n AlbumClass + (albumActiveId === index && \" albumActive\")\r\n }\r\n src={\r\n item.urlImage !== undefined &&\r\n item.urlImage !== \"\"\r\n ? constant.albumFileURL + item.urlImage\r\n : constant.videoURL\r\n }\r\n alt={item.name}\r\n />\r\n )}\r\n
\r\n {/* \r\n {String(item.name)}\r\n */}\r\n\r\n
\r\n
\r\n \r\n {String(item.name)}\r\n \r\n
\r\n
\r\n {buttonDisable && albmId === item.id ? DisableButtonLoader() :\r\n <>\r\n {renderAlbumLikes(item)}\r\n \r\n {item.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n

\r\n {item.musics !== undefined ? item.musics.length : 0} Tracks\r\n

\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n };\r\n const navigateToExternalLink = (url) => {\r\n //console.log(\"url: \", url);\r\n if (url.indexOf(\"http://\") !== -1 || url.indexOf(\"https://\") !== -1) {\r\n window.open(url, \"_blank\");\r\n return null;\r\n } else {\r\n addErrorMesage(\"URL should start with http or https\");\r\n return;\r\n }\r\n };\r\n\r\n //console.log(currentPlayMusic,showMusics)\r\n\r\n\r\n useEffect(() => {\r\n getArtistDetails(hashCodeUrlDecode(searchData.itemId));\r\n getArtists();\r\n getLikesByArtist(hashCodeUrlDecode(searchData.itemId));\r\n getAlbumsByArtist(hashCodeUrlDecode(searchData.itemId));\r\n getFollowByArtist(hashCodeUrlDecode(searchData.itemId));\r\n getCommentsByArtist(hashCodeUrlDecode(searchData.itemId), commentsPage);\r\n setidd(hashCodeUrlDecode(searchData.itemId))\r\n }, []);\r\n useEffect(() => {\r\n // let albumIds = \"\";\r\n // albumList.map((item) => {\r\n // albumIds += item.id + \",\";\r\n // });\r\n // getAlbumLikesByUser(albumIds.substr(0, albumIds.lastIndexOf(\",\")));\r\n getAlbumsByArtist(hashCodeUrlDecode(searchData.itemId));\r\n }, [albumResetCount]);\r\n\r\n // useEffect(() => {\r\n // getAlbumsByArtist(hashCodeUrlDecode(searchData.itemId));\r\n // }, [albumList]);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {artistData !== undefined\r\n ? String(artistData.firstName + \" \" + artistData.lastName)\r\n : \"\"}\r\n
\r\n
\r\n
\r\n \r\n {artistData !== undefined ? String(artistData.biography) : \"\"}\r\n

\r\n
\r\n
\r\n\r\n
\r\n {selectedAlbumMusics.length > 0 && (\r\n
\r\n playAlbum()}\r\n >\r\n <>\r\n \r\n Play\r\n \r\n \r\n
\r\n )}\r\n {/* satyam Start */}\r\n \r\n {artistData.artistLiked === true ? (\r\n {\r\n resetArtistLike();\r\n }}\r\n >\r\n\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n createArtistLike()}\r\n >\r\n {/* */}\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n \r\n \r\n artistData.followed === true ? resetFollow() : createFollow()\r\n }\r\n >\r\n {artistData.followed === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {artistData.followed === true ? \"UnFollow\" : \"Follow\"}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n >\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n Share\r\n \r\n \r\n Report Artist\r\n \r\n {/* {artistData.appleMusicURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.appleMusicURL);\r\n }}\r\n >\r\n Apple Music\r\n \r\n )}\r\n {artistData.applePodcastURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.applePodcastURL);\r\n }}\r\n >\r\n Apple Podcast\r\n \r\n )}\r\n {artistData.faceookURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.faceookURL);\r\n }}\r\n >\r\n Facebook\r\n \r\n )}\r\n {artistData.instagramURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.instagramURL);\r\n }}\r\n >\r\n Instagram\r\n \r\n )}\r\n {artistData.iTunesURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.iTunesURL);\r\n }}\r\n >\r\n ITunes\r\n \r\n )}\r\n\r\n {artistData.spotifyURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.spotifyURL);\r\n }}\r\n >\r\n Spotify\r\n \r\n )}\r\n {artistData.tikTokURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.tikTokURL);\r\n }}\r\n >\r\n TikTok\r\n \r\n )}\r\n\r\n {artistData.youtubeURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.youtubeURL);\r\n }}\r\n >\r\n Youtube\r\n \r\n )} */}\r\n \r\n
\r\n {\r\n setReportArtistInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { \r\n //console.log(\"DONE\"); \r\n }}\r\n />\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"FeatureArtistDetails\"\r\n />\r\n \r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n \r\n Share\r\n \r\n
\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n Report Artist\r\n \r\n {/* {artistData.appleMusicURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.appleMusicURL);\r\n }}\r\n >\r\n Apple Music\r\n \r\n )}\r\n {artistData.applePodcastURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.applePodcastURL);\r\n }}\r\n >\r\n Apple Podcast\r\n \r\n )}\r\n {artistData.faceookURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.faceookURL);\r\n }}\r\n >\r\n Facebook\r\n \r\n )}\r\n {artistData.instagramURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.instagramURL);\r\n }}\r\n >\r\n Instagram\r\n \r\n )}\r\n {artistData.iTunesURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.iTunesURL);\r\n }}\r\n >\r\n ITunes\r\n \r\n )}\r\n\r\n {artistData.spotifyURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.spotifyURL);\r\n }}\r\n >\r\n Spotify\r\n \r\n )}\r\n {artistData.tikTokURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.tikTokURL);\r\n }}\r\n >\r\n TikTok\r\n \r\n )}\r\n\r\n {artistData.youtubeURL !== \"\" && (\r\n {\r\n navigateToExternalLink(artistData.youtubeURL);\r\n }}\r\n >\r\n Youtube\r\n \r\n )} */}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n {/*
\r\n BIOGRAPHY\r\n
*/}\r\n {/*
\r\n {artistData !== undefined ? artistData.biography : \"\"}\r\n
*/}\r\n
\r\n
\r\n
Connect with Artist
\r\n
\r\n
\r\n
\r\n {artistData.appleMusicURL && (
\r\n {\r\n navigateToExternalLink(artistData.appleMusicURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {artistData.applePodcastURL && (
\r\n {\r\n navigateToExternalLink(artistData.applePodcastURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {artistData.faceookURL && (
\r\n {\r\n navigateToExternalLink(artistData.faceookURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {artistData.instagramURL && (
\r\n {\r\n navigateToExternalLink(artistData.instagramURL);\r\n }}\r\n >\r\n \r\n
\r\n
)}\r\n {artistData.iTunesURL && (
\r\n {\r\n navigateToExternalLink(artistData.iTunesURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n\r\n {artistData.spotifyURL && (
\r\n {\r\n navigateToExternalLink(artistData.spotifyURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {artistData.tikTokURL && (
\r\n {\r\n navigateToExternalLink(artistData.tikTokURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {artistData.youtubeURL && (
\r\n {\r\n navigateToExternalLink(artistData.youtubeURL);\r\n }}\r\n >\r\n \r\n\r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n
Similar Artist
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {renderArtistList()}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Albums
\r\n
\r\n
\r\n
\r\n
\r\n {albumList.length > 0 && (\r\n
{renderAlbums()}
\r\n )}\r\n {albumList.length === 0 && (\r\n
{constant.noDataFoundLabel}
\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {showLoader === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {showMusics == true && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n setCommentError(true)}\r\n setCommentInputVal={(val) => {\r\n setCommentInputVal(val);\r\n errorCommentMessage && setCommentError(false);\r\n }}\r\n />\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\nexport default FeaturedArtistDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport moment from \"moment\";\r\nimport { BsFillEyeFill, BsFillChatDotsFill } from \"react-icons/bs\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport Comments from \"../../components/Comments/Comments\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useLocation, useHistory, useParams } from \"react-router-dom\";\r\nimport { hashCodeUrlDecode } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\n\r\n\r\nfunction NewsDetails(props) {\r\n //console.log(props);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n let searchData = useParams();\r\n //console.log(searchData, \"Search Data\");\r\n const { id } = hashCodeUrlDecode(searchData.itemId);\r\n\r\n // const { id } = props.location.state.id;\r\n const [disable,setdisable] = useState(false)\r\n const [newsData, setNewsData] = useState(undefined);\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [commentInputVal, setCommentInputVal] = useState(\"\");\r\n const [errorCommentMessage, setCommentError] = useState(false);\r\n const [likesList, setLikesList] = useState([]);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [commentsPage, setCommentsPage] = useState(1);\r\n const [limit, setLimit] = useState(5);\r\n const [newsComments, setNewsComments] = useState(undefined);\r\n var history = useHistory();\r\n var path = useLocation();\r\n const getNewsDetails = async () => {\r\n //console.log(\"---hashCodeUrlDecode(searchData.itemId)---\",hashCodeUrlDecode(searchData.itemId));\r\n let resNews = await getDataApi(\r\n constant.baseURL + \"news/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n //console.log(\"resNews: \", resNews);\r\n if (resNews != undefined) {\r\n setNewsData(resNews);\r\n }\r\n };\r\n const getNewsComments = async (pageNumber) => {\r\n let resNewsComments = await getDataApi(\r\n constant.baseURL +\r\n \"newscomments?filter=news.id||$eq||\" +\r\n // props.location.state.id +\r\n hashCodeUrlDecode(searchData.itemId) +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\"\r\n );\r\n //console.log(\"resNewsComments: \", resNewsComments);\r\n if (\r\n resNewsComments !== undefined &&\r\n resNewsComments.data !== undefined &&\r\n resNewsComments.data.length > 0\r\n ) {\r\n setNewsComments(resNewsComments);\r\n let itms = [];\r\n resNewsComments.data.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img:\r\n c.user.urlImage != undefined &&\r\n c.user.urlImage != null &&\r\n c.user.urlImage != \"\"&&\r\n c.user.urlImage != \"user.png\"\r\n ? constant.profileURL + c.user.urlImage\r\n : c.user.usertype==\"Artist\"?constant.artistImageURL : constant.userImageURL,\r\n name: c.user.firstName + \" \" + c.user.lastName,\r\n location: c.user.address,\r\n comment: c.comment,\r\n date: moment(c.created).format(\"DD MMM yyyy\"),\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setCommentsList(itms);\r\n } else {\r\n setCommentsList([...commentsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resNewsComments.page < resNewsComments.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n }\r\n };\r\n const setComments = (data) => {\r\n setCommentsList([\r\n {\r\n id: data.id,\r\n img:\r\n data.user.urlImage != undefined &&\r\n data.user.urlImage != null &&\r\n data.user.urlImage != \"\"&&\r\n data.user.urlImage != \"user.png\"\r\n ? constant.profileURL + data.user.urlImage\r\n :data.user.usertype==\"Artist\"?constant.artistImageURL : constant.userImageURL,\r\n name: data.user.firstName + \" \" + data.user.lastName,\r\n location: data.user.address,\r\n comment: data.comment,\r\n date: moment(data.created).format(\"DD MMM yyyy\"),\r\n },\r\n ...commentsList,\r\n ]);\r\n setCommentInputVal(\"\");\r\n };\r\n const viewMoreComments = () => {\r\n setCommentsPage(commentsPage + 1);\r\n getNewsComments(commentsPage + 1);\r\n };\r\n const getNewsLikes = async () => {\r\n let resNewsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"newslikes?filter=news.id||$eq||\" +\r\n // props.location.state.id\r\n hashCodeUrlDecode(searchData.itemId)\r\n );\r\n if (resNewsLikes != undefined && resNewsLikes.length > 0) {\r\n setLikesList(resNewsLikes);\r\n setdisable(false)\r\n }\r\n };\r\n const resetNewsLike = async (newsId, likeId) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setdisable(true)\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"newslikes/\" + likeId,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n getNewsLikes();\r\n // setLikes(newsId, undefined, likeId);//setLikes(newsId);\r\n }\r\n }\r\n };\r\n const createNewsLikes = async (id) => {\r\n if (VerifyLoginExistOrNot()) {\r\n setdisable(true)\r\n let jsonData = {\r\n user: currentUserInfo.id,\r\n // news: props.location.state.id,\r\n news: hashCodeUrlDecode(searchData.itemId),\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respNewsLike = await postDataApi(\r\n constant.baseURL + \"newslikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respNewsLike != undefined &&\r\n respNewsLike.status != undefined &&\r\n respNewsLike.status == 201\r\n ) {\r\n getNewsLikes();\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n // userId: props.location.state.id,\r\n userId: hashCodeUrlDecode(searchData.itemId),\r\n },\r\n });\r\n }\r\n };\r\n const renderLikes = (id) => {\r\n if (likesList.length !== 0) {\r\n let flt = likesList.filter(\r\n (f) => f.user.id !== undefined && f.user.id === currentUserInfo?.id\r\n );\r\n //console.log(flt)\r\n if (flt.length > 0) {\r\n return (\r\n {\r\n if (VerifyLoginExistOrNot()) resetNewsLike(id, flt[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n style={{ cursor: \"pointer\", width: 25 }}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n if (VerifyLoginExistOrNot()) createNewsLikes(id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n style={{ cursor: \"pointer\", width: 25 }}\r\n />\r\n );\r\n }\r\n } else {\r\n return (\r\n {\r\n if (VerifyLoginExistOrNot()) createNewsLikes(id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n style={{ cursor: \"pointer\", width: 25 }}\r\n />\r\n );\r\n }\r\n \r\n };\r\n useEffect(() => {\r\n getNewsDetails();\r\n getNewsLikes();\r\n getNewsComments(commentsPage);\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 {newsData !== undefined\r\n ? moment(newsData.created).format(\"DD-MMM-yyyy\")\r\n : \"\"}\r\n
\r\n \r\n {newsData !== undefined && newsData.title !== undefined ? String(newsData.title) : \"\"}\r\n
\r\n \r\n {newsData !== undefined ? String(newsData.subtitle) : \"\"}\r\n
\r\n
\r\n WORDS BY :-{\" \"}\r\n {newsData !== undefined && newsData.artist !== undefined\r\n ? newsData.artist.firstName + \" \" + newsData.artist.lastName\r\n : \"\"}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {newsData !== undefined ? newsData.description : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {newsData !== undefined && newsData.artist !== undefined\r\n ? newsData.artist.firstName +\r\n \" \" +\r\n newsData.artist.lastName\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n 12345\r\n
*/}\r\n {/*
\r\n \r\n \r\n {newsComments !== undefined\r\n ? newsComments.total\r\n : commentsList.length}\r\n \r\n
*/}\r\n
\r\n {disable ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(newsData?.id)}{\" \"}\r\n \r\n {likesList.length}\r\n \r\n }\r\n {/* // <>{renderLikes(newsData?.id)}{\" \"}}\r\n // \r\n // {likesList.length}\r\n // */}\r\n
\r\n
\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n size=\"17px\"\r\n color={colors.color6}\r\n />\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"News\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setCommentError(true)}\r\n setCommentInputVal={(val) => {\r\n setCommentInputVal(val);\r\n errorCommentMessage && setCommentError(false);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n );\r\n}\r\nexport default NewsDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {BsPlayFill} from 'react-icons/bs';\r\nimport {FiMoreVertical} from 'react-icons/fi';\r\nimport { constant } from '../../utility/constant';\r\nimport { getDataApi, postDataApi, deleteDataApi} from '../../utility/apiCall';\r\nimport { AiOutlineHeart, AiFillHeart, AiOutlineMore } from \"react-icons/ai\";\r\nimport { FaShareAlt } from 'react-icons/fa';\r\nimport {colors} from '../../utility/colors';\r\nimport user from '../../assets/Images/user.png';\r\nimport AudioPlayer from '../../components/AudioPlayer/AudioPlayer';\r\nimport moment from 'moment';\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport twitter from '../../assets/Images/twitter.png'\r\nimport social from '../../assets/Images/social.png'\r\nimport facebook from '../../assets/Images/facebook.png'\r\nimport location from '../../assets/Images/location.png';\r\nimport phone from '../../assets/Images/phone.png';\r\nimport mail from '../../assets/Images/mail.png';\r\n\r\n\r\nfunction MoreInfo(props) {\r\n let loginUserId = 0;\r\n const[currentUserInfo, setCurrentUserInfo] = useState(undefined);\r\n const { id } = props.location.state;\r\n const [albumList, setAlbumList] = useState([]);\r\n const [artistFollow, setArtistFollow] = useState(undefined);\r\n const [musicType, setMusicType] = useState([]);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [artistData, setArtistData] = useState(\r\n {\r\n id: id !== undefined ? id : 0,\r\n firstName: \"\",\r\n lastName: \"\",\r\n artistLiked: false,\r\n biography: \"\",\r\n location: \"\",\r\n email: \"\",\r\n phoneNo: \"\",\r\n title:\"\",\r\n country:\"\",\r\n callingCodes:\"\",\r\n followed: false,\r\n image: \"\",\r\n like: false,\r\n }\r\n );\r\n const getArtistDetails = async (id) => {\r\n let resArtist = await getDataApi(constant.baseURL + 'user/'+ id);\r\n if (resArtist !== undefined) {\r\n setArtistData(prevState => {\r\n return {\r\n ...prevState,\r\n id: resArtist.id,\r\n firstName: (resArtist.firstName !== undefined) ? resArtist.firstName : '',\r\n lastName: (resArtist.lastName !== undefined) ? resArtist.lastName : '',\r\n email: (resArtist.email !== undefined) ? resArtist.email : '',\r\n phoneNo: (resArtist.phone !== undefined) ? resArtist.phone : '',\r\n title: (resArtist.title !== undefined) ? resArtist.title : '',\r\n biography: (resArtist.biography !== undefined) ? resArtist.biography : '',\r\n location: (resArtist.fullAddress !== undefined) ? resArtist.fullAddress : '',\r\n country:(resArtist.country !== undefined) ? resArtist.country.name : '',\r\n callingCodes:(resArtist.country !== undefined) ? '+' +resArtist.country.callingCodes : '',\r\n image: (resArtist.urlImage !== undefined && resArtist.urlImage !== '' && resArtist.urlImage !== 'user.png') ? constant.profileURL + resArtist.urlImage : resArtist.usertype==\"Artist\"?constant.artistImageURL : constant.userImageURL,\r\n }\r\n });\r\n }\r\n }\r\n const getCategoriesByArtist = async (id) => {\r\n let resUserTypes = await getDataApi(constant.baseURL + 'selectedcategories?filter=user.id||$eq||' + id);\r\n //console.log(resUserTypes);\r\n if (resUserTypes !== undefined && resUserTypes.length > 0) {\r\n let typeItems = [];\r\n resUserTypes.map((t) => {\r\n let fltType = typeItems.filter(f => f.id == t.category.id);\r\n if (fltType.length == 0) {\r\n typeItems.push(t.category);\r\n }\r\n });\r\n setMusicType(typeItems);\r\n }\r\n }\r\n const getAlbumsByArtist = async (id) => {\r\n let resAlbums = await getDataApi(constant.baseURL + 'albums/getByArtist/'+id+'?page=1&limit=4');\r\n //console.log(\"resAlbums: \", resAlbums);\r\n if (resAlbums !== undefined && resAlbums.data !== undefined) {\r\n setAlbumList([...resAlbums.data]);\r\n }\r\n }\r\n //Follow - START\r\n const getFollowByArtist = async (id) => {\r\n let resArtistFollow = await getDataApi(constant.baseURL + 'follows?filter=user.id||$eq||' + loginUserId + '&follower.id||$eq||'+id);\r\n //console.log(\"resArtistFollow: \",resArtistFollow);\r\n if (resArtistFollow !== undefined && resArtistFollow.length > 0) {\r\n setArtistFollow(resArtistFollow[0]);\r\n setArtistData(prevState => {\r\n return {\r\n ...prevState,\r\n followed: true\r\n }\r\n });\r\n }\r\n }\r\n const createFollow = async () => {\r\n let jsonData = { user: loginUserId, follower: id }\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n \"Accept\": \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respFollow = await postDataApi(constant.baseURL + 'follows', formBody, authHeader);\r\n //console.log(\"respFollow: \", respFollow);\r\n if (respFollow !== undefined && respFollow.status !== undefined && respFollow.status === 201) {\r\n // enqueueSnackbar('Followed Successfully!', {\r\n // variant: 'success', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n setArtistFollow(respFollow.data);\r\n setArtistData(prevState => {\r\n return {\r\n ...prevState,\r\n followed: true\r\n }\r\n });\r\n }else{\r\n setArtistData(prevState => {\r\n return {\r\n ...prevState,\r\n followed: false\r\n }\r\n });\r\n }\r\n }\r\n const resetFollow = async () => {\r\n if(artistFollow !== undefined){\r\n var authHeader = {\r\n \"Accept\": \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(constant.baseURL + 'follows/'+artistFollow.id, authHeader);\r\n //console.log(\"resp: \", resp);\r\n if (resp !== undefined && resp.status !== undefined && resp.status == 200) {\r\n // enqueueSnackbar('Unfollow Successfully!', {\r\n // variant: 'success', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n setArtistFollow(undefined);\r\n setArtistData(prevState => {\r\n return {\r\n ...prevState,\r\n followed: false\r\n }\r\n });\r\n }\r\n }\r\n }\r\n //Follow - END\r\n const renderMusicType = () => {\r\n if (typeof musicType !== 'undefined' && musicType.length !== 0) {\r\n return musicType.map((item, index) => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n })\r\n }\r\n }\r\n const renderAlbumList = () => {\r\n if (typeof albumList !== 'undefined' && albumList.length !== 0) {\r\n return albumList.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n item.album_albumType === \"music\" &&\r\n {item.album_name}/\r\n }\r\n {\r\n item.album_albumType === \"video\" &&\r\n {item.album_name}/\r\n }\r\n
\r\n
\r\n
{item.album_name.length <= 10 ? item.album_name : item.album_name.substring(0,10)}
\r\n
{item.musics !== undefined ? item.musics.length : 0} Tracks | 2019
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n })\r\n }\r\n }\r\n useEffect(() => {\r\n if(localStorage.getItem(\"UserInfo\") !== undefined && localStorage.getItem(\"UserInfo\") !== null){\r\n setCurrentUserInfo(JSON.parse(localStorage.getItem(\"UserInfo\")));\r\n loginUserId = JSON.parse(localStorage.getItem(\"UserInfo\")).id;\r\n }\r\n getArtistDetails(id);\r\n getCategoriesByArtist(id);\r\n getAlbumsByArtist(id);\r\n getFollowByArtist(id);\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
{artistData !== undefined ? artistData.firstName + \" \" + artistData.lastName : \"\"}
\r\n

{artistData !== undefined ? artistData.title : \"\"}

\r\n
\r\n {renderMusicType()}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {setShowShareToModal(false)}}/>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
BIOGRAPHY
\r\n
{artistData !== undefined ? artistData.biography : \"\"}
\r\n
\r\n
\r\n
Contact
\r\n
\r\n
\r\n
\r\n
\r\n
\"Location\"
\r\n
\r\n
\r\n
{artistData !== undefined ? artistData.location : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n
\"Location\"
\r\n
\r\n
\r\n
{artistData !== undefined ? artistData.email : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n
\"Location\"
\r\n
\r\n
\r\n
{artistData !== undefined ? artistData.callingCodes : \"\"} {artistData !== undefined ? artistData.phoneNo : \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n
Social Media
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"/\r\n \"\"/\r\n \"\"/\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Latest Album
\r\n {renderAlbumList()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default MoreInfo;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAABR1JREFUaEPtmO1PW2UUwM9ze1uNHdqGjTm26CWbS3EfbJeYDN926zAbmRnUdzTGEmNioh/wL1j7F8g+6BeziDELC9EBxozpNlucy0hMpGoihGiousAcIy0BlLX0Hs9TaQQGvee+8GHJni99O88553fOec49TwXc5kvc5v7DHYCVGcTRTg2EaDVQhAWgBgiB8u8C8ggiqwjMAOKAaOzKupV5VzJAjuulEhwXAnSOY4iQ9nggSSBpjnw1GUcAMuKl0tLHFGKW47c6gmmPX42Jhq68XRDbAMWf39XBwD4qj//KxO5CyKsqRsW+DzN2VNgCKPz0dpzqmyLv0kLMg9eI+vZ9ZBnCMkBh5K0wAqaobJxF/hZ2zAsQUV/EGoQlAByJBxZRGSHnNZdiv0oNAmTu2X8yYkW3JYCF7+MJ6jTHrRiwKksdKul/tDvB3ccGkNFfWDImaIPLpbPaVcpC3q8qDSLSzepMbID54dc6qeO8z42MIzmE97YcONXF0cEGmBt+WdZ+mKOUyuB3BSBB0cxKeTKiGfSZyu9Bzn7qcEM1Tad1jiwLAEfaAnP/+HIchSTzyb2P9cbXyi7rkFF9g6OHdLB8YwnNXXlBNwzZOqsvRPwx8MSZDbMkIWb/VjLULk0zoSgiWtP0WdrMJgsg911bp0Dz+qfS6Qg+1d9dzWju27Y4lZLpQ5Cja7k8zRgBckPHElTI5u3TqzQEm/rLdb/Ryl16VgdUTLNJ5yAZPPhFwsw7VgZmUkdZHUjBhWAwmq7a/nKpI5ohPBNmjtHYnayNnnUHYDp1RKe6NY8aQGxrdLC/mnM3Ui1t9HufGQCNK9Ft0XPunIHp8806KKy0929r/jpWzbnpC8+k6NJj2iJRwUhd9LzpcMcqIenQ9QuHqK0zlsCOukPfrHuQr198mqZYYXqApZW65oss31hCUuFfX+n98rrIQACB2OU14ESwJV0+0LlBXSuo1P9RmNZ0WT9dO7cfTstSM11sgGvnnqSDLKyOEpUDbWl+ovt0bPvhS1XPUoWMDZBLhQOLi36KqLjPNCyOBHB2R8tlNjAbQPo0efYA1bZgjQJ2Gehpntx5dJhXamTEEsDUYJgu8V45CmxKFqh1zvqLRS0Yy7BGaRkkSwByw9Uv93ciKlbPAishAo2OXcd+WLeDbaTAMoBU9MdARPbnR1hesYVw6IHWjM4WXxa0BTDVF9Jugi9DQ5krpUSD2+xdUAjviI1Rk7C2bAFIExN9D4dF+YLvfKEwIg2xX0yfuutZsg1Qhvg8FKdjxHqyboyJHQ3Pj1mq+5W6HAGUIXofiqNQbEFQ10nufnE84SSHjgGk8V97d8eptVqCIOc79rz0m+3IV6BdAShD9GhxGjV4EEjOt2cdOy/tugYglY2f2hkWipqmtxt1p1nq9fE9r/7JmnM4peUqgDQ42nO/Jgy1mxQfXOUAXfgNT6mtsf1aluMYV8Z1gIrh0U/r//8bEvFE6PWpTq5TVuQ2DaCSDfnqdtRdbaNWorUZsq5kAEffqQX0+opLRv2q6AisVVX1ZrFYml/5vVdVJkEUC6LxgxmnULYBclde0YTAvR7waE6cKEEpiyjGg02nbR1uWwBjA4/XBPx3tztxfO3e/MJiT6j18pxVnbYApJGrZ0K1S+DdC8KoF6DUWjUs5RGMGfqXblKF4viu58ZslZNtgLUOj53cWmP4YIv8XpRg1VmoyKIHJuV7pQDzoTdvWI72ekFyDcBOBtzYcwfAjSg60fEvIqmlQCnNVvIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAABG9JREFUaEPtWE+IE2cUf28mk0htMXuRCrbOQqktFsxK/QelnZQivZnciiDNHsSc3NlbWXvIQaPgweQisT2Y4sVDIbGH9lDoZhHa7m5xAwp72MNmsajgYXdBWJPdzOubSOJMMpNMnJlE7eaY+b7vvd97v9977/sQXvMfvub+wzaAYWfw/5UBWlRlCEj7oK5FADHsafSJ1kAUykCwjh9eKTs921EGtu6f+xYAE4igOD3Y5boKEaXEncJtHM2sdTurKwBaTMqbW0IBASMuHXq57QRrAZGieOCabUZsAdQWzkQIcZoj7y1V+oZCa0jCZHAsl7faagmAFhLhDQ2XOfJDdv6Fy6KgjQXH8h2ZsATwdP70NDs/KL47ywlB+S1JiOJY3qSJDgBP505FSKMFZ6cOdhUSjb99/JaJSh0ANv6KyTWSyvxh12Dd620NkaLvHP+5ZFxpSaHVOzEFCItcNl8JEMS9AYDUkc+LHUK2rUKr01/LhIEiT0sHe8fGxxVEK0yd2Ej0V8tS2rUPrE4r4TrtyLB73MgG/yOAmQA+Y+dLts3MUSd+8vuXKveEq4OFQNndX/2h9rJpApBKRMK1UPAGc+6nSz/MFY2bH/32mYKCqP/nty7WCTV1z4k7Jr5/n/xU0Ug8mL4+m7UVsb6IQOTuy5IByKdzs+NmEMdkDcQio/ZHF8z3QABiu0/8aeL71NmjE1xQdCqzJOvRC7l/WpXIlAEjgAYIonKwWoum8uUWB1cLkfCGJGUI0FNdsK2ZnVubsZH4C1sNRuwIXWUnE81A9gWgsYnHXG5s0fSP86ao/PvLIZWz5I0uCLLvnbxr4vt3yWOyQFoB0TxI9g+gCQJpMp2bN/HyQeETpe6iX+j1XUBQ34/f6+A7kVCwunO8HIBm/kjLXLw+P2nUxXLhIxk0YHFjX7rg7K2gsBUbjS/Z8t2qArkD8PzEkvSsGjfqYrkgh+s1KcNCc6QLApoRJd35SktbVnz3C4BeoSp8rYy362LplqzzuKsuWJDZD76pOOK7bwBa4rbQxdLNvUpdgBQ7+oXRAY76Cg9j6v5TD039pVH5bPjuL4AuutA/Ld58lwdCkBEozF28/PHpx63a3dxqrO9Wzg4GgI0uujnklO+DBNBoeqDReLsu2p2YOnM4AgLeaK/vw85Ay74+grDAs+1AGo6LwoSxqzp12rjOizLaj93nvCfy7CFs0AD6Aeto7ZsNQB+gRKBlR6EY0qI64Ojl3N+VpvmOG9n55FH9474h+dfL7MrF3KxsFnXblvPJI3kezBzNNL2sef2dp9cs38hMY0hHBl5lGrXTRw+Q5aWeW7w+WU54HUE351lF3xaA/mEqeaTE76OmgcyNA2726uN3OjenWJ1h+6yizyuboVCec3TSjXHXewluS9Vqwnj/6CridoOciRRPlSrPLn4/p5hM82y1zsHLcORT3YLg6GGrkY1gKMEHKr5nhCPOAStJtWreLup9ZcA1BXw+wFEGfPbB1fHbAFyFz4PN2xnwIIiujvgPJ/ICT2Znh1MAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAABG9JREFUaEPtme9rU1cYx89JmmiyFm9Q3ETQW5lDEe3tmLgNirkbDJzoko2CG4gJ+GJ7ZfwLTP6CpnuzMQaNG2xDZA1sIsOxZL6wGxZ7HWMOHEuEsambJMXapG16nz3HLlJ7b3rOubnJXcH7Mvf7nPN87vPj/Agla/yha9x/8gTA6wgKRQBupKIAvlMYrxghUKaUZOmukVGvnWfzrwoApZRizpIRVCUszgLJ+fdkk15DtARgzjcemAUUaK2cBCCZwN73015C2AIw5xdm5tF52tL5ptMUzHjPvg/yXkHYAsz99N44vsB8F3iAVANBGKS7PywLqF2XWAAWpt6NmhQKcjOBsU77aFDOxh21BaA+dRLTgb4hOzwQyIQGP+56PVgAateSJQRQHQBUw8+PRWTt2tVbAGYnE+B00PALOaF1xen4dnaWCR9cPY7FSLfLToIpNN27/1NF1q5dvQXg/o/v5Cl1UAMAmb4Dn3lfAzMTxxJA6ZjMl8EF7Vbf+ppGB/NVGTs3tJYIwFRMuV9fV5EZHBc8ve+lL4oyNm5pbYtu+spbOayDEyKTYMV/r7x8Piqi7YTGFqAyEVPpog/bKf9h+6HI0Jddz/2mZy3bXuVyLIe7UJEoFCNDeZ2P2hlFa4BCTAGfWUaIDbypKTX1yNDX/58aaDp8r3A4hQAjPACsg+Km6AVPosBdOf/+7lART2AHeRA40OmN+sUsT+f2ey5ApRBVGmYQU4lyUgmqQEHfrF8y3HZytfG4AMz4n29fjQGh4zzHsCMZgZ6GHtGLXVvQhACY43cuvZJG8RkeBAEwAgHoGoQwwEOIb6KirdUIBkhXIKQAWD3MzTWwXdIBbiQIGACN+JZDP5T5WucKKQA2TaWgKbX6U0U05EJgTVT9xEw+/foE99DPxq3XQgP+Hjq9+bUrwo1AGoBB3L2wX2tQP4sEd5FjegDIhcP10xHdsBT3XxdfVE2TnMEtfGJZHPKhUC1pp18ZK0cAbJA/EIIAxUgIQ1Spj2TD8/OjkfgSyJ9fHThlEkij85aDEEKz6MW3HJnED9X6cQywBKFpsOjHhU4M4r9oVFFvYFhUXFtUXvajg+mtRyYzrXRtATQhzIaPrdZC6cRz2O49blVy245eS9q9axvgIcS4pi3ifqiTEDhNblvMsEC4AsAgSuOqQqGXpRO3OzmJwpINZLbHf04vt3cNoAlBQKzFOoOAsvrmL/0dA2gOXDq/Kyd6JJUBwc40vWP418c6lqsRWO5M6dxO6dsNPgyc3TF8M9HxCDyKxDlVM4mf3bVKX5TZwfgo0fuHfyt2DaBZF4t1msWeL3K+Xi0Io88e+z21UtCxFFo50c3P1SjBv6XwiCodDVwHrj/3dtn2z5auASxFQ1HmZ3tT2GrZlxRa+PDO9XowNBPtj1dtD0ldBXhUG2MI0hPGCwMeCJwNLsym+pP2zrPxPAFYnl43PnkmgRvCGHqi4u8D+MVvUaAGnq+zu4/ffqxg7QrEcwB+61xd8QSg3S/Yrv2aj8C/EQ9rQFWqSSUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport moment from \"moment\";\r\nimport { BsFillEyeFill, BsFillChatDotsFill } from \"react-icons/bs\";\r\nimport { AiOutlineHeart, AiFillHeart, AiFillCloseSquare } from \"react-icons/ai\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { CircularProgressbar } from \"react-circular-progressbar\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction CreateNews(props) {\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const { id, item } = props.location.state;\r\n let history = useHistory();\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n\r\n //width: 395,\r\n },\r\n };\r\n const [newsFiles, setNewsFiles] = useState([]);\r\n const [showSelectedNewsFile, setShowSelectedNewsFile] = useState(\r\n item !== undefined ? true : false\r\n );\r\n const [coverImg, setCoverImg] = useState(null);\r\n const [dragNDropText, setDragNDropText] = useState(\r\n \"Drop your file here or Browse\"\r\n );\r\n const [newsCategories, setNewsCategories] = useState([]);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [newsDetails, setNewsDetails] = useState({\r\n newsTitle: item !== undefined ? item.title : \"\",\r\n newsSubtitle: item !== undefined ? item.subtitle : \"\",\r\n newsDescription: item !== undefined ? item.description : \"\",\r\n newsurlImage: item !== undefined ? item.urlImage : \"\",\r\n categoryList: [],\r\n selectedCategoryList: [],\r\n existingCategoryList: [],\r\n id: id !== undefined ? id : 0,\r\n });\r\n const [isUploadNews, setUploadNews] = useState(false);\r\n const [isNewsTitleErrShow, setNewsTitleErr] = useState(false);\r\n const [isNewsSubTitleErrShow, setNewsSubTitleErr] = useState(false);\r\n const [isNewsDescErrShow, setNewsDescErr] = useState(false);\r\n const [isNewsImgeErrShow, setisNewsImgeErrShow] = useState(false);\r\n const [isAddCategoryErrShow, setAddCategoryErr] = useState(false);\r\n const onClickCancel = () => {\r\n history.push(\"/MyNews\");\r\n };\r\n const onDrop = (file) => fileValidation(file[0]);\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n const fileValidation = (file) => {\r\n if (file !== undefined) {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n addErrorMesage(\"Please upload a image file!\");\r\n //enqueueSnackbar(\"Please upload a image file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n let fileItem = [];\r\n fileItem.push(file);\r\n setNewsFiles([...fileItem, ...newsFiles]);\r\n }\r\n }\r\n };\r\n\r\n const onSelectCategory = (selectedList) => {\r\n //console.log(\"Selected Category: \", selectedList);\r\n setNewsDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n setAddCategoryErr(false);\r\n };\r\n\r\n const onRemoveSelectCategory = (selectedList) => {\r\n setNewsDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n };\r\n\r\n const onUpload = async () => {\r\n const { newsTitle, newsSubtitle, selectedCategoryList, newsDescription } =\r\n newsDetails;\r\n setisNewsImgeErrShow(false);\r\n if (\r\n !newsTitle &&\r\n !newsSubtitle &&\r\n !newsDescription &&\r\n selectedCategoryList.length === 0 &&\r\n id == undefined\r\n ) {\r\n setNewsTitleErr(true);\r\n setNewsSubTitleErr(true);\r\n setAddCategoryErr(true);\r\n setNewsDescErr(true);\r\n addErrorMesage(\"Upload a news file!\");\r\n //enqueueSnackbar(\"Upload a news file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n } else if (!newsTitle) {\r\n setNewsTitleErr(true);\r\n } else if (!newsSubtitle) {\r\n setNewsSubTitleErr(true);\r\n } else if (!newsDescription) {\r\n setNewsDescErr(true);\r\n } else if (selectedCategoryList.length === 0) {\r\n setAddCategoryErr(true);\r\n } else if (\r\n id === 0 ? newsFiles.length === 0 : newsDetails.newsurlImage.length === 0\r\n ) {\r\n //console.log(newsFiles);\r\n //console.log(\"error in News\");\r\n setisNewsImgeErrShow(true);\r\n } else {\r\n //console.log(\"DONE\");\r\n setUploadNews(true);\r\n setDragNDropText(\"Drop your file here or Browse\");\r\n if (currentUserInfo !== undefined) {\r\n let respName = await getNewsByName();\r\n //console.log(\"respName: \", respName);\r\n if(id === 0 && respName.length > 0){\r\n addErrorMesage(\"News with the same title already exists!\");\r\n return;\r\n }else if(id !== 0 && respName.length > 0 && id !== respName[0].id){\r\n addErrorMesage(\"News with the same title already exists!\");\r\n return;\r\n }\r\n if (newsFiles.length > 0) {\r\n addLoader();\r\n uploadNewsFiles();\r\n } else {\r\n if (id !== 0) {\r\n setUploadProgress(25);\r\n saveNews(newsDetails.newsurlImage);\r\n } else {\r\n resetNews(0);\r\n history.push(\"/MyNews\");\r\n }\r\n }\r\n } else {\r\n removeLoader();\r\n resetNews(0);\r\n history.push(\"/MyNews\");\r\n }\r\n }\r\n };\r\n\r\n const resetNews = (progressValue) => {\r\n setUploadProgress(progressValue);\r\n setCoverImg(null);\r\n setNewsFiles([]);\r\n setNewsDetails({\r\n albumName: \"\",\r\n newsDescription: \"\",\r\n newsTitle: \"\",\r\n newsSubtitle: \"\",\r\n //categoryList: musicCategories,\r\n selectedCategoryList: [],\r\n });\r\n };\r\n\r\n const uploadNewsFiles = async () => {\r\n if (newsFiles.length > 0) {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n newsFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n //constant.baseURL + \"newsfiles\",\r\n constant.newsFileUplodaURL,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload news Files: \", res.data);\r\n if (\r\n res !== undefined &&\r\n res.status !== undefined &&\r\n res.status === 201 &&\r\n res.data !== undefined &&\r\n res.data.data !== undefined\r\n ) {\r\n //console.log(\"Uploaded news file: \", res.data.data);\r\n let coverFileName = \"\";\r\n coverFileName =\r\n coverImg !== null\r\n ? res.data.data.filename\r\n : id !== 0\r\n ? newsDetails.newsurlImage\r\n : \"\";\r\n setUploadProgress(25);\r\n saveNews(coverFileName);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n } else {\r\n setUploadProgress(25);\r\n saveNews(newsDetails.newsurlImage);\r\n }\r\n };\r\n const getNewsByName = async () =>{\r\n let resNews = await getDataApi(\r\n constant.baseURL + \"news?filter=title||$eq||\"+newsDetails.newsTitle\r\n );\r\n return resNews;\r\n }\r\n const saveNews = async (coverImageName) => {\r\n if (currentUserInfo != undefined) {\r\n addLoader();\r\n let jsonData = {\r\n title: newsDetails.newsTitle,\r\n subtitle: newsDetails.newsSubtitle,\r\n description: newsDetails.newsDescription,\r\n artist: currentUserInfo.id,\r\n urlImage: coverImageName,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respNews;\r\n let sStatus = \"\";\r\n if (id !== 0) {\r\n respNews = await patchDataApi(\r\n constant.baseURL + \"news/\" + id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respNews != undefined &&\r\n respNews.status !== undefined &&\r\n respNews.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n respNews = await postDataApi(\r\n constant.baseURL + \"news\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respNews !== undefined &&\r\n respNews.status !== undefined &&\r\n respNews.status == 201\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n }\r\n //console.log(\"respNews: \", respNews);\r\n //if (respNews !== undefined && respNews.status !== undefined && respNews.status == 201) {\r\n if (sStatus == \"Success\") {\r\n setUploadProgress(75);\r\n return saveNewsCategories(respNews.data.id).then((response) => {\r\n if (\r\n response !== undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(\r\n id !== undefined ? \"News Updated\" : \"News Created\"\r\n );\r\n resetNews(0);\r\n history.push(\"/MyNews\");\r\n } else {\r\n removeLoader();\r\n resetNews(0);\r\n history.push(\"/MyNews\");\r\n }\r\n });\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error encountered while creating news!\");\r\n resetNews(0);\r\n history.push(\"/MyNews\");\r\n }\r\n }\r\n };\r\n const getSubcategories = async () => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||4&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setNewsCategories([...resSubcategories]);\r\n setNewsDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories],\r\n };\r\n });\r\n if (id !== 0) {\r\n getNewsSubcategories(resSubcategories);\r\n }\r\n }\r\n };\r\n const getNewsSubcategories = async (categories) => {\r\n //console.log(id);\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"selectednewscategories?filter=news.id||$eq||\" + id\r\n );\r\n //console.log(\"getNewsSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n sItems.push(fltCategories[0]);\r\n });\r\n setNewsDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const saveNewsCategories = async (newsId) => {\r\n let promises_array = [];\r\n newsDetails.selectedCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { news: newsId, subcategory: item.id };\r\n return createNewsCategories(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n if (id !== 0 && newsDetails.existingCategoryList.length > 0) {\r\n //console.log(\"existingCategoryList\", newsDetails.existingCategoryList);\r\n newsDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = newsDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteNewsCategory(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const createNewsCategories = async (jsonData) => {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectednewscategories?filter=news.id||$eq||\" +\r\n jsonData.news +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectednewscategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const remomvePodCategories = async () => {\r\n let promises_array = [];\r\n if (id !== 0 && newsDetails.existingCategoryList.length > 0) {\r\n newsDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = newsDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteNewsCategory(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const deleteNewsCategory = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedNewscategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse\r\n
\r\n
Or
\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n {isNewsImgeErrShow && (\r\n
\r\n Please Upload Image File\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {id !== 0 ? \"Update News Details\" : \"News Details\"}\r\n
\r\n {/* {isUploadPodcast ?\r\n
\r\n \r\n
\r\n : null\r\n } */}\r\n
\r\n
\r\n {\r\n setNewsDetails({\r\n ...newsDetails,\r\n newsTitle: e.target.value,\r\n });\r\n setNewsTitleErr(false);\r\n }}\r\n value={newsDetails.newsTitle}\r\n required={true}\r\n />\r\n \r\n \r\n {isNewsTitleErrShow === true && (\r\n
\r\n Enter title\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setNewsDetails({\r\n ...newsDetails,\r\n newsSubtitle: e.target.value,\r\n });\r\n setNewsSubTitleErr(false);\r\n }}\r\n value={newsDetails.newsSubtitle}\r\n required={true}\r\n />\r\n \r\n \r\n {isNewsSubTitleErrShow === true && (\r\n
\r\n Enter sub title\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setNewsDetails({\r\n ...newsDetails,\r\n newsDescription: e.target.value,\r\n });\r\n setNewsDescErr(false);\r\n }}\r\n value={newsDetails.newsDescription}\r\n required={true}\r\n >\r\n \r\n \r\n {isNewsDescErrShow === true && (\r\n
\r\n Enter description\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow === true && (\r\n \r\n Select category\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n onClickCancel()}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n {id === 0 ? \"Save\" : \"Update\"}\r\n \r\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 CreateNews;\r\n","export default __webpack_public_path__ + \"static/media/map.8f5b2ad6.jpg\";","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport map from \"../../assets/Images/map.jpg\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport { MdLocationOn } from \"react-icons/md\";\r\nimport moment from \"moment\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { hashCodeUrlDecode } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport blackmike from \"../../assets/Images/blackmike.svg\";\r\nimport blackmikefill from \"../../assets/Images/blackmikefill.svg\";\r\n\r\n\r\nfunction EventsDetails(props) {\r\n let searchData = useParams();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [eventsLikes, setEventsLikes] = useState(undefined);\r\n const [eventItem, setEventItem] = useState({\r\n id: props.location !== undefined &&\r\n props.location.state !== undefined &&\r\n props.location.state.id !== undefined\r\n ? props.location.state.id\r\n : parseInt(window.location.href.split(\"/\")[window.location.href.split(\"/\").length-1]),\r\n name: \"\",\r\n description: \"\",\r\n address: \"\",\r\n eventDate: \"\",\r\n img: \"\",\r\n eventlink: \"\",\r\n artist: \"\",\r\n categories: [],\r\n liked: false,\r\n });\r\n // const { id } = hashCodeUrlDecode(searchData.itemId);\r\n var path = useLocation();\r\n var history = useHistory();\r\n // console.log(typeof window.location.href.split(\"/\")[window.location.href.split(\"/\").length-1])\r\n const getEventDetailsById = async () => {\r\n //console.log(\"Event ID: \", hashCodeUrlDecode(searchData.itemId));\r\n let resEvent = await getDataApi(\r\n constant.baseURL + \"events/\" + hashCodeUrlDecode(searchData.itemId)//props.location.state.id\r\n );\r\n //console.log(\"resEvent: \", resEvent);\r\n if (resEvent !== undefined) {\r\n setEventItem((prevState) => {\r\n return {\r\n ...prevState,\r\n id: resEvent.id,\r\n name: resEvent.name,\r\n description:\r\n resEvent.description !== undefined ? resEvent.description : \"\",\r\n address: resEvent.address !== undefined ? resEvent.address : \"\",\r\n eventDate: resEvent.eventdate, // != undefined && resEvent.eventdate !== null && resEvent.eventdate !== \"\" ? moment(resEvent.eventdate).format('DD-MMM-yyyy hh:mm A') : \"\",\r\n img:\r\n resEvent.urlImage !== undefined &&\r\n resEvent.urlImage !== null &&\r\n resEvent.urlImage !== \"\"\r\n ? constant.eventsFileURL + resEvent.urlImage\r\n : \"\",\r\n eventlink: resEvent.eventlink,\r\n artist:\r\n resEvent.artist !== undefined\r\n ? resEvent.artist.firstName + \" \" + resEvent.artist.lastName\r\n : \"\",\r\n };\r\n });\r\n getEventCategoriesByEventId();\r\n }\r\n };\r\n const getEventCategoriesByEventId = async () => {\r\n let resCategory = await getDataApi(\r\n constant.baseURL +\r\n \"selectedeventcategories?filter=events.id||$eq||\" +\r\n hashCodeUrlDecode(searchData.itemId)\r\n );\r\n //console.log(\"resCategory: \", resCategory);\r\n if (resCategory !== undefined && resCategory.length > 0) {\r\n setEventItem((prevState) => {\r\n return { ...prevState, categories: [...resCategory] };\r\n });\r\n }\r\n };\r\n const getEventsLikes = async (eventId) => {\r\n if (currentUserInfo !== undefined) {\r\n let resEventsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"Eventslikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=events.id||$eq||\" +\r\n eventId\r\n );\r\n if (resEventsLikes != undefined && resEventsLikes.length > 0) {\r\n setEventsLikes(resEventsLikes[0]);\r\n setEventItem((prevState) => {\r\n return { ...prevState, liked: true };\r\n });\r\n }\r\n }\r\n };\r\n const createEventsLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentUserInfo != undefined) {\r\n setbuttonDisable(!buttonDisable);\r\n let jsonData = { user: currentUserInfo.id, events: hashCodeUrlDecode(searchData.itemId) };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respEventsLike = await postDataApi(\r\n constant.baseURL + \"eventslikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respEventsLike != undefined &&\r\n respEventsLike.status != undefined &&\r\n respEventsLike.status == 201\r\n ) {\r\n setbuttonDisable(false);\r\n setEventsLikes(respEventsLike.data);\r\n setEventItem((prevState) => {\r\n return { ...prevState, liked: true };\r\n });\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: hashCodeUrlDecode(searchData.itemId),\r\n },\r\n });\r\n }\r\n };\r\n const resetEventsLike = async () => {\r\n if (eventsLikes != undefined) {\r\n //console.log(\"Disable UnLike\");\r\n setbuttonDisable(!buttonDisable);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"eventslikes/\" + eventsLikes.id,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setbuttonDisable(false);\r\n setEventsLikes(undefined);\r\n setEventItem((prevState) => {\r\n return { ...prevState, liked: false };\r\n });\r\n }\r\n }\r\n };\r\n const renderCategories = () => {\r\n //console.log(\"eventItem.categories: \", eventItem.categories);\r\n if (eventItem.categories.length > 0) {\r\n return eventItem.categories.map((item, index) => {\r\n return (\r\n
\r\n {item.subcategory.name}\r\n
\r\n );\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getEventDetailsById();\r\n getEventsLikes(hashCodeUrlDecode(searchData.itemId));\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 {String(eventItem.name)}\r\n
\r\n

\r\n {eventItem.description}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n {eventItem.liked === true ? (\r\n resetEventsLike()}\r\n >\r\n {/* */}\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n {\r\n createEventsLike();\r\n }}\r\n >\r\n {/* */}\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n
\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n \r\n Share\r\n \r\n {/* */}\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"EventsDetails\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Date & Time
\r\n \r\n {eventItem.eventDate !== undefined &&\r\n eventItem.eventDate !== null &&\r\n eventItem.eventDate !== \"\"\r\n ? moment(eventItem.eventDate).format(\"DD-MM-yyyy hh:mm A\")\r\n : \"\"}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Date & Time
\r\n \r\n {eventItem.eventDate !== undefined &&\r\n eventItem.eventDate !== null &&\r\n eventItem.eventDate !== \"\"\r\n ? moment(eventItem.eventDate).format(\"DD-MM-yyyy hh:mm A\")\r\n : \"\"}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Description
\r\n
{eventItem.description}
\r\n
\r\n
\r\n
Address
\r\n
\r\n
\r\n
\r\n
\r\n
{eventItem.address}
\r\n
\r\n
\r\n
\r\n
\r\n
Date & Time
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eventItem.eventDate !== undefined &&\r\n eventItem.eventDate !== null &&\r\n eventItem.eventDate !== \"\"\r\n ? moment(eventItem.eventDate).format(\r\n \"dddd, MMM DD yyyy [at] hh:mmA\"\r\n )\r\n : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Event Link
\r\n
\r\n
\r\n
\r\n
\r\n
{eventItem.eventlink}
\r\n
\r\n
\r\n
\r\n
\r\n
Event Location
\r\n
\r\n
\r\n
\r\n \"Event\r\n
\r\n
\r\n {/*
\r\n
Dream World Wide In Jakarta
\r\n
The other day the grass was brown, now it’s green
\r\n
*/}\r\n
\r\n
Tags
\r\n
\r\n {/*
Concert
*/}\r\n {renderCategories()}\r\n
\r\n
\r\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 EventsDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction CreateEvents(props) {\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const { id, item } = props.location.state;\r\n //console.log(\"item: \", item);\r\n let history = useHistory();\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n //width: 395,\r\n },\r\n };\r\n const [coverImg, setCoverImg] = useState(null);\r\n //const [selectedDate, handleDateChange] = useState(item !== undefined && item.eventdate !== undefined && item.eventdate !== null && item.eventdate !== \"\" ? new Date(item.eventdate) : new Date());\r\n const [selectedDate, handleDateChange] = useState(\r\n item !== undefined && item !== null && item !== \"\" && item.eventdate !== undefined && item.eventdate !== null && item.eventdate !== \"\"\r\n ? new Date(item.eventdate)\r\n : null\r\n );\r\n const [podFiles, setPodFiles] = useState([]);\r\n const [dragNDropText, setDragNDropText] = useState(\"Drop your file here\");\r\n const [eventCategories, setEventCategories] = useState([]);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [eventDetails, setEventDetails] = useState({\r\n eventName: item !== undefined ? item.title : \"\",\r\n eventLink: item !== undefined ? item.eventLink : \"\",\r\n eventDescription: item !== undefined ? item.description : \"\",\r\n eventurlImage: item !== undefined ? item.img : \"\",\r\n urlImage: item !== undefined ? item.urlImage : \"\",\r\n eventdate: item !== undefined ? new Date(item.eventdate) : \"\",\r\n eventAddress: item !== undefined ? item.address : \"\",\r\n categoryList: [],\r\n selectedCategoryList: [],\r\n existingCategoryList: [],\r\n id: id,\r\n });\r\n const [isUploadEvents, setUploadEvents] = useState(false);\r\n const [isEventNameErrShow, setEventNameErr] = useState(false);\r\n const [isEventAddressErrShow, setEventAddressErr] = useState(false);\r\n const [isEventDateErrShow, setEventDateErr] = useState(false);\r\n const [isEventLinkErrShow, setEventLinkErr] = useState(false);\r\n const [isEventDescErrShow, setEventDescErr] = useState(false);\r\n const [isAddCategoryErrShow, setAddCategoryErr] = useState(false);\r\n const [isEventImgeErrShow, setisEventImgeErrShow] = useState(false);\r\n const onDrop = (file) => fileValidation(file[0]);\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n const fileValidation = (file) => {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file.name)) {\r\n addErrorMesage(\"Please upload a image file!\");\r\n //enqueueSnackbar(\"Please upload a image file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n let fileItem = [];\r\n fileItem.push(file);\r\n setPodFiles([...fileItem, ...podFiles]);\r\n }\r\n };\r\n const onSelectCategory = (selectedList) => {\r\n //console.log(\"Selected Category: \", selectedList);\r\n setEventDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n setAddCategoryErr(false);\r\n };\r\n\r\n const onRemoveSelectCategory = (selectedList) => {\r\n setEventDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n };\r\n\r\n const onUpload = async () => {\r\n const {\r\n eventName,\r\n eventLink,\r\n selectedCategoryList,\r\n eventDescription,\r\n eventdate,\r\n eventAddress,\r\n } = eventDetails;\r\n //console.log(eventdate,eventDetails)\r\n setisEventImgeErrShow(false);\r\n if (\r\n !eventName &&\r\n !eventLink &&\r\n !eventDescription &&\r\n !eventdate &&\r\n !eventAddress &&\r\n selectedCategoryList.length === 0 &&\r\n id === undefined\r\n ) {\r\n setEventNameErr(true);\r\n setEventLinkErr(true);\r\n setEventDateErr(true);\r\n setEventAddressErr(true);\r\n setAddCategoryErr(true);\r\n setEventDescErr(true);\r\n addErrorMesage(\"Upload a event file!\");\r\n //enqueueSnackbar(\"Upload a event file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n } else if (!eventName) {\r\n setEventNameErr(true);\r\n } else if (!eventLink) {\r\n setEventLinkErr(true);\r\n } else if (!eventDescription) {\r\n setEventDescErr(true);\r\n } else if (selectedCategoryList.length === 0) {\r\n setAddCategoryErr(true);\r\n } else if (!eventdate) {\r\n setEventDateErr(true);\r\n } else if (!eventAddress) {\r\n setEventAddressErr(true);\r\n } else if (\r\n id === 0 ? podFiles.length === 0 : eventDetails.eventurlImage.length === 0\r\n ) {\r\n //console.log(\"error in Events\");\r\n setisEventImgeErrShow(true);\r\n } else {\r\n //Check if event with same name exists or not\r\n let respName = await getEventsByName();\r\n //console.log(\"respName: \", respName);\r\n if(id === 0 && respName.length > 0){\r\n addErrorMesage(\"Event with the same name already exists!\");\r\n return;\r\n }else if(id !== 0 && respName.length > 0 && id !== respName[0].id){\r\n addErrorMesage(\"Event with the same name already exists!\");\r\n return;\r\n }\r\n //Check if event with same name exists or not\r\n if(currentUserInfo !== undefined){\r\n setUploadEvents(true);\r\n setDragNDropText(\"Drop your file here\");\r\n if (podFiles.length > 0) {\r\n addLoader();\r\n uploadEventsFiles();\r\n } else {\r\n if (id !== 0) {\r\n addLoader();\r\n setUploadProgress(25);\r\n createEvents(eventDetails.urlImage);\r\n } else {\r\n removeLoader();\r\n resetEvents(0);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n const getEventsByName = async () =>{\r\n let resEvent = await getDataApi(\r\n constant.baseURL + \"events?filter=name||$eq||\"+eventDetails.eventName+\"&filter=isDeleted||$eq||0&filter=status||$eq||1\"\r\n \r\n );\r\n return resEvent;\r\n }\r\n const resetEvents = (progressValue) => {\r\n setUploadProgress(progressValue);\r\n setCoverImg(null);\r\n setPodFiles([]);\r\n setEventDetails({\r\n albumName: \"\",\r\n eventDescription: \"\",\r\n eventName: \"\",\r\n eventLink: \"\",\r\n eventdate:\"\",\r\n //categoryList: musicCategories,\r\n selectedCategoryList: [],\r\n });\r\n };\r\n const uploadEventsFiles = async () => {\r\n if (podFiles.length > 0) {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n podFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n //constant.baseURL + \"eventsfiles\",\r\n constant.eventsFileUploadURL,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload events Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded events file: \", res.data.data);\r\n let coverFileName = \"\";\r\n coverFileName =\r\n coverImg != null\r\n ? res.data.data.filename\r\n : id !== 0\r\n ? eventDetails.eventurlImage\r\n : \"\";\r\n setUploadProgress(25);\r\n createEvents(coverFileName);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading event files\");\r\n // enqueueSnackbar('Error in uploading event files', {\r\n // variant: 'error', anchorOrigin: {\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // },\r\n // });\r\n }\r\n } else {\r\n setUploadProgress(25);\r\n createEvents(eventDetails.eventurlImage);\r\n }\r\n };\r\n const createEvents = async (coverImageName) => {\r\n let jsonData = {\r\n name: eventDetails.eventName,\r\n eventlink: eventDetails.eventLink,\r\n description: eventDetails.eventDescription,\r\n artist: currentUserInfo.id,\r\n urlImage: coverImageName,\r\n eventdate: eventDetails.eventdate, //eventDetails.eventdate,\r\n address: eventDetails.eventAddress,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respEvents;\r\n let sStatus = \"\";\r\n if (id !== 0) {\r\n respEvents = await patchDataApi(\r\n constant.baseURL + \"events/\" + id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respEvents != undefined &&\r\n respEvents.status != undefined &&\r\n respEvents.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n respEvents = await postDataApi(\r\n constant.baseURL + \"events\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respEvents != undefined &&\r\n respEvents.status != undefined &&\r\n respEvents.status == 201\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n }\r\n //console.log(\"respEvents: \", respEvents);\r\n //if (respEvents != undefined && respEvents.status != undefined && respEvents.status == 201) {\r\n if (sStatus == \"Success\") {\r\n setUploadProgress(75);\r\n return saveEventsCategories(respEvents.data.id).then((response) => {\r\n if (\r\n response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(id !== 0 ? \"Event Updated\" : \"Event Created\");\r\n resetEvents(0);\r\n history.goBack();\r\n } else {\r\n removeLoader();\r\n resetEvents(0);\r\n history.goBack();\r\n }\r\n });\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error encountered while creating event!\");\r\n resetEvents(0);\r\n if (id !== 0) {\r\n history.goBack();\r\n }\r\n }\r\n };\r\n const getSubcategories = async () => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||3&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setEventCategories([...resSubcategories]);\r\n setEventDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories],\r\n };\r\n });\r\n if (id !== 0) {\r\n getEventsSubcategories(resSubcategories);\r\n }\r\n }\r\n };\r\n const getEventsSubcategories = async (categories) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL + \"selectedeventcategories?filter=events.id||$eq||\" + id\r\n );\r\n //console.log(\"getEventsSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n sItems.push(fltCategories[0]);\r\n });\r\n setEventDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const saveEventsCategories = async (eventId) => {\r\n let promises_array = [];\r\n eventDetails.selectedCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { events: eventId, subcategory: item.id };\r\n return createEventsCategories(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n if (id !== 0 && eventDetails.existingCategoryList.length > 0) {\r\n eventDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = eventDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteEventCategory(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const createEventsCategories = async (jsonData) => {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedeventcategories?filter=events.id||$eq||\" +\r\n jsonData.events +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedeventcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteEventCategory = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedEventcategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const cancelEvents = () => {\r\n history.goBack();\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse\r\n
\r\n
Or
\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n {isEventImgeErrShow && (\r\n
\r\n Please Upload Image File\r\n
\r\n )}\r\n \r\n
\r\n
Event Details
\r\n
\r\n {\r\n setEventDetails({\r\n ...eventDetails,\r\n eventName: e.target.value,\r\n });\r\n setEventNameErr(false);\r\n }}\r\n value={eventDetails.eventName}\r\n />\r\n \r\n \r\n {isEventNameErrShow && (\r\n
\r\n Enter name\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setEventDetails({\r\n ...eventDetails,\r\n eventAddress: e.target.value,\r\n });\r\n setEventAddressErr(false);\r\n }}\r\n value={eventDetails.eventAddress}\r\n >\r\n \r\n \r\n {isEventAddressErrShow && (\r\n
\r\n Enter event address\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setEventDetails({\r\n ...eventDetails,\r\n eventDescription: e.target.value,\r\n });\r\n setEventDescErr(false);\r\n }}\r\n value={eventDetails.eventDescription}\r\n >\r\n \r\n \r\n {isEventDescErrShow && (\r\n
\r\n Enter event descrition\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setEventDetails({\r\n ...eventDetails,\r\n eventLink: e.target.value,\r\n });\r\n setEventLinkErr(false);\r\n }}\r\n value={eventDetails.eventLink}\r\n />\r\n \r\n \r\n {isEventLinkErrShow && (\r\n
\r\n Enter event link\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n //console.log(e)\r\n setEventDetails({\r\n ...eventDetails,\r\n eventdate: e,\r\n });\r\n setEventDateErr(false);\r\n }}\r\n showTimeSelect\r\n minDate={new Date()}\r\n dateFormat=\"MMMM d, yyyy h:mm aa\"\r\n />\r\n \r\n {isEventDateErrShow && (\r\n
\r\n Enter event date\r\n
\r\n )}\r\n
\r\n
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow && (\r\n
\r\n Add Category\r\n
\r\n )}\r\n
\r\n\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n {id !== 0 ? \"Update\" : \"Create\"}\r\n \r\n
\r\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 CreateEvents;\r\n","export default __webpack_public_path__ + \"static/media/send.69914265.svg\";","export default __webpack_public_path__ + \"static/media/Lata-Mangeshkar.1a8ba532.jpg\";","export default __webpack_public_path__ + \"static/media/hqdefault.d1e72a8a.jpg\";","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport send from \"../../assets/Images/send.svg\";\r\n\r\nconst CommentsModal1 = ({\r\n type,\r\n show,\r\n handleClose,\r\n title,\r\n id,\r\n currentUserId,\r\n inputText,\r\n setInputText,\r\n update,\r\n setUpdate,\r\n props,\r\n isModel,\r\n isComment\r\n}) => {\r\n var history = useHistory();\r\n const [isInputTextErrShow, setInputTextErr] = useState(false);\r\n const [inputTextErrMessage, setInputTextErrMessage] = useState(\"\");\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n var [pageNumber, setPageNumber] = useState(1);\r\n const onSubmit = () => {\r\n let textRegex = /^[/\\a-zA-Z0-9\\s\\[\\]\\{\\}\\.\\`\\~\\!\\@\\$\\^\\&\\(\\)\\_\\+\\-\\=\\;\\,]*$/;\r\n\r\n\r\n if (VerifyLoginExistOrNot()) {\r\n if (!inputText) {\r\n setInputTextErr(true);\r\n setInputTextErrMessage(constant.requiredLabel);\r\n return;\r\n } else if (inputText !== undefined && inputText !== null && inputText !== \"\" && inputText.trim() === \"\") {\r\n setInputTextErr(true);\r\n setInputTextErrMessage(constant.requiredLabel);\r\n return;\r\n } \r\n // else if ((type === \"ReportArtist\" || type === \"ReportSong\" || type === \"ReportPodcast\" || type === \"ReportBigStage\" || type == \"ReportEpisode\") && inputText !== undefined && inputText !== null && inputText !== \"\" ) {\r\n // setInputTextErr(true);\r\n // setInputTextErrMessage(constant.invalidText);\r\n // return;\r\n // }\r\n else {\r\n if (type === \"ReportArtist\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, artist: id, comment: inputText },\r\n \"Artist Reported\",\r\n constant.baseURL + \"reportartists\"\r\n );\r\n }\r\n if (type === \"ReportSong\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, music: id, comment: inputText },\r\n \"Song Reported\",\r\n constant.baseURL + \"reportsongs\"\r\n );\r\n }\r\n if (type === \"CommentSong\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, music: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"musiccomments\"\r\n );\r\n }\r\n if (type === \"ReportPodcast\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, podcasts: id, comment: inputText },\r\n \"Podcast Reported\",\r\n constant.baseURL + \"reportpodcasts\"\r\n );\r\n }\r\n if (type === \"ReportBigStage\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, bigstage: id, comment: inputText },\r\n \"BigStage Reported\",\r\n constant.baseURL + \"reportbigstage\"\r\n );\r\n }\r\n if (type === \"ReportEpisode\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { reporteduser: currentUserId, episode: id, comment: inputText },\r\n \"Episode Reported\",\r\n constant.baseURL + \"reportepisode\"\r\n );\r\n }\r\n if (\r\n (type === \"CommentBigStage\" || type === \"CommentHomeBigStage\") &&\r\n id !== 0 &&\r\n currentUserId !== 0\r\n ) {\r\n executeAPI(\r\n { user: currentUserId, bigstage: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"bigstagecomments\"\r\n );\r\n }\r\n if (type === \"CommentTopNews\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, news: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"newscomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomePodcast\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, podcasts: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"podcastcomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomeEvents\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, events: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"eventscomments\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomeArtist\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, artist: id, comments: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"artistcomments\"\r\n );\r\n }\r\n if (type === \"CommentEpisode\" && id !== 0 && currentUserId !== 0) {\r\n executeAPI(\r\n { user: currentUserId, episode: id, comment: inputText },\r\n \"Comment Submitted\",\r\n constant.baseURL + \"episodecomments\"\r\n );\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`\r\n });\r\n }\r\n };\r\n const handleClose1 = () => {\r\n setInputText(\"\");\r\n handleClose()\r\n }\r\n const calldata = () => {\r\n if (type === \"ReportArtist\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportartists?filter=artist.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportSong\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportsongs?filter=music.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentSong\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"musiccomments?filter=music.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportPodcast\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportpodcasts?filter=podcasts.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportBigStage\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportbigstage?filter=bigstage.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"ReportEpisode\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"reportepisode?filter=episode.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (\r\n (type === \"CommentBigStage\" || type === \"CommentHomeBigStage\") &&\r\n id !== 0 &&\r\n currentUserId !== 0\r\n ) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"bigstagecomments?filter=bigstage.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentTopNews\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"newscomments?filter=news.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n\r\n if (type === \"CommentHomePodcast\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"podcastcomments?filter=podcasts.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentHomeEvents\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"eventscomments?filter=events.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentHomeArtist\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"artistcomments?filter=artist.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=100\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n if (type === \"CommentEpisode\" && id !== 0 && currentUserId !== 0) {\r\n getCommentApiUrl(\r\n constant.baseURL +\r\n \"episodecomments?filter=episode.id||$eq||\" +\r\n id +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=5\" +\r\n \"&sort=id,DESC\"\r\n );\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n //console.log(\"jayraj\")\r\n calldata()\r\n }, [show, pageNumber, currentUserId]);\r\n\r\n const getCommentApiUrl = async (commentDataApi) => {\r\n //console.log(commentDataApi)\r\n let resArtistComments = await getDataApi(commentDataApi);\r\n //console.log(\"resArtistComments: \", commentDataApi, resArtistComments);\r\n if (\r\n resArtistComments !== undefined &&\r\n resArtistComments.data !== undefined &&\r\n resArtistComments.data.length > 0\r\n ) {\r\n let itms = [];\r\n resArtistComments.data.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img:\r\n c.user !== undefined && c.user !== null && c.user.urlImage !== undefined &&\r\n c.user.urlImage !== null &&\r\n c.user.urlImage !== \"\"\r\n ? constant.profileURL + c.user.urlImage\r\n : (c.reporteduser !== undefined && c.reporteduser !== null && c.reporteduser.urlImage !== undefined && c.reporteduser.urlImage !== null && c.reporteduser.urlImage !== \"user.png\") ? constant.profileURL + c.reporteduser.urlImage : c.reporteduser !== undefined && c.reporteduser !== null && c.reporteduser.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: c.user !== undefined && c.user !== null ? c.user.firstName + \" \" + c.user.lastName : (c.reporteduser !== undefined && c.reporteduser !== null) ? c.reporteduser.firstName + \" \" + c.reporteduser.lastName : \"\",\r\n location: c.user !== undefined && c.user !== null ? c.user.address : (c.reporteduser !== undefined && c.reporteduser !== null) ? c.reporteduser.address : \"\",\r\n comment: c.comments !== undefined && c.comments !== null && c.comments !== \"\" ? c.comments : c.comment,\r\n date: moment(c.created).format(\"DD MMM yyyy\"),\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setCommentsList(itms);\r\n } else {\r\n setCommentsList([...commentsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resArtistComments.page < resArtistComments.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n } else {\r\n setCommentsList([]);\r\n }\r\n };\r\n\r\n const executeAPI = async (jsonData, message, apiURL) => {\r\n // addLoader();\r\n setbuttonDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n let respAPI = await postDataApi(apiURL, formBody, authHeader);\r\n //console.log(\"respAPI: \", respAPI);\r\n if (\r\n respAPI !== undefined &&\r\n respAPI.status !== undefined &&\r\n respAPI.status === 201\r\n ) {\r\n setbuttonDisable(false);\r\n addSuccessMesage(message);\r\n if (isModel != \"videoplayer\") {\r\n setUpdate()\r\n } else {\r\n calldata()\r\n }\r\n\r\n } else {\r\n setbuttonDisable(false);\r\n addErrorMesage(\"Error encountered while submitting comment\");\r\n }\r\n setInputText(\"\");\r\n handleClose();\r\n };\r\n const renderComments = () => {\r\n if (commentsList.length !== 0) {\r\n return commentsList.map((item, index) => {\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
{item.name}
\r\n
{item.location}
\r\n
\r\n
\r\n {/* d-none d-md-block */}\r\n
{item.comment}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{item.date}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n );\r\n });\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n }\r\n };\r\n const viewMoreComments = () => {\r\n setPageNumber(pageNumber++);\r\n };\r\n const renderismodel = () => {\r\n return <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n { setInputText(e.target.value); setInputTextErrMessage(\"\") }}\r\n value={inputText}\r\n className=\"floating-input\"\r\n type=\"text\"\r\n placeholder=\" \"\r\n >\r\n \r\n \r\n
\r\n {isInputTextErrShow === true &&\r\n
\r\n {inputTextErrMessage}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n {buttonDisable && DisableButtonLoader()}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {\r\n isComment === true &&\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n {renderComments()}\r\n
\r\n
\r\n {/*
\r\n
\r\n {commentsList !== undefined &&\r\n commentsList.length > 0 &&\r\n showViewMore === true && (\r\n \r\n )}\r\n
\r\n
*/}\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n }\r\n\r\n \r\n }\r\n //console.log(isModel)\r\n return (\r\n <>\r\n {isModel != \"videoplayer\"\r\n ? \r\n \r\n {title}\r\n \r\n \r\n {renderismodel()}\r\n\r\n \r\n : renderismodel()}\r\n \r\n );\r\n};\r\nexport default CommentsModal1;","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Link,\r\n NavLink,\r\n useHistory,\r\n useLocation,\r\n useParams,\r\n} from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { Modal, ModalBody, Button } from \"react-bootstrap\";\r\nimport twitter from \"../../assets/Images/twitter.png\";\r\nimport social from \"../../assets/Images/social.png\";\r\nimport facebook from \"../../assets/Images/facebook.png\";\r\nimport { BiLinkAlt } from 'react-icons/bi'; \r\nimport {\r\n FacebookIcon,\r\n FacebookShareButton,\r\n TwitterIcon,\r\n TwitterShareButton,\r\n InstapaperShareButton,\r\n InstapaperIcon,\r\n WhatsappIcon,\r\n WhatsappShareButton\r\n} from \"react-share\";\r\nimport { hashCodeUrlDecode } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { addSuccessMesage } from \"../CustomToster/CustomToaster\";\r\n\r\nconst ShareModal1 = ({ show, handleClose, title, id, currentUserId, from }) => {\r\n const [shareUrl, setshareUrl] = useState(null)\r\n let location = useLocation();\r\n let searchData = useParams();\r\n const [desc, setDesc] = useState(\"\");\r\n \r\n const getBigstageDetails = async () => {\r\n setshareUrl(\"https://multimusicmoguls.com/videoPlayer?variant=homebigstagejs&id=\"+id)\r\n };\r\n const getPodcastDeatils = async () => {\r\n setshareUrl(\"https://multimusicmoguls.com/videoPlayer?variant=podcast1&id=\"+id)\r\n };\r\n const getAlbumDeatils = async () => {\r\n setshareUrl(\"https://multimusicmoguls.com/videoPlayer?variant=musicjs&id=\"+id)\r\n };\r\n const copylink = () =>{\r\n // const el = shareUrl\r\n // el.select()\r\n // document.execCommand(\"copy\")\r\n var textField = document.createElement('textarea')\r\n textField.innerText = shareUrl\r\n document.body.appendChild(textField)\r\n textField.select()\r\n document.execCommand('copy')\r\n textField.remove()\r\n addSuccessMesage(\"Link Copy Successfully\")\r\n\r\n }\r\n useEffect(() => {\r\n //console.log(from)\r\n if (from === \"homebigstagejs\") {\r\n getBigstageDetails();\r\n } else if (from === \"musicjs\") {\r\n getAlbumDeatils();\r\n } else if (from === \"podcast1\") {\r\n getPodcastDeatils();\r\n }\r\n }, []);\r\n//console.log(id,shareUrl)\r\n return (\r\n <>\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n
\r\n {/*
\r\n \"Facebook\"\r\n
*/}\r\n {/* */}\r\n copylink()}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n */}\r\n {/*
\r\n \"Twitter\"\r\n
*/}\r\n {/*
\r\n \"Social\"\r\n
*/}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\nexport default ShareModal1;\r\n","import React, { useEffect, useState } from 'react'\r\nimport ReactPlayer from 'react-player';\r\nimport Accordion from 'react-bootstrap/Accordion'\r\nimport { BiChevronDown, BiCaretRight, BiLike, BiDislike, BiShare, BiDotsVerticalRounded, } from \"react-icons/bi\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport { VscReport } from \"react-icons/vsc\";\r\nimport songprofile from \"../../assets/Images/featuredArtist.png\";\r\nimport { constant } from '../../utility/constant';\r\nimport smily from \"../../assets/Images/Lata-Mangeshkar.jpg\";\r\nimport { hashCodeUrlDecode } from '../../utility/EncodeAndDecodeUrl';\r\nimport Comments from \"../../components/Comments/Comments\";\r\nimport Comments1 from \"../../components/Comments/Comments1\";\r\nimport { deleteDataApi, getDataApi, postDataApi } from '../../utility/apiCall';\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport blackmike from \"../../assets/Images/blackmike.svg\";\r\nimport blackmikefill from \"../../assets/Images/blackmikefill.svg\";\r\nimport { RiUserFollowLine, RiUserUnfollowLine } from \"react-icons/ri\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport commentimg from \"../../assets/Images/featuredArtist.png\";\r\nimport videothumb from \"../../assets/Images/hqdefault.jpg\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport CommentsModal from '../../components/CommentsModal/CommentsModal';\r\nimport CommentsModal1 from '../../components/CommentsModal/CommentsModal1';\r\nimport queryString from \"query-string\";\r\nimport ShareModal1 from \"../../components/ShareModal/ShareModal1\";\r\nimport { FiMoreVertical } from 'react-icons/fi';\r\nimport { Dropdown, DropdownButton, NavDropdown } from \"react-bootstrap\";\r\nimport { addErrorMesage } from '../../components/CustomToster/CustomToaster';\r\n// import useAccordionButton from 'react-bootstrap/AccordionButton';\r\nimport facebookIcon from \"../../assets/Images/facebook.svg\";\r\nimport twitterIcon from \"../../assets/Images/twitterIcon.svg\";\r\nimport youtube from \"../../assets/Images/youtube.svg\";\r\nimport itune from \"../../assets/Images/itune.svg\";\r\nimport spotify from \"../../assets/Images/shopify.svg\";\r\nimport podcaste from \"../../assets/Images/podcaste.svg\";\r\n\r\n\r\n\r\nimport tiktok from \"../../assets/Images/titktok.svg\";\r\nimport apple from \"../../assets/Images/applemusic.svg\";\r\nimport instagramIcon from \"../../assets/Images/instagram.svg\";\r\nimport { DisableButtonLoader } from '../../utility/CustomLoader';\r\nconst VideoPlayer = (props) => {\r\n //console.log(props)\r\n const [currentVideo, setcurrentVideo] = useState(\"\")\r\n const [currentVideoList, setcurrentVideoList] = useState([])\r\n const [currentItem, setcurrentItem] = useState({})\r\n const [webview, setwebview] = useState(true)\r\n const [show, setshow] = useState(false)\r\n const [count, setcount] = useState(0)\r\n const [reportshow, setreportshow] = useState(false);\r\n const [reportshow1, setreportshow1] = useState(false);\r\n const [commentshow, setcommentshow] = useState(false);\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [variant, setvariant] = useState(null);\r\n const [mId, setMId] = useState(0);\r\n const [albumId, setalbumId] = useState(null);\r\n const [varient, setvarient] = useState(false);\r\n const [commentSongInputText, setCommentSongInputText] = useState(\"\");\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [artistlikes, setartistlikes] = useState(false);\r\n const [artistfollow, setartistfollow] = useState(false);\r\n const [artistlikesId, setartistlikesId] = useState(false);\r\n const [artistfollowId, setartistfollowId] = useState(false);\r\n var history = useHistory();\r\n var path = useLocation();\r\n var idd = JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n //console.log(idd);\r\n\r\n const [page, setPage] = useState(1);\r\n const [limit, setLimit] = useState(50);\r\n\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n var AlbumIdByUser = null;\r\n const handleClose = () => {\r\n setshow(false)\r\n }\r\n //console.log(artistlikes)\r\n const getMusicByAlbumId = async (i) => {\r\n // let resAlbumId = await getDataApi(\r\n // constant.baseURL + \"albums/\" + i\r\n // );\r\n // console.log(\"resAlbumId\", resAlbumId);\r\n // if (resAlbumId !== undefined) {\r\n // console.log(resAlbumId)\r\n // AlbumIdByUser = resAlbumId.id;\r\n\r\n // getAlbumsByArtist(resAlbumId?.user?.id, i);\r\n // }\r\n\r\n let apiURL = constant.baseURL + \"musics/getMusicsByAlbumWithUserLike?albumId=\" + i +\r\n \"page=\" + page + \"&limit=\" + limit;\r\n if (currentUserInfo !== undefined) {\r\n apiURL += '&userId=' + currentUserInfo.id;\r\n }\r\n let resAlbumVideos = await getDataApi(apiURL);\r\n //console.log(\"----videos by abum----\", resAlbumVideos)\r\n if (resAlbumVideos !== undefined) {\r\n //AlbumIdByUser = resAlbumId.id;\r\n\r\n let musicAlbumByData = resAlbumVideos.data.filter((item) => {\r\n return item.album.id == i;\r\n });\r\n\r\n let itms = [];\r\n resAlbumVideos.data.map((item) => {\r\n itms.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n singer:\r\n item.album.user.firstName +\r\n \" \" +\r\n item.album.user.lastName,\r\n cover: constant.musicURL,\r\n albumname: item.album.name,\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n user: item.album.user,\r\n albumId: i,\r\n userlike: item.userlike,\r\n });\r\n });\r\n //getLikesByArtist(musicAlbumByData[0].user?.id)\r\n\r\n // setartistlikes(musicAlbumByData[0]?.userlike.length > 0 ? true : false);\r\n // setartistlikesId(musicAlbumByData[0]?.userlike.length > 0\r\n // ? musicAlbumByData[0]?.userlike[0].id : 0);\r\n\r\n getFollowByArtist(musicAlbumByData[0].album.user?.id)\r\n getLikesByArtist(musicAlbumByData[0].album.user?.id)\r\n setcurrentVideoList([...itms])\r\n setcurrentVideo(itms[0].musicSrc)\r\n setcurrentItem(itms[0])\r\n setcount(count + 1)\r\n\r\n }\r\n };\r\n // const getAlbumsByArtist = async (id, i) => {\r\n // let resAlbums = await getDataApi(\r\n // constant.baseURL + \"albums/getByArtist/\" + id + \"?page=1&limit=100\"\r\n // );\r\n // if (resAlbums !== undefined && resAlbums.data !== undefined) {\r\n // console.log(\"|jayraj\", ...resAlbums.data)\r\n // if (resAlbums.data.length > 0) {\r\n // let musicAlbumByData = resAlbums.data.filter((item) => {\r\n // return item.album_id == AlbumIdByUser;\r\n // });\r\n // let musicsData = [];\r\n // let musicIds = \"\";\r\n // if (musicAlbumByData[0].musics !== undefined) {\r\n // musicAlbumByData[0].musics.map((item) => {\r\n // musicIds +=\r\n // item.musics_id !== undefined ? item.musics_id + \",\" : item.id + \",\";\r\n // musicsData.push({\r\n // id: item.musics_id,\r\n // title: item.musics_title,\r\n // name: item.musics_title,\r\n // time: item.musics_duration,\r\n // size:\r\n // item.musics_size !== undefined && item.musics_size !== null\r\n // ? item.musics_size\r\n // : 0,\r\n // singer:\r\n // musicAlbumByData[0].user.firstName +\r\n // \" \" +\r\n // musicAlbumByData[0].user.lastName,\r\n // cover: constant.musicURL,\r\n // albumname: musicAlbumByData[0].album_name,\r\n // musicSrc:\r\n // item.musics_urlImage !== undefined\r\n // ? constant.musicFileURL + item.musics_urlImage\r\n // : \"\",\r\n // likes: item.likes,\r\n // comments: item.comments,\r\n // user: musicAlbumByData[0].user,\r\n // albumId: i\r\n // });\r\n // });\r\n // }\r\n // // setcountData(countData + 1);\r\n // getLikesByArtist(musicAlbumByData[0].user?.id)\r\n // getFollowByArtist(musicAlbumByData[0].user?.id)\r\n // setcurrentVideoList([...musicsData])\r\n // setcurrentVideo(musicsData[0].musicSrc)\r\n // setcurrentItem(musicsData[0])\r\n // setcount(count + 1)\r\n // }\r\n // }\r\n // };\r\n const createLike = async (Id, i) => {\r\n //console.log(\"jjjjjj\")\r\n // if(props.data[i].extra){\r\n // props.data[i].extra=props.data[i].extra + 1\r\n // }\r\n // else{\r\n // props.data[i].extra=props.data[i].likes.length + 1\r\n // }\r\n\r\n setDisableItem(true);\r\n setMId(Id);\r\n let jsonData = props?.location?.state?.variant === \"musicjs\" ? { user: idd?.id, music: Id } : props?.location?.state?.variant === \"homebigstagejs\" ? { user: idd?.id, bigstage: Id } : props?.location?.state?.variant === \"homepodcastjs\" ? { user: idd?.id, podcasts: Id } : props?.location?.state?.variant === \"podcast1\" ? { user: idd?.id, episode: Id } : null;\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let apicom = variant === \"musicjs\" ? \"musiclikes\" : variant === \"homebigstagejs\" ? \"bigstagelikes\" : variant === \"homepodcastjs\" ? \"episodelikes\" : variant === \"podcast1\" ? \"episodelikes\" : null\r\n\r\n let respMusicLike = await postDataApi(\r\n constant.baseURL + apicom,\r\n formBody,\r\n authHeader\r\n );\r\n\r\n //console.log(respMusicLike)\r\n if (\r\n respMusicLike != undefined &&\r\n respMusicLike.status != undefined &&\r\n respMusicLike.status == 201\r\n ) {\r\n // let obj = {}\r\n // if (variant === \"musicjs\") {\r\n // obj = {\r\n // MusicLikes_id: respMusicLike.data.id,\r\n // MusicLikes_userId: respMusicLike.data.user.id\r\n // }\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.MusicLikes_id !== undefined && f.MusicLikes_id === likeId) , 1)\r\n\r\n // } else if (variant === \"homebigstagejs\") {\r\n // obj = {\r\n // bigstagelikes_id: respMusicLike.data.id,\r\n // bigstagelikes_userId: respMusicLike.data.user.id\r\n // }\r\n\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.bigstagelikes_id !== undefined && f.bigstagelikes_id === likeId) , 1)\r\n // // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.push(obj)\r\n // } else if (variant === \"homepodcastjs\") {\r\n // obj = {\r\n // podcastlikes_id: respMusicLike.data.id,\r\n // podcastlikes_userId: respMusicLike.data.user.id\r\n // }\r\n\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.bigstagelikes_id !== undefined && f.bigstagelikes_id === likeId) , 1)\r\n // // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.push(obj)\r\n // } else if (variant === \"podcast1\") {\r\n // obj = {\r\n // episodelikes_id: respMusicLike.data.id,\r\n // episodelikes_userId: respMusicLike.data.user.id\r\n // }\r\n\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.bigstagelikes_id !== undefined && f.bigstagelikes_id === likeId) , 1)\r\n // // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.push(obj)\r\n // }\r\n // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.push(obj)\r\n // setcount(count + 1)\r\n // props.setLikes(musicId, respMusicLike.data);\r\n setLikes(Id, respMusicLike.data, undefined);\r\n setDisableItem(false)\r\n }\r\n setDisableItem(false);\r\n };\r\n //console.log(props?.location?.state?.variant)\r\n const resetMusicLike = async (musicId, likeId) => {\r\n // setcurrentItem()\r\n setDisableItem(true);\r\n setMId(musicId);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n //console.log(variant)\r\n let apicom = variant === \"musicjs\" ? \"musiclikes/\" : variant === \"homebigstagejs\" ? \"bigstagelikes/\" : variant === \"homepodcastjs\" ? \"episodelikes/\" : variant === \"podcast1\" ? \"episodelikes/\" : null\r\n //console.log(apicom)\r\n let resp = await deleteDataApi(\r\n constant.baseURL + apicom + likeId,\r\n authHeader\r\n );\r\n\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n // if (variant === \"musicjs\") {\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.MusicLikes_id !== undefined && f.MusicLikes_id === likeId) , 1)\r\n // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.splice(currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.findIndex((f) => f.MusicLikes_id !== undefined && f.MusicLikes_id === likeId), 1)\r\n // } else if (variant === \"homebigstagejs\") {\r\n // // currentItem?.likes.splice(currentItem?.likes.findIndex((f) => f.bigstagelikes_id !== undefined && f.bigstagelikes_id === likeId) , 1)\r\n // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.splice(currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.findIndex((f) => f.bigstagelikes_id !== undefined && f.bigstagelikes_id === likeId), 1)\r\n // } else if (variant === \"homepodcastjs\") {\r\n\r\n // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.splice(currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.findIndex((f) => f.podcastlikes_id !== undefined && f.podcastlikes_id === likeId), 1)\r\n // } else if (variant === \"podcast1\") {\r\n\r\n // currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.splice(currentVideoList[currentVideoList.findIndex((f) => f.id === currentItem.id)].likes.findIndex((f) => f.episodelikes_id !== undefined && f.episodelikes_id === likeId), 1)\r\n // }\r\n\r\n\r\n // // currentVideoList.splice(currentVideoList.findIndex((f) => f.MusicLikes_id !== undefined && f.MusicLikes_id === likeId) , 1)\r\n // // props.setLikes(musicId);\r\n // ////console.log(currentItem)\r\n // ////console.log(currentVideoList)\r\n // setcount(count + 1)\r\n setLikes(musicId, undefined, likeId)\r\n setDisableItem(false);\r\n\r\n }\r\n setDisableItem(false);\r\n };\r\n const setLikes = (id, data, likeId) => {\r\n\r\n let bgItems = [...currentVideoList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setcurrentVideoList(bgItems)\r\n };\r\n //console.log(currentItem)\r\n const renderLikes = (id, likeData) => {\r\n //console.log(\"props.musicLikesList: \", currentItem?.likes, id);\r\n //console.log(currentItem?.likes, currentItem)\r\n // if (currentItem?.likes?.length > 0) {\r\n // //console.log(currentItem.likes)\r\n // let flt\r\n // if (props?.location?.state?.variant == \"musicjs\") {\r\n // flt = currentItem?.likes.filter(\r\n // (f) => f.MusicLikes_userId !== undefined && f.MusicLikes_userId === idd?.id\r\n // );\r\n // } else if (props?.location?.state?.variant == \"homebigstagejs\") {\r\n // flt = currentItem?.likes.filter(\r\n // (f) => f.bigstagelikes_userId !== undefined && f.bigstagelikes_userId === idd?.id\r\n // );\r\n // } else if (props?.location?.state?.variant == \"homepodcastjs\") {\r\n // flt = currentItem?.likes.filter(\r\n // (f) => f.podcastlikes_userId !== undefined && f.podcastlikes_userId === idd?.id\r\n // );\r\n // } else if (props?.location?.state?.variant == \"podcast1\") {\r\n // flt = currentItem?.likes.filter(\r\n // (f) => f.episodelikes_userId !== undefined && f.episodelikes_userId === idd?.id\r\n // );\r\n // }\r\n // let likeid = flt?.length > 0 && props?.location?.state?.variant == \"musicjs\" ? flt[0].MusicLikes_id : flt?.length > 0 && props?.location?.state?.variant == \"homebigstagejs\" ? flt[0]?.bigstagelikes_id : flt?.length > 0 && props?.location?.state?.variant == \"homepodcastjs\" ? flt[0]?.podcastlikes_id : flt?.length > 0 && props?.location?.state?.variant == \"podcast1\" ? flt[0]?.episodelikes_id : null\r\n\r\n // //console.log(flt)\r\n // if (flt?.length > 0) {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) resetMusicLike(likeid, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: idd?.id,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createLike(id, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: idd?.id,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n // } else {\r\n // return (\r\n // {\r\n // if (VerifyLoginExistOrNot()) createLike(id, i);\r\n // else {\r\n // history.push({\r\n // pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: props.ArtistUserId,\r\n // },\r\n // });\r\n // }\r\n // }}\r\n // style={{ cursor: \"pointer\", width: 25 }}\r\n // />\r\n // );\r\n // }\r\n if (likeData?.userlike?.length > 0) {\r\n return (\r\n \"Unmike\" resetEpisodeLike(likeData.id, likeData.userlike[0].id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) resetMusicLike(likeData.id, likeData.userlike[0].id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n } else {\r\n return (\r\n \"Mike\" createEpisodeLike(likeData.id)} \r\n onClick={() => {\r\n if (VerifyLoginExistOrNot()) createLike(likeData.id);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n\r\n };\r\n const formatTime = (second) => {\r\n var i = 0;\r\n var h = 0;\r\n var s = parseInt(second);\r\n if (s >= 60) {\r\n i = parseInt(s / 60);\r\n s = parseInt(s % 60);\r\n\r\n if (i >= 60) {\r\n h = parseInt(i / 60);\r\n i = parseInt(i % 60);\r\n }\r\n }\r\n if (h > 0) return [zero(h), zero(i), zero(s)].join(\":\");\r\n return [zero(i), zero(s)].join(\":\");\r\n //console.log(\"formatTime- \",[zero(i), zero(s)].join(':'));\r\n };\r\n const callbigsatge = async (i, j) => {\r\n let apiURL = constant.baseURL +\r\n 'bigstages/getAllActiveBigstageWithUserLike?page=' +\r\n page +\r\n '&limit=' +\r\n limit +\r\n '&sort=id,DESC';\r\n if (currentUserInfo !== undefined) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n // let resBigStages = await getDataApi(\r\n // constant.baseURL +\r\n // \"bigstages/getAllActiveBigstage?page=\" +\r\n // 1 +\r\n // \"&limit=\" +\r\n // 50\r\n // );\r\n let resBigStages = await getDataApi(apiURL);\r\n //console.log(resBigStages)\r\n let itms = [];\r\n await resBigStages.data.map((p) => {\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n musicSrc:\r\n p.videoURL != undefined &&\r\n p.videoURL != null &&\r\n p.videoURL != \"\"\r\n ? constant.bigStageVideoURL + p.videoURL : '',\r\n time: p.duration,\r\n albumname: p.user.firstName !== \"admin\" ? p.user.firstName + ' ' + p.user.lastName : '',\r\n comments: p.comments,\r\n likes: p.likes,\r\n thumb: constant.bigStageThumbnailURL + p.thumbnailURL,\r\n user: p.user,\r\n userlike: p.userlike\r\n });\r\n // itms.push({\r\n // id: p.bigstage_id,\r\n // name: p.bigstage_name,\r\n // musicSrc:\r\n // p.bigstage_videoURL != undefined &&\r\n // p.bigstage_videoURL != null &&\r\n // p.bigstage_videoURL != \"\"\r\n // ? constant.bigStageVideoURL + p.bigstage_videoURL : '',\r\n // time: p.bigstage_duration,\r\n // albumname: '',\r\n // comments: p.comments,\r\n // likes: p.likes,\r\n // thumb: constant.bigStageThumbnailURL + p.bigstage_thumbnailURL,\r\n // user: p.user,\r\n\r\n // });\r\n });\r\n //console.log(itms, j)\r\n // let i = itms.findIndex((f) => f.musicSrc === currentVideo)\r\n if (i) {\r\n //console.log(itms, i)\r\n setcurrentItem(itms[itms.findIndex((f) => f.musicSrc === i)])\r\n //getLikesByArtist(itms[itms.findIndex((f) => f.musicSrc === i)]?.user?.id)\r\n // setartistlikes(itms[itms.findIndex((f) => f.musicSrc === i)]?.userlike.length > 0 ? true : false);\r\n // setartistlikesId(itms[itms.findIndex((f) => f.musicSrc === i)]?.userlike.length > 0\r\n // ? itms[itms.findIndex((f) => f.musicSrc === i)]?.userlike[0].id : 0);\r\n getFollowByArtist(itms[itms.findIndex((f) => f.musicSrc === i)]?.user?.id)\r\n getLikesByArtist(itms[itms.findIndex((f) => f.musicSrc === i)]?.user?.id)\r\n // getFollowByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n } else {\r\n setcurrentItem(itms[itms.findIndex((f) => f.id === parseInt(j))])\r\n setcurrentVideo(itms[itms.findIndex((f) => f.id === parseInt(j))]?.musicSrc)\r\n // //getLikesByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n // setartistlikes(itms[itms.findIndex((f) => f.musicSrc === j)]?.userlike.length > 0 ? true : false);\r\n // setartistlikesId(itms[itms.findIndex((f) => f.musicSrc === i)]?.userlike.length > 0 \r\n // ? itms[itms.findIndex((f) => f.musicSrc === i)]?.userlike[0].id : 0);\r\n\r\n getFollowByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n getLikesByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n\r\n }\r\n\r\n setcurrentVideoList([...itms])\r\n\r\n setcount(count + 1)\r\n // setcurrentItem(itms[0])\r\n // setcurrentItem(itms[0])\r\n }\r\n const callpodcast = async (i) => {\r\n //console.log(i)\r\n // let resPodcasts = await getDataApi(\r\n // constant.baseURL +\r\n // \"podcasts/getByType/video?page=\" +\r\n // 1 +\r\n // \"&limit=\" +\r\n // 50 +\r\n // \"&sort=id,DESC\"\r\n // );\r\n\r\n // let apiURL = constant.baseURL + '/podcasts/getByTypeWithUserLike/video' + '?page=' + page + '&limit=' + limit\r\n // if (currentUserInfo !== undefined) {\r\n // apiURL += \"&userId=\" + currentUserInfo.id;\r\n // }\r\n // let resPodcasts = await getDataApi(apiURL);\r\n\r\n let apiURL = constant.baseURL + \"episode/getEpisodesByPodcastsWithUserLike?page=\" + page + \"&limit=\" + limit + \"&podcastsId=\" + i;\r\n if (currentUserInfo !== undefined) {\r\n apiURL += \"&userId=\" + currentUserInfo.id\r\n }\r\n let resEpisodes = await getDataApi(apiURL);\r\n\r\n //console.log(resEpisodes)\r\n let itms = [];\r\n resEpisodes.data.map((p) => {\r\n p.musicSrc = p.urlImage !== undefined\r\n ? constant.podcastepisodeFileURL + p.urlImage\r\n : \"\"\r\n p.time = p.duration\r\n p.name = p.title\r\n p.singer =\r\n p.artist\r\n p.user =\r\n p.podcasts.artist\r\n p.cover = constant.podcastepisodeFileURL + p.thumbnailUrlImage\r\n // itms.push({\r\n // id: p.podcasts_id,\r\n // name: p.podcasts_name,\r\n // musicSrc:\r\n // p.podcasts_urlPodcast != undefined &&\r\n // p.podcasts_urlPodcast != null &&\r\n // p.podcasts_urlPodcast != \"\"\r\n // ? constant.podcastFileURL + p.podcasts_urlPodcast : '',\r\n // time: p.podcasts_duration,\r\n // albumname: '',\r\n // comments: p.comments,\r\n // likes: p.likes,\r\n // user: p.user,\r\n // thumb: constant.podcastFileURL + p.podcasts_urlImage\r\n // });\r\n });\r\n //console.log(resEpisodes.data)\r\n setcurrentVideo(resEpisodes.data[0].musicSrc)\r\n setcurrentVideoList(resEpisodes.data)\r\n setcurrentItem(resEpisodes.data[0])\r\n setcount(count + 1)\r\n getLikesByArtist(resEpisodes.data[0].user?.id);\r\n getFollowByArtist(resEpisodes.data[0].user?.id);\r\n // setvarient(\"podcast1\") \r\n //console.log(resPodcasts, itms)\r\n // let x = itms.findIndex((f) => f.musicSrc === currentVideo)\r\n // if (i) {\r\n // //setcurrentItem(itms[itms.findIndex((f) => f.musicSrc === i)])\r\n // //getLikesByArtist(itms[itms.findIndex((f) => f.musicSrc === i)]?.user?.id)\r\n // setcurrentItem(itms[0]);\r\n // setartistlikes(itms[0]?.userlike.length > 0 ? true : false);\r\n // setartistlikesId(itms[0]?.userlike.length > 0\r\n // ? itms[0]?.userlike[0].id : 0);\r\n // getFollowByArtist(itms[0]?.user?.id)\r\n // setcurrentVideo(itms[0].musicSrc);\r\n // } else {\r\n // setcurrentItem(itms[itms.findIndex((f) => f.id === parseInt(j))])\r\n // setcurrentVideo(itms[itms.findIndex((f) => f.id === parseInt(j))]?.musicSrc)\r\n // getLikesByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n // getFollowByArtist(itms[itms.findIndex((f) => f.id === parseInt(j))]?.user?.id)\r\n // }\r\n // setcurrentItem(itms[x])\r\n // setcurrentVideoList([...itms])\r\n // console.log(itms.findIndex((f) => f.musicSrc === currentVideo))\r\n\r\n\r\n setcount(count + 1)\r\n }\r\n const zero = (v) => {\r\n return v >> 0 < 10 ? \"0\".concat(v) : v;\r\n };\r\n const updatecomment = () => {\r\n setcount(count + 1)\r\n // setcurrentItem(currentItem)\r\n // console.log(commentindex)\r\n // if(props.data[commentindex].extra1){\r\n // props.data[commentindex].extra1=props.data[commentindex].extra1 + 1\r\n // }else{\r\n // props.data[commentindex].extra1=props.data[commentindex].comments.length+1\r\n // }\r\n\r\n }\r\n const callnewsong = (song) => {\r\n //console.log(song)\r\n setcurrentVideo(song.musicSrc)\r\n setcurrentItem(song)\r\n getLikesByArtist(song?.user?.id)\r\n getFollowByArtist(song?.user?.id)\r\n setcount(count + 1)\r\n\r\n }\r\n\r\n //console.log(window.screen.width)\r\n const navigateToExternalLink = (url) => {\r\n //console.log(\"url: \", url);\r\n if (url.indexOf(\"http://\") !== -1 || url.indexOf(\"https://\") !== -1) {\r\n window.open(url, \"_blank\");\r\n return null;\r\n } else {\r\n addErrorMesage(\"URL should start with http or https\");\r\n return;\r\n }\r\n };\r\n const createFollow = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (idd !== undefined) {\r\n let jsonData = { user: idd.id, follower: currentItem?.user?.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n //console.log(jsonData);\r\n let respFollow = await postDataApi(\r\n constant.baseURL + \"follows\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respFollow: \", respFollow);\r\n if (\r\n respFollow !== undefined &&\r\n respFollow.status !== undefined &&\r\n respFollow.status == 201\r\n ) {\r\n setartistfollowId(respFollow.data.id)\r\n setartistfollow(true)\r\n } else {\r\n setartistfollow(false)\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n\r\n });\r\n }\r\n };\r\n // satyam End\r\n const resetFollow = async () => {\r\n if (currentItem?.user !== undefined) {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"follows/\" + artistfollowId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setartistfollow(false)\r\n }\r\n }\r\n };\r\n const createArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (idd !== undefined) {\r\n let jsonData = { user: idd?.id, artist: currentItem?.user?.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(respArtistLike)\r\n if (\r\n respArtistLike !== undefined &&\r\n respArtistLike.status !== undefined &&\r\n respArtistLike.status === 201\r\n ) {\r\n setartistlikesId(respArtistLike.data.id)\r\n setartistlikes(true)\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n // state: {\r\n // prevPath: path.pathname,\r\n // userId: currentItem?.user.id,\r\n // },\r\n });\r\n }\r\n };\r\n const resetArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentItem?.user !== undefined) {\r\n // setbuttonDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + artistlikesId,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setartistlikes(false)\r\n }\r\n }\r\n } else {\r\n }\r\n };\r\n const getFollowByArtist = async (id) => {\r\n if (idd !== undefined) {\r\n let resArtistFollow = await getDataApi(\r\n constant.baseURL +\r\n \"follows?filter=user.id||$eq||\" +\r\n idd?.id +\r\n \"&filter=follower.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"resArtistFollow: \", resArtistFollow);\r\n if (resArtistFollow !== undefined && resArtistFollow.length > 0) {\r\n setartistfollow(true)\r\n setartistfollowId(resArtistFollow[0].id)\r\n } else {\r\n setartistfollow(false)\r\n }\r\n }\r\n };\r\n const getLikesByArtist = async (id) => {\r\n //console.log(\"getLikesByArtist - idd: \", idd);\r\n if (idd !== undefined) {\r\n let resArtistLikes = await getDataApi(\r\n constant.baseURL +\r\n \"likes?filter=user.id||$eq||\" +\r\n idd?.id +\r\n \"&filter=artist.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"getLikesByArtist - resArtistLikes: \", resArtistLikes);\r\n if (resArtistLikes !== undefined && resArtistLikes.length > 0) {\r\n setartistlikes(true)\r\n setartistlikesId(resArtistLikes[0].id)\r\n } else {\r\n setartistlikes(false)\r\n }\r\n }\r\n };\r\n const onProgress = (i) => {\r\n //console.log(i)\r\n if (i.played == 1) {\r\n //console.log(currentItem)\r\n const index = currentVideoList.findIndex(object => {\r\n return object.id === currentItem.id;\r\n });\r\n //console.log(index)\r\n if (index !== (currentVideoList.length - 1)) {\r\n callnewsong(currentVideoList[index + 1])\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n const idValue = queryString.parse(window.location.search)\r\n //console.log(\"idValue---\", idValue)\r\n //console.log(props?.location?.state, window.screen.width)\r\n if (window.screen.width > 767) {\r\n setwebview(true)\r\n } else {\r\n setwebview(false)\r\n }\r\n // console.log(searchData.itemId)\r\n setvariant(props?.location?.state?.variant)\r\n if (props?.location?.state?.variant == \"musicjs\" || idValue?.variant == \"musicjs\") {\r\n if (props?.location?.state?.variant1 == \"musicjs\" || idValue?.variant == \"musicjs\") {\r\n if (idValue?.id) {\r\n getMusicByAlbumId(idValue?.id)\r\n } else {\r\n getMusicByAlbumId(props?.location?.state?.id)\r\n }\r\n\r\n } else {\r\n setcurrentVideo(props?.location?.state?.url)\r\n setcurrentVideoList(props.location.state?.list)\r\n setcurrentItem(props?.location?.state?.details)\r\n setcount(count + 1)\r\n getLikesByArtist(props?.location?.state?.details?.user?.id);\r\n getFollowByArtist(props?.location?.state?.details?.user?.id);\r\n }\r\n setvarient(\"musicjs\")\r\n } else if (props?.location?.state?.variant == \"homebigstagejs\" || idValue?.variant == \"homebigstagejs\") {\r\n setcurrentVideo(props?.location?.state?.url)\r\n callbigsatge(props?.location?.state?.url, idValue?.id)\r\n setvarient(\"homebigstagejs\")\r\n } else if (props?.location?.state?.variant == \"homepodcastjs\" || idValue?.variant == \"homepodcastjs\") {\r\n setcurrentVideo(props?.location?.state?.url)\r\n //callpodcast(props?.location?.state?.url, idValue?.id)\r\n callpodcast(props?.location?.state?.id, idValue?.id);\r\n setvarient(\"homepodcastjs\")\r\n } else if (props?.location?.state?.variant == \"podcast1\" || idValue?.variant == \"podcast1\") {\r\n if (idValue?.id) {\r\n callpodcast(idValue?.id)\r\n } else {\r\n setcurrentVideo(props?.location?.state?.url)\r\n setcurrentVideoList(props.location.state?.list)\r\n setcurrentItem(props?.location?.state?.details)\r\n setcount(count + 1)\r\n getLikesByArtist(props?.location?.state?.details?.user?.id);\r\n getFollowByArtist(props?.location?.state?.details?.user?.id);\r\n setvarient(\"podcast1\")\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n //console.log(currentItem)\r\n // const decoratedOnClick = useAccordionButton(eventKey, onClick);\r\n return (\r\n <>\r\n {webview ?
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {renderplayer()} */}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{props?.location?.state?.variant == \"homebigstagejs\" ? \"Big Stage\" : props?.location?.state?.variant == \"homepodcastjs\" ? currentVideoList[0]?.albumname : props?.location?.state?.variant == \"musicjs\" ? currentVideoList?.length > 0 && currentVideoList[0]?.albumname : props?.location?.state?.variant == \"podcast1\" ? currentVideoList?.length > 0 && currentVideoList[0]?.albumname : \"My Music\"}

\r\n {/*

Youtube

*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {currentVideoList?.length > 0 && currentVideoList.map((song, index) => {\r\n return (\r\n
callnewsong(song)}>\r\n
\r\n
\r\n
{song.musicSrc == currentVideo ? : null}
\r\n
\r\n
\r\n {props?.location?.state?.variant == \"homebigstagejs\" || props?.location?.state?.variant == \"homepodcastjs\" ? :\r\n }\r\n
{song.time !== undefined &&\r\n song.time !== null &&\r\n song.time !== NaN\r\n ? formatTime(song.time)\r\n : \"0:00\"}
\r\n
\r\n
\r\n

{song.name}

\r\n

\r\n {song.albumname}

\r\n
\r\n
\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{currentItem?.name}\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n {/*
414,630 views Dec 6, 2020\r\n
*/}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === currentItem.id ? DisableButtonLoader() :\r\n <>\r\n {renderLikes(currentItem?.id, currentItem)}\r\n {currentItem?.likes?.length}\r\n \r\n }\r\n {/*
*/}\r\n
\r\n
\r\n
\r\n setShowShareToModal(true)} />\r\n
\r\n
\r\n setreportshow(true)} />\r\n
\r\n\r\n
\r\n {/*
*/}\r\n\r\n {/* 2k */}\r\n\r\n\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n {\r\n currentItem?.user !== undefined && currentItem?.user?.firstName !== undefined\r\n && currentItem?.user?.firstName !== null && currentItem?.user?.firstName !== \"\"\r\n && currentItem?.user?.firstName !== \"admin\" &&\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {currentItem?.user !== undefined\r\n ? String(currentItem?.user?.firstName + \" \" + currentItem?.user?.lastName)\r\n : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {currentItem?.user?.biography !== null && currentItem?.user?.biography !== \"null\" && currentItem?.user?.biography !== \"undefined\"\r\n ? String(currentItem?.user?.biography) : \"\"}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {artistlikes === true ? (\r\n {\r\n resetArtistLike();\r\n }}\r\n >\r\n\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n createArtistLike()}\r\n >\r\n {/* */}\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n {/* \r\n \r\n artistfollow === true ? resetFollow() : createFollow()\r\n }\r\n >\r\n {artistfollow === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {artistfollow === true ? \"UnFollow\" : \"Follow\"}\r\n \r\n \r\n
*/}\r\n \r\n \r\n artistfollow === true ? resetFollow() : createFollow()\r\n }\r\n >\r\n {artistfollow === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {artistfollow === true ? \"UnFollow\" : \"Follow\"}\r\n \r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
Connect with Artist
\r\n
\r\n
\r\n {/*
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n {/*
*/}\r\n {/*
\r\n BIOGRAPHY\r\n
*/}\r\n {/*
\r\n {currentItem?.user? !== undefined ? currentItem?.user?.biography : \"\"}\r\n
*/}\r\n {/*
\r\n
\r\n
Connect with Artist
\r\n
\r\n
*/}\r\n
\r\n {currentItem?.user?.appleMusicURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.appleMusicURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {currentItem?.user?.applePodcastURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.applePodcastURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {currentItem?.user?.faceookURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.faceookURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {currentItem?.user?.instagramURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.instagramURL);\r\n }}\r\n >\r\n \r\n
\r\n
)}\r\n {currentItem?.user?.iTunesURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.iTunesURL);\r\n }}\r\n >\r\n \r\n
\r\n
)}\r\n\r\n {currentItem?.user?.spotifyURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.spotifyURL);\r\n }}\r\n >\r\n \r\n
\r\n
)}\r\n {currentItem?.user?.tikTokURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.tikTokURL);\r\n }}\r\n >\r\n \r\n
\r\n
)}\r\n {currentItem?.user?.youtubeURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.youtubeURL);\r\n }}\r\n >\r\n \r\n\r\n
\r\n )}\r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n \r\n }\r\n
\r\n
\r\n
414,630 views Dec 6, 2020\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
127k
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dislike
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Share
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Report
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{currentItem?.comments?.length > 0 ? currentItem?.comments?.length + \" Comments\" : \"Comments\"}
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n {currentItem?.id ? {\r\n // setShowCommentSongModal(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={true}\r\n // setUpdate={() => updatecomment()}\r\n /> : null}\r\n
\r\n\r\n
\r\n :\r\n
\r\n
\r\n {/* {renderplayer()} */}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{currentItem?.name}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*
414,630 views Dec 6, 2020\r\n
*/}\r\n
\r\n {/*
\r\n
{renderLikes(currentItem?.id,currentItem)}{currentItem?.likes?.length}\r\n 2k\r\n 2k\r\n setreportshow(true)} />\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n {/*
414,630 views Dec 6, 2020\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === currentItem.id ? DisableButtonLoader() :\r\n <>\r\n
{renderLikes(currentItem?.id, currentItem)}
\r\n
{currentItem?.likes?.length}
\r\n \r\n }\r\n
\r\n
\r\n {/*
\r\n
\r\n
\r\n
Dislike
\r\n
\r\n
*/}\r\n
\r\n
\r\n
setShowShareToModal(true)} />
\r\n
Share
\r\n
\r\n
\r\n
\r\n
\r\n
setreportshow1(true)} />
\r\n
Report
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {\r\n currentItem?.user !== undefined && currentItem?.user?.firstName !== undefined\r\n && currentItem?.user?.firstName !== null && currentItem?.user?.firstName !== \"\"\r\n && currentItem?.user?.firstName !== \"admin\" &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {currentItem?.user !== undefined\r\n ? String(currentItem?.user?.firstName + \" \" + currentItem?.user?.lastName)\r\n : \"\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {currentItem?.user?.biography !== null && currentItem?.user?.biography !== \"null\" && currentItem?.user?.biography !== \"undefined\" ? String(currentItem?.user?.biography) : \"\"}\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n {artistlikes === true ? (\r\n {\r\n resetArtistLike();\r\n }}\r\n >\r\n\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n createArtistLike()}\r\n >\r\n {/* */}\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n \r\n \r\n artistfollow === true ? resetFollow() : createFollow()\r\n }\r\n >\r\n {artistfollow === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {artistfollow === true ? \"UnFollow\" : \"Follow\"}\r\n \r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n }\r\n \r\n {\r\n currentItem?.user !== undefined && currentItem?.user?.firstName !== undefined\r\n && currentItem?.user?.firstName !== null && currentItem?.user?.firstName !== \"\"\r\n && currentItem?.user?.firstName !== \"admin\" &&\r\n
\r\n
\r\n
Connect with Artist
\r\n
\r\n
\r\n }\r\n
\r\n {currentItem?.user?.appleMusicURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.appleMusicURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {currentItem?.user?.applePodcastURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.applePodcastURL);\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n {currentItem?.user?.faceookURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.faceookURL);\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n {currentItem?.user?.instagramURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.instagramURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {currentItem?.user?.iTunesURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.iTunesURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n\r\n {currentItem?.user?.spotifyURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.spotifyURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {currentItem?.user?.tikTokURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.tikTokURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {currentItem?.user?.youtubeURL && (
\r\n {\r\n navigateToExternalLink(currentItem?.user?.youtubeURL);\r\n }}\r\n >\r\n \r\n\r\n
\r\n )}\r\n \r\n\r\n
\r\n\r\n
\r\n
{currentItem?.comments?.length > 0 ? currentItem?.comments?.length + \" Comments\" : \"Comments\"}
\r\n
\r\n
\r\n setcommentshow(true)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{props?.location?.state?.variant == \"homebigstagejs\" ? \"Big Stage\" : props?.location?.state?.variant == \"homepodcastjs\" ? currentVideoList[0]?.albumname : props?.location?.state?.variant == \"musicjs\" ? currentVideoList?.length && currentVideoList[0]?.albumname : props?.location?.state?.variant == \"podcast1\" ? currentVideoList?.length && currentVideoList[0]?.albumname : \"My Music\"}
\r\n
\r\n
\r\n
\r\n {currentVideoList?.length > 0 && currentVideoList.map((song, index) => {\r\n return (\r\n\r\n
callnewsong(song)}>\r\n
\r\n
\r\n {props?.location?.state?.variant == \"homebigstagejs\" || props?.location?.state?.variant == \"homepodcastjs\" ? :\r\n }\r\n
{song.time !== undefined &&\r\n song.time !== null &&\r\n song.time !== NaN\r\n ? formatTime(song.time)\r\n : \"0:00\"}
\r\n
\r\n
\r\n
\r\n
\r\n {props?.location?.state?.variant !== \"homebigstagejs\" ?
\r\n \r\n
: null}\r\n
\r\n
{song.name}
\r\n
{song.albumname}
\r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n })}\r\n \r\n \r\n\r\n \r\n Comments\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n Post Comment\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dharmik Patel
\r\n
20 Dec 2022
\r\n
In publishing and graphic design, Lorem ipsum is a placeholder text commonly
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dharmik Patel
\r\n
20 Dec 2022
\r\n
In publishing and graphic design, Lorem ipsum is a placeholder text commonly
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dharmik Patel
\r\n
20 Dec 2022
\r\n
In publishing and graphic design, Lorem ipsum is a placeholder text commonly
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dharmik Patel
\r\n
20 Dec 2022
\r\n
In publishing and graphic design, Lorem ipsum is a placeholder text commonly
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dharmik Patel
\r\n
20 Dec 2022
\r\n
In publishing and graphic design, Lorem ipsum is a placeholder text commonly
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n
}\r\n {currentItem?.id ? {\r\n setreportshow(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => updatecomment()}\r\n /> : null}\r\n {currentItem?.id ? {\r\n setreportshow1(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => updatecomment()}\r\n /> : null}\r\n {currentItem?.id ? {\r\n setcommentshow(false)\r\n // setShowCommentSongModal(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={true}\r\n setUpdate={() => updatecomment()}\r\n /> : null}\r\n\r\n {showShareToModal === true && (\r\n <>\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from={varient}\r\n />\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default VideoPlayer\r\n\r\n\r\n\r\n\r\n","import React, { useState } from \"react\";\r\nimport { Link, NavLink, useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { deleteDataApi } from \"../../utility/apiCall\";\r\nimport { Modal, ModalBody, Button } from \"react-bootstrap\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\n\r\nconst Follows = ({\r\n show,\r\n handleClose,\r\n activeTab,\r\n followedData,\r\n followingData,\r\n refreshData,\r\n flag\r\n}) => {\r\n \r\n const resetFollow = async (index) => {\r\n let followItem = followedData[index];\r\n if (followItem !== undefined) {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"follows/\" + followItem.id,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n addSuccessMesage(\"UnFollowed\");\r\n refreshData();\r\n }else{\r\n addErrorMesage(\"Error while unfollow\");\r\n refreshData();\r\n }\r\n }\r\n };\r\n const renderFollowedData = () => {\r\n if (followedData.length > 0) {\r\n return followedData.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"/\r\n
\r\n
\r\n
\r\n {item.user.firstName+\" \"+item.user.lastName}\r\n
\r\n
{item.user.phone}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n } \r\n }\r\n const renderFollowingData = () => {\r\n if (followingData.length > 0) {\r\n return followingData.map((item, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"/\r\n
\r\n
\r\n
\r\n {item.follower.firstName+\" \"+item.follower.lastName}\r\n
\r\n
{item.follower.phone}
\r\n
\r\n
\r\n {/* Following */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n } else {\r\n return
{constant.noDataFoundLabel}
;\r\n } \r\n }\r\n return (\r\n <>\r\n \r\n {/* \r\n \r\n {title}\r\n \r\n */}\r\n \r\n
\r\n \r\n {flag==\"user\"?null:\r\n
\r\n
\r\n
\r\n {renderFollowedData()}\r\n
\r\n
\r\n
\r\n
}\r\n \r\n
\r\n
\r\n
\r\n {renderFollowingData()}\r\n
\r\n
\r\n
\r\n
\r\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 Follows;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n getDataApi,\r\n patchDataApi,\r\n postDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport validator from \"validator\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport avatarImg from \"../../assets/Images/user.png\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { Tabs, Tab, Modal, ModalBody, Button } from \"react-bootstrap\";\r\nimport { BsEyeFill, BsEyeSlashFill } from \"react-icons/bs\";\r\nimport { AiFillWarning, AiFillCloseSquare, AiFillEdit } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Follows from \"../../components/Follows/Follows\";\r\nimport OtpScreenForEmailVerify from \"../../components/OtpScreenForEmailVerify/OtpScreenForEmailVerify\";\r\n//const passwordReg = /^(?=.*[0-9])[a-zA-Z0-9!@#$%^&*]{6,20}$/;\r\nconst passwordReg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/;\r\n\r\nconst regexURL =\r\n /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/;\r\nexport default function Profile() {\r\n var history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [profileReadOnly, setprofileReadOnly] = useState(true);\r\n const [showFollows, setShowFollows] = useState(false);\r\n const [activeTab, setActiveTab] = useState(\"Followers\");\r\n const [artistsFollowedData, setArtistsFollowedData] = useState([]);\r\n const [showConfirmModal, setShowConfirmModal] = useState(false);\r\n const [selectedUserPictue, setSelectedUserPicture] = useState([]);\r\n const [artistsFollowingData, setArtistsFollowingData] = useState([]);\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n //width: 395,\r\n },\r\n };\r\n\r\n const [personalInfoData, setPersonalInfoData] = useState({\r\n id: 0,\r\n profilImg: avatarImg,\r\n profilePicture: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n phoneNo: \"\",\r\n // title: \"\",\r\n biography: \"\",\r\n // fullAddress: \"\",\r\n userName: \"\",\r\n subscribed: false,\r\n countryCode: \"\",\r\n city: \"\",\r\n state: \"\",\r\n country: \"\",\r\n cityList: [],\r\n stateList: [],\r\n countryList: [],\r\n type: [],\r\n category: [],\r\n urlImage: \"\",\r\n usertype: \"\",\r\n countryId: 1,\r\n stateId: 1,\r\n cityId: 1,\r\n });\r\n const [basicInfo, setBasicInfo] = useState({\r\n profilImg: avatarImg,\r\n fullName: \"\",\r\n phoneNo: \"\",\r\n playlist: 0,\r\n followers: 0,\r\n following: 0,\r\n });\r\n\r\n // satyam Agarwal 22/09/21\r\n\r\n const [emailConfirmDialog, setEmailConfirmDialog] = useState(false);\r\n\r\n //const [activeTab, setActiveTab] = useState(\"personalInfo\");\r\n const [personalTabMode, setPersonalTabMode] = useState(\"view\");\r\n const [selectedTypes, setTypes] = useState([]);\r\n const [selectedCategory, setCategory] = useState([]);\r\n // const [readOnlySelectedTypes, setReadyOnlySelectedTypes] = useState([]);\r\n // const [readOnlySelectedCategory, setReadOnlySelectedCategory] = useState([]);\r\n const [existingUserCategoryList, setExistingUserCategoryList] = useState([]);\r\n const [flag, validate] = useState(false);\r\n const [firstNameErr, setFirstNameErr] = useState(false);\r\n const [firstNameErrMsg, setFirstNameErrMsg] = useState(\"\");\r\n const [lastNameErr, setLastNameErr] = useState(false);\r\n const [lastNameErrMsg, setLastNameErrMsg] = useState(\"\");\r\n const [emailErr, setEmailErr] = useState(false);\r\n\r\n // satyam Change Email\r\n const [changeEmailErr, setChangeEmailErr] = useState(false);\r\n const [otpScreenHideOrShow, setOtpScreenHideOrShow] = useState(false);\r\n const [OTPEmailVerifyDetails, setOTPEmailVerifyDetails] = useState(null);\r\n\r\n const [inputVal, setInputVal] = useState({\r\n input1: \"\",\r\n input2: \"\",\r\n input3: \"\",\r\n input4: \"\",\r\n input5: \"\",\r\n });\r\n const input1Ref = useRef();\r\n const input2Ref = useRef();\r\n const input3Ref = useRef();\r\n const input4Ref = useRef();\r\n const input5Ref = useRef();\r\n const [OTPError, setError] = useState({ isOtpErrorShow: false });\r\n const [OTPErrormsg, setOTPErrorMsg] = useState(\"\");\r\n\r\n const [emailErrMsg, setEmailErrMsg] = useState(\"\");\r\n const [userNameErr, setuserNameErr] = useState(false);\r\n const [userNameErrMsg, setuserNameErrMsg] = useState(\"\");\r\n const [phoneNoErr, setPhoneNoErr] = useState(false);\r\n const [phoneNoErrMsg, setPhoneNoErrMsg] = useState(\"\");\r\n const [titleErr, setTitleErr] = useState(false);\r\n const [titleErrMsg, setTitleErrMsg] = useState(\"\");\r\n const [biographyErr, setBiographyErr] = useState(false);\r\n const [biographyErrMsg, setBiographyErrMsg] = useState(\"\");\r\n // const [fullAddressErr, setFullAddressErr] = useState(false);\r\n // const [fullAddressErrMsg, setFullAddressErrMsg] = useState(\"\");\r\n const [typesErr, setTypesErr] = useState(false);\r\n const [typesErrMsg, setTypesErrMsg] = useState(\"\");\r\n const [categoryErr, setCategoryErr] = useState(false);\r\n const [categoryErrMsg, setCategoryErrMsg] = useState(\"\");\r\n const [isPasswordShow, setPasswordShow] = useState(true);\r\n const [isPasswordShow1, setPasswordShow1] = useState(true);\r\n const [isPasswordShow2, setPasswordShow2] = useState(true);\r\n\r\n // -----------------------------------\r\n const [switchState, setSwitchState] = React.useState({\r\n switch1: false,\r\n switch2: false,\r\n switch3: false,\r\n switch4: false,\r\n });\r\n const [subcategories, setSubcategories] = useState([]);\r\n const [settingsTabState, setSettingsTabState] = React.useState({\r\n streamingQualityList: [\r\n { id: 1, name: \"High\" },\r\n { id: 2, name: \"Low\" },\r\n ],\r\n downloadQualityList: [\r\n { id: 1, name: \"High\" },\r\n { id: 2, name: \"Low\" },\r\n ],\r\n selectedStreamingQuality: \"\",\r\n selectedDownloadQuality: \"\",\r\n downloadUsingCellular: false,\r\n offlineMode: false,\r\n compressAllMyTracks: false,\r\n isPasswordChangeSecShow: false,\r\n isCurrentPasswordShow: false,\r\n isNewPasswordShow: false,\r\n isConfirmPasswordShow: false,\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmPassword: \"\",\r\n });\r\n const [currentPasswordErr, setCurrentPasswordErr] = useState({\r\n isCurrentPasswordErrShow: false,\r\n currentPasswordErrMsg: \"\",\r\n });\r\n const [newPasswordErr, setNewPasswordErr] = useState({\r\n isNewPasswordErrShow: false,\r\n newPasswordErrMsg: \"\",\r\n });\r\n const [confirmPasswordErr, seConfirmPasswordErr] = useState({\r\n isConfirmPasswordErrShow: false,\r\n confirmPasswordErrMsg: \"\",\r\n });\r\n const [socialMediaProfileVal, setSocialMediaProfileVal] = useState({\r\n facebook: \"\",\r\n instagram: \"\",\r\n youtube: \"\",\r\n tiktok: \"\",\r\n spotify: \"\",\r\n itune: \"\",\r\n apple: \"\",\r\n applePodcastURL: \"\"\r\n\r\n });\r\n const [isFacebookErrShow, setFacebookErr] = useState(false);\r\n const [isInstagramErrShow, setInstagramErr] = useState(false);\r\n const [isTwitterErrShow, setTwitterErr] = useState(false);\r\n const [countryId, setcountryId] = useState(personalInfoData.countryId);\r\n const [stateId, setstateId] = useState(personalInfoData.stateId);\r\n const getUserMiniDashBoard = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resUseInfo = await getDataApi(\r\n constant.baseURL + \"user/getUserMiniDashboard/\" + currentUserInfo.id\r\n );\r\n //console.log(\"resUseInfo: \", resUseInfo);\r\n if (resUseInfo != undefined) {\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n // profilImg: avatarImg,\r\n fullName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.firstName + \" \" + currentUserInfo.lastName\r\n : \"\",\r\n phoneNo: currentUserInfo != undefined ? currentUserInfo.phone : \"\",\r\n followers: resUseInfo.followed !== undefined ? resUseInfo.followed.length : \"\",\r\n following: resUseInfo.following !== undefined ? resUseInfo.following.length : \"\",\r\n playlist: resUseInfo.playlists !== undefined ? resUseInfo.playlists.length : \"\",\r\n };\r\n });\r\n }\r\n }\r\n };\r\n const getCountries = async () => {\r\n //console.log(\"Before Get Countries: \", personalInfoData);\r\n let resCountries = await getDataApi(constant.baseURL + \"countries/getActiveCountries\");\r\n if (resCountries != undefined && resCountries.length > 0) {\r\n //setCountries([...resCountries]);\r\n let fUserCountry = resCountries.filter(\r\n (f) => f.id == currentUserInfo.countryId\r\n );\r\n let countryName =\r\n fUserCountry.length > 0 ? fUserCountry[0].name : resCountries[0].name;\r\n //setPersonalInfoData({...personalInfoData, country: countryName, countryList: [...resCountries] });\r\n\r\n //console.log(\"Country name: \", countryName);\r\n\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n country: countryName,\r\n countryCode:\r\n fUserCountry.length > 0 ? \"+\" + fUserCountry[0].callingCodes : \"\",\r\n countryList: [...resCountries],\r\n stateList: [],\r\n cityList: [],\r\n };\r\n });\r\n getStates(\r\n fUserCountry.length > 0 ? fUserCountry[0].id : resCountries[0].id\r\n );\r\n //console.log(\"After Get Countries: \", personalInfoData);\r\n }\r\n };\r\n // -------------------------getStates\r\n const getStates = async (countryId) => {\r\n let resStates = await getDataApi(\r\n constant.baseURL + \"states/getActiveStatesByCountry/\" + countryId\r\n );\r\n //console.log(resStates);\r\n if (resStates != undefined && resStates.length > 0) {\r\n //setStates([...resStates]);\r\n let fUserState = resStates.filter(\r\n (f) => f.id == personalInfoData.stateId\r\n );\r\n //setPersonalInfoData({...personalInfoData, state: (fUserState.length > 0) ? fUserState[0].name : '', stateList: resStates });\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n state: fUserState.length > 0 ? fUserState[0].name : resStates[0].name,\r\n stateList: [...resStates],\r\n cityList: [],\r\n };\r\n });\r\n getCities(resStates[0].id);\r\n } else {\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n state: \"\",\r\n stateList: [],\r\n };\r\n });\r\n }\r\n };\r\n\r\n // --------------------------get Cities\r\n const getCities = async (stateId) => {\r\n // window.alert(\"hi\");\r\n let resCities = await getDataApi(\r\n constant.baseURL + \"cities/getActiveCitiesByState/\" + stateId\r\n );\r\n //console.log(resCities);\r\n if (resCities != undefined && resCities.length > 0) {\r\n //setCities([...resCities]);\r\n let fUserCity = resCities.filter((f) => f.id == personalInfoData.cityId);\r\n //setPersonalInfoData({...personalInfoData, city: (fUserCity.length > 0) ? fUserCity[0].name : '', cityList: resCities});\r\n //console.log(fUserCity);\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n city: fUserCity.length > 0 ? fUserCity[0].name : resCities[0].name,\r\n cityList: [...resCities],\r\n };\r\n });\r\n } else {\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n city: \"\",\r\n cityList: [],\r\n };\r\n });\r\n }\r\n };\r\n // -------------------------------------getCategories\r\n\r\n const getCategories = async () => {\r\n let resCategories = await getDataApi(\r\n constant.baseURL + \"categories?filter=isDeleted||$eq||0\"\r\n );\r\n if (resCategories != undefined && resCategories.length > 0) {\r\n //setPersonalInfoData({ ...personalInfoData, type: resCategories});\r\n //setCategories([...resCategories]);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, type: [...resCategories] };\r\n });\r\n //set user selected types and category in case of user is Artist\r\n let resUserTypes = await getDataApi(\r\n constant.baseURL +\r\n \"selectedcategories?filter=user.id||$eq||\" +\r\n currentUserInfo.id+\"&filter=subcategory.status||$eq||1&filter=subcategory.isDeleted||$eq||0\"\r\n );\r\n //console.log(resUserTypes);\r\n if (resUserTypes != undefined && resUserTypes.length > 0) {\r\n let subTypeItems = [];\r\n resUserTypes.map((t) => {\r\n if (t.subcategory !== null) {\r\n subTypeItems.push(t.subcategory);\r\n }\r\n });\r\n setCategory(subTypeItems);\r\n setExistingUserCategoryList(resUserTypes);\r\n\r\n let typeItems = [];\r\n resUserTypes.map((t) => {\r\n let fltType = typeItems.filter((f) => f.id === t.category.id);\r\n if (fltType.length === 0) {\r\n typeItems.push(t.category);\r\n }\r\n });\r\n\r\n //console.log(\"Type:\", typeItems);\r\n setTypes(typeItems);\r\n\r\n getSubcategoriesByCategories(typeItems);\r\n }\r\n }\r\n };\r\n // -----------------------------------------getSubCategories\r\n const getSubcategoriesByCategories = async (categories) => {\r\n //console.log(\"categories: \", categories);\r\n let arrCategories = [];\r\n if (categories !== undefined && categories.length > 0) {\r\n categories.map((c) => {\r\n arrCategories.push(c.id);\r\n });\r\n }\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"subcategories?filter=isDeleted||$eq||0&filter=category.id||$in||\" +\r\n arrCategories\r\n );\r\n //console.log(\"SubCategories:\", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setSubcategories([...resSubcategories]);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, category: [...resSubcategories] };\r\n });\r\n }\r\n };\r\n const onSelectType = (selectValArr) => {\r\n setTypes(selectValArr);\r\n setTypesErr(false);\r\n loadSubcategoriesByCategory(selectValArr);\r\n };\r\n const onRemoveSelectedType = (removedValArr) => {\r\n setTypes(removedValArr);\r\n loadSubcategoriesByCategory(removedValArr);\r\n };\r\n\r\n const onSelectCat = (selectValArr) => {\r\n setCategory(selectValArr);\r\n setCategoryErr(false);\r\n };\r\n const onRemoveSelectedCat = (removedValArr) => {\r\n setCategory(removedValArr);\r\n };\r\n const loadSubcategoriesByCategory = (arrCategories) => {\r\n if (arrCategories.length > 0) {\r\n // //remove category if type is removed\r\n // let removeItem = selectedCategory;\r\n // for (var i = 0; i < removeItem.length; i++) {\r\n // let flt = arrCategories.filter(\r\n // (f) => f.id === removeItem[i].category.id\r\n // );\r\n // if (flt.length === 0) {\r\n // removeItem.splice(i, 1);\r\n // i--;\r\n // }\r\n // }\r\n // console.log(\"removeItem: \", removeItem);\r\n // setTimeout(() => {\r\n // setCategory(removeItem);\r\n // console.log(\"Set Category Updated\");\r\n // }, 200);\r\n getSubcategoriesByCategories(arrCategories);\r\n }\r\n // else if (arrCategories.length > 1) {\r\n // getSubcategoriesByCategories(arrCategories);\r\n // }\r\n else {\r\n setTimeout(() => {\r\n setSubcategories([]);\r\n setCategory([]);\r\n }, 200);\r\n }\r\n };\r\n const getInputVal = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n if (name === \"phoneNo\") {\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text.replace(/[^0-9]/, \"\") };\r\n });\r\n setPhoneNoErr(false);\r\n } else {\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n if (name == \"firstName\") {\r\n setFirstNameErr(false);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n if (name == \"lastName\") {\r\n setLastNameErr(false);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n if (name == \"email\") {\r\n setEmailErr(false);\r\n if (text.replace(/\\s/g, \"\").length) {\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text.trim() };\r\n });\r\n }\r\n }\r\n // if (name == \"changeEmail\") {\r\n // setChangeEmailErr(false);\r\n // if (text.replace(/\\s/g, \"\").length) {\r\n // setPersonalInfoData((prevState) => {\r\n // return { ...prevState, [name]: text.trim() };\r\n // });\r\n // }\r\n // }\r\n if (name == \"userName\") {\r\n setuserNameErr(false);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n // if (name == \"title\") {\r\n // setTitleErr(false);\r\n // setPersonalInfoData((prevState) => {\r\n // return { ...prevState, [name]: text };\r\n // });\r\n // }\r\n if (name == \"biography\") {\r\n setBiographyErr(false);\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n // if (name == \"fullAddress\") {\r\n // setFullAddressErr(false);\r\n // setPersonalInfoData((prevState) => {\r\n // return { ...prevState, [name]: text };\r\n // });\r\n // }\r\n if (name === \"currentPassword\") {\r\n if (text == \"\" || text.replace(/\\s/g, \"\").length) {\r\n return setSettingsTabState({\r\n ...settingsTabState,\r\n [name]: text.trim(),\r\n });\r\n }\r\n }\r\n if (name === \"newPassword\") {\r\n if (text == \"\" || text.replace(/\\s/g, \"\").length) {\r\n setSettingsTabState({\r\n ...settingsTabState,\r\n [name]: text.trim(),\r\n isNewPasswordErrShow: false,\r\n newPasswordErrMsg: \"\",\r\n });\r\n }\r\n }\r\n if (name == \"confirmPassword\") {\r\n if (text == \"\" || text.replace(/\\s/g, \"\").length) {\r\n setSettingsTabState({\r\n ...settingsTabState,\r\n [name]: text.trim(),\r\n isConfirmPasswordErrShow: false,\r\n confirmPasswordErrMsg: \"\",\r\n });\r\n }\r\n }\r\n if (name == \"city\") {\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n if (name == \"state\") {\r\n personalInfoData.stateList.map((item, key) => {\r\n if (item.name === text) {\r\n setstateId(key + 1);\r\n getCities(item.id);\r\n }\r\n });\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n if (name == \"country\") {\r\n personalInfoData.countryList.map((item, key) => {\r\n if (item.name === text) {\r\n setcountryId(key + 1);\r\n getStates(item.id);\r\n }\r\n });\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, [name]: text };\r\n });\r\n }\r\n if (name === \"facebook\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setFacebookErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setFacebookErr(true);\r\n // }\r\n } else if (name === \"instagram\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setInstagramErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setInstagramErr(true);\r\n // }\r\n } else if (name === \"youtube\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n } else if (name === \"tiktok\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n } else if (name === \"spotify\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n } else if (name === \"itune\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n } else if (name === \"apple\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n } else if (name === \"applePodcastURL\") {\r\n // if (text === \"\" || regexURL.test(text) === true) {\r\n // setTwitterErr(false);\r\n setSocialMediaProfileVal({ ...socialMediaProfileVal, [name]: text });\r\n // } else {\r\n // setTwitterErr(true);\r\n // }\r\n }\r\n }\r\n };\r\n const handleEditProfile = () => {\r\n setprofileReadOnly(false);\r\n };\r\n const updatePassword = () => {\r\n let isValid = false;\r\n setCurrentPasswordErr({\r\n currentPasswordErrMsg: \"\",\r\n });\r\n setNewPasswordErr({\r\n newPasswordErrMsg: \"\",\r\n });\r\n seConfirmPasswordErr({\r\n confirmPasswordErrMsg: \"\",\r\n });\r\n const { currentPassword, newPassword, confirmPassword } = settingsTabState;\r\n if (!currentPassword && !newPassword && !confirmPassword) {\r\n isValid = false;\r\n setCurrentPasswordErr({\r\n isCurrentPasswordErrShow: true,\r\n currentPasswordErrMsg: constant.currentPasswordRequired,\r\n });\r\n setNewPasswordErr({\r\n isNewPasswordErrShow: true,\r\n newPasswordErrMsg: constant.newPasswordRequired,\r\n });\r\n seConfirmPasswordErr({\r\n isConfirmPasswordErrShow: true,\r\n confirmPasswordErrMsg: constant.confirmPasswordRequired,\r\n });\r\n } else {\r\n //console.log(\"ELSE...\");\r\n if (!currentPassword) {\r\n isValid = false;\r\n setCurrentPasswordErr({\r\n isCurrentPasswordErrShow: true,\r\n currentPasswordErrMsg: constant.currentPasswordRequired,\r\n });\r\n }\r\n if (\r\n !passwordReg.test(currentPassword)\r\n ) {\r\n //console.log(\"currentPassword invalid...\");\r\n isValid = false;\r\n setCurrentPasswordErr({\r\n isCurrentPasswordErrShow: true,\r\n currentPasswordErrMsg: constant.currentPasswordValidation,\r\n });\r\n }\r\n if (!newPassword) {\r\n isValid = false;\r\n setNewPasswordErr({\r\n isNewPasswordErrShow: true,\r\n newPasswordErrMsg: constant.newPasswordRequired,\r\n });\r\n }\r\n if (\r\n !passwordReg.test(newPassword)\r\n ) {\r\n isValid = false;\r\n setNewPasswordErr({\r\n isNewPasswordErrShow: true,\r\n newPasswordErrMsg: constant.currentPasswordValidation,\r\n //\"Your password must be at least 8 characters long, contain at least one special character(excluding @), number and have a mixture of uppercase and lowercase letters.\",\r\n });\r\n return false;\r\n }\r\n if (!confirmPassword) {\r\n isValid = false;\r\n seConfirmPasswordErr({\r\n isConfirmPasswordErrShow: true,\r\n confirmPasswordErrMsg: constant.confirmPasswordRequired,\r\n });\r\n } else if (confirmPassword) {\r\n if (newPassword !== confirmPassword) {\r\n isValid = false;\r\n seConfirmPasswordErr({\r\n isConfirmPasswordErrShow: true,\r\n confirmPasswordErrMsg: constant.newConfirmPasswordSame,\r\n });\r\n } else {\r\n isValid = true;\r\n }\r\n }\r\n if (isValid) {\r\n validCurrentPassword(currentPassword);\r\n }\r\n }\r\n };\r\n\r\n const validCurrentPassword = async (currentPassword) => {\r\n addLoader();\r\n let jsonData = {\r\n id: personalInfoData.id,\r\n currentPassword: currentPassword,\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respChangePassword = await postDataApi(\r\n constant.baseURL + \"user/validateUserPassword/\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respChangePassword: \", respChangePassword);\r\n if (\r\n respChangePassword != undefined &&\r\n respChangePassword.status != undefined &&\r\n respChangePassword.status == 201 &&\r\n respChangePassword.data !== \"\" &&\r\n respChangePassword.data.data !== null\r\n ) {\r\n changePassword(settingsTabState.newPassword);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(constant.enterCorrectCurrentPwd);\r\n }\r\n };\r\n\r\n const changePassword = async (newPassword) => {\r\n //change password in database\r\n let jsonData = { password: newPassword };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respChangePassword = await patchDataApi(\r\n constant.baseURL + \"user/changePassword/\" + personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respChangePassword: \", respChangePassword);\r\n if (\r\n respChangePassword != undefined &&\r\n respChangePassword.status != undefined &&\r\n respChangePassword.status == 200\r\n ) {\r\n setSettingsTabState({\r\n ...settingsTabState,\r\n isPasswordChangeSecShow: false,\r\n });\r\n removeLoader();\r\n addSuccessMesage(constant.passwordChanged);\r\n setSettingsTabState((prevState) => {\r\n return {\r\n ...prevState,\r\n currentPassword: \"\",\r\n newPassword: \"\",\r\n confirmPassword: \"\",\r\n };\r\n });\r\n }\r\n };\r\n\r\n // ----------------------------------------------------------Notification Section\r\n\r\n const enableDisableNotification = async (e) => {\r\n //console.log(e);\r\n let jsonData = { enableNotification: e.target.checked };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respUpdateNotification = await patchDataApi(\r\n constant.baseURL +\r\n \"user/enableDisableNotification/\" +\r\n personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respUpdateNotification: \", respUpdateNotification);\r\n if (\r\n respUpdateNotification != undefined &&\r\n respUpdateNotification.data != undefined\r\n ) {\r\n addSuccessMesage(constant.notificationUpdated);\r\n setSwitchState({ ...switchState, switch1: !switchState.switch1 });\r\n refreshUserInfoLocalStorage(respUpdateNotification.data);\r\n }\r\n };\r\n const enableDisableRecommendedMusic = async (e) => {\r\n let jsonData = { recommendedMusic: e.target.checked };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respUpdateRecoMusic = await patchDataApi(\r\n constant.baseURL +\r\n \"user/enableDisableRecommendedMusic/\" +\r\n personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respUpdateRecoMusic: \", respUpdateRecoMusic);\r\n if (\r\n respUpdateRecoMusic != undefined &&\r\n respUpdateRecoMusic.data != undefined\r\n ) {\r\n addSuccessMesage(constant.notificationUpdated);\r\n setSwitchState({ ...switchState, switch2: !switchState.switch2 });\r\n refreshUserInfoLocalStorage(respUpdateRecoMusic.data);\r\n }\r\n };\r\n\r\n const enableDisablePlaylistUpdates = async (e) => {\r\n let jsonData = { playlistUpdates: e.target.checked };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPlayListUpdates = await patchDataApi(\r\n constant.baseURL +\r\n \"user/enableDisablePlaylistUpdates/\" +\r\n personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respPlayListUpdates: \", respPlayListUpdates);\r\n if (\r\n respPlayListUpdates != undefined &&\r\n respPlayListUpdates.data != undefined\r\n ) {\r\n addSuccessMesage(constant.notificationUpdated);\r\n setSwitchState({ ...switchState, switch3: !switchState.switch3 });\r\n refreshUserInfoLocalStorage(respPlayListUpdates.data);\r\n }\r\n };\r\n const enableDisableArtistUpdates = async (e) => {\r\n let jsonData = { artistUpdates: e.target.checked };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistUpdates = await patchDataApi(\r\n constant.baseURL +\r\n \"user/enableDisableArtistUpdates/\" +\r\n personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respArtistUpdates: \", respArtistUpdates);\r\n if (respArtistUpdates != undefined && respArtistUpdates.data != undefined) {\r\n addSuccessMesage(constant.notificationUpdated);\r\n setSwitchState({ ...switchState, switch4: !switchState.switch4 });\r\n refreshUserInfoLocalStorage(respArtistUpdates.data);\r\n }\r\n };\r\n const refreshUserInfoLocalStorage = (userInfo) => {\r\n //console.log(\"refreshUserInfoLocalStorage: \");\r\n if (localStorage.getItem(\"UserInfo\") != null) {\r\n localStorage.removeItem(\"UserInfo\");\r\n localStorage.setItem(\"UserInfo\", JSON.stringify(userInfo));\r\n let updatedUserInfo = undefined;\r\n if (localStorage.getItem(\"UserInfo\") != null) {\r\n updatedUserInfo = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n setCurrentUserInfo(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n //console.log(\"Profile currentUserInfo: \", updatedUserInfo);\r\n }\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n id: updatedUserInfo != undefined ? updatedUserInfo.id : 0,\r\n // profilImg: avatarImg,\r\n profilePicture: \"\",\r\n firstName:\r\n updatedUserInfo != undefined ? updatedUserInfo.firstName : \"\",\r\n lastName:\r\n updatedUserInfo != undefined ? updatedUserInfo.lastName : \"\",\r\n email: updatedUserInfo != undefined ? updatedUserInfo.email : \"\",\r\n phoneNo: updatedUserInfo != undefined ? updatedUserInfo.phone : \"\",\r\n userName:\r\n updatedUserInfo != undefined ? updatedUserInfo.userName : \"\",\r\n // title: updatedUserInfo != undefined ? updatedUserInfo.title : \"\",\r\n biography:\r\n updatedUserInfo != undefined ? updatedUserInfo.biography : \"\",\r\n // fullAddress:\r\n // updatedUserInfo != undefined ? updatedUserInfo.fullAddress : \"\",\r\n subscribed:\r\n updatedUserInfo != undefined\r\n ? updatedUserInfo.subscribeYouTubeChannel\r\n : false,\r\n urlImage:\r\n updatedUserInfo != undefined ? updatedUserInfo.urlImage : \"\",\r\n };\r\n });\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n // profilImg: avatarImg,\r\n fullName:\r\n updatedUserInfo != undefined\r\n ? updatedUserInfo.firstName + \" \" + updatedUserInfo.lastName\r\n : \"\",\r\n phoneNo: updatedUserInfo != undefined ? updatedUserInfo.phone : \"\",\r\n };\r\n });\r\n\r\n setSocialMediaProfileVal((prevState) => {\r\n return {\r\n ...prevState,\r\n facebook:\r\n updatedUserInfo != undefined ? updatedUserInfo.facebookURL : \"\",\r\n instagram:\r\n updatedUserInfo != undefined ? updatedUserInfo.instagramURL : \"\",\r\n youtube:\r\n updatedUserInfo != undefined ? updatedUserInfo.youtubeURL : \"\",\r\n tiktok:\r\n updatedUserInfo != undefined ? updatedUserInfo.tikTokURL : \"\",\r\n spotify:\r\n updatedUserInfo != undefined ? updatedUserInfo.spotifyURL : \"\",\r\n itune:\r\n updatedUserInfo != undefined ? updatedUserInfo.iTunesURL : \"\",\r\n apple:\r\n updatedUserInfo != undefined ? updatedUserInfo.appleMusicURL : \"\",\r\n applePodcastURL:\r\n updatedUserInfo != undefined ? updatedUserInfo.applePodcastURL : \"\",\r\n };\r\n });\r\n }\r\n\r\n };\r\n const saveChanges = (usertype) => {\r\n if (usertype == \"Artist\") {\r\n const {\r\n firstName,\r\n lastName,\r\n email,\r\n phoneNo,\r\n userName,\r\n // fullAddress,\r\n // title,\r\n biography,\r\n } = personalInfoData;\r\n const { facebook, instagram, youtube, tiktok, spotify, itune, apple, applePodcastURL } = socialMediaProfileVal;\r\n let typeCondition = selectedTypes.length > 0 ? true : false;\r\n let catCondition = selectedCategory.length > 0 ? true : false;\r\n\r\n if (\r\n firstName === \"\" &&\r\n lastName === \"\" &&\r\n email === \"\" &&\r\n phoneNo === \"\" &&\r\n // title == \"\" &&\r\n userName === \"\" &&\r\n biography == \"\" &&\r\n // fullAddress === \"\" &&\r\n typeCondition &&\r\n catCondition\r\n //&& !facebook &&\r\n // !instagram &&\r\n // !twitter\r\n ) {\r\n setFirstNameErr(true);\r\n setLastNameErr(true);\r\n setEmailErr(true);\r\n setPhoneNoErr(true);\r\n setuserNameErr(true);\r\n // setTitleErr(true);\r\n setBiographyErr(true);\r\n // setFullAddressErr(true);\r\n setTypesErr(true);\r\n setCategoryErr(true);\r\n validate(false);\r\n // setFacebookErr(true);\r\n // setInstagramErr(true);\r\n // setTwitterErr(true);\r\n setuserNameErrMsg(constant.commonUserNameRequired);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n setEmailErrMsg(constant.emailRequired);\r\n setTitleErrMsg(constant.titleRequired);\r\n setBiographyErrMsg(constant.biographyRequired);\r\n setTypesErrMsg(constant.typeRequired);\r\n } else {\r\n //console.log(firstName);\r\n if (firstName === \"\" || firstName === null) {\r\n setFirstNameErr(true);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (lastName === null || lastName === \"\") {\r\n setLastNameErr(true);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (email === null || email === \"\") {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.emailRequired);\r\n validate(false);\r\n return;\r\n } else if (validator.isEmail(email) === false) {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.invalidEmailAddress);\r\n validate(false);\r\n return;\r\n }\r\n if (phoneNo === null || phoneNo === \"\") {\r\n setPhoneNoErr(true);\r\n setPhoneNoErrMsg(constant.phoneRequired);\r\n validate(false);\r\n return;\r\n }\r\n // if (title === null || title === \"\") {\r\n // setTitleErr(true);\r\n // setTitleErrMsg(constant.titleRequired);\r\n // validate(false);\r\n // return;\r\n // }\r\n if (userName === null || userName === \"\") {\r\n setuserNameErr(true);\r\n setuserNameErrMsg(constant.commonUserNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (biography === null || biography === \"\") {\r\n setBiographyErr(true);\r\n setBiographyErrMsg(constant.biographyRequired);\r\n validate(false);\r\n return;\r\n }\r\n // if (fullAddress === null || fullAddress === \"\") {\r\n // setFullAddressErr(true);\r\n // setFullAddressErrMsg(constant.streetRequired);\r\n // validate(false);\r\n // return;\r\n // }\r\n if (typeCondition == false) {\r\n setTypesErr(true);\r\n setTypesErrMsg(constant.typeRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (catCondition == false) {\r\n setCategoryErr(true);\r\n setCategoryErrMsg(constant.categoryRequired);\r\n validate(false);\r\n return;\r\n }\r\n // if (facebook !== \"\" && regexURL.test(facebook) === false) {\r\n // setFacebookErr(true);\r\n // validate(false);\r\n // return;\r\n // } else if (instagram !== \"\" && regexURL.test(instagram) === false) {\r\n // setInstagramErr(true);\r\n // validate(false);\r\n // return;\r\n // } else if (twitter !== \"\" && regexURL.test(twitter) === false) {\r\n // setTwitterErr(true);\r\n // validate(false);\r\n // return;\r\n // }\r\n else {\r\n validate(true);\r\n setFirstNameErrMsg(\"\");\r\n setLastNameErrMsg(\"\");\r\n setEmailErrMsg(\"\");\r\n // setTitleErrMsg(\"\");\r\n setBiographyErrMsg(\"\");\r\n setTypesErrMsg(\"\");\r\n setCategoryErrMsg(\"\");\r\n setPhoneNoErrMsg(\"\");\r\n setuserNameErrMsg(\"\");\r\n\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n profilImg: personalInfoData.profilImg,\r\n fullName:\r\n firstName != undefined && lastName != undefined\r\n ? firstName + \"\" + lastName\r\n : \"\",\r\n phoneNo: phoneNo != undefined ? phoneNo : \"\",\r\n };\r\n });\r\n updatePersonalProfileInfo(personalInfoData.urlImage, usertype);\r\n // if (personalInfoData.profilePicture != \"\") {\r\n // uploadProfileImage(usertype);\r\n // } else {\r\n // updatePersonalProfileInfo(personalInfoData.urlImage, usertype);\r\n // }\r\n }\r\n }\r\n } else {\r\n const { firstName, lastName, email, userName, phoneNo } =\r\n personalInfoData;\r\n if (\r\n firstName === \"\" &&\r\n lastName === \"\" &&\r\n email === \"\" &&\r\n userName === \"\" &&\r\n phoneNo === \"\"\r\n ) {\r\n setFirstNameErr(true);\r\n setLastNameErr(true);\r\n setEmailErr(true);\r\n setuserNameErr(true);\r\n setuserNameErrMsg(constant.commonUserNameRequired);\r\n setEmailErrMsg(constant.emailRequired);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n validate(false);\r\n return;\r\n } else {\r\n //console.log(firstName);\r\n if (firstName === \"\" || firstName === null) {\r\n setFirstNameErr(true);\r\n setFirstNameErrMsg(constant.firstNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (lastName === null || lastName === \"\") {\r\n setLastNameErr(true);\r\n setLastNameErrMsg(constant.lastNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (userName === null || userName === \"\") {\r\n setuserNameErr(true);\r\n setuserNameErrMsg(constant.commonUserNameRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (phoneNo === null || phoneNo === \"\") {\r\n setPhoneNoErr(true);\r\n setPhoneNoErrMsg(constant.phoneRequired);\r\n validate(false);\r\n return;\r\n }\r\n if (email === null || email === \"\") {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.emailRequired);\r\n validate(false);\r\n return;\r\n } else if (validator.isEmail(email) === false) {\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.invalidEmailAddress);\r\n validate(false);\r\n return;\r\n } else {\r\n validate(true);\r\n setFirstNameErrMsg(\"\");\r\n setLastNameErrMsg(\"\");\r\n setEmailErrMsg(\"\");\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n profilImg: personalInfoData.profilImg,\r\n fullName: firstName + \"\" + lastName,\r\n };\r\n });\r\n updatePersonalProfileInfo(personalInfoData.urlImage, usertype);\r\n // if (personalInfoData.profilePicture != \"\") {\r\n // uploadProfileImage(usertype);\r\n // } else {\r\n // updatePersonalProfileInfo(personalInfoData.urlImage, usertype);\r\n // }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // ----------------------------changeEmail Satyam\r\n\r\n const changeEmail = () => {\r\n // console.log(\r\n // \"changeEmail.value\",\r\n // changeEmail.value,\r\n // \"personalInfoData.email\",\r\n // personalInfoData.email,\r\n // currentUserInfo.email\r\n // );\r\n const { email } = personalInfoData;\r\n let flag = 0;\r\n if (currentUserInfo.email === email) {\r\n flag = 1;\r\n return addErrorMesage(\"You input same email\");\r\n } else if (email === null || email === \"\") {\r\n flag = 1;\r\n // console.log(\"hello I am satyam\");\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.emailRequired);\r\n validate(false);\r\n return;\r\n } else if (validator.isEmail(email) === false) {\r\n flag = 1;\r\n // console.log(\"hello I am Agarwal\");\r\n setEmailErr(true);\r\n setEmailErrMsg(constant.invalidEmailAddress);\r\n validate(false);\r\n return;\r\n }\r\n if (flag === 0) {\r\n //console.log(\"hello\");\r\n addLoader();\r\n verifyEmailAndSendOTP();\r\n }\r\n };\r\n const verifyEmailAndSendOTP = async () => {\r\n let allowToCreateUser = true;\r\n let respUser = await getDataApi(\r\n constant.baseURL + \"user?filter=email||$eq||\" + personalInfoData.email\r\n );\r\n // console.log(\r\n // constant.baseURL + \"user?filter=email||$eq||\" + personalInfoData.email\r\n // );\r\n //console.log(\"respUser\", respUser);\r\n if (respUser !== undefined && respUser.length > 0) {\r\n removeLoader();\r\n allowToCreateUser = false;\r\n setEmailErr(true);\r\n // removeLoader();\r\n setEmailErrMsg(constant.emailRegistered);\r\n addErrorMesage(constant.emailRegistered);\r\n }\r\n if (allowToCreateUser === true) {\r\n // let jsonData0 = {\r\n // email: personalInfoData.email,\r\n // };\r\n // localStorage.setItem(\"userEmail\", personalInfoData.email);\r\n // localStorage.setItem(\"createAccountData\", JSON.stringify(jsonData0));\r\n let otpCode = Math.floor(10000 + Math.random() * 90000);\r\n let jsonData = {\r\n firstName: currentUserInfo.firstName,\r\n lastName: currentUserInfo.lastName,\r\n email: personalInfoData.email,\r\n code: otpCode,\r\n subject: constant.otpSubject,\r\n body: `You requested for a Change Email from ${currentUserInfo.email} to ${personalInfoData.email} , kindly use this code ${otpCode} to your current account.`,\r\n // \"You requested for a Change Email , kindly use this code \" +\r\n // otpCode +\r\n // \" to your current account.\"\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let responseOTP = await postDataApi(\r\n constant.baseURL + \"user/verifyEmailAndSendOTP\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseOTP: \", responseOTP);\r\n if (\r\n responseOTP !== undefined &&\r\n responseOTP.data !== undefined &&\r\n responseOTP.data.status !== undefined &&\r\n responseOTP.data.status === true\r\n ) {\r\n removeLoader();\r\n // localStorage.setItem(\r\n // \"OTPEmailVerifyDetails\",\r\n // JSON.stringify(responseOTP)\r\n // );\r\n setOTPEmailVerifyDetails(responseOTP.data.code);\r\n // console.log(\"hhiiiiiiiiiiiii\");\r\n setOtpScreenHideOrShow(true);\r\n // history.push(\"otpverification\");\r\n } else {\r\n addErrorMesage(constant.unableToValidateEmail);\r\n removeLoader();\r\n // history.push(\"otpverification\");\r\n }\r\n }\r\n };\r\n\r\n const getEmailChangeInput = (e) => {\r\n let text = e.target.value;\r\n let name = e.target.name;\r\n //console.log(input1Ref);\r\n let inputType = e.nativeEvent.inputType;\r\n let numReg = new RegExp(\"^[0-9]$\");\r\n if (text === \"\" || (numReg.test(text) && text.length <= 1)) {\r\n setInputVal({ ...inputVal, [name]: text });\r\n // //console.log(text)\r\n if (name === \"input1\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input1Ref.current.blur();\r\n } else {\r\n input1Ref.current.blur();\r\n input2Ref.current.focus();\r\n }\r\n }\r\n if (name === \"input2\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input2Ref.current.blur();\r\n input1Ref.current.focus();\r\n } else {\r\n input2Ref.current.blur();\r\n input3Ref.current.focus();\r\n }\r\n }\r\n if (name === \"input3\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input3Ref.current.blur();\r\n input2Ref.current.focus();\r\n }\r\n input3Ref.current.blur();\r\n input4Ref.current.focus();\r\n }\r\n if (name === \"input4\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input4Ref.current.blur();\r\n input3Ref.current.focus();\r\n }\r\n input4Ref.current.blur();\r\n input5Ref.current.focus();\r\n }\r\n if (name === \"input5\") {\r\n if (inputType === \"deleteContentBackward\") {\r\n input5Ref.current.blur();\r\n input4Ref.current.focus();\r\n }\r\n }\r\n }\r\n };\r\n const onEmailChangeSubmit = () => {\r\n //addLoader();\r\n const { input1, input2, input3, input4, input5 } = inputVal;\r\n if ((!input1 && !input2 && !input3, !input4 && !input5)) {\r\n setError({ isOtpErrorShow: true });\r\n removeLoader();\r\n }\r\n if (!input1) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input2) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input3) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input4) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (!input5) {\r\n setError({ isOtpErrorShow: true });\r\n }\r\n if (input1 && input2 && input3 && input4 && input5) {\r\n addLoader();\r\n setError({ isOtpErrorShow: false });\r\n\r\n if (\r\n OTPEmailVerifyDetails !== null &&\r\n OTPEmailVerifyDetails !== undefined\r\n ) {\r\n let otCode = input1 + input2 + input3 + input4 + input5;\r\n // console.log(\r\n // \"otCode\",\r\n // otCode,\r\n // \"hii\",\r\n // otCode.toString() === OTPEmailVerifyDetails.toString()\r\n // );\r\n if (otCode.toString() === OTPEmailVerifyDetails.toString()) {\r\n // addSuccessMesage(\"OTP verified\");\r\n updateEmailByUser();\r\n } else {\r\n setInputVal({\r\n input1: \"\",\r\n input2: \"\",\r\n input3: \"\",\r\n input4: \"\",\r\n input5: \"\",\r\n });\r\n addErrorMesage(\"Entered code is not valid\");\r\n removeLoader();\r\n //console.log(\"Entered code is not valid\");\r\n }\r\n }\r\n }\r\n };\r\n const updateEmailByUser = async () => {\r\n let jsonData = {\r\n email: personalInfoData.email,\r\n };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n // let apiName =\r\n // personalInfoData.usertype == \"Artist\"\r\n // ? \"user/updatePersonalProfileInfo/\"\r\n // : \"user/updateUserProfile/\";\r\n\r\n //console.log(\"json\", jsonData, constant.updateEmail + personalInfoData.id);\r\n let respUpdate = await patchDataApi(\r\n // constant.baseURL + apiName + personalInfoData.id,\r\n // formBody,\r\n // authHeader\r\n constant.updateEmail + personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respUpdate !== undefined &&\r\n respUpdate.data !== undefined &&\r\n respUpdate.status != undefined &&\r\n respUpdate.status == 200\r\n ) {\r\n //console.log(\"respUpdate\", respUpdate);\r\n setSettingsTabState({\r\n ...settingsTabState,\r\n isPasswordChangeSecShow: false,\r\n });\r\n addSuccessMesage(constant.emailUpdated);\r\n removeLoader();\r\n refreshUserInfoLocalStorage(respUpdate.data);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in Email Update\");\r\n }\r\n };\r\n\r\n const resendOTP = async () => {\r\n addLoader();\r\n\r\n let otpCode = Math.floor(10000 + Math.random() * 90000);\r\n let jsonData = {\r\n firstName: currentUserInfo.firstName,\r\n lastName: currentUserInfo.lastName,\r\n email: personalInfoData.email,\r\n code: otpCode,\r\n subject: constant.otpSubject,\r\n body: `You requested for a Change Email from ${currentUserInfo.email} to ${personalInfoData.email} , kindly use this code ${otpCode} to your current account.`,\r\n // \"You requested for a Change Email from , kindly use this code \" +\r\n // otpCode +\r\n // \" to your current account.\",\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let responseOTP = await postDataApi(\r\n constant.baseURL + \"user/verifyEmailAndSendOTP\",\r\n jsonData,\r\n authHeader\r\n );\r\n //console.log(\"responseOTP: \", responseOTP);\r\n if (\r\n responseOTP !== undefined &&\r\n responseOTP.data !== undefined &&\r\n responseOTP.data.status !== undefined &&\r\n responseOTP.data.status == true\r\n ) {\r\n localStorage.setItem(\"OTPDetails\", JSON.stringify(responseOTP));\r\n removeLoader();\r\n setOTPEmailVerifyDetails(responseOTP.data.code);\r\n addSuccessMesage(\"OTP Sent Successfully\");\r\n } else {\r\n //console.log(\"Please Not\");\r\n removeLoader();\r\n\r\n addErrorMesage(\"Unable to validate email!\");\r\n }\r\n };\r\n\r\n const updatePersonalProfileInfo = async (profileImageName, usertype) => {\r\n let jsonData;\r\n addLoader();\r\n if (usertype == \"Artist\") {\r\n let fltCountries = personalInfoData.countryList.filter(\r\n (c) => c.name == personalInfoData.country\r\n );\r\n let fltStates = personalInfoData.stateList.filter(\r\n (c) => c.name == personalInfoData.state\r\n );\r\n let fltCities = personalInfoData.cityList.filter(\r\n (c) => c.name == personalInfoData.city\r\n );\r\n if (\r\n fltCountries.length > 0 &&\r\n fltCities.length > 0 &&\r\n fltStates.length > 0\r\n ) {\r\n jsonData = {\r\n email:\r\n personalInfoData.email != undefined &&\r\n personalInfoData.email != null\r\n ? personalInfoData.email.toString().trim()\r\n : \"\",\r\n firstName:\r\n personalInfoData.firstName != undefined &&\r\n personalInfoData.firstName != null\r\n ? personalInfoData.firstName.toString().trim()\r\n : \"\",\r\n lastName:\r\n personalInfoData.lastName != undefined &&\r\n personalInfoData.lastName != null\r\n ? personalInfoData.lastName.toString().trim()\r\n : \"\",\r\n urlImage: profileImageName,\r\n phone:\r\n personalInfoData.phoneNo != undefined &&\r\n personalInfoData.phoneNo != null\r\n ? personalInfoData.phoneNo.toString().trim()\r\n : \"\",\r\n // title:\r\n // personalInfoData.title != undefined &&\r\n // personalInfoData.title != null\r\n // ? personalInfoData.title.toString().trim()\r\n // : \"\",\r\n title: \"\",\r\n biography:\r\n personalInfoData.biography != undefined &&\r\n personalInfoData.biography != null\r\n ? personalInfoData.biography.toString().trim()\r\n : \"\",\r\n userName:\r\n personalInfoData.userName != undefined &&\r\n personalInfoData.userName != null\r\n ? personalInfoData.userName.toString().trim()\r\n : \"\",\r\n // fullAddress:\r\n // personalInfoData.fullAddress != undefined &&\r\n // personalInfoData.fullAddress != null\r\n // ? personalInfoData.fullAddress.toString().trim()\r\n // : \"\",\r\n fullAddress: \"\",\r\n countryId: fltCountries[0].id,\r\n stateId: fltStates[0].id,\r\n cityId: fltCities[0].id,\r\n subscribeYouTubeChannel: personalInfoData.subscribed == true ? 1 : 0,\r\n facebookURL:\r\n socialMediaProfileVal.facebook != undefined &&\r\n socialMediaProfileVal.facebook != null &&\r\n socialMediaProfileVal.facebook != \"\"\r\n ? socialMediaProfileVal.facebook\r\n : \"\",\r\n instagramURL:\r\n socialMediaProfileVal.instagram != undefined &&\r\n socialMediaProfileVal.instagram != null &&\r\n socialMediaProfileVal.instagram != \"\"\r\n ? socialMediaProfileVal.instagram\r\n : \"\",\r\n youtubeURL:\r\n socialMediaProfileVal.youtube != undefined &&\r\n socialMediaProfileVal.youtube != null &&\r\n socialMediaProfileVal.youtube != \"\"\r\n ? socialMediaProfileVal.youtube\r\n : \"\",\r\n tikTokURL:\r\n socialMediaProfileVal.tiktok != undefined &&\r\n socialMediaProfileVal.tiktok != null &&\r\n socialMediaProfileVal.tiktok != \"\"\r\n ? socialMediaProfileVal.tiktok\r\n : \"\",\r\n spotifyURL:\r\n socialMediaProfileVal.spotify != undefined &&\r\n socialMediaProfileVal.spotify != null &&\r\n socialMediaProfileVal.spotify != \"\"\r\n ? socialMediaProfileVal.spotify\r\n : \"\",\r\n iTunesURL:\r\n socialMediaProfileVal.itune != undefined &&\r\n socialMediaProfileVal.itune != null &&\r\n socialMediaProfileVal.itune != \"\"\r\n ? socialMediaProfileVal.itune\r\n : \"\",\r\n appleMusicURL:\r\n socialMediaProfileVal.apple != undefined &&\r\n socialMediaProfileVal.apple != null &&\r\n socialMediaProfileVal.apple != \"\"\r\n ? socialMediaProfileVal.apple\r\n : \"\",\r\n applePodcastURL:\r\n socialMediaProfileVal.applePodcastURL != undefined &&\r\n socialMediaProfileVal.applePodcastURL != null &&\r\n socialMediaProfileVal.applePodcastURL != \"\"\r\n ? socialMediaProfileVal.applePodcastURL\r\n : \"\",\r\n };\r\n }\r\n } else {\r\n jsonData = {\r\n email:\r\n personalInfoData.email != undefined && personalInfoData.email != null\r\n ? personalInfoData.email.toString().trim()\r\n : \"\",\r\n firstName:\r\n personalInfoData.firstName != undefined &&\r\n personalInfoData.firstName != null\r\n ? personalInfoData.firstName.toString().trim()\r\n : \"\",\r\n lastName:\r\n personalInfoData.lastName != undefined &&\r\n personalInfoData.lastName != null\r\n ? personalInfoData.lastName.toString().trim()\r\n : \"\",\r\n userName:\r\n personalInfoData.userName != undefined &&\r\n personalInfoData.userName != null\r\n ? personalInfoData.userName.toString().trim()\r\n : \"\",\r\n phone:\r\n personalInfoData.phoneNo != undefined &&\r\n personalInfoData.phoneNo != null\r\n ? personalInfoData.phoneNo.toString().trim()\r\n : \"\",\r\n urlImage: profileImageName,\r\n subscribeYouTubeChannel: personalInfoData.subscribed === true ? 1 : 0,\r\n };\r\n }\r\n //console.log(jsonData);\r\n if (jsonData != undefined) {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let apiName =\r\n usertype == \"Artist\"\r\n ? \"user/updatePersonalProfileInfo/\"\r\n : \"user/updateUserProfile/\";\r\n let respUpdate = await patchDataApi(\r\n constant.baseURL + apiName + personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respUpdate: \", respUpdate);\r\n if (\r\n respUpdate != undefined &&\r\n respUpdate.status != undefined &&\r\n respUpdate.status == 200\r\n ) {\r\n //console.log(\"respUpdate.data\", respUpdate.data);\r\n refreshUserInfoLocalStorage(respUpdate.data);\r\n if (usertype == \"Artist\") {\r\n return deleteSetSelectedTypesAndCategoriesForUser().then((res) => {\r\n if (res == true) {\r\n return setSelectedTypesAndCategoriesForUser().then((response) => {\r\n if (\r\n response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n removeLoader();\r\n addSuccessMesage(constant.profileUpdated);\r\n setPersonalTabMode(\"view\");\r\n setprofileReadOnly(true);\r\n } else {\r\n setPersonalTabMode(\"view\");\r\n setprofileReadOnly(true);\r\n }\r\n });\r\n } else {\r\n setPersonalTabMode(\"view\");\r\n setprofileReadOnly(true);\r\n }\r\n });\r\n } else {\r\n removeLoader();\r\n addSuccessMesage(constant.profileUpdated);\r\n setPersonalTabMode(\"view\");\r\n setprofileReadOnly(true);\r\n }\r\n } else {\r\n removeLoader();\r\n\r\n addErrorMesage(constant.errorWhileProfileUpdate);\r\n setPersonalTabMode(\"view\");\r\n setprofileReadOnly(true);\r\n }\r\n }\r\n };\r\n const deleteSetSelectedTypesAndCategoriesForUser = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n deleteDataApi(\r\n constant.baseURL +\r\n \"selectedcategories/deleteMultipleByUser/\" +\r\n personalInfoData.id,\r\n authHeader\r\n )\r\n )\r\n .then((respDelete) => {\r\n //console.log(\"Delete Selected Category for User: \", respDelete);\r\n if (\r\n respDelete != undefined &&\r\n respDelete.status != undefined &&\r\n respDelete.status == 200\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const setSelectedTypesAndCategoriesForUser = async () => {\r\n let promises_array = [];\r\n //find main categogy which is not present in subcategory selection\r\n let citems = [];\r\n selectedTypes.map((c) => {\r\n let fltCategory = subcategories.filter(\r\n (f) => f.category !== undefined && f.category.id === c.id\r\n );\r\n if (fltCategory.length > 0) {\r\n let fltTypes = selectedCategory.filter(\r\n (f) => f.id === fltCategory[0].id\r\n );\r\n if (fltTypes.length == 0) {\r\n citems.push(c);\r\n }\r\n }\r\n });\r\n //console.log(\"citems:\", citems);\r\n selectedCategory.map((catItem) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fltCategory = subcategories.filter((f) => f.id == catItem.id);\r\n if (fltCategory.length > 0) {\r\n let jsonData = {\r\n user: personalInfoData.id,\r\n category: fltCategory[0].category.id,\r\n subcategory: fltCategory[0].id,\r\n };\r\n return callSetSelectedTypesAndCategoriesForUser(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n //add only selected categories\r\n citems.map((catItem) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n //let fltCategory = subcategories.filter((f) => f.id == catItem.id);\r\n //if (fltCategory.length > 0) {\r\n let jsonData = {\r\n user: personalInfoData.id,\r\n category: catItem.id,\r\n };\r\n return callSetSelectedTypesAndCategoriesForUser(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n // } else {\r\n // resolve(true);\r\n // }\r\n })\r\n );\r\n });\r\n\r\n //remove unselected categories that are present in database\r\n if (existingUserCategoryList.length > 0) {\r\n existingUserCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = selectedTypes.filter(\r\n (x) => item.subcategory !== null && x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deleteUserCategories(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const callSetSelectedTypesAndCategoriesForUser = async (jsonData) => {\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedcategories?filter=category.id||$eq||\" +\r\n jsonData.category +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory +\r\n \"&filter=user.id||$eq||\" +\r\n jsonData.user\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const deleteUserCategories = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedcategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n\r\n const confirmUploadProfilePic = () => {\r\n var imgSrc = \"\";\r\n //console.log(\"selectedUserPictue\", selectedUserPictue);\r\n if (selectedUserPictue.length !== 0) {\r\n imgSrc = URL.createObjectURL(selectedUserPictue[0]);\r\n }\r\n\r\n // setPersonalInfoData((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // profilImg: imgSrc,\r\n // profilePicture: selectedUserPictue,\r\n // };\r\n // });\r\n uploadProfileImage(selectedUserPictue);\r\n };\r\n const cancelUploadProfilePic = () => {\r\n setShowConfirmModal(false);\r\n };\r\n const onUploadImg = (picture) => {\r\n //console.log(\"Selected Profile Image: \", picture);\r\n if (picture.length > 0) {\r\n setShowConfirmModal(true);\r\n setSelectedUserPicture(picture);\r\n }\r\n };\r\n const uploadProfileImage = async (selPicture) => {\r\n addLoader();\r\n setShowConfirmModal(false);\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n data.append(constant.uplFileParameter, selPicture[0]);\r\n let res = await postDataApi(\r\n //constant.baseURL + \"profilefiles\",\r\n constant.profileFileUploadURL,\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"res\", res);\r\n if (res.data.status === 200) {\r\n setPersonalInfoData((prevState) => {\r\n return { ...prevState, profilePicture: \"\" };\r\n });\r\n setSelectedUserPicture([]);\r\n updateUserProfilePicture(res.data.data.filename);\r\n } else {\r\n removeLoader();\r\n }\r\n };\r\n // ----------------added New Function\r\n const updateUserProfilePicture = async (profileImageName) => {\r\n let jsonData;\r\n jsonData = {\r\n urlImage: profileImageName,\r\n };\r\n //console.log(jsonData);\r\n if (jsonData != undefined) {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let apiName = \"user/updateUserProfilePicture/\";\r\n\r\n let respUpdate = await patchDataApi(\r\n constant.baseURL + apiName + personalInfoData.id,\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respUpdate: \", respUpdate);\r\n if (\r\n respUpdate != undefined &&\r\n respUpdate.status != undefined &&\r\n respUpdate.status == 200\r\n ) {\r\n refreshUserInfoLocalStorage(respUpdate.data);\r\n removeLoader();\r\n addSuccessMesage(constant.profileUpdated);\r\n setShowConfirmModal(false);\r\n window.location.reload()\r\n } else {\r\n removeLoader();\r\n addErrorMesage(constant.errorWhileProfileUpdate);\r\n setShowConfirmModal(false);\r\n }\r\n }\r\n };\r\n // end\r\n\r\n const onUpdateCancel = () => {\r\n setprofileReadOnly(!profileReadOnly);\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n id: currentUserInfo != undefined ? currentUserInfo.id : 0,\r\n profilImg: avatarImg,\r\n profilePicture: \"\",\r\n firstName:\r\n currentUserInfo != undefined ? currentUserInfo.firstName : \"\",\r\n lastName: currentUserInfo != undefined ? currentUserInfo.lastName : \"\",\r\n email: currentUserInfo != undefined ? currentUserInfo.email : \"\",\r\n phoneNo: currentUserInfo != undefined ? currentUserInfo.phone : \"\",\r\n userName: currentUserInfo != undefined ? currentUserInfo.userName : \"\",\r\n // title: currentUserInfo != undefined ? currentUserInfo.title : \"\",\r\n biography:\r\n currentUserInfo != undefined ? currentUserInfo.biography : \"\",\r\n // fullAddress:\r\n // currentUserInfo != undefined ? currentUserInfo.fullAddress : \"\",\r\n subscribed:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.subscribeYouTubeChannel\r\n : false,\r\n urlImage: currentUserInfo != undefined ? currentUserInfo.urlImage : \"\",\r\n usertype: currentUserInfo != undefined ? currentUserInfo.usertype : \"\",\r\n stateId: currentUserInfo != undefined ? currentUserInfo.stateId : \"\",\r\n countryId:\r\n currentUserInfo != undefined ? currentUserInfo.countryId : \"\",\r\n cityId: currentUserInfo != undefined ? currentUserInfo.cityId : \"\",\r\n };\r\n });\r\n setSocialMediaProfileVal((prevState) => {\r\n return {\r\n ...prevState,\r\n facebook:\r\n currentUserInfo != undefined ? currentUserInfo.facebookURL : \"\",\r\n instagram:\r\n currentUserInfo != undefined ? currentUserInfo.instagramURL : \"\",\r\n youtube: currentUserInfo != undefined ? currentUserInfo.youtubeURL : \"\",\r\n tiktok: currentUserInfo != undefined ? currentUserInfo.tikTokURL : \"\",\r\n spotify: currentUserInfo != undefined ? currentUserInfo.spotifyURL : \"\",\r\n itune: currentUserInfo != undefined ? currentUserInfo.iTunesURL : \"\",\r\n apple: currentUserInfo != undefined ? currentUserInfo.appleMusicURL : \"\",\r\n applePodcastURL: currentUserInfo != undefined ? currentUserInfo.applePodcastURL : \"\",\r\n };\r\n });\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n profilImg: avatarImg,\r\n fullName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.firstName + \" \" + currentUserInfo.lastName\r\n : \"\",\r\n phoneNo: currentUserInfo != undefined ? currentUserInfo.phone : \"\",\r\n };\r\n });\r\n setSwitchState((prevState) => {\r\n return {\r\n ...prevState,\r\n switch1:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.enableNotification\r\n : false,\r\n switch2:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.recommendedMusic\r\n : false,\r\n switch3:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.playlistUpdates\r\n : false,\r\n switch4:\r\n currentUserInfo != undefined ? currentUserInfo.artistUpdates : false,\r\n };\r\n });\r\n getCountries();\r\n getCategories();\r\n getUserMiniDashBoard();\r\n };\r\n const navigateToPlaylists = () => {\r\n history.push({\r\n pathname: `MyPlaylists`,\r\n });\r\n };\r\n const getArtistFollowers = async () => {\r\n //http://45.80.152.23:4527/follows?filter=follower.id||$eq||3\r\n if (currentUserInfo != undefined) {\r\n let resFollowed = await getDataApi(\r\n constant.baseURL +\r\n \"follows?filter=follower.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n //console.log(\"resFollowed: \", resFollowed);\r\n if (resFollowed != undefined) {\r\n setArtistsFollowedData(resFollowed);\r\n }\r\n }\r\n };\r\n const getArtistFollowing = async () => {\r\n //http://45.80.152.23:4527/follows?filter=user.id||$eq||3\r\n if (currentUserInfo != undefined) {\r\n let resFollowing = await getDataApi(\r\n constant.baseURL + \"follows?filter=user.id||$eq||\" + currentUserInfo.id\r\n );\r\n //console.log(\"resFollowing: \", resFollowing);\r\n if (resFollowing != undefined) {\r\n setArtistsFollowingData(resFollowing);\r\n }\r\n }\r\n };\r\n const onClickGoPremium = () => {\r\n addErrorMesage(\"Comming Soon...\");\r\n };\r\n useEffect(() => {\r\n if (\r\n localStorage.getItem(\"UserToken\") === undefined ||\r\n localStorage.getItem(\"UserToken\") === null ||\r\n localStorage.getItem(\"UserToken\") === \"\"\r\n ) {\r\n history.push(\"/Home\")\r\n }\r\n else {\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n id: currentUserInfo != undefined ? currentUserInfo.id : 0,\r\n profilImg: avatarImg,\r\n profilePicture: \"\",\r\n firstName:\r\n currentUserInfo != undefined ? currentUserInfo.firstName : \"\",\r\n lastName: currentUserInfo != undefined ? currentUserInfo.lastName : \"\",\r\n userName: currentUserInfo != undefined ? currentUserInfo.userName : \"\",\r\n email: currentUserInfo != undefined ? currentUserInfo.email : \"\",\r\n phoneNo: currentUserInfo != undefined ? currentUserInfo.phone : \"\",\r\n // title: currentUserInfo != undefined ? currentUserInfo.title : \"\",\r\n biography:\r\n currentUserInfo != undefined ? currentUserInfo.biography : \"\",\r\n // fullAddress:\r\n // currentUserInfo != undefined ? currentUserInfo.fullAddress : \"\",\r\n subscribed:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.subscribeYouTubeChannel\r\n : false,\r\n urlImage: currentUserInfo != undefined ? currentUserInfo.urlImage : \"\",\r\n usertype: currentUserInfo != undefined ? currentUserInfo.usertype : \"\",\r\n stateId: currentUserInfo != undefined ? currentUserInfo.stateId : \"\",\r\n countryId:\r\n currentUserInfo != undefined ? currentUserInfo.countryId : \"\",\r\n cityId: currentUserInfo != undefined ? currentUserInfo.cityId : \"\",\r\n };\r\n });\r\n setSocialMediaProfileVal((prevState) => {\r\n return {\r\n ...prevState,\r\n facebook:\r\n currentUserInfo != undefined ? currentUserInfo.facebookURL : \"\",\r\n instagram:\r\n currentUserInfo != undefined ? currentUserInfo.instagramURL : \"\",\r\n youtube: currentUserInfo != undefined ? currentUserInfo.youtubeURL : \"\",\r\n tiktok: currentUserInfo != undefined ? currentUserInfo.tikTokURL : \"\",\r\n spotify: currentUserInfo != undefined ? currentUserInfo.spotifyURL : \"\",\r\n itune: currentUserInfo != undefined ? currentUserInfo.iTunesURL : \"\",\r\n apple: currentUserInfo != undefined ? currentUserInfo.appleMusicURL : \"\",\r\n applePodcastURL: currentUserInfo != undefined ? currentUserInfo.applePodcastURL : \"\",\r\n };\r\n });\r\n setBasicInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n profilImg: avatarImg,\r\n fullName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.firstName + \" \" + currentUserInfo.lastName\r\n : \"\",\r\n phoneNo: currentUserInfo != undefined ? currentUserInfo.phone : \"\",\r\n };\r\n });\r\n setSwitchState((prevState) => {\r\n return {\r\n ...prevState,\r\n switch1:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.enableNotification\r\n : false,\r\n switch2:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.recommendedMusic\r\n : false,\r\n switch3:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.playlistUpdates\r\n : false,\r\n switch4:\r\n currentUserInfo != undefined ? currentUserInfo.artistUpdates : false,\r\n };\r\n });\r\n getCountries();\r\n getCategories();\r\n getUserMiniDashBoard();\r\n getArtistFollowers();\r\n getArtistFollowing();\r\n }\r\n\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
*/}\r\n\r\n
\r\n \r\n }\r\n label=\"\"\r\n onChange={(pic) => onUploadImg(pic)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n >\r\n
\r\n
\r\n {/* */}\r\n
\r\n {basicInfo.fullName}\r\n
\r\n {personalInfoData.usertype === \"Artist\" && (\r\n
\r\n {personalInfoData.countryCode} {basicInfo.phoneNo}\r\n
\r\n )}\r\n {/* satyam agarwal */}\r\n {/* {profileReadOnly === true ? (\r\n handleEditProfile()}\r\n >\r\n Edit Profile\r\n \r\n ) : (\r\n <>\r\n \r\n
\r\n {\r\n onUpdateCancel(); //setprofileReadOnly(!profileReadOnly);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n saveChanges(personalInfoData.usertype)}\r\n >\r\n Update\r\n \r\n
\r\n
\r\n \r\n )} */}\r\n\r\n
\r\n
\r\n {(personalInfoData.usertype === \"Artist\" ||\r\n personalInfoData.usertype === \"User\") && (\r\n <> navigateToPlaylists()}\r\n >\r\n {basicInfo.playlist}{\" \"}\r\n Playlist(s)\r\n
\r\n
|
\r\n {\r\n setActiveTab(\"Following\");\r\n setShowFollows(true);\r\n }}\r\n >\r\n {basicInfo.following}{\" \"}\r\n Following\r\n
\r\n {showFollows === true && (\r\n {\r\n setShowFollows(false);\r\n }}\r\n activeTab={activeTab}\r\n followedData={artistsFollowedData}\r\n followingData={artistsFollowingData}\r\n refreshData={() => {\r\n getArtistFollowers();\r\n getUserMiniDashBoard();\r\n }}\r\n flag=\"user\"\r\n />\r\n )}\r\n \r\n\r\n )}\r\n {personalInfoData.usertype === \"Artist\" && (\r\n <>\r\n
|
\r\n {\r\n setActiveTab(\"Followers\");\r\n setShowFollows(true);\r\n }}\r\n >\r\n {basicInfo.followers}{\" \"}\r\n Follower(s)\r\n
\r\n \r\n {showFollows === true && (\r\n {\r\n setShowFollows(false);\r\n }}\r\n activeTab={activeTab}\r\n followedData={artistsFollowedData}\r\n followingData={artistsFollowingData}\r\n refreshData={() => {\r\n getArtistFollowers();\r\n getUserMiniDashBoard();\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n Free Account\r\n
\r\n {/* */}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {/* \r\n
\r\n \r\n
\r\n \r\n {profileReadOnly == false && (\r\n
\r\n onUploadImg(pic)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n >\r\n
\r\n )}\r\n
*/}\r\n
\r\n {/* ------------------------------------------------------profile Menu */}\r\n {profileReadOnly === true ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* {personalInfoData.usertype === \"Artist\" && ( */}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {/* )} */}\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {personalInfoData.usertype === \"Artist\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/* {personalInfoData.biography} */}\r\n \r\n {/* */}\r\n \r\n \r\n
\r\n
\r\n
\r\n {/*
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n {/* satyam Agarwal Start 20/09/21 */}\r\n {/*
\r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n {/* satyam Agarwal End 20/09/21 */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\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\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n Subscribe to our YouTube Channel\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n // --------------------------------------------user Read Only False\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {firstNameErr === true && (\r\n
\r\n {firstNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {lastNameErr === true && (\r\n
\r\n {lastNameErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n \r\n \r\n \r\n
\r\n {emailErr === true && (\r\n
{emailErrMsg}
\r\n )} */}\r\n
\r\n {/* {personalInfoData.usertype === \"Artist\" && ( */}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {phoneNoErr === true && (\r\n
\r\n {phoneNoErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {userNameErr === true && (\r\n
\r\n {userNameErrMsg}\r\n
\r\n )}\r\n
\r\n {/* )} */}\r\n
\r\n {personalInfoData.usertype === \"Artist\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {biographyErr === true && (\r\n
\r\n {biographyErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n {/*
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {titleErr === true && (\r\n
\r\n {titleErrMsg}\r\n
\r\n )}\r\n
\r\n
*/}\r\n
\r\n {/* satyam Agarwal Start 20/09/21 */}\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n {fullAddressErr === true && (\r\n
\r\n {fullAddressErrMsg}\r\n
\r\n )}\r\n
*/}\r\n {/* satyam Agarwal End 20/09/21 */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {personalInfoData.countryList.map(\r\n (option) => (\r\n \r\n {option.name}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {personalInfoData.stateList.map(\r\n (option) => (\r\n \r\n {option.name}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {personalInfoData.cityList.map(\r\n (option, key) => (\r\n \r\n {option.name}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n
\r\n {typesErr === true && (\r\n
\r\n {typesErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n
\r\n {categoryErr === true && (\r\n
\r\n {categoryErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Social Media\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/*
\r\n Type facebook name only\r\n
*/}\r\n {/* {isFacebookErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isInstagramErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {/* {isTwitterErrShow === true && (\r\n
\r\n {constant.invalidURL}\r\n
\r\n )} */}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n Subscribe to our YouTube Channel\r\n \r\n
\r\n {personalInfoData.subscribed === true ? (\r\n {\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n subscribed: false,\r\n };\r\n });\r\n }}\r\n checked={\r\n personalInfoData.subscribed === true\r\n }\r\n />\r\n ) : (\r\n {\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n subscribed: true,\r\n };\r\n });\r\n }}\r\n checked={\r\n personalInfoData.subscribed === true\r\n }\r\n />\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {profileReadOnly === true ? (\r\n
\r\n
\r\n \r\n handleEditProfile()}\r\n >\r\n Edit Profile\r\n \r\n
\r\n
\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n {\r\n onUpdateCancel(); //setprofileReadOnly(!profileReadOnly);\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n \r\n saveChanges(personalInfoData.usertype)\r\n }\r\n >\r\n Update\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n \r\n {personalInfoData.usertype === \"Artist\" && (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Enable Notification\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Recommended Music\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Playlist Updates\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Artist Updates\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n {settingsTabState.isPasswordChangeSecShow === false ? (\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Password\r\n
\r\n
\r\n {\r\n // addLoader()\r\n setCurrentPasswordErr({\r\n currentPasswordErrMsg: \"\",\r\n });\r\n setNewPasswordErr({\r\n newPasswordErrMsg: \"\",\r\n });\r\n seConfirmPasswordErr({\r\n confirmPasswordErrMsg: \"\",\r\n });\r\n setSettingsTabState((prevState) => {\r\n return {\r\n ...prevState,\r\n isPasswordChangeSecShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n Change Password\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* satyam 22/09/2021 Start */}\r\n {/*
\r\n
*/}\r\n \r\n
\r\n
\r\n
\r\n Change Email Address\r\n
\r\n
\r\n {\r\n // // addLoader()\r\n // setCurrentPasswordErr({\r\n // currentPasswordErrMsg: \"\",\r\n // });\r\n // setNewPasswordErr({\r\n // newPasswordErrMsg: \"\",\r\n // });\r\n // seConfirmPasswordErr({\r\n // confirmPasswordErrMsg: \"\",\r\n // });\r\n setOtpScreenHideOrShow(false);\r\n\r\n setEmailConfirmDialog(true);\r\n setSettingsTabState((prevState) => {\r\n return {\r\n ...prevState,\r\n isPasswordChangeSecShow: true,\r\n };\r\n });\r\n }}\r\n >\r\n Change Email\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n */}\r\n {/* satyam 22/09/21 End */}\r\n \r\n {/*
\r\n
\r\n
\r\n Audio Quality{\" \"}\r\n \r\n (Premium Feature)\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Streaming Quality\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Download Quality\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Download Using Cellular\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Playback{\" \"}\r\n \r\n (Premium Feature)\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Download Using Cellular\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Download Using Cellular\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n \r\n ) : (\r\n <>\r\n {emailConfirmDialog === false ? (\r\n // satyam 22/09/21\r\n \r\n
\r\n
\r\n
Password
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!isPasswordShow ? (\r\n {\r\n setPasswordShow(!isPasswordShow);\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow(!isPasswordShow);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {currentPasswordErr.isCurrentPasswordErrShow ===\r\n true && (\r\n
\r\n {\r\n currentPasswordErr.currentPasswordErrMsg\r\n }\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!isPasswordShow1 ? (\r\n {\r\n setPasswordShow1(\r\n !isPasswordShow1\r\n );\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow1(\r\n !isPasswordShow1\r\n );\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {newPasswordErr.isNewPasswordErrShow ===\r\n true && (\r\n
\r\n {newPasswordErr.newPasswordErrMsg}\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n {!isPasswordShow2 ? (\r\n {\r\n setPasswordShow2(\r\n !isPasswordShow2\r\n );\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n setPasswordShow2(\r\n !isPasswordShow2\r\n );\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n {confirmPasswordErr.isConfirmPasswordErrShow ===\r\n true && (\r\n
\r\n {\r\n confirmPasswordErr.confirmPasswordErrMsg\r\n }\r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n setSettingsTabState((prevState) => {\r\n return {\r\n ...prevState,\r\n isPasswordChangeSecShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n \r\n Change Password\r\n \r\n
\r\n \r\n \r\n \r\n ) : (\r\n // satyam Email Changed Logic\r\n\r\n \r\n
\r\n {/*
\r\n
Email
\r\n
*/}\r\n
\r\n {\r\n otpScreenHideOrShow === false ? (\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n {emailErr === true && (\r\n
\r\n {emailErrMsg}\r\n
\r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n OTP Verification\r\n
\r\n
\r\n We have sent you One Time\r\n Password on{\" \"}\r\n \r\n {personalInfoData.email}\r\n {\" \"}\r\n to verify your email id.\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/*
\r\n \r\n Submit\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {OTPError.isOtpErrorShow ===\r\n true ? (\r\n
\r\n Please Fill\r\n OTP Details.\r\n
\r\n ) : (\r\n
\r\n {OTPErrormsg.length !==\r\n 0 ? (\r\n
\r\n {\r\n OTPErrormsg\r\n }\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n )}\r\n Didn't receive the\r\n OTP?{\" \"}\r\n \r\n Resend\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n // ---------------------------otp Page end\r\n }\r\n \r\n \r\n
\r\n {\r\n setEmailConfirmDialog(false);\r\n setOtpScreenHideOrShow(false);\r\n // onUpdateCancel();\r\n setPersonalInfoData((prevState) => {\r\n return {\r\n ...prevState,\r\n id:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.id\r\n : 0,\r\n profilImg: avatarImg,\r\n profilePicture: \"\",\r\n firstName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.firstName\r\n : \"\",\r\n lastName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.lastName\r\n : \"\",\r\n email:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.email\r\n : \"\",\r\n phoneNo:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.phone\r\n : \"\",\r\n userName:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.userName\r\n : \"\",\r\n // title:\r\n // currentUserInfo != undefined\r\n // ? currentUserInfo.title\r\n // : \"\",\r\n biography:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.biography\r\n : \"\",\r\n // fullAddress:\r\n // currentUserInfo != undefined ? currentUserInfo.fullAddress : \"\",\r\n subscribed:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.subscribeYouTubeChannel\r\n : false,\r\n urlImage:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.urlImage\r\n : \"\",\r\n usertype:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.usertype\r\n : \"\",\r\n stateId:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.stateId\r\n : \"\",\r\n countryId:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.countryId\r\n : \"\",\r\n cityId:\r\n currentUserInfo != undefined\r\n ? currentUserInfo.cityId\r\n : \"\",\r\n };\r\n });\r\n // setPersonalInfoData((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // email:\r\n // currentUserInfo != undefined\r\n // ? currentUserInfo.email\r\n // : \"\",\r\n // };\r\n // });\r\n setSettingsTabState((prevState) => {\r\n return {\r\n ...prevState,\r\n isPasswordChangeSecShow: false,\r\n };\r\n });\r\n }}\r\n >\r\n Back\r\n \r\n
\r\n
\r\n \r\n {otpScreenHideOrShow === true\r\n ? \"Submit\"\r\n : \"Change Email\"}\r\n \r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please Confirm\r\n \r\n \r\n \r\n
\r\n {\" \"}\r\n Are you sure you want to change profile picture?\r\n
\r\n
\r\n
\r\n {\r\n cancelUploadProfilePic();\r\n }}\r\n >\r\n No\r\n \r\n
\r\n
\r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/download.722d211e.png\";","export default __webpack_public_path__ + \"static/media/likeSquare.5c9c1de7.png\";","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\n//import { useHistory } from \"react-router-dom\";\r\n//import moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\n// import { AiOutlineHeart, AiFillHeart, AiOutlineMore } from \"react-icons/ai\";\r\n// import downloadImg from \"../../assets/Images/download.png\";\r\n// import likeSquareImg from \"../../assets/Images/likeSquare.png\";\r\n// import add from \"../../assets/Images/add.png\";\r\n// import { FiMoreVertical } from \"react-icons/fi\";\r\nimport { Modal } from \"react-bootstrap\";\r\n// import { colors } from \"../../utility/colors\";\r\n// import closeImg from \"../../assets/Images/close.png\";\r\n// import searchImg from \"../../assets/Images/search.png\";\r\n// import addSquareImg from \"../../assets/Images/addSquare.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\n//import TinySlider from \"tiny-slider-react\";\r\nimport plusImg from \"../../assets/Images/plus.png\";\r\nimport minusImg from \"../../assets/Images/minus.png\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { AiFillWarning } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst AddEditPlaylist = ({ id, show, handleClose, refreshItems, itemName, playlistTypeext }) => {\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n //let history = useHistory();\r\n const [selectedPlaylist, setSelectedPlaylist] = useState(undefined);\r\n const [searchInputShow, setSearchInputShow] = useState(false);\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const [playlistName, setPlaylistName] = useState(itemName);\r\n const [isPlaylistNameErrShow, setPlaylistNameErr] = useState(false);\r\n const [isCreatePlaylistInputShow, setCreatePlaylistInputShow] =\r\n useState(false);\r\n const [showNewPlaylistModal, setShowNewPlaylistModal] = useState(false);\r\n const [playlistData, setPlaylistData] = useState([]);\r\n const [showAddSongsModal, setShowAddSongsModal] = useState(false);\r\n const [isAddSongsSectionShow, setIsAddSongsSectionShow] = useState(false);\r\n const [playlistType, setplaylistType] = useState(playlistTypeext ? playlistTypeext : \"video\")\r\n const [songsListState, setSongsListState] = useState({\r\n songsList: [], //{ id: 1, img: musicImg, songName: 'In The End', artistName: 'Linkin Park' },\r\n selectedSongs: [],\r\n });\r\n const [selectedSongID, setSelectedSongID] = useState([]);\r\n const [exitingSongID, setExitingSongID] = useState([]);\r\n const [newPlaylist, setNewPlayList] = useState(\"\");\r\n const [showConfirmSongEmptyBox, setShowConfirmSongEmptyBox] = useState(false);\r\n const getAllMusics = async (i) => {\r\n let resMusics = await getDataApi(\r\n constant.baseURL + \"musics?filter=musicType||$eq||\" + i + \"&filter=isDeleted||$eq||0&filter=status||$eq||1&sort=id,DESC\"\r\n );\r\n if (resMusics != undefined && resMusics.length > 0) {\r\n let itms = [];\r\n resMusics.map((m) => {\r\n itms.push({ id: m.id, img: constant.musicURL, songName: m.title }); //(m.urlImage != undefined && m.urlImage != null && m.urlImage != \"\") ? constant.musicFileURL+m.urlImage :\r\n });\r\n setSongsListState((prevState) => {\r\n return { ...prevState, songsList: [...itms] };\r\n });\r\n }\r\n };\r\n const getMusicsByPlayList = async (playlistId, i) => {\r\n let resMusics = await getDataApi(\r\n constant.baseURL + \"musics?filter=musicType||$eq||\" + i + \"&filter=isDeleted||$eq||0&filter=status||$eq||1&sort=id,DESC\"\r\n );\r\n if (resMusics != undefined && resMusics.length > 0) {\r\n let itms = [];\r\n resMusics.map((m) => {\r\n itms.push({ id: m.id, img: constant.musicURL, songName: m.title });\r\n });\r\n setSongsListState((prevState) => {\r\n return { ...prevState, songsList: [...itms] };\r\n });\r\n if (currentUserInfo != undefined) {\r\n let apiURL = constant.baseURL +\r\n \"musicplaylists/getMusicsByPlayList/\" +\r\n playlistId +\r\n \"?page=1&limit=10\"\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resPlayListsMusics = await getDataApi(\r\n apiURL\r\n );\r\n if (\r\n resPlayListsMusics != undefined &&\r\n resPlayListsMusics.data != undefined &&\r\n resPlayListsMusics.data.length > 0\r\n ) {\r\n let selecteditms = [];\r\n let exItem = [];\r\n resPlayListsMusics.data.map((p) => {\r\n selecteditms.push(p.musics.musics_id);\r\n exItem.push({\r\n id: p.musicplaylists_id,\r\n musicId: p.musics.musics_id,\r\n });\r\n });\r\n setSelectedSongID([...selecteditms]);\r\n setExitingSongID([...exItem]);\r\n }\r\n }\r\n }\r\n };\r\n const onCreateAddPlaylist = () => {\r\n if (!playlistName) return setPlaylistNameErr(true);\r\n //addLoader();\r\n createUpdatePlaylists(id);\r\n };\r\n const getPlaylistByName = async () => {\r\n //http://45.80.152.23:4527/playlists?filter=name||$eq||pl04\r\n let resPlaylist = await getDataApi(\r\n constant.baseURL +\r\n \"playlists?filter=name||$eq||\" +\r\n playlistName +\r\n \"&filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=isDeleted||$eq||0\"\r\n );\r\n return resPlaylist;\r\n };\r\n const createUpdatePlaylists = async (id) => {\r\n if (currentUserInfo != undefined) {\r\n let respName = await getPlaylistByName();\r\n if (id === 0 && respName.length > 0) {\r\n addErrorMesage(\"Playlist with the same name already exists!\");\r\n //removeLoader();\r\n return;\r\n } else {\r\n let jsonData = { user: currentUserInfo.id, name: playlistName, playlistType: playlistType };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPlayList;\r\n if (id !== 0) {\r\n //update\r\n respPlayList = await patchDataApi(\r\n constant.baseURL + \"playlists/\" + id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPlayList != undefined &&\r\n respPlayList.status != undefined &&\r\n respPlayList.status == 200\r\n ) {\r\n setNewPlayList(respPlayList.data);\r\n getMusicsByPlayList(id, playlistType);\r\n setIsAddSongsSectionShow(true);\r\n setCreatePlaylistInputShow(false);\r\n setShowNewPlaylistModal(false);\r\n setShowAddSongsModal(true);\r\n //handleClose();\r\n } else {\r\n addErrorMesage(\"Error encountered while updating playlist\");\r\n }\r\n } else {\r\n //create\r\n respPlayList = await postDataApi(\r\n constant.baseURL + \"playlists\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPlayList != undefined &&\r\n respPlayList.status != undefined &&\r\n respPlayList.status == 201\r\n ) {\r\n if (respPlayList.data != undefined) {\r\n setNewPlayList(respPlayList.data);\r\n }\r\n getAllMusics(playlistType);\r\n setIsAddSongsSectionShow(true);\r\n setCreatePlaylistInputShow(false);\r\n setShowNewPlaylistModal(true);\r\n } else {\r\n addErrorMesage(\"Error encountered while creating new playlist\");\r\n //removeLoader();\r\n }\r\n }\r\n }\r\n }\r\n // else{\r\n // removeLoader();\r\n // }\r\n };\r\n const addSongID = (id) => {\r\n if (selectedSongID.length !== 0) {\r\n if (!selectedSongID.includes(id)) {\r\n setSelectedSongID([...selectedSongID, id]);\r\n //addSuccessMesage(\"Song added to the playlist!\");\r\n } else {\r\n let newArr = selectedSongID.filter((i) => i !== id);\r\n setSelectedSongID(newArr);\r\n //addErrorMesage(\"Song removed from the playlist!\");\r\n }\r\n } else {\r\n let arr = [];\r\n arr.push(id);\r\n setSelectedSongID(arr);\r\n //addSuccessMesage(\"Song added to the playlist!\");\r\n }\r\n };\r\n const saveSongToPlayList = async () => {\r\n if (exitingSongID.length === 0) {\r\n addLoader();\r\n }\r\n let promise = new Promise((resolve, reject) => {\r\n return callSaveSongToPlayList().then((rsp) => {\r\n if (exitingSongID.length === 0) {\r\n addSuccessMesage(\"Playlist Created\");\r\n }\r\n resetPlayListModal();\r\n resolve(true);\r\n });\r\n });\r\n return promise;\r\n };\r\n const callSaveSongToPlayList = async () => {\r\n if (newPlaylist != undefined) {\r\n let promises_array = [];\r\n selectedSongID.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { playlists: newPlaylist.id, music: item };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n return AddMusicToPlaylists(formBody, item)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n resetPlayListModal();\r\n });\r\n })\r\n );\r\n });\r\n return Promise.all(promises_array);\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const updateSongToPlayList = () => {\r\n addLoader();\r\n return deleteExistingMusicFromPlayList().then((res) => {\r\n return saveSongToPlayList().then((r) => {\r\n addSuccessMesage(\"Playlist Updated\");\r\n //enqueueSnackbar('Playlist Updated', {variant: 'success', anchorOrigin: {vertical: 'top', horizontal: 'right', }, });\r\n resetPlayListModal();\r\n });\r\n });\r\n };\r\n const deleteExistingMusicFromPlayList = () => {\r\n let promises_array = [];\r\n if (exitingSongID.length > 0) {\r\n exitingSongID.map((e) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let itemFound = selectedSongID.filter((x) => x == e.musicId);\r\n if (itemFound.length == 0) {\r\n return deleteMusicFromPlaylist(e.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const deleteMusicFromPlaylist = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(constant.baseURL + \"musicplaylists/\" + id, authHeader)\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const AddMusicToPlaylists = async (data, musicId) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"musicplaylists?filter=music.id||$eq||\" +\r\n musicId +\r\n \"&filter=playlists.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n //if(resExits != undefined && resExits.statusCode != 404 && resExits.error != undefined && resExits.error == \"Not Found\"){\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n await postDataApi(constant.baseURL + \"musicplaylists\", data, authHeader)\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n const resetPlayListModal = () => {\r\n //getMyPlayLists();\r\n removeLoader();\r\n setShowAddSongsModal(false);\r\n setShowNewPlaylistModal(false);\r\n setPlaylistName(\"\");\r\n setIsAddSongsSectionShow(false);\r\n handleClose();\r\n refreshItems();\r\n };\r\n const renderSongList = () => {\r\n if (songsListState.songsList.length === 0) {\r\n return null;\r\n } else {\r\n return songsListState.songsList.map((song, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{song.songName}
\r\n
\r\n
\r\n
\r\n {\r\n addSongID(song.id);\r\n }}\r\n src={renderPlusMinusImg(song.id)}\r\n alt=\"add-song-image\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n }\r\n };\r\n const renderPlusMinusImg = (id) => {\r\n if (selectedSongID.length !== 0) {\r\n if (selectedSongID.includes(id)) return minusImg;\r\n else return plusImg;\r\n } else return plusImg;\r\n };\r\n return (\r\n <>\r\n \r\n \r\n \r\n {id !== 0 ? \"Update Playlist\" : \"Create New Playlist\"}\r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n setPlaylistName(e.target.value);\r\n setPlaylistNameErr(false);\r\n }}\r\n value={playlistName}\r\n />\r\n \r\n \r\n {isPlaylistNameErrShow == true && (\r\n
\r\n Enter Playlist Name\r\n
\r\n )}\r\n
\r\n
\r\n Select Type\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n // if (\r\n // podcastDetails.uploadedPodcast ===\r\n // null\r\n // ) {\r\n setplaylistType(\"video\");\r\n }\r\n // }\r\n }\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n // if (\r\n // podcastDetails.uploadedPodcast ===\r\n // null\r\n // ) {\r\n setplaylistType(\"music\");\r\n }\r\n }\r\n // }\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n onCreateAddPlaylist();\r\n }}\r\n >\r\n {id !== 0 ? \"Update\" : \"Create\"}\r\n \r\n
\r\n
\r\n
\r\n \r\n {/* {showNewPlaylistModal === true && id !== 0 && ( */}\r\n {showNewPlaylistModal === true && id === 0 && (\r\n {\r\n setShowNewPlaylistModal(false);\r\n }}\r\n backdrop={\"static\"}\r\n keyboard={false}\r\n aria-labelledby=\"example-custom-modal-styling-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 {id !== 0 ? \"UPDATE PLAYLIST\" : \"NEW PLAYLIST\"}{\" \"}\r\n
\r\n \r\n
\r\n Looks like your playlist is empty. Please add\r\n songs to the playlist.\r\n
\r\n {\r\n setShowNewPlaylistModal(false);\r\n setShowAddSongsModal(true);\r\n }}\r\n >\r\n Add Songs\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n {showAddSongsModal === true && (\r\n setShowAddSongsModal(false)}\r\n backdrop={\"static\"}\r\n keyboard={false}\r\n aria-labelledby=\"example-custom-modal-styling-title\"\r\n >\r\n \r\n \r\n Add Songs to {playlistName}\r\n \r\n \r\n \r\n
\r\n
\r\n
{renderSongList()}
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n if (id === 0 && selectedSongID.length === 0) {\r\n setShowAddSongsModal(false);\r\n setShowConfirmSongEmptyBox(true);\r\n } else {\r\n resetPlayListModal();\r\n }\r\n }}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n {\r\n exitingSongID.length === 0\r\n ? saveSongToPlayList()\r\n : updateSongToPlayList();\r\n }}\r\n >\r\n {id !== 0 ? \"Update To Playlist\" : \"Add To Playlist\"}{\" \"}\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n Please Confirm\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setShowConfirmSongEmptyBox(false);\r\n setShowAddSongsModal(true);\r\n }}\r\n >\r\n No\r\n \r\n
\r\n
\r\n {\r\n setShowConfirmSongEmptyBox(false);\r\n resetPlayListModal();\r\n }}\r\n >\r\n Yes\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\nexport default AddEditPlaylist;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAABHNCSVQICAgIfAhkiAAABSBJREFUaEPtmvtPXEUUx+fcu7uwu60FKQqUbWkQaoMNKEWlkYAttW2kREFWiWiN1aY/+YP6B/Qf8NfGVxMfGJolfQQwtEprESMqYNGGBNtSwcUtQimL+2R374xzKyCx+zh7EXvvLTfZTIY5c+Z8zneXnT0zQO6yB+4yXrIKrHfF/xOF2cTbVjLLzESSjCuSMFEMk0ggCEVHvcv1rwjYP3h4g9lqsRGJ5lJG7l1uEMnMF4DcJFQaD4TCTkvJu78nM1e2TQqYXXrTJhFaBkDWJ7vQStgzRm6ESKjPsu2oE+sfBcwdAxl6o4oSUoB1/H/aUUYvGx5a/zXAER5i/CchMOs/ZJRMxt3cU24iZ3dynENPpBhunIGi1lC8OBICBy4erhJFKLyTMNi1gdERY/F75xQDBwdfLxSYoQq7oBrsKEQupJZ8cDlWLDEVZkMNpmAovZEbpKgBBBsDI2Qu1TTTEuutHRPYN/BaqSiQUuxCarKTKBmwln44EC2mqMDM0SAG860vAQGTmkCwsTDCQqkjvk/B3ir9e05UYF9/UzYB437sAqq0Y+F26/bm6yhgf9/LjzIGJaoEQQYFwAYtZZ/8gAL29TXVEkaykL7VaQZkwlrW3IYC9vc22RmQNHWS4KICRtyW8mYHCtj7XWMT301acK7VaQWE+dc83tKcEJgdIYJnz/Ov8h8IgjpRcFExCtI9O44fSwgsG3i+bTiEc6tuq7U7Wt9HAbt1ApyGBu6p04XCaRUnkQr3PKMT4NM44Ome/boAzqhoRwJ36wS4Eg38tD4Urvwcp/DU+b2KgaXwXEYk7CsBQTALIBIQRCKAcKslcl/kfTLfzo/zQSLwcVgY5y3fywfm5tyD4aB3WumXX+bOM1jgpxQBh/0zhQG/+y1BNHAA/uItwHw737/1d/6ChXEOKgrGvxMj/tPKyZL7fu/kOwHvVMwKRrxkZO78AgncpQzYc/PXVyiTymWlRBl2EWo+AUv7S5KxmJwlyViYT6Vw7+zUtY+UqJxZjQSe6NqlSGG/e3xXJOS3L1VwuUpzf44/3eNxC3OxkpFVfQ6n8ETXk4qAaSRk8c+67IxK/DNsMC9LaRADvPQ66Jl1KlJXTkJW9VdI4LOVioCVvO1Wck7Wnu5V4Kg1LVfnE7pQOGffNziFXZ3lOgHuRQJ36AS4Bgns7HhMFwrbar7HKezs2K4T4H4kcNsj+gCu/REHPNr28EF+zMJ3+9p9+HGLlFd7EVfEGztV3MRRtV6m9Wx89ucWVBFv9FRRPa/SZmhXX8LvvZDJzc9dOo0CvubYupuIsFnLwALA1by6ofMo4NGTBVspM1ZoGZgBvZBfN3zb7+ioW8vhY1vWmtKgUcvAITdrefDgLx6UwrLRSGtBDb+ulKNFaH5M5MpvuNIRLfaYVx5GT2zKjkgGTR6KG8RIe1792G2H4XIC4l5buno8fx+3sWlMZecDL4x0xoo5LrDTkWsORoR6XoHUxHeyQKnfaKAnbPbxgCJgedJwiy0HAGq0oHKIRTq3Nbri3rtMeBNPBr3SvCE3AqSaHxir8lYPh+CswS+3HJhOeLsWBSxDj322Lj1IrZW8qn6fqtSmbDJV8HVvenF2BhMXGnjB2dDH6RsFMBXzonM2ZoEVs2H0OmXiT0UHXL8ls0bSwIvgDmKSvPfnppgiGQCCWZLATAS6MjfiqRAWRRZgjAbmQoZpcc0f40V2EvfWrOJ/WslkTwu2ihXWAlxSOy2tAiWKe1XhRBnS+vhfs7e4THrnAkkAAAAASUVORK5CYII=\"","import React from \"react\";\r\nimport { Modal, ModalBody, Button } from \"react-bootstrap\";\r\nimport { AiFillWarning } from \"react-icons/ai\";\r\n\r\nexport default function ConfirmDeleteModal(props) {\r\n const { setdeleteModal, deleteModal, type, onconfirmDelete } = props;\r\n const cancelDelete = () => {\r\n //console.log(\"cancel Delete\");\r\n setdeleteModal(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Please Confirm\r\n \r\n \r\n \r\n
\r\n Are you sure you want to Delete {type} ?\r\n
\r\n
\r\n
\r\n {\r\n cancelDelete();\r\n }}\r\n >\r\n No\r\n \r\n
\r\n
\r\n \r\n Yes\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link, NavLink, useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, patchDataApi, postDataApi } from \"../../utility/apiCall\";\r\nimport downloadImg from \"../../assets/Images/download.png\";\r\nimport likeSquareImg from \"../../assets/Images/likeSquare.png\";\r\nimport add from \"../../assets/Images/add.png\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport { Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport AddEditPlaylist from \"../AddEditPlaylist/AddEditPlaylist\";\r\nimport { FaSearch } from \"react-icons/fa\";\r\nimport { hashCodeUrl } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport ConfirmDeleteModal from \"../ConfirmDeleteModal/ConfirmDeleteModal\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../CustomToster/CustomToaster\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nconst MyItems = ({ type, headerTitle, showLikes, showDownloads }) => {\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n let history = useHistory();\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [data, setData] = useState([]);\r\n const [page, setPage] = useState(1);\r\n const [limit, setLimit] = useState(10);\r\n const [showAddEditPlaylistModal, setShowAddEditPlaylistModal] =\r\n useState(false);\r\n const [itemName, setItemName] = useState(\"\");\r\n const [playlistType, setplaylistType] = useState(\"music\");\r\n const [itemId, setItemId] = useState(0);\r\n const [liked, setLiked] = useState(0);\r\n const [downloads, setDownloads] = useState(0);\r\n const [searchInputShow, setSearchInputShow] = useState(false);\r\n // satyam Start\r\n const [deleteModal, setdeleteModal] = useState(false);\r\n const [deleteItemIndex, setdeleteItemIndex] = useState(null);\r\n // Satyam End\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n const getMyData = async (pageNumber) => {\r\n let apiURL = \"\";\r\n if (type === \"Album\") {\r\n apiURL =\r\n constant.baseURL +\r\n \"albums?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\";\r\n } else if (type === \"Playlist\") {\r\n apiURL =\r\n constant.baseURL +\r\n \"playlists?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\";\r\n } else if (type === \"News\") {\r\n apiURL =\r\n constant.baseURL +\r\n \"news?filter=artist.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\";\r\n } else if (type === \"Events\") {\r\n apiURL =\r\n constant.baseURL +\r\n \"events?filter=artist.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\";\r\n } else if (type === \"Podcasts\") {\r\n apiURL =\r\n constant.baseURL +\r\n \"podcasts?filter=artist.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=status||$eq||1&filter=isDeleted||$eq||0&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\";\r\n }\r\n if (apiURL !== \"\") {\r\n let resp = await getDataApi(apiURL);\r\n //console.log(\"resp: \", resp);\r\n if (\r\n resp != undefined &&\r\n resp.data !== undefined &&\r\n resp.data.length > 0\r\n ) {\r\n let itms = [];\r\n resp.data.map((p) => {\r\n if (type === \"Album\") {\r\n let dfltURL =\r\n p.albumType == \"video\" ? constant.videoURL : constant.musicURL;\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n img:\r\n p.urlImage != undefined &&\r\n p.urlImage != null &&\r\n p.urlImage != \"\"\r\n ? constant.albumFileURL + p.urlImage\r\n : dfltURL,\r\n title: p.name,\r\n albumType: p.albumType,\r\n urlImage: p.urlImage,\r\n artistName: p.user.firstName + \" \" + p.user.lastName,\r\n });\r\n } else if (type === \"Playlist\") {\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n title: p.name,\r\n img: p.playlistType == \"music\" ? constant.musicURL : constant.videoURL,\r\n type: p.playlistType,\r\n albumType: p.playlistType,\r\n });\r\n } else if (type === \"News\") {\r\n itms.push({\r\n id: p.id,\r\n name: p.title,\r\n img:\r\n p.urlImage != undefined &&\r\n p.urlImage != null &&\r\n p.urlImage != \"\"\r\n ? constant.newsFileURL + p.urlImage\r\n : constant.musicURL,\r\n title: p.title,\r\n subtitle: p.subtitle,\r\n description: p.description,\r\n urlImage: p.urlImage,\r\n artistName:\r\n p.artist != undefined\r\n ? p.artist.firstName + \" \" + p.artist.lastName\r\n : \"\",\r\n });\r\n } else if (type === \"Events\") {\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n title: p.name,\r\n img:\r\n p.urlImage != undefined &&\r\n p.urlImage != null &&\r\n p.urlImage != \"\"\r\n ? constant.eventsFileURL + p.urlImage\r\n : constant.musicURL,\r\n eventLink: p.eventlink,\r\n address: p.address,\r\n description: p.description,\r\n urlImage: p.urlImage,\r\n eventdate: p.eventdate,\r\n artistName:\r\n p.artist != undefined\r\n ? p.artist.firstName + \" \" + p.artist.lastName\r\n : \"\",\r\n });\r\n } else if (type === \"Podcasts\") {\r\n let dfltURL =\r\n p.podcastType == \"video\" ? constant.videoURL : constant.musicURL;\r\n itms.push({\r\n id: p.id,\r\n name: p.name,\r\n img:\r\n p.urlImage != undefined &&\r\n p.urlImage != null &&\r\n p.urlImage != \"\"\r\n ? constant.podcastFileURL + p.urlImage\r\n : dfltURL,\r\n title: p.name,\r\n description: p.description,\r\n duration:p.duration,\r\n podcastType: p.podcastType,\r\n urlPodcast: p.urlPodcast,\r\n urlImage: p.urlImage,\r\n artistName: p.artist.firstName + \" \" + p.artist.lastName,\r\n size:\r\n p.size !== undefined && p.size !== null && p.size !== \"\"\r\n ? p.size\r\n : 0,\r\n });\r\n }\r\n });\r\n if (pageNumber == 1) {\r\n setData([...itms]);\r\n } else {\r\n setData([...data, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resp.page < resp.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n } else {\r\n setData([]);\r\n setShowViewMore(false);\r\n }\r\n }\r\n };\r\n const onClickViewMore = () => {\r\n setPage(page + 1);\r\n getMyData(page + 1);\r\n };\r\n const onEdit = (index) => {\r\n let pageName = \"\";\r\n let selectedItem = data[index];\r\n //console.log(selectedItem)\r\n let sObj = {\r\n id: selectedItem.id,\r\n item: selectedItem,\r\n };\r\n if (type === \"Album\") {\r\n pageName = `UploadMusic`;\r\n } else if (type === \"News\") {\r\n pageName = `CreateNews`;\r\n } else if (type === \"Podcasts\") {\r\n pageName = `UploadPodcast`;\r\n } else if (type === \"Events\") {\r\n pageName = `CreateEvents`;\r\n }\r\n if (\r\n type === \"Album\" ||\r\n type === \"News\" ||\r\n type === \"Podcasts\" ||\r\n type === \"Events\"\r\n ) {\r\n //console.log(\"playList Push\");\r\n history.push({\r\n pathname: pageName,\r\n state: sObj,\r\n });\r\n } else if (type === \"Playlist\") {\r\n setShowAddEditPlaylistModal(true);\r\n setItemId(selectedItem.id);\r\n setItemName(selectedItem.name);\r\n //console.log(selectedItem)\r\n setplaylistType(data[index]?.type);\r\n }\r\n };\r\n const onDelete = (index) => {\r\n //console.log(\"Delete\");\r\n setdeleteModal(true);\r\n setdeleteItemIndex(index);\r\n };\r\n const onconfirmDelete = async () => {\r\n let apiURL = \"\";\r\n let selectedItem = data[deleteItemIndex];\r\n //console.log(\"selectedItem\", selectedItem);\r\n let jsonData = {\r\n isDeleted: 1,\r\n };\r\n //console.log(\"jsonData\", jsonData);\r\n setdeleteModal(false);\r\n if (type === \"Album\") {\r\n apiURL = constant.deleteAlbum + \"/\" + selectedItem.id;\r\n } else if (type === \"News\") {\r\n apiURL = constant.deleteNews + \"/\" + selectedItem.id;\r\n } else if (type === \"Podcasts\") {\r\n apiURL = constant.deletePodcast + \"/\" + selectedItem.id;\r\n } else if (type === \"Events\") {\r\n apiURL = constant.deleteEvent + \"/\" + selectedItem.id;\r\n } else if (type === \"Playlist\") {\r\n apiURL = constant.deletePlaylist + \"/\" + selectedItem.id;\r\n }\r\n\r\n if (\r\n type === \"Album\" ||\r\n type === \"News\" ||\r\n type === \"Podcasts\" ||\r\n type === \"Events\" ||\r\n type === \"Playlist\"\r\n ) {\r\n //console.log(apiURL);\r\n if (apiURL !== \"\") {\r\n addLoader();\r\n let deleteResponse = await patchDataApi(apiURL, jsonData);\r\n\r\n //console.log(\"deleteResponse\", deleteResponse);\r\n // console.log(\r\n // deleteResponse.status === 200 || deleteResponse.statusText === \"OK\"\r\n // );\r\n if (\r\n deleteResponse.status === 200 ||\r\n deleteResponse.statusText === \"OK\"\r\n ) {\r\n removeLoader();\r\n addSuccessMesage(`${type} Deleted`);\r\n getMyData(1);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(`${type} not Deleted`);\r\n }\r\n }\r\n }\r\n };\r\n const onCreate = (index) => {\r\n let pageName = \"\";\r\n if (type === \"Album\") {\r\n pageName = `UploadMusic`;\r\n } else if (type === \"Podcasts\") {\r\n pageName = `UploadPodcast`;\r\n } else if (type === \"Events\") {\r\n pageName = `CreateEvents`;\r\n } else if (type === \"News\") {\r\n pageName = `CreateNews`;\r\n }\r\n if (\r\n type === \"Album\" ||\r\n type === \"Podcasts\" ||\r\n type === \"Events\" ||\r\n type === \"News\"\r\n ) {\r\n history.push({\r\n pathname: pageName,\r\n state: {\r\n id: 0,\r\n },\r\n });\r\n } else if (type === \"Playlist\") {\r\n setShowAddEditPlaylistModal(true);\r\n setItemId(0);\r\n setItemName(\"\");\r\n }\r\n };\r\n const onClickItem = (index) => {\r\n let pageName = \"\";\r\n let sItem = data[index];\r\n //console.log(\"sItem\", sItem);\r\n let stateObj = {\r\n id: sItem.id,\r\n item: sItem,\r\n };\r\n if (type === \"Album\") {\r\n if (sItem.albumType == \"video\") {\r\n pageName = `VideoPlayer`;\r\n stateObj = { variant: \"musicjs\", variant1: \"musicjs\", id: sItem.id }\r\n } else {\r\n pageName = `MyAlbumsDetails/${hashCodeUrl(sItem.id)}`;\r\n }\r\n // changed By Satyam 06/sep/2021\r\n } else if (type === \"Playlist\") {\r\n //pageName = `PlaylistDetails`;\r\n pageName = `PlaylistDetails/${hashCodeUrl(sItem.id)}`; //Hitendra\r\n } else if (type === \"News\") {\r\n pageName = `NewsDetails/${hashCodeUrl(sItem.id)}`;\r\n // pageName = `NewsDetails/${hashCodeUrl(sItem.id)}/${hashCodeUrl(\r\n // sItem.description\r\n // )}`;\r\n } else if (type === \"Events\") {\r\n pageName = `EventsDetails/${hashCodeUrl(sItem.id)}`;\r\n // pageName = `EventsDetails/${hashCodeUrl(sItem.id)}/${hashCodeUrl(\r\n // sItem.description\r\n // )}`;\r\n } else if (type === \"Podcasts\") {\r\n // if (sItem.podcastType == \"video\") {\r\n // pageName = `VideoPlayer`;\r\n // stateObj = { variant: \"homepodcastjs\",id: sItem.id, url: constant.podcastFileURL + sItem.urlPodcast }\r\n // } else {\r\n pageName = `PodcastDetails/${hashCodeUrl(sItem.id)}`;\r\n // }\r\n // pageName = `PodcastDetails/${hashCodeUrl(sItem.id)}/${hashCodeUrl(\r\n // sItem.title\r\n // )}`;\r\n }\r\n //console.log(\"playList Click\");\r\n if (\r\n type === \"Playlist\" ||\r\n type === \"News\" ||\r\n type === \"Podcasts\" ||\r\n type === \"Events\" ||\r\n type === \"Album\" // changed By Satyam 06/sep/2021\r\n ) {\r\n // console.log(\"stateObj\", stateObj);\r\n // console.log(\"playList Push\");\r\n history.push({\r\n pathname: pageName,\r\n state: stateObj,\r\n });\r\n }\r\n };\r\n //MY PLAYLIST - START\r\n const getMusicLikes = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resMusicLikes = await getDataApi(\r\n constant.baseURL +\r\n \"musiclikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n if (resMusicLikes != undefined && resMusicLikes.length > 0) {\r\n setLiked(resMusicLikes.length);\r\n }\r\n }\r\n };\r\n const getMusicDownloads = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resMusicDownloads = await getDataApi(\r\n constant.baseURL +\r\n \"musicdownloads?filter=user.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n if (resMusicDownloads != undefined && resMusicDownloads.length > 0) {\r\n setDownloads(resMusicDownloads.length);\r\n }\r\n }\r\n };\r\n //MY PLAYLIST - END\r\n //MY NEWS - START\r\n const getNewsLikes = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resNewsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"newslikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n if (resNewsLikes != undefined && resNewsLikes.length > 0) {\r\n setLiked(resNewsLikes.length);\r\n }\r\n }\r\n };\r\n const getPodcastLikes = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resPodcastsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"podcastlikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n if (resPodcastsLikes != undefined && resPodcastsLikes.length > 0) {\r\n setLiked(resPodcastsLikes.length);\r\n }\r\n }\r\n };\r\n const getEventLikes = async () => {\r\n if (currentUserInfo != undefined) {\r\n let resPodcastsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"eventslikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id\r\n );\r\n if (resPodcastsLikes != undefined && resPodcastsLikes.length > 0) {\r\n setLiked(resPodcastsLikes.length);\r\n }\r\n }\r\n };\r\n //MY NEWS - END\r\n const renderItems = () => {\r\n if (data.length > 0) {\r\n return data.map((item, index) => {\r\n return (\r\n
\r\n onClickItem(index)}\r\n src={item.img}\r\n alt=\"\"\r\n />\r\n
\r\n \r\n {String(item.title.trim())}\r\n
\r\n \r\n {/* */}\r\n \r\n }\r\n >\r\n onEdit(index)}>\r\n Edit\r\n \r\n onDelete(index)}>\r\n Delete\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n useEffect(() => {\r\n getMyData(page);\r\n if (showLikes === true || showDownloads === true) {\r\n if (type === \"Playlist\") {\r\n getMusicLikes();\r\n getMusicDownloads();\r\n } else if (type === \"News\") {\r\n getNewsLikes();\r\n }\r\n else if (type === \"Podcasts\") {\r\n getPodcastLikes();\r\n }\r\n else if (type === \"Events\") {\r\n getEventLikes();\r\n }\r\n }\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
{headerTitle}
\r\n
\r\n {/*
\r\n
\r\n {searchInputShow ? (\r\n
\r\n \r\n setSearchTerm(e.target.value)}\r\n />\r\n {\r\n setSearchTerm(\"\");\r\n setSearchInputShow(false);\r\n }}\r\n >\r\n x\r\n \r\n
\r\n ) : (\r\n
setSearchInputShow(true)}>\r\n \r\n
\r\n )}\r\n
\r\n
*/}\r\n
\r\n
\r\n onCreate()}\r\n >\r\n \r\n
Create
\r\n
\r\n {showLikes === true && (\r\n
\r\n \r\n
\r\n
Liked
\r\n \r\n {liked}\r\n
\r\n
\r\n
\r\n )}\r\n {showDownloads === true && (\r\n
\r\n \r\n
\r\n
Downloads
\r\n \r\n {downloads}\r\n
\r\n
\r\n \r\n )}\r\n {renderItems()}\r\n \r\n {data.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n {showAddEditPlaylistModal === true && (\r\n setShowAddEditPlaylistModal(false)}\r\n refreshItems={() => getMyData(1)}\r\n itemName={itemName}\r\n playlistTypeext={playlistType}\r\n >\r\n )}\r\n {deleteModal && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default MyItems;\r\n","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\nimport MyItems from \"../../components/MyItems/MyItems\";\r\n\r\nfunction MyAlbums() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MyAlbums;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport MyItems from \"../../components/MyItems/MyItems\";\r\n\r\nfunction MyPlaylists() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MyPlaylists;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport { BsPlayFill } from \"react-icons/bs\";\r\nimport { FaShareAlt, FaPlay } from \"react-icons/fa\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport Musics from \"../../components/Musics/Musics\";\r\nimport AudioPlayer from \"../../components/AudioPlayer/AudioPlayer\";\r\nimport { DisableButtonLoader } from \"../../utility/CustomLoader\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { hashCodeUrlDecode } from \"../../utility/EncodeAndDecodeUrl\";\r\n\r\nfunction PlaylistDetails(props) {\r\n //console.log(props);\r\n let searchData = useParams();\r\n //console.log(\"--playlistdeatils--searchData\",searchData);\r\n //console.log(\"--playlistdetails--props.location?.state\",props.location?.state);\r\n const [idd, setidd] = useState(hashCodeUrlDecode(searchData.itemId));\r\n const [playListItemObj, setPlayListItemObj] = useState(undefined);\r\n let history = useHistory();\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n //const { id, item } = props.location?.state;\r\n const [id, setId] = useState(searchData.itemId != undefined ? hashCodeUrlDecode(searchData.itemId) : props.location?.state.id);\r\n const [item,setItem] = useState(props.location != undefined && props.location.state != undefined ? props.location.state.item : undefined);\r\n\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [page, setPage] = useState(1);\r\n const [limit, setLimit] = useState(10);\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\r\n const [CurrentPlayMusic, setCurrentPlayMusic] = useState(false);\r\n const [playIndex, setPlayIndex] = useState(0);\r\n const [showMusics, setShowMusics] = useState(false);\r\n const [typeext,settype] = useState(\"\")\r\n const [playlistInfo, setPlaylistInfo] = useState({\r\n id: searchData.itemId != undefined ? hashCodeUrlDecode(searchData.itemId) : props.location?.state.id,//id,\r\n playlistName: \"\",\r\n img: \"\",\r\n musicList: [], //{ id: 1,rank: '01',title: 'Underwater Whales Sound',album: 'From The Deep Ocean',time: '3:22',like: true,},\r\n musicLikesList: [],\r\n musicDownloadList: [],\r\n });\r\n //console.log(playlistInfo)\r\n const setLikes = (id, data,likeId) => {\r\n // if (playlistInfo.musicLikesList.length !== 0) {\r\n // let fltLikes = playlistInfo.musicLikesList.filter(\r\n // (f) => f.music != undefined && f.music.id == id\r\n // );\r\n // if (fltLikes.length == 0) {\r\n // setPlaylistInfo((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // musicLikesList: [...playlistInfo.musicLikesList, data],\r\n // };\r\n // });\r\n // } else {\r\n // let newArr = playlistInfo.musicLikesList.filter(\r\n // (i) => i.music != undefined && i.music.id !== id\r\n // );\r\n // setPlaylistInfo((prevState) => {\r\n // return { ...prevState, musicLikesList: [...newArr] };\r\n // });\r\n // }\r\n // } else {\r\n // let arr = [];\r\n // arr.push(data);\r\n // setPlaylistInfo((prevState) => {\r\n // return { ...prevState, musicLikesList: [...arr] };\r\n // });\r\n // }\r\n let bgItems = [...playlistInfo.musicList]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n setPlaylistInfo({...playlistInfo, musicList: bgItems})\r\n // setSelectedAlbumMusics(bgItems)\r\n };\r\n const funsetcurrentPlaymusic = () =>{\r\n setShowAudioPlayer(false)\r\n setCurrentPlayMusic(false)\r\n }\r\n const getMusicsByPlayLists = async (pageNumber) => {\r\n if (currentUserInfo != undefined) {\r\n let musicIds = \"\";\r\n let playListname = \"\";\r\n let apiURL = constant.baseURL +\r\n \"musicplaylists/getMusicsByPlayListWithUserLike/\" +\r\n id + \"?page=\"+pageNumber+\"&limit=\"+limit\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id;\r\n }\r\n let resPlayListsMusics = await getDataApi(\r\n apiURL\r\n );\r\n //console.log(\"resPlayListsMusics: \", resPlayListsMusics);\r\n if (\r\n resPlayListsMusics != undefined &&\r\n resPlayListsMusics.data != undefined && resPlayListsMusics.data.length > 0\r\n ) {\r\n //console.log(resPlayListsMusics)\r\n settype(resPlayListsMusics.data.length>0 && resPlayListsMusics.data[0]?.musicType)\r\n let itms = [];\r\n let count = 1;\r\n resPlayListsMusics.data.map((item) => {\r\n //console.log(item)\r\n playListname = item.albumname;\r\n musicIds += item.id + \",\";\r\n itms.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n singer:\r\n item.album.user.firstName +\r\n \" \" +\r\n item.album.user.lastName,\r\n cover: constant.musicURL,\r\n albumname: item.albumname,\r\n albumId: item.album.id,\r\n time: item.duration,\r\n urlImage:\r\n item.urlImage !== undefined\r\n ? item.urlImage\r\n : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n user:item.album.user,\r\n userlike:item.userlike\r\n });\r\n count++;\r\n });\r\n if (pageNumber == 1) {\r\n setPlaylistInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n playlistName: playListname,\r\n musicList: [...itms],\r\n };\r\n });\r\n } else {\r\n setPlaylistInfo((prevState) => {\r\n return {\r\n ...prevState,\r\n playlistName: playListname,\r\n musicList: [...playlistInfo.musicList, ...itms],\r\n };\r\n });\r\n }\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n getMusicDownloadsByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n \r\n //show hide view more page\r\n if (resPlayListsMusics.page < Math.round(resPlayListsMusics.totalCount / limit)) {\r\n setShowViewMore(true);\r\n setbuttonDisable(false);\r\n } else {\r\n setShowViewMore(false);\r\n setbuttonDisable(false);\r\n }\r\n }else{\r\n setShowViewMore(false);\r\n setbuttonDisable(false);\r\n }\r\n }\r\n };\r\n const onClickViewMore = () => {\r\n setbuttonDisable(true);\r\n setPage(page + 1);\r\n getMusicsByPlayLists(page + 1);\r\n };\r\n const getMusicLikesByUser = async (str) => {\r\n if (currentUserInfo != undefined) {\r\n let resMusicsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"musiclikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=music.id||$in||\" +\r\n str\r\n );\r\n if (resMusicsLikes != undefined && resMusicsLikes.length > 0) {\r\n let mlikeIds = [];\r\n resMusicsLikes.map((m) => {\r\n mlikeIds.push(m.music.id);\r\n });\r\n //setLikesList(resMusicsLikes);\r\n setPlaylistInfo((prevState) => {\r\n return { ...prevState, musicLikesList: [...resMusicsLikes] };\r\n });\r\n }\r\n }\r\n };\r\n const getMusicDownloadsByUser = async (str) => {\r\n if (currentUserInfo != undefined) {\r\n let resMusicsDownloads = await getDataApi(\r\n constant.baseURL +\r\n \"musicdownloads?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=music.id||$in||\" +\r\n str\r\n );\r\n if (resMusicsDownloads != undefined && resMusicsDownloads.length > 0) {\r\n let mdonwloadIds = [];\r\n resMusicsDownloads.map((m) => {\r\n mdonwloadIds.push(m.music.id);\r\n });\r\n setPlaylistInfo((prevState) => {\r\n return { ...prevState, musicDownloadList: [...resMusicsDownloads] };\r\n });\r\n }\r\n }\r\n };\r\n const resetShowAudioPlayer = () => {\r\n setShowAudioPlayer(false);\r\n };\r\n\r\n const getPlaylistsById = async (id) => {\r\n if (id != undefined) {\r\n let apiURL = constant.baseURL +\"playlists/\" +id;\r\n let data = await getDataApi(\r\n apiURL\r\n );\r\n //console.log(\"getPlaylistsById: \", data);\r\n if(data != undefined){\r\n let obj = {\r\n albumType:data.playlistType,\r\n id:data.id,\r\n img:data.playlistType == \"music\" ? constant.musicURL : constant.videoURL,\r\n name: data.name,\r\n title: data.name,\r\n type: data.playlistType\r\n }\r\n setItem(obj);\r\n setPlayListItemObj(obj);\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n if(searchData != undefined && searchData.itemId != undefined){\r\n getMusicsByPlayLists(1);\r\n //console.log(\"--idd---\",idd);\r\n getPlaylistsById(idd);\r\n }\r\n }, []);\r\n return (\r\n <>\r\n {item != undefined &&\r\n \r\n
\r\n
\r\n
\r\n \r\n {item.title}\r\n
\r\n {playlistInfo.musicList.length > 0 && (\r\n
\r\n
\r\n {\r\n //console.log(playlistInfo)\r\n if (playlistInfo.musicList.length > 0 && item.albumType==\"music\") {\r\n setShowAudioPlayer(true);\r\n // setcurrentALbumDetails(true)\r\n }else if(playlistInfo.musicList.length > 0 && item.albumType==\"video\"){\r\n history.push({ pathname: \"/VideoPlayer\", state: { variant: \"musicjs\", url: playlistInfo.musicList[0].musicSrc, list: playlistInfo.musicList, details: playlistInfo.musicList[0] } })\r\n }\r\n }}\r\n >\r\n \r\n Play\r\n \r\n
\r\n {/*
\r\n setShowShareToModal(true)}\r\n >\r\n \r\n \r\n
\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"PlaylistDetails\"\r\n /> */}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n {playlistInfo.musicList.length === 0 && (\r\n
{constant.noDataFoundLabel}
\r\n )}\r\n {playlistInfo.musicList.length > 0 &&(\r\n \r\n\r\n )}\r\n\r\n {playlistInfo.musicList.length > 0 && showViewMore === true && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {/* {showAudioPlayer && (\r\n \r\n )} */}\r\n \r\n );\r\n}\r\n\r\nexport default PlaylistDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport MyItems from \"../../components/MyItems/MyItems\";\r\n\r\nfunction MyNews() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MyNews;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport MyItems from \"../../components/MyItems/MyItems\";\r\n\r\nfunction MyEvents() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MyEvents;\r\n","export default __webpack_public_path__ + \"static/media/episode-img.d1b112ad.png\";","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport { getDataApi, postDataApi, deleteDataApi, getDataApiWithBlob, patchDataApi } from \"../../utility/apiCall\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport moment from \"moment\";\r\nimport { BsFillEyeFill, BsFillChatDotsFill } from \"react-icons/bs\";\r\nimport { AiOutlineHeart, AiFillHeart } from \"react-icons/ai\";\r\nimport { FaShareAlt } from \"react-icons/fa\";\r\nimport Comments from \"../../components/Comments/Comments\";\r\nimport mikeFill from \"../../assets/Images/mikeFill.svg\";\r\nimport { FaRegCommentDots } from \"react-icons/fa\";\r\nimport { Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport { FiMoreVertical } from \"react-icons/fi\";\r\nimport CommentsModal from \"../../components/CommentsModal/CommentsModal\";\r\nimport ShareModal from \"../../components/ShareModal/ShareModal\";\r\nimport { BsPlayFill, BsPauseFill } from \"react-icons/bs\";\r\nimport { MdReport } from \"react-icons/md\";\r\nimport VideoModal from \"../../components/VideoModal/VideoModal\";\r\nimport AudioPlayer from \"../../components/AudioPlayer/AudioPlayer\";\r\nimport HomePodcastsList from \"../../components/HomePodcastsList/HomePodcastsList\";\r\nimport { VerifyLoginExistOrNot } from \"../../utility/VerifyLoginExistOrNot\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { hashCodeUrlDecode } from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { addErrorMesage, addSuccessMesage } from \"../../components/CustomToster/CustomToaster\";\r\nimport blackmike from \"../../assets/Images/blackmike.svg\";\r\nimport userimg from \"../../assets/Images/avatar.png\";\r\nimport blackmikefill from \"../../assets/Images/blackmikefill.svg\";\r\nimport mike from \"../../assets/Images/mike.svg\";\r\nimport facebookIcon from \"../../assets/Images/facebook.svg\";\r\nimport twitterIcon from \"../../assets/Images/twitterIcon.svg\";\r\nimport youtube from \"../../assets/Images/youtube.svg\";\r\nimport ReactPlayer from 'react-player';\r\nimport itune from \"../../assets/Images/itune.svg\";\r\nimport spotify from \"../../assets/Images/shopify.svg\";\r\nimport tiktok from \"../../assets/Images/titktok.svg\";\r\nimport apple from \"../../assets/Images/applemusic.svg\";\r\nimport episodeimg from \"../../assets/Images/episode-img.png\";\r\n\r\nimport instagramIcon from \"../../assets/Images/instagram.svg\";\r\nimport podcaste from \"../../assets/Images/podcaste.svg\";\r\nimport { RiUserFollowLine, RiUserUnfollowLine } from \"react-icons/ri\";\r\nimport Musics from \"../../components/Musics/Musics\";\r\nimport ConfirmDeleteModal from \"../../components/ConfirmDeleteModal/ConfirmDeleteModal\";\r\nimport { BiPause, BiPlay } from \"react-icons/bi\";\r\nimport { addLoader, DisableButtonLoader, removeLoader } from \"../../utility/CustomLoader\";\r\nfunction PodcastDetails(props) {\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [videostate, setvideostate] = useState(true);\r\n const [buttonfollowDisable, setbuttonfollowDisable] = useState(false);\r\n const [buttonDisable, setbuttonDisable] = useState(false);\r\n const [videovariable, setvideovariable] = useState(true);\r\n const [idf, setidf] = useState();\r\n\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n let searchData = useParams();\r\n //console.log(searchData, \"Search Data\");\r\n //console.log(props);\r\n // const { idf } = hashCodeUrlDecode(searchData.itemId);\r\n //// const { id, item } = props.location.state;\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [selectedMusicItem, setSelectedMusicItem] = useState(undefined);\r\n // satyam\r\n\r\n const [playOrPauseShow, setplayOrPauseShow] = useState(false);\r\n const [audioInstance, setAudioInstance] = useState(null);\r\n const [playOrPauseMusic, setplayOrPauseMusic] = useState(false);\r\n const [playOrPauseMusicindex, setplayOrPauseMusicindex] = useState(null);\r\n // satyam ENd\r\n const [artistLikes, setArtistLikes] = useState();\r\n const [artistFollow, setArtistFollow] = useState();\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [commentInputVal, setCommentInputVal] = useState(\"\");\r\n const [errorCommentMessage, setCommentError] = useState(false);\r\n const [commentsPage, setCommentsPage] = useState(1);\r\n const [limit, setLimit] = useState(5);\r\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\r\n const [playIndex, setPlayIndex] = useState(0);\r\n const [podcastLikes, setPodcastLikes] = useState(undefined);\r\n const [likeList, setLikesList] = useState([]);\r\n const [showReportPodcastModal, setShowReportPodcastModal] = useState(false);\r\n const [reportPodcastInputText, setreportPodcastInputText] = useState(\"\");\r\n const [playVideo, setPlayVideo] = useState(false);\r\n const [currentPlayMusic, setCurrentPlayMusic] = useState(false);\r\n const [currentALbumDetails, setcurrentALbumDetails] = useState(false);\r\n const [selectedAlbumMusics, setSelectedAlbumMusics] = useState([]);\r\n const [alldata, setalldata] = useState({});\r\n const [artist, setartist] = useState({});\r\n const [page, setpage] = useState(1)\r\n const [episode, setepisode] = useState([])\r\n const [ismore, setismore] = useState(false)\r\n const [deleteModal, setdeleteModal] = useState(false);\r\n const [commentindex, setcommentindex] = useState(null);\r\n const [showCommentSongModal, setShowCommentSongModal] = useState(false);\r\n const [commentSongInputText, setCommentSongInputText] = useState(\"\");\r\n const [barHide, setbarHide] = useState(false);\r\n const [showReportSongModal, setShowReportSongModal] = useState(false);\r\n const [reportSongInputText, setReportSongInputText] = useState(\"\");\r\n const [disableItem, setDisableItem] = useState(false);\r\n const [mId, setMId] = useState(0);\r\n //console.log(episode)\r\n var [countData, setcountData] = useState(0);\r\n // const [changePodcastById, setchangePodcastById] = useState(\"\");\r\n const [podcastItem, setPodcastItem] = useState({\r\n id: 0,\r\n name: \"\",\r\n description: \"\",\r\n img: \"\",\r\n liked: false,\r\n musicURL: \"\",\r\n podcastType: \"\",\r\n musicSrc: [],\r\n categoryList: [],\r\n });\r\n const funsetcurrentPlaymusic = () => {\r\n setCurrentPlayMusic(false)\r\n }\r\n const updatecomment = () => {\r\n //console.log(commentindex)\r\n if (episode[commentindex].extra1) {\r\n episode[commentindex].extra1 = episode[commentindex].extra1 + 1\r\n } else {\r\n episode[commentindex].extra1 = episode[commentindex].comments.length + 1\r\n }\r\n\r\n }\r\n const navigateToExternalLink = (url) => {\r\n //console.log(\"url: \", url);\r\n if (url.indexOf(\"http://\") !== -1 || url.indexOf(\"https://\") !== -1) {\r\n window.open(url, \"_blank\");\r\n return null;\r\n } else {\r\n addErrorMesage(\"URL should start with http or https\");\r\n return;\r\n }\r\n };\r\n var path = useLocation();\r\n var history = useHistory();\r\n const onviewmore = () => {\r\n setpage(page + 1)\r\n callepisode(page + 1)\r\n }\r\n const callepisode = async (page,i) => {\r\n let apiURL = constant.baseURL + \"episode/getEpisodesByPodcastsWithUserLike?page=\" + page + \"&limit=5&podcastsId=\" + i;\r\n if (currentUserInfo) {\r\n apiURL += \"&userId=\" + currentUserInfo.id\r\n }\r\n let resPodcast = await getDataApi(apiURL);\r\n //console.log(resPodcast)\r\n await resPodcast.data.map((itm) => {\r\n itm.musicSrc = itm.urlImage !== undefined\r\n ? constant.podcastepisodeFileURL + itm.urlImage\r\n : \"\"\r\n itm.time = itm.duration\r\n itm.name = itm.title\r\n itm.singer =\r\n itm.artist\r\n itm.user =\r\n itm.podcasts.artist\r\n itm.cover = constant.podcastepisodeFileURL + itm.thumbnailUrlImage\r\n });\r\n //console.log(resPodcast)\r\n if (page == 1) {\r\n setepisode(resPodcast.data)\r\n } else {\r\n setepisode([...episode, ...resPodcast.data])\r\n }\r\n if (page == resPodcast.pageCount) {\r\n setismore(false)\r\n\r\n } else {\r\n setismore(true)\r\n\r\n }\r\n\r\n }\r\n const onconfirmDelete = async () => {\r\n let apiURL = \"\";\r\n // let selectedItem = episode[deleteItemIndex];\r\n // console.log(\"selectedItem\", selectedItem);\r\n let jsonData = {\r\n isDeleted: 1,\r\n };\r\n //console.log(\"jsonData\", jsonData);\r\n setdeleteModal(false);\r\n\r\n apiURL = constant.deleteEpisode + \"/\" + selectedMusicItem.id;\r\n\r\n //console.log(apiURL);\r\n if (apiURL !== \"\") {\r\n addLoader();\r\n let deleteResponse = await patchDataApi(apiURL, jsonData);\r\n\r\n // console.log(\"deleteResponse\", deleteResponse);\r\n // console.log(\r\n // deleteResponse.status === 200 || deleteResponse.statusText === \"OK\"\r\n // );\r\n if (\r\n deleteResponse.status === 200 ||\r\n deleteResponse.statusText === \"OK\"\r\n ) {\r\n removeLoader();\r\n addSuccessMesage(`Episode Deleted`);\r\n callepisode(1);\r\n } else {\r\n removeLoader();\r\n addErrorMesage(`Episode not Deleted`);\r\n }\r\n }\r\n\r\n };\r\n const onDelete = (index) => {\r\n //console.log(\"Delete\");\r\n setdeleteModal(true);\r\n setSelectedMusicItem(index);\r\n };\r\n const downloadMusic = async (item) => {\r\n //console.log(item);\r\n if (item.urlImage !== \"\") {\r\n let respFile = await getDataApiWithBlob(\r\n constant.podcastepisodeFileURL + item.urlImage\r\n );\r\n // console.log(respFile);\r\n var link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(\r\n new Blob([respFile], { type: \"application/octet-stream\" })\r\n );\r\n link.download = item.urlImage;\r\n document.body.appendChild(link);\r\n link.click();\r\n setTimeout(() => {\r\n window.URL.revokeObjectURL(link);\r\n createMusicDownload(item.id);\r\n }, 200);\r\n }\r\n };\r\n const createMusicDownload = async (musicId) => {\r\n let jsonData = { user: currentUserInfo.id, episode: musicId };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respMusicDownload = await postDataApi(\r\n constant.baseURL + \"episodedownloads\",\r\n formBody,\r\n authHeader\r\n );\r\n // console.log(\"respMusicDownload: \", respMusicDownload);\r\n if (\r\n respMusicDownload !== undefined &&\r\n respMusicDownload.status !== undefined &&\r\n respMusicDownload.status === 201\r\n ) {\r\n // console.log(\"Music download recorded..\");\r\n }\r\n };\r\n const playMusic = (index) => {\r\n\r\n\r\n let item = episode[index];\r\n //console.log(item)\r\n if (item.episodeType === \"music\") {\r\n setTimeout(() => {\r\n setShowAudioPlayer(true)\r\n setPlayIndex(index);\r\n setplayOrPauseMusic(true);\r\n setplayOrPauseShow(true);\r\n setplayOrPauseMusicindex(index);\r\n\r\n }, 10);\r\n } else if (item.episodeType === \"video\") {\r\n\r\n history.push({ pathname: \"/VideoPlayer\", state: { variant: \"podcast1\", url: item.musicSrc, list: episode, details: item } })\r\n // show={showAudioPlayer}\r\n // url={selectedSong.musicSrc}\r\n // title={selectedSong.name}\r\n // height={790}\r\n // width={790}\r\n }\r\n };\r\n\r\n const createEpisodeLike = async (episodeId) => {\r\n if (currentUserInfo.id) {\r\n setDisableItem(true);\r\n setMId(episodeId);\r\n let jsonData = { user: currentUserInfo.id, episode: episodeId };\r\n let respEpisodeLike = await postDataApi(\r\n constant.baseURL + 'episodelikes',\r\n jsonData,\r\n false,\r\n );\r\n //console.log(\"----create like----\", respEpisodeLike);\r\n if (\r\n respEpisodeLike.data !== undefined\r\n ) {\r\n setLikes(episodeId, respEpisodeLike.data, undefined);\r\n setDisableItem(false);\r\n }\r\n setDisableItem(false);\r\n }\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n setDisableItem(false);\r\n }\r\n };\r\n\r\n const resetEpisodeLike = async (episodeId, likeId) => {\r\n //console.log(episodeId, likeId)\r\n if (currentUserInfo.id) {\r\n setDisableItem(true);\r\n setMId(episodeId);\r\n let resp = await deleteDataApi(constant.baseURL + 'episodelikes/' + likeId);\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setLikes(episodeId, undefined, likeId);\r\n setDisableItem(false);\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n setDisableItem(false);\r\n }\r\n };\r\n const setLikes = (id, data, likeId) => {\r\n let bgItems = [...episode];\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n setepisode(bgItems);\r\n };\r\n const getPodcastDeatilsById = async (podcastId) => {\r\n //console.log(podcastId);\r\n // try {\r\n let resPodcast = await getDataApi(\r\n constant.baseURL + \"podcasts/\" + podcastId\r\n );\r\n await callepisode(page,podcastId)\r\n //console.log(\"resPodcast: \", resPodcast);\r\n if (resPodcast != undefined) {\r\n setalldata(resPodcast)\r\n setartist(resPodcast.artist)\r\n getLikesByArtist(resPodcast?.artist?.id);\r\n getFollowByArtist(resPodcast?.artist?.id);\r\n let dfltURL =\r\n resPodcast.podcastType == \"video\"\r\n ? constant.videoURL\r\n : constant.musicURL;\r\n let itmMusic = [];\r\n itmMusic.push({\r\n musicSrc: constant.podcastFileURL + resPodcast.urlPodcast,\r\n cover:\r\n resPodcast.urlImage != undefined &&\r\n resPodcast.urlImage != null &&\r\n resPodcast.urlImage != \"\"\r\n ? constant.podcastFileURL + resPodcast.urlImage\r\n : dfltURL,\r\n name:\r\n resPodcast.name !== undefined &&\r\n resPodcast.name !== null &&\r\n resPodcast.name !== \"\"\r\n ? resPodcast.name\r\n : \"\",\r\n singer:\r\n resPodcast.artist !== undefined &&\r\n resPodcast.artist.firstName + \" \" + resPodcast.artist !== undefined &&\r\n resPodcast.artist.lastName,\r\n });\r\n // let musicsData = [];\r\n // resPodcast.episode.map((item) => {\r\n // musicsData.push({\r\n // id: item.id,\r\n // title: item.title,\r\n // // name: item.musics_title,\r\n // time: item.duration,\r\n // size:\r\n // item.size !== undefined && item.size !== null\r\n // ? item.size\r\n // : 0,\r\n // singer:\r\n // resPodcast.artist.firstName +\r\n // \" \" +\r\n // resPodcast.artist.lastName,\r\n // // cover: constant.musicURL,\r\n // // albumname: itm.album_name,\r\n // albumId: resPodcast.id,\r\n // urlImage:\r\n // item.thumbnailUrlImage !== undefined ? item.thumbnailUrlImage : \"\",\r\n // musicSrc:\r\n // item.urlImage !== undefined\r\n // ? constant.musicFileURL + item.urlImage\r\n // : \"\",\r\n // // likes: item.likes,\r\n // // comments: item.comments,\r\n // user: resPodcast.artist.firstName +\r\n // \" \" +\r\n // resPodcast.artist.lastName,\r\n // });\r\n // });\r\n // setSelectedAlbumMusics([...musicsData]);\r\n setPodcastItem((prevState) => {\r\n return {\r\n ...prevState,\r\n id: resPodcast.id,\r\n name:\r\n resPodcast.name !== undefined &&\r\n resPodcast.name !== null &&\r\n resPodcast.name !== \"\"\r\n ? resPodcast.name\r\n : \"\",\r\n description:\r\n resPodcast.description !== undefined &&\r\n resPodcast.description !== null &&\r\n resPodcast.description !== \"\"\r\n ? resPodcast.description\r\n : \"\",\r\n img:\r\n resPodcast.urlImage != undefined &&\r\n resPodcast.urlImage != null &&\r\n resPodcast.urlImage != \"\"\r\n ? constant.podcastFileURL + resPodcast.urlImage\r\n : dfltURL,\r\n musicURL: resPodcast.urlPodcast,\r\n podcastType: resPodcast.podcastType,\r\n musicSrc: itmMusic,\r\n };\r\n });\r\n window.scrollTo(0, 0);\r\n }\r\n // } catch (error) {\r\n // console.log(error);\r\n // }\r\n };\r\n const getPodcastSubcategories = async (podcastId) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"selectedPodcastcategories?filter=podcasts.id||$eq||\" +\r\n podcastId\r\n );\r\n //console.log(\"getPodcastSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n setPodcastItem((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const getPodcastComments = async (commentItemId, pageNumber) => {\r\n //console.log(\"commentItemId\", commentItemId, \"pageNumber\", pageNumber);\r\n let resPodcastComments = await getDataApi(\r\n constant.baseURL +\r\n \"podcastcomments?filter=podcasts.id||$eq||\" +\r\n // props.location.state.id +\r\n commentItemId +\r\n \"&page=\" +\r\n pageNumber +\r\n \"&limit=\" +\r\n limit +\r\n \"&sort=id,DESC\"\r\n );\r\n //console.log(\"resPodcastComments: \", resPodcastComments);\r\n if (\r\n resPodcastComments !== undefined &&\r\n resPodcastComments.data !== undefined &&\r\n resPodcastComments.data.length > 0\r\n ) {\r\n let itms = [];\r\n resPodcastComments.data.map((c) => {\r\n itms.push({\r\n id: c.id,\r\n img:\r\n c.user.urlImage != undefined &&\r\n c.user.urlImage != null &&\r\n c.user.urlImage != \"\" &&\r\n c.user.urlImage != \"user.png\"\r\n ? constant.profileURL + c.user.urlImage\r\n : c.user.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: c.user.firstName + \" \" + c.user.lastName,\r\n location: c.user.address,\r\n comment: c.comment,\r\n date: moment(c.created).format(\"DD MMM yyyy\"),\r\n });\r\n });\r\n if (pageNumber == 1) {\r\n setCommentsList(itms);\r\n } else {\r\n setCommentsList([...commentsList, ...itms]);\r\n }\r\n //show hide view more page\r\n if (resPodcastComments.page < resPodcastComments.pageCount) {\r\n setShowViewMore(true);\r\n } else {\r\n setShowViewMore(false);\r\n }\r\n }else{\r\n if(pageNumber==1){\r\n let itms = [];\r\n setCommentsList(itms);\r\n }\r\n }\r\n };\r\n const setComments = (data) => {\r\n setCommentsList([\r\n {\r\n id: data.id,\r\n img:\r\n data.user.urlImage != undefined &&\r\n data.user.urlImage != null &&\r\n data.user.urlImage != \"\" &&\r\n data.user.urlImage != \"user.png\"\r\n ? constant.profileURL + data.user.urlImage\r\n : data.user.usertype == \"Artist\" ? constant.artistImageURL : constant.userImageURL,\r\n name: data.user.firstName + \" \" + data.user.lastName,\r\n location: data.user.address,\r\n comment: data.comment,\r\n date: moment(data.created).format(\"DD MMM yyyy\"),\r\n },\r\n ...commentsList,\r\n ]);\r\n setCommentInputVal(\"\");\r\n };\r\n const viewMoreComments = () => {\r\n setCommentsPage(commentsPage + 1);\r\n getPodcastComments(hashCodeUrlDecode(searchData.itemId), commentsPage + 1);\r\n };\r\n const displayReportArtistModal = () => {\r\n if (VerifyLoginExistOrNot()) setShowReportPodcastModal(true);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: podcastItem.id,\r\n },\r\n });\r\n }\r\n };\r\n const hideReportArtistModal = () => {\r\n setShowReportPodcastModal(false);\r\n };\r\n const getPodcastLikes = async (podcastId) => {\r\n if (currentUserInfo !== undefined) {\r\n let resPodcastLikes = await getDataApi(\r\n constant.baseURL +\r\n \"podcastlikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=podcasts.id||$eq||\" +\r\n podcastId\r\n // props.location.state.id\r\n // hashCodeUrlDecode(searchData.itemId)\r\n );\r\n if (resPodcastLikes != undefined && resPodcastLikes.length > 0) {\r\n setPodcastLikes(resPodcastLikes[0]);\r\n setPodcastItem((prevState) => {\r\n return { ...prevState, liked: true };\r\n });\r\n }\r\n }\r\n };\r\n const createPodcastLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n //console.log(\"Disable Like\");\r\n if (currentUserInfo != undefined) {\r\n setbuttonDisable(!buttonDisable);\r\n let jsonData = { user: currentUserInfo.id, podcasts: podcastItem.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPodcastLike = await postDataApi(\r\n constant.baseURL + \"podcastlikes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcastLike != undefined &&\r\n respPodcastLike.status != undefined &&\r\n respPodcastLike.status == 201\r\n ) {\r\n setbuttonDisable(false);\r\n setPodcastLikes(respPodcastLike.data);\r\n setPodcastItem((prevState) => {\r\n return { ...prevState, liked: true };\r\n });\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: podcastItem.id,\r\n },\r\n });\r\n }\r\n };\r\n const addepisodepage = () => {\r\n history.push({\r\n pathname: `/Addepisode`,\r\n state: {\r\n id: 0,\r\n type: podcastItem.podcastType,\r\n podcastId: podcastItem.id\r\n },\r\n });\r\n }\r\n const editepisodepage = (id, item) => {\r\n history.push({\r\n pathname: `/Addepisode`,\r\n state: {\r\n id: id,\r\n item: item,\r\n type: podcastItem.podcastType,\r\n podcastId: podcastItem.id\r\n },\r\n });\r\n }\r\n const resetPodcastLike = async () => {\r\n if (podcastLikes != undefined) {\r\n //console.log(\"Disable UnLike\");\r\n setbuttonDisable(!buttonDisable);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"podcastlikes/\" + podcastLikes.id,\r\n authHeader\r\n );\r\n if (resp != undefined && resp.status != undefined && resp.status == 200) {\r\n setbuttonDisable(false);\r\n setPodcastLikes(undefined);\r\n setPodcastItem((prevState) => {\r\n return { ...prevState, liked: false };\r\n });\r\n }\r\n }\r\n };\r\n const onPlay = (e) => {\r\n setvideostate(false)\r\n }\r\n const onPause = (e) => {\r\n setvideostate(true)\r\n }\r\n // satyam Start\r\n const getAudioInstance = (instance) => {\r\n //console.log(\"Getting audio instance\", instance);\r\n setAudioInstance(instance);\r\n };\r\n\r\n const onAudioPlay = () => {\r\n audioInstance.play();\r\n setplayOrPauseShow(true);\r\n setbarHide(false);\r\n\r\n };\r\n const onAudioPause = () => {\r\n audioInstance.pause();\r\n setplayOrPauseShow(false);\r\n setbarHide(true);\r\n\r\n };\r\n // satyam End\r\n // const playPodcastVideo = (i) => {\r\n // if (podcastItem !== undefined && podcastItem.musicSrc.length > 0) {\r\n // if (podcastItem.podcastType === \"video\") {\r\n // if (i == \"play\") {\r\n // setvideovariable(true)\r\n // } else {\r\n // setvideovariable(false)\r\n // }\r\n // setPlayVideo(true);\r\n // setvideostate(!videostate)\r\n // setShowAudioPlayer(false);\r\n // } else {\r\n // console.log(\"hello\");\r\n // setplayOrPauseMusicindex(0);\r\n // setplayOrPauseShow(true);\r\n // setplayOrPauseMusic(true);\r\n // setPlayVideo(false);\r\n // setShowAudioPlayer(true);\r\n // }\r\n // } else {\r\n // addErrorMesage(\"No music or video found to play\");\r\n // }\r\n // };\r\n const closeVideoModal = () => {\r\n setPlayVideo(false);\r\n };\r\n const resetShowAudioPlayer = () => {\r\n setShowAudioPlayer(false);\r\n };\r\n const podcastDetails = async(data) => {\r\n await getPodcastDeatilsById(data.id);\r\n await getPodcastComments(data.id, 1);\r\n await getPodcastSubcategories(data.id);\r\n await getPodcastLikes(data.id);\r\n await setidf(data.id)\r\n };\r\n const renderCategories = () => {\r\n //console.log(\"podcast.categories: \", podcastItem.categoryList);\r\n if (podcastItem.categoryList.length > 0) {\r\n return podcastItem.categoryList.map((item, index) => {\r\n return (\r\n
\r\n {item.subcategory.name}\r\n
\r\n );\r\n });\r\n }\r\n };\r\n const formatTime = (second) => {\r\n var i = 0;\r\n var h = 0;\r\n var s = parseInt(second);\r\n if (s >= 60) {\r\n i = parseInt(s / 60);\r\n s = parseInt(s % 60);\r\n\r\n if (i >= 60) {\r\n h = parseInt(i / 60);\r\n i = parseInt(i % 60);\r\n }\r\n }\r\n if (h > 0) return [zero(h), zero(i), zero(s)].join(\":\");\r\n return [zero(i), zero(s)].join(\":\");\r\n //console.log(\"formatTime- \",[zero(i), zero(s)].join(':'));\r\n };\r\n const zero = (v) => {\r\n return v >> 0 < 10 ? \"0\".concat(v) : v;\r\n };\r\n const getLikesByArtist = async (id) => {\r\n //console.log(id)\r\n //console.log(\"getLikesByArtist - currentUserInfo: \", currentUserInfo);\r\n if (currentUserInfo !== undefined) {\r\n let resArtistLikes = await getDataApi(\r\n constant.baseURL +\r\n \"likes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=artist.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"getLikesByArtist - resArtistLikes: \", resArtistLikes);\r\n if (resArtistLikes !== undefined && resArtistLikes.length > 0) {\r\n setArtistLikes(resArtistLikes[0]);\r\n \r\n } \r\n }\r\n };\r\n const getFollowByArtist = async (id) => {\r\n if (currentUserInfo !== undefined) {\r\n let resArtistFollow = await getDataApi(\r\n constant.baseURL +\r\n \"follows?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=follower.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"resArtistFollow: \", resArtistFollow);\r\n if (resArtistFollow !== undefined && resArtistFollow.length > 0) {\r\n setArtistFollow(resArtistFollow[0]);\r\n \r\n }\r\n }\r\n };\r\n const createArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentUserInfo !== undefined) {\r\n setbuttonDisable(true);\r\n let jsonData = { user: currentUserInfo.id, artist: artist?.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respArtistLike = await postDataApi(\r\n constant.baseURL + \"likes\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respArtistLike !== undefined &&\r\n respArtistLike.status !== undefined &&\r\n respArtistLike.status === 201\r\n ) {\r\n setbuttonDisable(false);\r\n setArtistLikes(respArtistLike.data);\r\n // setArtistData((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // artistLiked: true,\r\n // };\r\n // });\r\n }\r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n },\r\n });\r\n }\r\n };\r\n const resetArtistLike = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (artistLikes !== undefined) {\r\n setbuttonDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"likes/\" + artistLikes.id,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setbuttonDisable(false);\r\n setArtistLikes();\r\n \r\n }\r\n }\r\n } else {\r\n }\r\n };\r\n const createFollow = async () => {\r\n if (VerifyLoginExistOrNot()) {\r\n if (currentUserInfo !== undefined) {\r\n setbuttonfollowDisable(true);\r\n let jsonData = { user: currentUserInfo.id, follower: artist?.id };\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n //console.log(jsonData);\r\n let respFollow = await postDataApi(\r\n constant.baseURL + \"follows\",\r\n formBody,\r\n authHeader\r\n );\r\n //console.log(\"respFollow: \", respFollow);\r\n if (\r\n respFollow !== undefined &&\r\n respFollow.status !== undefined &&\r\n respFollow.status == 201\r\n ) {\r\n setbuttonfollowDisable(false);\r\n setArtistFollow(respFollow.data);\r\n // setArtistData((prevState) => {\r\n // return {\r\n // ...prevState,\r\n // followed: true,\r\n // };\r\n // });\r\n } \r\n }\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: artist?.id,\r\n },\r\n });\r\n }\r\n };\r\n // satyam End\r\n const resetFollow = async () => {\r\n if (artistFollow !== undefined) {\r\n setbuttonfollowDisable(true);\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resp = await deleteDataApi(\r\n constant.baseURL + \"follows/\" + artistFollow.id,\r\n authHeader\r\n );\r\n if (\r\n resp !== undefined &&\r\n resp.status !== undefined &&\r\n resp.status === 200\r\n ) {\r\n setbuttonfollowDisable(false);\r\n setArtistFollow();\r\n \r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n //console.log(\"ddfsdfsdf\",hashCodeUrlDecode(searchData.itemId))\r\n setidf(hashCodeUrlDecode(searchData.itemId))\r\n setTimeout(() => {\r\n getPodcastDeatilsById(\r\n hashCodeUrlDecode(searchData.itemId) //props.history.location.state.id\r\n );\r\n \r\n getPodcastLikes(hashCodeUrlDecode(searchData.itemId));\r\n getPodcastComments(hashCodeUrlDecode(searchData.itemId), commentsPage);\r\n getPodcastSubcategories(hashCodeUrlDecode(searchData.itemId));\r\n }, 50);\r\n }, []);\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {String(podcastItem.name)}\r\n
\r\n \r\n {String(podcastItem.description.trim())}\r\n

\r\n {/*
\r\n
\r\n\r\n {showAudioPlayer === false ?\r\n videostate ? playPodcastVideo(\"play\")}\r\n >\r\n \r\n Play\r\n : playPodcastVideo(\"pause\")}\r\n >\r\n \r\n Pause\r\n \r\n : (\r\n
\r\n {playOrPauseMusicindex === 0 && (\r\n
\r\n {playOrPauseShow === true ? (\r\n onAudioPause()}\r\n >\r\n \r\n Pause\r\n \r\n ) : (\r\n onAudioPlay()}\r\n >\r\n \r\n Play\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n \r\n {podcastItem.liked === true ? (\r\n resetPodcastLike()}\r\n >\r\n\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n {\r\n createPodcastLike();\r\n }}\r\n >\r\n\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n
\r\n {\r\n setShowShareToModal(true);\r\n }}\r\n >\r\n \r\n Share\r\n \r\n
\r\n
\r\n \r\n \r\n Report\r\n \r\n
\r\n {\r\n setreportPodcastInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { console.log(\"DONE\"); }}\r\n />\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"PodcastDetails\"\r\n />\r\n
*/}\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
\r\n

{podcastItem.description}

\r\n
\r\n
\r\n
Tags
\r\n
\r\n {renderCategories()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Artist Details
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{artist?.firstName} {artist?.lastName}
\r\n
{artist?.biography}
\r\n
\r\n
\r\n
\r\n \r\n {artistLikes ? (\r\n {\r\n resetArtistLike();\r\n }}\r\n >\r\n\r\n \r\n {constant.unmic}\r\n \r\n ) : (\r\n createArtistLike()}\r\n >\r\n {/* */}\r\n \r\n {constant.mic}\r\n \r\n )}\r\n
\r\n \r\n \r\n artistFollow ? resetFollow() : createFollow()\r\n }\r\n >\r\n {artistFollow ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {artistFollow ? \"UnFollow\" : \"Follow\"}\r\n \r\n \r\n
\r\n \r\n
Connect with Artist
\r\n
\r\n {artist?.appleMusicURL && (
\r\n {\r\n navigateToExternalLink(artist?.appleMusicURL);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {artist?.applePodcastURL && (
\r\n {\r\n navigateToExternalLink(artist?.applePodcastURL);\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n {artist?.facebookURL && (
\r\n {\r\n navigateToExternalLink(artist?.facebookURL);\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n {artist?.instagramURL && (
\r\n {\r\n navigateToExternalLink(artist?.instagramURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {artist?.iTunesURL && (
\r\n {\r\n navigateToExternalLink(artist?.iTunesURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n\r\n {artist?.spotifyURL && (
\r\n {\r\n navigateToExternalLink(artist?.spotifyURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {artist?.tikTokURL && (
\r\n {\r\n navigateToExternalLink(artist?.tikTokURL);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n {artist?.youtubeURL && (
\r\n {\r\n navigateToExternalLink(artist?.youtubeURL);\r\n }}\r\n >\r\n \r\n\r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Episode\r\n
\r\n
\r\n
\r\n {currentUserInfo?.id==artist?.id ?:null}\r\n
\r\n
\r\n {episode.length > 0 &&\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 Posted Date\r\n
\r\n
\r\n
\r\n
\r\n Time\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {episode.length > 0 && episode?.map((c, i) => {\r\n return
\r\n
\r\n
\r\n {playOrPauseMusic === false ? (\r\n playMusic(i)}\r\n />\r\n ) : (\r\n
\r\n {playOrPauseMusicindex === i ? (\r\n
\r\n {playOrPauseShow === true ? (\r\n {\r\n // console.log(\"pause Circle\");\r\n onAudioPause(i);\r\n }}\r\n />\r\n ) : (\r\n {\r\n // console.log(\"play Circle\");\r\n onAudioPlay(i);\r\n }}\r\n />\r\n )}\r\n
\r\n ) : (\r\n playMusic(i)}\r\n />\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n \"search-image\"\r\n
\r\n
\r\n
\r\n {c.title}\r\n
\r\n
\r\n {c.description}\r\n
\r\n
\r\n {showAudioPlayer === false &&
 
}\r\n {showAudioPlayer === true &&\r\n playOrPauseMusicindex === i\r\n &&\r\n (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n
\r\n
\r\n {moment(c.created).format(\"DD-MMM-yyyy\")}\r\n
\r\n
\r\n
\r\n
\r\n {c.duration !== undefined &&\r\n c.duration !== null &&\r\n c.duration !== NaN\r\n ? formatTime(c.duration)\r\n : \"0:00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {disableItem && mId === c.id ? DisableButtonLoader() :\r\n <>\r\n 0 ? mikeFill : mike} alt=\"Mike-Unmike\" style={{ cursor: \"pointer\" }}\r\n onClick={c.userlike.length > 0 ? () =>\r\n //resetEpisodeLike(c.id, c.userlike[0].id, c.userlike) \r\n {\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n resetEpisodeLike(c.id, c.userlike[0].id, c.userlike);\r\n }\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n : () =>\r\n //createEpisodeLike(c.id)\r\n {\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n createEpisodeLike(c.id);\r\n }\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId:\r\n currentUserInfo !== undefined ? currentUserInfo.id : 0,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n } /> \r\n {c.likes.length}\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setcommentindex(i)\r\n setSelectedMusicItem(c);\r\n setShowCommentSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }} />\r\n \r\n {c.extra1 == undefined ? c?.comments?.length : c?.extra1}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n >\r\n {\r\n setSelectedMusicItem(c);\r\n setShowShareToModal(true);\r\n }}>\r\n Share\r\n \r\n {\r\n if (VerifyLoginExistOrNot()) downloadMusic(c);\r\n else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Download\r\n \r\n\r\n {\r\n if (VerifyLoginExistOrNot()) {\r\n setSelectedMusicItem(c);\r\n setShowReportSongModal(true);\r\n } else {\r\n history.push({\r\n pathname: `/login`,\r\n state: {\r\n prevPath: path.pathname,\r\n userId: props.currentUserId,\r\n },\r\n });\r\n }\r\n }}\r\n >\r\n Report Song\r\n \r\n {currentUserInfo?.id==artist?.id ? \r\n <> editepisodepage(c.id, c)}\r\n >\r\n Edit\r\n \r\n onDelete(c)}\r\n >\r\n Delete\r\n :null}\r\n \r\n
\r\n
\r\n \r\n \r\n })}\r\n {\r\n episode.length === 0 &&\r\n
\r\n {constant.noDataFoundLabel}\r\n
\r\n }\r\n {episode.length > 0 && ismore && (\r\n
\r\n
\r\n \r\n
\r\n
\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
\r\n

{podcastItem.description}

\r\n
\r\n
\r\n
Tags
\r\n
\r\n {renderCategories()}\r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n {showShareToModal === true &&\r\n selectedMusicItem !== undefined && (\r\n <>\r\n {\r\n setShowShareToModal(false);\r\n }}\r\n from=\"Episode\"\r\n />\r\n \r\n )}\r\n {deleteModal && (\r\n \r\n )}\r\n {showReportSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowReportSongModal(false);\r\n }}\r\n inputText={reportSongInputText}\r\n setInputText={(val) => {\r\n setReportSongInputText(val);\r\n }}\r\n isComment={false}\r\n setUpdate={() => { //console.log(\"DONE\"); \r\n }}\r\n />\r\n )}\r\n {showCommentSongModal === true &&\r\n selectedMusicItem !== undefined && (\r\n {\r\n setShowCommentSongModal(false);\r\n }}\r\n inputText={commentSongInputText}\r\n setInputText={(val) => {\r\n setCommentSongInputText(val);\r\n }}\r\n isComment={true}\r\n setUpdate={() => updatecomment()}\r\n />\r\n )}\r\n setCommentError(true)}\r\n setCommentInputVal={(val) => {\r\n setCommentInputVal(val);\r\n errorCommentMessage && setCommentError(false);\r\n }}\r\n />\r\n \r\n {showAudioPlayer && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default PodcastDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport MyItems from \"../../components/MyItems/MyItems\";\r\n\r\nfunction MyPodcasts() {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MyPodcasts;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport close from \"../../assets/Images/close.png\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport uploadMusic2 from \"../../assets/Images/uploadMusic2.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\nimport videoImg from \"../../assets/Images/video.png\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { CircularProgressbar } from \"react-circular-progressbar\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction UploadPodcast(props) {\r\n let history = useHistory();\r\n\r\n const { id, item } = props.location.state;\r\n let duration = item !== undefined ? item.duration : \"\"\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n let audioReg = /\\.(?:opus|flac|webm|weba|wav|ogg|m4a|mp3|oga|mid|amr|aiff|wma|au|aac|mp4|avi|mov)$/i;\r\n let videoReg = /\\.(?:ogm|wmv|mpg|webm|ogv|mov|asx|mpeg|mp4|m4v|avi)$/i;\r\n const [podFiles, setPodFiles] = useState([]);\r\n //jayraj mehta\r\n const [podFiles1, setPodFiles1] = useState([]);\r\n //jayraj mehta\r\n const [showSelectedPodcastFile, setShowSelectedPodcastFile] = useState(\r\n id !== 0 ? true : false\r\n );\r\n const [coverImg, setCoverImg] = useState(null);\r\n const [dragNDropText, setDragNDropText] = useState(\"Drop your file here\");\r\n const [podcastCategories, setPodCastCategories] = useState([]);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [podcastDetails, setPodcastDetails] = useState({\r\n podcastTitle: item !== undefined ? item.name : \"\",\r\n podcasturlPodcast: item !== undefined ? item.urlPodcast : \"\",\r\n podcastDescription: item !== undefined ? item.description : \"\",\r\n podcastType: item !== undefined ? item.podcastType : \"music\",\r\n podcasturlImage: item !== undefined ? item.urlImage : \"\",\r\n categoryList: [],\r\n selectedCategoryList: [],\r\n uploadedPodcast: null,\r\n existingCategoryList: [],\r\n id: id !== undefined ? id : 0,\r\n size: item !== undefined ? item.size : 0,\r\n });\r\n const [isUploadPodcast, setUploadPodcast] = useState(false);\r\n const [isPodcastTitleErrShow, setPodcastTitleErr] = useState(false);\r\n const [isPodcastDescErrShow, setPodcastDescErr] = useState(false);\r\n const [isAddCategoryErrShow, setAddCategoryErr] = useState(false);\r\n const multiSelectStyle = {\r\n multiselectContainer: {\r\n color: \"white\",\r\n fontSize: 14,\r\n },\r\n option: {\r\n // To change css for dropdown options\r\n color: colors.colors13,\r\n },\r\n chips: {\r\n background: colors.colors13,\r\n fontSize: 15,\r\n paddingLeft: 15,\r\n paddingRight: 15,\r\n paddingTop: 8,\r\n paddingBottom: 8,\r\n borderRadius: 8,\r\n },\r\n searchBox: {\r\n border: \"1px solid #8186AF\",\r\n borderRadius: \"2px\",\r\n //fontFamily: 'Mr Eaves Mod OT',\r\n fontSize: 15,\r\n minHeight: 40,\r\n\r\n //width: 395,\r\n },\r\n };\r\n const onDrop = (file) => fileValidation(file[0]);\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n const fileValidation = (file) => {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file?.name)) {\r\n addErrorMesage(\"Please upload a valid image file\");\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n let fileItem = [];\r\n fileItem.push(file);\r\n //jayraj mehta\r\n setPodFiles1([...fileItem]);\r\n //jayraj mehta\r\n }\r\n };\r\n\r\n const onSelectCategory = (selectedList) => {\r\n //console.log(\"Selected Category: \", selectedList);\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n setAddCategoryErr(false);\r\n };\r\n\r\n const onRemoveSelectCategory = (selectedList) => {\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, selectedCategoryList: selectedList };\r\n });\r\n };\r\n\r\n const onDeleteUploadedPodcast = () => {\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, uploadedPodcast: null };\r\n });\r\n return false;\r\n };\r\n\r\n const onSelectPodcast = (event) => {\r\n if (event) {\r\n if (podcastDetails.podcastType === \"music\") {\r\n if (!audioReg.exec(event.target.files[0].name)) {\r\n addErrorMesage(\"Please upload a valid audio file\");\r\n return;\r\n }\r\n } else if (podcastDetails.podcastType === \"video\") {\r\n if (!videoReg.exec(event.target.files[0].name)) {\r\n addErrorMesage(\"Please upload a valid video file\");\r\n return;\r\n }\r\n }\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, uploadedPodcast: event.target.files[0] };\r\n });\r\n setShowSelectedPodcastFile(false);\r\n\r\n setPodFiles([...event.target.files]);\r\n //console.log(podFiles)\r\n //console.log(podcastDetails, podFiles)\r\n return false;\r\n }\r\n };\r\n //console.log(podcastDetails, podFiles)\r\n const onUpload = async () => {\r\n const {\r\n podcastTitle,\r\n selectedCategoryList,\r\n podcastDescription,\r\n // uploadedPodcast,\r\n } = podcastDetails;\r\n if (\r\n !podcastTitle &&\r\n !podcastDescription &&\r\n selectedCategoryList.length === 0 &&\r\n // uploadedPodcast === null &&\r\n id === undefined\r\n ) {\r\n setPodcastTitleErr(true);\r\n setAddCategoryErr(true);\r\n setPodcastDescErr(true);\r\n // addErrorMesage(\"Upload a podcast file!\");\r\n //enqueueSnackbar(\"Upload a podcast file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n } else if (!podcastTitle) {\r\n setPodcastTitleErr(true);\r\n } else if (!podcastDescription) {\r\n setPodcastDescErr(true);\r\n } else if (selectedCategoryList.length === 0) {\r\n setAddCategoryErr(true);\r\n } \r\n // else if (uploadedPodcast === null && id === 0) {\r\n // addErrorMesage(\"Upload a podcast file!\");\r\n // //enqueueSnackbar(\"Upload a podcast file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n // } else if ((id !== 0 && uploadedPodcast !== null && showSelectedPodcastFile == true) || (id !== 0 && uploadedPodcast == null && showSelectedPodcastFile == false)) {\r\n // addErrorMesage(\"Upload a podcast file!\");\r\n // } \r\n else {\r\n //console.log(\"DONE\");\r\n setUploadPodcast(true);\r\n setDragNDropText(\"Drop your file here\");\r\n //Check if podcast with same name exists or not\r\n let respName = await getPodcastByName();\r\n //console.log(\"respName: \", respName);\r\n if (id === 0 && respName.length > 0) {\r\n addErrorMesage(\"Podcast with the same name already exists!\");\r\n return;\r\n } else if (id !== 0 && respName.length > 0 && id !== respName[0].id) {\r\n addErrorMesage(\"Podcast with the same name already exists!\");\r\n return;\r\n }\r\n //\r\n // if (podFiles.length > 0) {\r\n\r\n // uploadPodcastFiles();\r\n\r\n // } else\r\n if (podFiles1.length > 0) {\r\n\r\n uploadPodcastFiles1()\r\n\r\n } \r\n else {\r\n if (id !== 0) {\r\n setUploadProgress(25);\r\n createPodcast(\r\n podcastDetails.podcasturlImage,\r\n // podcastDetails.podcasturlPodcast\r\n );\r\n } else {\r\n resetUploadPodcast(0);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const resetUploadPodcast = (progressValue) => {\r\n setUploadProgress(progressValue);\r\n setCoverImg(null);\r\n setPodFiles([]);\r\n setPodcastDetails({\r\n albumName: \"\",\r\n podcastTypeType: \"music\",\r\n podcastDescription: \"\",\r\n podcastTitle: \"\",\r\n //categoryList: musicCategories,\r\n selectedCategoryList: [],\r\n });\r\n history.push(\"/MyPodcasts\");\r\n };\r\n const getVideoDuration = async (file) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = async () => {\r\n const media = new Audio(reader.result);\r\n media.onloadedmetadata = async () => await resolve(media.duration);\r\n };\r\n reader.readAsDataURL(file);\r\n reader.onerror = error => reject(error);\r\n });\r\n const uploadPodcastFiles = async () => {\r\n addLoader();\r\n if (podFiles1.length > 0) {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n duration = await getVideoDuration(podFiles[0]);\r\n let extraprodFiles = [...podFiles1, ...podFiles]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let coverFileName = \"\";\r\n coverFileName = res.data.data[0].filename\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n setUploadProgress(25);\r\n //console.log(\"jjjjj\")\r\n createPodcast(\r\n coverFileName,\r\n res.data.data[1].filename\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].filename\r\n ,\r\n res.data.data[1].originalname\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n } else {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n duration = await getVideoDuration(podFiles[0]);\r\n let extraprodFiles = [...podFiles]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let extra = []\r\n if (res.data.data >= 0) {\r\n extra = res.data.data\r\n } else {\r\n extra = [res.data.data]\r\n }\r\n\r\n\r\n let coverFileName = \"\";\r\n coverFileName = podcastDetails.podcasturlImage;\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n setUploadProgress(25);\r\n createPodcast(\r\n coverFileName,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : \r\n extra[0].filename,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // :\r\n extra[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n // setUploadProgress(25);\r\n // createPodcast(\r\n // podcastDetails.podcasturlImage,\r\n // podcastDetails.podcasturlPodcast\r\n // );\r\n }\r\n\r\n\r\n };\r\n\r\n const uploadPodcastFiles1 = async () => {\r\n addLoader();\r\n // if (podFiles.length > 0) {\r\n // let customHeaders = {\r\n // Accept: \"application/json\",\r\n // \"Content-Type\": \"multipart/form-data\",\r\n // Authorization: \"Bearer \",\r\n // };\r\n // let data = new FormData();\r\n // duration = await getVideoDuration(podFiles[0]);\r\n // console.log(duration)\r\n // let extraprodFiles = [...podFiles1, ...podFiles]\r\n // extraprodFiles.map((m) => {\r\n // data.append(\"image\", m);\r\n // });\r\n // let res = await postDataApi(\r\n // constant.podcastFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n // data,\r\n // customHeaders\r\n // );\r\n // //console.log(\"Upload Podcast Files: \", res.data);\r\n // if (\r\n // res != undefined &&\r\n // res.status != undefined &&\r\n // res.status === 201 &&\r\n // res.data != undefined &&\r\n // res.data.data != undefined\r\n // ) {\r\n // console.log(\"Uploaded Podcast file: \", res.data.data);\r\n // let coverFileName = \"\";\r\n // coverFileName =\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n // setUploadProgress(25);\r\n // createPodcast(\r\n // coverFileName,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].filename,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].originalname\r\n // );\r\n // } else {\r\n // removeLoader();\r\n // addErrorMesage(\"Error in uploading podcast files\");\r\n // }\r\n // } else {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n\r\n let extraprodFiles = [...podFiles1]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let extra = []\r\n if (res.data.data.length >= 0) {\r\n extra = res.data.data\r\n } else {\r\n extra = [res.data.data]\r\n }\r\n // let coverFileName = \"\";\r\n // coverFileName = podcastDetails.podcasturlImage;\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n //console.log(extra)\r\n setUploadProgress(25);\r\n createPodcast(\r\n extra[0].filename,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : \r\n // podcastDetails.podcasturlPodcast\r\n // ,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // :\r\n // res.data.data[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n // setUploadProgress(25);\r\n // createPodcast(\r\n // podcastDetails.podcasturlImage,\r\n // podcastDetails.podcasturlPodcast\r\n // );\r\n // }\r\n };\r\n const getPodcastByName = async () => {\r\n let resPodcast = await getDataApi(\r\n // constant.baseURL + \"podcasts?filter=name||$eq||\"+podcastDetails.podcastTitle\r\n constant.baseURL + \"podcasts?filter=name||$eq||\" + podcastDetails.podcastTitle + \"&filter=isDeleted||$eq||0\"\r\n );\r\n return resPodcast;\r\n }\r\n const createPodcast = async (coverImageName, podcastFileName, originalAudioVideoFileName) => {\r\n // console.log(duration)\r\n // console.log(coverImageName, podcastFileName, originalAudioVideoFileName)\r\n if (currentUserInfo !== undefined) {\r\n addLoader();\r\n let fItem = podFiles.filter(f => f.name === originalAudioVideoFileName);\r\n let jsonData = {\r\n name: podcastDetails.podcastTitle,\r\n description: podcastDetails.podcastDescription,\r\n artist: currentUserInfo.id,\r\n podcastType: podcastDetails.podcastType,\r\n urlImage: coverImageName,\r\n // urlPodcast: podcastFileName,\r\n // size: fItem.length > 0 ? fItem[0].size : 0,\r\n // duration: duration\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPodcast;\r\n let sStatus = \"\";\r\n if (id !== 0) {\r\n respPodcast = await patchDataApi(\r\n constant.baseURL + \"podcasts/\" + id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcast != undefined &&\r\n respPodcast.status != undefined &&\r\n respPodcast.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n respPodcast = await postDataApi(\r\n constant.baseURL + \"podcasts\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcast != undefined &&\r\n respPodcast.status != undefined &&\r\n respPodcast.status == 201\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n }\r\n //console.log(\"respPodcast: \", respPodcast);\r\n if (sStatus == \"Success\") {\r\n setUploadProgress(75);\r\n return savePodcastCategories(respPodcast.data.id).then((response) => {\r\n if (\r\n response != undefined &&\r\n response.length > 0 &&\r\n response[0] == true\r\n ) {\r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(\r\n id !== 0 ? \"Podcast Updated\" : \"Podcast Created\"\r\n );\r\n resetUploadPodcast(0);\r\n } else {\r\n removeLoader();\r\n resetUploadPodcast(0);\r\n }\r\n });\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error encountered while creating podcast!\");\r\n resetUploadPodcast(0);\r\n }\r\n }\r\n };\r\n\r\n const getSubcategories = async () => {\r\n let resSubcategories0 = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||2&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories0);\r\n if (resSubcategories0 != undefined && resSubcategories0.length > 0) {\r\n setPodCastCategories([...resSubcategories0]);\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories0],\r\n };\r\n });\r\n if (id !== 0) {\r\n getPodcastSubcategories(resSubcategories0);\r\n }\r\n }\r\n };\r\n\r\n const getPodcastSubcategories = async (categories) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"selectedPodcastcategories?filter=podcasts.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"getPodcastSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n if (fltCategories[0] !== undefined) {\r\n sItems.push(fltCategories[0]);\r\n }\r\n });\r\n //console.log(\"sItems: \", sItems);\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n const savePodcastCategories = async (podcastId) => {\r\n let promises_array = [];\r\n podcastDetails.selectedCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let jsonData = { podcasts: podcastId, subcategory: item.id };\r\n return createPodcastCategories(jsonData)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n })\r\n );\r\n });\r\n if (id !== 0 && podcastDetails.existingCategoryList.length > 0) {\r\n podcastDetails.existingCategoryList.map((item) => {\r\n promises_array.push(\r\n new Promise((resolve, reject) => {\r\n let fExists = podcastDetails.selectedCategoryList.filter(\r\n (x) => x.id == item.subcategory.id\r\n );\r\n if (fExists.length == 0) {\r\n return deletePodcastCategory(item.id)\r\n .then(() => {\r\n resolve(true);\r\n })\r\n .catch((error) => {\r\n reject(false);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n })\r\n );\r\n });\r\n }\r\n return Promise.all(promises_array);\r\n };\r\n const createPodcastCategories = async (jsonData) => {\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let resExits = await getDataApi(\r\n constant.baseURL +\r\n \"selectedpodcastcategories?filter=podcasts.id||$eq||\" +\r\n jsonData.podcasts +\r\n \"&filter=subcategory.id||$eq||\" +\r\n jsonData.subcategory\r\n );\r\n //console.log(\"resExits: \", resExits);\r\n if (resExits.length == 0) {\r\n return await Promise.resolve(\r\n postDataApi(\r\n constant.baseURL + \"selectedpodcastcategories\",\r\n formBody,\r\n authHeader\r\n )\r\n )\r\n .then((response) => {\r\n if (\r\n response != undefined &&\r\n response.status != undefined &&\r\n response.status == 201\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const deletePodcastCategory = async (id) => {\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n return await Promise.resolve(\r\n await deleteDataApi(\r\n constant.baseURL + \"selectedPodcastcategories/\" + id,\r\n authHeader\r\n )\r\n )\r\n .then((resDel) => {\r\n //console.log(\"resDel: \", resDel);\r\n if (resDel != undefined && resDel.status == 200) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n })\r\n .catch((error) => {\r\n return false;\r\n });\r\n };\r\n const cancelPostcast = () => {\r\n if (id !== 0) {\r\n history.goBack();\r\n } else {\r\n if (!isUploadPodcast && props != undefined) {\r\n history.goBack();\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n const renderSelectedUploadedPodcast = () => {\r\n return (\r\n <>\r\n {showSelectedPodcastFile === true && (\r\n
\r\n
\r\n
\r\n {/* \"Cover-Image\"/ */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {podcastDetails.podcasturlPodcast}\r\n
\r\n
\r\n
\r\n {\r\n setShowSelectedPodcastFile(false);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
{(podcastDetails.size / 1024 / 1024).toFixed(1)} MB
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n };\r\n const renderUploadedPodcast = () => {\r\n const { podcastType, uploadedPodcast } = podcastDetails;\r\n let fileName = uploadedPodcast.name.split(\".\")[0];\r\n let fileSizeInMB = uploadedPodcast.size / 1024 / 1024;\r\n //console.log(\"showSelectedPodcastFile: \", showSelectedPodcastFile);\r\n return (\r\n <>\r\n {/* {\r\n showSelectedPodcastFile === true &&\r\n
\r\n
\r\n
\r\n \"Cover-Image\"/\r\n
\r\n
\r\n
\r\n
\r\n
{podcastDetails.podcasturlPodcast}
\r\n
\r\n
\r\n \"Close\" {setShowSelectedPodcastFile(false)}} style={{cursor:'pointer'}}/>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n } */}\r\n {showSelectedPodcastFile === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{fileName}
\r\n
\r\n
\r\n onDeleteUploadedPodcast()}\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {fileSizeInMB.toFixed(1)}MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
Podcast Details
\r\n {/* {isUploadPodcast ? (\r\n
\r\n \r\n
\r\n ) : null} */}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setPodcastDetails({\r\n ...podcastDetails,\r\n podcastTitle: e.target.value,\r\n });\r\n setPodcastTitleErr(false);\r\n }}\r\n value={podcastDetails.podcastTitle}\r\n />\r\n \r\n \r\n {isPodcastTitleErrShow === true && (\r\n \r\n Enter title\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setPodcastDetails({\r\n ...podcastDetails,\r\n podcastDescription: e.target.value,\r\n });\r\n setPodcastDescErr(false);\r\n }}\r\n value={podcastDetails.podcastDescription}\r\n >\r\n \r\n \r\n {isPodcastDescErrShow === true && (\r\n \r\n Enter description\r\n
\r\n )}\r\n
\r\n
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow && (\r\n \r\n Add category\r\n
\r\n )}\r\n
\r\n
\r\n Select Type\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n if (\r\n podcastDetails.uploadedPodcast ===\r\n null\r\n ) {\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n podcastType: \"video\",\r\n };\r\n });\r\n }\r\n }}\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n if (\r\n podcastDetails.uploadedPodcast ===\r\n null\r\n ) {\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n podcastType: \"music\",\r\n };\r\n });\r\n }\r\n }}\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {/* {podcastDetails.uploadedPodcast !== null &&\r\n renderUploadedPodcast()}\r\n {podcastDetails.uploadedPodcast == null &&\r\n renderSelectedUploadedPodcast()} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n {id !== undefined && id !== 0 ? \"Update\" : \"Create\"}\r\n \r\n
\r\n
\r\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 UploadPodcast;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n getDataApi,\r\n postDataApi,\r\n patchDataApi,\r\n deleteDataApi,\r\n} from \"../../utility/apiCall\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport close from \"../../assets/Images/close.png\";\r\nimport uploadImage1 from \"../../assets/Images/uploadImage1.png\";\r\nimport uploadMusic2 from \"../../assets/Images/uploadMusic2.png\";\r\nimport musicImg from \"../../assets/Images/music.png\";\r\nimport videoImg from \"../../assets/Images/video.png\";\r\nimport { FileDrop } from \"react-file-drop\";\r\nimport ImageUploader from \"react-images-upload\";\r\nimport Multiselect from \"multiselect-react-dropdown\";\r\nimport { colors } from \"../../utility/colors\";\r\nimport {\r\n addErrorMesage,\r\n addSuccessMesage,\r\n} from \"../../components/CustomToster/CustomToaster\";\r\nimport { CircularProgressbar } from \"react-circular-progressbar\";\r\nimport { AiFillCloseSquare } from \"react-icons/ai\";\r\nimport { addLoader, removeLoader } from \"../../utility/CustomLoader\";\r\n\r\nfunction Addepisode(props) {\r\n let history = useHistory();\r\n //console.log(props)\r\n const { id, item ,type ,podcastId} = props.location.state;\r\n let duration = item !== undefined ? item.duration : \"\"\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n let audioReg = /\\.(?:opus|flac|webm|weba|wav|ogg|m4a|mp3|oga|mid|amr|aiff|wma|au|aac|avi|mov)$/i;\r\n let videoReg = /\\.(?:ogm|wmv|mpg|webm|ogv|mov|asx|mpeg|mp4|m4v|avi)$/i;\r\n const [podFiles, setPodFiles] = useState([]);\r\n //jayraj mehta\r\n const [podFiles1, setPodFiles1] = useState([]);\r\n //jayraj mehta\r\n const [showSelectedPodcastFile, setShowSelectedPodcastFile] = useState(\r\n id !== 0 ? true : false\r\n );\r\n const [coverImg, setCoverImg] = useState(null);\r\n const [dragNDropText, setDragNDropText] = useState(\"Drop your file here\");\r\n const [podcastCategories, setPodCastCategories] = useState([]);\r\n const [uploadProgress, setUploadProgress] = useState(0);\r\n const [podcastDetails, setPodcastDetails] = useState({\r\n podcastTitle: item !== undefined ? item.title : \"\",\r\n podcasturlPodcast: item !== undefined ? item.urlImage : \"\",\r\n podcastDescription: item !== undefined ? item.description : \"\",\r\n podcastType: type,\r\n podcasturlImage: item !== undefined ? item.thumbnailUrlImage : \"\",\r\n uploadedPodcast: null,\r\n id: id !== undefined ? id : 0,\r\n size: item !== undefined ? item.size : 0,\r\n });\r\n //console.log(coverImg)\r\n const [isUploadPodcast, setUploadPodcast] = useState(false);\r\n const [isPodcastTitleErrShow, setPodcastTitleErr] = useState(false);\r\n const [isPodcastDescErrShow, setPodcastDescErr] = useState(false);\r\n\r\n const onDrop = (file) => fileValidation(file[0]);\r\n const onUploadImg = (file) => fileValidation(file[0]);\r\n const fileValidation = (file) => {\r\n // Allowing file type\r\n let allowedExtensions = /(\\.jpg|\\.jpeg|\\.png|\\.gif)$/i;\r\n if (!allowedExtensions.exec(file?.name)) {\r\n addErrorMesage(\"Please upload a valid image file\");\r\n file = \"\";\r\n setDragNDropText(\"Drop your image here or browse\");\r\n return false;\r\n } else {\r\n let imageSrc = URL.createObjectURL(file);\r\n setDragNDropText(\"Drop your image here or browse\");\r\n setCoverImg(imageSrc);\r\n let fileItem = [];\r\n fileItem.push(file);\r\n //jayraj mehta\r\n setPodFiles1([...fileItem]);\r\n //jayraj mehta\r\n }\r\n };\r\n \r\n\r\n const onDeleteUploadedPodcast = () => {\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, uploadedPodcast: null };\r\n });\r\n return false;\r\n };\r\n\r\n const onSelectPodcast = (event) => {\r\n if (event) {\r\n if (podcastDetails.podcastType === \"music\") {\r\n //console.log(\"a\",event.target.files[0])\r\n if (!audioReg.exec(event.target.files[0].name)) {\r\n //console.log(\"b\")\r\n addErrorMesage(\"Please upload a valid audio file\");\r\n return;\r\n }\r\n } else if (podcastDetails.podcastType === \"video\") {\r\n //console.log(\"c\",event.target.files[0])\r\n if (!videoReg.exec(event.target.files[0].name)) {\r\n //console.log(\"d\")\r\n addErrorMesage(\"Please upload a valid video file\");\r\n return;\r\n }\r\n }\r\n setPodcastDetails((prevState) => {\r\n return { ...prevState, uploadedPodcast: event.target.files[0] };\r\n });\r\n setShowSelectedPodcastFile(false);\r\n\r\n setPodFiles([...event.target.files]);\r\n //console.log(podFiles)\r\n //console.log(podcastDetails, podFiles)\r\n return false;\r\n }\r\n };\r\n //console.log(podcastDetails, podFiles)\r\n const onUpload = async () => {\r\n const {\r\n podcastTitle,\r\n selectedCategoryList,\r\n podcastDescription,\r\n uploadedPodcast,\r\n } = podcastDetails;\r\n if (\r\n !podcastTitle &&\r\n !podcastDescription &&\r\n uploadedPodcast === null &&\r\n id === undefined\r\n ) {\r\n setPodcastTitleErr(true);\r\n setPodcastDescErr(true);\r\n addErrorMesage(\"Upload a podcast file!\");\r\n //enqueueSnackbar(\"Upload a podcast file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n } else if (!podcastTitle) {\r\n setPodcastTitleErr(true);\r\n } else if (!podcastDescription) {\r\n setPodcastDescErr(true);\r\n \r\n } else if (uploadedPodcast === null && id === 0) {\r\n addErrorMesage(\"Upload a podcast file!\");\r\n //enqueueSnackbar(\"Upload a podcast file!\", { variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right', } });\r\n } else if ((id !== 0 && uploadedPodcast !== null && showSelectedPodcastFile == true) || (id !== 0 && uploadedPodcast == null && showSelectedPodcastFile == false)) {\r\n addErrorMesage(\"Upload a podcast file!\");\r\n } else {\r\n //console.log(\"DONE\");\r\n setUploadPodcast(true);\r\n setDragNDropText(\"Drop your file here\");\r\n //Check if podcast with same name exists or not\r\n // let respName = await getPodcastByName();\r\n // console.log(\"respName: \", respName);\r\n // if (id === 0 && respName.length > 0) {\r\n // addErrorMesage(\"Podcast with the same name already exists!\");\r\n // return;\r\n // } else if (id !== 0 && respName.length > 0 && id !== respName[0].id) {\r\n // addErrorMesage(\"Podcast with the same name already exists!\");\r\n // return;\r\n // }\r\n //\r\n if (podFiles.length > 0) {\r\n\r\n uploadPodcastFiles();\r\n\r\n } else if (podFiles1.length > 0) {\r\n\r\n uploadPodcastFiles1()\r\n\r\n } else {\r\n if (id !== 0) {\r\n setUploadProgress(25);\r\n createPodcast(\r\n podcastDetails.podcasturlImage,\r\n podcastDetails.podcasturlPodcast\r\n );\r\n } else {\r\n resetUploadPodcast(0);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const resetUploadPodcast = (progressValue) => {\r\n setUploadProgress(progressValue);\r\n setCoverImg(null);\r\n setPodFiles([]);\r\n setPodcastDetails({\r\n albumName: \"\",\r\n podcastTypeType: \"music\",\r\n podcastDescription: \"\",\r\n podcastTitle: \"\",\r\n //categoryList: musicCategories,\r\n // selectedCategoryList: [],\r\n uploadedPodcast: null,\r\n });\r\n // history.push(\"/MyPodcasts\");\r\n history.goBack();\r\n };\r\n const getVideoDuration = async (file) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = async () => {\r\n const media = new Audio(reader.result);\r\n media.onloadedmetadata = async () => await resolve(media.duration);\r\n };\r\n reader.readAsDataURL(file);\r\n reader.onerror = error => reject(error);\r\n });\r\n const uploadPodcastFiles = async () => {\r\n addLoader();\r\n if (podFiles1.length > 0) {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n duration = await getVideoDuration(podFiles[0]);\r\n let extraprodFiles = [...podFiles1, ...podFiles]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastepisodeFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let coverFileName = \"\";\r\n coverFileName = res.data.data[0].filename\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n setUploadProgress(25);\r\n //console.log(\"jjjjj\")\r\n createPodcast(\r\n coverFileName,\r\n res.data.data[1].filename\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].filename\r\n ,\r\n res.data.data[1].originalname\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n } else {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n duration = await getVideoDuration(podFiles[0]);\r\n let extraprodFiles = [...podFiles]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastepisodeFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let extra = []\r\n if (res.data.data.length >= 0) {\r\n extra = res.data.data\r\n } else {\r\n extra = [res.data.data]\r\n }\r\n\r\n\r\n let coverFileName = \"\";\r\n coverFileName = podcastDetails.podcasturlImage;\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n setUploadProgress(25);\r\n createPodcast(\r\n coverFileName,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : \r\n extra[0].filename,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // :\r\n extra[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n // setUploadProgress(25);\r\n // createPodcast(\r\n // podcastDetails.podcasturlImage,\r\n // podcastDetails.podcasturlPodcast\r\n // );\r\n }\r\n\r\n\r\n };\r\n\r\n const uploadPodcastFiles1 = async () => {\r\n addLoader();\r\n if (podFiles.length > 0) {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n duration = await getVideoDuration(podFiles[0]);\r\n //console.log(duration)\r\n let extraprodFiles = [...podFiles1, ...podFiles]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastepisodeFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let coverFileName = \"\";\r\n coverFileName =\r\n coverImg != null\r\n ? res.data.data[0].filename\r\n : id !== 0\r\n ? podcastDetails.podcasturlImage\r\n : \"\";\r\n setUploadProgress(25);\r\n createPodcast(\r\n coverFileName,\r\n coverImg != null\r\n ? id !== 0\r\n ? podcastDetails.podcasturlPodcast\r\n : res.data.data[1].filename\r\n : id !== 0\r\n ? podcastDetails.podcasturlPodcast\r\n : res.data.data[0].filename,\r\n coverImg != null\r\n ? id !== 0\r\n ? podcastDetails.podcasturlPodcast\r\n : res.data.data[1].originalname\r\n : id !== 0\r\n ? podcastDetails.podcasturlPodcast\r\n : res.data.data[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n } else {\r\n let customHeaders = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Authorization: \"Bearer \",\r\n };\r\n let data = new FormData();\r\n\r\n let extraprodFiles = [...podFiles1]\r\n extraprodFiles.map((m) => {\r\n data.append(constant.uplFileParameter, m);\r\n });\r\n let res = await postDataApi(\r\n constant.podcastepisodeFileUploadURL,//process.env.REACT_APP_NODE_ENV === \"development\" ? constant.baseURL + \"podcastfiles/uploadMultipleFiles\" : constant.baseURL + \"podcastfiles\",\r\n data,\r\n customHeaders\r\n );\r\n //console.log(\"Upload Podcast Files: \", res.data);\r\n if (\r\n res != undefined &&\r\n res.status != undefined &&\r\n res.status === 201 &&\r\n res.data != undefined &&\r\n res.data.data != undefined\r\n ) {\r\n //console.log(\"Uploaded Podcast file: \", res.data.data);\r\n let extra = []\r\n if (res.data.data.length >= 0) {\r\n extra = res.data.data\r\n } else {\r\n extra = [res.data.data]\r\n }\r\n // let coverFileName = \"\";\r\n // coverFileName = podcastDetails.podcasturlImage;\r\n // coverImg != null\r\n // ? res.data.data[0].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlImage\r\n // : \"\";\r\n setUploadProgress(25);\r\n createPodcast(\r\n extra[0].filename,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].filename\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : \r\n podcastDetails.podcasturlPodcast\r\n // ,\r\n // coverImg != null\r\n // ? id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // : res.data.data[1].originalname\r\n // : id !== 0\r\n // ? podcastDetails.podcasturlPodcast\r\n // :\r\n // res.data.data[0].originalname\r\n );\r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error in uploading podcast files\");\r\n }\r\n // setUploadProgress(25);\r\n // createPodcast(\r\n // podcastDetails.podcasturlImage,\r\n // podcastDetails.podcasturlPodcast\r\n // );\r\n }\r\n };\r\n const getPodcastByName = async () => {\r\n let resPodcast = await getDataApi(\r\n // constant.baseURL + \"podcasts?filter=name||$eq||\"+podcastDetails.podcastTitle\r\n constant.baseURL + \"podcasts?filter=name||$eq||\" + podcastDetails.podcastTitle + \"&filter=isDeleted||$eq||0\"\r\n );\r\n return resPodcast;\r\n }\r\n const createPodcast = async (coverImageName, podcastFileName, originalAudioVideoFileName) => {\r\n //console.log(duration)\r\n //console.log(coverImageName, podcastFileName, originalAudioVideoFileName)\r\n if (currentUserInfo !== undefined) {\r\n addLoader();\r\n let fItem = podFiles.filter(f => f.name === originalAudioVideoFileName);\r\n //console.log(fItem,podFiles,podcastDetails)\r\n let jsonData = {\r\n title: podcastDetails.podcastTitle,\r\n description: podcastDetails.podcastDescription,\r\n podcasts: podcastId,\r\n episodeType: type,\r\n thumbnailUrlImage: coverImageName,\r\n urlImage: podcastFileName,\r\n size: fItem.length > 0 ? fItem[0].size : podcastDetails.size,\r\n duration: duration\r\n };\r\n //console.log(jsonData);\r\n var formBody = [];\r\n for (var property in jsonData) {\r\n var encodedKey = encodeURIComponent(property);\r\n var encodedValue = encodeURIComponent(jsonData[property]);\r\n formBody.push(encodedKey + \"=\" + encodedValue);\r\n }\r\n formBody = formBody.join(\"&\");\r\n var authHeader = {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n };\r\n let respPodcast;\r\n let sStatus = \"\";\r\n if (id !== 0) {\r\n respPodcast = await patchDataApi(\r\n constant.baseURL + \"episode/\" + id,\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcast != undefined &&\r\n respPodcast.status != undefined &&\r\n respPodcast.status == 200\r\n ) {\r\n sStatus = \"Success\";\r\n }\r\n } else {\r\n respPodcast = await postDataApi(\r\n constant.baseURL + \"episode\",\r\n formBody,\r\n authHeader\r\n );\r\n if (\r\n respPodcast != undefined &&\r\n respPodcast.status != undefined &&\r\n respPodcast.status == 201\r\n ) {\r\n //console.log(respPodcast)\r\n sStatus = \"Success\";\r\n }\r\n }\r\n\r\n //console.log(\"respPodcast: \", respPodcast);\r\n if (sStatus == \"Success\") {\r\n setUploadProgress(75);\r\n \r\n \r\n removeLoader();\r\n setUploadProgress(100);\r\n addSuccessMesage(\r\n id !== 0 ? \"Podcast Updated\" : \"Podcast Created\"\r\n );\r\n resetUploadPodcast(0);\r\n \r\n \r\n } else {\r\n removeLoader();\r\n addErrorMesage(\"Error encountered while creating podcast Episode!\");\r\n resetUploadPodcast(0);\r\n }\r\n }\r\n };\r\n\r\n const getSubcategories = async () => {\r\n let resSubcategories0 = await getDataApi(\r\n constant.baseURL + \"subcategories?filter=category.id||$eq||2&filter=isDeleted||$eq||0\"\r\n );\r\n //console.log(\"resSubcategories: \", resSubcategories0);\r\n if (resSubcategories0 != undefined && resSubcategories0.length > 0) {\r\n setPodCastCategories([...resSubcategories0]);\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n categoryList: [...resSubcategories0],\r\n };\r\n });\r\n if (id !== 0) {\r\n getPodcastSubcategories(resSubcategories0);\r\n }\r\n }\r\n };\r\n\r\n const getPodcastSubcategories = async (categories) => {\r\n let resSubcategories = await getDataApi(\r\n constant.baseURL +\r\n \"selectedPodcastcategories?filter=podcasts.id||$eq||\" +\r\n id\r\n );\r\n //console.log(\"getPodcastSubcategories: \", resSubcategories);\r\n if (resSubcategories != undefined && resSubcategories.length > 0) {\r\n let sItems = [];\r\n resSubcategories.map((p) => {\r\n let fltCategories = categories.filter((c) => c.id == p.subcategory.id);\r\n if (fltCategories[0] !== undefined) {\r\n sItems.push(fltCategories[0]);\r\n }\r\n });\r\n //console.log(\"sItems: \", sItems);\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n selectedCategoryList: [...sItems],\r\n existingCategoryList: [...resSubcategories],\r\n };\r\n });\r\n }\r\n };\r\n \r\n\r\n const cancelPostcast = () => {\r\n if (id !== 0) {\r\n history.goBack();\r\n } else {\r\n if (!isUploadPodcast && props != undefined) {\r\n history.goBack();\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n getSubcategories();\r\n }, []);\r\n const renderSelectedUploadedPodcast = () => {\r\n return (\r\n <>\r\n {showSelectedPodcastFile === true && (\r\n
\r\n
\r\n
\r\n {/* \"Cover-Image\"/ */}\r\n {coverImg === null?:}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {podcastDetails.podcasturlPodcast}\r\n
\r\n
\r\n
\r\n {\r\n setShowSelectedPodcastFile(false);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
{(podcastDetails.size / 1024 / 1024).toFixed(1)} MB
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n };\r\n const renderUploadedPodcast = () => {\r\n const { podcastType, uploadedPodcast } = podcastDetails;\r\n let fileName = uploadedPodcast.name.split(\".\")[0];\r\n let fileSizeInMB = uploadedPodcast.size / 1024 / 1024;\r\n //console.log(\"showSelectedPodcastFile: \", showSelectedPodcastFile);\r\n return (\r\n <>\r\n {/* {\r\n showSelectedPodcastFile === true &&\r\n
\r\n
\r\n
\r\n \"Cover-Image\"/\r\n
\r\n
\r\n
\r\n
\r\n
{podcastDetails.podcasturlPodcast}
\r\n
\r\n
\r\n \"Close\" {setShowSelectedPodcastFile(false)}} style={{cursor:'pointer'}}/>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n } */}\r\n {showSelectedPodcastFile === false && (\r\n
\r\n
\r\n
\r\n {coverImg === null?:}\r\n
\r\n
\r\n
\r\n
\r\n
{fileName}
\r\n
\r\n
\r\n onDeleteUploadedPodcast()}\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {fileSizeInMB.toFixed(1)}MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {coverImg === null ? (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n \r\n
Upload Cover Image
\r\n
\r\n Drop your file here or browse\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n setDragNDropText(\"Drop your image here!!\")\r\n }\r\n onDragLeave={() =>\r\n setDragNDropText(\"Drop your file here\")\r\n }\r\n onDrop={onDrop}\r\n >\r\n
\r\n setCoverImg(null)}\r\n id=\"uploaded_cover_img\"\r\n src={coverImg}\r\n alt=\"cover-image\"\r\n />\r\n onUploadImg(file)}\r\n imgExtension={constant.supportedImageFiles}\r\n singleImage={true}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
Podcast Episode Details
\r\n {/* {isUploadPodcast ? (\r\n
\r\n \r\n
\r\n ) : null} */}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setPodcastDetails({\r\n ...podcastDetails,\r\n podcastTitle: e.target.value,\r\n });\r\n setPodcastTitleErr(false);\r\n }}\r\n value={podcastDetails.podcastTitle}\r\n />\r\n \r\n \r\n {isPodcastTitleErrShow === true && (\r\n \r\n Enter title\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n setPodcastDetails({\r\n ...podcastDetails,\r\n podcastDescription: e.target.value,\r\n });\r\n setPodcastDescErr(false);\r\n }}\r\n value={podcastDetails.podcastDescription}\r\n >\r\n \r\n \r\n {isPodcastDescErrShow === true && (\r\n \r\n Enter description\r\n
\r\n )}\r\n
\r\n {/*
\r\n \r\n }\r\n />\r\n {isAddCategoryErrShow && (\r\n \r\n Add category\r\n
\r\n )}\r\n
*/}\r\n {/*
\r\n Select Type\r\n
\r\n
\r\n
\r\n
\r\n Video\r\n \r\n
\r\n {\r\n if (\r\n podcastDetails.uploadedPodcast ===\r\n null\r\n ) {\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n podcastType: \"video\",\r\n };\r\n });\r\n }\r\n }}\r\n value=\"video\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Music\r\n \r\n
\r\n {\r\n if (\r\n podcastDetails.uploadedPodcast ===\r\n null\r\n ) {\r\n setPodcastDetails((prevState) => {\r\n return {\r\n ...prevState,\r\n podcastType: \"music\",\r\n };\r\n });\r\n }\r\n }}\r\n value=\"music\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n Select File\r\n
\r\n
\r\n
\r\n \r\n Browse\r\n
\r\n
\r\n
\r\n
\r\n {podcastDetails.uploadedPodcast !== null &&\r\n renderUploadedPodcast()}\r\n {podcastDetails.uploadedPodcast == null &&\r\n renderSelectedUploadedPodcast()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n {id !== undefined && id !== 0 ? \"Update\" : \"Create\"}\r\n \r\n
\r\n
\r\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 Addepisode;\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n let flag = pathname.search(\"FeaturedArtistDetail\");\r\n\r\n if (flag === 1) {\r\n //console.log(\",\");\r\n }\r\n else window.scrollTo(0, 0);\r\n // window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}\r\n","export default __webpack_public_path__ + \"static/media/smily.8af04dd5.svg\";","import React from \"react\";\r\nimport \"./PageNotFound.css\";\r\nimport smily from \"../../assets/Images/smily.svg\";\r\n\r\nexport default function PageNotFound() {\r\n return (\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
404
\r\n
Page Not Found
\r\n
\r\n The Page you are looking for doesn't exist or another error occured,\r\n

\r\n Go and \r\n choose a new direction.\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import classNames from \"classnames\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Loader from \"react-loader-spinner\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport TinySlider from \"tiny-slider-react\";\r\nimport ReactPlayer from 'react-player';\r\nimport {\r\n increaseCounter,\r\n decreaseCounter,\r\n} from \"../../redux/Counter/counter.actions\"\r\n// import communicate from \"../../assets/Images/communicate-1.jpg\";\r\nimport AudioPlayer from \"../../components/AudioPlayer/AudioPlayer\";\r\nimport Musics from \"../../components/Musics/Musics\";\r\nimport { getDataApi } from \"../../utility/apiCall\";\r\nimport { constant } from \"../../utility/constant\";\r\nimport {\r\n hashCodeUrl,\r\n hashCodeUrlDecode,\r\n} from \"../../utility/EncodeAndDecodeUrl\";\r\nimport { connect } from \"react-redux\"\r\n\r\nfunction MyAlbumsDetails(props) {\r\n //console.log(props)\r\n let searchData = useParams();\r\n let history = useHistory();\r\n const [showViewMore, setShowViewMore] = useState(false);\r\n const [showLoader, setshowLoader] = useState(false);\r\n const [currentUserInfo, setCurrentUserInfo] = useState(\r\n localStorage.getItem(\"UserInfo\") !== null\r\n ? JSON.parse(localStorage.getItem(\"UserInfo\"))\r\n : undefined\r\n );\r\n const [artistList, setArtistList] = useState([]);\r\n const [albumList, setAlbumList] = useState([]);\r\n const [selectedAlbumMusics, setSelectedAlbumMusics] = useState([]);\r\n const [showMusics, setShowMusics] = useState(false);\r\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\r\n const [playIndex, setPlayIndex] = useState(0);\r\n const [commentsList, setCommentsList] = useState([]);\r\n const [commentInputVal, setCommentInputVal] = useState(\"\");\r\n const [errorCommentMessage, setCommentError] = useState(false);\r\n const [commentsPage, setCommentsPage] = useState(1);\r\n const [limit, setLimit] = useState(5);\r\n const [artistLikes, setArtistLikes] = useState(undefined);\r\n const [artistFollow, setArtistFollow] = useState(undefined);\r\n const [showReportArtistModal, setShowReportArtistModal] = useState(false);\r\n const [reportArtistInputText, setReportArtistInputText] = useState(\"\");\r\n const [showShareToModal, setShowShareToModal] = useState(false);\r\n const [musicLikesList, setLikesList] = useState([]);\r\n const [musicList, setMusicList] = useState([]);\r\n const [selectedAlbum, setSelectedAlbum] = useState(undefined);\r\n const [albumActive, setalbumActive] = useState(false);\r\n const [albumImage, setalbumImage] = useState(\"\");\r\n const [albumName, setalbumName] = useState(\"\");\r\n const [albumtype1, setalbumtype1] = useState({});\r\n const [CurrentPlayMusic, setCurrentPlayMusic] = useState(false);\r\n\r\n // satyam\r\n\r\n var [countData, setcountData] = useState(0);\r\n const [currentALbumDetails, setcurrentALbumDetails] = useState(false);\r\n\r\n // satyam ENd\r\n\r\n const [albumActiveId, setalbumActiveId] = useState(\"\");\r\n const AlbumClass = classNames({\r\n wd260: albumActive === false,\r\n wd239: albumActive === true,\r\n });\r\n var AlbumIdByUser = null;\r\n const albumSettings = {\r\n controls: false,\r\n items: 5,\r\n loop: false,\r\n nav: false,\r\n mouseDrag: true,\r\n gutter: 10,\r\n responsiveClass: true,\r\n preventScrollOnTouch: \"force\",\r\n nested: \"inner\",\r\n responsive: {\r\n 0: {\r\n items: 1.5,\r\n nav: false,\r\n },\r\n 600: {\r\n items: 3,\r\n nav: false,\r\n },\r\n 1000: {\r\n items: 4,\r\n nav: false,\r\n loop: false,\r\n },\r\n },\r\n };\r\n const setLikes = (id, data,likeId) => {\r\n // if (musicLikesList.length !== 0) {\r\n // let fltLikes = musicLikesList.filter(\r\n // (f) => f.music != undefined && f.music.id == id\r\n // );\r\n // if (fltLikes.length == 0) {\r\n // setLikesList([...musicLikesList, data]);\r\n // } else {\r\n // let newArr = musicLikesList.filter(\r\n // (i) => i.music != undefined && i.music.id !== id\r\n // );\r\n // console.log(\"11111111111jayraj\")\r\n // setLikesList(newArr);\r\n // }\r\n // } else {\r\n // let arr = [];\r\n // arr.push(data);\r\n // setLikesList(arr);\r\n // }\r\n let bgItems = [...selectedAlbumMusics]\r\n //console.log(bgItems)\r\n if (data !== undefined) {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike.push(data);\r\n itm.likes.push(data);\r\n }\r\n });\r\n } else {\r\n bgItems.map((itm) => {\r\n if (itm.id === id) {\r\n itm.userlike = [];\r\n itm.likes.map((lkitm, index0) => {\r\n if (lkitm.id === likeId) {\r\n itm.likes.splice(index0, 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n setSelectedAlbumMusics(bgItems)\r\n };\r\n const funsetcurrentPlaymusic = () =>{\r\n // setCurrentPlayMusic(false)\r\n setcurrentALbumDetails(false)\r\n setCurrentPlayMusic(false)\r\n }\r\n const getMusicByAlbumId = async () => {\r\n let resAlbumId = await getDataApi(\r\n constant.baseURL + \"albums/\" + hashCodeUrlDecode(searchData.itemId)\r\n );\r\n // console.log(\"resAlbumId\", resAlbumId);\r\n if (resAlbumId !== undefined) {\r\n //console.log(resAlbumId)\r\n AlbumIdByUser = resAlbumId.id;\r\n setalbumImage(\r\n resAlbumId.urlImage !== \"\"\r\n ? constant.albumFileURL + resAlbumId.urlImage\r\n : constant.musicURL\r\n );\r\n setalbumName(resAlbumId.name);\r\n getAlbumsByArtist(resAlbumId?.user?.id);\r\n setalbumtype1(resAlbumId)\r\n }\r\n };\r\n const getAlbumsByArtist = async (id) => {\r\n let resAlbums = await getDataApi(\r\n constant.baseURL + \"albums/getByArtistWithUserLike/\" + id + \"?page=1&limit=100\" + '&userId=' + ((currentUserInfo) ? currentUserInfo.id : 0)\r\n );\r\n if (resAlbums !== undefined && resAlbums.data !== undefined) {\r\n setAlbumList([...resAlbums.data]);\r\n //console.log(\"|jayraj\",...resAlbums.data)\r\n if (resAlbums.data.length > 0) {\r\n let musicAlbumByData = resAlbums.data.filter((item) => {\r\n return item.id == AlbumIdByUser;\r\n });\r\n //console.log(\"musicAlbumByData: \", musicAlbumByData[0]);\r\n setSelectedAlbum(musicAlbumByData[0]);\r\n let musicsData = [];\r\n let musicIds = \"\";\r\n if (musicAlbumByData[0].musics !== undefined) {\r\n musicAlbumByData[0].musics.map((item) => {\r\n musicIds +=\r\n item.id !== undefined ? item.id + \",\" : item.id + \",\";\r\n musicsData.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n singer:\r\n musicAlbumByData[0].user.firstName +\r\n \" \" +\r\n musicAlbumByData[0].user.lastName,\r\n cover: constant.musicURL,\r\n albumname: musicAlbumByData[0].name,\r\n urlImage:\r\n item.urlImage !== undefined ? item.urlImage : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments,\r\n userlike: item.userlike\r\n });\r\n });\r\n }\r\n setcountData(countData + 1);\r\n setSelectedAlbumMusics([...musicsData]);\r\n setShowMusics(true);\r\n // getMusicsByAlbum(resAlbums.data[0]);\r\n setshowLoader(false);\r\n setcurrentALbumDetails(false);\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n } else {\r\n setSelectedAlbumMusics([]);\r\n setShowMusics(false);\r\n setLikesList([]);\r\n }\r\n }\r\n };\r\n const resetShowAudioPlayer = () => {\r\n setShowAudioPlayer(false);\r\n };\r\n // const renderAlbums = () => {\r\n // return (\r\n // \r\n // {albumList.map((item, index) => {\r\n // return (\r\n // onClickAlbum(index)}\r\n // style={{\r\n // width: 260,\r\n // marginRight: 10,\r\n // cursor: \"pointer\",\r\n // marginLeft: 10,\r\n // }}\r\n // >\r\n // {item.albumType === \"music\" && (\r\n // \r\n // )}\r\n // {item.albumType === \"video\" && (\r\n // \r\n // )}\r\n // \r\n // {String(item.name)}\r\n // \r\n //

\r\n // {item.musics !== undefined ? item.musics.length : 0} Tracks\r\n //

\r\n // \r\n // );\r\n // })}\r\n //
\r\n // );\r\n // };\r\n const renderAlbums = () => {\r\n return (\r\n \r\n \r\n {albumList.map((item, index) => {\r\n //console.log(item)\r\n return (\r\n onClickAlbum(index,item)}\r\n style={{\r\n //width: 260, marginRight: 10,\r\n cursor: \"pointer\",\r\n width: \"-webkit-fill-available\",\r\n //marginLeft: 10\r\n }}\r\n >\r\n
\r\n {item.albumType === \"music\" && (\r\n \r\n )}\r\n {item.albumType === \"video\" && (\r\n \r\n )}\r\n
\r\n \r\n {String(item.name)}\r\n \r\n

\r\n {item.musics !== undefined ? item.musics.length : 0} Tracks\r\n

\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n };\r\n const onClickAlbum = (index,i) => {\r\n\r\n //console.log(index,i)\r\n if(i.albumType==\"video\"){\r\n let stateObj = { variant: \"musicjs\", variant1: \"musicjs\", id: i.id }\r\n history.push({\r\n pathname: \"/VideoPlayer\",\r\n state: stateObj,\r\n });\r\n }else{\r\n setShowMusics(false);\r\n window.scrollTo(0, 0);\r\n setalbumActiveId(index);\r\n setalbumActive(true);\r\n setTimeout(() => {\r\n let itm = albumList[index];\r\n //console.log(\"itm\", itm);\r\n history.push(`/MyAlbumsDetails/${hashCodeUrl(itm.id)}`);\r\n setSelectedAlbum(itm);\r\n let musicIds = \"\";\r\n if (itm !== undefined) {\r\n let musicsData = [];\r\n setalbumName(itm.name);\r\n setalbumImage(\r\n itm.urlImage !== \"\"\r\n ? constant.albumFileURL + itm.urlImage\r\n : constant.musicURL\r\n );\r\n \r\n itm.musics.map((item) => {\r\n musicIds +=\r\n item.id !== undefined ? item.id + \",\" : item.id + \",\";\r\n musicsData.push({\r\n id: item.id,\r\n title: item.title,\r\n name: item.title,\r\n singer: itm.user.firstName + \" \" + itm.user.lastName,\r\n cover: constant.musicURL,\r\n time: item.duration,\r\n size:\r\n item.size !== undefined && item.size !== null\r\n ? item.size\r\n : 0,\r\n albumname: itm.name,\r\n urlImage:\r\n item.urlImage !== undefined ? item.urlImage : \"\",\r\n musicSrc:\r\n item.urlImage !== undefined\r\n ? constant.musicFileURL + item.urlImage\r\n : \"\",\r\n likes: item.likes,\r\n comments: item.comments, \r\n userlike: item.userlike\r\n });\r\n });\r\n setSelectedAlbumMusics([...musicsData]);\r\n getMusicLikesByUser(musicIds.substr(0, musicIds.lastIndexOf(\",\")));\r\n // return updateDurationInMusics(musicsData).then((resp) => {\r\n // setshowLoader(false);\r\n // console.log(resp);\r\n // setSelectedAlbumMusics([...resp]);\r\n // });\r\n \r\n // satyam start\r\n \r\n setcountData(countData + 1);\r\n setcurrentALbumDetails(false);\r\n // satyam ENd\r\n }\r\n setShowMusics(true);\r\n // if(itm.albumType==\"music\"){\r\n \r\n // }\r\n }, 300);\r\n props.increasecounter(false,null,null,790,790)\r\n }\r\n \r\n // \r\n };\r\n const getMusicLikesByUser = async (str) => {\r\n if (currentUserInfo !== undefined && str !== \"\") {\r\n let resMusicsLikes = await getDataApi(\r\n constant.baseURL +\r\n \"musiclikes?filter=user.id||$eq||\" +\r\n currentUserInfo.id +\r\n \"&filter=music.id||$in||\" +\r\n str\r\n );\r\n if (resMusicsLikes !== undefined && resMusicsLikes.length > 0) {\r\n let mlikeIds = [];\r\n resMusicsLikes.map((m) => {\r\n mlikeIds.push(m.music.id);\r\n });\r\n setLikesList(resMusicsLikes);\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n getMusicByAlbumId();\r\n props.increasecounter(false,null,null,790,790)\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {props?.show ? \r\n : \r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n {albumName === \"\" ? \"Album Songs\" : albumName}\r\n
\r\n
\r\n
\r\n {\" \"}\r\n {/* className=\"songlist-right-box\" */}\r\n
\r\n {/* className=\"song-list custom-songlist\" */}\r\n
\r\n {showLoader === true ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {showMusics == true && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {showAudioPlayer && (\r\n \r\n )} */}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Albums
\r\n
\r\n
\r\n
\r\n
\r\n {albumList.length > 0 && (\r\n
{renderAlbums()}
\r\n )}\r\n {albumList.length === 0 && (\r\n
{constant.noDataFoundLabel}
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n //console.log(state)\r\n return {\r\n show: state.counter.show,\r\n url: state.counter.url,\r\n title: state.counter.title,\r\n height: state.counter.height,\r\n width: state.counter.width,\r\n }\r\n}\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n increasecounter: (p,q,r,s,t) => dispatch(increaseCounter(p,q,r,s,t)),\r\n\r\n // decreaseCounter: () => dispatch(decreaseCounter()),\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps,mapDispatchToProps)(MyAlbumsDetails) ;","import logo from \"./logo.svg\";\r\n// import './App.css';\r\nimport {\r\n Route,\r\n BrowserRouter,\r\n Redirect,\r\n Switch,\r\n useLocation,\r\n useHistory,\r\n} from \"react-router-dom\";\r\nimport \"./style/MainStyle.css\";\r\nimport \"./style/style.css\";\r\nimport { Container } from \"react-bootstrap\";\r\n\r\nimport Navigation from \"./components/Navigation/Navigation\";\r\nimport Header from \"./components/Header/Header\";\r\nimport Footer from \"./components/Footer/Footer\";\r\n//import HomeBigStage from './components/HomeBigStage/HomeBigStage';\r\n// import BigStage from './components/BigStage/BigStage';\r\n// import FeaturedArtists from './components/FeaturedArtists/FeaturedArtists';\r\n// import Events from './components/Events/Events';\r\n// import News from './components/News/News';\r\n// import Podcasts from './components/Podcasts/Podcasts';\r\n\r\n//Components\r\nimport Login from \"./components/Login/Login\";\r\nimport CreateAccount from \"./components/CreateAccount/CreateAccount\";\r\nimport OTPVerification from \"./components/OTPVerification/OTPVerification\";\r\nimport CompleteProfile from \"./components/CompleteProfile/CompleteProfile\";\r\nimport ForgotPassword from \"./components/ForgotPassword/ForgotPassword\";\r\nimport ResetPassword from \"./components/ResetPassword/ResetPassword\";\r\nimport FirstAlbumMessage from \"./components/FirstAlbumMessage/FirstAlbumMessage\";\r\nimport CreateAlbum from \"./components/CreateAlbum/CreateAlbum\";\r\nimport Support from \"./components/Support/Support\"\r\nimport Aboutus from \"./components/Aboutus/Aboutus\"\r\nimport Privacy from \"./components/Privacy/Privacy\"\r\n//Pages\r\n\r\nimport Home from \"./pages/Home/Home\";\r\nimport BigStage from \"./pages/BigStage/BigStage\";\r\nimport CommunityRoom from \"./pages/CommunityRoom/CommunityRoom\";\r\nimport FeaturedArtist from \"./pages/FeaturedArtists/FeaturedArtists\";\r\nimport Podcast from \"./pages/Podcast/Podcast\";\r\nimport UploadMusic from \"./pages/UploadMusic/UploadMusic\";\r\nimport News from \"./pages/News/News\";\r\nimport Events from \"./pages/Events/Events\";\r\nimport FeaturedArtistDetails from \"./pages/FeaturedArtistDetails/FeaturedArtistDetails\";\r\nimport NewsDetails from \"./pages/News/NewsDetails\";\r\nimport MoreInfo from \"./pages/FeaturedArtistDetails/MoreInfo\";\r\nimport CreateNews from \"./pages/News/CreateNews\";\r\nimport EventsDetails from \"./pages/Events/EventsDetails\";\r\nimport CreateEvents from \"./pages/Events/CreateEvents\";\r\nimport VideoPlayer from \"./pages/VideoPlayer/VideoPlayer\";\r\nimport Profile from \"./pages/Profile/Profile\";\r\nimport MyAlbums from \"./pages/Albums/MyAlbums\";\r\nimport MyPlaylists from \"./pages/Playlist/MyPlaylists\";\r\nimport PlaylistDetails from \"./pages/Playlist/PlaylistDetails\";\r\nimport MyNews from \"./pages/News/MyNews\";\r\nimport MyEvents from \"./pages/Events/MyEvents\";\r\nimport PodcastDetails from \"./pages/Podcast/PodcastDetails\";\r\nimport MyPodcasts from \"./pages/Podcast/MyPodcasts\";\r\nimport UploadPodcast from \"./pages/Podcast/UploadPodcast\";\r\nimport Addepisode from \"./pages/Podcast/Addepisode\";\r\nimport {\r\n verifyLoginUserType,\r\n VerifyLoginExistOrNot,\r\n openCompleteProfile,\r\n openOtpPage,\r\n} from \"./utility/VerifyLoginExistOrNot\";\r\n\r\nimport ScrollToTop from \"./components/ScrollToTop/ScrollToTop\";\r\nimport PageNotFound from \"./pages/404Page/PageNotFound\";\r\nimport MyAlbumsDetails from \"./pages/Albums/MyAlbumsDetails\";\r\n\r\nconst App = () => {\r\n\r\n return (\r\n \r\n {/* {localStorage.getItem(\"UserToken\") !== undefined &&\r\n localStorage.getItem(\"UserToken\") !== null &&\r\n localStorage.getItem(\"UserToken\") !== \"\" && ( */}\r\n <>\r\n \r\n
\r\n \r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {verifyLoginUserType() === true ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n )} */}\r\n\r\n \r\n \r\n \r\n {/* --------------------------satyam */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* {openOtpPage()} */}\r\n {/* {openOtpPage() && (\r\n \r\n )} */}\r\n {/* {openOtpPage() === true ? (\r\n \r\n \r\n ) : (\r\n \r\n )} */}\r\n {/* {openCompleteProfile() === true ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n\r\n {/* {VerifyLoginExistOrNot() === true ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n {VerifyLoginExistOrNot() === true ? : }\r\n \r\n {VerifyLoginExistOrNot() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {VerifyLoginExistOrNot() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {verifyLoginUserType() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {verifyLoginUserType() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {verifyLoginUserType() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {verifyLoginUserType() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {verifyLoginUserType() === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n